gpt4 book ai didi

ios - Xcode 本地化 : Base concept without redundancy

转载 作者:行者123 更新时间:2023-11-30 10:23:55 24 4
gpt4 key购买 nike

我对 Xcode 中本地化的实现有点困惑。我知道通过创建适当的 XY.Iproj 文件夹并向其中插入 .strings 和 Localizable.strings 文件,我可以提供任意多种语言。这一切都通过 Xcode 自动发生。

不幸的是,我在理解基本概念时遇到了问题。据我所知,到目前为止,开发语言将在那里使用。就我而言,这是英语,所以我应该直接用英语在 Storyboard和 XIB 文件中编写文本吗?例如,设置页面的标题(标签)内容为“设置”?

但是为什么我还有翻译成英文的 .strings 文件?这将是多余的,因为我已经直接在 Base 文件中输入了英文文本,并且 .strings 文件再次包含相同的文本。

或者 Storyboard 和 XIB 文件是否应该仅将“settings_page_headline”之类的标识符作为标签内容?但这是无稽之谈,因为这些标签没有任何用处......

或者,如果我已经在 Storyboard和 XIB 文件中插入了英文内容,我可以完全删除英文翻译的 .strings 吗?

希望您能给我一点启发。当然我已经阅读了Apple的文档,那里我的理解问题没有讨论到我需要理解的程度。

Main.storyboard(基础)和Main.strings(英语)包含相同的内容:

Main.storyboard and Main.strings (English) contain the same content

Main.storyboard(基础)的内容: Content of the Main.storyboard (Base)

Main.strings 的内容(英文):

"tos-eB-aJc.title" = "Send Feedback";
"S56-oM-eis.title" = "Rate this App";

最佳答案

摘自苹果文档:Xcode 在您的项目文件夹中创建一个 Base.lproj 文件夹,并向其中添加您选择的资源文件。 Xcode 为开发语言创建一个语言文件夹,但仅将需要翻译的资源添加到该文件夹​​中。例如,如果您选择英语作为开发语言,Xcode 会将资源文件插入 Base.lproj 项目文件夹中,而不是 en.lproj 文件夹中,因为该资源已经是英语的。链接:InternationalizingYourUserInterface

据我了解,这样做是为了优化本地化文件的导入。您也无法本地化某些 .xib 。如果您想了解本地化文件的加载方式、逻辑和顺序,请阅读 Apple 的此文档:LocalizingYourApp

关于ios - Xcode 本地化 : Base concept without redundancy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60188996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com