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

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

主站蜘蛛池模板: 上高县| 休宁县| 沐川县| 鄄城县| 双柏县| 宁陕县| 图们市| 连云港市| 青岛市| 兴化市| 陆川县| 寿光市| 饶河县| 四子王旗| 昌吉市| 利川市| 泗洪县| 海南省| 通化市| 天峨县| 翼城县| 理塘县| 浮梁县| 汶川县| 乌审旗| 富源县| 阿拉善左旗| 辽宁省| 靖西县| 洛隆县| 普兰店市| 获嘉县| 巧家县| 富民县| 沙雅县| 调兵山市| 乐清市| 徐州市| 万载县| 定陶县| 封开县|