翻译rails应用程序中js中的I18n标记

Translates I18n tag in js in rails app

本文关键字:中的 I18n 标记 js rails 应用程序 翻译      更新时间:2023-09-26

更改语言时如何设置刷新js文件?

我在中有翻译文件

config/locates/en.ymlpl.yml

vendor/assets/javascripts/file.js.erb中,我有

console.log("<%= I18n.t('test.test') %>")

我在app/views/index.html.erb中包含了js

它还可以,但当我用语言更改cookie并刷新页面时,js不会更改语言吗?

如何在刷新页面时设置compile"file.js.erb"

你没有在大多数情况下,您的资产都是在部署时静态编译的。

这意味着,当你创建了一个很棒的新"Feature X"时,你的生产服务器应该在你推送到生产服务器时编译资产——每个请求编译会非常慢。

这意味着,在资产文件中使用ERB插值时应该非常严格,因为您应该只使用编译时已知的变量,例如到其他资产的路径。

我想说,除了资产助手之外,最好避免它,因为它只会导致对发生在哪里的事情的困惑。

如果需要在服务器和客户端之间传递数据,请使用数据属性或JSON/AAJAX。

<p data-localized="<%= I18n.t('hello') %>">Hello!</p>