ios – Xcode本地化:保持翻译与Storyboard同步

ios – Xcode本地化:保持翻译与Storyboard同步,第1张

概述这是我们的本地化工作流程: >在界面构建器中构建东西 >出口项目进行本地化 >翻译器查看xliff文件并应用新字符串的翻译(仅新的未翻译字符串) >将xliff导入项目 这适用于构建新东西.但是,如果开发人员更改了已经翻译的故事板中标签中的文本,他将不得不记住删除该标签的翻译,因此翻译人员将该字符串视为未翻译.如果开发人员忘记删除该翻译,则翻译将是错误的,这是一个非常难以找到的错误. 代码本地化时 这是我们的本地化工作流程:

>在界面构建器中构建东西
>出口项目进行本地化
>翻译器查看xliff文件并应用新字符串的翻译(仅新的未翻译字符串)
>将xliff导入项目

这适用于构建新东西.但是,如果开发人员更改了已经翻译的故事板中标签中的文本,他将不得不记住删除该标签的翻译,因此翻译人员将该字符串视为未翻译.如果开发人员忘记删除该翻译,则翻译将是错误的,这是一个非常难以找到的错误.

代码本地化时,如下所示:

var testString = NSLocalizedString("Some text in english",comment: "just a test string")

字符串(“一些英文文本”)定义xliff文件中的键,这意味着如果更改了字符串,则导出的xliff文件将自动具有需要翻译的新字符串.

我试图用xcode的“导出本地化…”函数解决问题,使用genstrings,并使用BartyCrounch,但所有方法似乎都使用UI元素的对象ID作为.strings文件的键.这意味着它不会对实际字符串中的更改做出反应.

到目前为止,我发现的唯一解决方案是通过IBOutlet在代码中设置需要在故事板中进行翻译的每个字符串,但这是一个非常全面的解决方案.

您知道解决此问题的任何工具或方法吗?

解决方法 我尝试了你所说的,理解你的意思.我认为解决方案很简单.

首先,我在故事板中添加了一个新按钮,将其命名为“Test”.然后我用中文翻译,导入翻译.将“测试”更改为“GoGo”并再次导出翻译. xliff部分改为

<trans-unit ID="Jso-qF-Z1t.Title">        <source>Test</source>        <target>测试</target>        <note>Class = "NSbuttonCell"; Title = "Test"; ObjectID = "Jso-qF-Z1t";</note></trans-unit>

<trans-unit ID="Jso-qF-Z1t.Title">        <source>GoGo</source>        <target>测试</target>        <note>Class = "NSbuttonCell"; Title = "GoGo"; ObjectID = "Jso-qF-Z1t";</note></trans-unit>

接下来做什么

我不知道是否有现成的工具.但你可以使用Git,因为它总能找到差异.

脚步:

>将翻译文件夹添加到git
>提交当前文件
>从Xcode导出新的翻译
>用git查看差异

正如您在图片中看到的那样,git已经显示了哪些更改,这是您应该再次翻译的位置.

总结

以上是内存溢出为你收集整理的ios – Xcode本地化:保持翻译与Storyboard同步全部内容,希望文章能够帮你解决ios – Xcode本地化:保持翻译与Storyboard同步所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1005916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存