Quoting the Ubuntu philosophy, one of our  core values is to provide the ability for every computer user to use Ubuntu in their language of choice. This in turn is made possible by an army of volunteer translators, who throughout the development cycle and beyond, tirelessly put their translation skills to work in an outstanding feat to make a full operating system accessible to millions.

As we’re ramping up to the Ubuntu 11.10 release in a few day’s time, there’s another important milestone for ensuring Ubuntu is available in as many languages as possible: the translations deadline on the 6th of October.

Up until now, and considering the 80% coverage cut-off, Ubuntu 11.10, the Oneiric Ocelot, is translated in 38 languages, lead by the Slovenian team’s heroic effort of becoming the #1 team in the ranking.

Making Oneiric the best translated Ubuntu release ever

Last cycle Ubuntu was fully translated in 43 languages. I think this cycle we should be able to aim for more, and I’m confident that with everyone’s help we could reach the 50 fully translated languages mark.

There are a few languages that are very close to reaching the 80% translation level:

Basque, Latvian, Hebrew, Uyghur, Albanian, Estonian, Bengali, Punjabi

And others which might need an extra push to climb up the 60% to 70% mark to reach 80%:

Serbian Latin, Hindi, Indonesian, Tamil, Thai, Telugu, Slovak, Arabic, Belarusian, Gujarati

So if you speak any of these or other languages, here’s what you can do to help yours reach the 80% level and make it to the list of supported languages:

  1. Go to the Ubuntu 11.10 translation statistics page
  2. Click on your language to find out which packages need attention
  3. Find those packages in the list of Ubuntu translations
  4. Translate them!
    • You’ll want to contact the translation team for your language or check out their documentation to ensure you’re using a consistent terminology
    • They’ll also help you get started with translations and answer your questions

Note: the translations statistics are updated daily at 12:00 UTC.

More on translations

And now for something different

If there is any web guru out there who’d like to lend a hand, help with the CSS and the JS code for the stats page would be greatly appreciated.

One cool thing I’d like to do for instance is for translators to, once they’ve clicked on their language, be able to click on a package that needs attention and be taken to the corresponding Launchpad Translations page. This only needs the corresponding rows in the table to be linkified, which is something I’ve been struggling with and I’m sure would be a five-minute job for an experienced web developer.

So if you want to help translators with your web skills, drop a comment here or feel free to submit a bzr branch. Thanks!

Looking forward to the best translated Ubuntu release ever! :-)

Ubuntu App Developer Week – Day 2 Summary

Another app developer day is over and we’re nearly halfway through the week. Here’s what happened yesterday:

Making Your App Speak Languages with Launchpad Translations

By David Planella

In this session we learned how to link up an app that already has internationalization support to Launchpad Translations, so that it is exposed to Launchpad’s extensive community of translators who’ll effectively make your app speak almost any language. From setting up code hosting for a seamless integration, to setting up the translations settings to tips and tricks for best practices, the presentation should give developers a good grasp of how to start getting their apps translated and ready to reach a wider audience.

Check out the session log here.

The Making of Unity 2D

By Florian Boucault

An interactive and popular session, in which Florian started describing the main goal behind the Unity 2D project: to run on platforms that do not provide accelerated OpenGL. It essentially is an implementation of the main Unity user interface using the Qt toolkit and the QML declarative language, while reusing the backend technologies from Unity. From there he went on describing the Unity 2D architecture and the release policy, pointing out to the Unity 2D daily PPA, for those testers who want to be on the bleeding edge., and wrapped up answering the questions from the audience.

Check out the session log here.

Making App Development Easy: Gedit Developer Plugins

By Curtis Hovey

Starting off with a description of Gedit plugins, their purpose and how to install them, Curtis delved into the general-purpose plugins and the developer plugins (click to install) plugins, explaining how to set them up and his recommended choice of plugins to convert Gedit in the perfect programming editor. The highlights included the GDP Bazaar integration plug in, which allows working with the bzr source revision control system and others (Subversion, Mercurial, Git), as well as the Source Code Browser plugin, a class and function browser based on Exuberant Ctags.

Check out the session log here.

Publishing Your Apps in the Software Center: The MyApps Portal

By Anthony Lenton

