gpt4 book ai didi

cocoa - Cocoa 可以自动处理法语本地化字符串的缩写吗?

转载 作者:行者123 更新时间:2023-12-03 16:51:24 25 4
gpt4 key购买 nike

我有一个本地化的 NSString ,类似于“你赢了。是 Chuck Norris。”。其法语翻译为“Gagne. il s'agissait bien de Chuck Norris”。但当名字以元音开头时,应该说“Gagné. il s'agissait bien d'Alfred Hitchcock”。

NSString 是否为这些情况提供支持,还是我需要手动翻译每种可能性?

最佳答案

如果您尝试使用像 NSLocalizedString() 这样的工具进行本地化,很多语言(尤其是具有语法性别的语言)中都会出现这样的变体,并且会带来很多麻烦去处理。没有内置的 change-strings-if-starting-with-a-vowel 方法,但类似这样的方法是必要的(伪代码):

if (language == LANG_FRENCH) {
if (myName.startsWith(ANY_VOWEL)) {
result = format(@"Gagné ... d'%@", myName);
} else {
result = format(@"Gagné ... de %@", myName);
}
}

为什么我给你伪代码而不是真实代码?因为这是完成这项工作的错误方法。它很困惑,很丑陋,而且有很多边缘情况。例如,法语中的字母“H”可以是“送气”或“非送气”,一个是“l'/d'”,另一个是“le/la/de”(比较“l'hôtel”)和“le hockey”。)这种区别是任意的,不能仅通过检查单词的拼写来确定。

不要尝试将格式字符串与名称相匹配,而是尝试将格式字符串更改为中性。不要使用 “Il s'agissait bien d'%@.”,而是尝试使用 “Le nom? C'est %@!”,以便确定姓名的性别和拼写不影响本地化。不同的语言在这里会有不同的选项。

关于cocoa - Cocoa 可以自动处理法语本地化字符串的缩写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11207860/

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