Mini Shell

Direktori : /scripts/
Upload File :
Current File : //scripts/get_locale_from_legacy_name_info

#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/get_locale_from_legacy_name_info
#                                                  Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

use Cpanel::Locale::Utils::Legacy ();

if ( !@ARGV || grep /--help/, @ARGV ) {
    show_help();
    exit;

}
elsif ( grep /--man/, @ARGV ) {
    show_man();
    exit;
}

for my $arg (@ARGV) {
    print "“$arg” maps to “" . Cpanel::Locale::Utils::Legacy::get_new_langtag_of_old_style_langname($arg) . "”\n";
}

sub show_help {

    print <<"END_HELP";
Usage: $0 {legacy_style_language_name} [{another_legacy_style_language_name} …]

Map language names used in the cPanel Legacy Language system to the new locale codes used in the Cpanel::Locale system.

Options:
  --help Show this help screen
  --man  Show the help screen and additional information

Multiple legacy language names can be specified as input.

Example:

    $0 French
    $0 fr French italiano spanish-utf8
    $0 fr French スペイン語 italiano spanish-utf8 中文 DANISH.lng Swedish.special "Heart cPanel"
END_HELP

}

sub show_man {

    show_help();

    print <<"END_MAN";

The cPanel legacy language system used arbitrary language names for identification.
The current Cpanel::Locale uses standard ISO language (and territory) codes to identify locales.
The Cpanel::Locale codes are also based on CLDR (http://cldr.unicode.org) which have locale data
defined accordingly. This utility is used for looking up the corresponding Cpanel::Locale code.

Any specified language/locale names that cannot be mapped are turned in to “i_” tag codes.
An “i_” tag is a standard way to create, identify, and work with a non-standard locale
by prefixing the code with the letter “i” followed by an underscore.
(e.g. i_abcdef, i_qa)
END_MAN

}

Zerion Mini Shell 1.0