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

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

主站蜘蛛池模板: 庆云县| 灵丘县| 晋城| 云霄县| 龙岩市| 卫辉市| 红河县| 霍山县| 花莲县| 兴山县| 敦煌市| 玉山县| 井冈山市| 漳州市| 武穴市| 香格里拉县| 岑巩县| 蒲江县| 留坝县| 会昌县| 定安县| 金华市| 孝昌县| 烟台市| 乐安县| 蕲春县| 七台河市| 卢氏县| 天台县| 牙克石市| 边坝县| 禹城市| 承德市| 吉木乃县| 财经| 南昌市| 两当县| 紫金县| 灵台县| 昌黎县| 大宁县|