Skip to content

Rails i18n view helpers for things like crud actions, models and and attributes

License

Notifications You must be signed in to change notification settings

huerlisi/i18n_rails_helpers

Folders and files

NameName
Last commit message
Last commit date
Apr 20, 2023
Mar 6, 2018
Apr 20, 2023
Mar 6, 2018
Apr 20, 2023
Apr 20, 2023
Apr 20, 2023
Sep 6, 2017
Apr 20, 2023
Apr 20, 2023
Apr 20, 2023
Apr 20, 2023
Apr 20, 2023
Apr 20, 2023
Apr 20, 2023
Apr 20, 2023
Jun 30, 2014
Mar 6, 2018
Jul 1, 2014
Apr 20, 2023
Apr 20, 2023

Repository files navigation

I18nRailsHelpers

Build Status

Rails i18n view helpers for things like crud actions, models and and attributes.

Install

In Rails simply add this to your Gemfile:

gem 'i18n_rails_helpers'

Examples

View Helpers

t_attr

t_attr('first_name', Patient) # en: 'First name' de: 'Vorname' - when called from views of any controller
t_attr('first_name')          # en: 'First name' de: 'Vorname' - when called in patients_controller views
t_attr(:first_name)           # en: 'First name' de: 'Vorname' - can also be called with symbols

t_title

t_title(:index)   # en: "%{model} index" ,  de: "%{model} Liste"
t_title(:edit)    # en: "Edit %{model}",    de: "%{model} bearbeiten"
t_title(:update)  # en: "Edit %{model}",    de: "%{model} bearbeiten"
t_title(:show)    # en: "Show %{model}",    de: "%{model} anzeigen"
t_title(:new)     # en: "New %{model}",     de: "%{model} erfassen"
t_title(:create)  # en: "New %{model}",     de: "%{model} erfassen"
t_title(:delete)  # en: "Delete %{model}",  de: "%{model} löschen"
t_title(:destroy) # en: "Delete %{model}",  de: "%{model} löschen"

t_action

t_action(:index)    # en: "Index",     de: "Liste"
t_action(:edit)     # en: "Edit",      de: "Bearbeiten"
t_action(:update)   # en: "Edit",      de: "Bearbeiten"
t_action(:show)     # en: "Show",      de: "Anzeigen"
t_action(:new)      # en: "New",       de: "Erfassen"
t_action(:create)   # en: "New",       de: "Erfassen"
t_action(:delete)   # en: "Delete",    de: "Löschen"
t_action(:destroy)  # en: "Delete",    de: "Löschen"
t_action(:cancel)   # en: "Abbrechen", de: "Abbrechen"
t_action(:back)     # en: "Back",      de: "Zurück"
t_action(:previous) # en: "Previous",  de: "Zurück"
t_action(:next)     # en: "Next",      de: "Weiter"

t_confirm_delete

t_confirm_delete(@account) # en: 'Really delete account Kasse?' de: 'Konto Kasse wirklich löschen?'

t_select_prompt

t_select_prompt(@account) # en: 'Select Account' de: 'Konto auswählen'

Controller Helpers

redirect_notice

def create
  # ...
  redirect_to some_path, redirect_notice           # => 'Klient erstellt.'
  redirect_to some_path, redirect_notice(@client)  # => 'Klient Example Client erstellt.'
end

def update
  # ...
  redirect_to some_path, redirect_notice           # => 'Klient geändert.'
  redirect_to some_path, redirect_notice(@client)  # => 'Klient Example Client geändert.'
end


def destroy
  # ...
  redirect_to some_path, redirect_notice           # => 'Klient gelöscht.'
  redirect_to some_path, redirect_notice(@client)  # => 'Klient Example Client gelöscht.'
end

t_attr

t_title

t_action

Model helpers

enum_attribute_t methods

Automaticly generated enum attribut translation methods.

Required translations.

# Client model
enum gender: { undefined: 0, female: 1, male: 2, xy: 3 }

# in use
Client.first.gender    # => 'female'
Client.first.gender_t  # de: => 'Frau', en: => 'Woman'
Client.first.genders_t # => { undefined: 'Nicht definiert', female: 'Frau', male: 'Mann' }

t_enum

# Client model
enum gender: { undefined: 0, female: 1, male: 2, xy: 3 }

Client.first.gender # => 'female'
Client.first.t_enum(:gender) # de: => 'Frau', en: => 'Women'
Client.first.t_enum(:gender, :male) # de: => 'Mann', en: => 'Men'

Required translations in locales (config/locales/zz.yml)

---
de:
  activerecord:
    attributes:
      client:
        genders:
          undefined: Nicht definiert
          female: Frau
          male: Mann
---
en:
  activerecord:
    attributes:
      client:
        genders:
          undefined: Not defined
          female: Women
          male: Man
---
fr:
# ...

License

Released under the MIT license.