/// <summary> /// Add your mod's custom localization. Only one <see cref="CustomLocalization"/> can be added per mod. /// </summary> /// <param name="customLocalization">The localization to add.</param> /// <returns>true if the custom localization was added to the manager.</returns> public bool AddLocalization(CustomLocalization customLocalization) { if (Localizations.Any(x => x.SourceMod == customLocalization.SourceMod)) { Logger.LogWarning($"{customLocalization} already added"); return(false); } Localizations.Add(customLocalization); return(true); }
/// <summary> /// Get the CustomLocalization for a given mod. /// Creates a new <see cref="CustomLocalization"/> if no localization was added before. /// </summary> /// <returns>Existing or newly created <see cref="CustomLocalization"/>.</returns> internal CustomLocalization GetLocalization(BepInPlugin sourceMod) { var ret = Localizations.FirstOrDefault(ctx => ctx.SourceMod == sourceMod); if (ret != null) { return(ret); } if (sourceMod == Main.Instance.Info.Metadata) { return(JotunnLocalization); } ret = new CustomLocalization(sourceMod); Localizations.Add(ret); return(ret); }