在德语中有正式(" Sie")和非正式(" Du")形式。我想将一些软件翻译成非正式的德语,特别是woocommerce using transiflex,但新语言只能使用其语言环境代码添加。
似乎只有de_DE作为语言环境。区分两种形式的最佳方法是,是否还应该为非正式形式提供另一种语言环境代码?
答案 0 :(得分:4)
通常Gettext使用@来区分语言变体。所以在这种情况下它可能是de_DE@informal
。通过这种方式,Gettext可以正确处理区域设置,并回退到de_DE
(与建议的de_DE-x-informal
相反,后者不会以这种方式回退,因为Gettext会将DE-x-informal
视为国家/地区代码。 / p>
您可以在https://www.gnu.org/software/gettext/manual/html_node/Locale-Names.html
命名的区域设置上找到更多信息答案 1 :(得分:2)
由于您询问了WooCommerce,解释WordPress处理它的当前状态可能是最相关的:
最好的方法是使用locale variants作为Michal写的,但WordPress有自己独特的扭曲,不使用变体语法。相反,他们在文件名中添加第三个组件,但不 -x-informal
:de_DE.mo
是WordPress中的非正式(也是后备,因为它缺少任何进一步的规范)变体{ {1}}包含正式变体。
答案 2 :(得分:1)
BCP 47(目前为RFC 5646)中定义的语言标记未指定德语的非正式与正式变体的任何代码。尝试注册这些代码可能是不现实的,因此您将被限制为私有使用子标签,例如, de-x-formal与de-x-informal。您的软件是否可以以任何方式处理这些问题是一个不同的问题。
在实践方面。 “Sie”与“Du”(或“du”)的选择几乎不是语言变体问题。标准德语使用两个代词以单数形式对某人进行处理,具体取决于演示风格和与被寻址者的关系。在极端情况下,我们可以说在指令或用户界面中一般性地解决用户的上下文中选择“Sie”与“Du”是语言变体问题。但在实际方面,请下定决心。