コード例 #1
0
ファイル: TranslationForm.cs プロジェクト: vaulthunter/sledge
        private TranslationStringsCollection LoadLanguageFile(Language lang, string enFile)
        {
            var prefix   = Path.GetFileName(enFile.Substring(0, enFile.Length - 8));
            var langFile = $"{prefix}.{lang.Code}.json";

            var appLang  = TranslationStringsCatalog.LoadLanguageFromFile(Path.Combine(_appTranslationsFolder, langFile));
            var userLang = TranslationStringsCatalog.LoadLanguageFromFile(Path.Combine(_userTranslationsFolder, langFile));

            var tsc = new TranslationStringsCollection();

            if (appLang != null)
            {
                foreach (var kv in appLang.Collection.Settings)
                {
                    tsc.Settings[kv.Key] = kv.Value;
                }
                foreach (var kv in appLang.Collection.Strings)
                {
                    tsc.Strings[kv.Key] = kv.Value;
                }
            }
            if (userLang != null)
            {
                foreach (var kv in userLang.Collection.Settings)
                {
                    tsc.Settings[kv.Key] = kv.Value;
                }
                foreach (var kv in userLang.Collection.Strings)
                {
                    tsc.Strings[kv.Key] = kv.Value;
                }
            }
            return(tsc);
        }
コード例 #2
0
 public TranslationsProvider(
     [Import] TranslationStringsCatalog catalog,
     [ImportMany("AutoTranslate")] IEnumerable <Lazy <object> > autoTranslate,
     [Import(AllowDefault = true)] IApplicationInfo appInfo)
 {
     _catalog       = catalog;
     _autoTranslate = autoTranslate;
     _appInfo       = appInfo;
 }
コード例 #3
0
ファイル: TranslationForm.cs プロジェクト: vaulthunter/sledge
        /// <summary>
        /// Construct the translator form
        /// </summary>
        public TranslationForm()
        {
            InitializeComponent();

            _catalog = Common.Container.Get <TranslationStringsCatalog>();
            _appInfo = Common.Container.Get <IApplicationInfo>();

            _appTranslationsFolder  = Path.Combine(Path.GetDirectoryName(GetType().Assembly.Location), "Translations");
            _userTranslationsFolder = _appInfo.GetApplicationSettingsFolder("Translations");

            var source = new DataTable("Translations");

            source.Columns.Add("ID", typeof(string));
            source.Columns.Add("Type", typeof(string));
            source.Columns.Add("FriendlyID", typeof(string));
            source.Columns.Add("English", typeof(string));
            source.Columns.Add("Translation", typeof(string));
            dataGridView.DataSource = source;

            PopulateLanguageList();
            PopulateFileList();
        }