官术网_书友最值得收藏!

  • Bash Cookbook
  • Ron Brash Ganesh Naik
  • 315字
  • 2021-07-23 19:17:38

Readying your script for different languages with internationalization

Great, so you have this awesome script, but it's written in standard English and you would like to target those nice people who speak other languages. In some countries like Canada, they (we) have two official languages: English and French. Sometimes, the dual-language component is enforced with legislature and localized language laws. 

To get around this, let's imagine a scenario where you are an individual who has written a script that prints out specific strings, but in English first. He/she wishes to have all of the strings inside of variables so that they can be swapped in and out dynamically using system language variables. Here are the basics:

  • Create a shell script that utilizes gettext and sets the appropriate variables
  • Build a po file that contains the necessary language definitions
  • Install your output language localization file for your script
  • Run your script with a language that's different than the one you originally use (by setting the LANG variable)

Before getting started, though, there are two terms that need to be discussed: internationalization (i18n) and localization (L10n). Internationalization is a process that enables translation and localisation/adaptation for a specific script or program, and localization refers to the process of having adapted the program/application for a specific culture.

The translation of scripts from the start can be an effective way to save time and improve the success of multi-lingual efforts. However, be aware that it can be a time-consuming process if the developers are fluent in only one language, or translation skills are not immediately present.

For example, in English, there are several dialects. In the USA, a product of a process or leftover can be called an artifact, but in Canadian English, it may be called an artefact. It could go unnoticed (or ignored), but the program could automatically adapt with specific localization.

主站蜘蛛池模板: 曲周县| 海口市| 荣成市| 靖西县| 遂平县| 阿合奇县| 聂荣县| 广东省| 宜阳县| 吉水县| 黄大仙区| 乡城县| 建湖县| 天水市| 波密县| 枝江市| 桐庐县| 揭东县| 定兴县| 白玉县| 荆州市| 遵义县| 高尔夫| 根河市| 沙洋县| 泸定县| 台中市| 苗栗县| 沧源| 尚义县| 清水河县| 庄河市| 周宁县| 乳山市| 句容市| 隆昌县| 广汉市| 长宁县| 溆浦县| 扶绥县| 章丘市|