Friendica Communications Platform (please note that this is a clone of the repository at github, issues are handled there) https://friendi.ca
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
4.0 KiB

  1. Friendica translations
  2. ======================
  3. Translation Process
  4. -------------------
  5. The strings used in the UI of Friendica is translated at Transifex [1] and then
  6. included in the git repository at github. If you want to help with translation
  7. for any language, be it correcting terms or translating friendica to a
  8. currently not supported language, please register an account at transifex.com
  9. and contact the friendica translation team there.
  10. Translating friendica is simple. Just use the online tool at transifex. If you
  11. don't want to deal with git & co. that is fine, we check the status of the
  12. translations regularly and import them into the source tree at github so that
  13. others can use them.
  14. We do not include every translation from transifex in the source tree to avoid
  15. a scattered and disturbed overall experience. As an uneducated guess we have a
  16. lower limit of 50% translated strings before we include the language. This
  17. limit is judging only by the amount of translated strings under the assumption
  18. that the most prominent strings for the UI will be translated first by a
  19. translation team. If you feel your translation useable before this limit,
  20. please contact us and we will probably include your teams work in the source
  21. tree.
  22. If you want to get your work into the source tree yourself, feel free to do so
  23. and contact us with and question that arises. The process is simple and
  24. friendica ships with all the tools necessary.
  25. The location of the translated files in the source tree is
  26. /view/LNG-CODE/
  27. where LNG-CODE is the language code used, e.g. de for German or fr for French.
  28. For the email templates (the *.tpl files) just place them into the directory
  29. and you are done. The translated strings come as a "message.po" file from
  30. transifex which needs to be translated into the PHP file friendica uses. To do
  31. so, place the file in the directory mentioned above and use the "po2php"
  32. utility from the util directory of your friendica installation.
  33. Assuming you want to convert the German localization which is placed in
  34. view/de/message.po you would do the following.
  35. 1. Navigate at the command prompt to the base directory of your
  36. friendica installation
  37. 2. Execute the po2php script, which will place the translation
  38. in the strings.php file that is used by friendica.
  39. $> php util/po2php.php view/de/message.po
  40. The output of the script will be placed at view/de/strings.php where
  41. froemdoca os expecting it, so you can test your translation mmediately.
  42. 3. Visit your friendica page to check if it still works in the language you
  43. just translated. If not try to find the error, most likely PHP will give
  44. you a hint in the log/warnings.about the error.
  45. For debugging you can also try to "run" the file with PHP. This should
  46. not give any output if the file is ok but might give a hint for
  47. searching the bug in the file.
  48. $> php view/de/strings.php
  49. 4. commit the two files with a meaningful commit message to your git
  50. repository, push it to your fork of the friendica repository at github and
  51. issue a pull request for that commit.
  52. Utilities
  53. ---------
  54. Additional to the po2php script there are some more utilities for translation
  55. in the "util" directory of the friendica source tree. If you only want to
  56. translate friendica into another language you wont need any of these tools most
  57. likely but it gives you an idea how the translation process of friendica
  58. works.
  59. For further information see the utils/README file.
  60. Known Problems
  61. --------------
  62. Friendica uses the language setting of the visitors browser to determain the
  63. language for the UI. Most of the time this works, but there are some known
  64. quirks.
  65. One is that some browsers, like Safari, do the setting to "de-de" but friendica
  66. only has a "de" localisation. A workaround would be to add a symbolic link
  67. from
  68. $friendica/view/de-de
  69. pointing to
  70. $friendica/view/de
  71. Links
  72. -----
  73. [1] https://www.transifex.com/projects/p/friendica/