Руководство по Ada (Ada 2022)
A.19 Пакет Locales
Локаль идентифицирует геополитическое место или регион и его связанный язык, что может использоваться для определения других характеристик, связанных с интернационализацией.
Статическая семантика
В библиотечном пакете Locales содержится следующее объявление:
package Ada.Locales
with Preelaborate, Remote_Types is
with Preelaborate, Remote_Types is
type Language_Code is new String (1 .. 3)
with Dynamic_Predicate =>
(for all E of Language_Code => E in 'a' .. 'z');
type Country_Code is new String (1 .. 2)
with Dynamic_Predicate =>
(for all E of Country_Code => E in 'A' .. 'Z');
with Dynamic_Predicate =>
(for all E of Language_Code => E in 'a' .. 'z');
type Country_Code is new String (1 .. 2)
with Dynamic_Predicate =>
(for all E of Country_Code => E in 'A' .. 'Z');
Language_Unknown : constant Language_Code := "und";
Country_Unknown : constant Country_Code := "ZZ";
Country_Unknown : constant Country_Code := "ZZ";
function Language return Language_Code;
function Country return Country_Code;
function Country return Country_Code;
end Ada.Locales;
Активная локаль — это локаль, связанная с разделом текущей задачи.
Этот абзац был удален.
Этот абзац был удален.
Функция Language возвращает код языка, связанный с активной локалью. Если Language_Code, связанный с активной локалью, не может быть определен из среды, то Language возвращает Language_Unknown. В противном случае результатом является строковое представление в нижнем регистре кода ISO 639-3:2007 alpha-3, идентифицирующего язык.
Функция Country возвращает код страны, связанный с активной локалью. Если Country_Code, связанный с активной локалью, не может быть определен из среды, то Country возвращает Country_Unknown. В противном случае результатом является строковое представление в верхнем регистре кода ISO 3166-1:2020 alpha-2, идентифицирующего страну.