繁体   English   中英

有关Django本地化的一些问题

[英]Some questions about Django localisation

我打算本地化Django应用程序,并开始在Django网站上阅读本地化信息。 这使我想到了几个问题:

  1. 看来,当您运行'django-admin.py makemessages'命令时,它将扫描文件中的嵌入字符串并生成一个包含翻译的消息文件。 这些翻译将映射到文件中的字符串。 例如,如果我的HTML字符串中显示“请输入收件人名称”,则Django会将其视为消息ID。 如果我更改了字符串中的内容,将会发生什么。 假设我在“收件人”一词中添加了缺失的撇号。 这会中断翻译吗?

  2. 关于上述情况,是在源代码中使用完整的句子(可能会更改)还是更好的选择?或者使用“ RECIPIENT_NAME”之类的词来更改或映射的可能性较小?

  3. 'django-admin.py makemessages'命令是否也扫描Python源?

谢谢。

  1. 在某些情况下,很可能会检测到“相似”的字符串,并且您的翻译将被标记为模糊。 但这取决于字符串的类型,我不知道添加撇号会做什么。 阅读GNU gettext文档 ,以获取有关此信息的更多信息。 但是,解决您的问题的一个简单方法是:不要修正原始拼写错误,而是进行英语到英语的翻译,其中翻译后的字符串是正确的:)。 我个人不推荐这种方法,但是如果您担心破坏数十个翻译文件,则可以考虑使用。

  2. 不,不是,它丢弃了所有上下文感。 对于只需要几个翻译字符串且真正了解确切上下文的网站,它看起来可能更清晰。 但是,只要翻译文件中有100多个字符串,像这样的短名称就什么也没说,您将始终必须查找确切的上下文。 更糟糕的是,对于实际上必须以不同方式翻译的内容,您可能会使用相同的“短名称”,这最终会给您提供怪异的短名称来处理这两种情况。 最后,如果您使用一种普通语言作为默认语言,则无需再显式翻译该语言。

  3. 是的,它确实存在,存在多种功能可在python中标记字符串以进行翻译,可在此处找到概述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM