Canonical Voices

Posts tagged with 'launchpad'

David Planella

I am pleased to announce that our current development release, Ubuntu Precise, is now open for translation:

Translate Ubuntu!

Translate Ubuntu Oneiric!

Some additional information that will be useful for translators:

  • Translation schedule. Remember that according to the release schedule translatable messages might be subject to change until the User Interface Freeze on the week of the 23rd of February.
  • Language packs. During the development cycle, language packs containing translations will be released twice per week except for the freeze periods. This will allow users and translators to quickly see and test the results of translations.
  • Test and report bugs. If you notice any issues (e.g. untranslated strings or applications), do check with the translation team for your language first. If you think it is a genuine bug, please report it.
  • Learn more. Learn how to start translating Ubuntu and enable millions to use it in their language.

Ubuntu 12.04 will be a Long Term Support release, so let’s rally around translations to provide the best translated OS around and go over the mark of nearly 40 languages in which Ubuntu is fully translated!

open image by loop_oh – License: CC by-nd 2.0

Read more
David

Another edition of the Ubuntu App Developer Week and another amazing knowledge sharing fest around everything related to application development in Ubuntu. Brought to you by a range of the best experts in the field, here’s just a sample of the topics they talked about: App Developer Strategy, Bazaar, Bazaar Explorer, Launchpad, Python, Internationalization, Launchpad Translations, Unity, Unity 2D, Gedit Developer Plugins, the MyApps Portal, the App Review Board, the UbuntuSoftware Centre, Unity Mail, Launchpad Daily Builds, Ubuntu One APIs, Rapid App Development, Quickly, GooCanvas, PyGame, Unity Launcher, Vala, the App Developer Site, Indicators, Python Desktop Integration, Libgrip, Multitouch, Unity Lenses, Ubuntu One Files Integration, The Business Side of Apps, Go, Qt Quick… and more. Oh my!

And a pick of what they had to say:

We believe that to get Ubuntu from 20 million to 200 million users, we need more and better apps on Ubuntu
Jonathan Lange on making Ubuntu a target for app developers

Bazaar is the world’s finest revision control system
Jonathan Riddell on Bazaar

So you’ve got your stuff, wherever you are, whichever device you’re on
Stuart Langridge on Ubuntu One

Oneiric’s EOG and Evince will be gesture-enabled out of the box
Jussi Pakkanen on multitouch in Ubuntu 11.10

I control the upper right corner of your screen ;-)
Ted Gould on Indicators

If you happened to miss any of the sessions, you’ll find the logs for all of them on the Ubuntu App Developer Week page, and the summaries for each day on the links below:

Ubuntu App Developer Week – Day 5 Summary

The last day came with a surprise: an extra session for all of those who wanted to know more about Qt Quick and QML. Here are the summaries:

Getting A Grip on Your Apps: Multitouch on GTK apps using Libgrip

By Jussi Pakkanen

In his session, Jussi talked about one of the most interesting technologies where Ubuntu is leading the way in the open source world: multitouch. Walking the audience through the Grip Tutorial, he described how to add gesture support to existing applications based on GTK+ 3. He chose to focus on the higher layer of the uTouch stack, where he explained the concepts on which libgrip, the gesture library, is built upon, such as device types and subscriptions. After having explored in detail the code examples, he then revealed that in Oneiric Eye Of GNOME and Evince, Ubuntu’s default image viewer and default PDF reader, will be gesture-enabled.

Check out the session log.

Creating a Google Docs Lens

By Neil Patel

Neil introduced his session explaining the background behind Lenses: a re-architecture effort of the now superseded Places concept to make them more powerful, provide more features and make it easier to add features through a re-engineered API. Lenses create its own instance, add categories, filters and leave the searching to Scopes. The Lenses/Scopes pairs are purely requests for data, independent of the type of UI, and being provided by the libunity library, they can be written in any of the programming languages supported by GObject Introspection (Python, Javascript, C/C++, Vala, etc.). To illustrate all of this concepts, Neil devoted the rest of the session to a real example of creating a Lens for Google Docs.

Check out the session log.

Practical Ubuntu One Files Integration

By Michael Terry

Another hands-on session from Michael, with a real world example on how to supercharge apps with cloud support. Using his experience in integrating the Ubuntu One Files API to Deja Dup, the default backup application in Ubuntu, he went in detail through the code of a simple program to talk to a user’s personal Ubuntu One file storage area. We liked Michael’s session so much that it will very soon be featured as a tutorial on developer.ubuntu.com!

