Lời mở đầu
Để một trang web có thể chuyển đổi đa ngôn ngữ giao hàng cho không ít người ở những nước nhà khác nhau thì nhà cải cách và phát triển web rất cần được quốc tế hóa trang web của bọn họ và có rất nhiều cách để làm điều đó. Dưới đây mình xin chia sẻ đến các bạn mới bước đầu làm web bằng rails như mình một phương pháp để làm cho trang web có thể đổi khác được đa ngôn ngữ bằng phương pháp sử dụng I18n.
Bạn đang xem: I18n là gì
1. I18n là gì?
I18n là viết tắt của trường đoản cú Internationalization(Quốc tế hóa) nếu như bạn để ý thì số 18 trong i18n đó là 18 ký tự đứng giữa vần âm i đầu tiên và vần âm n ở đầu cuối trong tự bị viết tắt đó. Đơn giản i18n hỗ trợ ta trong việc thay đổi đa ngôn ngữ cho vận dụng và nó đã được rails cung ứng từ phiên bạn dạng 2.2, nhưng lại trong nội dung bài viết này mình xin phép tập trung vào i18n vào rails 5.
2. I18n trong Rails 5
Có một số trong những tính năng API mà trong Rails 5 đã hỗ trợ cho việc nước ngoài hóa ngôn ngữ cho ứng dụng của bạn:
Looking up translationsInterpolating data into translationsPluralizing translationsUsing safe HTML translations (view helper method only)Localizing dates, numbers, currency, etc.Ta sẽ sử dụng phương thức t(translate) helper và file .yml trong thư mục config/locales (mặc định ban sơ trong là file en.yml) để thay đổi giữa những ngôn ngữ vào ứng dụng.
Dưới đây sẽ là ví dụ cho thấy cách sử dụng t()
![]() | ![]() |
3. Mày mò i18n qua ví dụ
Bước 1:Hãy sản xuất một áp dụng với tên i18n_demo bằng câu lệnh

Bước 2: tạo thành một trang đơn giản và dễ dàng view/static_pages/home.html.erb như sau:
![]() | ![]() |
![]() | ![]() |
Bước 4: làm chủ miền địa phương qua những yêu cầu bằng phương pháp xác định một hành vi trước vào ApplicationController

Để thiết đặt ngôn ngữ khoác định cho ứng dụng ta sửa trong tệp tin config/application.rb, ở đây mình nhằm mặc định là giờ anh(:en)


Bước 5: triển khai sửa trang đã sản xuất ở bước 2 theo i18n như sau
![]() | ![]() | ![]() |
Để truy hỏi xuất văn bản của i18n ta hoàn toàn có thể sử dụng các cách sau:
Cách 1: Ta sẽ thực hiện đường dẫn đâỳ đủ mang lại key ý muốn truy xuấtvd: t "static_pages.home.title", và cách này luôn cho công dụng đúng.
Xem thêm: React Native Là Gì? Tổng Quan Ưu Nhược Điểm Về React Native Giới Thiệu Và Làm Quen Với React Native
Cách 2: Như trong code bên trên mình sử dụng t ".title" với không bắt buộc viết không hề thiếu đường dẫn là cũng chính vì mình đang thao tác trong Controller static_pages cùng với Action home nên rails vẫn tìm theo Controller và action cho mình. Đây được hotline là “Lazy” Lookup. Chú ý nếu ta không thao tác trong Controller và action trên thì giải pháp này sẽ không đúng.
Lời kết
Mình ý muốn rằng qua bài viết của mình để giúp đỡ cho các bạn mới làm cho quen với i18n thuận tiện hơn. Cảm ơn các bạn đã đọc nội dung bài viết của mình!