[RUBY-ON-RAILS] 번역이없는 경우 기본 언어로 다시 가을
RUBY-ON-RAILS번역이없는 경우 기본 언어로 다시 가을
국제화 레일 (2.3.5) 응용 프로그램에서, 내가 대신 "없는 번역"의 기본 로케일에서 번역을 보여주고 싶습니다 - 그것을위한 티켓이있다하지만 여전히 대기중인 것 같다 :
https://rails.lighthouseapp.com/projects/8994/tickets/2637-patch-i18n-look-up-a-translation-with-the-default-locale-when-its-missed-with-another-specific-locale
예를 들어 두 개의 변환 파일 (티켓에서 가져온), en.yml 및 es.yml :
en:
hello: 'hello'
hello_world: 'hello world'
es:
hello_world: 'hola mundo'
이 코드를 실행하면 :
I18n.t :hello, :locale => :es
반환 "안녕하세요"대신 "번역 누락"과 범위를 레일.
티켓이 아직 보류함에 따라, 어떻게이 기능을 구현할 수? 나는 통해 이동 내 I18n.t은이 호출을 모두 변경할 수 있습니다 알고 : 기본 옵션을하지만, 차라리 내가 그것을 피할 수 있다면 모든 뷰를 통해 갈 필요가 없습니다 것입니다! 이 패치의로서, 나는 냉동 보석 레일에 그것을 적용 할 수있는 생각,하지만 난 오히려 그 경우에 내가 할 수있는 피할 것.
해결법
-
==============================
1.당신은 당신이 최신 국제화 보석을 사용하도록 제공 레일 2를 사용하는 경우, 이니셜이 추가 :
당신은 당신이 최신 국제화 보석을 사용하도록 제공 레일 2를 사용하는 경우, 이니셜이 추가 :
I18n.backend.class.send(:include, I18n::Backend::Fallbacks)
그럼 당신은이처럼 폴백 (fallback)을 추가 할 수 있습니다 :
I18n.fallbacks.map('es' => 'en')
-
==============================
2.Nowdays가 별도의 국제화 보석을 사용하지 않아도, 일반 레일 3.0.6과 (5.0 포함) 설치 위에 없습니다 값은 다음 중 하나 일 수 있습니다 폴백 (fallback) :
Nowdays가 별도의 국제화 보석을 사용하지 않아도, 일반 레일 3.0.6과 (5.0 포함) 설치 위에 없습니다 값은 다음 중 하나 일 수 있습니다 폴백 (fallback) :
# application.rb # rails will fallback to config.i18n.default_locale translation config.i18n.fallbacks = true # rails will fallback to en, no matter what is set as config.i18n.default_locale config.i18n.fallbacks = [:en] # fallbacks value can also be a hash - a map of fallbacks if you will # missing translations of es and fr languages will fallback to english # missing translations in german will fallback to french ('de' => 'fr') config.i18n.fallbacks = {'es' => 'en', 'fr' => 'en', 'de' => 'fr'}
-
==============================
3.(. 예를 들어 application.rb) 내가 가장 쉬운 방법은 당신의 설정 파일에 이것을 추가하는 것입니다 생각 :
(. 예를 들어 application.rb) 내가 가장 쉬운 방법은 당신의 설정 파일에 이것을 추가하는 것입니다 생각 :
config.i18n.fallbacks = true
그들은 자동으로 로케일 엔으로 폴백 수 있기 때문에 등 EN-US, EN-CA, 같은 지역 로케일에 매우 유용합니다.
지미가 지적한 것처럼, 당신도 함께 대체 메커니즘을 변경할 수 있습니다 :
I18n.fallbacks.map('es' => 'en')
from https://stackoverflow.com/questions/2324398/fall-back-to-default-language-if-translation-missing by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 액티브가 포함되어 있습니다. 포함 된 열을 지정합니다 (0) | 2020.03.02 |
---|---|
[RUBY-ON-RAILS] 정의되지 않은 방법 attr_accessible (0) | 2020.03.02 |
[RUBY-ON-RAILS] Heroku가 - 현재의 디스플레이 해시 커밋 (0) | 2020.03.01 |
[RUBY-ON-RAILS] 레일 내측 텍스트 또는 HTML과 LINK_TO의 IMAGE_TAG (0) | 2020.03.01 |
[RUBY-ON-RAILS] PG : ConnectionBad : fe_sendauth는 : 암호가 제공되지 (0) | 2020.03.01 |