//-------------------------------------------------------------------- private static Dictionary<String, Dictionary<String, LanguageSetting>> getLangLocale() { String dirRoot = PathHelper.Map( getLangRootPath() ); String[] dirPaths = Directory.GetDirectories( dirRoot ); Dictionary<String, Dictionary<String, LanguageSetting>> results = new Dictionary<String, Dictionary<String, LanguageSetting>>(); foreach (String path in dirPaths) { String langName = Path.GetFileName( path ); results.Add( langName.ToLower(), getLangList( path ) ); } return results; }
private static Dictionary<String, LanguageSetting> getLangList( String path ) { String[] files = Directory.GetFiles( path ); Dictionary<String, LanguageSetting> results = new Dictionary<String, LanguageSetting>(); foreach (String file in files) { if (Path.GetExtension( file ) != ".config") continue; String fileName = Path.GetFileNameWithoutExtension( file ); Dictionary<String, String> _lang = cfgHelper.Read( file, '=' ); LanguageSetting lbl = new LanguageSetting( fileName, _lang ); results.Add( fileName, lbl ); } return results; }
//------------------------------------------------------------------ /// <summary> /// 获取所有支持的语言包 /// </summary> /// <returns></returns> public static List<Dictionary<String, String>> GetSupportedLang() { List<Dictionary<String, String>> list = new List<Dictionary<String, String>>(); foreach (String key in langLocaleAll.Keys) { Dictionary<String, String> pair = new Dictionary<String, String>(); pair.Add( "Name", GetLangInfo( key ) ); pair.Add( "Value", key ); list.Add( pair ); } return list; }
private static Dictionary<String, String> getLangInfo() { Dictionary<String, String> map = new Dictionary<String, String>(); map.Add( "en-us", "English (US)" ); map.Add( "en-gb", "English (British)" ); map.Add( "zh-cn", "中文(简体)" ); // skipLang map.Add( "zh-tw", "正體中文(繁體)" ); // skipLang map.Add( "ja", "日本語" );// skipLang map.Add( "ko", "한국어" ); map.Add( "fr", "Français" ); map.Add( "de", "Deutsch" ); map.Add( "it", "Italiano" ); return map; }
//-------------------------------------------------------------------- private static Dictionary<String, Dictionary<String, LanguageSetting>> getLangLocale() { String dirRoot = PathHelper.Map( getLangRootPath() ); if (Directory.Exists( dirRoot ) == false) { logger.Error( "no language directory: " + dirRoot ); return new Dictionary<String, Dictionary<String, LanguageSetting>>(); } String[] dirPaths = Directory.GetDirectories( dirRoot ); Dictionary<String, Dictionary<String, LanguageSetting>> results = new Dictionary<String, Dictionary<String, LanguageSetting>>(); foreach (String path in dirPaths) { String langName = Path.GetFileName( path ); results.Add( langName.ToLower(), getLangList( path ) ); } if (results.Count == 0) { logger.Error( "no language sub directory: " + dirRoot ); } return results; }