0

I18n next Configuration options

Bài dịch được lấy từ ngồn https://www.i18next.com/configuration-options.html

Configuration options

 i18next.init(options, callback)

Tất cả các tùy chọn gọi init hoặc createInstance.

logging

option default description
debug false Ghi lại thông tin để điều khiển đầu ra. Giúp tìm ra vấn đề khi không thể load.

languages, namespaces, resources

option default description
resources undefined Tài nguyên để khởi tạo với (nếu không sử dụng tải hoặc không bổ sung bằng cách sử dụng addResourceBundle ).
lng undefined Ngôn ngữ để sử dụng (ghi đè lên ngôn ngữ được tìm thấy) .
fallbackLng 'dev' Ngôn ngữ để sử dụng nếu bản dịch bằng ngôn ngữ người dùng không có sẵn.
whitelist false Các ngôn ngữ cho phép.
nonExplicitWhitelist false Nếu giá trị true sẽ pass. en-US nếu tìm kiếm en trong whitelist.
load 'all' Các mã ngôn ngữ để tra cứu, cho ngôn ngữ thiết lập là 'en-US': 'all' --> ['en-US', 'en', 'dev'] , 'currentOnly' --> 'en-US' , 'languageOnly' --> 'en'.
preload false Các ngôn ngữ để tải trước. Quan trọng về serverside để chắc chắn bản dịch được nạp trước khi render view.
lowerCaseLng false Ngôn ngữ được down case.
ns 'translation' Mảng string của namespace để load.
defaultNS 'translation' Giá trị mặc địng của namespace được sử dụng nếu không pass được traslation function.
fallbackNS false Mảng string của namespace để tìm kiếm nếu không tìm thấy trong những namespace đã given.

missing keys

option default description
saveMissing false Gọi save missing key function khi không tìm thấy key.
updateMissing false thử nghiệm: cho phép cập nhật các giá trị mặc định bằng cách sử dụng saveMissing (chỉ hoạt động khi defaultValue khác với giá trị dịch) Chỉ hữu ích khi phát triển ban đầu hoặc khi giữ code mà không thay đổi các giá trị bên ngoài code.
saveMissingTo 'fallback' 'current' hoặc 'all'.
missingKeyHandler false function(lng, ns, key, fallbackValue) { } được sử dụng cho việc quản lý chính bị thiếu key (cần set saveMising về giá trị true.)
parseMissingKeyHandler noop function (key).
appendNamespaceToMissingKey false Thêm namespace nếu thiếu key.

translation defaults

option default description
simplifyPluralSuffix true Sẽ sử dụng 'plural' làm hậu tố cho các ngôn ngữ chỉ có 1 hình dạng số nhiều, đặt nó là false sẽ hậu tố tất cả với số.
postProcess false Chuỗi hoặc mảng của các postprocessors để áp dụng cho mỗi mặc định.
returnNull true Cho phép các giá trị null như là translation hợp lệ.
returnEmptyString true Cho phép các chuỗi rỗng như là translation hợp lệ.
returnObjects false Cho phép các object như là translation hợp lệ.
returnedObjectHandler noop function(key, value, options) {} được gọi nếu đối tượng được truyền như là khoá nhưng returnObjects được đặt thành false.
joinArrays false Ký tự, ví dụ. '\ n' rằng các mảng sẽ được kết hợp bởi ký tự xuống dòng.
saveMioverloadTranslationOptionHandler function(args) { return { defaultValue: args[1] }; }; mặc định: đặt defaultValue.
interpolation {...} xem interpolation.

plugin options

option default description
detection undefined Tùy chọn phát hiện ngôn ngữ - kiểm tra tài liệu của plugin.
backend undefined Tùy chọn cho phụ trợ - kiểm tra tài liệu của plugin.
cache undefined Tùy chọn cho lớp bộ nhớ cache - kiểm tra tài liệu của plugin.

misc

option default description
initImmediate true kích hoạt load resource trong hàm init bên trong một setTimeout (hành vi async mặc định). Đặt nó thành false nếu backend của bạn tải các resource đồng bộ - cách đó gọi i18next.t sau khi init có thể mà không cần chuyển tiếp vào gọi gọi init.
keySeparator '.' Ký tự cho key riêng biệt.
nsSeparator ':' Ký tự tách namespace khỏi key.
pluralSeparator '_' Ký tự tách plural khỏi key.
contextSeparator ''_' Ký tự tách nội dung khỏi key.
appendNamespaceToCIMode false Tiền tố của namespace để trả về khi sử dụng cimode.

initImmediate

Ví dụ cách sử dụng initImmediate khi sử dụng plugin phụ trợ cho phép đồng bộ hóa.

import i18next from 'i18next';
import SyncBackend from 'i18next-sync-fs-backend';

// not working
i18next
  .use(SyncBackend)
  .init();

i18next.t('key'); // -> will not return value as init was run async

/*
execution order of function calls
- init
- t
- loadResources (as called inside timeout)
*/

// working
i18next
  .use(SyncBackend)
  .init({ initImmediate: false });

i18next.t('key'); // -> will return value

/*
execution order of function calls
- init
- loadResources (as called without timeout)
- t
*/

Cảm ơn và hi họng bài viết có ích cho công việc của bạn.


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.