diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/debian-unstable/man3/I18N::Langinfo.3perl | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/debian-unstable/man3/I18N::Langinfo.3perl')
-rw-r--r-- | upstream/debian-unstable/man3/I18N::Langinfo.3perl | 275 |
1 files changed, 275 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man3/I18N::Langinfo.3perl b/upstream/debian-unstable/man3/I18N::Langinfo.3perl new file mode 100644 index 00000000..2f829d68 --- /dev/null +++ b/upstream/debian-unstable/man3/I18N::Langinfo.3perl @@ -0,0 +1,275 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "I18N::Langinfo 3perl" +.TH I18N::Langinfo 3perl 2024-01-12 "perl v5.38.2" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH NAME +I18N::Langinfo \- query locale information +.SH SYNOPSIS +.IX Header "SYNOPSIS" +.Vb 1 +\& use I18N::Langinfo; +.Ve +.SH DESCRIPTION +.IX Header "DESCRIPTION" +The \fBlanginfo()\fR function queries various locale information that can be +used to localize output and user interfaces. It uses the current underlying +locale, regardless of whether or not it was called from within the scope of +\&\f(CW\*(C`use\ locale\*(C'\fR. The \fBlanginfo()\fR function requires +one numeric argument that identifies the locale constant to query: +if no argument is supplied, \f(CW$_\fR is used. The numeric constants +appropriate to be used as arguments are exportable from I18N::Langinfo. +.PP +The following example will import the \fBlanginfo()\fR function itself and +three constants to be used as arguments to \fBlanginfo()\fR: a constant for +the abbreviated first day of the week (the numbering starts from +Sunday = 1) and two more constants for the affirmative and negative +answers for a yes/no question in the current locale. +.PP +.Vb 1 +\& use I18N::Langinfo qw(langinfo ABDAY_1 YESSTR NOSTR); +\& +\& my ($abday_1, $yesstr, $nostr) = +\& map { langinfo($_) } (ABDAY_1, YESSTR, NOSTR); +\& +\& print "$abday_1? [$yesstr/$nostr] "; +.Ve +.PP +In other words, in the "C" (or English) locale the above will probably +print something like: +.PP +.Vb 1 +\& Sun? [yes/no] +.Ve +.PP +but under a French locale +.PP +.Vb 1 +\& dim? [oui/non] +.Ve +.PP +The usually available constants are as follows. +.IP \(bu 4 +For abbreviated and full length days of the week and months of the year: +.Sp +.Vb 6 +\& ABDAY_1 ABDAY_2 ABDAY_3 ABDAY_4 ABDAY_5 ABDAY_6 ABDAY_7 +\& ABMON_1 ABMON_2 ABMON_3 ABMON_4 ABMON_5 ABMON_6 +\& ABMON_7 ABMON_8 ABMON_9 ABMON_10 ABMON_11 ABMON_12 +\& DAY_1 DAY_2 DAY_3 DAY_4 DAY_5 DAY_6 DAY_7 +\& MON_1 MON_2 MON_3 MON_4 MON_5 MON_6 +\& MON_7 MON_8 MON_9 MON_10 MON_11 MON_12 +.Ve +.IP \(bu 4 +For the date-time, date, and time formats used by the \fBstrftime()\fR function +(see POSIX): +.Sp +.Vb 1 +\& D_T_FMT D_FMT T_FMT +.Ve +.IP \(bu 4 +For the locales for which it makes sense to have ante meridiem and post +meridiem time formats: +.Sp +.Vb 1 +\& AM_STR PM_STR T_FMT_AMPM +.Ve +.IP \(bu 4 +For the character code set being used (such as "ISO8859\-1", "cp850", +"koi8\-r", "sjis", "utf8", etc.), and for the currency string: +.Sp +.Vb 1 +\& CODESET CRNCYSTR +.Ve +.IP \(bu 4 +For an alternate representation of digits, for the +radix character used between the integer and the fractional part +of decimal numbers, the group separator string for large-ish floating point +numbers (yes, the final two are redundant with +\&\fBPOSIX::localeconv()\fR): +.Sp +.Vb 1 +\& ALT_DIGITS RADIXCHAR THOUSEP +.Ve +.IP \(bu 4 +For the affirmative and negative responses and expressions: +.Sp +.Vb 1 +\& YESSTR YESEXPR NOSTR NOEXPR +.Ve +.IP \(bu 4 +For the eras based on typically some ruler, such as the Japanese Emperor +(naturally only defined in the appropriate locales): +.Sp +.Vb 1 +\& ERA ERA_D_FMT ERA_D_T_FMT ERA_T_FMT +.Ve +.ie n .SS "For systems without ""nl_langinfo""" +.el .SS "For systems without \f(CWnl_langinfo\fP" +.IX Subsection "For systems without nl_langinfo" +This module originally was just a wrapper for the libc \f(CW\*(C`nl_langinfo\*(C'\fR +function, and did not work on systems lacking it, such as Windows. +.PP +Starting in Perl 5.28, this module works on all platforms. When +\&\f(CW\*(C`nl_langinfo\*(C'\fR is not available, it uses various methods to construct +what that function, if present, would return. But there are potential +glitches. These are the items that could be different: +.ie n .IP """ERA""" 4 +.el .IP \f(CWERA\fR 4 +.IX Item "ERA" +Unimplemented, so returns \f(CW""\fR. +.ie n .IP """CODESET""" 4 +.el .IP \f(CWCODESET\fR 4 +.IX Item "CODESET" +This should work properly for Windows platforms. On almost all other modern +platforms, it will reliably return "UTF\-8" if that is the code set. +Otherwise, it depends on the locale's name. If that is of the form +\&\f(CW\*(C`foo.bar\*(C'\fR, it will assume \f(CW\*(C`bar\*(C'\fR is the code set; and it also knows about the +two locales "C" and "POSIX". If none of those apply it returns \f(CW""\fR. +.ie n .IP """YESEXPR""" 4 +.el .IP \f(CWYESEXPR\fR 4 +.IX Item "YESEXPR" +.PD 0 +.ie n .IP """YESSTR""" 4 +.el .IP \f(CWYESSTR\fR 4 +.IX Item "YESSTR" +.ie n .IP """NOEXPR""" 4 +.el .IP \f(CWNOEXPR\fR 4 +.IX Item "NOEXPR" +.ie n .IP """NOSTR""" 4 +.el .IP \f(CWNOSTR\fR 4 +.IX Item "NOSTR" +.PD +Only the values for English are returned. \f(CW\*(C`YESSTR\*(C'\fR and \f(CW\*(C`NOSTR\*(C'\fR have been +removed from POSIX 2008, and are retained here for backwards compatibility. +Your platform's \f(CW\*(C`nl_langinfo\*(C'\fR may not support them. +.ie n .IP """D_FMT""" 4 +.el .IP \f(CWD_FMT\fR 4 +.IX Item "D_FMT" +Always evaluates to \f(CW%x\fR, the locale's appropriate date representation. +.ie n .IP """T_FMT""" 4 +.el .IP \f(CWT_FMT\fR 4 +.IX Item "T_FMT" +Always evaluates to \f(CW%X\fR, the locale's appropriate time representation. +.ie n .IP """D_T_FMT""" 4 +.el .IP \f(CWD_T_FMT\fR 4 +.IX Item "D_T_FMT" +Always evaluates to \f(CW%c\fR, the locale's appropriate date and time +representation. +.ie n .IP """CRNCYSTR""" 4 +.el .IP \f(CWCRNCYSTR\fR 4 +.IX Item "CRNCYSTR" +The return may be incorrect for those rare locales where the currency symbol +replaces the radix character. If you have examples of it needing to work +differently, please file a report at <https://github.com/Perl/perl5/issues>. +.ie n .IP """ALT_DIGITS""" 4 +.el .IP \f(CWALT_DIGITS\fR 4 +.IX Item "ALT_DIGITS" +Currently this gives the same results as Linux does. If you have examples of +it needing to work differently, please file a report at +<https://github.com/Perl/perl5/issues>. +.ie n .IP """ERA_D_FMT""" 4 +.el .IP \f(CWERA_D_FMT\fR 4 +.IX Item "ERA_D_FMT" +.PD 0 +.ie n .IP """ERA_T_FMT""" 4 +.el .IP \f(CWERA_T_FMT\fR 4 +.IX Item "ERA_T_FMT" +.ie n .IP """ERA_D_T_FMT""" 4 +.el .IP \f(CWERA_D_T_FMT\fR 4 +.IX Item "ERA_D_T_FMT" +.ie n .IP """T_FMT_AMPM""" 4 +.el .IP \f(CWT_FMT_AMPM\fR 4 +.IX Item "T_FMT_AMPM" +.PD +These are derived by using \f(CWstrftime()\fR, and not all versions of that function +know about them. \f(CW""\fR is returned for these on such systems. +.PP +See your \fBnl_langinfo\fR\|(3) for more information about the available +constants. (Often this means having to look directly at the +\&\fIlanginfo.h\fR C header file.) +.SS EXPORT +.IX Subsection "EXPORT" +By default only the \f(CWlanginfo()\fR function is exported. +.SH BUGS +.IX Header "BUGS" +Before Perl 5.28, the returned values are unreliable for the \f(CW\*(C`RADIXCHAR\*(C'\fR and +\&\f(CW\*(C`THOUSEP\*(C'\fR locale constants. +.PP +Starting in 5.28, changing locales on threaded builds is supported on systems +that offer thread-safe locale functions. These include POSIX 2008 systems and +Windows starting with Visual Studio 2005, and this module will work properly +in such situations. However, on threaded builds on Windows prior to Visual +Studio 2015, retrieving the items \f(CW\*(C`CRNCYSTR\*(C'\fR and \f(CW\*(C`THOUSEP\*(C'\fR can result in a +race with a thread that has converted to use the global locale. It is quite +uncommon for a thread to have done this. It would be possible to construct a +workaround for this; patches welcome: see "switch_to_global_locale" in perlapi. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +perllocale, "localeconv" in POSIX, "setlocale" in POSIX, \fBnl_langinfo\fR\|(3). +.SH AUTHOR +.IX Header "AUTHOR" +Jarkko Hietaniemi, <jhi@hut.fi>. Now maintained by Perl 5 porters. +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +Copyright 2001 by Jarkko Hietaniemi +.PP +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. |