gpt4 book ai didi

ios - iOS是通过程序将本地化文本插入应用程序的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-01 18:57:29 25 4
gpt4 key购买 nike

我正在研究我的应用程序的本地化,如果可以通过一些静态方法[AppStrings stringWithType:type]“集中”应用程序中的所有可本地化字符串是一个好主意,那么我会感到很困惑。

一方面,似乎集中化方法将使将来更容易地编辑可本地化的字符串,但另一方面,字符串本身不再可读,因此我将不得不定义许多枚举类型。

在大型项目中(100多个要本地化的字符串)进行字符串本地化的正确方法是什么? 我是否将NSLocalizedString()嵌入代码中,还是应该尝试以某种方式集中提供这些字符串?

typedef enum : NSUInteger {
ksCheckingCredentials,
ksError
} kStringType;

+(NSString*)stringWithType:(int)type

{
switch (type) {
case ksCheckingCredentials:
return NSLocalizedString(@"Checking Credentials",
@"Inform the user that credentials check is being performed");
break;
case ksError:
return NSLocalizedString(@"Error",
@"Generic error message to display to the user");
break;
default:
break;
}
}

- 要么 -
我是否仅在应用程序中100个不同的地方使用以下代码?
self.errorLabel.text = NSLocalizedString(@"Error",@"Generic error message to display to the user");

最佳答案

您可能会想在整个应用程序中重复使用翻译。例如,无处不在的地方有一个错误,您想要相同的本地化错误字符串。我过去这样做的方式是:

  • 制作一个LocalizedDefs.h文件(名称不重要),然后将其导入整个应用程序。在其中,您将为NSLocalized字符串添加一系列#define

  • 例:
    #define ksLocalizedError NSLocalizedString(@"Error", @"Generic error message to display to the user")
    然后,在您想要该错误的任何地方的代码中,只需放入 ksLocalizedError即可。
  • 最后,您显然想要翻译,因此在Localizeable.strings文件中只需设置翻译。

  • 示例: "Error" = "Error";

    关于ios - iOS是通过程序将本地化文本插入应用程序的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25730311/

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