Check out the session log and Michael’s awesome notes.

Publishing Your Apps in the Software Center: The Business Side

By John Pugh

Ubuntu directly benefits from Canonical becoming a sustainable business to support its development, and that’s exactly what John talked about. Being responsible for business development in the Ubuntu Software Centre, he’s got a privileged  insight on how to make it happen. He started off explaining that the main goal is to present Ubuntu users with a large catalog of apps available for purchase, and then continued concentrating on how to submit paid applications to be published in the Software Centre. A simple 5-step process, the behind-the-scenes work can be summarized in: Canonical helps packaging the app, it hosts the app and provides the payment via pay.ubuntu.com, in a 80%/20% split. Other highlights include the facts that only non-DRM, non-licensed apps cannot be submitted right now, but there is ongoing work to implement license key support, and that MyApps, the online app submission portal, can take any nearly any content: apps with adverts, “free” online game clients and HTML5 apps.

Check out the session log.

Writing an App with Go

By Gustavo Niemeyer

Gustavo’s enthusiasm for Go, the new programming language created by Google shows every time you start a conversation with him on that topic. And it showed as well on this session, in which he created yet another “Hello world” application in a new language -you guessed-: Go. Along the way, he had time to describe all of the features of this new addition of the extensive family of programming languages: statically compiled with good reflection capabilities, structural typing, interfaces and more.

Check out the session log.

Qt Quick At A Pace

By Donald Carr

Closing the week on the last -and surprise- session, we had the luxury of having Donald, from the Nokia Qt team, the makers of Qt itself, to talk about Qt Quick. Using a clear and concise definition, Qt Quick is an umbrella term used to refer to QML and its associated tooling; QML being a declarative markup language with tight bindings to Javascript. A technology equally suited to mobile or to the desktop, QML enables developers to rapidly create animation-rich, pixmap-oriented UIs. Through the qtmediahub and Qt tutorial examples, he explored QML’s capabilities and offered good practices for succesfully developing QML-based projects.

Check out the session log.

Wrapping Up

Finally, if you’ve got any feedback on UADW, on how to make it better, things you enjoyed or things you believe should be improved, your comments will be very appreciated and useful to tailor this event to your needs.

Thanks a lot for participating. I hope you enjoyed it  as much as I did, and see you again in 6 months time for another week full with app development goodness!


Read more
David

Ubuntu App Developer Week – Day 4 Summary

Last day of UADW! While we’re watching the final sessions, here’s what happened yesterday:

Creating an App Developer Website: developer.ubuntu.com

By John Oxton and David Planella

Creating the concept and implementing a site for app developers is no easy task. The Ubuntu App Developer site is meant to be a place for app authors to get started with development, to find the information they need and to be able to publish their apps in the Software Centre. John explained all the research and user testing that happened behind the scenes, highlighting the key findings, while David focused on the purpose of the site, where it fits in the overall developer strategy for Ubuntu and the plans for the future.

Check out the session log here.

Rapid App Development with Quickly

By Michael Terry

Fitting nicely topicwise with the questions about the default choice of tools for Ubuntu development on the previous session, Michael gave an overview of what Quickly is and how to use it. Going through the workflow of creating your first app with Quickly, he demonstrated all the key commands and explained in detail all the bits in between.

Check out the session log here.

Developing with Freeform Design Surfaces: GooCanvas and PyGame

By Rick Spencer

Rick started off the session explaining what GooCanvas and PyGame were good for: providing a 2D surface on which to construct interactive GUIs for users. Beginning with GooCanvas, he showed with a very simple example how to get started playing with 2D composing surfaces, adding images, text and doing other operations such as resizing and calculating coordinates to determine clicks. Next up was PyGame, for the same purpose, but better suited for apps with lots of animation updates without user input. He then wrapped up with three samples of simple games to study.

Check out the session log here.

Making your app appear in the Indicators

By Ted Gould

Ted Gould, the man who controls the upper right corner of our screen, talked all about indicators. The idea was to illustrate how to get the information that comes from applications and handle it to the indicators. First up was the messaging menu, a menu to handle human-to-human communication, next the application indicators, which alllow long-running apps to put statuses on the panel consistently, and finally the sound indicator, taking care of all related to sound. Each one of them explained with code examples. Nice!

Check out the session log here.

Will it Blend? Python Libraries for Desktop Integration

By Marcelo Hashimoto

