Canonical Voices

Posts tagged with 'english'

David

Ubuntu App Developer Week – Day 1 Summary

A great start for a great week. Looking at the lots of participation and questions during the first day shows that developing applications in Ubuntu is a hot topic. Here is a small summary from yesterday’s schedule.

Enabling Multitouch and Gestures Using uTouch

By Chase Douglas and Stephen Webb

Chase and Stephen delivered an overview on the whole stack of touch technologies focusing on two main aspects: gestures/uTouch and multitouch. On gestures, they showed us how there is a difference between general-purpose stroke gestures and defined gestures primitives, such as “drag”, “pinch/expand”, “rotate”, “tap”, and “touch”, which enable the possibility of defining a gesture language. A high-level overview of uTouch followed, with a description of the API and a couple of code examples showing how to integrate applications with it. To wrap up the session, they explained how Ubuntu will be the first distro to bring multitouch in 11.04 and how this was made possible, such as extending xorg’s XInput to version 2.1 to add multitouch support and. On the app developer side of multitouch, they announced a pre-release addition to the Qt framework that will support multitouch.

Check out the session log here.

GObject Introspection: The New Way For Developing GNOME Apps in Python, JavaScript and Others

By Tomeu Vizoso

On this session we saw the initial problem GNOME developers were facing in the past to provide and maintain bindings in multiple programming languages, and how introspection came to the rescue. The reason for having several bindings had always been to enable interaction with the GNOME platform using other languages than C. With introspection, there is no need for external bindings, as the C API itself contains all the required information. Not only that, but this information is also available at runtime without a considerable performance cost. He then went on to describe the workflow changes, the new typelibs and .gir files, and describing what annotations are. Following that, the changes required for library and, most especially application writers, sharing some tips on how to port applications to use GObject Introspection. He finished the session with a few pointers on where to go from here and to the resources to get more info about introspection.

Check out the session log here.

From English to any language: internationalizing your apps

By David Planella

The session started of with the description of some of the main players in the internationalization game: gettext, intltool, Launchpad, followed by a bit more insight on the gettext concepts and terminology. The idea was to deliver a hands-on session that could be nevertheless used generically to provide i18n support to any application in any programming language. The second part of the session focused on making a choice of a programming language and framework to showcase a practical example on how to internationalize an app. So Python and Quickly were used as an easy way to develop an internationalized application in a matter of minutes. From that example the session then focused on describing the main bits to provide native language support.

Check out the session log here.

Widgetcraft: The Art of Creating Plasma Widgets

By Harald Sitter

On this session packed with code examples, Harald started with the description of the technologies involved in developing widgets for Plasma, otherwise known as the KDE desktop or the KDE workspace, and how Plasma comes in several different flavours for different form factors. Next were Plasmoids, the name by which Plasma widgets go, which can be written in Javascript, C++ (both always available), Python,  and Ruby. He then moved on to hacking, creating an easy-to-follow, bare setup for a Plasmoid, mentioning how the plasmoidviewer tool can be used to test them prior to deployment. The next steps involved extending the Plasmoid, adding UI functionality such as buttons and other visual elements. All the code is available here.

Check out the session log here.

Rock solid Python development with unittest/doctest

By Barry Warsaw

Barry delivered a great overview to unit- and doc- testing Python applications, and how to hook these into Debian packages as well. After briefly pointing out to resources for background reading on testing, he then delved into the coding example he had set up to as an aid to the session. Starting with unittesting, he showed us the tests were set up in the code and how to run them, as well as what a failing test looks like. Next on the list were doctests, emphasizing that they are testable documentation, written in restructured text (.rst), and that they do not replace, but rather are a complement to unittests. Again, he showed us how they were written and run. He wrapped up explaining in detail how to integrate them all in setup.py and to a Debian package.

Check out the session log here.

The Day Ahead: Upcoming Sessions for Day 2

Well, you thought that was all? Lots of additional app developer goodness are waiting for you today. Let’s have a look at what’s in store for day 2:

16.00 UTC
PyGTK is dead, long live PyGI! Using gobject-introspection in PythonMartin Pitt
PyGTK might be dead, but only to be succeeded by the power of introspection. Join Martin to learn all you ever wanted to know about using the new cool stuff in the Python/GTK world: PyGI. He tells us about the focus of his talk: “[...] how to use the GI typelibs in Python, and how to port PyGTK2 applications to PyGI. For the most part these sessions are distribution neutral (we don’t have any special sauce for this in Debian/Ubuntu, it all happened right upstream :-) ); only a very small fraction of it (where I explain package names, etc.) will be specific to Debian/Ubuntu, but shouldn’t be hard to apply to other distributions as well.

17:00 UTC
Zeitgeist API & Zeitgeist Application IntegrationManish Sinha (???? ??????) and Seif Lotfy
The Zeitgeist Project is taking many important projects and distributions by storm. It’s all about seamlessly tracking user data and events in a way that is revolutionizing the way they interact with their desktop. Do you want to know more about Zeitgest? Or even better: do you want to use Zeitgeist features in your application? Project leader Seif Lotfy and developer Manish Sinha will tell you all about it and be willing to hear your questions

18:00 UTC
GStreamer+Python: Multimedia Swiss Army MacheteJason DeRose
When you hear GStreamer and Python in the same sentence you know for sure that you’re up for something awesome. Join the power of Rapid Application Development with Python with the most popular multimedia framework in Free Software, and you’ll end up with a versatile tool to tackle all your multimedia needs. Jason knows well what he’s talking about

19:00 UTC
Creating a KDE app with KAppTemplateJonathan Thomas
Second day in and we get the luxury of having the second KDE/Kubuntu ninja delivering content straight from the source. Do you know how easy is to create full featured KDE applications with KAppTemplate? Put on your developer hat and join Jonathan on a hands-on session where you’ll learn to write beautiful KDE apps in a matter of minutes.

20:00 UTC
Thunderbird + Unity = Awesome, and how JSCtypes lets you get to the candyMike Conley
We’re seeing more and more major upstreams providing integration with the new way of interacting with computers: Unity. The story of integrating Thunderbird and Unity is full of awesome, and Mike will be on a quest to tell you all about it and hear your questions.

21:00 UTC
STORY: Unity, hacking on a real-world appMarco Trevisan
Would you like to become the next Unity rockstar? How would you get started? In this session Marco will tell us his journey on how he got involved in hacking on Unity, from the day he found the itch to scratch until his branch fixing it was landed. I’m personally very much looking forward to this session, as I believe it will be inspiring not only to prospective Unity contributors, but for developers in general who want to know how to start hacking on a particular application.

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


Read more
David

Ubuntu App Developer Week kicks off today with a rich set of interesting sessions to showcase and teach how to develop awesome applications on the Ubuntu Platform.

It’s going to be on the #ubuntu-classroom IRC channel on Freenode, during the whole week, so be sure to add it to your calendars. If you can’t make it to a session, don’t worry: there will be logs and session summaries available for you to read and learn on your own time.

16.00 UTC
Enabling Multitouch and Gestures Using uTouch – Chase Douglas and Stephen Webb
Join the future of computing and how humans interact with computers on a daily basis. Multi-touch technologies are the next step in this area, and in this talk Chase and Stephen will show you how your applications can make use of it

17:00 UTC
GObject Introspection: The New Way For Developing GNOME Apps in Python, JavaScript and Others – Tomeu Vizoso
Tomeu says: “The talk will be oriented to developers that use or want to use GNOME technologies and still haven’t fully grasped how GObject Introspection is changing the game. It won’t contain any distro specificities, so join without fear even if you don’t use Ubuntu, if it’s of your interest.  It should be of special interest to those willing to contribute to GNOME Shell or that plan to attend Martin Pitt’s talk about life after PyGTK this Tuesday at 16 UTC

