Пример #1
0
        protected virtual void ApplyTranslations(ChaFile file)
        {
            if (file.TryGetTranslationHelperController(out var controller))
            {
                controller.ApplyTranslations();
                return;
            }

            var sex = file.GetSex();

            // partially loaded, no controller available
            foreach (var entry in file.EnumerateNames())
            {
                var scope = new NameScope(sex, file.GetNameType(entry.Key));
                if (TryGetRecentTranslation(scope, entry.Value, out var translatedName) &&
                    !TranslationHelper.NameStringComparer.Equals(translatedName, entry.Value))
                {
                    file.SetName(entry.Key, translatedName);
                }
            }
        }
Пример #2
0
        private void ApplyTranslations(ChaFile file)
        {
            if (file.TryGetTranslationHelperController(out var controller))
            {
                controller.ApplyTranslations();
                return;
            }

            var sex = file.GetSex();

            // partially loaded, no controller available
            foreach (var entry in file.EnumerateNames())
            {
                var scope = new NameScope(sex, file.GetNameType(entry.Key));
                if (NoTranslate[scope].Contains(entry.Value))
                {
                    continue;
                }
                if (RecentTranslationsByName[scope].TryGetValue(entry.Value, out var translatedName))
                {
                    file.SetName(entry.Key, translatedName);
                }
            }
        }