Difference between revisions of "OpenEMR Internationalization Development"

From OpenEMR Project Wiki
Line 1: Line 1:
__TOC__
#REDIRECT [[OpenEMR_Internationalization_Translator_Guide]]
 
==Translators and Users==
We have the ability to translate OpenEMR into any language, and a list of languages currently being translated can be found on the [http://github.com/openemr/translations_development_openemr/raw/master/stats.txt translation database statistics page].  If you want to help translate (a new or current language), you will need editing privileges to our [http://spreadsheets.google.com/ccc?key=0AtTW60zHo6HzcGg0UE9JMGJHM1NsSWpuYkh0Snl4Q0E&hl=en Google Docs translation spreadsheet].  Please contact Brady Miller ( brady@sparmy.com ) so he can invite you to the Google doc spreadsheet(we also will give you access to the translator roster spreadsheet to allow collaboration with other translators).<br>
<br>
In the google doc translation spreadsheet, the list is arranged alphabetically with numbers and special characters listed at the end.  I'd suggest looking at our OpenEMR demo (link below) to find the words of "highest utility" to translate first.  The Google Doc definitions get processed and placed into the OpenEMR demo (link below) daily to allow you to check your work.  You can also download this updated set of translations into your local OpenEMR via the instructions link below.  Feel free to post any questions, concerns, or ideas in the OpenEMR sourceforge forums.<br>
<br>
Here is the OpenEMR demo link:<br>
OpenEMR: http://opensourceemr.com:2089/openemr  user:<b>admin</b> pass:<b>pass</b><br>
<br>
[[Install Translations|Click HERE to learn how to install the most recent translations into your local OpenEMR.]]<br>
<br>
Here is the [http://github.com/openemr/translations_development_openemr/raw/master/stats.txt translation database statistics] (updated daily), which reports how many definitions have been completed for each language.<br>
<br>
While editing in the Google Docs spreadsheet, please also ensure you follow the rules below.<br>
THE LANGUAGE SPREADSHEET RULES:<br>
# Do NOT modify the english constants or id numbers. (if you modify these by mistake and can't undo, then feel free to email me; I can quickly fix this)
# Do NOT modify already created translations until discussing with the other translators (unless an obvious typo etc.)(if you modify by mistake and can't undo, then feel free to email me; I can quickly fix this)
# Do NOT enter the 'new line' or 'tab' character into spreadsheet.
# Do NOT upload a new version of the spreadsheet.
# Do NOT hide columns.
# Do NOT sort columns.
<br>
Some of the English constants are confusing. Please click below to see explanations of the confusing english constants:<br>
[[English Constants Descriptions|Constants Descriptions]]<br>
<br>
Below are language specific guides (it would be great if others would contribute to these). To get wiki editing privileges register here at the wiki.<br>
<ul>
<li>[[Arabic Guide|Arabic Guide]]</li>
<li>[[Chinese Guide|Chinese Guide]]</li>
<li>[[Dutch Guide|Dutch Guide]]</li>
<li>[[French Guide|French Guide]]</li>
<li>[[German Guide|German Guide]]</li>
<li>[[Greek Guide|Greek Guide]]</li>
<li>[[Norwegian Guide|Norwegian Guide]]</li>
<li>[[Portuguese Guide|Portuguese Guide]]</li>
<li>[[Russian Guide|Russian Guide]]</li>
<li>[[Spanish Guide|Spanish Guide]]</li>
<li>[[Swedish Guide|Swedish Guide]]</li>
</ul>
<br>
==Developers==
:For those interested in the actual software/scripts (pipeline) that created the language spreadsheet and then utilizes it for insertion in OpenEMR; they are kept in this directory (The README file is the best place to get an overview of the process):
::*http://github.com/openemr/openemr/tree/master/contrib/util/language_translations
:For those of you interested in the xl() internationalization function, then go [[OpenEMR Internationalization Configuration|HERE]].
:Here are the Previous sourceforge forums threads related to the internationalization project:
::General Topic Threads
:::*[http://sourceforge.net/projects/openemr/forums/forum/202506/topic/3439721 Most Recent]
:::*[http://sourceforge.net/projects/openemr/forums/forum/202506/topic/3279061 Third]
:::*[http://sourceforge.net/projects/openemr/forums/forum/202506/topic/3130655 Second]
:::*[http://sourceforge.net/projects/openemr/forums/forum/202505/topic/3119442 First]
::Specific Topic Threads
:::*[http://sourceforge.net/projects/openemr/forums/forum/202506/topic/3673130/ Discussion on the new translation customization and logging module (releasing with version 4.0)]
:::*[http://sourceforge.net/projects/openemr/forums/forum/202506/topic/3509701 Discussion on parametric translations and also discussion to further improve the backend (google docs spreadsheet) processing]
:The translation is done by the xl() custom function, which can be found at openemr/library/translation.inc.php. Its semantics are very simple.
<pre>xl(string)</pre>
:Which with examples means:
<pre>xl('translate this')</pre>
:By default the function will return the translation. First it uses the LANGUAGE constant defined to pick the translation. Second it goes for the translation, if none is found, then the same string entered is used and returned as is. Another example of use includes:
<pre>echo ("this and " . xl('translate this') . " that too");</pre>
:Further details and rules on use can be found on the wiki here [[Development_Policies#Internationalization|Development Policies - Internationalization]]
:There are also wrappers to the xl() function that are used infrequently in specific situations. Please refer to openemr/library/translation.inc.php for more details.
 
[[Category:Internationalization]][[Category:Developer Guide]]

Revision as of 00:01, 7 November 2011