0

이상한 문제가 있습니다. 내 레일 3 응용 프로그램에서 나는 영어와 프랑스어로 국제화를 지원하고 있습니다. 그것은이에 대한 번역을 가지고 있기 때문에 프랑스어 모든 것이 잘 작동 나는 로케일을 설정할 때 여기 내 템플릿에 나는이레일 : 번역이 없으면 i18n, 변수가 인쇄됩니다.

<%= t "Hi %{person}!", :person => "Simpson" %> 

같은 것을 쓴하지만 난 영어로 로케일을 설정할 때 그것은

Hi %{person}! 
과 같은 출력을 제공 내 브라우저에

번역을 en.yml에 추가하면 잘 작동합니다. 나는 이것을 위해 en.yml에 번역을 왜 추가 할 필요가 있는지 이해하지 못한다. 더욱이 나는 이런 일이 일어나기를 원하지 않는다. 보기 이런 식으로 뭔가를해야하므로

감사

답변

1

t 방법의 첫 번째 인수 givent는 열쇠가 될해야합니다

<%= t :greetings, :person => "Simpson" %> 

귀하의 config/locales/en.yml는 다음과 같이 보일 것이다 :

en: 
    greetings: Hi %{person} 

config/locales/fr.yml은 다음과 같습니다.

fr: 
    greetings: Bonjour %{person} 
+0

en.yml에 번역을 원하지 않으므로 그 경우 어떻게해야합니까? 귀하의 솔루션 그러나 나는 번역을 추가하고 있습니다. –

+0

그럼 http://stackoverflow.com/questions/12914019/rails-remove-missing-translation-errors/12930993#comment17524467_12930993과 동일한 응답이 적용되거나 다음과 같이 I18n 할 수 없습니다. <% = "Hi # { 사람} "%> – tigrish

+0

감사합니다. –