In another session devoted to the app developer strategy, Anthony told us all about the MyApps webapp developers can use to submit their applications to the Software Center. Available on https://myapps.developer.ubuntu.com, it started off as the need to automate the submission of commercial apps to the Software Centre, expanding to a full-blown online portal that can now tackle any type of submission. He then walked the audience through the 5-step process to send an app for review, including all the necessary metadata and payment details. Once an app has been submitted, it needs to be packaged (if it wasn’t already) and reviewed before being published. Hinting to Jonathan Lange’s session on day 1, Anthony explained that they are looking at providing an automated process for packaging, with the intention of removing the last big remaining manual process.

Check out the session log here.

Publishing Your Apps in the Software Center: The App Review Board

By Stéphane Graber

Complementing the previous session, Stéphane explained how libre+gratis apps can get into the Software Centre and what the App Review Board’s (ARB) role is in that process. He focused on how the Board reviews applications and how other types are distributed in Ubuntu. The types of apps reviewed by the ARB are small, lightweight apps, usually of the type created by Quickly (check out the sessions on Quickly on Thursday!). The next upcoming changes in the way this applications are reviewed will most probably include them being submitted through the MyApps online portal and them being made more secure by wrapping them in a container based on AppArmor or Arkose (or a combination of them).

Check out the session log here.

The Day Ahead: Upcoming Sessions for Day 3

Check out today’s rocking lineup:

16.00 UTCUnity Mail: Webmail Notification on Your Desktop

We’re starting to see more and more apps that integrate with Unity. Unity Mail is a cool app that allows you to stay up to date with your web mail directly from your desktop. It supports any IMAP server, but right now it works best with Gmail, along with notifications, message counts, quicklists and more. Dmitry Shachnev will tell us about its features and how he put the application together.

17:00 UTCLaunchpad Daily Builds and Rapid Feedback: Writing Recipe Builds

Launchpad has many awesome features. This time around Jelmer Vernooij will be explaininghow to set up recipe builds for your project in Launchpad, so that users can get  the latest updates easily packaged on a daily basis, so that they can install them at a click of a button and can test them and make the feedback loop as short as possible.

18:00 UTCUsing the Ubuntu One APIs for Your Apps: An Overview

Ubuntu One is starting to be everywhere, and it even has its own developer programme. The Ubuntu One website already provides lots of information to developers, and to make it even more clear, Stuart Langridge will walk you through the available Ubuntu One APIs you can use to make your application cloud-ready.

19:00 UTCSupercharging Your Apps with Unity Launcher Integration

One of the easiest and more visual ways for your apps to blend in with Unity is for it to integrate with the Launcher. Counts, progress indication, quicklists… are an elegant and simple wayto provide feedback to users. Jason Smith knows all about Launcher integration, and he’s really looking forward to share it with us!

20:00 UTC – Hello Vala: An Introduction to the Vala Language

Vala is a powerful programming language that allows modern programming techniques to be used to write applications that run on the GNOME runtime libraries, particularly GLib and GObject. Luca Bruno is part of the team that develops Vala itself, and will be introducing us to the first steps to get started with Vala with the universal “Hello world” app becoming “Hello Vala!”.

Looking forward to seeing you all there in a few hours!

Ubuntu Translations TVSo, new Ubuntu cycle and time for a fresh translations videocast!

Join me tomorrow at the Ustream Ubuntu Translations channel, where I’ll give you a summary about the great sessions we had around translations last week at the Ubuntu Developer Summit in Budapest, where we discussed the plans for the next cycle: the Oneiric Ocelot. As usual, feel free to come along, ask your questions and have a chat around translating Ubuntu.

Talk to you all tomorrow!

Note that if you wish to participate in the online chat, you’ll need to sign up for a ustream account (it doesn’t take more than a couple of minutes), but I’ll also be answering your questions on the #ubuntu-translators IRC channel on Freenode.

Ubuntu Translations Videocast

Ubuntu App Developer Week – Day 4

Friday, April 15, 2011

Ubuntu App Developer Week – Day 4 Summary

Ramping up to the end of the week we had another full app development goodness day, and one where the session topics fitted together in a nice workflow as well: creating bling, creating apps with Rapid Prototyping, getting them into Ubuntu, adding indicator support and translating them. Here’s the report of yesterday’s app development journey:

Qt Quick: Elements/Animations/States

