[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.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howtos:misc:internationalization_and_localization_of_shell_scripts [2015/03/31 11:30 (UTC)] – Formatting modified to ease conversion to AsciiDoc marup didierspaierhowtos: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/maintain/translate internationalized then localized shell scripts, using the tools provided by GNU gettext. This document is intended to help developers, maintainers and translators to write/maintain/translate internationalized then localized shell scripts, using the tools provided by GNU gettext.
  
-The reference document is the manual entitled [[http://www.gnu.org/software/gettext/manual/gettext.html|GNU `gettext' utilities]].+The reference document is the manual entitled [[http://www.gnu.org/software/gettext/manual/gettext.html|GNU 'gettext' utilities]].
  
 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' execution+  * gettetxt: marks strings to be internationalized, then displays localized messages during scripts' execution
   * 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:   checks a PO file against another PO or a POT file for consistency   * msgcmp:   checks a PO file against another PO or a POT file for consistency
Line 65: Line 65:
  
 === (1) Internationalization === === (1) Internationalization ===
- +
  
    Set of shell scripts ───> Preparation ───> Marked shell scripts ───╮    Set of shell scripts ───> Preparation ───> Marked shell scripts ───╮
Line 141: Line 141:
  
 This variant of the process is shorter: This variant of the process is shorter:
-   +
   ╭─ [msgcmp] <── <locale>.po <── PO editor <── <locale>.po <── Update needed   ╭─ [msgcmp] <── <locale>.po <── PO editor <── <locale>.po <── Update needed
   │   │
Line 336: Line 336:
   * The translation text should include a "new line" character (or line feed, represented by "\n") at the beginning or at the end, exactly as the original text does. Conversely, if the original text doesn’t have the character, then the translation shouldn’t have it.   * The translation text should include a "new line" character (or line feed, represented by "\n") at the beginning or at the end, exactly as the original text does. Conversely, if the original text doesn’t have the character, then the translation shouldn’t have it.
   * A single backslash character "\" is not allowed in the translation.   * A single backslash character "\" is not allowed in the translation.
- 
-To "cut" (or end) a line inside a "dialog" box you should type \n: pressing [Enter] will 'not' insert a "new line" character in the text viewed by user. 
  
 To check your translation against gettext's requirements you could run following command: To check your translation against gettext's requirements you could run following command:
 howtos:misc:internationalization_and_localization_of_shell_scripts ()