[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
howtos:misc:internationalization_and_localization_of_shell_scripts [2013/12/19 09:33 (UTC)] – Document reviewed didierspaier | howtos:misc:internationalization_and_localization_of_shell_scripts [2015/12/22 22:31 (UTC)] (current) – [Processes diagrams] Typo fix didierspaier | ||
---|---|---|---|
Line 7: | Line 7: | ||
This document is intended to help developers, maintainers and translators to write/ | This document is intended to help developers, maintainers and translators to write/ | ||
- | The reference document is the manual entitled [[http:// | + | The reference document is the manual entitled [[http:// |
The manual encompasses all programming languages usable with gettext, with a special focus on the C language. | The manual encompasses all programming languages usable with gettext, with a special focus on the C language. | ||
Line 55: | Line 55: | ||
Among these actions are execution of some programs of the gettext suite: | Among these actions are execution of some programs of the gettext suite: | ||
- | * gettetxt: marks strings to be insternationalized, then displays localized messages during scripts' | + | * gettetxt: marks strings to be internationalized, then displays localized messages during scripts' |
* xgettext: extracts marked strings from a set of shell scripts to build a POT or a PO file | * xgettext: extracts marked strings from a set of shell scripts to build a POT or a PO file | ||
* msgcmp: | * msgcmp: | ||
Line 65: | Line 65: | ||
=== (1) Internationalization === | === (1) Internationalization === | ||
- | + | ||
Set of shell scripts ───> | Set of shell scripts ───> | ||
Line 141: | Line 141: | ||
This variant of the process is shorter: | This variant of the process is shorter: | ||
- | + | ||
╭─ [msgcmp] <── < | ╭─ [msgcmp] <── < | ||
│ | │ | ||
Line 303: | Line 303: | ||
In particular, I recommend to favor options which take as first argument a text string instead of a file, to allow line wrapping. It is still possible to preserve the intended layout using white spaces for indentation. | In particular, I recommend to favor options which take as first argument a text string instead of a file, to allow line wrapping. It is still possible to preserve the intended layout using white spaces for indentation. | ||
- | For instance,\\ dialog < | + | For instance, |
+ | | ||
+ | can be replaced with | ||
+ | | ||
==== Practical recommendations for translators ==== | ==== Practical recommendations for translators ==== | ||
- | Depending on amount of work needed and available resources, there can be one translator or a team of translators per target language. In all cases, I recommend that at one person be responsible for organizing the team's work, checking the translations and transmitting the checked PO file to the maintainer(s). Let's call this person the team coordinator. | + | Depending on amount of work needed and available resources, there can be one translator or a team of translators per target language. In all cases, I recommend that at least one person be responsible for organizing the team's work, checking the translations and transmitting the checked PO file to the maintainer(s). Let's call this person the team coordinator. |
Don't feel obliged to translate verbatim. Not only is this rarely the best way to convey the meaning, but in addition this often leads to sentences too long to fit in allowed space. | Don't feel obliged to translate verbatim. Not only is this rarely the best way to convey the meaning, but in addition this often leads to sentences too long to fit in allowed space. | ||
Line 331: | Line 334: | ||
In addition, you will have to comply to gettext' | In addition, you will have to comply to gettext' | ||
* If a word beginning with a dollar sign is included in the original text it should be present in the translation with exactly the same spelling (case matters). | * If a word beginning with a dollar sign is included in the original text it should be present in the translation with exactly the same spelling (case matters). | ||
- | * The translation should | + | * The translation |
- | * a single backslash character " | + | * A single backslash character " |
- | + | ||
- | To " | + | |
To check your translation against gettext' | To check your translation against gettext' | ||
Line 350: | Line 351: | ||
Didier Spaier | Didier Spaier | ||
+ | |||
+ | ====== Sources ====== | ||
+ | * Originally written by [[wiki: | ||
+ | {{tag> | ||