Marcelo shared his experience acquired with Polly, a Twitter client he developed, on using Python and libraries to let apps provide better integration to the desktop. First explaining the concept of desktop integration, stressing the fact that it’s not only about visuals. The rest of the session was structured around 3 main areas: how to send notifications to the user, where to place files read or written by an app and what to use to store sensitive information. A very clear and solid session, also with example code for easy learning.

Check out the session log here.

The Day Ahead: Upcoming Sessions for Day 4

Check out the first-class lineup for the last day of UADW:

16.00 UTCGetting A Grip on Your Apps: Multitouch on GTK apps using Libgrip

Multitouch is everywhere these days, and now on your desktop as well -brought to you by developers such as Jussi Pakkanen, who’ll guide through using libgrip to add  touch support to your GTK+ apps. Learn how to use this cool new library in your own software!

17:00 UTCCreating a Google Docs Lens

Lenses are ways of presenting data coming from different sources in Unity. Neil Patel knows Lenses inside out and will present a practical example of how to create a Google Docs one. Don’t miss this session on how to put two cool technologies together!

18:00 UTCPractical Ubuntu One Files Integration

Yet again the Deja-dup rockstar and UADW regular Michael Terry will be sharing his deep knowledge on developing apps. This time it’s about adding cloud support to applications: integrating with the Ubuntu One files API.

19:00 UTCPublishing Your Apps in the Software Center: The Business Side

Closing the series of sessions around publishing apps in the Software Centre, we’ll have the luxury of having John Pugh, from the team that brings you commercial apps into the Software Centre and who’ll be talking about the business side of things.

20:00 UTC – Writing an App with Go

Go is the coolest kid around in the world of programming languages. Gustavo Niemeyer is very excited about it and will be showing you how to write an app using this language from Google. Be warned, his enthusiasm is contagious!

20:00 UTC – Qt Quick At A Pace

A last minute and very welcome addition to the schedule. In his session Donald Carr will introduce you to Qt Quick to create applications with Qt Creator and QML, the new declarative language that brings together designers and developers.

Looking forward to seeing you all there!


Read more
David

Ubuntu App Developer Week – Day 3 Summary

Time flies and we’re already halfway through UADW, but there is still much to come! Here’s yesterday report for your reading pleasure:

Unity Mail: Webmail Notification on Your Desktop

By Dmitry Shachnev

Starting off with a description of the features of Unity Mail, such as displaying webmail unread message count, notifications and mail subjects, we then learned more about how it was developed and the technologies that were used to create it. It’s written in Python, using GObject introspection (PyGI) and integrates with Ubuntu through the Unity, Notify and Indicate modules. After describing each one in more detail, Dmitry continued talking about how the app can be translated using Launchpad, and how he uses the Bazaar  source revision control system to work with code history. Wrapping up, he went through the plans for the future: more configuration options, marking all messages as read and the need for a new icon. Any takers? ;)

Check out the session log here.

Launchpad Daily Builds and Rapid Feedback: Writing Recipe Builds

By Jelmer Vernooij

Assuming some previous knowledge on Debian packaging, in his session Jelmer walked the audience through a practical example of a basic recipe build for a small project: pydoctor. Drawing the cooking recipe analogy, package recipes are a description of the ingredients (source code branches) and how to put them together, ending up with a delicious Debian package for users to enjoy. Launchpad can build packages from recipes once or automatically on a daily basis provided the code has changed, conveniently placing the result in a PPA. In the last part of the session, he described in detail the contents of an existing recipe and added some notes on best practices when building from a recipe.

Check out the session log here.

Using the Ubuntu One APIs for Your Apps: An Overview

By Stuart Langridge

The idea bahind the Ubuntu One developer programme is to make it easy to add the cloud to your apps and make new apps for the cloud. With this opening line, Stuart delivered a talk about a high-level overview on the cool things you can do as an app developer adding Ubuntu One support. One aspect it data: for example building applications that work on the desktop, on mobile phones and on the web, securely sharing data among users. Another is music: streaming, streaming music and sharing playlists on the desktop, on mobile and from the web, all through a simple REST HTTP API. He also mentioned some examples of cloud enabled applications: Shutter and Deja-Dup, and many other interesting ways to use Ubuntu One to do exciting thigs with data. And you can get started already using the available documentation.

Check out the session log here.

Supercharging Your Apps with Unity Launcher Integration

By Jason Smith

In his talk, Jason first went through the terminology that covers the elements related to the Unity Launcher, and the bachground behind the Launcher API, implemented in the libunity library. Libunity can be used in many programming languages: Python, C, Vala and others supported by GObject Introspection. Going through what you can do with the Launcher (marking/unmarking apps as urgent, setting object counts, setting progress on objects and adding quicklist menu items to the object), he used Vala snippets to illustrate each feature with code.

