gpt4 book ai didi

ios - 为每个目标创建不同的 Localizable 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:02:18 24 4
gpt4 key购买 nike

我想问你一个与本地化相关的 iOS 应用程序的问题。我的应用程序有一些目标,我们使用为每个客户个性化的相同应用程序库,这意味着每个目标都有自己的设计、颜色、字体,并且希望每个目标 View 和标签都有不同的文本。

我们有一个参数化来维护应用程序的这种个性化,但我对本地化有疑问。我想为不同语言的每个目标提供一组不同的本地化字符串,因为也许在一个目标中, View 必须显示“自行车站”,但在另一个目标中必须显示“汽车站”(以相应的语言)。

我可以为每种语言创建一个唯一的本地化文件,其中不同的参数为每个目标字符串添加一个前缀,但这不是那么可维护的。我正在尝试找到一种方法来保持结构简单,每个应用程序都具有相同的文字,仅更改每个客户希望在每个标签上显示的文本。

我尝试定义两个不同的 Localizable 文件并将它们中的每一个分配给一个唯一的目标,如下图所示

Localization by target

但是当我打开我的第二个目标时,任何可本地化的字符串都会被识别

您知道我的问题是什么吗?或者我该怎么做才能为每个目标定义多种语言的不同本地化文件?

在此先感谢您的帮助:)

最佳答案

我有一个 Translation 类,其中有一个 forKey:NSString 方法。

NSString *text = NSLocalizedStringFromTable(key, @"Localizable_base", nil);
text = NSLocalizedStringWithDefaultValue(key,
@"Localizable_target",
[NSBundle mainBundle],
text,
nil);
if(!text)
text = key;

首先获取默认值。然后将其作为默认值传递给特定的目标。如果您有未在 base 中列出的字符串,首先获取特定于目标的字符串,检查是否有值,如果没有,将 text 设置为默认值。

您还可以看看我的老问题,该问题必须为目标处理不同的语言: Allow only specific translations for different schemes/targets

关于ios - 为每个目标创建不同的 Localizable 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28431688/

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