Log::Report::Win32Locale(3) unix/windows locales


   is a Exporter


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.


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.
Translate windows CODEPAGE into ISO code. The CODEPAGE is numeric or a hex string like '0x0304'.
Returns the ISO string for the Microsoft codepage locale. Might return "undef"/false. By default, the actual codepage is used.
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.
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.
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.
Returns the locale setting from the control panel.


  # 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)


Copyrights 2007-2011 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