Check out the session log here.

Hello Vala: An Introduction to the Vala Language

By Luca Bruno

Vala, a new programming language with C#-like syntax that compiles to C and targets the GObject type system: with a clear statement of what Vala is and what it can do, Luca, a contributor to the project introduced one by one the mostkey features of the language through his “Hello world” example: namespaces, types, classes, properties, keywords and more. As a highlight he mentioned Vala’s automatic memory management using reference counting, andits interoperability with other languages, most notably C, but it can also work with many others supported by GObject Introspection. Other cool featuresto note were also error handling on top of GError, support for async operations, closures and DBus client/server, on each of which he elaborated before finishing the session.

Check out the session log here.

The Day Ahead: Upcoming Sessions for Day 3

Another day, another awesome set of sessions coming up:

16.00 UTCCreating an App Developer Website: developer.ubuntu.com

Ubuntu 11.10 will not only bring new features to the OS itself. In time for the release we’ll be launching the new Ubuntu App Developer site, a place for developers to find all the infromation and the resources they need to get started creating, submitting and publishing their apps in Ubuntu. John Oxton, David Planella and many other people have worked to make the next developer.ubuntu.com possible and will tell you all about it.

17:00 UTCRapid App Development with Quickly

Quickly is a wrapper that pulls together all the recommended tools and technologies to bring apps from creation and through their whole life cycle in Ubuntu. With an easy set of commands that hide all the complexity for your, it effectively enables developers to follow rapid development principles and worry only about writing code. Michael Terry, from the Quickly development team will be looking forward to guide you through the first steps with this awesome tool.

18:00 UTCDeveloping with Freeform Design Surfaces: GooCanvas and PyGame

Have you ever wondered what freeform design surfaces, or canvases are? You probably have now. Well, lucky you then, because Rick Spencer will be here to tell you what they’re good for and how to get started with them ;)

19:00 UTCMaking your app appear in the Indicators

In another session on how to integrate with the platform, Ted Gould, the man who knows most about them, will describe how to add indicator features  to your apps, both in terms of panel indicators and messaging menu support.

20:00 UTC – Will it Blend? Python Libraries for Desktop Integration

You certainly will want your app to have that familiar look and feel at home in the OS it’s running on, but you’ll also want it to use all the backend technologies to integrate even deeper and provide a great user experience. Well, fear not, for Marcelo Hashimoto is here to tell you exactly how to do that!

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


Read more
David

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!


Read more
David

Ubuntu App Developer Week – Day 1 Summary

The first day of Ubuntu App Developer Week is over and we’re ramping up to day 2! A great start and lots of interest in the audience. Here is a small summary from yesterday’s schedule.

Making Ubuntu a Target for App Developers

By Jonathan Lange

Jono, who has recently started working on the Ubuntu developer programme after having been developing and defining the strategy on Launchpad for the last 5 years, started off explaining that to cross the chasm and to get our OS from 20 million to 200 million users, we need more and better apps on Ubuntu. There are some key aspects to this goal, coinciding with areas of ongoing work:

  • A place – making some place that app developers can go to in order to learn how to develop for Ubuntu (developer.ubuntu.com)
  • A definition – defining a platform for developers to target
  • A channel – a smooth, short, safe path from developers to their users and back again (the Ubuntu Software Centre and MyApps)

After expanding on the subjects of automatic packaging and security, the conclusion is that with all of these pieces in place -Software Centre, developer portal, a defined platform, automagic packaging, safe mechanisms for distributing new apps & paying developers- then Ubuntu becomes something that developers can seriously start to target

Check out the session log here.

Introducing Bazaar Explorer: Version Control for your Apps

By Jonathan Riddell

“Bazaar is the world’s finest revision control system” – an awesome quote to start an equally awesome session. With this, and with the idea that Bazaar needs to be available to anyone, not only to those already comfortable with the command line, Jonathan Riddell provided a tour of the most feature-rich GUI for Bazaar. Illustrating the most common commands for everyday use and with plenty of pictures, he provided an excellent overview of how this powerful, cross-platform, graphical interface for bzr can make life much easier to app developers.

Check out the session log here.

Your App & Launchpad best practices

By Jason DeRose

