string selection_decode (string lan, string s) { if ((lan == "czech") || (lan == "hungarian") || (lan == "polish") || (lan == "slovene")) return il2_to_cork (s); else if ((lan == "bulgarian") || (lan == "russian")) return iso_to_koi8 (s); else if (lan == "ukrainian") return iso_to_koi8uk (s); else if (lan == "spanish") return ispanish_to_spanish (s); else if (lan == "german") return igerman_to_german (s); else return s; }
string get_date (string lan, string fm) { //#if defined(__MINGW__) || defined(__MINGW32__) || defined(OS_WIN32) // return win32::get_date(lan, fm); if (invalid_format (fm)) { if ((lan == "british") || (lan == "english") || (lan == "american")) fm= "%B %d, %Y"; else if (lan == "german") fm= "%d. %B %Y"; else if (lan == "chinese" || lan == "japanese" || lan == "korean" || lan == "taiwanese") { string y= simplify_date (var_eval_system ("date +\"%Y\"")); string m= simplify_date (var_eval_system ("date +\"%m\"")); string d= simplify_date (var_eval_system ("date +\"%d\"")); if (lan == "japanese") return y * "<#5e74>" * m * "<#6708>" * d * "<#65e5>"; if (lan == "korean") return y * "<#b144> " * m * "<#c6d4> " * d * "<#c77c>"; return y * "," * m * "," * d; } else fm= "%d %B %Y"; } lan= language_to_locale (lan); string lvar= "LC_TIME"; if (get_env (lvar) == "") lvar= "LC_ALL"; if (get_env (lvar) == "") lvar= "LANG"; string old= get_env (lvar); set_env (lvar, lan); string date= simplify_date (var_eval_system ("date +\"" * fm * "\"")); if ((lan == "cz_CZ") || (lan == "hu_HU") || (lan == "pl_PL")) date= il2_to_cork (date); // if (lan == "ru_RU") date= iso_to_koi8 (date); set_env (lvar, old); return date; }