ios – 具有本地化应用程序名称的多个目标的本地化项目
我最近将5个独立项目合并成一个项目,以建立一个共同的代码基础。所以现在我有一个项目,而不是5个目标。
每个目标具有相同的文件集,除了一些不同于每个目标的文件(如Default.png和图标文件等)之外。 我最近写了这个问题:Several localizations yet still showing English only,发现我不能组合几个.strings文件。 (见我写的答案)。 所以我的问题如下: 更新 解决方法
我在XCode项目中破解了这个坚果,我相信它会解决同样的问题,希望这将有助于你。该解决方案包含由相同代码库(具有不同的应用程序名称)构建的两个目标,并且完全本地化,包括应用程序的名称。 (它建立我的免费增值应用程序增长(法语:Croissance,西班牙语:Crecer)和付费版本称为增长(法语:Croissance,西班牙语:Crecer)。
我也偶然发现了InfoPlist.string文件(仅包含应用程序的名称)。我通过在我的解决方案中使用子文件夹来解决问题,并将目标更改为将相关子文件夹中的本地化的InfoPlist.strings集合。具体来说,我有这个结构: Root +-- en.lproj | +-- Localizable.strings | +-- SomeXib.xib +-- es.lproj | +-- Localizable.strings | +-- SomeXib.xib +-- fr.lproj | +-- Localizable.strings | +-- SomeXib.xib +-- OnlyInAppA | +-- en.lproj | | +-- InfoPlist.strings | +-- es.lproj | | +-- InfoPlist.strings | +-- fr.lproj | +-- InfoPlist.strings +-- OnlyInAppB | +-- en.lproj | | +-- InfoPlist.strings | +-- es.lproj | | +-- InfoPlist.strings | +-- fr.lproj | +-- InfoPlist.strings +-- AppA.plist +-- AppB.plist 而我的目标(除了不同的预处理器符号和不同的.plist文件之外)之间的唯一区别是,AppA的构建设置包括OnlyInAppA下的Info.Plist.strings文件,而AppB的构建设置包括OnlyInAppB下的Info.Plist.strings文件。 我使用的命名约定(OnlyInAppA / OnlyInAppB文件夹,AppB / AppB plist文件)是显而易见的,使我认为这是一个令人满意的方法。 编辑: 请参阅这两个XCode 4屏幕截图,以查看哪里可以找到在目标中更改的设置。 >在目标构建设置中,指定了一个不同的plist文件(注意:添加新目标时,XCode会为您自动执行此操作) >在目标构建阶段,在复制捆绑资源部分中,从相关的OnlyInAppX子文件夹中选择InfoPlist.strings的版本(请注意此屏幕截图上的InfoPlist.strings旁边的灰色文本 – 这将显示另一个目标的不同位置)。您可以通过使用/ – 按钮来实现此目的,并将文件替换为预期的文件。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |