Đặt câu hỏi và nhận tóm tắt tài liệu bằng cách tham chiếu trang này và nhà cung cấp AI bạn chọn
Lịch sử phiên bản
- "Tài liệu ban đầu"v9.4.023/8/2026
Nội dung của trang này đã được dịch bằng AI.
Xem phiên bản mới nhất của nội dung gốc bằng tiếng AnhNếu bạn có ý tưởng để cải thiện tài liệu này, vui lòng đóng góp bằng cách gửi pull request trên GitHub.
Liên kết GitHub tới tài liệuSao chép Markdown của tài liệu vào bộ nhớ tạm
Documentation: Hàm getDictionaryAsync trong intlayer
Mô tả
Hàm getDictionaryAsync tải một single locale chunk của một từ điển và trả về nội dung được giải thích của nó.
Đây là phần đối ứng của getDictionary cho các loader maps theo locale được phát ra trong .intlayer/dynamic_dictionaries/: thay vì nhận một từ điển chứa mọi locale, nó nhận loader map và chỉ chờ đợi chunk mà locale được yêu cầu cần.
Trong mã ứng dụng, bạn thường gọigetIntlayerAsync, không phải hàm này. Các build plugins viết lại mọi lệnh gọigetIntlayerAsync('key', locale)thànhgetDictionaryAsync(loaderMap, 'key', locale).getDictionaryAsyncđược export cho các custom loaders và cho các công cụ xây dựng loader maps của riêng chúng.
Các tính năng chính:
- Tải chỉ locale chunk được yêu cầu
- Hỗ trợ loader maps đơn giản (
locale → loader) và có đủ điều kiện (locale → qualifierId → loader) - Khử trùng các lần tải đồng thời của cùng một chunk và cache nội dung đã giải quyết
- Các tải thất bại được xóa khỏi cache để một lệnh gọi sau có thể thử lại chunk
Chữ Ký Hàm
Sao chép mã vào clipboard
Tham số
dictionaryLoaders: PlainDynamicLoaderMap | QualifiedDynamicLoaderMap- Description: Bản đồ loader cho từng locale. Bản đồ thông thường liên kết một locale với một loader; bản đồ được xác định (được sử dụng bởi collections và variants) liên kết một locale với một qualifier id, sau đó là một loader. Đối với bản đồ được xác định, chỉ các chunk mà selector nhắm tới được tải.
- Type:
PlainDynamicLoaderMap<T> | QualifiedDynamicLoaderMap - Required: Yes
key: string- Description: Khóa từ điển, được sử dụng để đặt tên không gian cho bộ nhớ đệm chunk.
- Type:
string - Required: Yes
localeOrSelector: LocalesValues | DictionarySelector- Description: Locale để diễn giải nội dung với, hoặc một đối tượng selector (
{ item },{ variant }, tùy chọn vớilocale). Xem dynamic dictionaries. - Type:
LocalesValues | DictionarySelector - Required: No (Optional) — mặc định là
defaultLocaleđã cấu hình.
- Description: Locale để diễn giải nội dung với, hoặc một đối tượng selector (
plugins: Plugins[]- Description: Node transformers. Mặc định là bộ interpreter cơ sở.
- Type:
Plugins[] - Required: No (Optional)
Returns
- Type:
Promise<Content>— a promise resolving to the interpreted content of the loaded chunk. - Description: Resolves to
nullwhen the map emits no chunk for the requested locale nor for any of its fallbacks, mirroring how a missing qualified coordinate resolves.
Ví dụ sử dụng
Với một generated loader map
Sao chép mã vào clipboard
import { getDictionaryAsync } from "intlayer";
import appLoaderMap from "../.intlayer/dynamic_dictionaries/app";
const { title } = await getDictionaryAsync(appLoaderMap, "app", "fr");
Với một custom loader map
Sao chép mã vào clipboard
Với một selector trên một qualified map
Sao chép mã vào clipboard
Các Ghi Chú về Hành Vi
Caching và deduplication
Bộ nhớ cache lưu trữ promise của mỗi bộ ba key + locale + selector, vì vậy các lệnh gọi đồng thời cho cùng một chunk chờ một lần tải duy nhất. Một lần tải bị từ chối sẽ bị loại khỏi bộ nhớ cache, vì vậy một chunk lỗi sẽ được thử lại trong lần gọi tiếp theo thay vì phát lại cùng một lỗi mãi mãi.
Dự phòng Locale
Một plain loader map được duyệt dọc theo cùng một chuỗi dự phòng như ở chế độ đồng bộ: locale được yêu cầu trước tiên, sau đó là các dự phòng của nó, sau đó là null nếu không có chunk nào được phát ra.
Các Hàm Liên Quan
getIntlayerAsync: Hàm mà các ứng dụng gọi; build plugins viết lại nó thànhgetDictionaryAsync.getDictionary: Đối tác đồng bộ lấy một từ điển đầy đủ.- Dynamic dictionaries: Các bộ sưu tập và biến thể, cũng như các bản đồ loader mà chúng tạo ra.
TypeScript
Sao chép mã vào clipboard
