---
name: "Log::Report::Win32Locale"
section: "3pm"
platform: "linux"
package: "liblog-report-lexicon-perl"
version: "1.03-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Log::Report::Win32Locale"
---

# Log::Report::Win32Locale(3pm)

unix/windows locales

## NAME

Log::Report::Win32Locale - unix/windows locales

## INHERITANCE

```
 Log::Report::Win32Locale
   is a Exporter
```

## DESCRIPTION

Windows uses different locales to represent languages: codepages. Programs which are written with Log::Report however, will contain ISO encoded language names; this module translates between them.

The algorithms in this module are based on Win32::Locale and Win32::Codepage.

## FUNCTIONS

- **charset\_encoding**()

  Returns the encoding name (usable with module Encode) based on the current codepage.  For example, `"cp1252"` for iso-8859-1 (latin-1) or `"cp932"` for Shift-JIS Japanese.  Returns undef if the encoding cannot be identified.

- **codepage\_to\_iso**($codepage)

  Translate windows `$codepage` into ISO code.  The `$codepage` is numeric or a hex string like '0x0304'.

- **iso\_locale**( \[$codepage\] )

  Returns the ISO string for the Microsoft codepage locale.  Might return `"undef"`/false.  By default, the actual codepage is used.

- **iso\_to\_codepage**($iso)

  Returns the numeric value of the codepage.  The `$iso` may look like this: `"xx_YY"`.  Then, first the `"xx_YY"` is looked-up.  If that does not exist, `"xx"` is tried.

- **ms\_codepage\_id**()

  Returns the numeric language ID for the current codepage language. For example, the numeric value for `0x0409` for `"en-US"`, and `0x0411` for `"ja"`.  Returns false if the codepage cannot be identified.

- **ms\_install\_codepage\_id**()

  Returns the numeric language ID for the installed codepage language. This is like *ms\_codepage\_id()*, but refers to the codepage that was the default when Windows was first installed.

- **ms\_locale**()

  Returns the locale setting from the control panel.

## SYNOPSYS

```
  # Only usable on Windows
  print codepage_to_iso(0x0413);   # nl-NL
  print iso_to_codepage('nl_NL');  # 1043
  printf "%x", iso_to_codepage('nl_NL');  # 413
  my $iso = iso_locale(ms_codepage_id());
  my $iso = iso_locale;  # same
  print charset_encoding;          # cp1252
  print ms_codepage_id;            # 1043
  print ms_install_codepage_id;    # 1043
  print ms_locale;                 # Dutch (Netherlands)
```

## SEE ALSO

This module is part of Log-Report-Lexicon distribution version 1.03, built on June 04, 2014. Website: *http://perl.overmeer.net/log-report/*

## LICENSE

Copyrights 2007-2014 by \[Mark Overmeer\]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See *http://www.perl.com/perl/misc/Artistic.html*
