Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于Django不允许在其他文件中使用内置的it标记,如何解决JavaScript外部文件的翻译/本地化问题?_Javascript_Python_Django_Internationalization - Fatal编程技术网

由于Django不允许在其他文件中使用内置的it标记,如何解决JavaScript外部文件的翻译/本地化问题?

由于Django不允许在其他文件中使用内置的it标记,如何解决JavaScript外部文件的翻译/本地化问题?,javascript,python,django,internationalization,Javascript,Python,Django,Internationalization,我在看其他问题 我知道Django允许在HTML页面的内部JavaScript代码中使用内置标记,但这是一个专业开发人员不会做的糟糕做法 我知道Django不允许在外部JavaScript文件中使用内置标记。不同的是,雨果允许 我考虑了这个问题,但我不知道用相同的名称但不同的语言缩写生成JavaScript是否是一种不好的做法,如table en.js,table-fr.js,table pt br.js,table pt.js,等等 小代码,例如: var preTtitle='中的颜色和

我在看其他问题

  • 我知道Django允许在HTML页面的内部JavaScript代码中使用内置标记,但这是一个专业开发人员不会做的糟糕做法
  • 我知道Django不允许在外部JavaScript文件中使用内置标记。不同的是,雨果允许
  • 我考虑了这个问题,但我不知道用相同的名称但不同的语言缩写生成JavaScript是否是一种不好的做法,如
    table en.js
    table-fr.js
    table pt br.js
    table pt.js
    ,等等
小代码,例如:

var preTtitle='中的颜色和图标列表';
常量样式=
[
{名称:'adwaita plus',标题:'+preTtitle+'adwaita++'},
{name:'suru plus',title:'+preTtitle+'suru++'},
{名称:'suru plus ubuntu',标题:'+preTtitle+'ubuntu++'},
{名称:'yaru plus',标题:'+preTtitle+'yaru++'}
];
我还需要转换表列:

firstHeader.textContent='Name of color';
secondHeader.textContent='图标预览';
trHeader.appendChild(firstHeader);
trHeader.appendChild(secondHeader);
thead.appendChild(trHeader);
我想翻译“中的
”颜色和图标列表“
”、
“颜色名称”
“图标预览”

由于Django不允许在此文件中使用编译标记,您如何解决它


我确信这个问题是唯一的解决方案,是好是坏。

您可以在javascript文件中创建函数并将该文件导入html。然后,翻译模板中所需的对象,然后将翻译后的文本传递给您创建的函数。没有别的办法,不要担心坏习惯

<script src="{% static 'js/translation_helpers.js' %}"></script>
<script>
    let frenchText = {% translate "something in french" %}
    functionYouCreated(translatedText, 'fr')
    let englishText = {% translate "something in english" %}
    functionYouCreated(translatedText, 'en')
</script>

让frenchText={%translate“something in french”%}
您创建的函数(translatedText,“fr”)
让englishText={%translate“something in english”%}
您创建的函数(翻译文本“en”)
要更改模板中的翻译语言,请参见