Jason’s session on how to make the best use of Launchpad, the online collaboration and hosting suite for your projects, was structured around 3 central points: 1. Why should you host your project in Launchpad? To which his answer was: because PPAs, daily builds and lots of users; 2. How to set up your app to use Launchpad, where he guided participants through the process of creating a Launchpad project and offering some insights on best practices. Finally, on 3. Using Launchpad to engage developers he wrapped up with a series of recommendations and tips to ease and foster contributions to your project. More on the session log :)

Check out the session log here.

Getting Started With Python: a Hello World App

By Alan Bell

As a grand finale to the day, Alan delivered a beginner-friendly session on the basics of the Python programming language. Assuming no prior knowledge, he walked participants through the classical “Hello world” example in Python, which universally greets programming novices on the terminal with a friendly welcome message. Along the way, he explained in detail all the extra bits to make this simple application run and be useful as a kickstart to becoming a full-blown Python programmer.

Check out the session log here.

The Day Ahead: Upcoming Sessions for Day 2

More app development goodness for fun and profit: here’s today’s schedule.

16.00 UTCMaking Your App Speak Languages with Launchpad Translations

Did you know that along with code hosting, release management, bug tracking and support, you can also use Launchpad to get your app translated?. David Planella will explain you how to set up your app in Launchpad for translations and give you some advice on building a translator community around it.

17:00 UTCThe Making of Unity 2D

Unity needs to run on every type of desktop, from those with powerful 3D graphics processors to those only able to run in 2D. Unity 2D was born out of the need to provide a near identical experience as its 3D counterpart on systems which cannot rely on 3D graphical processing, such as ARM computers. Florian Boucault will talk about what Unity 2D is, how it was designed, and the technologies used to implement it.

18:00 UTCMaking App Development Easy: Gedit Developer Plugins

Gedit is Ubuntu’s lightweight yet powerful default text editor. Its flexible plugin architecture means that it can easily be extended to meet any need. Curtis Hovey will guide you through his Gedit Developer Plugins to help you convert a general-purpose editor into the perfect programming editor.

19:00 UTCPublishing Your Apps in the Software Center: the MyApps Portal

Canonical is taking app developers very seriously,and one of the important aspects of ensuring a smooth workflow for submitting and publishing applications into the Ubuntu Software Centre is providing the right set of tools. Anthony Lenton will tell you the story behind the MyApps tool and how app authors can use it to submit their apps.

20:00 UTC – Publishing Your Apps in the Software Center: The App Review Board

If you are an open source developer and want to publish your libre + gratis app into the Ubuntu Software Centre, the App Review Board (ARB) will take care of reviewing it, ensuring it is up to the Ubuntu standards and help you publishing it for all users to install. Stéphane Graber is a member of the ARB and will explain how the Board works and the steps to successfully submit an app for review.

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


Read more
David

After the first language packs have now been generated, I am pleased to announce that our current development release, Ubuntu Oneiric, is now open for translation:

Translate Ubuntu Oneiric!

  • Translation schedule. Remember that according to the release schedule translatable messages might be subject to change until the User Interface Freeze on the week of the 25th of August.
  • Language packs. During the development cycle, language packs containing translations will be released twice per week except for the freeze periods. This will allow users and translators to quickly see and test the results of translations.
  • Test and report bugs. If you notice any issues (e.g. untranslated strings or applications), do check with the translation team for your language first. If you think it is a genuine bug, please report it.
  • Learn More. Learn how to start translating Ubuntu and enable millions to use it in their language.

open 19 image by loop_oh – License: CC by-nd 2.0


Read more
David

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!


Read more
David

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!


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

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

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 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

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
David

(still) open

After the new Natty Narwhal Alpha 1 pre-release, I am pleased to announce that Natty is now open for translation:

Translate Ubuntu Natty!

  • Translation caveats. Remember that according to the release schedule translatable messages might be subject to change until the User Interface Freeze on the 24th of March.
  • Language packs. During the Natty development cycle, language packs containing translations will be released twice per week except for the freeze periods. This will allow users and translators to quickly see and test the results of translations.
  • Firefox. The first language packs will not yet contain Firefox translations. We’ll get them in soon as we’re adapting to the new upstream langpack packaging structure, so that Firefox is localized by default as usual.
  • Test and report bugs. If you notice any issues (e.g. untranslated strings or applications), do check with the translation team for your language first. If you think it is a genuine bug, please report it.

That’s it, happy translating! :-)

(still) open image by Joseph Robertson – License: CC by-nc-sa 2.0


Read more
David

This post is password protected. To view it please enter your password below:



Read more
David

