找回密码
 立即注册
查看: 513|回复: 0

Unity 使用I2工具完成自动化翻译

[复制链接]
发表于 2021-12-7 15:49 | 显示全部楼层 |阅读模式

12E38C99-D838-41D5-BB7F-3307F328949B.jpeg

1,首先在网上下载I2 Language 工具,获取全套源码

2,进入LocalizationEditor

找到UpdateTermsToShownInList方法,此方法会在加载资源时候触发一次,翻译当前资源文件
        static void UpdateTermsToShownInList()        {            EditorApplication.update -= UpdateTermsToShownInList;            mUpdateShowTermIsScheduled = false;            mShowableTerms.Clear();            mSelectedCategories.Sort();            foreach (KeyValuePair<string, ParsedTerm> kvp in mParsedTerms)            {                var parsedTerm = kvp.Value;                if (ShouldShowTerm(parsedTerm.Term, parsedTerm.Category, parsedTerm.Usage, parsedTerm))                    mShowableTerms.Add(parsedTerm);            }            GUITools.RepaintInspectors();            GUITools.ScheduleRepaintInspectors();                        // if (GameManager.Instance == null) return;            //Timer.Schedule(GameManager.Instance, 3, () =>            //{            //    Translate();            //});        }
下面需要写自动翻译代码:
        static void Translate()        {            Debug.Log("LinneaTerms 准备总数目 = " + mParsedTerms.Count);            var data = new List<TermData>();            foreach (var kvp in mParsedTerms)            {                var parsedTerm = kvp.Value;                if (parsedTerm.termData == null || mLanguageSource == null) continue;                var isHaveKong = false;                //排除已翻译完成的资源                for (var i = 0; i < mLanguageSource.mLanguages.Count; ++i)                {                    if (mLanguageSource.mLanguages.IsEnabled() && string.IsNullOrEmpty(parsedTerm.termData.Languages))                    {                        isHaveKong = true;                        break;                    }                }                if (isHaveKong)                {                    data.Add(parsedTerm.termData);                }            }            Debug.Log("LinneaTerms 自动翻译开始 总数目 " + data.Count);            doTranslate(0, data);        }
代码中我加了过滤,如果已经翻译了的资源,不会再次翻译,需要重新翻译,需屏蔽过滤代码。

执行以上代码,即可实现自动化翻译所有资源。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-23 01:25 , Processed in 0.088955 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表