xref: /dflybsd-src/share/man/man7/nls.7 (revision 2b6f54f6687e3b16c7c970d7172dc2cb4b93bf4a)
1a2166fa4SSascha Wildner.\"     $NetBSD: nls.7,v 1.15 2009/04/09 02:51:54 joerg Exp $
2dcc86267SJeroen Ruigrok/asmodai.\"
3dcc86267SJeroen Ruigrok/asmodai.\" Copyright (c) 2003 The NetBSD Foundation, Inc.
4dcc86267SJeroen Ruigrok/asmodai.\" All rights reserved.
5dcc86267SJeroen Ruigrok/asmodai.\"
6dcc86267SJeroen Ruigrok/asmodai.\" This code is derived from software contributed to The NetBSD Foundation
7dcc86267SJeroen Ruigrok/asmodai.\" by Gregory McGarry.
8dcc86267SJeroen Ruigrok/asmodai.\"
9dcc86267SJeroen Ruigrok/asmodai.\" Redistribution and use in source and binary forms, with or without
10dcc86267SJeroen Ruigrok/asmodai.\" modification, are permitted provided that the following conditions
11dcc86267SJeroen Ruigrok/asmodai.\" are met:
12dcc86267SJeroen Ruigrok/asmodai.\" 1. Redistributions of source code must retain the above copyright
13dcc86267SJeroen Ruigrok/asmodai.\"    notice, this list of conditions and the following disclaimer.
14dcc86267SJeroen Ruigrok/asmodai.\" 2. Redistributions in binary form must reproduce the above copyright
15dcc86267SJeroen Ruigrok/asmodai.\"    notice, this list of conditions and the following disclaimer in the
16dcc86267SJeroen Ruigrok/asmodai.\"    documentation and/or other materials provided with the distribution.
17dcc86267SJeroen Ruigrok/asmodai.\"
18dcc86267SJeroen Ruigrok/asmodai.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19dcc86267SJeroen Ruigrok/asmodai.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20dcc86267SJeroen Ruigrok/asmodai.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21dcc86267SJeroen Ruigrok/asmodai.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22dcc86267SJeroen Ruigrok/asmodai.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23dcc86267SJeroen Ruigrok/asmodai.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24dcc86267SJeroen Ruigrok/asmodai.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25dcc86267SJeroen Ruigrok/asmodai.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26dcc86267SJeroen Ruigrok/asmodai.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27dcc86267SJeroen Ruigrok/asmodai.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28dcc86267SJeroen Ruigrok/asmodai.\" POSSIBILITY OF SUCH DAMAGE.
29dcc86267SJeroen Ruigrok/asmodai.\"
30a2166fa4SSascha Wildner.Dd November 24, 2013
31dcc86267SJeroen Ruigrok/asmodai.Dt NLS 7
32dcc86267SJeroen Ruigrok/asmodai.Os
33dcc86267SJeroen Ruigrok/asmodai.Sh NAME
34dcc86267SJeroen Ruigrok/asmodai.Nm NLS
35dcc86267SJeroen Ruigrok/asmodai.Nd Native Language Support Overview
36dcc86267SJeroen Ruigrok/asmodai.Sh DESCRIPTION
37dcc86267SJeroen Ruigrok/asmodaiNative Language Support (NLS) provides commands for a single
38dcc86267SJeroen Ruigrok/asmodaiworldwide operating system base.
39dcc86267SJeroen Ruigrok/asmodaiAn internationalized system has no built-in assumptions or dependencies
40dcc86267SJeroen Ruigrok/asmodaion language-specific or cultural-specific conventions such as:
41dcc86267SJeroen Ruigrok/asmodai.Pp
42dcc86267SJeroen Ruigrok/asmodai.Bl -bullet -offset indent -compact
43dcc86267SJeroen Ruigrok/asmodai.It
44dcc86267SJeroen Ruigrok/asmodaiCharacter classifications
45dcc86267SJeroen Ruigrok/asmodai.It
46dcc86267SJeroen Ruigrok/asmodaiCharacter comparison rules
47dcc86267SJeroen Ruigrok/asmodai.It
48dcc86267SJeroen Ruigrok/asmodaiCharacter collation order
49dcc86267SJeroen Ruigrok/asmodai.It
50dcc86267SJeroen Ruigrok/asmodaiNumeric and monetary formatting
51dcc86267SJeroen Ruigrok/asmodai.It
52dcc86267SJeroen Ruigrok/asmodaiDate and time formatting
53dcc86267SJeroen Ruigrok/asmodai.It
54dcc86267SJeroen Ruigrok/asmodaiMessage-text language
55dcc86267SJeroen Ruigrok/asmodai.It
56dcc86267SJeroen Ruigrok/asmodaiCharacter sets
57dcc86267SJeroen Ruigrok/asmodai.El
58dcc86267SJeroen Ruigrok/asmodai.Pp
59dcc86267SJeroen Ruigrok/asmodaiAll information pertaining to cultural conventions and language is
60dcc86267SJeroen Ruigrok/asmodaiobtained at program run time.
61dcc86267SJeroen Ruigrok/asmodai.Pp
62dcc86267SJeroen Ruigrok/asmodai.Dq Internationalization
63dcc86267SJeroen Ruigrok/asmodai(often abbreviated
64dcc86267SJeroen Ruigrok/asmodai.Dq i18n )
65dcc86267SJeroen Ruigrok/asmodairefers to the operation by which system software is developed to support
66dcc86267SJeroen Ruigrok/asmodaimultiple cultural-specific and language-specific conventions.
67dcc86267SJeroen Ruigrok/asmodaiThis is a generalization process by which the system is untied from
68dcc86267SJeroen Ruigrok/asmodaicalling only English strings or other English-specific conventions.
69dcc86267SJeroen Ruigrok/asmodai.Dq Localization
70dcc86267SJeroen Ruigrok/asmodai(often abbreviated
71dcc86267SJeroen Ruigrok/asmodai.Dq l10n )
72dcc86267SJeroen Ruigrok/asmodairefers to the operations by which the user environment is customized to
73dcc86267SJeroen Ruigrok/asmodaihandle its input and output appropriate for specific language and cultural
74dcc86267SJeroen Ruigrok/asmodaiconventions.
75dcc86267SJeroen Ruigrok/asmodaiThis is a specialization process, by which generic methods already
76dcc86267SJeroen Ruigrok/asmodaiimplemented in an internationalized system are used in specific ways.
77dcc86267SJeroen Ruigrok/asmodaiThe formal description of cultural conventions for some country, together
78dcc86267SJeroen Ruigrok/asmodaiwith all associated translations targeted to the native language, is
79dcc86267SJeroen Ruigrok/asmodaicalled the
80dcc86267SJeroen Ruigrok/asmodai.Dq locale .
81dcc86267SJeroen Ruigrok/asmodai.Pp
82dcc86267SJeroen Ruigrok/asmodai.Dx
83dcc86267SJeroen Ruigrok/asmodaiprovides extensive support to programmers and system developers to
84dcc86267SJeroen Ruigrok/asmodaienable internationalized software to be developed.
85dcc86267SJeroen Ruigrok/asmodai.Dx
86dcc86267SJeroen Ruigrok/asmodaialso supplies a large variety of locales for system localization.
87dcc86267SJeroen Ruigrok/asmodai.Ss Localization of Information
88dcc86267SJeroen Ruigrok/asmodaiAll locale information is accessible to programs at run time so that
89dcc86267SJeroen Ruigrok/asmodaidata is processed and displayed correctly for specific cultural
90dcc86267SJeroen Ruigrok/asmodaiconventions and language.
91dcc86267SJeroen Ruigrok/asmodai.Pp
92dcc86267SJeroen Ruigrok/asmodaiA locale is divided into categories.
93dcc86267SJeroen Ruigrok/asmodaiA category is a group of language-specific and culture-specific conventions
94dcc86267SJeroen Ruigrok/asmodaias outlined in the list above.
95dcc86267SJeroen Ruigrok/asmodaiISO C specifies the following six standard categories supported by
96dcc86267SJeroen Ruigrok/asmodai.Dx :
97dcc86267SJeroen Ruigrok/asmodai.Pp
98a2166fa4SSascha Wildner.Bl -tag -compact -width ".Ev LC_MONETARY"
99a2166fa4SSascha Wildner.It Ev LC_COLLATE
100dcc86267SJeroen Ruigrok/asmodaistring-collation order information
101a2166fa4SSascha Wildner.It Ev LC_CTYPE
102dcc86267SJeroen Ruigrok/asmodaicharacter classification, case conversion, and other character attributes
103a2166fa4SSascha Wildner.It Ev LC_MESSAGES
104dcc86267SJeroen Ruigrok/asmodaithe format for affirmative and negative responses
105a2166fa4SSascha Wildner.It Ev LC_MONETARY
106dcc86267SJeroen Ruigrok/asmodairules and symbols for formatting monetary numeric information
107a2166fa4SSascha Wildner.It Ev LC_NUMERIC
108dcc86267SJeroen Ruigrok/asmodairules and symbols for formatting nonmonetary numeric information
109a2166fa4SSascha Wildner.It Ev LC_TIME
110dcc86267SJeroen Ruigrok/asmodairules and symbols for formatting time and date information
111dcc86267SJeroen Ruigrok/asmodai.El
112dcc86267SJeroen Ruigrok/asmodai.Pp
113dcc86267SJeroen Ruigrok/asmodaiLocalization of the system is achieved by setting appropriate values
114dcc86267SJeroen Ruigrok/asmodaiin environment variables to identify which locale should be used.
115dcc86267SJeroen Ruigrok/asmodaiThe environment variables have the same names as their respective
116dcc86267SJeroen Ruigrok/asmodailocale categories.
117dcc86267SJeroen Ruigrok/asmodaiAdditionally, the
118dcc86267SJeroen Ruigrok/asmodai.Ev LANG ,
119dcc86267SJeroen Ruigrok/asmodai.Ev LC_ALL ,
120dcc86267SJeroen Ruigrok/asmodaiand
121dcc86267SJeroen Ruigrok/asmodai.Ev NLSPATH
122dcc86267SJeroen Ruigrok/asmodaienvironment variables are used.
123dcc86267SJeroen Ruigrok/asmodaiThe
124dcc86267SJeroen Ruigrok/asmodai.Ev NLSPATH
125dcc86267SJeroen Ruigrok/asmodaienvironment variable specifies a colon-separated list of directory names
126dcc86267SJeroen Ruigrok/asmodaiwhere the message catalog files of the NLS database are located.
127dcc86267SJeroen Ruigrok/asmodaiThe
128dcc86267SJeroen Ruigrok/asmodai.Ev LC_ALL
129dcc86267SJeroen Ruigrok/asmodaiand
130dcc86267SJeroen Ruigrok/asmodai.Ev LANG
131dcc86267SJeroen Ruigrok/asmodaienvironment variables also determine the current locale.
132dcc86267SJeroen Ruigrok/asmodai.Pp
133dcc86267SJeroen Ruigrok/asmodaiThe values of these environment variables contains a string format as:
134dcc86267SJeroen Ruigrok/asmodai.Bd -literal
135dcc86267SJeroen Ruigrok/asmodai	language[_territory][.codeset][@modifier]
136dcc86267SJeroen Ruigrok/asmodai.Ed
137dcc86267SJeroen Ruigrok/asmodai.Pp
138dcc86267SJeroen Ruigrok/asmodaiValid values for the language field come from the ISO639 standard which
139dcc86267SJeroen Ruigrok/asmodaidefines two-character codes for many languages.
140dcc86267SJeroen Ruigrok/asmodaiSome common language codes are:
141a2166fa4SSascha Wildner.Bl -column "PERSIAN (farsi)" "Sy Code" "OCEANIC/INDONESIAN"
142a2166fa4SSascha Wildner.It Sy Language Name Ta Sy Code Ta Sy Language Family
143*2b6f54f6Szrj.It ABKHAZIAN    Ta AB   Ta IBERO-CAUCASIAN
144*2b6f54f6Szrj.It AFAN (OROMO) Ta OM   Ta HAMITIC
145*2b6f54f6Szrj.It AFAR         Ta AA   Ta HAMITIC
146*2b6f54f6Szrj.It AFRIKAANS    Ta AF   Ta GERMANIC
147*2b6f54f6Szrj.It ALBANIAN     Ta SQ   Ta INDO-EUROPEAN (OTHER)
148*2b6f54f6Szrj.It AMHARIC      Ta AM   Ta SEMITIC
149*2b6f54f6Szrj.It ARABIC       Ta AR   Ta SEMITIC
150*2b6f54f6Szrj.It ARMENIAN     Ta HY   Ta INDO-EUROPEAN (OTHER)
151*2b6f54f6Szrj.It ASSAMESE     Ta AS   Ta INDIAN
152*2b6f54f6Szrj.It AYMARA       Ta AY   Ta AMERINDIAN
153*2b6f54f6Szrj.It AZERBAIJANI  Ta AZ   Ta TURKIC/ALTAIC
154*2b6f54f6Szrj.It BASHKIR      Ta BA   Ta TURKIC/ALTAIC
155*2b6f54f6Szrj.It BASQUE       Ta EU   Ta BASQUE
156*2b6f54f6Szrj.It BENGALI      Ta BN   Ta INDIAN
157*2b6f54f6Szrj.It BHUTANI      Ta DZ   Ta ASIAN
158*2b6f54f6Szrj.It BIHARI       Ta BH   Ta INDIAN
159a2166fa4SSascha Wildner.It BISLAMA      Ta BI   Ta ""
160*2b6f54f6Szrj.It BRETON       Ta BR   Ta CELTIC
161*2b6f54f6Szrj.It BULGARIAN    Ta BG   Ta SLAVIC
162*2b6f54f6Szrj.It BURMESE      Ta MY   Ta ASIAN
163*2b6f54f6Szrj.It BYELORUSSIAN Ta BE   Ta SLAVIC
164*2b6f54f6Szrj.It CAMBODIAN    Ta KM   Ta ASIAN
165*2b6f54f6Szrj.It CATALAN      Ta CA   Ta ROMANCE
166*2b6f54f6Szrj.It CHINESE      Ta ZH   Ta ASIAN
167*2b6f54f6Szrj.It CORSICAN     Ta CO   Ta ROMANCE
168*2b6f54f6Szrj.It CROATIAN     Ta HR   Ta SLAVIC
169*2b6f54f6Szrj.It CZECH        Ta CS   Ta SLAVIC
170*2b6f54f6Szrj.It DANISH       Ta DA   Ta GERMANIC
171*2b6f54f6Szrj.It DUTCH        Ta NL   Ta GERMANIC
172*2b6f54f6Szrj.It ENGLISH      Ta EN   Ta GERMANIC
173*2b6f54f6Szrj.It ESPERANTO    Ta EO   Ta INTERNATIONAL AUX.
174*2b6f54f6Szrj.It ESTONIAN     Ta ET   Ta FINNO-UGRIC
175*2b6f54f6Szrj.It FAROESE      Ta FO   Ta GERMANIC
176*2b6f54f6Szrj.It FIJI         Ta FJ   Ta OCEANIC/INDONESIAN
177*2b6f54f6Szrj.It FINNISH      Ta FI   Ta FINNO-UGRIC
178*2b6f54f6Szrj.It FRENCH       Ta FR   Ta ROMANCE
179*2b6f54f6Szrj.It FRISIAN      Ta FY   Ta GERMANIC
180*2b6f54f6Szrj.It GALICIAN     Ta GL   Ta ROMANCE
181*2b6f54f6Szrj.It GEORGIAN     Ta KA   Ta IBERO-CAUCASIAN
182*2b6f54f6Szrj.It GERMAN       Ta DE   Ta GERMANIC
183*2b6f54f6Szrj.It GREEK        Ta EL   Ta LATIN/GREEK
184*2b6f54f6Szrj.It GREENLANDIC  Ta KL   Ta ESKIMO
185*2b6f54f6Szrj.It GUARANI      Ta GN   Ta AMERINDIAN
186*2b6f54f6Szrj.It GUJARATI     Ta GU   Ta INDIAN
187*2b6f54f6Szrj.It HAUSA        Ta HA   Ta NEGRO-AFRICAN
188*2b6f54f6Szrj.It HEBREW       Ta HE   Ta SEMITIC
189*2b6f54f6Szrj.It HINDI        Ta HI   Ta INDIAN
190*2b6f54f6Szrj.It HUNGARIAN    Ta HU   Ta FINNO-UGRIC
191*2b6f54f6Szrj.It ICELANDIC    Ta IS   Ta GERMANIC
192*2b6f54f6Szrj.It INDONESIAN   Ta ID   Ta OCEANIC/INDONESIAN
193*2b6f54f6Szrj.It INTERLINGUA  Ta IA   Ta INTERNATIONAL AUX.
194*2b6f54f6Szrj.It INTERLINGUE  Ta IE   Ta INTERNATIONAL AUX.
195a2166fa4SSascha Wildner.It INUKTITUT    Ta IU   Ta ""
196*2b6f54f6Szrj.It INUPIAK      Ta IK   Ta ESKIMO
197*2b6f54f6Szrj.It IRISH        Ta GA   Ta CELTIC
198*2b6f54f6Szrj.It ITALIAN      Ta IT   Ta ROMANCE
199*2b6f54f6Szrj.It JAPANESE     Ta JA   Ta ASIAN
200*2b6f54f6Szrj.It JAVANESE     Ta JV   Ta OCEANIC/INDONESIAN
201*2b6f54f6Szrj.It KANNADA      Ta KN   Ta DRAVIDIAN
202*2b6f54f6Szrj.It KASHMIRI     Ta KS   Ta INDIAN
203*2b6f54f6Szrj.It KAZAKH       Ta KK   Ta TURKIC/ALTAIC
204*2b6f54f6Szrj.It KINYARWANDA  Ta RW   Ta NEGRO-AFRICAN
205*2b6f54f6Szrj.It KIRGHIZ      Ta KY   Ta TURKIC/ALTAIC
206*2b6f54f6Szrj.It KURUNDI      Ta RN   Ta NEGRO-AFRICAN
207*2b6f54f6Szrj.It KOREAN       Ta KO   Ta ASIAN
208*2b6f54f6Szrj.It KURDISH      Ta KU   Ta IRANIAN
209*2b6f54f6Szrj.It LAOTHIAN     Ta LO   Ta ASIAN
210*2b6f54f6Szrj.It LATIN        Ta LA   Ta LATIN/GREEK
211*2b6f54f6Szrj.It LATVIAN      Ta LV   Ta BALTIC
212*2b6f54f6Szrj.It LINGALA      Ta LN   Ta NEGRO-AFRICAN
213*2b6f54f6Szrj.It LITHUANIAN   Ta LT   Ta BALTIC
214*2b6f54f6Szrj.It MACEDONIAN   Ta MK   Ta SLAVIC
215*2b6f54f6Szrj.It MALAGASY     Ta MG   Ta OCEANIC/INDONESIAN
216*2b6f54f6Szrj.It MALAY        Ta MS   Ta OCEANIC/INDONESIAN
217*2b6f54f6Szrj.It MALAYALAM    Ta ML   Ta DRAVIDIAN
218*2b6f54f6Szrj.It MALTESE      Ta MT   Ta SEMITIC
219*2b6f54f6Szrj.It MAORI        Ta MI   Ta OCEANIC/INDONESIAN
220*2b6f54f6Szrj.It MARATHI      Ta MR   Ta INDIAN
221*2b6f54f6Szrj.It MOLDAVIAN    Ta MO   Ta ROMANCE
222a2166fa4SSascha Wildner.It MONGOLIAN    Ta MN   Ta ""
223a2166fa4SSascha Wildner.It NAURU        Ta NA   Ta ""
224*2b6f54f6Szrj.It NEPALI       Ta NE   Ta INDIAN
225*2b6f54f6Szrj.It NORWEGIAN    Ta NO   Ta GERMANIC
226*2b6f54f6Szrj.It OCCITAN      Ta OC   Ta ROMANCE
227*2b6f54f6Szrj.It ORIYA        Ta OR   Ta INDIAN
228*2b6f54f6Szrj.It PASHTO       Ta PS   Ta IRANIAN
229*2b6f54f6Szrj.It PERSIAN (farsi) Ta FA   Ta IRANIAN
230*2b6f54f6Szrj.It POLISH       Ta PL   Ta SLAVIC
231*2b6f54f6Szrj.It PORTUGUESE   Ta PT   Ta ROMANCE
232*2b6f54f6Szrj.It PUNJABI      Ta PA   Ta INDIAN
233*2b6f54f6Szrj.It QUECHUA      Ta QU   Ta AMERINDIAN
234*2b6f54f6Szrj.It RHAETO-ROMANCE Ta RM   Ta ROMANCE
235*2b6f54f6Szrj.It ROMANIAN     Ta RO   Ta ROMANCE
236*2b6f54f6Szrj.It RUSSIAN      Ta RU   Ta SLAVIC
237*2b6f54f6Szrj.It SAMOAN       Ta SM   Ta OCEANIC/INDONESIAN
238*2b6f54f6Szrj.It SANGHO       Ta SG   Ta NEGRO-AFRICAN
239*2b6f54f6Szrj.It SANSKRIT     Ta SA   Ta INDIAN
240*2b6f54f6Szrj.It SCOTS GAELIC Ta GD   Ta CELTIC
241*2b6f54f6Szrj.It SERBIAN      Ta SR   Ta SLAVIC
242*2b6f54f6Szrj.It SERBO-CROATIAN Ta SH   Ta SLAVIC
243*2b6f54f6Szrj.It SESOTHO      Ta ST   Ta NEGRO-AFRICAN
244*2b6f54f6Szrj.It SETSWANA     Ta TN   Ta NEGRO-AFRICAN
245*2b6f54f6Szrj.It SHONA        Ta SN   Ta NEGRO-AFRICAN
246*2b6f54f6Szrj.It SINDHI       Ta SD   Ta INDIAN
247*2b6f54f6Szrj.It SINGHALESE   Ta SI   Ta INDIAN
248*2b6f54f6Szrj.It SISWATI      Ta SS   Ta NEGRO-AFRICAN
249*2b6f54f6Szrj.It SLOVAK       Ta SK   Ta SLAVIC
250*2b6f54f6Szrj.It SLOVENIAN    Ta SL   Ta SLAVIC
251*2b6f54f6Szrj.It SOMALI       Ta SO   Ta HAMITIC
252*2b6f54f6Szrj.It SPANISH      Ta ES   Ta ROMANCE
253*2b6f54f6Szrj.It SUNDANESE    Ta SU   Ta OCEANIC/INDONESIAN
254*2b6f54f6Szrj.It SWAHILI      Ta SW   Ta NEGRO-AFRICAN
255*2b6f54f6Szrj.It SWEDISH      Ta SV   Ta GERMANIC
256*2b6f54f6Szrj.It TAGALOG      Ta TL   Ta OCEANIC/INDONESIAN
257*2b6f54f6Szrj.It TAJIK        Ta TG   Ta IRANIAN
258*2b6f54f6Szrj.It TAMIL        Ta TA   Ta DRAVIDIAN
259*2b6f54f6Szrj.It TATAR        Ta TT   Ta TURKIC/ALTAIC
260*2b6f54f6Szrj.It TELUGU       Ta TE   Ta DRAVIDIAN
261*2b6f54f6Szrj.It THAI         Ta TH   Ta ASIAN
262*2b6f54f6Szrj.It TIBETAN      Ta BO   Ta ASIAN
263*2b6f54f6Szrj.It TIGRINYA     Ta TI   Ta SEMITIC
264*2b6f54f6Szrj.It TONGA        Ta TO   Ta OCEANIC/INDONESIAN
265*2b6f54f6Szrj.It TSONGA       Ta TS   Ta NEGRO-AFRICAN
266*2b6f54f6Szrj.It TURKISH      Ta TR   Ta TURKIC/ALTAIC
267*2b6f54f6Szrj.It TURKMEN      Ta TK   Ta TURKIC/ALTAIC
268*2b6f54f6Szrj.It TWI          Ta TW   Ta NEGRO-AFRICAN
269a2166fa4SSascha Wildner.It UIGUR        Ta UG   Ta ""
270*2b6f54f6Szrj.It UKRAINIAN    Ta UK   Ta SLAVIC
271*2b6f54f6Szrj.It URDU         Ta UR   Ta INDIAN
272*2b6f54f6Szrj.It UZBEK        Ta UZ   Ta TURKIC/ALTAIC
273*2b6f54f6Szrj.It VIETNAMESE   Ta VI   Ta ASIAN
274*2b6f54f6Szrj.It VOLAPUK      Ta VO   Ta INTERNATIONAL AUX.
275*2b6f54f6Szrj.It WELSH        Ta CY   Ta CELTIC
276*2b6f54f6Szrj.It WOLOF        Ta WO   Ta NEGRO-AFRICAN
277*2b6f54f6Szrj.It XHOSA        Ta XH   Ta NEGRO-AFRICAN
278*2b6f54f6Szrj.It YIDDISH      Ta YI   Ta GERMANIC
279*2b6f54f6Szrj.It YORUBA       Ta YO   Ta NEGRO-AFRICAN
280a2166fa4SSascha Wildner.It ZHUANG       Ta ZA   Ta ""
281*2b6f54f6Szrj.It ZULU         Ta ZU   Ta NEGRO-AFRICAN
282a2166fa4SSascha Wildner.El
283dcc86267SJeroen Ruigrok/asmodai.Pp
284dcc86267SJeroen Ruigrok/asmodaiFor example, the locale for the Danish language spoken in Denmark
285dcc86267SJeroen Ruigrok/asmodaiusing the ISO 8859-1 character set is da_DK.ISO8859-1.
286dcc86267SJeroen Ruigrok/asmodaiThe da stands for the Danish language and the DK stands for Denmark.
287dcc86267SJeroen Ruigrok/asmodaiThe short form of da_DK is sufficient to indicate this locale.
288dcc86267SJeroen Ruigrok/asmodai.Pp
289dcc86267SJeroen Ruigrok/asmodaiThe environment variable settings are queried by their priority level
290dcc86267SJeroen Ruigrok/asmodaiin the following manner:
291dcc86267SJeroen Ruigrok/asmodai.Bl -bullet
292dcc86267SJeroen Ruigrok/asmodai.It
293dcc86267SJeroen Ruigrok/asmodaiIf the
294dcc86267SJeroen Ruigrok/asmodai.Ev LC_ALL
295dcc86267SJeroen Ruigrok/asmodaienvironment variable is set, all six categories use the locale it
296dcc86267SJeroen Ruigrok/asmodaispecifies.
297dcc86267SJeroen Ruigrok/asmodai.It
298dcc86267SJeroen Ruigrok/asmodaiIf the
299dcc86267SJeroen Ruigrok/asmodai.Ev LC_ALL
300dcc86267SJeroen Ruigrok/asmodaienvironment variable is not set, each individual category uses the
301dcc86267SJeroen Ruigrok/asmodailocale specified by its corresponding environment variable.
302dcc86267SJeroen Ruigrok/asmodai.It
303dcc86267SJeroen Ruigrok/asmodaiIf the
304dcc86267SJeroen Ruigrok/asmodai.Ev LC_ALL
305dcc86267SJeroen Ruigrok/asmodaienvironment variable is not set, and a value for a particular
306dcc86267SJeroen Ruigrok/asmodai.Ev LC_*
307dcc86267SJeroen Ruigrok/asmodaienvironment variable is not set, the value of the
308dcc86267SJeroen Ruigrok/asmodai.Ev LANG
309dcc86267SJeroen Ruigrok/asmodaienvironment variable specifies the default locale for all categories.
310dcc86267SJeroen Ruigrok/asmodaiOnly the
311dcc86267SJeroen Ruigrok/asmodai.Ev LANG
312dcc86267SJeroen Ruigrok/asmodaienvironment variable should be set in /etc/profile, since it makes it
313dcc86267SJeroen Ruigrok/asmodaimost easy for the user to override the system default using the individual
314dcc86267SJeroen Ruigrok/asmodai.Ev LC_*
315dcc86267SJeroen Ruigrok/asmodaivariables.
316dcc86267SJeroen Ruigrok/asmodai.It
317dcc86267SJeroen Ruigrok/asmodaiIf the
318dcc86267SJeroen Ruigrok/asmodai.Ev LC_ALL
319dcc86267SJeroen Ruigrok/asmodaienvironment variable is not set, a value for a particular
320dcc86267SJeroen Ruigrok/asmodai.Ev LC_*
321dcc86267SJeroen Ruigrok/asmodaienvironment variable is not set, and the value of the
322dcc86267SJeroen Ruigrok/asmodai.Ev LANG
323dcc86267SJeroen Ruigrok/asmodaienvironment variable is not set, the locale for that specific
324dcc86267SJeroen Ruigrok/asmodaicategory defaults to the C locale.
325a2166fa4SSascha WildnerThe C or POSIX locale assumes the ASCII character set and defines
326dcc86267SJeroen Ruigrok/asmodaiinformation for the six categories.
327dcc86267SJeroen Ruigrok/asmodai.El
328dcc86267SJeroen Ruigrok/asmodai.Ss Character Sets
329dcc86267SJeroen Ruigrok/asmodaiA character is any symbol used for the organization, control, or
330dcc86267SJeroen Ruigrok/asmodairepresentation of data.
331dcc86267SJeroen Ruigrok/asmodaiA group of such symbols used to describe a
332dcc86267SJeroen Ruigrok/asmodaiparticular language make up a character set.
333dcc86267SJeroen Ruigrok/asmodaiIt is the encoding values in a character set that provide
334dcc86267SJeroen Ruigrok/asmodaithe interface between the system and its input and output devices.
335dcc86267SJeroen Ruigrok/asmodai.Pp
336dcc86267SJeroen Ruigrok/asmodaiThe following character sets are supported in
337a2166fa4SSascha Wildner.Dx :
338a2166fa4SSascha Wildner.Bl -tag -width ISO_8859_family
339a2166fa4SSascha Wildner.It ASCII
340a2166fa4SSascha WildnerThe American Standard Code for Information Exchange (ASCII) standard
341a2166fa4SSascha Wildnerspecifies 128 Roman characters and control codes, encoded in a 7-bit
342a2166fa4SSascha Wildnercharacter encoding scheme.
343dcc86267SJeroen Ruigrok/asmodai.It ISO 8859 family
344a2166fa4SSascha WildnerIndustry-standard character sets specified by the ISO/IEC 8859
345a2166fa4SSascha Wildnerstandard.
346a2166fa4SSascha WildnerThe standard is divided into 15 numbered parts, with each
347a2166fa4SSascha Wildnerpart specifying broad script similarities.
348a2166fa4SSascha WildnerExamples include Western European, Central European, Arabic, Cyrillic,
349a2166fa4SSascha WildnerHebrew, Greek, and Turkish.
350a2166fa4SSascha WildnerThe character sets use an 8-bit character encoding scheme which is
351a2166fa4SSascha Wildnercompatible with the ASCII character set.
352dcc86267SJeroen Ruigrok/asmodai.It Unicode
353a2166fa4SSascha WildnerThe Unicode character set is the full set of known abstract characters of
354a2166fa4SSascha Wildnerall real-world scripts.  It can be used in environments where multiple
355a2166fa4SSascha Wildnerscripts must be processed simultaneously.
356a2166fa4SSascha WildnerUnicode is compatible with ISO 8859-1 (Western European) and ASCII.
357a2166fa4SSascha WildnerMany character encoding schemes are available for Unicode, including UTF-8,
358a2166fa4SSascha WildnerUTF-16 and UTF-32.
359a2166fa4SSascha WildnerThese encoding schemes are multi-byte encodings.
360a2166fa4SSascha WildnerThe UTF-8 encoding scheme uses 8-bit, variable-width encodings which is
361a2166fa4SSascha Wildnercompatible with ASCII.
362a2166fa4SSascha WildnerThe UTF-16 encoding scheme uses 16-bit, variable-width encodings.
363a2166fa4SSascha WildnerThe UTF-32 encoding scheme using 32-bit, fixed-width encodings.
364dcc86267SJeroen Ruigrok/asmodai.El
365dcc86267SJeroen Ruigrok/asmodai.Ss Font Sets
366dcc86267SJeroen Ruigrok/asmodaiA font set contains the glyphs to be displayed on the screen for a
367dcc86267SJeroen Ruigrok/asmodaicorresponding character in a character set.
368dcc86267SJeroen Ruigrok/asmodaiA display must support a suitable font to display a character set.
369dcc86267SJeroen Ruigrok/asmodaiIf suitable fonts are available to the X server, then X clients can
370dcc86267SJeroen Ruigrok/asmodaiinclude support for different character sets.
371dcc86267SJeroen Ruigrok/asmodai.Xr xterm 1
372a2166fa4SSascha Wildnerincludes support for Unicode with UTF-8 encoding.
373dcc86267SJeroen Ruigrok/asmodai.Xr xfd 1
374dcc86267SJeroen Ruigrok/asmodaiis useful for displaying all the characters in an X font.
375dbd5a33cSSascha Wildner.Pp
376dbd5a33cSSascha WildnerThe
377dbd5a33cSSascha Wildner.Dx
378dbd5a33cSSascha Wildner.Xr syscons 4
379dbd5a33cSSascha Wildnerconsole provides support for loading a variety of fonts using the
3803867d280SSascha Wildner.Xr vidcontrol 1
381dbd5a33cSSascha Wildnerutility. Available fonts can be found in
382dbd5a33cSSascha Wildner.Pa /usr/share/syscons/fonts .
383dcc86267SJeroen Ruigrok/asmodai.Ss Internationalization for Programmers
384dcc86267SJeroen Ruigrok/asmodaiTo facilitate translations of messages into various languages and to
385dcc86267SJeroen Ruigrok/asmodaimake the translated messages available to the program based on a
386dcc86267SJeroen Ruigrok/asmodaiuser's locale, it is necessary to keep messages separate from the
387dcc86267SJeroen Ruigrok/asmodaiprograms and provide them in the form of message catalogs that a
388dcc86267SJeroen Ruigrok/asmodaiprogram can access at run time.
389dcc86267SJeroen Ruigrok/asmodai.Pp
390dcc86267SJeroen Ruigrok/asmodaiAccess to locale information is provided through the
391dcc86267SJeroen Ruigrok/asmodai.Xr setlocale 3
392dcc86267SJeroen Ruigrok/asmodaiand
393dcc86267SJeroen Ruigrok/asmodai.Xr nl_langinfo 3
394dcc86267SJeroen Ruigrok/asmodaiinterfaces.
395dcc86267SJeroen Ruigrok/asmodaiSee their respective man pages for further information.
396dcc86267SJeroen Ruigrok/asmodai.Pp
397dcc86267SJeroen Ruigrok/asmodaiMessage source files containing application messages are created by
398dcc86267SJeroen Ruigrok/asmodaithe programmer and converted to message catalogs.
399dcc86267SJeroen Ruigrok/asmodaiThese catalogs are used by the application to retrieve and display
400dcc86267SJeroen Ruigrok/asmodaimessages, as needed.
401dcc86267SJeroen Ruigrok/asmodai.Pp
402dcc86267SJeroen Ruigrok/asmodai.Dx
403dcc86267SJeroen Ruigrok/asmodaisupports two message catalog interfaces: the X/Open
404dcc86267SJeroen Ruigrok/asmodai.Xr catgets 3
405dcc86267SJeroen Ruigrok/asmodaiinterface and the Uniforum
406dcc86267SJeroen Ruigrok/asmodai.Xr gettext 3
407dcc86267SJeroen Ruigrok/asmodaiinterface.
408dcc86267SJeroen Ruigrok/asmodaiThe
409dcc86267SJeroen Ruigrok/asmodai.Xr catgets 3
410dcc86267SJeroen Ruigrok/asmodaiinterface has the advantage that it belongs to a standard which is
411dcc86267SJeroen Ruigrok/asmodaiwell supported.
412dcc86267SJeroen Ruigrok/asmodaiUnfortunately the interface is complicated to use and
413dcc86267SJeroen Ruigrok/asmodaimaintenance of the catalogs is difficult.
414dcc86267SJeroen Ruigrok/asmodaiThe implementation also doesn't support different character sets.
415dcc86267SJeroen Ruigrok/asmodaiThe
416dcc86267SJeroen Ruigrok/asmodai.Xr gettext 3
417dcc86267SJeroen Ruigrok/asmodaiinterface has not been standardized yet, however it is being supported
418dcc86267SJeroen Ruigrok/asmodaiby an increasing number of systems.
419dcc86267SJeroen Ruigrok/asmodaiIt also provides many additional tools which make programming and
420dcc86267SJeroen Ruigrok/asmodaicatalog maintenance much easier.
421a2166fa4SSascha Wildner.Ss Support for Multi-byte Encodings
422a2166fa4SSascha WildnerSome character sets with multi-byte encodings may be difficult to decode,
423a2166fa4SSascha Wildneror may contain state (i.e., adjacent characters are dependent).
424dcc86267SJeroen Ruigrok/asmodaiISO C specifies a set of functions using 'wide characters' which can handle
425a2166fa4SSascha Wildnermulti-byte encodings properly.
426a2166fa4SSascha WildnerThe behaviour of these functions is affected
427a2166fa4SSascha Wildnerby the
428a2166fa4SSascha Wildner.Ev LC_CTYPE
429a2166fa4SSascha Wildnercategory of the current locale.
430a2166fa4SSascha Wildner.Pp
431dcc86267SJeroen Ruigrok/asmodaiA wide character is specified in ISO C
432dcc86267SJeroen Ruigrok/asmodaias being a fixed number of bits wide and is stateless.
433dcc86267SJeroen Ruigrok/asmodaiThere are two types for wide characters:
434dcc86267SJeroen Ruigrok/asmodai.Em wchar_t
435dcc86267SJeroen Ruigrok/asmodaiand
436dcc86267SJeroen Ruigrok/asmodai.Em wint_t .
437dcc86267SJeroen Ruigrok/asmodai.Em wchar_t
438dcc86267SJeroen Ruigrok/asmodaiis a type which can contain one wide character and operates like 'char'
439dcc86267SJeroen Ruigrok/asmodaitype does for one character.
440dcc86267SJeroen Ruigrok/asmodai.Em wint_t
441dcc86267SJeroen Ruigrok/asmodaican contain one wide character or WEOF (wide EOF).
442dcc86267SJeroen Ruigrok/asmodai.Pp
443dcc86267SJeroen Ruigrok/asmodaiThere are functions that operate on
444dcc86267SJeroen Ruigrok/asmodai.Em wchar_t ,
445dcc86267SJeroen Ruigrok/asmodaiand substitute for functions operating on 'char'.
446dcc86267SJeroen Ruigrok/asmodaiSee
447dcc86267SJeroen Ruigrok/asmodai.Xr wmemchr 3
448dcc86267SJeroen Ruigrok/asmodaiand
449dcc86267SJeroen Ruigrok/asmodai.Xr towlower 3
450dcc86267SJeroen Ruigrok/asmodaifor details.
451dcc86267SJeroen Ruigrok/asmodaiThere are some additional functions that operate on
452dcc86267SJeroen Ruigrok/asmodai.Em wchar_t .
453dcc86267SJeroen Ruigrok/asmodaiSee
454dcc86267SJeroen Ruigrok/asmodai.Xr wctype 3
455dcc86267SJeroen Ruigrok/asmodaiand
4560303e2e2SSascha Wildner.Xr wctrans 3
457dcc86267SJeroen Ruigrok/asmodaifor details.
458dcc86267SJeroen Ruigrok/asmodai.Pp
459dcc86267SJeroen Ruigrok/asmodaiWide characters should be used for all I/O processing which may rely
460dcc86267SJeroen Ruigrok/asmodaion locale-specific strings.
461dcc86267SJeroen Ruigrok/asmodaiThe two primary issues requiring special use of wide characters are:
462dcc86267SJeroen Ruigrok/asmodai.Bl -bullet -offset indent
463dcc86267SJeroen Ruigrok/asmodai.It
464dcc86267SJeroen Ruigrok/asmodaiAll I/O is performed using multibyte characters.
465dcc86267SJeroen Ruigrok/asmodaiInput data is converted into wide characters immediately after
466dcc86267SJeroen Ruigrok/asmodaireading and data for output is converted from wide characters to
467a2166fa4SSascha Wildnermulti-byte encoding immediately before writing.
468a2166fa4SSascha WildnerConversion is controlled by the
469dcc86267SJeroen Ruigrok/asmodai.Xr mbstowcs 3 ,
470dcc86267SJeroen Ruigrok/asmodai.Xr mbsrtowcs 3 ,
471dcc86267SJeroen Ruigrok/asmodai.Xr wcstombs 3 ,
472dcc86267SJeroen Ruigrok/asmodai.Xr wcsrtombs 3 ,
473dcc86267SJeroen Ruigrok/asmodai.Xr mblen 3 ,
474dcc86267SJeroen Ruigrok/asmodai.Xr mbrlen 3 ,
475dcc86267SJeroen Ruigrok/asmodaiand
476dcc86267SJeroen Ruigrok/asmodai.Xr mbsinit 3 .
477dcc86267SJeroen Ruigrok/asmodai.It
478dcc86267SJeroen Ruigrok/asmodaiWide characters are used directly for I/O, using
479dcc86267SJeroen Ruigrok/asmodai.Xr getwchar 3 ,
480dcc86267SJeroen Ruigrok/asmodai.Xr fgetwc 3 ,
481dcc86267SJeroen Ruigrok/asmodai.Xr getwc 3 ,
482dcc86267SJeroen Ruigrok/asmodai.Xr ungetwc 3 ,
483dcc86267SJeroen Ruigrok/asmodai.Xr fgetws 3 ,
484dcc86267SJeroen Ruigrok/asmodai.Xr putwchar 3 ,
485dcc86267SJeroen Ruigrok/asmodai.Xr fputwc 3 ,
486dcc86267SJeroen Ruigrok/asmodai.Xr putwc 3 ,
487dcc86267SJeroen Ruigrok/asmodaiand
488dcc86267SJeroen Ruigrok/asmodai.Xr fputws 3 .
489dcc86267SJeroen Ruigrok/asmodaiThey are also used for formatted I/O functions for wide characters
490dcc86267SJeroen Ruigrok/asmodaisuch as
491dcc86267SJeroen Ruigrok/asmodai.Xr fwscanf 3 ,
492dcc86267SJeroen Ruigrok/asmodai.Xr wscanf 3 ,
493dcc86267SJeroen Ruigrok/asmodai.Xr swscanf 3 ,
494dcc86267SJeroen Ruigrok/asmodai.Xr fwprintf 3 ,
495dcc86267SJeroen Ruigrok/asmodai.Xr wprintf 3 ,
496dcc86267SJeroen Ruigrok/asmodai.Xr swprintf 3 ,
497dcc86267SJeroen Ruigrok/asmodai.Xr vfwprintf 3 ,
498dcc86267SJeroen Ruigrok/asmodai.Xr vwprintf 3 ,
499dcc86267SJeroen Ruigrok/asmodaiand
500dcc86267SJeroen Ruigrok/asmodai.Xr vswprintf 3 ,
501dcc86267SJeroen Ruigrok/asmodaiand wide character identifier of %lc, %C, %ls, %S for conventional
502dcc86267SJeroen Ruigrok/asmodaiformatted I/O functions.
503dcc86267SJeroen Ruigrok/asmodai.El
504dcc86267SJeroen Ruigrok/asmodai.Sh SEE ALSO
505dcc86267SJeroen Ruigrok/asmodai.Xr gencat 1 ,
5063867d280SSascha Wildner.Xr vidcontrol 1 ,
507dcc86267SJeroen Ruigrok/asmodai.Xr xfd 1 ,
508dcc86267SJeroen Ruigrok/asmodai.Xr xterm 1 ,
509dcc86267SJeroen Ruigrok/asmodai.Xr catgets 3 ,
510c8e8a2e5SSascha Wildner.Xr gettext 3 Pq Pa devel/gettext ,
511dcc86267SJeroen Ruigrok/asmodai.Xr nl_langinfo 3 ,
5123867d280SSascha Wildner.Xr setlocale 3
513dcc86267SJeroen Ruigrok/asmodai.Sh BUGS
514dcc86267SJeroen Ruigrok/asmodaiThis man page is incomplete.
515