18:00 UTC
From English to any language: internationalizing your apps – David Planella
You want your applications reach millions, to be usable by anyone regardless of their language or writing system, and for this to happen transparently. Good news for you then: this is already possible using stable and proven internationalization technologies. It’s Free Software and it’s easy to integrate in your application. Learn how to prepare your applications to go international with David.

19:00 UTC
Widgetcraft: The Art of Creating Plasma Widgets – Harald Sitter
Plasma is the shell of the KDE Software Collection and available for many different form factors; it is almost entirely built out of widgets. Harald will show you how to create such amazing widgets, with surprisingly little code, to enrich your desktop experience and maybe even share with others.

20:00 UTC
Rock solid Python development with unittest/doctest – Barry Warsaw
If you’re asking yourself how to make your Python applications more robust and how to make your development workflow much more effective, here’s your answer. In this session, Python legend Barry Warsaw will show you how to easily add tests using the most popular modules from the Python Standard Library: unittest and doctest

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


Read more
David

Just a quick reminder that the next Ubuntu App Developer Week starts next Monday on the #ubuntu-classroom IRC channel on Freenode.

So get ready for a week packed with sessions on how to develop awesome applications in Ubuntu, straight from the best experts!

Here’s a sneak peek at the sessions the week is kicking off with:

Looking forward to an awesome week. See you there!


Read more
David

Ubuntu App Developer Week

I’m thrilled to announce the next edition of Ubuntu AppDeveloperWeek, from the 11th to 15th April 2011 at #ubuntu-classroom on IRC.

Ubuntu App Developer Week is a week of sessions aimed at enabling and inspiring developers to write applications that scratch their itches. Our goal is to give all attendees a taste of the wide variety of tools on the Ubuntu platform that can be used to create awesome applications, and to showcase some applications that have been created and explain how they were put together.

The Sessions

The whole week is packed with interesting subjects, aimed both at new and experienced developers. During the sessions you’ll get a solid overview on a broad range of the Free Software technologies that will enable you to create your applications in Ubuntu. At the same time, you’ll be able to chat and ask your questions directly to the true rockstars on those subjects.

Here are some of the highlights:

  • Integrating applications with Ubuntu tech: Unity, AppIndicators, Ubuntu One, the Sound Menu
  • Enabling multitouch support in applications
  • Application development and testing with Python
  • Rapid Application Development with Qt Quick and QML
  • Rapid Application Development with Quickly
  • Using the Bazaar revision control to track source code history
  • Using Launchpad integration features to develop applications
  • GObject Introspection, PyGI, Plasma, Zeitgeist, GStreamer, Touchégg, KDE, Thunderbird, Internationalization, the Application Review Process, Pkgme, Phonon… you name it. Learn more about the hottest topics and how to use the coolest technologies to write your applications, straight from the best experts in the Free Software world.
  • Check out the complete schedule.

Joining The Week

Getting involved is simple. You can connect using any IRC client or your browser. Simply go to:

Looking forward to seeing you all at App Developer Week!


Read more
David

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.


Read more
David

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.


Read more
David

QualityJoin me tomorrow on a new Translations Training session where I’ll be talking about workflows you can use to provide better quality translations to our already awesome OS. I’ll cover different approaches to reviewing translations and some tips interesting to both experienced and new translation teams.

Remember that if you’ve got any suggestions about a translations topic you’d like to learn more about, you can add it here.

Image: Quality? by dieselbug2007 (CC BY-NC 2.0)


Read more
David

IRC ArcsIRC rockstar Jussi Schultink, on behalf of the Ubuntu IRC Council tells me that the Ubuntu IRC Terms of Service are up for translation, so feel free to go to https://wiki.ubuntu.com/IRC/TermsOfService and start a new translation in your language.

You’ll find instructions on how to do it at the bottom of the page, so there’s no excuse to make them available in everyone’s language!

Image from http://mardoen.textdriven.com/irc_arcs/ by Martin Dittus


Read more
David

Ubuntu Translations WorkflowUbuntu Translations TVJoin me in a fresh episode of Ubuntu Translations TV tomorrow, where I’ll be continuing the series started on the last session and explain what happens to translations when they get out of Launchpad and are delivered to our users for some localized goodness.