By Jürgen Bocklage-Ryannel

The next Qt Quick session was all about creating attractive and usable user interfaces. Jürgen went through the QML tutorial documentation and code examples, showing us how to position elements with anchors, columns, rows and grids. Then onto states and transitions: describing the changes in an element’s properties and how to switch between them. To finalize, the most impressive stuff: QML animations, in which he teached us the different types of animations and how to use them.

Check out the session log here.

Qt Quick: Rapid Prototyping

By Jürgen Bocklage-Ryannel

In Jürgen’s words, Qt Quick was designed to bridge the gap between designers and developers, letting both groups to work with the same technologies and code base. He explained how Qt Creator provides a design mode which allows easy dragging and dropping of UI elements, and separation between code and interface. All through a natural and agile prototyping workflow.

Check out the session log here.

Rapid App Development with Quickly

By Michael Terry

Michael started introducing what Quickly at the heart is: a robust yet simple system of templates with boilerplate code and commands. The available templates are ubuntu-application, ubuntu-cli, ubuntu-pygame and ubuntu-flash-game, and on the Natty version, Quickly will feature the ‘submitubuntu’ command to help getting applications into the Software Center. All that being set straight, he then showed how to use Quickly and what it can do: from creating the first example application, to modifying the UI with ‘quickly design’ and Glade, into debugging and finally packaging.

Check out the session log here.

Getting Your App in the Distro: the Application Review Process

By Allison Randal

Linking from the previous session on how to create an app, Allison explained in a very clear way how to get your applications into Ubuntu, so that they make their way into the OS in a matter of weeks instead of having to wait until the next release. The first step is to submit a ticket to the App Review Board, giving them the essential details for the proposal. They’ll then do the initial review, in which one of the reviewers will volunteer to walk you through the process and help you with suggestions or improvements, to bring the app to a state ready for the final review. There the board will vote in a meeting for the inclusion of the application. After the process description she answered the questions from the audience and wrapped up with some useful tips to application submitters.

Check out the session log here.

Adding Indicator Support to your Apps

By Ted Gould

Ted kicked off with an explanation of what indicators are and their intended use: they should not be used just because they are available – rather as a feature for long running applications, those that are more services to users, to expose that functionality. The next step was to describe how to create indicators through libappindicator, with any language supported by GObject Introspection, such as Python or Javascript, and how to add more features to a basic indicator: accessible labels and attention state. After that he described fallbacks, and how platforms not using Unity can nevertheless use indicators. The final minutes were dedicated to the future of indicators, that for now will focus on API cleanup and stabilization, and introspection improvements.

Check out the session log here.

Using Launchpad to get your application translated –

By Henning Eggers

As a follow up to the talk on how to add native language support to your applications on Monday, Henning described the next step: how to make them translatable in Launchpad and grow a translation community around them. In the first part he showed how to set up a demo project using Launchpad’s staging server, and shared some recommendations on how to make sure the application is correctly set up for translations, followed by an overview on some Gettext concepts Launchpad relies upon. From there, it was straight into business: setting up a translatable project in Launchpad, getting translatable templates imported and exposed to translators, creating a translation community for your project and the workflow for translation. A very detailed overview to get your application to talk any language.

Check out the session log here.

The Day Ahead: Upcoming Sessions for Day 5

The last day and the quality and variety of the sessions is still going strong. Check out the great content we’ve prepared for you today:

16:00 UTC
Qt Quick: Extend with C++ – Jürgen Bocklage-Ryannel
Sometimes you would like to extend Qt Quick with your own native extension. Jürgen will show you some ways how to do it.

17:00 UTC
Phonon: Multimedia in Qt – Harald Sitter
Harald, as the lead developer of the Qt/KDE multimedia library Phoon will tell you about the awesomeness that Phonon provides and how it achieves ultimate portability, so that it can even run on vending machines. He’ll also tell you hos to create a video player with 3 lines of code (or in 30 seconds without any code) and much more.

18:00 UTC
Integrating music applications with the Sound Menu – Conor Curran
So you’ve seen the slick sound menu in Ubuntu, and you’re developing a multimedia application, right? You’re then wondering how to seamlessly integrate it into Ubuntu and use all the nice features from the menu as well? Wonder no more, for Conor is the man behind the sound menu and he’ll be delighted to teach you how.

