Translations, Damned Lies and Transifex
Hey all. I'm working on a system very closely related to Damned lies, so I believe I should update you guys on my work, and get your feedback (positive or negative, both accepted!) for what I'm doing. I'm sorry I delayed to do this, but the picture wasn't really clear until now. For a while now, along with contributing to the Greek GNOME team, I've been working on Fedora's L10n infrastructure. We're moving it from RH to Fedora systems, so some work was needed to be done. Firstly, we needed a new web frontend for statistics. Damned Lies (DL), and the whole GNOME i18n infrastructure rocks, so it was a no-brainer to base off these approaches. We quickly got a system up and running using DL: http://translate.fedoraproject.org/ DL was a great piece of software and easily customizable -- a huge thanks to Danilo and the rest of the folks who work on it. The templates are totally changed, but I'm trying my best to push any update on the python files upstream because there's no reason to maintain a fork/patchset for them. So the problem is that Fedora Infrastructure supports all CVS, SVN, Mercurial and git version control systems (VCS) for project hosting and also, some Fedora-related modules are hosted out of the `*fedoraproject.org` space (*fpo). But translators are only given access on `cvs.fpo`, so they can't commit files to these remote systems. The translator shouldn't care where the module is hosted, he just wants to send a PO file in. Through GSoC 2007, I begun working on a system (transifex) that will give them access to submit PO files to a remote VCS. Information about it (together with an INSTALL file) can be found at: https://hosted.fedoraproject.org/projects/transifex The idea is that transifex will act as a proxy/mediator for translation commits. A translator will login to the transifex instance running on a host like `translate.fpo`, choose a module, a PO file to upload, and a destination file and click "submit". The system will commit the file for him. Underneath this is achieved by having the VCS admin create a user (eg. fedora-transifex) with a dedicated SSH key, and give it write access to the specific modules accepting translations. The transifex admin will then hook the repo and module up with the system. Each commit will be done by the "fedora-transifex" user, and the actual user's details (name, surname, email, fedora username) will be written in the commit message and Changelog file. Transifex supports filaname filters, so even if a module maintainer can't add ACLs to the repo, he can define them on the transifex side; for example, .*/po/(LINGUAS|Changelog|.*po$). The software is written in Turbogears and its architecture is similar to DL's. Basically it's an add-on to the statistics, providing a web form for submission. I am trying to retain compatibility with DL URLs so that if some day we decide to port DL to Turbogears, URLs won't be changed. Pushing code from Transifex to upstream DL is even harder because the model has changed but again, I'm trying my best to cope with everything. I believe the whole project opens up some exciting opportunities for translations. Small projects hosted outside of big ones now have a chance to get some attention from translation communities without the requirement to relocate their code. And also, two communities can collaborate better by providing corrections to each other's modules. In the end, I see probably some mechanism to approve translation landing from language maintainers or something, but this is a bit in the future for now. :) Oh, BTW, I'll be at GUADEC and will be glad to discuss it with anyone also attending. Here's my proposal for a lightning talk, not yet accepted though. http://www.guadec.org/node/786 So, this is it. Any ideas, suggestions, comments, are welcome. Sorry for the long email. -d -- Dimitris Glezos Jabber ID: [EMAIL PROTECTED], GPG: 0xA5A04C3B http://dimitris.glezos.com/ "He who gives up functionality for ease of use loses both and deserves neither." (Anonymous) -- ___ gnome-i18n mailing list gnome-i18n@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-i18n
Re: Status page: reporting errors
On 03/07/2007, at 2:10 AM, Claude Paroz wrote: Le lundi 02 juillet 2007 à 14:26 +0930, Clytie Siddall a écrit : Hi everyone :) The Gnumeric module on our status page has a whole slew of alert icons for both files, about missing files in POTFILES, not being able to access the current POT file, and (relevant to the translator) the warning that our language is not present in ALL_LINGUAS for this module. However, I checked. "vi" _is_ present and correct in ALL_LINGUAS in the configure.in file. Do I report this error against Gnumeric, or against Damned Lies? Hi Clytie, The problem here is that Damned Lies doesn't recompute the .po file if it hasn't changed. So the errors aren't checked either. This is a current flaw in Damned Lies... contributors are welcome :-) Thanks for explaining, Claude. :) I wish I could help, but I don't have that capacity any more. Luckily, the English-Vietnamese switch still works in my head. ;) from Clytie (vi-VN, Vietnamese free-software translation team / nhóm Việt hóa phần mềm tự do) http://groups-beta.google.com/group/vi-VN PGP.sig Description: This is a digitally signed message part ___ gnome-i18n mailing list gnome-i18n@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-i18n
Re: Timestamps for PO file at l10n.gnome.org
Le mardi 03 juillet 2007 à 00:04 +0100, Simos Xenitellis a écrit : > Hi All, > As far as I know, damned-lies use intltool-update to update the po files > and place them at http://l10n.gnome.org/ > intltool-update updates the header and specifically the fields > > "POT-Creation-Date" > "PO-Revision-Date" > > However, I do not see this in several examples, such as > http://l10n.gnome.org/module/gnome-media > > Typical dates look like > "POT-Creation-Date: 2007-01-02 03:46+\n" > "PO-Revision-Date: 2006-07-02 23:07+0200\n" > > We tend to advise new translators to use the PO files > from the statistic pages, therefore it's important to have > them updated. > > Does the update fail or am I missing something? Hi Simos, If the POT file doesn't change, the po files aren't recomputed. It seems that modules like gnome-media haven't received any string change from some time. Regards, Claude ___ gnome-i18n mailing list gnome-i18n@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-i18n
Re: Status page: reporting errors
Le mardi 03 juillet 2007 à 23:07 +0930, Clytie Siddall a écrit : > On 03/07/2007, at 2:10 AM, Claude Paroz wrote: > > > Le lundi 02 juillet 2007 à 14:26 +0930, Clytie Siddall a écrit : > >> Hi everyone :) > >> > >> The Gnumeric module on our status page has a whole slew of alert > >> icons for both files, about missing files in POTFILES, not being able > >> to access the current POT file, and (relevant to the translator) the > >> warning that our language is not present in ALL_LINGUAS for this > >> module. > >> > >> However, I checked. "vi" _is_ present and correct in ALL_LINGUAS in > >> the configure.in file. Do I report this error against Gnumeric, or > >> against Damned Lies? > > > > Hi Clytie, > > > > The problem here is that Damned Lies doesn't recompute the .po file if > > it hasn't changed. So the errors aren't checked either. > > > > This is a current flaw in Damned Lies... contributors are welcome :-) > > > Thanks for explaining, Claude. :) Just for Clytie :-) I tried to make Damned Lies to always recompute po file when it contains errors. Let's see if tomorrow, after running the daily update script, the warnings will have disappeared. Gnumeric was a special problem, and I extended the search for the ALL_LINGUAS variable in the configure.in file (non standard). Claude ___ gnome-i18n mailing list gnome-i18n@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-i18n
Re: Translations, Damned Lies and Transifex
Le mardi 03 juillet 2007 à 14:25 +0100, Dimitris Glezos a écrit : > Hey all. > > I'm working on a system very closely related to Damned lies, so I believe I > should update you guys on my work, and get your feedback (positive or > negative, > both accepted!) for what I'm doing. I'm sorry I delayed to do this, but the > picture wasn't really clear until now. > > For a while now, along with contributing to the Greek GNOME team, I've been > working on Fedora's L10n infrastructure. We're moving it from RH to Fedora > systems, so some work was needed to be done. > > Firstly, we needed a new web frontend for statistics. Damned Lies (DL), and > the > whole GNOME i18n infrastructure rocks, so it was a no-brainer to base off > these > approaches. We quickly got a system up and running using DL: > > http://translate.fedoraproject.org/ > > DL was a great piece of software and easily customizable -- a huge thanks to > Danilo and the rest of the folks who work on it. The templates are totally > changed, but I'm trying my best to push any update on the python files > upstream > because there's no reason to maintain a fork/patchset for them. Hi Dimitris, I want to tell you that I'm *really* happy you chose to reutilize an existing app. It's sometimes tempting to recode from scratch, but in the end of the day, reutilizing and improving existent code is often the most effective way of making the most of existing resources, creating a win-win deal. This is the power of FOSS! > So the problem is that Fedora Infrastructure supports all CVS, SVN, Mercurial > and git version control systems (VCS) for project hosting and also, some > Fedora-related modules are hosted out of the `*fedoraproject.org` space > (*fpo). > But translators are only given access on `cvs.fpo`, so they can't commit files > to these remote systems. > > The translator shouldn't care where the module is hosted, he just wants to > send > a PO file in. Through GSoC 2007, I begun working on a system (transifex) that > will give them access to submit PO files to a remote VCS. Information about it > (together with an INSTALL file) can be found at: > > https://hosted.fedoraproject.org/projects/transifex > > The idea is that transifex will act as a proxy/mediator for translation > commits. > A translator will login to the transifex instance running on a host like > `translate.fpo`, choose a module, a PO file to upload, and a destination file > and click "submit". The system will commit the file for him. Underneath this > is > achieved by having the VCS admin create a user (eg. fedora-transifex) with a > dedicated SSH key, and give it write access to the specific modules accepting > translations. The transifex admin will then hook the repo and module up with > the > system. Each commit will be done by the "fedora-transifex" user, and the > actual > user's details (name, surname, email, fedora username) will be written in the > commit message and Changelog file. Transifex supports filaname filters, so > even > if a module maintainer can't add ACLs to the repo, he can define them on the > transifex side; for example, .*/po/(LINGUAS|Changelog|.*po$). This is an excellent idea, and I hope it will eventually reach and inspire a future Translation Project infrastructure. > The software is written in Turbogears and its architecture is similar to DL's. > Basically it's an add-on to the statistics, providing a web form for > submission. > I am trying to retain compatibility with DL URLs so that if some day we decide > to port DL to Turbogears, URLs won't be changed. Pushing code from Transifex > to > upstream DL is even harder because the model has changed but again, I'm trying > my best to cope with everything. > > I believe the whole project opens up some exciting opportunities for > translations. Small projects hosted outside of big ones now have a chance to > get > some attention from translation communities without the requirement to > relocate > their code. And also, two communities can collaborate better by providing > corrections to each other's modules. In the end, I see probably some mechanism > to approve translation landing from language maintainers or something, but > this > is a bit in the future for now. :) Do you plan to add some workflow to Transifex? I find so useful the tool we use among French translators where we know exactly when someone is working on a translation, reviewing or committing it. http://gnomefr.traduc.org/suivi > Oh, BTW, I'll be at GUADEC and will be glad to discuss it with anyone also > attending. Here's my proposal for a lightning talk, not yet accepted though. > > http://www.guadec.org/node/786 Sorry, won't be there :-( > So, this is it. Any ideas, suggestions, comments, are welcome. Sorry for the > long email. Thanks, keep us informed. Claude ___ gnome-i18n mailing list gnome-i18n@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-i18n
updated translation in Gnome_2.20_ko
Dear Mr. Changwoo Ryu Hello Mr. Ryu, my name is Eun-Ju Kim and I am working as a Korean translator in Red Hat. Actually I've sent emails several times few weeks ago to participate in GNOME translation work but I couldn't get any reply from you yet. When you've got this mail please please reply me. I've attached updated translation of glib.ko.po in Gnome 2.20 that I've completed. Please have a look and let me know if there are any problems or things I have to concern. I'll send another updated translation in Gnome 2.20 as soon as I get reply from you. I look forward to hearing from you soon. Thanks Best Regards, Eun-Ju Kim Technical Translator Red Hat APAC Level 2, 5 Gardner Close, Milton QLD. 4064 Australia Phone: +61 7 3514 8104 Mail: [EMAIL PROTECTED] # translation of glib.HEAD.po to Korean # glib # # Young-Ho Cha <[EMAIL PROTECTED]>, 2002. # Changwoo Ryu <[EMAIL PROTECTED]>, 2002, 2004-2006. # Eunju Kim <[EMAIL PROTECTED]>, 2007. msgid "" msgstr "" "Project-Id-Version: glib.HEAD\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-06-29 18:50+0100\n" "PO-Revision-Date: 2007-07-03 16:33+1000\n" "Last-Translator: Eunju Kim <[EMAIL PROTECTED]>\n" "Language-Team: Korean <[EMAIL PROTECTED]>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #: ../glib/gbookmarkfile.c:705 ../glib/gbookmarkfile.c:782 #: ../glib/gbookmarkfile.c:861 ../glib/gbookmarkfile.c:908 #, c-format msgid "Unexpected attribute '%s' for element '%s'" msgstr "ììì¹ ëª»íê² '%2$s' ì리먼í¸ì '%1$s' ì í¸ë¦¬ë·°í¸ê° ììµëë¤" #: ../glib/gbookmarkfile.c:716 ../glib/gbookmarkfile.c:793 #: ../glib/gbookmarkfile.c:803 ../glib/gbookmarkfile.c:919 #, c-format msgid "Attribute '%s' of element '%s' not found" msgstr "'%2$s' ì리먼í¸ì '%1$s' ì í¸ë¦¬ë·°í¸ê° ììµëë¤" #: ../glib/gbookmarkfile.c:1092 ../glib/gbookmarkfile.c:1157 #: ../glib/gbookmarkfile.c:1221 ../glib/gbookmarkfile.c:1231 #, c-format msgid "Unexpected tag '%s', tag '%s' expected" msgstr "ììì¹ ëª»íê² '%s' íê·¸ê° ììµëë¤. '%s' íê·¸ê° ìì´ì¼ í©ëë¤" #: ../glib/gbookmarkfile.c:1117 ../glib/gbookmarkfile.c:1131 #: ../glib/gbookmarkfile.c:1199 ../glib/gbookmarkfile.c:1251 #, c-format msgid "Unexpected tag '%s' inside '%s'" msgstr "ììì¹ ëª»íê² '%2$s' ìì '%1$s' íê·¸ê° ììµëë¤" #: ../glib/gbookmarkfile.c:1781 msgid "No valid bookmark file found in data dirs" msgstr "ë°ì´í° ëë í 리ì ì¬ë°ë¥¸ ë¶ë§í¬ íì¼ì´ ììµëë¤" #: ../glib/gbookmarkfile.c:1982 #, c-format msgid "A bookmark for URI '%s' already exists" msgstr "'%s' URLì ëí ë¶ë§í¬ê° ì´ë¯¸ ììµëë¤" #: ../glib/gbookmarkfile.c:2028 ../glib/gbookmarkfile.c:2185 #: ../glib/gbookmarkfile.c:2270 ../glib/gbookmarkfile.c:2350 #: ../glib/gbookmarkfile.c:2435 ../glib/gbookmarkfile.c:2518 #: ../glib/gbookmarkfile.c:2596 ../glib/gbookmarkfile.c:2675 #: ../glib/gbookmarkfile.c:2717 ../glib/gbookmarkfile.c:2814 #: ../glib/gbookmarkfile.c:2940 ../glib/gbookmarkfile.c:3130 #: ../glib/gbookmarkfile.c:3206 ../glib/gbookmarkfile.c:3371 #: ../glib/gbookmarkfile.c:3460 ../glib/gbookmarkfile.c:3550 #: ../glib/gbookmarkfile.c:3677 #, c-format msgid "No bookmark found for URI '%s'" msgstr "'%s' URLì ëí ë¶ë§í¬ê° ììµëë¤" #: ../glib/gbookmarkfile.c:2359 #, c-format msgid "No MIME type defined in the bookmark for URI '%s'" msgstr "'%s' URLì ëí ë¶ë§í¬ì MIME íì ì´ ììµëë¤" #: ../glib/gbookmarkfile.c:2444 #, c-format msgid "No private flag has been defined in bookmark for URI '%s'" msgstr "'%s' URLì ëí ë¶ë§í¬ì ê°ì¸ íëê·¸ê° ììµëë¤" #: ../glib/gbookmarkfile.c:2823 #, c-format msgid "No groups set in bookmark for URI '%s'" msgstr "'%s' URLì ëí ë¶ë§í¬ì ê·¸ë£¹ì´ ì¤ì ëì´ ìì§ ììµëë¤" #: ../glib/gbookmarkfile.c:3224 ../glib/gbookmarkfile.c:3381 #, c-format msgid "No application with name '%s' registered a bookmark for '%s'" msgstr "ì´ë¦ì´ '%s'ì¸ ì´ë¤ íë¡ê·¸ë¨ë '%s'ì ëí ë¶ë§í¬ë¥¼ ë±ë¡íì§ ìììµëë¤" #: ../glib/gbookmarkfile.c:3404 #, c-format msgid "Failed to expand exec line '%s' with URI '%s'" msgstr "URI '%s'ì(를) ì¬ì©íì¬ '%s' ì¤íì¤ íì¥í기 ì¤í¨" #: ../glib/gconvert.c:424 ../glib/gconvert.c:502 ../glib/giochannel.c:1148 #, c-format msgid "Conversion from character set '%s' to '%s' is not supported" msgstr "문ìì '%s'ìì '%s'(ì¼)ë¡ ë³íì ì§ìëì§ ììµëë¤" #: ../glib/gconvert.c:428 ../glib/gconvert.c:506 #, c-format msgid "Could not open converter from '%s' to '%s'" msgstr "'%s'ìì '%s'(ì¼)ë¡ ë³ííë ë³í기를 ì´ ì ììµëë¤" #: ../glib/gconvert.c:622 ../glib/gconvert.c:1011 ../glib/giochannel.c:1320 #: ../glib/giochannel.c:1362 ../glib/giochannel.c:2204 ../glib/gutf8.c:950 #: ../glib/gutf8.c:1399 msgid "Invalid byte sequence in conversion input" msgstr "ë³í ì ë ¥ìì ì못ë ë°ì´í¸
Re: Status page: reporting errors
On 04/07/2007, at 6:08 AM, Claude Paroz wrote: Le mardi 03 juillet 2007 à 23:07 +0930, Clytie Siddall a écrit : On 03/07/2007, at 2:10 AM, Claude Paroz wrote: Le lundi 02 juillet 2007 à 14:26 +0930, Clytie Siddall a écrit : Hi everyone :) The Gnumeric module on our status page has a whole slew of alert icons for both files, about missing files in POTFILES, not being able to access the current POT file, and (relevant to the translator) the warning that our language is not present in ALL_LINGUAS for this module. However, I checked. "vi" _is_ present and correct in ALL_LINGUAS in the configure.in file. Do I report this error against Gnumeric, or against Damned Lies? Hi Clytie, The problem here is that Damned Lies doesn't recompute the .po file if it hasn't changed. So the errors aren't checked either. This is a current flaw in Damned Lies... contributors are welcome :-) Thanks for explaining, Claude. :) Just for Clytie :-) :)) I tried to make Damned Lies to always recompute po file when it contains errors. Let's see if tomorrow, after running the daily update script, the warnings will have disappeared. Gnumeric was a special problem, and I extended the search for the ALL_LINGUAS variable in the configure.in file (non standard). Thankyou very much! The warnings about "vi" not being in ALL_LINGUAS have now disappeared. The one about not being able to find the POT for gnumeric-functions is still there, but that translation didn't need updating, and in any case I don't know if there's anything I can do about that type of error. Thanks for the help, Claude. :) from Clytie (vi-VN, Vietnamese free-software translation team / nhóm Việt hóa phần mềm tự do) http://groups-beta.google.com/group/vi-VN PGP.sig Description: This is a digitally signed message part ___ gnome-i18n mailing list gnome-i18n@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-i18n
Re: updated translation in Gnome_2.20_ko
On 03/07/2007, at 4:47 PM, Eun Ju Kim wrote: Dear Mr. Changwoo Ryu Hello Mr. Ryu, my name is Eun-Ju Kim and I am working as a Korean translator in Red Hat. Actually I've sent emails several times few weeks ago to participate in GNOME translation work but I couldn't get any reply from you yet. When you've got this mail please please reply me. ... I am sure you will get your reply from the Korean language team at GNOME. Best Regards, Eun-Ju Kim Technical Translator Red Hat APAC Level 2, 5 Gardner Close, Milton QLD. 4064 Australia Phone: +61 7 3514 8104 Mail: [EMAIL PROTECTED] I'm writing this to welcome another Australian to GNOME! I live in Renmark, South Australia. Oso oseyo, Eun-Ju. :) from Clytie (vi-VN, Vietnamese free-software translation team / nhóm Việt hóa phần mềm tự do) http://groups-beta.google.com/group/vi-VN PGP.sig Description: This is a digitally signed message part ___ gnome-i18n mailing list gnome-i18n@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-i18n