private void LoadTranslation() { string translation_dir = BepInEx.Utility.CombinePaths(Paths.PluginPath, PLUGIN_DIR, "Translation"); if (!Directory.Exists(translation_dir)) { Logger.LogError("Translation directory does not exist : " + translation_dir); return; } foreach (var filePath in Directory.GetFiles(translation_dir)) { var extension = Path.GetExtension(filePath); if (extension == ".po") { POTranslationSource source = new POTranslationSource(filePath, true); if (Path.GetFileNameWithoutExtension(filePath).ToLower().Contains("dialog")) { source.EnableStrNo = true; source.StrNoPrefix = "D"; } TranslationManager.AddSource(source); Logger.LogInfo("Added translation source " + Path.GetFileName(filePath)); } } }
private void LoadTranslation() { string translation_dir = Path.Combine(GetPluginDir(), "Translation"); if (!Directory.Exists(translation_dir)) { Logger.LogError("Translation directory does not exist : " + translation_dir); return; } var stringNumberConfig = GetStringNumberConfig(); foreach (var filePath in Directory.GetFiles(translation_dir)) { if (Path.GetExtension(filePath) != ".po") { continue; } var source = new POTranslationSource(filePath, true); var poName = Path.GetFileNameWithoutExtension(filePath).ToLowerInvariant(); if (stringNumberConfig.TryGetValue(poName, out string prefix)) { source.EnableStrNo = true; source.StrNoPrefix = prefix; } TranslationManager.AddSource(source); Logger.LogInfo("Added translation source " + Path.GetFileName(filePath)); } var imageNameDict = new Dictionary <string, string>(); var buttonImageSource = Resources.Load <I2.Loc.LanguageSourceAsset>("Languages/ButtonsImagesLanguages").mSource; int englishIndex = buttonImageSource.GetLanguageIndex("English"); foreach (var term in buttonImageSource.mTerms) { imageNameDict.Add(term.Term, term.Languages[englishIndex]); } var imageSource = new DictTranslationSource(imageNameDict); TranslationManager.AddSource(imageSource); }