19:00 UTC
pkgme: Automating The Packaging Of Your Project – James Westby
Once you’ve developed a cool application you’ll want to package it and distribute it to users so that they can easily install it in their favourite platform. James will show you how this can be both easy and fun letting pkgme do all the work for you.

20:00 UTC
Unity Technical Q&A – Jason Smith and Jorge Castro
You’ve heard about Unity, the new UI concept which is going to improve several orders of magnitude how you interact with your computer in Ubuntu. You are probably using it already, and you’ll surely have questions and will want to learn more about the coolness it brings. Jason Smith, from the Unity development team, and Jorge Castro, from the Community team know all about Unity and they’ll be here to chat with you.

21:00 UTC
Lightning Talks – Nigel Babu
As the final treat to close the week, Nigel has organized a series of lightning talks to showcase a medley of cool applications: CLI Companion, Unity Book Lens, Bikeshed, circleoffriends, Algorithm School, Sunflower FM, Tomahawk Player, Classbot – your app could be in this list next time, do check them out!

Looking forward to seeing you all there!

Ubuntu App Developer Week – Day 3

Thursday, April 14, 2011

Ubuntu App Developer Week – Day 3 Summary

Right into the middle of the week and still delivering the most diverse set of sessions from the most interesting technologies. QML, Cloud, D-Bus, Multitouch, Unity, Bazaar… Wednesday had a bit of everything. Most importantly, this sessions are for you all, so I was really glad to hear feedback on how people liked the content of App Developer Week! So here’s a new summary for all of those who couldn’t attend.

Qt Quick: QML the Language

By Jürgen Bocklage-Ryannel

In his first session, Jürgen gave a short intro to Qt Quick’s QML language and how to use it. The first steps were to install Qt and Qt Creator, followed by a description of what Qt Quick is and how developers came up with a declarative way, similar to CSS or JSON to write in the language. All that clear, he then started with the Qt Quick tutorial and code examples that could be run with qmlviewer, the qml interpreter. Onto the second part, he focused on the QML languate, and going into the detail on how to create custom QML components. There were also lots of pointers to the excellent Qt documentation.

Check out the session log here.

Make your applications work in the cloud with Ubuntu One

By Stuart Langridge

Stuart gave a great overview on how to add the cloud to existing apps and how to make new apps for the cloud, letting Ubuntu One do all the hard work for you: from managing identities, password renewal to sharing data between applications. And all that on the web, the desktop, mobile… all your stuff everywhere! He then showed us some simple code to sync playlists on the cloud, ready for streaming. File sync is also an important Ubuntu One feature apps can make use of for sharing, and he also went through a couple of the many cool ways you can use it. The last mention was on API documentation, something Stuart is working on in this cycle.

Check out the session log here.

Take control of your desktop easily with DBus

By Alejandro J. Cura

In this session Alejandro showed us in a hands-on and easy to follow way different bits and pieces of D-Bus, and how applications in the desktop can communicate through it. He went through real life examples to show how to do simple tasks and explained how they can be achieved with D-Bus.

Check out the session log here.

Touchégg: Bringing Multitouch Gestures to your Desktop

In the second multitouch session of the week, app developer José Expósito started showcasing Touchégg, how it works and its features: recognizing multitouch gestures and getting the most of multitouch devices. He then went on describing which gestures it supports, such as tap, drag, pinch or tap & hold, and the different actions that can be associated to gestures, showing us a really cool video of Touchégg in action. The second part of the talk focused on describing the technologies used to develop Touchégg: uTouch-GEIS, through its simplified interface, and Qt.

By José Expósito

Check out the session log here.

Unity: Integrating with Launcher and Places

By Mikkel Kamstrup Erlandsen

Mikkel used the intro of the talk to set a couple of things straight: “Places” are going to be called “Lenses” in the next cycle, and libunity does not yet guarantee API or ABI stability. He then followed with the Unity Launcher integration, and how applications can use static quicklists, and more advanced features such as count, progress bar, window flashing and dynamic quicklists. The second part were Places: remote databases that provide data for Unity to render. Through a Python code example he showed us in detail all the aspects of creating a Unity Place.

Check out the session log here.

Tracking Source Code History with Bazaar

By Jelmer Vernooij

