示例#1
0
        /// <summary>
        /// 根据类型 t 获取语言列表
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public static LanguageSetting getByApp( Type t )
        {
            String langStr = getLangString();
            Dictionary<String, LanguageSetting> langlist;

            langLocaleAll.TryGetValue( langStr, out langlist );

            if (langlist == null) {
                langlist = new Dictionary<String, LanguageSetting>();
                logger.Error( "no language: " + langStr );
            }

            LanguageSetting result;
            langlist.TryGetValue( t.FullName, out result );

            if (result == null) {
                result = LanguageSetting.NewNull();
                logger.Error( "no language config: " + langStr + " => " + t.FullName );
            }

            return result;
        }
示例#2
0
 private String getVal( Dictionary<String, String> dic, String key )
 {
     String val;
     dic.TryGetValue( key, out val );
     return val;
 }
示例#3
0
 public LanguageSetting( String name, Dictionary<String, String> lang )
 {
     this.name = name;
     this.langMap = lang;
 }
示例#4
0
文件: Lang.cs 项目: jilumvc/Sajoo
        //--------------------------------------------------------------------
        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;
        }
示例#5
0
文件: Lang.cs 项目: jilumvc/Sajoo
        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;
        }
示例#6
0
文件: Lang.cs 项目: jilumvc/Sajoo
        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;
        }
示例#7
0
文件: Lang.cs 项目: jilumvc/Sajoo
 //------------------------------------------------------------------
 /// <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;
 }
示例#8
0
        //--------------------------------------------------------------------
        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;
        }
示例#9
0
        private static LanguageSetting getCoreLang( String langStr )
        {
            Dictionary<String, LanguageSetting> langlist;
            langLocaleAll.TryGetValue( langStr, out langlist );

            if (langlist == null) {
                langlist = new Dictionary<String, LanguageSetting>();
                logger.Error( "no language: " + langStr );
            }

            String configName = "core";
            LanguageSetting ret;
            langlist.TryGetValue( configName, out ret );
            if (ret == null) {
                ret = LanguageSetting.NewNull();
                logger.Error( "no language config: " + langStr + " => " + configName );
            }
            return ret;
        }