Difference between revisions of "Translation"
|Line 127:||Line 127:|
=== Submit the patch ===
=== Submit the patch ===
Submit the diff to trac, via the URL [http://svn.mythtv.org/trac/newticket?summary=
Submit the diff to trac, via the URL [http://svn.mythtv.org/trac/newticket?summary=PATCH i18n%20LANGUAGE%20translation&type=patch&version=Trunk Head&component=Translations http://svn.mythtv.org/trac/newticket] and use the following options (if they have not been set by clicking on the link) when submitting:
Revision as of 03:23, 8 September 2010
Some languages are unofficially maintained by teams or individuals, who are interested in keeping their language of choice up to date. While you are completely free to upload patches directly to MythTV without consulting the maintainer(s), you are encouraged to contact the maintainer(s) first, to join efforts on the translation as well as avoiding conflicting translation patches :)
If you feel like you're already maintaining a language or if you want to maintain a language, please add your contact information in the table below. If you want to help out maintaining a language, but don't want to do it alone, also feel free to leave your contact information in the table below, so other people would be able to contact you to create a team.
|Language||Contact person(s) and/or website||Team/individual could use some help?||Current status|
|Bulgarian (bg)||<Please fill in>||<Please fill in>||Trunk status|
|Catalan (ca)||None||Inactive, maintainers/contributors needed||Trunk status|
|Czech (cs)|| Website
Petr Srsen: "srsen75 TA seznam 0 cz"
Zdeněk Toman: "zdenyx TA gmail 0 com"
|<Please fill in>||Trunk status|
|Danish (da)|| Website
Kenni Lund: "kenni TA mythtv 0 dk"
Nikolaj Koch: "koch TA mythtv 0 dk"
|We're fine, but feedback is always highly appreciated.||Trunk status|
|Dutch (nl)|| Website
Jos Hoekstra: joshoekstra TA gmx 0 net
|Any help or coordinated effort is most welcome.||Trunk status|
|English (en_gb)|| Nick Morrott: "knowledgejunkie TA gmail 0 com"
Stuart Morgan: "email@example.com"
|British English != American English||Trunk status|
|English (en_us)||Nicolas Riendeau: "knight TA teksavvy 0 com"||Please let me know if you find any problem||Trunk status|
|Estonian (et)||Marko Punnar: <mythtv [@] aretaja [dot] org>||Help is always welcome.||Trunk status|
|Finnish (fi)||Ilkka Tengvall: "ikke TA iki 0 fi"||If you want to help with the Finnish translation, please contact me. It's easier to get it done when you're not alone :)||Trunk status|
|French (fr)|| Website
Nicolas Riendeau: "knight TA teksavvy 0 com"
Gilles: "choteau.gilles TA orange 0 fr"
|Please let us know if you find any problem||Trunk status|
|German (de)||None||Stefan Frank used to do it, but he doesn't have time anymore. Maintainers/contributors needed||Trunk status|
|Greek (el)||Yianni Vidalis: "yiannividalis TA hotmail 0 com"||<Please fill in>||Trunk status|
|Hebrew (he)||Ido Roseman: "ido [_] roseman [at} yahoo [dot] com"||<Please fill in>||Trunk status|
|Hungarian (hu)||Bánó Gábor: "banogabor TA prognosys 0 homeip 0 net"||<Please fill in>||Trunk status|
|Icelandic (is)||None||Inactive, maintainers/contributors needed||Trunk status|
|Italian (it)||<Please fill in>||<Please fill in>||Trunk status|
|Japanese (ja)||None||Inactive, maintainers/contributors needed||Trunk status|
|Norwegian Bokmål (nb)||Rune Evjen: "rune.evjen TA gmail 0 com"||Any help or coordinated effort is most welcome.||Trunk status|
|Polish (pl)||<Please fill in>||<Please fill in>||Trunk status|
|Portuguese (pt)||None||Inactive, maintainers/contributors needed||Trunk status|
|Portuguese, Brazilian (pt_br)||Klaubert Herr: klaubert [_at_ ] gmail [d0t ] com||<Please fill in>||Trunk status|
|Romanian (ro)||Marian Boricean: marian [@] dantux [d0t] com||Help is always welcome.||Trunk status|
|Russian (ru)|| Website
Alex Vasilyev: "sandybigboy[at]gmail.com"
Alexander Khvostuyk: "axboct[at]gmail.com"
|Comments and suggestions, as well as assistance is welcomed.||Trunk status|
|Slovene (sl)||None||Inactive, maintainers/contributors needed||Trunk status|
|Spanish (es)||<Please fill in>||<Please fill in>||Trunk status|
|Swedish (sv)|| Jonatan: "mythtv TA comhem 0 se"
Roger Mårtensson: "roger.martensson TA gmail 0 com"
|<Please fill in>||Trunk status|
|Turkish (tr)||None||Inactive, maintainers/contributors needed||Trunk status|
Throughout this page, German (de) translation files will be used as examples.
Checkout the latest SVN version
Checkout the latest SVN version by running:
Go to the
mythtv/i18n directory. All remaining steps will be done in this directory.
Update translation files
To update the translation files with the latest strings, run the following command:
lupdate -locations absolute translate.pro
This will ensure that all translatable strings in the source code are included in the
.ts file, which we will work on later.
On a sidenote, lupdate also takes an argument called
-no-obsolete, which removes all obsolete strings. This might be tempting to do, but ONLY do it when you're COMPLETELY done with the translation (as in 100%). Let's say that a bunch of source strings are fixed in the MythTV source code; Spelling errors, punctuation, whitespace cleanup, etc. Overall the string is the same, only a character or two have been changed. This change will cause the old previously translated string to become obsolete, and the modified string to become a new string. If you still have the obsolete strings, linguist will suggest the old string when you're translating the new string, allowing you to just press Crtl+[1-5] to fill in the old translation. If you've deleted obsoletes strings, you'll have to translate the whole sentence once again. Lots of time can typically be saved by keeping obsolete strings until you're done with all translations.
Do the translation
Translate .ts file, e.g. mythfrontend_de.ts (for German)
You can use any editor for this, but it is most convenient to use the tool Linguist included in Qt (on Debian, this is found in the qt4-dev-tools package).
Compile and test translation
Compile .ts files into .qm files by running:
The generated .qm file of your language can now be copied into a MythTV installation for testing:
cp mythfrontend_de.qm /usr/share/mythtv/i18n/
(destination path depends on your MythTV installation)
After restarting the frontend, you can test your translations. If all is OK you can proceed.
If creating new files, then you first need to add them to the local svn repository:
cd ../.. svn add mythtv/i18n/mythfrontend_de.ts
You can now create a patch for your translation:
svn diff mythtv/i18n/mythfrontend_de.ts > german_mythtv_translation.diff
If you translate several files (eg. MythTV and some plugins), please merge all of the translations into one patch, instead of creating several patches.
To do this, just put all files on the same line when creating the patch, for example:
cd ../.. svn diff mythtv/i18n/mythfrontend_de.ts mythplugins/mythvideo/i18n/mythvideo_de.ts > german_translation.diff
Submit the patch
Submit the diff to trac, via the URL i18n&93;%20LANGUAGE%20translation&type=patch&version=Trunk Head&component=Translations http://svn.mythtv.org/trac/newticket and use the following options (if they have not been set by clicking on the link) when submitting:
- Summary: [PATCH i18n] $LANGUAGE translation Type: patch Version: Trunk Head Component: Translations - Leave the rest of the fields (milestone, priority, severity) untouched and remember to replace $LANGUAGE with your language :)
Translate the plugins
To translate the plugins, back out of the mythtv directory, enter mythplugins, and each plugin's i18n directory, eg:
cd ../.. cd mythplugins/mythvideo/i18n
and repeat the above steps (beginning with "Update translation files").
Checking translation progress
Please use the MythTV Translation Status page to check on the progress of translations. The status pages are regularly updated against trunk and give details of the translation status of mythfrontend and all plugins for all currently supported languages.
Translators mailing list
The official MythTV translators mailing list can be found at Translators Mailing List