首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >德文翻译的Gettext/Django :正式/非正式问候语

德文翻译的Gettext/Django :正式/非正式问候语
EN

Stack Overflow用户
提问于 2013-07-03 20:29:08
回答 2查看 245关注 0票数 2

我维护一个可插拔的Django应用程序,其中包含翻译。Python和HTML代码中的所有字符串都是用英语编写的。在将字符串翻译成德语时,我总是在努力解决德语区分正式和非正式演讲的问题(参见T区分)。因为这个应用程序是在不同的网站上使用的,从社交网络到银行网站,我不能只支持正式或非正式版本。因为翻译有很大的不同,所以我不可能把它参数化。例如:“你想注销吗?”会有以下两种翻译:

  • 伍伦·西希·索梅尔登?(正式)
  • 威斯特·杜迪希·阿默尔登?(非正式)

有什么能帮到我的吗?

EN

回答 2

Stack Overflow用户

发布于 2013-07-03 20:31:30

您可以使用语境标记为您的翻译提供额外的上下文。

代码语言:javascript
复制
logout = pgettext('casual', 'Do you want to log out?')

..。

代码语言:javascript
复制
logout = pgettext('formal', 'Do you want to log out?')
票数 4
EN

Stack Overflow用户

发布于 2016-11-06 09:23:57

在其他类似情况下,gettext和UNIX使用的最佳方法是使用地区变体。例如,sr_RS是(或曾经,因为塞尔维亚语被认为是元语言.)用西里尔语写的塞尔维亚语的代码。但它有时也是用拉丁文编写的,因此sr_RS@latin被用作语言名称,当然也用作MO文件名或目录。

在这里,请看一下我在系统中的一些翻译:

代码语言:javascript
复制
$ find /usr/local/share/locale | grep /sr
/usr/local/share/locale/sr
/usr/local/share/locale/sr/LC_MESSAGES
/usr/local/share/locale/sr/LC_MESSAGES/bash.mo
/usr/local/share/locale/sr/LC_MESSAGES/bfd.mo
/usr/local/share/locale/sr/LC_MESSAGES/binutils.mo
/usr/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo
/usr/local/share/locale/sr/LC_MESSAGES/gettext-tools.mo
/usr/local/share/locale/sr/LC_MESSAGES/glib20.mo
/usr/local/share/locale/sr/LC_MESSAGES/wget.mo
/usr/local/share/locale/sr@ije
/usr/local/share/locale/sr@ije/LC_MESSAGES
/usr/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo
/usr/local/share/locale/sr@latin
/usr/local/share/locale/sr@latin/LC_MESSAGES
/usr/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo
/usr/local/share/locale/sr_RS
/usr/local/share/locale/sr_RS/LC_MESSAGES
/usr/local/share/locale/sr_RS/LC_MESSAGES/mkvtoolnix.mo
/usr/local/share/locale/sr_RS@latin
/usr/local/share/locale/sr_RS@latin/LC_MESSAGES
/usr/local/share/locale/sr_RS@latin/LC_MESSAGES/mkvtoolnix.mo
$

因此,处理德语变体的最佳方法是相同的:对基本的非正式变体使用de (或de_DE),并有一个单独的翻译文件de_DE@formal和翻译的形式变体。

这基本上也是WordPress所做的。当然,作为WordPress,它们有自己的特殊风格,不使用变体语法,而是在文件名中添加第三个组件:de_DE.mo是非正式的(也是次要的,因为它没有进一步的规范)变体,de_DE_formal.mo包含正式的变体。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17457544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档