2016-08-02 4 views
0

영어로 앱을 코딩 한 후 언어 파일 (pt-BR.yml), 'config/application.rb'(기본값을 pt-BR로 설정) 및 'inflections.rb'를 다음과 같이 업데이트했습니다. 내 언어로 된 오류 메시지가 있습니다.i18n이 레일스에서 ​​모델을 복수화하는 것을 방지하려면 어떻게해야합니까?

그러나 Rails는 논리가 영어로 복수화되지 않아 내 모델을 찾지 않습니다.

레일스가 모델과 컨트롤러에서 로컬 기본 언어를 사용하지 못하도록하는 방법이 있습니까? 또는 더 나은 코딩 방법이 있습니까? 감사합니다. .

답변

0

기본 lang을 변환하지 않고 inflections.rb를 구성 할 수 있습니다. 당신과 같이 그 작업을 수행 할 수 있습니다 : 그것은 자신의 보석과 같은 https://davidcel.is/posts/edge-rails-a-multilingual-inflector/

에서 촬영

ActiveSupport::Inflector.inflections(:es) do |inflect| 


inflect.plural(/$/, 's') 
    inflect.plural(/([^aeéiou])$/i, '\1es') 
    inflect.plural(/([aeiou]s)$/i, '\1') 
    inflect.plural(/z$/i, 'ces') 
    inflect.plural(/á([sn])$/i, 'a\1es') 
    inflect.plural(/é([sn])$/i, 'e\1es') 
    inflect.plural(/í([sn])$/i, 'i\1es') 
    inflect.plural(/ó([sn])$/i, 'o\1es') 
    inflect.plural(/ú([sn])$/i, 'u\1es') 

    inflect.singular(/s$/, '') 
    inflect.singular(/es$/, '') 

    inflect.irregular('el', 'los') 
end 

코드 또한 PT-BR https://github.com/davidcelis/inflections을 지원합니다. 개인적으로 시도하지는 않았지만 정상적으로 보입니다.

+0

고마워요! 모델 언어를 선택하는 방법을 정확히 알지 못했지만 여러 언어로 변곡점을 사용하는 데 도움이되었습니다. –

관련 문제