2011-08-27 16 views
6

Mam jak zwykle moje pliki tłumaczeń w ustawieniach regionalnych.wyraźnie powiedzieć, w jakim języku tłumaczyć

Teraz mam pocztę z zaproszeniem w różnych językach.

Chcę, aby użytkownik wybrał, w jakim języku poczta powinna być wysłana, ponieważ nie chodzi o język użytkownika operacyjnego, chodzi o język, który powinien odczytać odbiorca poczty.

Czy istnieje sposób wyraźnego wskazania szyn, jaki język wybrać, na przykład t(:my_string, :en)?

Celem jest tymczasowe przetłumaczenie tego pliku na jeden numer t.

To jest to, czego potrzebuję, aby powiedzieć w komendzie t(), jaki język ma zostać użyty.

Dzięki.

Pozdrawiam, Joern.

Odpowiedz

3

Myślę, że wyraźnie trzeba ustawić odpowiedni język na I18n.
Możesz użyć: I18n.locale = :en, aby ustawić wymagany język.
Zobacz również tutaj: I18n

+0

Wiem o tym, ale nie jest to odpowiedź na moje pytanie. Chcę tymczasowo wybrać z pliku ustawień narodowych, w pseudo-kodzie, jak 't (: my_sentence,: en)' aby przetłumaczyć ': my_sentence' tylko raz na': en' –

+0

Nie możesz zrobić takiego tłumaczenia, 't' lub' Metody '' sprawdzają wartość 'I18n.locale', więc będziesz musiał ją jawnie ustawić. Lub możesz przesłonić metodę 't' :) – bor1s

+0

BTW, to nie był żaden neumarkt, aby mnie uspokoić – bor1s

0

Można użyć I18n backend których objęcie locale jako pierwszy argument:

I18n.backend.translate(:en, :my_string)

6

Jest możliwe, aby przejść :locale opcja t metoda:

t :my_string, locale: :de 
Powiązane problemy