2012-03-25 38 views
5

Tôi ngạc nhiên khi thấy rằng i18n của Ruby on Rails không hỗ trợ đúng các ngôn ngữ như en-GB, en-US, en-AU, v.v. Nhìn xung quanh dường như nhiệm vụ được để lại cho thư viện và mã của bên thứ ba . Tôi tìm kiếm xung quanh và tìm thấy rails-i18n-translation-inheritance-helper nhưng dường như không hoạt động. Không ai bản địa hóa các ứng dụng Rails của họ hay là có một giải pháp khác mà tôi đang thiếu?Cách thích hợp để xử lý miền địa lý trong Ruby on Rails là gì?

Trả lời

8

Bạn có thể thiết lập miền địa phương hiện tại của bạn để bất cứ điều gì bạn muốn sử dụng cái gì đó như

I18n.locale = 'en_US' 

Để tránh lặp lại hầu hết các công cụ cho miền địa phương tương tự, bạn có thể sau đó thiết lập fallbacks thích hợp trong initializer i18n như vậy:

config.i18n.default_locale = 'en' 
config.i18n.fallbacks = { 
    'en_US' => 'en', 
    'en_GB' => 'en', 
    'de_DE' => 'de', 
    'de' => 'en' 
} 

Bây giờ bạn chỉ cần tạo tất cả các tệp bản địa hóa khác nhau của bạn như may mắn thay, mọi thứ đều là một phần của đá quý i18n mặc định.

+0

Ah ... Tôi không biết về config.i18n.fallbacks. Tôi sẽ thử. – Pablo

Các vấn đề liên quan