· 1 min read
Tłumaczenie aplikacji w Ruby on Rails – aliasy YAML
Tłumaczenie aplikacji w Ruby on Rails jest dobrze opisane w manual (i18n, zmiana locale, ładowanie plików z tłumaczeniami itd.). Nie ma tam jednak wzmianki o aliasach w składni YAML, które pozwalają znacznie ograniczyć powtórzenia w obrębie pliku z translacjami.

Zerknijmy na aliasy w składni YAML, które pozwalają znacznie ograniczyć powtórzenia w obrębie pliku z translacjami.
Zasada działania aliasów
Przykład:
# config/locales/app_name.pl.yml
pl:
hello: &hello Cześć
world: Świat
posts:
index:
title: Spis
hello: *hello
W powyższym kodzie w linii 3 definiujemy alias (hello: &hello Cześć
), a w linii 8 wywołujemy (hello: *hello
). Proste.
Do czego możemy wykorzystać aliasy?
Na przykład do tłumaczeń często wykorzystywanych atrybutów modeli tj. timestamps. Poniżej fragment pliku dla aplikacji quizowej wykorzystującej nested attributes.
# config/locales/quiz_app.pl.yml
pl:
timestamps: ×tamps
created_at: &created_at Utworzono
updated_at: &updated_at Zmieniono
model_defaults: &model_defaults
<<: *timestamps
id: &id ID
activerecord:
models:
quiz:
question: &question Pytanie
quiz: Quiz
question: *question
attributes:
quiz: &quiz_attrs
<<: *model_defaults
description: Opis
name: Nazwa
question: &question_attrs
<<: *model_defaults
body: Treść
opened: Otwarte
quiz/questions:
<<: *question_attrs
Share: