ruby-on-rails - 如何使用 i18n 本地化 Stimulus JS 值?

标签 ruby-on-rails localization rails-i18n stimulusjs

我正在开发 Rails 6 应用程序,我试图将所有显示的字符串存储在语言环境文件中。我有一个名为 countdown_controller.js 的 Stimulus Controller :

import { Controller } from "@hotwired/stimulus";

export default class extends Controller {

  static values = {
    message: { type: String, default: "Deal closed!" }
  }
}

en.yml:

en:
 deals:
   status:
     closed: "Deal closed!"

我想使用 I18n.t("deals.status.close") 作为 countdown_controller.jsmessageValue 的值直接写入字符串。我不知道该怎么做。

最佳答案

只需将 countdown_controller.js 转换为 countdown_controller.js.erb 对我有用。然后我使用插值来注入(inject) I18n.t("deals.status.lated") 如下:

import { Controller } from "@hotwired/stimulus";

export default class extends Controller {

  static values = {
    message: { type: String, default: "<%= I18n.t('deals.status.closed') %>" }
  }
}

附注我最初收到错误,因为我将注释更改为使用以 # 开头的 ruby​​ 语法,而不是以 // 开头的 JS 语法。

关于ruby-on-rails - 如何使用 i18n 本地化 Stimulus JS 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71399517/

相关文章:

asp.net - 从源代码、aspx、xaml 中提取可本地化的字符串到资源文件

ruby-on-rails - Heroku 推送被拒绝,检测到 Ruby 版本已更改,找不到 net-scp-1.0.6

javascript - ruby 代码显示为文本而不是在 js.erb 文件中执行

c++ - 重写 MFC 应用程序的 LoadString

ruby-on-rails-4 - i18n HTML 转义不起作用

ruby-on-rails - Rails不允许更改语言环境

ruby-on-rails - 如何列出 Rails 中所有可用的语言环境键?

ruby-on-rails - 在 Rails 简单字符串中解码 JSON 会引发错误

ruby-on-rails - 格式化 JSON API 的 Active Record 时间戳

PHP Regex Word边界排除下划线_