Again, this will be a bit technical, but not too much, and it will help everyone understanding the big picture of how translations work in Ubuntu.

As usual, feel free to participate and ask your questions!

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 (you can use your Launchpad OpenID), but I’ll also be answering your questions on the #ubuntu-translators IRC channel on Freenode.


Read more
David

Translations Training

As previously discussed,  I’m happy to announce the first in the series of biweekly Translations Training Sessions, starting tomorrow.

So here’s the rundown: we’ll be having a 1 hour IRC session, where you can learn how to use the Launchpad Translations web UI to translate your favourite distro.

What will you need?

Not much, really. It would be great if you could create a Launchpad account before joining the session, so that you can get started trying your first translations during the hour, that’d be awesome. You’ll simply need an e-mail address and an Internet connection for that. You’ll find how to do this on the Translations QuickStart Guide.

Don’t miss this opportunity to learn how to easily contribute to Ubuntu in your language and to ask all your questions.

See you tomorrow!


Read more
David

Ubuntu Translations WorkflowUbuntu Translations TVAs every two weeks, this Thursday I’ll be preparing a fresh Ubuntu Translations Videocast for all of you interested in knowing more about the exciting world of translating Ubuntu.

I’d like to combine some basic with some more advanced topics, so that the subjects are interesting to both new and experienced translators. This week I’ll be doing a more technical talk (not too much, though) about the translation workflow in Ubuntu and all that happens behind the scenes.

Hopefully this will give you an overview of the whole infrastructure and will help you understand why some of the things are implemented the way they are.

As usual, feel free to participate and ask your questions!

Talk to you all in a couple of days!

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


Read more
David

Ubuntu Translations Videocast: Launchpad Translations NewsLots of translations news on the air this week!

Yesterday I had the pleasure to chat with the legendary ??Danilo Šegan, of Launchpad Translations and GNOME internationalization fame.

Danilo told us all about the progress on upstream integration work in Launchpad and explained more in detail the part which has just been freshly? implemented for Ubuntu: better translation imports from upstream projects.

Do check it out here and stay tuned for the next Ubuntu Translations Videocast in a couple of weeks.

But that’s not all! This week  comes packed with translations content, as I got interviewed by Jono and had the opportunity to talk a bit about our amazing translation community.

It’s been a great week here in Dallas, but all good things come to an end. Next week back in business from home and we’ll leave the space to the Launchpad folk to discuss their master plan during the Launchpad Thunderdome. Rock on.


Read more
David

?NOTE: this notice affects only translations for upstream projects in Launchpad, and not the translations of Ubuntu packages.

Yesterday’s Launchpad rollout came with lots of translation goodness, such as better upstream imports, of which we’ll talk in more detail very soon.

However, as a side effect and due to a migration script not being run in the Launchpad side, we’d like to ask you to wait a bit to do new translations for upstream projects in Launchpad until we can run this script again and make sure new translations during this time are not reverted to suggestions.

It should take about a day to run the script, and after that you can keep translating as usual. We’ll send a new notice when the run has finished.

Notice that no translations will be lost in any case, but if you do any translation between that period, they will be reverted to suggestions, meaning that you’ll have to re-approve them. We simply ask you not to translate to avoid this temporary situation, and save you the additional effort.

In summary:

  • Please refrain from translating upstream projects in Launchpad until further notice (in about a day’s time).
  • We only do this to make sure new translations are not reverted to suggestions and to save translators effort. No translation loss will happen in any case.
  • We’d like to ask you to forward this notice to your translation teams.
  • This does not affect Ubuntu packages. You can keep translating Ubuntu as usual.

As usual, if you’ve got any questions, please feel free to ask!

Regards,
David.


Read more
David

Ubuntu Translations TVLadies and gents, I’m pleased to announce the next Ubuntu Translations videocast tomorrow from Dallas, Texas, where this week we are holding the Canonical Platform Rally for the next version of Ubuntu, the Natty Narwhal.

