public override void OnModLoad()
        {
            AutoRegisteredTranslations = new Dictionary <string, ModTranslation>();

            foreach (string culture in GetCultures())
            {
                foreach (string fileName in ExistingJsonFiles)
                {
                    try
                    {
                        using Stream stream = Mod.GetFileStream(GetFilePath(culture, fileName));
                        foreach ((string s, Dictionary <string, string> dictionary) in
                                 JsonUtilities.DeserializeJsonFromStream <Dictionary <string, Dictionary <string, string> > >(stream))
                        {
                            foreach ((string key, string value) in dictionary)
                            {
                                GetOrCreateTranslation($"{s}.{key}").AddTranslation(culture, value);
                            }
                        }
                    }
                    catch (KeyNotFoundException)
                    {
                        // ignore if localization file doesn't exist
                    }
                }
            }

            foreach (ModTranslation translation in AutoRegisteredTranslations.Values)
            {
                Mod.AddTranslation(translation);
            }
        }
Пример #2
0
 public static void AddModTranslations(Mod mod)
 {
     foreach (var k in _keys)
     {
         var translation = mod.CreateTranslation(k);
         translation.SetDefault(_en[k]);
         translation.AddTranslation(GameCulture.Chinese, _zh[k]);
         mod.AddTranslation(translation);
     }
 }
Пример #3
0
        public override void Load()
        {
            mod = this;

            ModTranslation text;

            text = mod.CreateTranslation("WOVisualControl");
            text.SetDefault("Toggle WeaponOut");
            mod.AddTranslation(text);

            text = mod.CreateTranslation("WOVisualShow");
            text.SetDefault("Weapon Visible");
            mod.AddTranslation(text);

            text = mod.CreateTranslation("WOVisualHide");
            text.SetDefault("Weapon Hidden");
            mod.AddTranslation(text);

            ControlToggleVisual = RegisterHotKey(GetTranslationTextValue("WOFistComboPower"), "#");
        }
Пример #4
0
        public void Load()
        {
            // 번역파일 로드
            JObject json = MKTCore.LoadJSON(Path.Combine(MKTCore.translatorPath, $"{mod.Name}.mkt"), true);

            if (json["items"] != null)
            {
                foreach (KeyValuePair <string, JToken> pair in json.Value <JObject>("items"))
                {
                    ModTranslation translation = mod.CreateTranslation(pair.Key);
                    translation.AddTranslation(Language.ActiveCulture, pair.Value.ToObject <string>());
                    mod.AddTranslation(translation);
                }
            }
        }
        public void PopulateModTranslation(ModTranslation translation, int item, Mod mod, string color = "ffffff", bool configTooltip = false)
        {
            string enText = configTooltip ? $"[c/{color}:{Translations[GameCulture.CultureName.English]}]" : Translations[GameCulture.CultureName.English];

            if (item != ItemID.None && !configTooltip)
            {
                enText = $"[i:{item}] " + enText;
            }

            foreach (GameCulture.CultureName culture in Translations.Keys)
            {
                translation.AddTranslation(GameCulture.FromCultureName(culture), string.IsNullOrEmpty(Translations[culture]) ? enText : (item != ItemID.None && !configTooltip ? $"[i:{item}] " : "") + (!configTooltip ? $"[c/{color}:{Translations[culture]}]" : ""));
            }

            mod.AddTranslation(translation);
        }
Пример #6
0
        public static void ImportMiscTexts(Mod mod, string path)
        {
            using (var fs = new FileStream(Path.Combine(path, "Miscs.json"), FileMode.Open))
            {
                using (var sr = new StreamReader(fs))
                {
                    var miscs = JsonConvert.DeserializeObject <TextFile.MiscFile>(sr.ReadToEnd());

                    foreach (var misc in miscs.miscs)
                    {
                        if (!string.IsNullOrWhiteSpace(misc.Value.Translation))
                        {
                            var translation = mod.CreateTranslation(misc.Key);
                            translation.AddTranslation(GameCulture.Chinese, misc.Value.Translation);
                            mod.AddTranslation(translation);
                        }
                    }
                }
            }
        }