I18N Là Gì

     

Lời mở đầu

Để một website có thể biến đổi đa ngôn ngữ ship hàng cho không ít người dân ở những quốc gia khác nhau thì nhà trở nên tân tiến web cần được quốc tế hóa website của bọn họ và bao gồm rất nhiều phương pháp để làm điều đó. Sau đây mình xin chia sẻ đến chúng ta mới bước đầu làm web bằng rails như mình một phương pháp để làm cho website có thể biến đổi được nhiều 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 từ Internationalization(Quốc tế hóa) ví như như bạn để ý thì số 18 vào i18n chính là 18 cam kết tự đứng giữa vần âm i thứ nhất và chữ cái n cuối cùng trong từ bỏ bị viết tắt đó. Đơn giản i18n cung ứng ta vào việc đổi khác đa ngôn ngữ cho áp dụng và nó đã được rails cung ứng từ phiên bạn dạng 2.2, tuy thế trong nội dung bài viết này bản thân xin phép tập trung vào i18n vào rails 5.

2. I18n vào Rails 5

Có một số trong những tính năng API nhưng mà trong Rails 5 đã cung cấp cho việc quốc tế hóa ngôn từ 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.

Xem thêm: Chim Bồ Câu Ăn Gì ? Những Điều Cần Lưu Ý Khi Nuôi Chim Bồ Câu

Ta sẽ sử dụng phương thức t(translate) helper với file .yml trong thư mục config/locales (mặc định lúc đầu trong là tệp tin en.yml) để biến đổi giữa những ngôn ngữ trong ứng dụng.

Dưới đây vẫn là ví dụ cho biết cách thực hiện t()

Chưa sử dụng i18nĐã thực hiện i18n
*
*

3. Tìm hiểu i18n qua ví dụ

Bước 1:Hãy chế tạo ra một vận dụng với thương hiệu i18n_demo bởi câu lệnh

*

Bước 2: tạo ra một trang đơn giản dễ dàng view/static_pages/home.html.erb như sau:

codeGiao diện
*
*
Bước 3: Trong folder config/locales đã bao gồm sẵn file en.yml như vẫn nói sống trên, ta sẽ tạo nên thêm một tệp tin vi.yml. Tiếp đến tiến hành đặt tên cho những biến rứa địnhen.ymlvi.yml
*
*

Bước 4: quản lý miền địa phương qua những yêu cầu bằng cách xác định một hành vi trước vào ApplicationController

*

Để cài đặt ngôn ngữ mang định cho vận dụng ta sửa trong tệp tin config/application.rb, ở chỗ này mình để mặc định là giờ đồng hồ anh(:en)

*
Để vận dụng cá đổi khác ngôn ngữ vào ứng dụng của chính mình thì đơn giản dễ dàng trong config/routes.rb sẽ áp dụng tùy chọn :locale scope

*

Bước 5: thực hiện sửa trang đã tạo ở cách 2 theo i18n như sau

codeTiếng anhTiếng việt
*
*
*

Để tầm nã 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 đâỳ đủ đến key ao ước truy xuấtvd: t "static_pages.home.title", và biện pháp này luôn cho tác dụng đúng.

Xem thêm: Hiến Pháp Là Gì? ? (Cập Nhật 2022) (Cập Nhật 2022)

Cách 2: Như trong code trên mình dùng t ".title" với không phải viết không hề thiếu đường dẫn là cũng chính vì mình đang thao tác làm việc trong Controller static_pages cùng với Action trang chủ nên rails đã tìm theo Controller và kích hoạt cho mình. Đây được hotline là “Lazy” Lookup. Xem xét nếu ta không thao tác làm việc trong Controller và action trên thì biện pháp này sẽ không đúng.

Lời kết

Mình mong rằng qua nội dung bài viết của mình để giúp đỡ cho chúng ta mới làm quen cùng với i18n thuận lợi hơn. Cảm ơn chúng ta đã đọc nội dung bài viết của mình!