我正在使用rails 6应用程序,我试图将所有显示的字符串存储在locales文件中。我有一个名为countdown_controller.js
的Stimulus控制器:
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!"
型
我想在countdown_controller.js
中使用I18n.t("deals.status.closed")
作为messageValue
的值,而不是直接写入字符串。我不知道如何做到这一点。
2条答案
按热度按时间neekobn81#
简单地将
countdown_controller.js
转换为countdown_controller.js.erb
对我来说很有效。然后我使用插值来注入I18n.t("deals.status.closed")
,如下所示:字符串
P.S.我最初得到一个错误,因为我改变了注解,使用以
#
开头的ruby语法,而不是以//
开头的JS语法。kb5ga3dv2#
我所做的是将翻译作为Stimulus控制器元素数据集的一部分发送,因此它在
connect
上可用。在我的情况下,有多个,所以我从视图或助手发送一个散列,如下所示:个字符