@jonojordi, woo!
sabdflhey jordi!
jordihmm, seems I can't change the topic
jorditoo bad
tonyyarussojordi: Tell me what you'd like in /msg and it's yours.
jordiThe session is Translations with Rosetta :)
givresabdfl: i think that make an advance option in the installer to disable restricted repo https://lists.ubuntu.com/archives/ubuntu-devel/2006-November/022596.html , just like suggested collin watson should make everybody happy. Just my 2 cents
dnearyjordi: I'm here for you :)
jordiOk, so for those who don't know me, I'm Jordi Mallach, and I've been involved with the Rosetta team trying to be the link between the development team and the Ubuntu translators and rosetta users
@tonyyarussohmm
jorditonyyarusso: just "Rosetta" then :)
stalefries_awayor perhaps cut down on the info
jordilet's get moving
jordiThe Rosetta Translation Portal
jordiRosetta is one of the components that make up “Launchpad”,
jordiCanonical's service platform.
jordiLaunchpad is made up of five major components: a bug tracker, a
jordirequest tracker, a specification tracker, a "source code"
jordisupermirror and Rosetta, a web-based translation portal.
jordiChristian Reis will talk tomorrow about Launchpad in general, so
jordilet's focus on Rosetta.
jordiRosetta's aim is to make translation of Free Software as easy and
jordinon-technical as it can get. The Rosetta team has been working on
jordicreating an interface which hides the specifics of the Gettext PO
jordifile format, which is the standard for translating Free Software,
jordithus lowering the barrier so anyone with a reasonable knowledge
jordiof English can help out with the translations of their favourite
jordiproject into their mother tongue.
jordi(please say if I'm too fast, I'm worried about lack of time)
jordiRosetta is the main translation system of Ubuntu Linux, and is
jordithe source of all translations which appear in the Ubuntu
jordireleases, and in the frequently updated “langpacks”. Rosetta is
jordialso designed to help program authors getting their applications
jorditranslated.
jordiA close look on the Gettext PO file format
jordi==========================================
jordiMost of the software in your desktops use a standard translation
jordiinterface called GNU gettext, which is in charge of showing the
jordiapplications in the language the user has chosen. Application
jordiprogrammers need to take care of marking all the user-visible
jordimessages (or strings, as the initiated tend to call them) with a
jordispecial marker which can be extracted to plain text ".po" files.
jordiWe translators use these files to translate the applications.
jordiLet's look at how a PO file looks. I've put some examples in
jordihttp://pusa.informat.uv.es/~jordi/ubuntu-school/
jordiHave a look at the ubuntu-school.pot file. A POT file is a "PO
jordiTemplate", that is, an empty PO file ready to be translated.
jordiLooking at the contents of the file, you can see the format is
jordipretty straight forward: each original string in English (a
jordimsgid) has its corresponding translation (msgstr). While simple,
jordithe po format is quite fragile. One missing quote, and your
jordientire application build will fail with a syntax error. There are
jordiseveral very popular PO file editors which help the editing
jordiprocess: KBabel, PoEdit, GTranslator, Emacs PO-mode...
jordiRosetta goes one step further in easing the translation of these
jordiPO files, using a clean, web-based interface which hides the
jordiformat, presenting only sets of string/translation pairs that you
jordican fill up. Once the work is done, it's stored in its database
jordiwhere the information can be exported or shared among other
jordiprojects.
jordiUsing Rosetta's Web Interface
jordiRosetta is, as hinted before, divided in two main branches: one
jordiserves to translate the applications of the people who request
jordiit. For example, the Gobby collaborative editor is being
jorditranslated by Rosetta contributors, after its authors requested
jordius to set it up for them in Rosetta. On the other hand, Rosetta
jordiis the platform from where Ubuntu gets all its translations.
jordiWe'll focus on Ubuntu a bit more now.
jordiUbuntu translations revolve around the Ubuntu translation teams,
jordiwhich coordinate and produce the translations which get shipped
jordiwith every new version.
jordi   https://launchpad.net/rosetta/groups/ubuntu-translators
jordiHere you'll see a list of teams which belong to the Ubuntu
jorditranslation teams. While Rosetta is open enough to let everyone
jordiwith a Launchpad account contribute, there is need for some
jordiaccess control, to protect quality, avoid vandalism, etc. Being
jordipart of one of the translation teams grants you "write" access to
jordievery translation for that language in Ubuntu. Still, if you're
jordinot a member of your language's team, you can still go ahead and
jorditranslate. Your contributions will be also stored in Rosetta's
jordidatabase as "suggestions", but won't appear in Ubuntu's language
jordipacks until a member of the team reviews and validates them.
jordiRosetta offers a long list of applications that can be
jorditranslated. Taking the French team as an example,
jordi
jordi   https://launchpad.net/distros/ubuntu/edgy/+lang/fr
jordiwe can have a look at how their translation status is for the
jordiUbuntu Edgy release. I like showing the French team because they
jordiare really an amazing example of completeness.
jordiwoops
jordithis had to happen today, I new it
jordimy router just rebooted :O)
ivokshehe
@jono:P
jordiRosetta presents us a list of applications which are ready to be
jorditranslated to French, and their current translation status. As
jordiyou see, the French have done their homework and there's barely
jordino red bars, meaning "untranslated". See the bottom of the
jordipage for the meaning of the bar colours.
jordiThe list is ordered from most important to less important
jordiLet's see how we'd translate an application. Close to the top of
jordithe list is "launchpad-integration". We'll pick this one as it's
jordieasy and short.
jordi   https://translations.launchpad.net/distros/ubuntu/edgy/+source/launchpad-integration/+pots/launchpad-integration/fr/+translate
jordiokay, I just started to look at the questions in the chat channel
jordiI'll try to paste them here now, sorry about that ;)
waodLOL
jordiIf instead of French you want to have a look at your own
waod14:38 < mogaal> Soy bruto
jordilanguage's translation, simply replace "/fr" in the URL with the
jordicorresponding ISO 639 code. You can find the code for your
jordilanguage here:
jordihttp://www.loc.gov/standards/iso639-2/php/code_list.php
waod14:38 < mogaal> Comprende :(
jordiIn our case, the first string is "The Launchpad helper
jordiapplication failed", which is already translated to French as
jordi"L'assistant Launchpad a échoué". Below the accepted translation
jordithere is a list of alternative translations suggested by other
jordipeople. You can quickly navigate through the translation fields
jordiusing the tab key. Once you have completed all the strings in a
jordipage, you want to save your work: hit "Save & Continue" at the
jordibottom, and if there are more strings to do, Rosetta will then
jordishow them to you.
jordiThere are other bits that can help the translators while they
jordiwork on a translation: you might want to see what the translators
jordito a language similar to yours used in a string that is hard to
jorditranslate, for inspiration. You can get such information using
jordithe "Make suggestions from" widget at the top of the string list.
jordiAlso, you'll be more interested in seeing the strings that need
jordiwork instead of those which are translated already. You can
jordifilter the kind of messages you want to see using the "Show"
jordiwidget, where you can select from "all", "unstranslated",
jordi"translated" and "needs review".
jordi20:20 < neophile> QUESTION: Is it possible to search for a string in the translation? That's major drawback when trying to correct translations. Is a search feature planned for rosseta in the near future?
jordiIt's currently not possible to search for a string easily
jordiit is one of the most requested (and no doubtely most useful) features, and we do plan to add it
jordithe implementation isn't trivial though, as the database is huge and there are some perdformance issues to solve
jordiBut yes, the team will focus on providing it as soon as possible
jordiUsing Rosetta's import/export interface
jordiWhile the web interface has allowed many Ubuntu users help out
jordiwith the translations to their language, there's certainly
jordidie-hard, old-time translators who will prefer using their own
jorditools (obscure emacs modules and weird command line tools!) to
jordiwork on their translations. Or there might be people who cannot
jordiafford to be online during the whole translating session.
jordiTo help them, Rosetta has an import/export mechanism, which
jordiallows you to easily upload translations you have worked on
jordioffline, using your own ways, but you still want to see
jordiintegrated in Rosetta, and download your finalised files so you
jordican do whatever you want with them: back them up, send them to
jordiyour team's mailing list, send them to the upstream author so
jordithey get included in the next release...
jordiImporting and exporting is easy: to download your work, use the "Download" and "Upload file" links in the boxes at the left side
jordiWhen requesting a download, Launchpad will prepare the file for you and will email you the location of the desired export.
jordiImporting is similar. Just fill in the field with the location path to your file, and rosetta will integrate it in the database
jordiI translated all night long. What now?
jordi======================================
jordiOkay, so you've worked on the files you were interested in, and
jordiRosetta now has all the info. What happens now?
jordiUbuntu will, on a monthly basis, extract all the translations
jordifrom the database and put them in the "language packs" for each
jordisupported language in the distro, which will automatically hit
jordiyour Ubuntu mirror the 1st Monday of the month. This way, Rosetta
jordiallows people to keep improving the support for their language
jordieven after a Ubuntu release has shipped. For example, more than 6
jordimonths after the release of Ubuntu 6.06 LTS, there's a group
jordiworking on adding Dzonghka support to Ubuntu, when there was
jordiclose to nothing included in dapper initially.
jordiI see there's many interesting questions going on, so I propose we go on with Q+A, trying to focus on the classics: Rosetta and upstream relationship, etc.
jordi20:24 < bugman> QUESTION: In https://translations.launchpad.net/people/bugman/+translations for example, is possible to implements the view of all string translated for a package and not only the last?
jordibugman: it's possible, yes. These are wishlist features, though, and will get a lower priority than say "search a string"
jordibut the info is in the database, so it's prefectly possible to show the info
jordiit's important that bugs are filed against rosetta requesting these things
bugmanjordi: ok :-)
jordi20:26 < dneary> QUESTION: What's the recommended workflow for updating .po files outside Launchpad for the moment?
jordidneary: can you be more specific?
jordithere's several scenarios: gnome-panel or launchpad-integration, for example
ivoksjordi: he asks if he could see all his translations in one package
ivoksjust his own
ivoksor someone elses
jordiivoks: bugman?
ivoksyes
jordioh, I see.
dneary jordi: It's related to bug #68014
jordiWell, tha can be done too
ivoksurgh.. sorry lag :)
bugman:)
jordi(please give me full malone urls so I can open fast)
dnearyjordi: It seems like uploading .po files doesn't automatically update translations at the moment (if I understand the problem)
Gwaihirjordi: https://launchpad.net/bugs/68014
jordidneary: right, the import mechanism is restricted right now, while a nasty bug involving reverted translñations is tracked down
dnearySome translations were lost, so on the 1st of November, the upload form was disabled
jordifor the time being, mailing rosetta@launchpad.net with import requests is the recommended way
dnearySo - what's the reccommended workflow for people working on .po files outside teh tree while that bug is being fixed?
dnearyjordi: OK - thanks :)
jordialthough I hope we'll go back to normal operation rsn -- aiui the bug fixing is making progress
dnearyI was typing rather than reading
dnearycool
jordi20:27 < dand> QUESTION: any packages in Rosetta that sync automatically with upstream? if yes, are they marked somehow in Launchpad and how often do they sync?
jordigood one: this doesn't happen right now, but is a desired feature
jordithis would allow minimise the "conflicts" between rosetta and upstream preojects (KDE, GNOME...) translations
jordiso if some translator has rights to translate both on Ubuntu and GNOME CVS, a translation inserted in Rosetta could be exported to GNOME
jordiwe want this, but it'll won't be here before some time
dandalright, thanks :)
jordi20:27 < Gwaihir> QUESTION: is it possible to have a --use-fuzzy implementation for exporting mo files?
jordiGwaihir: as far as I know, we don't do this now because Rosetta generates fuzzies using its own knowledge. I guess it'd be easy to add an option to generate files with fuzzies, yes. Is there a bug filed?
jordi20:29 < Gwaihir> QUESTION: is there any difference between "fuzzy string" in po and "Need review" in Rosetta?
jordiI've gone over this as I wanted to keep the text dump simple
jordibut yeah, needs review can map to fuzzy
jordisome teams do use it as in the strict "needs review" sense though
jordiie, theey translate it, but if they are not sure, they use the mark so others can easily find the unsure strungs
jordistrings even
ivoksright, that's common practice
jordi20:29 < somerville32> QUESTION: How does a member of a translation team approve suggested translations?
jordiThe current implementation is built on very complex copy and paste technology :)
ivoks(could we get a checkbox instead?) :)
jordiwe do have plans to have the checkbox :)
pepsimanjordi: there's a greasemonkey script which helps
jordiI'm a bit on time pressure I guess, otherwise I'd dig the relevant spec urls
danilosGwaihir: another thing to note: currently, both fuzzy and string needing review is implemented using the same mechanism in rosetta; there is, however, a plan to separate these out and put them to their right meanings (i.e. fuzzy == machine-selected "similar" string; needs review == human selected "unsure" string)
bugmanivoks: i written a spec on this but it was rejected
jordidanilos, maybe you can find some of the relevant ones so people can read over them
jordidanilos is one of the main rosetta coders. Woo! :)
jordi20:31 < somerville32> QUESTION: If I suggest a translation and then join the translation team later, are all my suggested translations automatically approved?
jordisomerville32: no, as far as I know. That could be dangerous on some cases, actually
jordibut it might be a good idea to do it if the string was unstranslated
somerville32So I have to go and redo all my work? haha
jordiI can't stress enough that having bug reports for all the requests is really helpful
jordi20:32 < dand> QUESTION: any plans so far on opening Rosetta for contributions?
jordidand: "opening", I assume you mean opening the source code
dandyeah
daniloson dneary's QUESTION: Does Rosetta keep a history of translation updates and who made them?
Gwaihirjordi: for the --use-fuzzy question I've a bug was opened: https://launchpad.net/bugs/70974
danilosdneary: yes, Rosetta keeps a history of all translation contributions
jordiThere's sabdfl's statement that Launchpad will be freed when the project is ready to do so. We can't give dates or estimations on when that might happen.
jordiThere are people helping out with Launchpad on a NDA basis, though.
jordiGwaihir: thanks
dandjordi: k, thanks
jordi20:36 < bugman> QUESTION: It's possibile to hava a Wiki page (or other similar) for see LangPack scheduling?
Gwaihirjordi: you are welcome!
jordibugman: the general rule is "1st Monday of the month". We chose this because it's easy to remember. I'm sure this is written up somewhere though, can't find a pointer irght now
bugmanjordi: ok thanks
danilosdneary: but no, we don't have the level of details you wonder about (when string has moved from suggestion to approved, etc.)
jordithere's a Plan™ to write docs pointing these things clearly
jordi20:36 < dneary> QUESTION: Does Rosetta keep a history of translation updates and who made them?
jordia feature showing how a string has changed over time has just been rolled onto production, and Rosetta is now gathering this info
jordiThis will be good to help team leaders track bad translators
jordi20:40 < neophile> QUESTION: Where someone should translate a package, in head brunch or in the edgy brunch?
dnearyjordi: danilos already answered that - thanks to you both
jordineversfelde_: this very much depends on the specific packages
jordiwe have a feature on our queue, which will allow someone translating gnome-panel in edgy "push" that same translation to dapper, feisty, or GNOME CVS HEAD if applicable
jordiso you just have to translate once
ivoksthat would be awsome
jordineversfelde_: of course, if you translate the Panel in GNOME CVS, that translation will automagically percolate to the next ubuntu release
jordithis gets us to the "working with upstream" chapter
jordiwhile rosetta is a great tool to get ubuntu translated verfy easily, it's vital that the translation teams cooperate with their upstream teams
jordiie, the French Ubuntu team should be in contact with the French GNOME team, so they use the same guidelines, etc
jordior don't duplicate efforts
bugmanyes is the same with itlian team
bugman* italian
jordiwe've had problems with some teams redoing all the work in Rosetta, which resulted in a completely different set of translations in Ubuntu and other distros.
jordiThe "translation override" feature in rosetta is powerful and useful if used wisely. If it goes out of control, it can cause frictiuons between teams.
jordiWe need to work on that, I believe it's a procedural problem which can be mostly solved by educating new translators which join the ubuntu teams
jordithere's been quite some talk on this on the rosetta list, and teams like italian or Brazilian have already implemented some measures to work nicely with their upstreams
Amaranthmetacity
bugmani quit, thanks jordi :-)
Amaranthberyl-manager
jordi20:45 < aleka> QUESTION: If I am eager to help the Ubuntu community, and the only way I can right now if through translation, What Can I do when the admin of a team does not respond to my requests or approve my membership to the team?
jordigood one!
jordialeka: we're seeing this every now and then
jordithe best and quickest way is to mail us at rosetta@launchpad.net
pepsimanlots of people apply to teams without telling the team leader their email address
jordiand we'll mediaate
jordiie, we'll try to contact the current leader. If he doesn't respont, we'll transfer leadership to whoever we think deserves it (ie, whoever wants to do the work ;)
jordipepsiman: good point. That's bad, and I've suffered that myself.
jordidanilos: we should think on some way to circumvent this, when a leader can't contact a member because there's no public email address
danilos<dneary> QUESTION: We have had some issues with translations where people outside the project translated things badly, and we couldn't easily revert to the correct translation - how can I configure our translation to make sure only approved translation team members can do the translation?
jordidanilos: want to answer that one?
danilosdneary: at the moment, members of the translation team should only be those you trust; in other words, anyone who is member of your translation team can approve/modify translations
dnearyAnd only translation team members can do translations?
dnearyThanks
jordiright, we ACK that there's oversized teams right now.
jordidneary: if the given project is setup up like that, yes
danilosdneary: yes; anyone else can post suggestions -- we'll work on improving team layout (and docs), so this is clear to everybody
jordi20:51 < tonyyarusso> QUESTION: Does Rosetta have some method for handling dialects?  I'm just getting the ball rolling for a language (oji) that varies widely (esp. for technical terms)
jorditonyyarusso: not yet, but both danilos and I are involved with teams which would benefit of dialect support
jordiWe really want to see this happen, but it's not high priority right now
jordi20:53 < somerville32> QUESTION: How do you know if a translation is suggested or approved?
tonyyarussojordi: What is the best way to approach things for the time being then until it is implemented?
jordia approved translation appears in the translation field
jordisuggestions appear as suggestions beneath it
danilosjordi: as far as unresponsive team leaders, we can establish regular "checks" with team leaders; but that's something I feel ubuntu l10n coordinator should handle, since it's not a direct rosetta issue
jordidanilos: ^ want to answer that one?
danilosjordi: sure
jordiyeah, we haven't mentioned the coordinator at all
jordi20:53 < dneary> QUESTION: Can I export translations in other formats than .po?
jordidneary: no, Rosetta currently only groks po files
jordialthough it will soon be able to export firefox and openoffice data via langpacks.
metatecqueQUESTION - is Brandon here yet - isn't the open kubuntu discussion scheduled to start now?
danilossomerville32: any actual translation is the approved one; suggestions only appear as "suggestions"
somerville32kk
jordibut not via the standard export mechanism as far as I know, danilos can correct me
dnearySo I need to do a post-processing move to generate a .ts?
imbrandonmoins all ( sorry i'm really lagging here )
jordi20:57 < dneary> QUESTION: What happens in Rosetta when an overridden string gets changed in a later revision of the upstream translation?
danilosdneary: btw, we're working on adding native support for other formats right now; first to come should be firefox XPIs, OpenOffice GSI's, KDE PO files, but we also have plans for XLIFF and others
jordiRosetta has a "tracker" which makes it think it should follow what comes from upstram or not.
imbrandonjordi: ping me when you wrap it up i'm going to try to fix my lag issue
jordiIn short, if you change a string, forking it to something different, it'll stay forked unless you put the upstram string back again.
dnearyjordi: How do you get to decide?
jordiWe want to implement a filter so it's easy to find these strings and do a "merge with upstream" for them, etc.
dnearyIs there a fuzziness thing that shows you changed over-ridden strings?
jordiimbrandon: okay
jordijust kick us out when you're ready
jordidneary: no, there's proposals to mark them as such
jordihasn't happened yet
jordi21:01 < aleka> QUESTION: where can I get help in aquiring fonts that I need for translating (Amharic - ethiopic fonts) that work in Linux. This question emailed to team leader twice and no response..
jordialeka: you might want to ask in the ubuntu-devel list
jordimark shuttleworth has big interest in getting ubuntu working out of the box for special script like yours
jordiif there are free fonts, it should be easy.
imbrandonok jordi i think i'm fixed up here
danilosaleka: finding that information is sometimes even hard for the team leader, since it might be scattered all over internet
jordijust on time, because we're done with the questions
imbrandon:)
jordiThanks everyone, and thanks danilo!
jordinext, Kubuntu!
ivoksthank you jordi and danilos
kappathanks, jordi and danilos!
daniloseveryone else, feel free to ping us whenever you've got questions :)
ivokswatch out, ping flood :)

Generated by irclog2html.pl 2.1 by Jeff Waugh - find it at freshmeat.net!