gpt4 book ai didi

Swift NSLocalizedString 实际使用

转载 作者:可可西里 更新时间:2023-10-31 23:56:36 25 4
gpt4 key购买 nike

我无法理解也无法找到任何向我展示 NSLocalizedString 实际用法的资源。甚至苹果文档..

NSLocalizedString(<#key: String#>, tableName: <#String?#>, 
bundle: <#NSBundle#>, value: <#String#>, comment: <#String#>)

好吧,假设我在一个文件中创建了这个,我该如何为不同的语言编写这个?
我是否创建了整个文件的本地化版本,例如:en.thisfile.swift、es.thisfile.swift、fr.thisfile.swift?

或者我是否在不同的包或表中创建新语言?

NSLocalizedString("hello", tableName: "en", value: "hello", comment: "wtf is this anyways?")
NSLocalizedString("hello", tableName: "fr", value: "bonjour", comment: "wtf is this anyways?")
NSLocalizedString("hello", tableName: "es", value: "hola", comment: "wtf is this anyways?")

然后设置好后如何在随机文件中使用呢?

println("dat nslocalizedstring I created, which will automatically know what to write??")

最佳答案

table 是定义字符串的文件的名称,例如,表“ErrorMessages”将定义一个名为 ErrorMessages.strings 的文件。

如果没有指定表格,文件将是默认的 Localizable.strings。该文件的格式是以下列表:

/* This is displayed when the entity is not found. */
"MSG_object_not_found" = "Object not found. Please, try again.";

其中第一行是注释,左边的值是标识字符串的,右边的值是实际本地化的值。

通常,您可以使用英文值作为键(NSLocalizedString 的2 参数版本)。语言名称(enfres)不是方法调用的一部分。

所有这些都是为了让翻译变得简单。请注意,大多数翻译人员不会理解甚至看不到该应用程序,这就是为什么有一个好的评论为消息提供上下文很重要。互联网上到处都是有趣的翻译示例,这些示例是由于上下文缺失而翻译人员不知道他们在翻译什么。

基本上,您的代码将包含您的主要语言的文本,然后您将使用 genstring 工具从您的代码生成 .strings 文件(参见 this更多信息)。然后您将文件提供给翻译人员,将翻译后的文件添加到您的应用程序中(每种语言都在不同的文件夹中),应用程序将在运行时根据用户选择的语言选择正确的文件。

关于Swift NSLocalizedString 实际使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26650075/

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