????As most of you know, we’ve got an amazing translations community in Ubuntu. Every day, hundreds of translators use Launchpad Translations as a tool to make our OS of choice available in almost any language.

As such, I’m thrilled to announce a set of GSoC projects focused on Launchpad Translations and aimed towards improving the Ubuntu translations community experience.

Here they are:

Projects

Package set views in Launchpad Translations

Currently we expose the full list of translations in the main archive to Ubuntu translators. This is generally overwhelming for new translators and it does not show accurate statistics on how well translated a distribution is. It would be useful to have a global view of projects or modules which would only include the templates which are part of them (e.g. Ubuntu, Kubuntu, UNR, or even further granularisation in subprojects or most important upstreams: GNOME, KDE, etc.). This could be e.g. modelled after the package sets already available from Launchpad.

Full Launchpad Translations API

The aim of this project is to implement a full API for the Launchpad Translations component. This will allow accessing translations-related data from Launchpad through launchpadlib. The API can be subdivided in several components (e.g. reporting -already being developed-, imports queue, translations, etc.) and will open the door to a broad range of uses of Launchpad Translations: more automated management of Ubuntu translations, automated status tracking of imports by users, client-side online translation, navigation of the site in custom applications, requesting downloads, fetching individual messages or suggestions, etc.

Native support for OpenOffice.org translations format in Launchpad Translations

Launchpad Translations standardizes on using the Gettext PO format for importing and exporting translations. While this covers the majority of Open Source projects supporting localization, there are a couple of notable exceptions. These implement custom formats and cannot be directly imported or exported. OpenOffice.org is one of them. Its custom GSI/SDF translation format needs to be converted to gettext before importing it into Launchpad. This causes quite a lot of packaging overhead and manual work, and the translations cannot use the language pack infrastructure. Due to this, we had to recently disable OpenOffice.org translations in Launchpad. We want Ubuntu translators to be able to translate OpenOffice.org in Launchpad as any other Ubuntu package and to be able to contribute translations back to upstream. The aim of this project is to implement native support for importing and exporting OpenOffice.org’s GSI/SDF translation format.

Full native support for Mozilla translations format in Launchpad Translations

Launchpad Translations standardizes on using the Gettext PO format for importing and exporting translations. While this covers the majority of Open Source projects supporting localization, there are a couple of notable exceptions. These implement custom formats and cannot be directly imported or exported. Firefox uses the custom XPI translations format and is one of them. While native import support is already implemented and functional, translations are currently exported in an intermediate format and the conversion back to XPI is done outside of Launchpad. We want the Ubuntu Mozilla translations to be exported in native format and be able to use them directly in language packs and allow contributing the translations back to upstream. The aim of this project is to complete the support for the Mozilla translation format and enabling native export.

Native support for XML documentation in Launchpad Translations

Launchpad Translations standardizes on using the Gettext PO format for importing and exporting translations. This generally covers the majority of Open Source projects supporting localization, but only their user interface. Documentation is generally produced in other formats (mostly docbook) and must be converted to the Gettext PO format before importing it into Launchpad and converted back to XML upon export. This additional step, generally performed by tools such as `xml2po` or `po4all` currently stops us from importing documentation of upstream projects for translation in Launchpad in Ubuntu. The aim of this project is to implement native XML support for translatable documentation in Launchpad Translations, so that it can be seamlessly imported and exported.

Adding POT template generation support for layouts other than intltool in Launchpad Translations

Upstream integration is the current development focus in Launchpad. To that end, the Launchpad Translations component is being extended to enable translation imports directly from bzr branches of upstream projects. One important aspect of this feature is the automatic regeneration of POT translation templates from the branches, which is implemented using what is internally called the pottery infrastructure. Pottery currently supports the intltool layout, which already covers a great number of Open Source projects. However, there will still a percentage of upstream projects which do not follow this standard intltool layout. The aim of this project is to extend pottery to support additional formats, so that the maximum number of upstreams can be imported into Launchpad Translations.

So, you’d like to work on this?

Danilo Šegan, the Launchpad Translations team lead, will be the mentor for these projects, but you can use me as a backup contact as well, especially this week, as Danilo is away on a coding sprint.

You’ll find all the information you need on Ubuntu’s participation in the GSoC 2010 and how to get involved here:

So here’s your chance of joining the team of Launchpad developer legends and making the Ubuntu translation experience even more awesome.

If you are wondering what all this is about, here is some content to get you started:

And if you’ve got any questions, feel free to ask!


Read more