/// <summary>
        ///     Gets a localization.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <returns>The localization.</returns>
        internal string GetLocalization(string key)
        {
            if (_cache.TryGetValue(key, out var value))
            {
                return(value);
            }

            if (MachineTranslationEnabled)
            {
                var defaultLocaleLocalization = LocalizationSystem.GetLocalization(key, DefaultLocale);
                var translation = LocalizationSystem.Apertium.Translate(defaultLocaleLocalization);
                _cache.Add(key, translation);
                return(translation);
            }

            return(LocalizationSystem.GetLocalization(key, DefaultLocale));
        }
 /// <summary>
 /// Gets the localization.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <returns>The localized text.</returns>
 public string GetLocalization(string key)
 {
     key = $"{PrependedLocalizationKey}{key}";
     return(LocalizationSystem.GetLocalization(key, Locale));
 }