using System; using System.Globalization; using System.Collections.Generic; using System.Collections.Immutable; using Barotrauma.LuaCs.Data; namespace Barotrauma.LuaCs.Services; public interface ILocalizationService : IService { IReadOnlyCollection GetLoadedLocales(); void Remove(ImmutableArray localizations); bool TrySetCurrentCulture(CultureInfo culture); bool TrySetCurrentCulture(string cultureName); bool TryLoadLocalizations(ImmutableArray localizationResources); string GetLocalizedString(string key, string fallback); string GetLocalizedString(string key, CultureInfo targetCulture); bool TryRegisterLocalizationResolver(CultureInfo targetCulture, Func factoryResolver); bool ReplaceSymbols(string text, string symbolExpr); bool IsCurrentCultureSupported(IResourceCultureInfo culturesInfo); }