This time around I’ll have the privilege to be joined by ??Danilo Šegan (or his alter ego ?????? ?????), the Launchpad Translations developer team lead.

Those of you involved in translations will know Danilo well, not only for his work in developing the translations application in Launchpad, but also for his community involvement. A regular at UDS and GUADEC conferences, he’s also developed and maintained some of the key tools in the Free Software Localization ecosystem, such as xml2po and intltool.

He’ll be explaining all the cool new things coming up in Launchpad Translations, such as better upstream integration, and will also tell us a bit more about other changes affecting the way Launchpad is being developed.

As usual, we’ll be taking and answering your questions, so come and join us for a chat!

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 we’ll also be answering your questions on the #ubuntu-translators IRC channel on Freenode.

Talk to you all tomorrow!

Ubuntu Translations Videocast - Launchpad Translations News


Read more
David

I talk often about the Ubuntu translations community, and one of the things I get asked many times is how to actually get started translating Ubuntu.

Because of this, and because I want to show everyone how easy it can be, I’ve decided to kick off a series of articles covering the different aspects of translations, starting with the basics.

So here it is: how to start translating Ubuntu, in 3 easy steps.

What You’ll Need

One of the key values in Ubuntu is the low entry barrier for contribution, so that participating in improving Ubuntu can be both easy and fun. Therefore you won’t need much to start translating from day one: there is no need to install special tools and no previous technical knowledge is required. You’ll be using Launchpad, an easy to use yet powerful online translation tool.

Here are the minimum requirements to start translating Ubuntu:

  • Internet: a device with Internet connection. This can be from home, a café, a public access point… – basically anywhere you can connect to the Internet from
  • E-mail: a stable e-mail address that Launchpad can use to contact you
  • Language knowledge: it’s important that you know English and the language you are going to translate into. English will always be the source language for translations
  • Spare time: some time to dedicate to the translation of Free Software. You decide how much you want to get involved – from some spare minutes to some hours a week
  • Be collaborative: be keen to work collaboratively and be part of the awesome Ubuntu translation teams!

Step 1: Create a Launchpad Account

The first thing you’ll need is a Launchpad account. This will allow you to translate Ubuntu online using an intuitive web interface, and will also give you access to all of the free tools from the Launchpad software collaboration platform.

Create a new Launchpad account

To create a new Launchpad account, simply go to the account sign-up page, click on the Create a new account link and follow the instructions.

Tell Launchpad About Your Preferred Languages

Once you’ve set up your account, you’ll only need to log in and tell Launchpad which languages you’re interested in translating into.

To set your preferred languages in Launchpad, go to the Launchpad Translations page and click on the Change your preferred languages link. Once you’ve done that, you’ll be ready to start translating.

Step 2: Start Translating

At this point you’ve got a Launchpad account and you’re all set and hopefully eager to start translating. What we need to do now is to find the Ubuntu applications we want to translate, get familiar with the interface and submit the first translation suggestions.

We’ll start by going to the main Launchpad Translations page. There you’ll see that Launchpad allows you to translate two categories of software: Operating Systems and Projects.

We’re interested in translating Ubuntu as a collection of integrated applications, so we’ll go to the Operating Systems category and we’ll click on the latest Ubuntu version.

From there you’ll find your way to the Ubuntu applications and their translatable messages. They are just a couple of clicks away and I won’t explain it here in detail. However, if you want to know more, you can find out in the Ubuntu Translations Quickstart Guide.

Translating Ubuntu

The translatable messages look like the one above: they are pairs consisting of original messages in English and translations in your language. In the web UI, English is the original to translate from, Current is the currently used translation, and New suggestion is where you can submit your translation.

Try this: find a message you think you can translate and enter your translation in the text box. Once you’ve done that, scroll down to the bottom of the page and click on the Save button.

You’ve now submitted your first translation suggestion. Congratulations!

You’ll find that the interface is very intuitive and self-explanatory, so try to get a bit more familiar with it before submitting more suggestions.

