多语言文章是一种常见的需求。在 Swift 中,我们可以使用 NSLocalizedString 函数来实现这个功能。这个函数可以根据给定的 key 值自动匹配对应的语言资源文件,并返回对应的翻译结果。
首先,我们需要在项目中创建多个语言资源文件,例如 English.lproj、Chinese.lproj 等。然后,在每个资源文件中,我们可以创建一个名为 Localizable.strings 的文件,用于存储各个语言的翻译字符串。下面是一个使用 NSLocalizedString 的示例代码:swiftlet 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" = "这是一篇范例文章,用于演示如何 多语言文章。";
这样,当我们的设备语言设置为英文时,运行上述代码将会输出以下结果:htmlWelcome to My Blog
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
而当我们的设备语言设置为中文时,输出结果将会是:html欢迎来到我的博客
这是一篇范例文章,用于演示如何 多语言文章。
使用 NSLocalizedString 生成多语言文章的示例代码
Welcome to My Blog
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
欢迎来到我的博客
这是一篇范例文章,用于演示如何 多语言文章。