django未检测到语言的差异,即pt-br
我正在尝试将西班牙语和英语变体添加到我的网站上。具体来说:es-cl
,es-pe
,es-ar
,pt-br
。但是,一旦我生成翻译并编译了它们,它将仅加载ES和PT值,而不是特定于国家 /地区的值。
这是我的配置文件,
GLOBAL_LANGUAGES = [
('es', _('Español')),
('en', _('Inglés')),
('pt', _('Portugués'))
]
COUNTRY_LANGUAGES = [
('pt-br', _('Portugués (Brasil)')),
('es-cl', _('Español (Chile)')),
('es-ar', _('Español (Argentina)')),
('es-pe', _('Español (Perú)')),
]
LANGUAGES = GLOBAL_LANGUAGES + COUNTRY_LANGUAGES
# https://docs.djangoproject.com/en/3.1/ref/settings/#use-i18n
USE_I18N = True
# https://docs.djangoproject.com/en/3.1/ref/settings/#use-l10n
USE_L10N = True
这是我从模板访问这些值时的数据,在那里我可以看到对英语的代码重复。
{'BIDI': FALSE, 'CODE': 'ES', 'NAME': 'SPANISH', 'NAME_LOCAL': 'ESPAÑOL', 'NAME_TRANSLATED': 'ESPAÑOL'}
{'BIDI': FALSE, 'CODE': 'EN', 'NAME': 'ENGLISH', 'NAME_LOCAL': 'ENGLISH', 'NAME_TRANSLATED': 'ENGLISH'}
{'BIDI': FALSE, 'CODE': 'PT', 'NAME': 'PORTUGUESE', 'NAME_LOCAL': 'PORTUGUÊS', 'NAME_TRANSLATED': 'PORTUGUÊS'}
{'BIDI': FALSE, 'CODE': 'PT-BR', 'NAME': 'BRAZILIAN PORTUGUESE', 'NAME_LOCAL': 'PORTUGUÊS BRASILEIRO', 'NAME_TRANSLATED': 'PORTUGUÊS BRASILEIRO'}
{'BIDI': FALSE, 'CODE': 'ES', 'NAME': 'SPANISH', 'NAME_LOCAL': 'ESPAÑOL', 'NAME_TRANSLATED': 'ESPAÑOL'}
{'BIDI': FALSE, 'CODE': 'ES-AR', 'NAME': 'ARGENTINIAN SPANISH', 'NAME_LOCAL': 'ESPAÑOL DE ARGENTINA', 'NAME_TRANSLATED': 'ESPAÑOL (ARGENTINA)'}
{'BIDI': FALSE, 'CODE': 'ES', 'NAME': 'SPANISH', 'NAME_LOCAL': 'ESPAÑOL', 'NAME_TRANSLATED': 'ESPAÑOL'}
在视图中,我正在检查该语言是否成功激活,但是即使我尝试访问pt-br
使用{%trans'trans'%}
, Django仅加载pt
该密钥的值。与西班牙语一样。
如何正确地为每个国家 /地区加载位置?预先感谢您的帮助。
I am trying to add Spanish and English variations to my site. Specifically: es-cl
, es-pe
, es-ar
, pt-br
. However, once I generate the translations and compile them, it only loads the es and pt values, not the country-specific ones.
This is my config file
GLOBAL_LANGUAGES = [
('es', _('Español')),
('en', _('Inglés')),
('pt', _('Portugués'))
]
COUNTRY_LANGUAGES = [
('pt-br', _('Portugués (Brasil)')),
('es-cl', _('Español (Chile)')),
('es-ar', _('Español (Argentina)')),
('es-pe', _('Español (Perú)')),
]
LANGUAGES = GLOBAL_LANGUAGES + COUNTRY_LANGUAGES
# https://docs.djangoproject.com/en/3.1/ref/settings/#use-i18n
USE_I18N = True
# https://docs.djangoproject.com/en/3.1/ref/settings/#use-l10n
USE_L10N = True
This is the data when I access these values from my templates, where I can see that the code is repeated for English languages.
{'BIDI': FALSE, 'CODE': 'ES', 'NAME': 'SPANISH', 'NAME_LOCAL': 'ESPAÑOL', 'NAME_TRANSLATED': 'ESPAÑOL'}
{'BIDI': FALSE, 'CODE': 'EN', 'NAME': 'ENGLISH', 'NAME_LOCAL': 'ENGLISH', 'NAME_TRANSLATED': 'ENGLISH'}
{'BIDI': FALSE, 'CODE': 'PT', 'NAME': 'PORTUGUESE', 'NAME_LOCAL': 'PORTUGUÊS', 'NAME_TRANSLATED': 'PORTUGUÊS'}
{'BIDI': FALSE, 'CODE': 'PT-BR', 'NAME': 'BRAZILIAN PORTUGUESE', 'NAME_LOCAL': 'PORTUGUÊS BRASILEIRO', 'NAME_TRANSLATED': 'PORTUGUÊS BRASILEIRO'}
{'BIDI': FALSE, 'CODE': 'ES', 'NAME': 'SPANISH', 'NAME_LOCAL': 'ESPAÑOL', 'NAME_TRANSLATED': 'ESPAÑOL'}
{'BIDI': FALSE, 'CODE': 'ES-AR', 'NAME': 'ARGENTINIAN SPANISH', 'NAME_LOCAL': 'ESPAÑOL DE ARGENTINA', 'NAME_TRANSLATED': 'ESPAÑOL (ARGENTINA)'}
{'BIDI': FALSE, 'CODE': 'ES', 'NAME': 'SPANISH', 'NAME_LOCAL': 'ESPAÑOL', 'NAME_TRANSLATED': 'ESPAÑOL'}
In the views, I'm checking that the language is activating successfully, but even if I try to access pt-br
translations with {% trans 'text' %}
, Django only loads pt
value for that key. Same with Spanish.
How can I correctly load the locations for each of these countries? Thank you in advance for your help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论