#!/usr/bin/perl

use strict;

my %LanguagePrefixToIso = (   "01" => "en",
						"03" => "pt",
						"07" => "ru",
						"30" => "el",
						"31" => "nl",
						"33" => "fr",
						"34" => "es",
						"35" => "fi",
						"37" => "ca",
						"39" => "it",
						"42" => "cs",
						"43" => "sk",
						"45" => "da",
						"46" => "sv",
						"48" => "pl",
						"49" => "de",
						"55" => "pt_BR",
						"81" => "ja",
						"82" => "ko",
						"86" => "zh-CN",
						"88" => "zh-TW",
						"90" => "tr",
						"96" => "ar",
					   );

my %LanguageIsoToPrefix;

foreach (keys %LanguagePrefixToIso) {
	$LanguageIsoToPrefix{$LanguagePrefixToIso{$_}} = $_;
}

my %LanguageIsoToName = (     "en" => "english_us",
						"pt" => "portuguese",
						"ru" => "russian",
						"el" => "greek",
						"nl" => "dutch",
						"fr" => "french",
						"es" => "spanish",
						"fi" => "finnish",
						"ca" => "catalan",
						"it" => "italian",
						"cs" => "czech",
						"sk" => "slovak",
						"da" => "danish",
						"sv" => "swedish",
						"pl" => "polish",
						"pt_BR" => "portuguese_brazilian",
						"de" => "german",
						"ja" => "japanese",
						"ko" => "korean",
						"zh-CN" => "chinese_simplified",
						"zh-TW" => "chinese_traditional",
						"tr" => "turkish",
						"ar" => "arabic",
					);

my ($LanguageCode, $LanguageMap);

while ($ARGV[0] =~ /^-/) {
    $_ = shift;
    if (m/^-i/) {
		$LanguageMap = \%LanguagePrefixToIso;
    }
    elsif (m/^-l/) {
		$LanguageMap = \%LanguageIsoToName;
    }
	elsif (m/^-p/) {
		$LanguageMap = \%LanguageIsoToPrefix;
	}
    else {
		die "$0: unknown option $_\n";
    }
}

die "$0: no operation specified on command line\n"
    if (!$LanguageMap);

die "$0: no language code specified on command line\n"
    if (!($LanguageCode = shift));

die "$0: no mapping found for $LanguageCode\n"
	if (!(%$LanguageMap->{$LanguageCode}));

print $LanguageMap->{$LanguageCode}, "\n";
