/// <summary> /// Adds a single languagetoken and value /// </summary> /// <param name="key">Token the game asks</param> /// <param name="value">Value it gives back</param> public static void Add(string key, string value) { if (GenericTokens.ContainsKey(key)) { GenericTokens[key] = value; } else { GenericTokens.Add(key, value); } }
/// <summary> /// Adds a single languagetoken and its associated value to all languages /// </summary> /// <param name="key">Token the game asks</param> /// <param name="value">Value it gives back</param> public static void Add(string?key, string?value) { if (!Loaded) { throw new InvalidOperationException($"{nameof(LanguageAPI)} is not loaded. Please use [{nameof(R2APISubmoduleDependency)}(nameof({nameof(LanguageAPI)})]"); } if (GenericTokens.ContainsKey(key)) { GenericTokens[key] = value; } else { GenericTokens.Add(key, value); } }
/// <summary> /// Adds a single languagetoken and value with optional reload /// </summary> /// <param name="key">Token the game asks</param> /// <param name="value">Value it gives back</param> /// <param name="reload">if the dictionary of the game should be reloaded</param> public static void AddToken(string key, string value, bool reload = true) { if (GenericTokens.ContainsKey(key)) { GenericTokens[key] = value; } else { GenericTokens.Add(key, value); } if (reload) { ReloadLanguage(); } }
private static string Language_GetString_string_string(On.RoR2.Language.orig_GetString_string_string orig, string token, string language) { if (LanguageSpecificTokens.ContainsKey(language)) { if (LanguageSpecificTokens[language].ContainsKey(token)) { return(LanguageSpecificTokens[language][token]); } } if (GenericTokens.ContainsKey(token)) { return(GenericTokens[token]); } return(orig(token, language)); }