示例#1
0
        public override bool UpdateParam(string calculatedModificationPath, SimpleTextTranslationCache cache,
                                         EventInfo.Param param)
        {
            var result  = false;
            var origKey = param.Name;

            foreach (var key in TextResourceHelper.GetTranslationKeys(param, origKey))
            {
                if (string.IsNullOrEmpty(key))
                {
                    continue;
                }

                if (cache.TryGetTranslation(key, true, out var translated))
                {
                    param.Name = translated;
                    TrackReplacement(calculatedModificationPath, origKey, translated);
                    TranslationHelper.RegisterRedirectedResourceTextToPath(translated, calculatedModificationPath);
                    result = true;
                    break;
                }

                if (AutoTranslatorSettings.IsDumpingRedirectedResourcesEnabled &&
                    LanguageHelper.IsTranslatable(origKey))
                {
                    cache.AddTranslationToCache(key, !string.IsNullOrEmpty(param.Name) ? param.Name : string.Empty);
                }
            }

            return(result);
        }