aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Developers.md2
-rw-r--r--doc/Translations.md91
2 files changed, 93 insertions, 0 deletions
diff --git a/doc/Developers.md b/doc/Developers.md
index 4b339dee9..baadd1a2e 100644
--- a/doc/Developers.md
+++ b/doc/Developers.md
@@ -20,6 +20,8 @@ to notify us to merge your work.
Our translations are managed through Transifex. If you wish to help out translating the Red Matrix to another language, sign up on transifex.com, visit [https://www.transifex.com/projects/p/red-matrix/](https://www.transifex.com/projects/p/red-matrix/) and request to join one of the existing language teams or create a new one. Notify one of the core developers when you have a translation update which requires merging, or ask about merging it yourself if you're comfortable with git and PHP. We have a string file called 'messages.po' which is gettext compliant and a handful of email templates, and from there we automatically generate the application's language files.
+[Translations - More Info](help/Translations)
+
**Important**
Please pull in any changes from the project repository and merge them with your work **before** issuing a pull request. We reserve the right to reject any patch which results in a large number of merge conflicts. This is especially true in the case of language translations - where we may not be able to understand the subtle differences between conflicting versions.
diff --git a/doc/Translations.md b/doc/Translations.md
new file mode 100644
index 000000000..1ebdfb67d
--- /dev/null
+++ b/doc/Translations.md
@@ -0,0 +1,91 @@
+Translating the Red Matrix
+==========================
+
+Translation Process
+-------------------
+
+The strings used in the UI of Red is translated at [Transifex][1] and then
+included in the git repository at github. If you want to help with translation
+for any language, be it correcting terms or translating Red to a
+currently not supported language, please register an account at transifex.com
+and contact the Red translation team there.
+
+Translating Red is simple. Just use the online tool at transifex. If you
+don't want to deal with git & co. that is fine, we check the status of the
+translations regularly and import them into the source tree at github so that
+others can use them.
+
+We do not include every translation from transifex in the source tree to avoid
+a scattered and disturbed overall experience. As an uneducated guess we have a
+lower limit of 50% translated strings before we include the language. This
+limit is judging only by the amount of translated strings under the assumption
+that the most prominent strings for the UI will be translated first by a
+translation team. If you feel your translation useable before this limit,
+please contact us and we will probably include your teams work in the source
+tree.
+
+If you want to get your work into the source tree yourself, feel free to do so
+and contact us with and question that arises. The process is simple and
+Red ships with all the tools necessary.
+
+The location of the translated files in the source tree is
+ /view/LNG-CODE/
+where LNG-CODE is the language code used, e.g. de for German or fr for French.
+For the email templates (the *.tpl files) just place them into the directory
+and you are done. The translated strings come as a "message.po" file from
+transifex which needs to be translated into the PHP file Red uses. To do
+so, place the file in the directory mentioned above and use the "po2php"
+utility from the util directory of your Red installation.
+
+Assuming you want to convert the German localization which is placed in
+view/de/message.po you would do the following.
+
+1. Navigate at the command prompt to the base directory of your
+ Red installation
+
+2. Execute the po2php script, which will place the translation
+ in the strings.php file that is used by Red.
+
+ $> php util/po2php.php view/de/message.po
+
+ The output of the script will be placed at view/de/strings.php where
+ froemdoca os expecting it, so you can test your translation mmediately.
+
+3. Visit your Red page to check if it still works in the language you
+ just translated. If not try to find the error, most likely PHP will give
+ you a hint in the log/warnings.about the error.
+
+ For debugging you can also try to "run" the file with PHP. This should
+ not give any output if the file is ok but might give a hint for
+ searching the bug in the file.
+
+ $> php view/de/strings.php
+
+4. commit the two files with a meaningful commit message to your git
+ repository, push it to your fork of the Red repository at github and
+ issue a pull request for that commit.
+
+Utilities
+---------
+
+Additional to the po2php script there are some more utilities for translation
+in the "util" directory of the Red source tree. If you only want to
+translate Red into another language you wont need any of these tools most
+likely but it gives you an idea how the translation process of Red
+works.
+
+For further information see the utils/README file.
+
+Known Problems
+--------------
+
+* Red uses the language setting of the visitors browser to determain the
+ language for the UI. Most of the time this works, but there are some known
+ quirks.
+* the early translations are based on the friendica translations, if you
+ some rough translations please let us know or fix them at Transifex.
+
+Links
+------
+[1]: http://www.transifex.com/projects/p/red-matrix/
+