NSLocalizedString 与变量 Swift

作者:编程家 分类: ios 时间:2025-11-13

多语言文章是一种常见的需求。在 Swift 中,我们可以使用 NSLocalizedString 函数来实现这个功能。这个函数可以根据给定的 key 值自动匹配对应的语言资源文件,并返回对应的翻译结果。

首先,我们需要在项目中创建多个语言资源文件,例如 English.lproj、Chinese.lproj 等。然后,在每个资源文件中,我们可以创建一个名为 Localizable.strings 的文件,用于存储各个语言的翻译字符串。

下面是一个使用 NSLocalizedString 的示例代码:

swift

let articleTitle = NSLocalizedString("article_title", comment: "Article Title")

let articleContent = NSLocalizedString("article_content", comment: "Article Content")

print("

\(articleTitle)

")

print("

\(articleContent)

")

在这个示例中,我们使用 NSLocalizedString 函数来获取文章标题和内容的翻译结果。其中,第一个参数是资源文件中的 key 值,第二个参数是一个可选的注释,用于帮助翻译者理解该字符串的上下文。根据当前设备的语言设置,NSLocalizedString 函数会自动匹配对应的语言资源文件,并返回对应的翻译结果。

注意,在文章的标题中,我们使用了 `

` 标签来表示标题的重要性。为了在字符串中插入 HTML 标签,我们可以使用 `String(format:...)` 函数来动态构建字符串。

接下来,我们可以在多个语言资源文件中分别添加对应的翻译字符串。例如,在 English.lproj/Localizable.strings 文件中,我们可以添加如下内容:

plaintext

"article_title" = "Welcome to My Blog";

"article_content" = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";

而在 Chinese.lproj/Localizable.strings 文件中,我们可以添加如下内容:

plaintext

"article_title" = "欢迎来到我的博客";

"article_content" = "这是一篇范例文章,用于演示如何 多语言文章。";

这样,当我们的设备语言设置为英文时,运行上述代码将会输出以下结果:

html

Welcome to My Blog

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

而当我们的设备语言设置为中文时,输出结果将会是:

html

欢迎来到我的博客

这是一篇范例文章,用于演示如何 多语言文章。

使用 NSLocalizedString 生成多语言文章的示例代码