Contribute translations: Difference between revisions

From diaspora* project wiki
(Create dummy to be able to update links to this page)
 
No edit summary
Line 1: Line 1:
{{Note|This is a stub while https://github.com/diaspora/diaspora/wiki/How-to-contribute-translations is ported over.}}
There are two ways you can contribute a translation: with a pull request or at [https://webtranslateit.com WebTranslateIt]. But lets start with some general notes first.
 
= General Notes =
 
== Languages with high inflection and grammar different to English ==
 
We integrated the awesome extensions [https://github.com/siefca siefca] made for Rails and the [https://github.com/svenfuchs/i18n i18n gem]: [https://github.com/siefca/i18n-inflector i18n-inflector] and [https://github.com/siefca/i18n-inflector-rails i18n-inflector-rails]. Based on what the user has written into the gender field and our [https://github.com/diaspora/diaspora/tree/master/config/locales/inflections definitions] the gender is guessed. Look at the readme of i18n-inflector for more documentation on how to use them. You can use the named patterns easily via [https://webtranslateit.com WebTranslateIt] if you want to do so. However if you want to contribute a definition please make a [[Git Workflow|pull request]].
 
== Choose the correct language code ==
 
First look if you could find an existing translation.
 
If you have to create a new one look [https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale/ here] and check which code is used there for your language.
 
If your language isn't available there choose the right code according to [http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes ISO 639-1] (or [http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes ISO 639-2]/3 if your language has no ISO 639-1 code) in lowercase letters. If you want to create a country-specific one, that is not the most spoken type of it, append - and your country code according to [http://en.wikipedia.org/wiki/ISO_3166-1#Current_codes ISO 3166-1] in uppercase letters.
 
Examples:
 
* <tt>de</tt> for German
* <tt>de-AT</tt> for German specific to Austria
 
If you want to create formal or informal versions of your translation append <tt>_informal</tt> or <tt>_formal</tt> to the version that is less common for social networks.
 
Examples:
 
* <tt>fr</tt> for the French formal one and
* <tt>fr_informal</tt> for the informal one
 
= Pull request =
 
'''Note:''' If you want to take the responsibility for your language then it's completely fine, however using both methods at a time is too much work, so please provide constant updates if you want to do it this way. Do keep in mind that you have to watch for changes yourself, there's no automatism that updates everything in this way. Also be sure that you are the person to be contacted about it in your local community and add a way to contact you/contribute to the translation to the ''Languages handled outside of WebTranslateIt'' section below.
 
First read and follow our [[Git Workflow]].
 
=== Files ===
 
* config/locales/devise/devise.''&lt; code &gt;''.yml
* config/locales/diaspora/''&lt; code &gt;''.yml
* config/locales/javascript/javascript.''&lt; code &gt;''.yml
* Only add something to config/locales/inflections/''&lt; code &gt;''.yml if you know what you're doing, look at the note about inflected languages above for more information. If you're unsure just ignore that directory.
* config/locales/cldr/ is an upstream resource. You shouldn't need to touch it.
 
If you want to create a new translation copy the <tt>en</tt> files, choose the correct language code (see above) and change every occurrence of <tt>en</tt> with your code. Don't forget the root element in the files!
 
If you want to fix an untranslatable strings or something feel free, but only add the new key to <tt>en.yml</tt>/<tt>devise.en.yml</tt>/<tt>javascript.en.yml</tt>.
 
== Permanent Pull Request ==
 
If you want to give constant updates you can also notify me ([[User:MrZYX|MrZYX]]) and give me the URL to a Git repository and I'll do regular pulls in my update workflow.
 
= WebTranslateIt =
 
== Languages handled '''outside''' of WebTranslateIt ==
 
* ca [https://gitorious.org/diaspora-l10n-ca/diaspora-l10n-ca repository]
* es-VE [https://github.com/ruby-ve team]
* gl [http://trasno.net/ team]
* sq [https://github.com/ujdhesa maintainer]
 
== Translating with WebTranslateIt ==
 
[[Image:WTI_Join.png|thumb|300px|Join the team!]]
[[Image:WTI_Invite.png|thumb|300px|Request an invite]]
[[Image:WTI_Accept_invite.png|thumb|300px|Accept the invitation]]
[[Image:WTI_Translate.png|thumb|300px|Start translating!]]
 
# First go to [https://webtranslateit.com/en/sign_up WebTranslateIt] and create/sign-in to your account.
# Then go to [https://webtranslateit.com/en/projects/3020-Diaspora Diaspora's project site] and join the team.
# Choose your language or suggest a new one and request an invitation.
# You'll receive an email containing a link to accept your invitation. Note that this can take one or two days since I have to manually approve your request ;) Once you have gotten the mail and clicked on the link you'll see something like this:
# After you accepted it you can click on the &quot;Translations&quot; tab and start translating.
 
Thank you for contributing!


[[Category:Technical]]
[[Category:Technical]]
[[Category:Community]]
[[Category:Community]]
[[Category:Developers]]
[[Category:Developers]]

Revision as of 16:21, 21 June 2013

There are two ways you can contribute a translation: with a pull request or at WebTranslateIt. But lets start with some general notes first.

General Notes

Languages with high inflection and grammar different to English

We integrated the awesome extensions siefca made for Rails and the i18n gem: i18n-inflector and i18n-inflector-rails. Based on what the user has written into the gender field and our definitions the gender is guessed. Look at the readme of i18n-inflector for more documentation on how to use them. You can use the named patterns easily via WebTranslateIt if you want to do so. However if you want to contribute a definition please make a pull request.

Choose the correct language code

First look if you could find an existing translation.

If you have to create a new one look here and check which code is used there for your language.

If your language isn't available there choose the right code according to ISO 639-1 (or ISO 639-2/3 if your language has no ISO 639-1 code) in lowercase letters. If you want to create a country-specific one, that is not the most spoken type of it, append - and your country code according to ISO 3166-1 in uppercase letters.

Examples:

  • de for German
  • de-AT for German specific to Austria

If you want to create formal or informal versions of your translation append _informal or _formal to the version that is less common for social networks.

Examples:

  • fr for the French formal one and
  • fr_informal for the informal one

Pull request

Note: If you want to take the responsibility for your language then it's completely fine, however using both methods at a time is too much work, so please provide constant updates if you want to do it this way. Do keep in mind that you have to watch for changes yourself, there's no automatism that updates everything in this way. Also be sure that you are the person to be contacted about it in your local community and add a way to contact you/contribute to the translation to the Languages handled outside of WebTranslateIt section below.

First read and follow our Git Workflow.

Files

  • config/locales/devise/devise.< code >.yml
  • config/locales/diaspora/< code >.yml
  • config/locales/javascript/javascript.< code >.yml
  • Only add something to config/locales/inflections/< code >.yml if you know what you're doing, look at the note about inflected languages above for more information. If you're unsure just ignore that directory.
  • config/locales/cldr/ is an upstream resource. You shouldn't need to touch it.

If you want to create a new translation copy the en files, choose the correct language code (see above) and change every occurrence of en with your code. Don't forget the root element in the files!

If you want to fix an untranslatable strings or something feel free, but only add the new key to en.yml/devise.en.yml/javascript.en.yml.

Permanent Pull Request

If you want to give constant updates you can also notify me (MrZYX) and give me the URL to a Git repository and I'll do regular pulls in my update workflow.

WebTranslateIt

Languages handled outside of WebTranslateIt

Translating with WebTranslateIt

Join the team!
Request an invite
Accept the invitation
Start translating!
  1. First go to WebTranslateIt and create/sign-in to your account.
  2. Then go to Diaspora's project site and join the team.
  3. Choose your language or suggest a new one and request an invitation.
  4. You'll receive an email containing a link to accept your invitation. Note that this can take one or two days since I have to manually approve your request ;) Once you have gotten the mail and clicked on the link you'll see something like this:
  5. After you accepted it you can click on the "Translations" tab and start translating.

Thank you for contributing!