Tip: If you already know the Ubuntu application you’d like to translate, you can use a quicker way to go to its translation page. Try this: start the application and then go to Help Translate this application…, which will open a browser for you and take you directly to the translation

Step 3: Join a Translation Team

Translating Ubuntu is a rewarding experience: it allows you to bring a localized system in your language to potentially millions of people. This also carries a degree of responsibility: we want to provide the best applications with the best translations around, which is why we put an emphasis on their quality.

Everyone with a Launchpad account can submit translation suggestions. While this is great for collaboration and for lowering the barrier to contribution, it is necessary to have some kind of peer reviewing mechanism to make sure these suggestions are correct and that the final user will understand them when using Ubuntu.

The role of translation teams is to have a set of members who are experienced translators review these suggestions, accept them if appropriate and come back to the submitter for feedback. They also take care of helping new translators get their bearings on their journey to becoming full-fledged Ubuntu translators.

Even if you don’t want to join them, it is always recommended to get in touch with the translation team when you’ve finished submitting some suggestions, so that they are aware of them and they can review them.

To join a translation team you can go to the global Ubuntu translation teams list, and click on the team for your language. On their home page in Launchpad you’ll then find instructions on how to get it touch with them and contribute to translating Ubuntu in your language.

That was it! :)

You now know all you need to become a full-fledged Ubuntu translator or to occasionally submit translations. If you are interested in getting more involved in the translations community, you can also learn more.


Read more
David

Ubuntu Translations Portal

Following the series of blog posts about the Ubuntu Translations plans for the Natty cycle, this week I’m thrilled to report on the Ubuntu Translations Portal, and to announce its initial test deployment.

The idea behind the portal is to aggregate all existing content and to be the main entry point to the translations community for new contributors, providing them answers, inspiration and excitement. For experienced translators it will be a central point for resources and news about translating Ubuntu.

The main goal for this cycle is the deployment of the portal, with an official news feed and planet-like and microblogging feeds, all nicely wrapped in an Ubuntu-Light-based theme. I’m happy to report that we’re doing good progress on this.

So without further ado, here’s a preview of what the portal will look like:

Note that as it stands now, this is very much an alpha deployment on an external site, for development and testing purposes. As such, you’ll see that there is not much content, and that that content has been put there to help with development. You’ll also see that the theme still needs work in several parts of the site, but the current state will already give you a good idea of the shape the portal is taking.

Also note that one of the main requirements is that the site is multilingual, so that everyone can see it in their own language. We’ve been setting up the infrastructure for that, so that next cycle we can start translating the portal in all of the Ubuntu languages, but the first iteration this cycle will probably be in English.

Contribute

Do you want to take part in shaping up the Ubuntu Translations portal?

There are many ways in which you can help. Here are just a few:

Join the Ubuntu Translations Portal discussionDiscuss. Participate in the discussion, ask your questions and stay up to date with the latest developments and announcements in the portal.

Help developing the Ubuntu Translations PortalDevelop. Have you got web development or web design skills? We need you! Help us developing the theme and infrastructure for the portal.

Report a bug in the Ubuntu Translations PortalReport. Have you been using the portal and have noticed any bugs or anything that needs improvement? Report them as bugs in the Ubuntu Translations Portal project in Launchpad.

Write and moderate content for the Ubuntu Translations PortalWrite. Do you want to submit articles related to translation, help with content editing or moderation? Join the Ubuntu Translations Portal editors team and put your writing skills to work.

Stay tuned for more updates. Looking forward to everyone’s participation!

Other posts in this series:


Read more
David

Unity

We all know about Unity, the project that is changing the way we interact with our computer by bringing a consistent user experience and a solid, elegant design for desktop and netbook users.

We want to make sure Unity is for everyone, and one of the key aspects to make it possible is that it is available in everyone’s language.

Unity is already available in more than 60 languages, and can be translated into almost any other. Unity is also Free Software, which means it is in your own hands to make it happen.

