Link Search Menu Expand Document

Translations (experimental)

To use experimental support for I18n translations, include ViewComponent::Translatable:

app/components/example_component.rb

module ExampleComponent < ApplicationComponent
  include ViewComponent::Translatable
end

Add a sidecar YAML file with translations for the component:

app/components/example_component.yml

en:
  hello: "Hello world!"

Access component-local translations with a leading dot:

app/components/example_component.html.erb

<%= t(".hello") %>

Global Rails translations are available as well:

<%= t("my.global.translation") %>

Global translations shadowed by sidecar translations can be accessed with helpers or I18n:

app/components/example_component.html.erb

<%= helpers.t("hello") %>
<%= I18n.t("hello") %>