2024-06-17 09:24:44 发布
网友
我正在制作一个多语种的Django网站。我创建了一个消息文件,填充并编译了它。我用我想要的语言(希伯来语)检查了网站(在本例中是管理员),大多数短语都应该以希伯来语出现,但有些没有。我检查了源代码,这些短语仍然应该以_('Whatever')的形式出现,也在消息文件中翻译,是的,我记得要做compilemessages。
_('Whatever')
compilemessages
有哪些常见的原因导致翻译不能像这样出现?
可能翻译的字符串被标记为fuzzy?
fuzzy
嗨,只是附上一些我过去不得不做的修复:
在设置文件中 -需要USE_I18N = True
USE_I18N = True
中间件模块之间的django.middleware.locale.localemidleware(但只要django根本不关心您的本地特性,就不一定是这样)
django.core.context_processors.i18n在模板_context_processors中
当然,我还有其他与翻译有关的问题,但我不记得所有这些。。。希望这能有帮助!
刚被一个击中。我在项目的根目录中有locale/目录,但默认情况下,INSTALLED_APPS目录和默认翻译中有Django looks for translations。所以它没有找到我添加的翻译。但是我的一些字符串在Django附带的默认翻译中(例如“Search”),所以有一些字符串被翻译了,这让我很困惑。
locale/
INSTALLED_APPS
要将我的翻译所在的目录添加到Django将要查找翻译的位置列表中,我必须设置LOCALE_PATHS setting。所以在我的例子中,如果locale/目录和settings.py都在django项目的根目录中,我可以将以下内容放入settings.py:
settings.py
from os import path LOCALE_PATHS = ( path.join(path.abspath(path.dirname(__file__)), 'locale'), )
可能翻译的字符串被标记为
fuzzy
?嗨,只是附上一些我过去不得不做的修复:
在设置文件中 -需要
USE_I18N = True
中间件模块之间的django.middleware.locale.localemidleware(但只要django根本不关心您的本地特性,就不一定是这样)
django.core.context_processors.i18n在模板_context_processors中
当然,我还有其他与翻译有关的问题,但我不记得所有这些。。。希望这能有帮助!
刚被一个击中。我在项目的根目录中有
locale/
目录,但默认情况下,INSTALLED_APPS
目录和默认翻译中有Django looks for translations。所以它没有找到我添加的翻译。但是我的一些字符串在Django附带的默认翻译中(例如“Search”),所以有一些字符串被翻译了,这让我很困惑。要将我的翻译所在的目录添加到Django将要查找翻译的位置列表中,我必须设置LOCALE_PATHS setting。所以在我的例子中,如果
locale/
目录和settings.py
都在django项目的根目录中,我可以将以下内容放入settings.py
:相关问题 更多 >
编程相关推荐