A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Internacionalizando los modelos

21/36
Recursos

Aportes 9

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Tuve problemas al ejecutar en el terminal 鈥榠18n-tasks add-missing鈥, me acusa 鈥榦rden no encontrada鈥.

Para solucionarlo, en el Gemfile, a帽ad铆 la siguiente l铆nea de c贸digo: gem 鈥榠18n-tasks鈥, 鈥榽> 0.7.4鈥

Luego en el terminal ejecut茅 鈥榖undle install鈥

Volv铆 a ejecutar el comando 鈥榠18n-tasks add-missing鈥 y me arroj贸 el resultado esperado en el terminal.

Fuente de informaci贸n en el siguiente link:

https://www.rubydoc.info/gems/i18n-tasks/0.7.4#configuration

Saludos

Recomendar铆a echar un vistazo a las convenciones en las traducciones que tiene I18n para los modelos de active record
https://guides.rubyonrails.org/i18n.html#translations-for-active-record-models

Hola as铆 quedo mi c贸gido :

new.html.haml file

%h1= t('tasks.tasks')

= render 'form'

= link_to t('common.back'), tasks_path

_form.html.haml file

-# frozen_string_literal: true
= simple_form_for(@task) do |f|
  = f.error_notification
  = f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present?

  .form-inputs
    = f.input :name, label: t('.name')
    = f.input :description, label: t('.description')
    = f.input :due_date, label: t('.due_date')
    = f.association :category, label: t('.category')

  .form-actions
    = f.button :submit

es.yml file

---
es:
  activerecord:
    models:
      category:
        one: Categor铆a
        others: Categor铆as
      task:
        one: Tarea
        others: Tareas
  categories:
    form:
      description: Descripci贸n
      name: Nombre
    new_category: Nueva Categor铆a
  common:
    back: Atr谩s
  hello: Hello world
  tasks:
    form:
      category: Categor铆a
      description: Descripci贸n
      due_date: Fecha de Vencimiento
      name: Nombre
    tasks: Tareas

Mi es.yml

es:
  activerecord:
    models:
      category:
        one: Categoria
        others: Categorias
      task:
        one: Tarea
        others: Tareas
      tasks:
        one: Tarea
        others: Tareas
  categories:
    form:
      description: Descripcion
      name: Nombre
    new_category: Nueva Categoria
  common:
    back: Atras
    new_task: Nueva Tarea
  hello: Hello world
  tasks:
    category: Categoria
    description: Descripcion
    due_date: Fecha de Vencimiento
    form:
      category: Categoria
      description: Descripcion
      due_date: Fecha de Vencimiento
      name: Nombre
    listing_tasks: Lista de Tareas
    name: Nombre
    new_task: Nueva Tarea

As铆 quedo mi _form.htm.haml de tasks:

-# frozen_string_literal: true
= simple_form_for(@task) do |f|
  = f.error_notification
  = f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present?

  .form-inputs
    = f.input :name, label: t('.name')
    = f.input :description, label: t('.description')
    = f.input :due_date, label: t('.due_date')
    = f.association :category, label: t('.category')

  .form-actions
    = f.button :submit

As铆 qued贸 mi new.html.haml de tasks:

%h1= t('.tasks.new_task')

= render 'form'

= link_to t('common.back'), tasks_path

As铆 qued贸 mi archivo es.yml

---
es:
  activerecord:
    models:
      category:
        one: Categor铆a
        others: Categor铆as
      task:
        one: Tarea
        others: Tareas
  categories:
    form:
      description: Descripci贸n
      name: Nombre
    new_category: Categor铆a nueva
  hello: Hello world
  tasks:
    form:
      category: Categor铆a
      description: Descripci贸n
      due_date: Fecha de vencimiento
      name: Nombre
    new:
      tasks:
        new_task: Tarea nueva
  common:
    back: Atr谩s

Solo como aporte general encontr茅 que el texto del bot贸n se puede internacionalizar de la siguiente manera:

  1. Solo escribiendo el string
= f.button :submit ,'Crear categoria'
  1. usando el helper t creando las keys correspondientes en el diccionario
 = f.button :submit ,t('categories.create_category')

Ojo: Hay que hacerlo la forma como la hace el profesor me parece que es la m谩s adecuada para que nuestro proyecto sea mucho m谩s facil de internacionalizar a largo plazo.

Aqu铆 muestro mi codigo:

-# frozen_string_literal: true
= simple_form_for(@task) do |f|
  = f.error_notification
  = f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present?

  .form-inputs
    = f.input :name, label: t('.name')
    = f.input :description, label: t('.description')
    = f.input :due_date, label: t('.due_date')
    = f.association :category, label: t('.category')

  .form-actions
    = f.button :submit

---
es:
  activerecord:
    models:
      category:
        one: Categor铆a
        others: Categor铆as
      task:
        one: Tarea
        others: Tareas
  categories:
    form:
      description: Descripci贸n
      name: Nombre
    new_category: Nueva Categor铆a
  common:
    back: Atras
  hello: Hello world
  tasks:
    form:
      category: Categor铆a
      description: Descripci贸n
      due_date: Fecha final
      name: Nombre
    new_task: Nueva Tarea

Traduc铆 todos mis archivos, para poder tener una consistencia en el proyecto, aqu铆 abajo dejo el c贸digo del app/views/tasks/_form.html.haml que hice.

-# frozen_string_literal: true
= simple_form_for(@task) do |f|
  = f.error_notification
  = f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present?

  .form-inputs
    = f.input :name, label: t('.name')
    = f.input :description, label: t('.description')
    = f.input :due_date, label: t('.due_date')
    = f.association :category, label: t('.category')

  .form-actions
    = f.button :submit

El de app/views/tasks/new.html.haml

%h1= t('tasks.new_task')

= render 'form'

= link_to t('common.back'), tasks_path

Y mi config/es.yml:

---
es:
  activerecord:
    models:
      category:
        one: Categor铆a
        others: Categor铆as
      task:
        one: Tarea
        others: Tareas
  categories:
    editing_category: Editando categor铆a
    form:
      description: Descripci贸n
      name: Nombre
    list_categories: Lista de categor铆as
    new_category: Nueva categor铆a
  common:
    are_you_sure?: "驴Est谩s seguro?"
    back: Atr谩s
    destroy: Eliminar
    edit: Editar
    show: Mostrar
  hello: Hello world
  tasks:
    editing_task: Editado tarea
    form:
      category: Categor铆a
      description: Descripci贸n
      due_date: Fecha de vencimiento
      name: Nombre
    list_tasks: Listar tareas
    new_task: Nueva tarea