#!/usr/bin/perl

use strict;

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

my %LanguageIsoToPrefix;

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

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

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";
