1------------------------------------------------------------------------------ 2-- -- 3-- GNAT RUN-TIME COMPONENTS -- 4-- -- 5-- A D A . L O C A L E S -- 6-- -- 7-- S p e c -- 8-- -- 9-- Copyright (C) 2010-2021, Free Software Foundation, Inc. -- 10-- -- 11-- This specification is derived from the Ada Reference Manual for use with -- 12-- GNAT. In accordance with the copyright of that document, you can freely -- 13-- copy and modify this specification, provided that if you redistribute a -- 14-- modified version, any changes that you have made are clearly indicated. -- 15-- -- 16------------------------------------------------------------------------------ 17 18package Ada.Locales is 19 pragma Preelaborate (Locales); 20 pragma Remote_Types (Locales); 21 22 -- A locale identifies a geopolitical place or region and its associated 23 -- language, which can be used to determine other internationalization- 24 -- related characteristics. The active locale is the locale associated with 25 -- the partition of the current task. 26 27 type Language_Code is new String (1 .. 3) 28 with Dynamic_Predicate => 29 (for all E of Language_Code => E in 'a' .. 'z'); 30 -- Lower-case string representation of an ISO 639-3 alpha-3 code that 31 -- identifies a language. 32 33 type Country_Code is new String (1 .. 2) 34 with Dynamic_Predicate => 35 (for all E of Country_Code => E in 'A' .. 'Z'); 36 -- Upper-case string representation of an ISO 3166-1 alpha-2 code that 37 -- identifies a country. 38 39 Language_Unknown : constant Language_Code := "und"; 40 Country_Unknown : constant Country_Code := "ZZ"; 41 42 function Language return Language_Code; 43 -- Returns the code of the language associated with the active locale. If 44 -- the Language_Code associated with the active locale cannot be determined 45 -- from the environment, then Language returns Language_Unknown. 46 47 function Country return Country_Code; 48 -- Returns the code of the country associated with the active locale. If 49 -- the Country_Code associated with the active locale cannot be determined 50 -- from the environment, then Country returns Country_Unknown. 51 52end Ada.Locales; 53