Line 7: |
Line 7: |
| | | |
| = Development rules for internationalization (i18n) = | | = Development rules for internationalization (i18n) = |
− | In Dolibarr code source, translations are made by using a method available on object $langs with the key to translate as parameter of this method. The $langs object contains definition of use language. This object is always defined in all pages. | + | In Dolibarr code, translations are made by using a method available in object $langs with the key to translate as a parameter of this method. The $langs object contains definition of use language. This object is always defined in all pages. |
| | | |
− | There is 2 methods: | + | There are two methods: |
| <source lang="ini"> | | <source lang="ini"> |
| $langs->trans('TRAD_STRING'); | | $langs->trans('TRAD_STRING'); |
| </source> | | </source> |
− | This methode return translation of key TRAD_STRING, and encode result into HTML entities to allow to output it correctly (even with special characters) into an HTML page. | + | This method returns the translation of key TRAD_STRING, and encodes the result into HTML entities to allow to display correctly (even with special characters) on an HTML page. |
| <source lang="ini"> | | <source lang="ini"> |
| $langs->transnoentitiesnoconv('TRAD_STRING'); | | $langs->transnoentitiesnoconv('TRAD_STRING'); |
| </source> | | </source> |
− | This method return translation of key TRAD_STRING, but result is translated string with no particular encoding (string is stored in UTF-8 in memory). | + | This method returns the translation of key TRAD_STRING, but the result is the translated string with no particular encoding (string is stored in UTF-8 in memory). |
| | | |
− | This 2 methods can accept arguments that will be used to replaced strings %s found in resulted translated string.
| + | These two methods can accept arguments that will be used to replace strings %s in the translated string. |
| | | |
| | | |
− | Note: If, as arguments, you use a string that is itslef a translated string, you must use method $langs->transnoentitiesnoconv, otherwise string will be encoded twice. | + | Note: If, as arguments, you use a string that is itself a translated string, you must use method $langs->transnoentitiesnoconv, otherwise the string will be encoded twice. |
| Example: | | Example: |
| <source lang="ini"> | | <source lang="ini"> |