如何翻译外部 javascript 文件中的文本? (姜戈)

How to translate text in an external javascript file? (Django)

我有一个 JavaScript 文件,它根据用户交互将元素附加到主体。

现在在我的 index.html 模板中,我用翻译后的文本声明全局变量:

 {% block main %}
      <script>
           let TRANSLATION = {% trans "my text" %}
      </script>
 {% endblock %}

因此,在 Django 翻译了我的索引模板中的文本之后,我的 JavaScript 文件可以获取翻译后的文本并使用类似以下的内容附加它:

element.innerHTML = TRANSLATION;

我知道这是翻译 JavaScript 将使用的文本的一种非常肮脏的方式,因为有些用户不需要该文本,在这种情况下,我将浪费我不会使用的变量的资源'没用。

所以问题是:为外部 JavaScript 文件翻译文本的正确方法是什么?

大部分工作将由django 完成。按照他们的文档:https://docs.djangoproject.com/en/4.0/topics/i18n/translation/#internationalization-in-javascript-code

页面下方还记录了如何为您的 javascript 代码生成语言文件。稍后您将有两个语言文件,一个用于您的 django 应用程序,一个用于您的 javascript 代码。

https://docs.djangoproject.com/en/4.0/topics/i18n/translation/#creating-message-files-from-javascript-source-code