gpt4 book ai didi

Django i18n 与 jQuery Globalize 的消息一起用于单页应用程序

转载 作者:行者123 更新时间:2023-12-01 04:56:21 27 4
gpt4 key购买 nike

我有一个基于 Django 的 API 层,它在内部使用 Django 的 i18n 工具(ugettext 等)来提供对某些输出的翻译。
API 提供一个单页 Javascript 应用程序,该应用程序利用 jQuery 的 Globalize 和它自己的消息传递工具,通过 CLDN/messages 文件等。

目前,我有自己为 UI 生成的语言文件,格式为 Globalize 消息模块的 JSON 文件。
理想情况下,我想从一个位置驱动所有可翻译的文本。我希望使用 Django 作为可翻译语言的唯一真实来源(因为我可以使用 Rosetta 作为促进翻译的一种方式)。然而,如何使两者协同工作并不是那么简单,我试图避免在可能已经存在的地方发明自己的约定,以防止将来与其他开发人员混淆。

第一 , 一些文本 block 比几个单词大。使用 Django 的 ugettext 我应该提供要翻译或显示为参数的文本 - 只提供一个键并要求翻译存在(否则,只显示键)是一个好的约定吗?

第二 ,这种用例是否有既定的惯例?
如果规范对这种情况有意义,我不想重新发明轮子或偏离规范。

第三个 - 我应该在两者之间做出选择吗?或者翻译可以存在于 Django/API 世界中,然后在 UI 请求时输出为 Globalize/messages 格式?或者我应该使用 Django 为 Javascript 提供的 gettext 实现?

谢谢

最佳答案

Django's JS internationalization非常强大,并带有所有良好的实践。
你说了算,最好不要重新发明轮子。
在我看来,如果你的同事习惯使用 Django,他们会很感激这一举措。
我不是专家,但 Django 的 i18n 可以管理每个 block 的多个单词,它可以提供段落,.po文件将是这样的:

msgid ""                                                                                                                                                                  
"Lorem ipsum dolor sit amet, consectetur adipiscing elit."
" Duis ut lacus nec lacus rhoncus luctus."
" Donec luctus fringilla massa, eu accumsan odio vestibulum fermentum."
" Fusce arcu urna, tincidunt id turpis sed, rutrum lobortis sem."
msgstr ""
"Translation goes here, and it can be on multiple lines"

关于Django i18n 与 jQuery Globalize 的消息一起用于单页应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36935976/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com