NAME
Getopt::EX::i18n - General i18n module
SYNOPSIS
command -Mi18n [ options ]
DESCRIPTION
This module i18n provides an easy way to set locale environment before executing arbitrary command. Locale list is taken from the system by locale -a
command. The following list shows sample locales available on macOS 10.15 (Catalina).
af_ZA Afrikaans / South Africa
am_ET Amharic / Ethiopia
be_BY Belarusian / Belarus
bg_BG Bulgarian / Bulgaria
ca_ES Catalan; Valencian / Spain
cs_CZ Czech / Czech Republic
da_DK Danish / Denmark
de_AT German / Austria
de_CH German / Switzerland
de_DE German / Germany
el_GR Greek, Modern (1453-) / Greece
en_AU English / Australia
en_CA English / Canada
en_GB English / United Kingdom
en_IE English / Ireland
en_NZ English / New Zealand
en_US English / United States
es_ES Spanish / Spain
et_EE Estonian / Estonia
eu_ES Basque / Spain
fi_FI Finnish / Finland
fr_BE French / Belgium
fr_CA French / Canada
fr_CH French / Switzerland
fr_FR French / France
he_IL Hebrew / Israel
hr_HR Croatian / Croatia
hu_HU Hungarian / Hungary
hy_AM Armenian / Armenia
is_IS Icelandic / Iceland
it_CH Italian / Switzerland
it_IT Italian / Italy
ja_JP Japanese / Japan
kk_KZ Kazakh / Kazakhstan
ko_KR Korean / Korea, Republic of
lt_LT Lithuanian / Lithuania
nl_BE Dutch / Belgium
nl_NL Dutch / Netherlands
no_NO Norwegian / Norway
pl_PL Polish / Poland
pt_BR Portuguese / Brazil
pt_PT Portuguese / Portugal
ro_RO Romanian / Romania
ru_RU Russian / Russian Federation
sk_SK Slovak / Slovakia
sl_SI Slovenian / Slovenia
sr_YU Serbian / Yugoslavia
sv_SE Swedish / Sweden
tr_TR Turkish / Turkey
uk_UA Ukrainian / Ukraine
zh_CN Chinese / China
zh_HK Chinese / Hong Kong
zh_TW Chinese / Taiwan, Province of China
For Japanese locale ja_JP
, the following options are defined by default, and set LANG
environment to ja_JP
. The environment variable name can be changed by env option.
LOCALE: --ja_JP (raw)
--ja-JP (dash)
--jaJP (long)
--jajp (long_lc)
LANGUAGE: --ja (language)
TERRITORY: --JP (territory)
--jp (territory_lc)
Short language option (--ja
) is defined in alphabetical order of the territory code, so the option --en
is assigned to en_AU
. However, if the same territory name is found as language, it takes precedence; German is used in three locales (de_AT
, de_CH
, de_DE
) but option --de
is defined as de_DE
.
Territory options (--JP
and --jp
) are defined only when the same language option is not defined by other entry, and only a single entry can be found for the territory. Options for Switzerland are not defined because there are three entries (de_CH
, fr_CH
, it_CH
). Territory option --AM
is assigned to hy_AM
, but language option --am
is assigned to am_ET
.
OPTION
Option parameter can be given with setopt function called with module declaration.
command -Mi18n::setopt(name[=value])
- raw
- dash
- long
- long_lc
- language
- territory
- territory_lc
-
These parameters tell which options are defined. All options are enabled by default. You can disable territory options like this:
command -Mi18n::setopt(territory=0,territory_lc=0) command -Mi18n::setopt=territory=0,territory_lc=0
- verbose
-
Show locale information.
$ optex -Mi18n::setopt=verbose date --it LANG=it_IT (Italian / Italy) Gio 4 Giu 2020 16:47:33 JST
- list
-
Show option list.
- listopt=option
-
Set the option to display the option list and exit. You can introduce a new option -l to show the available option list:
-Mi18n::setopt(listopt=-l)
- prefix=string
-
Specify prefix string. Default is
--
. - env=string
-
Specify environment variable name to be set. Default is
LANG
.
DEPENDENCIES
This module uses Locale::Codes::Language and Locale::Codes::Country to provide language and country names for locale codes.
BUGS
Support only UTF-8.
SEE ALSO
- Getopt::EX
- optex
-
You can execute arbitrary command on the system getting the benefit of Getopt::EX using optex.
$ optex -Mi18n cal 2020 --am
LICENSE
Copyright (C) 2020-2025 Kazumasa Utashiro.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Kazumasa Utashiro