Rails I18n, prüfen, ob eine Übersetzung existiert?
Arbeiten auf einer rails 3 app wo ich will, um zu überprüfen, ob eine übersetzung vorhanden ist, vor der Ausgabe, und wenn es nicht vorhanden ist zurückgreifen, um statischen text. Ich könnte so etwas machen:
if I18n.t("some_translation.key").to_s.index("translation missing")
Aber ich fühle mich wie es sollte eine bessere Möglichkeit als das. Was ist, wenn Schienen in der Zukunft ändert die "übersetzung fehlt" , "translation not found". Oder was, wenn für einige seltsame Grund enthält der text "übersetzung fehlt". Irgendwelche Ideen?
InformationsquelleAutor der Frage agmcleod | 2012-09-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Basierend auf dem, was Sie beschrieben haben, sollte dies funktionieren:
Sehen die Dokumentation für details.
InformationsquelleAutor der Antwort Chris Salzberg
Können Sie auch
InformationsquelleAutor der Antwort albandiguer
:default
ist nicht immer eine Lösung. Verwenden Sie diese für mehr fortgeschrittenen Fällen:Helfer/- Anwendung.rb:
jeder ERB-Vorlage:
InformationsquelleAutor der Antwort Nowaker
Was ist das ?
Ich denke, es fühlt sich besser an, mehr wie es gibt keine übersetzung
Nachteil: funktioniert nicht, wenn Sie absichtlich einen leeren string als übersetzung Wert.
InformationsquelleAutor der Antwort Jeremy F.
verwenden :Standard-param:
InformationsquelleAutor der Antwort sumskyi
manchmal möchte man mehr Dinge auf übersetzungen fehl
InformationsquelleAutor der Antwort Fer Padron
Dies ist ein trick, aber ich denke, es kann nützlich sein, manchmal...
Vorausgesetzt, Sie haben dies in Ihrem i18n: file:
Können tun Sie dies:
NB: Dies funktioniert nur, wenn Sie die Prüfung alles andere als ein root-key, da Sie sich nicht mit dem Elternteil.
In der Tat, was ' s interessant ist, was man bekommen kann, wenn das anfordern eines übergeordneten Schlüssel...
InformationsquelleAutor der Antwort rchampourlier
Schienen 4
War ich der Iteration über einige urls der jury-Mitglieder. Die maximale Anzahl von urls waren 2, und default_lang war "de". Hier ist yaml, die ich verwendet
Hier ist, wie ich geprüft, ob es eine url gegeben und wenn es nicht vorhanden ist für eine andere Sprache, wäre es fallback auf die I18n default_lang "de" an. Ich verwendet Antwort von @albandiguer, die Super geklappt.
Ich Hoffe das hilft jemandem:
InformationsquelleAutor der Antwort mahatmanich