Skip to content

Latest commit

 

History

History
69 lines (45 loc) · 4.42 KB

translations.md

File metadata and controls

69 lines (45 loc) · 4.42 KB

Localizing Tinode

IMPORTANT! Please use devel branches for translations.

Server

The server sends emails to users upon creation of a new account and when the user requests to reset the password:

Create a copy of the files naming them email-password-reset-XX.teml and email-validation-XX.templ where XX is the ISO-631-1 code of the new language. Translate the content and send a pull request with the new files. If you don't know how to create a pull request then just sent the translated files in any way you can.

Webapp

The translations are located in two places: /src/i18n/ and /service-worker.js.

In order to add a translation, copy /src/i18n/en.json to a file named /src/i18n/XX.json where XX is the BCP-47 code of the new language. If in doubt how to choose the BCP-47 language code, use a two letter ISO-631-1. Only the "translation": line have to be translated, the "defaultMessage", "description" etc should NOT be translated, they serve as help only, i.e.:

"action_block_contact": {
  "translation": "Bloquear contacto", // <<<---- Only this string needs to be translated
  "defaultMessage": "Block Contact",  // This is the default message in English
  "description": "Flat button [Block Contact]", // This is an explanation where/how the string is used.
  "missing": false,
  "obsolete": false
},

When translating the service-worker.js, just add the strings directly to the file. Only two strings need to be translated "New message" and "New chat":

const i18n = {
  ...
  'XX': {
    'new_message': "New message",
    'new_chat': "New chat",
  },
  ...

Please send a pull request with the new files. If you don't know how to create a pull request just sent the files in any way you can.

Android

A single file needs to be translated: /tinode/tindroid/app/src/main/res/values/strings.xml

Create a new directory values-XX in app/src/main/res, where XX is a two-letter ISO-631-1 code , optionally followed by a two letter ISO 3166-1-alpha-2 region code (preceded by lowercase r). For example values-pt.xml would contain Portuguese translations while values-pt-rBR.xml is for Brazilian Portuguese translations.

Make a copy of the file with English strings, place it to the new directory. Translate all the strings not marked with translatable="false" (the strings with translatable="false" don't need to be included at all) then send a pull request with the new file. If you don't know how to create a pull request then just sent the file in any way you can.

iOS

Unfortunately iOS localization process is very convoluted and generally requires Xcode which runs only on Mac. Unless you are familiar with the iOS development, please create a feature request for the desired language and we will send you the file for translation.

If you feel brave enough, you can translate the following .xliff file and then send it to us in any way you can. Translate all the strings between the <target> tags:

<trans-unit id="Action failed: %@" xml:space="preserve"> <!-- Do NOT change this line -->
  <source>Action failed: %@</source> <!-- This is the default message in English. -->
  <target>Se ha producido un error al realizar la acción: %@</target> <!-- Only this string "target" needs to be translated. -->
  <note>Toast notification</note> <!-- This is an explanation where/how the string is used. -->
</trans-unit>

If you are familiar with Xcode and localization for iOS, the exported localizations are located at /Localizations.