gpt4 book ai didi

iOS Localizable.strings 未从 BASE 文件中检索

转载 作者:行者123 更新时间:2023-11-29 10:38:38 25 4
gpt4 key购买 nike

我在 iOS 上无法按照我认为的方式进行本地化,但这是我第一次涉足本地化,所以我可能有误解。

我有三个 Localizable.strings 文件:

基地

"TAB_TITLE_Camera" = "CAMERA";

英语

"TAB_TITLE_Camera" = "Camera";

西类牙语

"TAB_TITLE_Camera" = "Cámara";

NSLocalizedString(@"TAB_TITLE_Camera", nil)

iOS 6.1

Xcode 5 上与运行 iOS 6.1英语西类牙语的第 4 代 iPod Touch 似乎有效,但如果我更改为 German (或任何其他没有本地化文件的语言)它不会拉来自 Base Localizable.strings,而是从 English 文件中提取。

为什么它BASE文件中提取?

为什么 DOES 它从 English 文件中提取?


iOS 7.1

此外,对于运行 iOS 7.1第 5 代 iPod Touch,当我更改为德语时,它似乎从上次选择的语言中提取出来具有本地化文件,英语西类牙语。啊?!

最佳答案

找到了一种方法来确定我是否有当前所选语言的本地化文件,如果没有,我可以从 Base 本地化文件中提取。

NSString *path = [[NSBundle mainBundle] pathForResource:[[NSLocale preferredLanguages] objectAtIndex:0] ofType:@"lproj"];
if (path == nil)
{
path = [[NSBundle mainBundle] pathForResource:@"Base" ofType:@"lproj"];
}

NSLocalizedStringFromTableInBundle(@"TAB_TITLE_Camera", @"Localizable", [NSBundle bundleWithPath:path], @"");

如果当前语言是:

English 它返回Camera

西类牙语 它返回Cámara

任何没有本地化文件的东西都会返回CAMERA

满足我所有需要的简单解决方案。

适用于 iOS 6.1iOS 7.1

关于iOS Localizable.strings 未从 BASE 文件中检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25680874/

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