So, if your language is not in that list, how can you translate Unity?

  • If you are new to translations, you might want to read the Ubuntu Translations Quickstart Guide.
  • Next thing you can do is go to the Unity translations page and start translating online right away.
  • You can then do the same with the Applications and Files places and translate them as well.
  • That’s it! You’ll find that contributing to Ubuntu by translating it is one of the easiest and most rewarding ways you can start

If you’ve got any questions, you can contact the translations team in whichever way you prefer.

We’ve got about 150 Ubuntu translation teams, and I’m pretty sure we can make that by the time Ubuntu Natty Narwhal is released there is a translation from each one of these teams.

Hence, I’m proud to announce the Unity L10N project, stay tuned for more updates and join the translation party!


Read more
David

Ubuntu Translations TrainingFollowing the first in the series of posts about the plans for Ubuntu Translations on this cycle and their progress, this week I’d like to talk about Translations Training Sessions.

What we’d like is to run a series of regular events where translators can just attend and learn, in a hands-on way, all the different aspects of translating our favourite distro. There, they should also be able to ask their questions and discuss any topics related to translations. Another goal is to also provide material for all teams to adapt and reuse for their own training events for new translators.

The plan is to start by running a regular series of IRC training events focused on particular translation topics. Here are some suggestions:

  • The Launchpad Translations web interface
  • Translating Ubuntu online and offline
  • Ubuntu Translations review workflow

Do you want to help grow your translations community in your language? Help us with the training sessions by providing suggestions for topics you’d like to see covered in them. You can also help by running the sessions yourself!

You can leave them as comments on this post or directly on the wiki page we’ve set up for that here.

Looking forward to hearing your suggestions!


Read more
David

Ubuntu Translations TVAfter the first Ubuntu Translations videocast two weeks ago, join me tomorrow in a new edition where I’ll talk about the first steps to get you started translating Ubuntu.

So if are either:

  • new to Ubuntu and would like to learn more and join the awesome translations community…
  • not involved in translations but would like to know more about how Ubuntu is translated…
  • an experienced translator that would like to ask questions or share your workflow…

… then this show is definitely for you.

Come along tomorrow and watch the introduction on how to get started, the general translations workflow, and participate by asking your questions!

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.

Talk to you all tomorrow!

Ubuntu Translations Videocast


Read more
David

Chromium Translations in Launchpad

I’m very much thrilled to announce that Chromium, the Open Source project behind Google Chrome, the browser that is transforming the way we experience the web, is now open for community translation in Launchpad.

Chromium will be hosting its translations in Launchpad Translations, the collaborative online tool for translating Open Source projects and building community around them.

Translate Chromium in Launchpad

You can now translate Chromium online into almost any language. Using Launchpad’s simple web interface you’ll only need a Launchpad account, a web browser and good knowledge of English and the language you’ll be translating into.

Under the Hood

For the technically minded among us, here’s an overview of how everything fits together.

But first of all, I need to mention that all this would not have been possible without the fantastic work of Fabien Tassin, the legendary Ubuntu community member of Chromium and Firefox packaging fame. Big thanks also go to Evan Martin from the Chromium project, the Launchpad Translations developers and anyone else involved in making this possible.

In short, after seeing the willingness from the Chromium project to use translations infrastructure in Launchpad, Fabien single-handedly designed and implemented the machinery that performs the conversion between the Chrome translation format and Gettext, the widely-used standard format Launchpad understands.  He did not stop here, and he also devised a way to package these translations and submit them to upstream.

The following diagram illustrates the Chromium translations lifecycle:

Chromium Translations Lifecycle

Chromium Translations Lifecycle - Diagram by Fabien Tassin

The work is happening between Fabien’s server, where he maintains a local copy of the Chromium upstream branches, and Launchpad, where the PPA builds and translations happen. These are the two big blocks you see on the diagram.

The existing Chromium translations are imported into Launchpad after being converted to the gettext format. The result is then committed in a bzr branch, which is enabled with automatic translation imports to make the translations available through the web UI.

At this point translators can do their work: either complete missing translations, improve existing ones or add new languages.

This work is then committed daily to another bzr branch making use of another cool Launchpad integration feature: automatic translation exports.

The rest of the process is also fully automatic: every day, a bot in Fabien’s server fetches the translations export branch, converts back from gettext to the Chromium translation format, merges that with the upstream trunk and lands the changes in the corresponding PPA of the daily builds. For other branches the process is the same, except that it is only run when there is a new upstream release.

From there, patches with the translations are generated daily for anyone else interested in using them.

Q+A

What does community translation mean?
It means that any Open Source enthusiast will be able to translate Chromium to their language through volunteer contributions.

Why do we need community translations?
Many of the translations already available in Chromium come from private translations originated in Chrome. Until now, Chromium did not have any translation infrastructure to enable the community to localize the software, and therefore some languages were incomplete. In Launchpad you can now a) complete Chromium translations, b) improve them and c) add new languages.

How do I get started translating Chromium?
If you don’t have one already, you’ll need a Launchpad account. Once you’ve created it and selected your prefered languages, simply point your browser to https://translations.launchpad.net/chromium-browser, click on your language of choice, and that’s it, you can now start translating!

?I can submit neither translations suggestions nor translations. How can I translate Chromium?
If you aren’t already logged in to Launchpad, try to log in and see if it helps. If it doesn’t, that’s probably because there is no translation team for your language yet. Launchpad Translations is built around a model of community (in the form of translation teams) and permissions (chosen by the project developer).

The permission model for Chromium is Restricted, which provides a good balance between community participation and translation quality. This means that while everyone can submit translations suggestions, only the members of the translation team will be able to accept them after review.

Have a look at the list of teams in the Launchpad Translators group. If there isn’t one, you should be able to start a new team in a matter of minutes following these simple instructions, which will allow you to start translating Chromium once the team is approved.

When I try to translate my translations are saved as suggestions. Why can’t I directly submit translations?
That’s because you are not part of the translation team for your language. You can look for your language’s translation team here and get in touch with them. If you wish, you can ask them if you can join the team or if they can review your suggestions. See the previous question for more information on translation teams, suggestions and permissions.

How do I get support for Launchpad Translations?
There are many ways to get support if you need help. Here are some of them: you can ask a question in Launchpad, you can send an e-mail to the launchpad-users mailing list or you can ask on the #launchpad IRC channel on the Freenode network. You will find more information here.

Will Chromium translations make it to Google Chrome?
Most probably not. Google Chrome and its translations are subject to different QA processes than Chromium and we’re not contemplating this possibility at this time. We are only making those strings either common or specific to Chromium available for translation.

How often will translations be updated?
?It depends on the Chromium version and the operating system you are using:

  • Ubuntu, stable: if you are using the Chromium version provided in the Ubuntu package through Software Center, you will get a translations update whenever there is a new Chromium stable version released upstream.
  • Ubuntu, PPA: If you are using the Chromium daily PPA for Ubuntu, there are several options depending on which actual PPA (channel) you are using: for trunk, once a string is translated in Launchpad it takes about 2 days to be available; for the other channels (dev, beta, stable) translations are only made available whenever there is a Chromium upstream release.
  • Other: the frequency of updates in other distributions will depend on the use they make of the translations and their update policies. There are currently no Chromium builds for Windows or Mac.

This is a fully automatic process: translations exported from Launchpad are fetched daily, merged with the upstream trunk and changes are landed in the corresponding PPA of the daily builds.

How can other Operating Systems use the Chromium community translations?
The intention is that any Operating System/Linux distribution can benefit from the work from Launchpad translators, so these translations will be available to anyone interested in using them. They  can even be used for Windows and Mac.

If you are interested in using the translations for another distro, the best thing is to get in touch with Fabien (you’ll also find him as fta in the #chromium IRC channel on Freenode).

If you’ve got more questions, also feel free to ask by sending a comment to this blog post.

Happy translating!


Read more