Chciałbym i18n napisać następujący tekst:
Jesteś już zarejestrowany? Zaloguj sie!
Zwróć uwagę, że w tekście znajduje się link. W tym przykładzie wskazuje na Google - w rzeczywistości będzie wskazywać na moją aplikację log_in_path
.
Znalazłem dwa sposoby, aby to zrobić, ale żaden z nich nie wygląda „dobrze”.
Pierwszy sposób, jaki znam, obejmuje posiadanie tego mojego en.yml
:
log_in_message: "Already signed up? <a href='{{url}}'>Log in!</a>"
I moim zdaniem:
<p> <%= t('log_in_message', :url => login_path) %> </p>
To działa , ale założenie <a href=...</a>
części en.yml
nie wygląda dla mnie zbyt czysto.
Inną opcją, jaką znam, jest użycie zlokalizowanych widoków - login.en.html.erb
i login.es.html.erb
.
To również nie wydaje się właściwe, ponieważ jedyną inną linią byłaby wspomniana wyżej; reszta widoku (~ 30 linii) zostanie powtórzona dla wszystkich widoków. Nie byłoby bardzo SUCHE.
Myślę, że mógłbym użyć „zlokalizowanych części składowych”, ale to wydaje się zbyt trudne; Myślę, że wolę pierwszą opcję niż tyle małych plików widoku.
Więc moje pytanie brzmi: czy istnieje „właściwy” sposób na wdrożenie tego?