Difference between revisions of "Language Translation"

From Mumble Wiki
Jump to: navigation, search
(replace with howto for transifex)
Line 1: Line 1:
Mumble currently (Oct. 2012) supports 17 different languages. As more people get to know and use Mumble, versions in their native languages become more and more important.
+
As of March 2014 Mumble [https://www.transifex.com/projects/p/mumble/ supports 18 different languages]. As more people get to know and use Mumble, versions in their native languages become more and more important.
  
 
Translating is one way to [[Contributing|contribute]] to the Mumble project, and we’re thankful for any help!
 
Translating is one way to [[Contributing|contribute]] to the Mumble project, and we’re thankful for any help!
  
== Updating or Adding a Translation ==
+
Since we moved from a manual process to the hosted Transifex in 2014 the process of translating has become a lot easier.
If you want to help extend an existing translation or create one for a language we do not support yet read this guide on how to update the language files for Mumble.
 
  
You can find a list of existing translations and their status [[Language_Translation_State|here]].
+
The editor is usable with any standard webbrowser:<br />
 +
[[File:Transifex_working_ui.png|400px]]
  
==What You Should Know==
 
If you are planning on translating to a language, please make sure and accurately translate it completely, and when it is added to Mumble, run Mumble and check over all the text, ensuring that it is accurately and properly translated, and that there is no text overlapping/incorrectly formatted. If it has any of these problems then revise the text and resubmit it. However, please at least double check the language ''before'' submitting it.
 
  
==Getting Started==
+
==Translation process==
If you are running Windows then go [http://mumble.info/linguist/ here]. Download '''linguist.7z''' and extract it using [http://www.7-zip.org/ 7-zip]. Put the '''linguist.exe''' it in your '''C:\Program Files (x86)\Mumble''' directory. Make sure you run the latest developer snapshot available from [http://mumble.sourceforge.net/ our page].
+
Although there is an adequately high quality requirement for release-ready translations, we appreciate any contributions. If you want to make sure a language ships you will have to become a coordinator, which is probably a bit more time intensive than just translating strings as you will have to make sure translations are consistent in their entirety, and that they meet a certain quality level. You do not need ANY coding skills in order to translate Mumble however, just time and patience.
  
If you are running Linux you will need the Qt Development kit (you need the Qt Linguist program that comes with it). You can find it [https://qt-project.org/downloads here]. You can manually compile it but this is much faster.
+
In order to package a translation in a stable release we require a trusted translator (which you could become) that translated/reviewed all translations of that language. We appreciate any translation contributions from everyone but require this additional review step to make sure no bad manner or wrong translations go into one of our stable releases.
  
It is also suggested that you peruse [http://doc.qt.digia.com/4.7/linguist-translators.html this guide] to Qt Linguist before continuing with this guide. Please note if you are using Linux you must adapt this guide to all equivalent Linux related commands and procedures.
+
==Getting an Account on Transifex==
 +
If you do not have a Transifex account yet you need to [https://www.transifex.com/signup/contributor/ create a contributor account].
  
You will now need the Mumble ts translation files (e.g. '''mumble_en.ts''') extracted from '''linguist.7z'''. Remember that these files will change as new versions of Mumble are released. Make sure to always use the latest '''linguist.7z''' (alternatively you can get the newest translation files from [https://github.com/mumble-voip/mumble/tree/master/src/mumble our repository]).
+
[[File:Transifex_register.png|300px]]
  
Launch the '''linguist.exe''' you placed in '''C:\Program Files (x86)\Mumble''' by double clicking it (we recommend making a shortcut on your Desktop to Qt Linguist to speed up the process). Now click '''File -> Open...''' and select the ts file you want to modify:
+
You will receive an email with an account activation link. After account activation, log in, and open [https://www.transifex.com/projects/p/mumble/ the Transifex Mumble project page at https://www.transifex.com/projects/p/mumble/].
  
[[File:Qtlinguist_open_translation_files.png|500px]]
+
If the language you want to translate into is already listed you will [[#Translating|want to join that translation team]]. If your desired language is not listed yet you can [[#Requesting_a_new_language|request a new language]] as well.<br />
 +
[[File:Mumble_project.png|300px]]
  
If you want to translate to a new language open '''mumble_en.ts''' instead.
+
==Translating==
 +
Click on the language you want to update/improve, then on "Join team" in order to be able to submit translations:<br />
 +
[[File:Transifex_join_button.png]]
  
For new languages a target language selection dialog should pop up:<br />
+
Confirm the popup:<br />
[[File:Qtlinguist_settings_for_ts_file.png]]
+
[[File:Popup_join_language_team.png|300px]]
  
If not open it by clicking on '''Edit -> Translation File Settings...'''. In the '''Target language''' box make sure the language you are translating to is selected.
+
You get a confirmation message:<br />
 +
[[File:Transifex_team_joined.png]]
  
 +
Now you can click on the entry "mumble_en.ts":<br />
 +
[[File:Transifex_open_lang_popup.png]]
  
[[File:Linguist-navigation-buttons.png]]
+
Then click on "Translate now" to start your work:<br />
 +
[[File:Transifex_translation_popup.png|300px]]
  
You can use Linguists navigation buttons to jump to unfinished translations and mark them as translated once you are done.
+
You may want to continue with the [[#anchor_ui|Introduction to the Transifex user interface]].
  
There are various mechanisms that aid you in the translations and these are explained in the Qt Linguist [http://doc.qt.digia.com/4.7/linguist-translators.html guide].
+
==Requesting a new language==
 +
You don't need to do the complete translation; just do what you can. Once you started a new language others can help to extend and finish it.
  
For example, if you open mumble_de.ts, you will see this:<br />
+
Click on "Request language" and select your desired language, for example Esperanto:<br />
[[File:Qtlinguist opened file.png|500px]]
+
[[File:Mumble_request_esperanto.png|300px]]
  
When you save the file for a new translation make sure to name it in the language you are translating to. For instance if you were translating to Russian you would save the file as "mumble_ru.ts". Otherwise just overwrite the existing file.
+
Once the language has been added you can [[#Translating|start translating]].
  
When you save the file for an existing translation make sure to change the file type to '''"Qt translation source (latest format) (*.ts)"''' and overwrite the existing file:<br />
 
[[File:Qtlinguist save as ts.png|500px]]
 
  
 +
==<span id="anchor_ui">Working With The Transifex User Interface</span>==
 +
This is your User Interface:<br />
 +
[[File:Transifex_working_ui.png|500px]]
  
Remember, translations a slow, precise work and require much translation effort. You do not need ANY coding skills in order to translate Mumble however, just time and patience. Take at least a couple of days to make sure you have accurately translated each section. You can periodically save it and come back to it of course. If you come to a word or phrase that cannot be accurately translated, please leave it in the default English language, if an entire entry cannot be translated correctly, just leave that particular entry blank.  When you are done with the entire translation, click File -> Save.
+
Transifex [http://support.transifex.com/customer/portal/articles/972120-introduction-to-the-web-editor provides a good documentation for the user interface].
  
==Testing The Results==
+
* You can change your UI language in the bottem left corner.
The language file can now be tested. Open your language file in Linguist and do '''File -> Release As...''' then save it to your Desktop. You should now have mumble_*.qm (where * is the abbreviation of the language you are translating, for instance if it was Polish you were translating to it would be mumble_pl.qm). Go to your Mumble folder and put the mumble_*.qm file inside of it. Now start Mumble and make sure that your language is set for "System default" in the user interface section of the Mumble configuration. Windows should also be set to use the language you are translating. The language should be displayed in Mumble when you start/restart Mumble.
+
* [http://support.transifex.com/customer/portal/articles/1021138-keyboard-shortcuts Keyboard Shortcuts]
  
==Submitting The File==
+
==Testing The Results (intended for develeopers only)==
Submit the file that you translated (mumble_*.ts) [http://sourceforge.net/tracker/?group_id=147372&atid=768007 here]. Archive your ts file (e.g. zip it) and attach it to the post. On the title put <language you have translated> Translation. The Mumble developers will take your translation file and add it to Mumble. Remember, do ''not'' submit the file as a compiled .qm file, as the Mumble developers cannot properly use this type of file.
+
To test the resulting translation click on the entry "mumble_en.ts" and then "Download for use" in the popup:<br />
 +
[[File:Popup_download_ts_file.png|300px]]
  
==Installer translations==
+
In order for the Mumble client to use the translations the ts file will have to be converted to a qm file. Open the ts file you downloaded with Qt Linguist, and then “Release as” to save a qm file, naming it mumble_<lang-shorthand>.qm.
With the guide above you can translate the client itself. For the windows platform mumble has an installer which has to be independently translated. For information on how to do this see [[Windows installers translations]].
 
  
==Becoming Part of the Project==
+
Go to your Mumble folder and put the mumble_*.qm file inside of it. Now start Mumble and make sure that your language is set in the user interface section of the Mumble configuration. The language should be displayed in Mumble after you restart the client.
If you would like to be a regular translating member of the Mumble project, please apply to be a translator here:
 
  
https://lists.sourceforge.net/mailman/listinfo/mumble-translations
+
==Installer translations==
 
+
With the guide above you can translate the client itself. For the windows platform mumble has an installer which has to be independently translated. Unfortunately, because of technical reasons this is currently a separate process. For information on how to translate the installer see [[Windows installers translations]].
==Integrating new translations==
 
* Place mumble_*.ts file in '''src/mumble/''':
 
* Add file to '''TRANSLATIONS''' in '''src/mumble/mumble.pro'''
 
* If available add Qt translation to '''QT_TRANSLATION_FILES_SRC''' in '''src/mumble/mumble.pro'''
 
* If available add Qt translation to '''mumble_qt.qrc'''
 
* Add file to resources in '''mumble.qrc'''
 
 
 
==Updating translation templates==
 
 
 
We do this regularly so unless you are adding new strings to mumble and want to translate them right away there is no need to run this yourself.
 
  
To update the .ts translation files we use:
 
  
lupdate -no-ui-lines -disable-heuristic similartext -locations relative -no-obsolete mumble.pro
 
 
 
[[Category:Contribution]]
 
[[Category:Contribution]]
 
[[Category:Language]]
 
[[Category:Language]]

Revision as of 17:08, 2 March 2014

As of March 2014 Mumble supports 18 different languages. As more people get to know and use Mumble, versions in their native languages become more and more important.

Translating is one way to contribute to the Mumble project, and we’re thankful for any help!

Since we moved from a manual process to the hosted Transifex in 2014 the process of translating has become a lot easier.

The editor is usable with any standard webbrowser:
Transifex working ui.png


Translation process

Although there is an adequately high quality requirement for release-ready translations, we appreciate any contributions. If you want to make sure a language ships you will have to become a coordinator, which is probably a bit more time intensive than just translating strings as you will have to make sure translations are consistent in their entirety, and that they meet a certain quality level. You do not need ANY coding skills in order to translate Mumble however, just time and patience.

In order to package a translation in a stable release we require a trusted translator (which you could become) that translated/reviewed all translations of that language. We appreciate any translation contributions from everyone but require this additional review step to make sure no bad manner or wrong translations go into one of our stable releases.

Getting an Account on Transifex

If you do not have a Transifex account yet you need to create a contributor account.

Transifex register.png

You will receive an email with an account activation link. After account activation, log in, and open the Transifex Mumble project page at https://www.transifex.com/projects/p/mumble/.

If the language you want to translate into is already listed you will want to join that translation team. If your desired language is not listed yet you can request a new language as well.
Mumble project.png

Translating

Click on the language you want to update/improve, then on "Join team" in order to be able to submit translations:
Transifex join button.png

Confirm the popup:
Popup join language team.png

You get a confirmation message:
Transifex team joined.png

Now you can click on the entry "mumble_en.ts":
Transifex open lang popup.png

Then click on "Translate now" to start your work:
Transifex translation popup.png

You may want to continue with the Introduction to the Transifex user interface.

Requesting a new language

You don't need to do the complete translation; just do what you can. Once you started a new language others can help to extend and finish it.

Click on "Request language" and select your desired language, for example Esperanto:
Mumble request esperanto.png

Once the language has been added you can start translating.


Working With The Transifex User Interface

This is your User Interface:
Transifex working ui.png

Transifex provides a good documentation for the user interface.

Testing The Results (intended for develeopers only)

To test the resulting translation click on the entry "mumble_en.ts" and then "Download for use" in the popup:
Popup download ts file.png

In order for the Mumble client to use the translations the ts file will have to be converted to a qm file. Open the ts file you downloaded with Qt Linguist, and then “Release as” to save a qm file, naming it mumble_<lang-shorthand>.qm.

Go to your Mumble folder and put the mumble_*.qm file inside of it. Now start Mumble and make sure that your language is set in the user interface section of the Mumble configuration. The language should be displayed in Mumble after you restart the client.

Installer translations

With the guide above you can translate the client itself. For the windows platform mumble has an installer which has to be independently translated. Unfortunately, because of technical reasons this is currently a separate process. For information on how to translate the installer see Windows installers translations.