Ios Xcode本地化:无冗余的基本概念

Ios Xcode本地化:无冗余的基本概念,ios,swift,xcode,macos,localization,Ios,Swift,Xcode,Macos,Localization,我对Xcode中本地化的实现有点困惑。我知道,通过创建适当的XY.Iproj文件夹并将.strings和Localizable.strings文件插入其中,我可以提供任意数量的语言。这一切都会在Xcode中自动发生 不幸的是,我在理解基本概念时遇到了问题。据我目前所知,开发语言将在那里使用。在我的例子中,这是英语,所以我应该直接用英语在故事板和XIB文件中作为文本来写吗?例如,内容为“设置”的设置页面的标题(标签) 但是为什么我还有翻译成英语的.strings文件呢?这是多余的,因为我已经在基本

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

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

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

或者序列图像板和XIB文件是否应该只有“设置\页面\标题”这样的标识符作为标签的内容?但这是胡说八道,因为这些标签毫无用处

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

我希望你能给我一些启发。当然,我已经阅读了苹果的文档,在那里我的理解问题并没有像我需要理解的那样被讨论得那么多

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

Main.storyboard的内容(基础):

Main.strings的内容(英文):

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


据我所知,这样做是为了优化本地化文件的导入。也不能本地化一些.xib。如果您想了解本地化文件加载的方式、逻辑和顺序,请阅读Apple提供的以下文档:

否,Apple声明默认语言是存储在
CbundleDevelopmentRegion
中的语言。那是我的英语。如果我不提供意大利语,则使用英语(因为
CFBundleDevelopmentRegion
),它存储在en.Iproj文件夹中的Main.strings(英语)中。因此,不再使用来自基本情节提要的内容。所以我可以在基本故事板的每个文本字段中写“布拉赫”。。。我不明白这个基地是干什么的。它从.string中获取所有文本。即使我不支持所需的语言,也不会使用Base,但是en.lproj。。。我不明白,我急忙回答。事实证明,情况要复杂得多。我换了。谢谢你的零钱。因此,据我现在的理解,我可以删除en.Iproj文件夹吗,因为我的开发语言已经是英语了?在文件Main.storyboard中,我将直接添加英文文本,并且仅为进一步翻译,我将使用.strings文件创建XY.Iproj文件夹?关于我在问题中的形象,我必须删除Main.strings(英语),这样我只有Base(=>英语)和德语?
"tos-eB-aJc.title" = "Send Feedback";
"S56-oM-eis.title" = "Rate this App";