| 1 | == Translation / localization issues == |
| 2 | Some ideas on how translation of the software can be improved in the future. I started some discussion on this topic on the mailinglist (see: http://www.nabble.com/Localization-issues-tf4097440s18419.html ). |
| 3 | |
| 4 | '''Our current structure of language files is the following one:''' |
| 5 | |
| 6 | English: |
| 7 | |
| 8 | {{{ |
| 9 | <strings> |
| 10 | <about>About</about> |
| 11 | <abstract>Abstract</abstract> |
| 12 | <accept>Accept</accept> |
| 13 | <add>add</add> |
| 14 | <addNewMetadata>Add new metadata</addNewMetadata> |
| 15 | </strings> |
| 16 | }}} |
| 17 | |
| 18 | Arabic: |
| 19 | |
| 20 | {{{ |
| 21 | <strings> |
| 22 | <about>عن البرنامج</about> |
| 23 | <abstract>مقدمة</abstract> |
| 24 | <accept>قبول</accept> |
| 25 | <add>إضافة</add> |
| 26 | <addNewMetadata>بيانات أساسية Metadata جديدة</addNewMetadata> |
| 27 | </strings> |
| 28 | }}} |
| 29 | |
| 30 | '''A possible solution to improve this structure is:''' |
| 31 | |
| 32 | English: |
| 33 | |
| 34 | {{{ |
| 35 | <strings> |
| 36 | <string i18n_key="about">About</string> |
| 37 | <string i18n_key="abstract">Abstract</string> |
| 38 | <string i18n_key="accept">Accept</string> |
| 39 | <string i18n_key="add">add</string> |
| 40 | <string i18n_key="addNewMetadata">Add new metadata</string> |
| 41 | </strings> |
| 42 | }}} |
| 43 | |
| 44 | Arabic: |
| 45 | |
| 46 | {{{ |
| 47 | <strings> |
| 48 | <string i18n_key="about">عن البرنامج</string> |
| 49 | <string i18n_key="abstract">مقدمة</string> |
| 50 | <string i18n_key="accept">قبول</string> |
| 51 | <string i18n_key="add">إضافة</string> |
| 52 | <string i18n_key="addNewMetadata">بيانات أساسية Metadata جديدة</string> |
| 53 | </strings> |
| 54 | }}} |
| 55 | |
| 56 | I think this can have the following advantages: |
| 57 | |
| 58 | - This has minimal impact on our existing stylesheets that generate the localized output. |
| 59 | - It is pretty trivial to generate a list of i18n_keys in use in the software. |
| 60 | - The generated output can be used to highlight missing and obsolete keys in each language file. |
| 61 | - There is the potential to store all keys and language strings in a database that has a simple translation user interface accessible through the web. Such translation mechanism has already been implemented in GeoNetwork opensource for the non-static strings in the system. It could be setup on the developer website to work as the central translation facility. The static files required for a release can be generated as language packages automatically and be stored in SVN. |
| 62 | |
| 63 | |