Làm thế nào tôi có thể quốc tế hóa nói một bảng loại (với một cột tên) sang ngôn ngữ khác nhau. Làm thế nào về một bảng sản phẩm (bao gồm một tên và cột mô tả). Cách tốt nhất để quốc tế hóa nội dung của các bảng cơ sở dữ liệu này bằng Ruby on Rails là gì?Làm thế nào để quốc tế hóa nội dung trên Ruby on Rails?
Trả lời
Bạn đã lấy một cái nhìn tại địa chỉ: http://guides.rubyonrails.org/i18n.html
Nó mô tả một cách chi tiết làm thế nào để quốc tế hóa ứng dụng của bạn và
"cung cấp một cách dễ dàng sử dụng và mở rộng khuôn khổ để dịch của bạn ứng dụng cho một đơn tùy chỉnh ngôn ngữ khác ngoài tiếng Anh hay cho hỗ trợ đa ngôn ngữ trong ứng dụng của bạn."
Một số liên kết hữu ích:
Nếu bạn muốn lưu trữ các giá trị cho các ngôn ngữ khác nhau trong db bên cạnh Rails tiêu chuẩn i18n (yml), bạn có thể làm một cái gì đó như thế này:
Sản phẩm tên bảng lĩnh vực:
- name_en
- name_fr
- name_nl
Fetch giá trị đúng:
def i18n_db_value(object, attribute)
object.send("#{attribute.to_s}_#{I18n.locale}") if object
end
"cửa hàng nhiều phiên bản của nội dung trong mô hình và có một trang web" vs "cửa hàng chỉ có một phiên bản của nội dung trong mô hình nhưng có nhiều trang web"
On RailsCasts có một bài viết thú vị về, sử dụng một viên ngọc gọi Globalize3. Mà chỉ cho phép bạn đặt mà Models sẽ được dịch và quản lý một dịch bảng cho mỗi mô hình, và hoạt động giống như i18n là các trang tĩnh ...
Hãy xem
http://railscasts.com/episodes/338-globalize3?view=asciicast
Bạn có thể ghi đè lên "tên" phương pháp trong mô hình Thể loại, có thể tìm kiếm bản dịch chính xác trong bảng khác.
Vì vậy mà, trong bảng hạng mục, bạn nên có trong trường "Tên" ngôn ngữ mặc định dịch, ví dụ "Khác". Và sau đó tìm kiếm "Khác" trong một bảng như:
transtations table
en_text "Other" <--- You search this (default language)
es_text "Otros" ---> You retrun this
ca_text "Altres" ---> or this
# Category table
class Category < ActiveRecord::Base
def name
Translation.translate(read_attribute("name"))
end
end
# Your transltation model
class Translation < ActiveRecord::Base
def self.translate(text)
locale=I18n.locale
if locale!="en" # default locale: what is on the table "category"
trad=self.find_by_en_text(text)
if trad
return eval("trad.#{locale}_text")
end
end
return text
end
end
- 1. Quốc tế hóa nội dung trong Entity Framework
- 2. Hệ thống quản lý nội dung Ruby on Rails?
- 3. Quốc tế hóa Django (trên OSX)
- 4. Làm thế nào để làm chủ Ruby on Rails
- 5. Có công cụ hỗ trợ quốc tế hóa ruby / rails không?
- 6. Ruby on Rails Quốc gia/Tiểu bang Chọn Enigma
- 7. Lua - Làm cách nào để Quốc tế hóa?
- 8. Quốc tế hóa các trang tĩnh với Rails
- 9. Ruby on Rails trên IIS?
- 10. Ruby on Rails, làm thế nào để vô hiệu hóa/tắt ETag
- 11. I18n gửi trong Ruby on Rails
- 12. Quốc tế hóa trong PHP
- 13. Làm thế nào để xóa tất cả nội dung của một thư mục với Ruby-Rails?
- 14. Làm thế nào để "content_for: title" của Ruby on Rails có thể được gán sau?
- 15. Cách tải tập lệnh nội dung trên tất cả các trang của Google (quốc tế)?
- 16. Ruby on Rails javascript_include_tag: defaults
- 17. Làm cách nào để xóa Ruby on Rails 4 beta?
- 18. Ruby vs Ruby On Rails
- 19. Ruby on Rails 301
- 20. Cuộn tròn trên Ruby on Rails
- 21. Làm thế nào để viết một helper trong Ruby on Rails để nắm bắt khối Haml?
- 22. quốc tế hóa trong Node.js, Express, i18n
- 23. Quốc tế hóa khoảng cách trong java
- 24. JavaScript quốc tế hóa với django
- 25. Ruby On Rails trên Windows với Mongrel
- 26. Làm cách nào để gửi và nhận email được mã hóa trong Ruby on Rails?
- 27. Ruby on Rails: Xin chào thế giới
- 28. Làm thế nào để quốc tế hóa một tay lái + chế độ xem xương sống?
- 29. Quốc tế hóa Struts2 sử dụng cơ sở dữ liệu
- 30. Làm cách nào để bạn kiểm tra ứng dụng của mình cho Iñtërnâtiônàlizætiøn? (Quốc tế hóa?)
Tất cả các tham chiếu này không nói về dịch nội dung cơ sở dữ liệu ...như đá quý Globalize3 –