Jelmer, in his experience of seasoned Bazaar hacker started off introducing what bzr is: a modern distributed version control system. He then went on with the basics with a hands-on example, going through the creation of a branch, the first commit, and describing several of the most handy bzr commands. As a wrap-up, he showcased more advanced features such as source recipes: scripts that combine branches and build daily Debian packages from them.

Check out the session log here.

The Day Ahead: Upcoming Sessions for Day 4

We’re featuring a Qt Quick Marathon today: 2 sessions in a row. Following that, how to do RAD with yet another framework: Quickly, how to get your applications in Ubuntu, and how to get them translated in Launchpad. Enjoy!

16:00 UTC
Qt Quick: Elements/Animations/States – Jürgen Bocklage-Ryannel
Another day and more featured Qt content: this time Jürgen will take us through different elements/animations and states Qt Quick provides, and will show us through examples how to make use of them.

17:00 UTC
Qt Quick: Rapid Prototyping – Jürgen Bocklage-Ryannel
If one session weren’t enough, here’s the continuation: more Qt goodness, this time a hands-on session to develop a small application from start to finish and experience the whole process from the front row.

18:00 UTC
Rapid App Development with QuicklyMichael Terry
Mike will show you how to write applications in no time with the power of Python and Quickly: bringing back the fun in programming.

19:00 UTC
Getting Your App in the Distro: the Application Review ProcessAllison Randal
A while back we created an easy process defining how to get applications into Ubuntu, so in order to be able to add them in a matter of weeks, rather than waiting for the next release. Allison, in her Ubuntu Technical Architect and Application Review Board member hat, will walk you through the Application Review Process

20:00 UTC
Adding Indicator Support to your AppsTed Gould
Join the man who knows most about indicators in a session that will teach you how to integrate your application even more into Ubuntu. They’re slick, robust and consistent: bringing indicator support to your apps.

21:00 UTC
Using Launchpad to get your application translatedHenning Eggers
One of the coolest features of Launchpad is that it helps growing a translation community around your project. You can make your application translatable in Launchpad and be able to deliver it into almost any language. Henning will teach you how to do this, picking up where the previous session on translations left.

Looking forward to seeing you all there!

We’ve just uploaded fresh language packs in the maverick-proposed repository for testers to check  before they are released to all users. These should contain all updates and fixes in translations done since the last language pack update.

I’d like to ask for your help in testing them and in providing an indication that the test has been done. You can do this very easily by following the instructions here:

https://wiki.ubuntu.com/Translations/LanguagePackUpdatesQA

The deadline for the testing is the 25th of March (in a week’s time). After that, we’ll update the language packs we’ve received feedback for into maverick-updates, so that all users can benefit from the new translations and fixes.

Remember that you’ll have to enable the maverick-proposed repository to start testing. Here’s how:

https://wiki.ubuntu.com/Testing/EnableProposed

Thanks!

Notes

Remember that now you can subscribe to the iCal feed to stay up to date with language pack updates and better coordinate your work if you are a translator:

https://wiki.ubuntu.com/Translations/MaverickLanguagePackReleaseSchedule

Notice that as commented on the translators mailing list recently, we’ve experienced
bug 731298. This bug has now been fixed, but for those of you using the language packs PPA, please remember to follow Martin Pitt‘s advice to purge and reinstall the packages for a proper fix:

Note that I can’t automatically fix packages for people who already upgraded to the broken PPA version; they will need to purge the packages (-base as well) and reinstall them.

If you are not using the language packs PPA, you shouldn’t need to worry about this.

Fabien has told me he’ll explain in more detail in a later post, but I couldn’t resist mentioning it in the meantime.

Look at this:

ast     1024
ca         5
cs        80
da        36
de       351
es       538
eu      3457
fi       293
fr        26
gl      3475
he       252
id       116
it        77
ka        98
ku       387
lt         3
nl       227
no        83
pt-BR    437
ro        18
ru       225
sl       537
sr       102
sv       382
ug      3378
zh-CN    537

TOTAL  16144

That’s more than 16000 strings in 26 languages coming from Launchpad landing on Chromium upstream.

Rock on.

Contribute to Chromium translations in Launchpad – if there is not yet a team for your language, you can create one.

Follow

Get every new post delivered to your Inbox.

Join 233 other followers

%d bloggers like this: