Editing MG/Translations

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
Some of the existing translations are not very well maintained and, so far, only a couple languages are supported, so keeping files up to date or adding new translations helps the [[MegaGlest]] community a great deal.
 
Some of the existing translations are not very well maintained and, so far, only a couple languages are supported, so keeping files up to date or adding new translations helps the [[MegaGlest]] community a great deal.
  
==Providing translations as a volunteer==
+
==How translations work==
MegaGlest's translations are managed on [http://transifex.com Transifex], a website allowing for easy software translation from within your web browser.
+
MegaGlest comes with several language files, a few for each supported language. These files always contain several lines which always take the same pattern:
 +
 
 +
KeyWord=This is some lengthy translation string.
 +
 
 +
These keywords, also dubbed 'translation keys', are referenced in the source code of the game. Depending on the language the user has chosen, when these keywords are met during execution of the game, the translation string which matches this keyword is taken from the language file and printed on screen.
 +
 
 +
The main game language is English, so when a developer adds a new translation key, s/he will also edit the english language variant of the corresponding translation file and place translation key and the English string in there.
 +
 
 +
The english variant of the main language file is called <tt>english.lng</tt>. The latest version of <tt>english.lng</tt> is [http://megaglest.svn.sourceforge.net/viewvc/megaglest/trunk/data/glest_game/data/lang/english.lng?revision=HEAD the one in trunk]. There could theoretically be newer ones in (other) [http://megaglest.svn.sourceforge.net/viewvc/megaglest/branches/ branches] of the subversion source code repository but that's unlikely and if this should ever happen the developers should be telling you.
 +
 
 +
==How to provide translations==
 +
MegaGlest's translations are now managed on [http://transifex.com Transifex], a website allowing for easy translation of a software such as MegaGlest, all from within your web browser.
 +
 
 +
 
  
 
===Getting started===
 
===Getting started===
Start by [https://www.transifex.com/signin/?next=/projects/p/megaglest/ signing up at Transifex] - that's a quick, one-time process. All accounts are free, you would only need to pay when you order an account upgrade or professional services (and you would actually have to opt-in to this, providing payment details etc.), but never as a translator. So just click on ''Sign up free''.
+
Start by [https://www.transifex.com/signin/?next=/projects/p/megaglest/ signing up at Transifex] - that's a quick, one-time process. All accounts are free, you only pay when you host a commercial translation with them, but never as a translator. Do click on ''Sign up free''.
  
 
Once you've entered your details, click on ''I am a translator'', then head over to the [https://www.transifex.com/projects/p/megaglest/ MegaGlest project on Transifex]. Over there, just click on the language you want to translate to. On the next screen, you select which '''''resource''''' to edit - these are the various language files there are in MegaGlest. Click on a resource to get a detail screen, then just push the '''''Translate now''''' button. Only the first time you do this, you will need to review and accept the contributor license.
 
Once you've entered your details, click on ''I am a translator'', then head over to the [https://www.transifex.com/projects/p/megaglest/ MegaGlest project on Transifex]. Over there, just click on the language you want to translate to. On the next screen, you select which '''''resource''''' to edit - these are the various language files there are in MegaGlest. Click on a resource to get a detail screen, then just push the '''''Translate now''''' button. Only the first time you do this, you will need to review and accept the contributor license.
Line 14: Line 27:
  
 
Later, when the MegaGlest developers add new translation keys, they will automatically show up on Transifex, so translation is now a continuous work. Of course, translations still matter most for releases, so we'll keep notifying you on the [https://lists.sourceforge.net/lists/listinfo/megaglest-translations translation mailing list] when it's time to get translations into shape. So be sure to subscribe, it makes [http://sourceforge.net/mailarchive/forum.php?forum_name=megaglest-translations really little traffic] .
 
Later, when the MegaGlest developers add new translation keys, they will automatically show up on Transifex, so translation is now a continuous work. Of course, translations still matter most for releases, so we'll keep notifying you on the [https://lists.sourceforge.net/lists/listinfo/megaglest-translations translation mailing list] when it's time to get translations into shape. So be sure to subscribe, it makes [http://sourceforge.net/mailarchive/forum.php?forum_name=megaglest-translations really little traffic] .
===Adding new languages===
 
To add support for an entirely new language to MegaGlest, or to add a resource which is not yet available for a given language, please review our [[MG/Translations/Processing translations|translation policies]], then request the new translation on Transifex. Should you not hear back within two days, please [http://megaglest.org/contact.html contact the MegaGlest team] and state which languages we should add for you to work on. We'll add them swiftly. Please do not ask us to add a translation unless you are actually willing to start contributing to it within a few days.
 
  
==Testing your translation==
 
It is now very easy to test translations submitted to Transifex on your computer. All you need is to download the latest beta release (those usually come with an installer and we usually make those available some time before a stable release) or, better yet, the latest [http://megaglest.org/development.html nightly snapshot] (those come without an installer, but as two archives which you just need to unpack). If you consider yourself a developer, you could also [http://megaglest.org/development.html build MegaGlest yourself] .
 
  
Once you have installed the current development version of MegaGlest, run it, then turn to the ''Options'' menu (or you can take a look at [http://s11.postimage.org/vrmhwb0tu/megaglest_transifex_integration.jpg this screenshot] of the options menu in 3.7.0 beta2). Click the ''Advanced Translation'' button (in the top right corner). This enables some Transifex options at the bottom of the screen. Enter your Transifex '''''username''''', '''''password''''' and the [http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes standard 2 character language code] for your translation. You should also be able to see this on Transifex while editing the translation: there should be a key saying ''ISO639-1'' with an English default string of ''en'' (on the left), with the translations' standard 2 character language code set on the right hand side. So, for example, if you are editing the German translation, this value would be ''de'' while for Chinese, it would be ''zh''.
+
===Testing your translation===
 +
It is now very easy to test translations submitted to Transifex on your computer. All you need is to download the latest beta release (those usually come with an installer and we usually make those available some time before a stable release) or, better yet, the latest [http://megaglest.org/development.html nightly snapshot] (those come without an installer, but as two archives which you just need to unpack). If you are a developer, you could also [http://megaglest.org/development.html build MegaGlest yourself] .
 +
 
 +
Once you have it, run it, then turn to the ''Options'' menu. Click the ''Advanced Translation'' button (in the top right corner). This enables some Transifex options at the bottom of the screen. Enter your Transifex '''''username''''', '''''password''''' and the [http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes standard 2 character language code] for your translation. You should also be able to see this on Transifex while editing the translation: there should be a key saying ''ISO639-1'' with an English default string of ''en'' (on the left), with the translations' standard 2 character language code set on the right hand side. So, for example, if you are editing the German translation, this value would be ''de'' while for Chinese, it would be ''zh''.
  
 
Once you entered this information, click the '''''Download''''' button to pull in your work from Transifex into MegaGlest for testing. Now do test, make corrections on the Transifex website, and repeat. Now be aware that these translations apply to all installed MegaGlest versions, and older versions you may have installed (such as the latest stable release) may not work well with the new translations you downloaded from Transifex. As such, when you're done testing, you should click the ''Delete language files'' button remove the files you pulled form Transifex. This way every version of MegaGlest will revert to its own original translations that existed before your changes.
 
Once you entered this information, click the '''''Download''''' button to pull in your work from Transifex into MegaGlest for testing. Now do test, make corrections on the Transifex website, and repeat. Now be aware that these translations apply to all installed MegaGlest versions, and older versions you may have installed (such as the latest stable release) may not work well with the new translations you downloaded from Transifex. As such, when you're done testing, you should click the ''Delete language files'' button remove the files you pulled form Transifex. This way every version of MegaGlest will revert to its own original translations that existed before your changes.
Line 29: Line 41:
 
  TranslationGetURLLanguage=de
 
  TranslationGetURLLanguage=de
 
Please be aware that '''storing your password in this file can be a security risk''', though. If you do, you must ensure that only you, not anyone else using your computer, or a different system user (apart of the administrative user), is able do read this file. On Linux, you would do so by running: chmod 600 ~/.megaglest/glestuser.ini
 
Please be aware that '''storing your password in this file can be a security risk''', though. If you do, you must ensure that only you, not anyone else using your computer, or a different system user (apart of the administrative user), is able do read this file. On Linux, you would do so by running: chmod 600 ~/.megaglest/glestuser.ini
'''Hint:''' To switch between translations anytime while running MegaGlest, just press '''''Ctrl-L'''''. This will show a pop-up menu where you can select the new language. As you click, the change applies immediately.
 
  
==How translations work under the hood==
 
MegaGlest comes with several language files, a few for each supported language. These files always contain several lines which always take the same pattern:
 
  
KeyWord=This is some lengthy translation string.
+
===Adding new languages===
 +
To add support for an entirely new language to MegaGlest, or to add a resource which is not yet available for a given language, please contact the [http://megaglest.org/contact.html MegaGlest team] and state which languages and resources (all?) we should be adding. We'll add them swiftly.
 +
 
 +
== Translating techtrees==
 +
'''Please note''': Techtree translations for the Megapack (MegaGlest's default techtree) are not currently accepted. You are welcome to translate any other techtrees, though.
  
These keywords, also dubbed 'translation keys', are referenced in the source code of the game. Depending on the language the user has chosen, when these keywords are met during execution of the game, the translation string which matches this keyword is taken from the language file and printed on screen.
+
Some techtree related information which displays in the graphical user interface, such as unit or structure names or unit/attack properties, can now (starting r3285) be translated, too. Here is how it works:
  
The main game language is English, so when a developer adds a new translation key, s/he will also edit the English language variant of the corresponding translation file and place both the translation key and the English string in there.
+
* For a given techtree (lets assume Megapack) create a subdirectory named ''lang'' within the ''megapack'' (techtree) directory, i.e. ''techtrees/megapack/lang''/ (skip if it already exists)
  
The English variant of the main language file is called <tt>english.lng</tt>. The latest version of <tt>english.lng</tt> is [http://megaglest.svn.sourceforge.net/viewvc/megaglest/trunk/data/glest_game/data/lang/english.lng?revision=HEAD the one in trunk]. There could theoretically be newer ones in (other) [http://megaglest.svn.sourceforge.net/viewvc/megaglest/branches/ branches] of the subversion source code repository but that's unlikely and if this should ever happen the developers should be telling you.
+
* In this new directory, create a new language file using this naming convention (skip if it already exists):<br /><tt>''techtree''_''language''.lng</tt>.<br />Example: <tt>megapack_german.lng</tt>
  
== Translating techtrees==
+
* Edit the file. Supported translatable items are currently: resource, unit and upgrade names. So In each language file add:<br /><tt>ResourceTypeName_''food''=Yummies</tt><br /><tt>UnitTypeName_''archer''=Stealth Minion</tt><br /><tt>UpgradeTypeName_''advanced_architecture''=Fancy Science</tt><br />Here, ''food'', ''archer'' and ''advanced_architecture'' are examples. You need to use the keywords this very techtree defines there. In game the discovered translated strings will display if the user is using a supported language, otherwise it defaults to original behavior.
Please refer to the separate page on [[MG/Translations/Techtrees|translating techtrees]].
 
[[Category:MG]]
 
[[Category:Translations]]
 
  
 
== Keep yourself in the loop==
 
== Keep yourself in the loop==

Please note that all contributions to MegaGlest are considered to be released under the Creative Commons Attribution Share Alike (see MegaGlest:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)