Internalization
Как подробнее объясняется здесь, Pixi’VN даёт возможность переводить игровой текст используя библиотеки, такие как i18next. Также в ink + интеграции Pixi'VN вы можете использовать библиотеку для перевода текста ink.
Pixi’VN даёт разработчику возможность перехватывать событие перевода с помощью функции onInkTranslate.
Функция onInkTranslate имеет в качестве параметра функцию обратного вызова, которая принимает в качестве параметра текст для перевода и возвращает переведенный текст.
import { onInkTranslate } from "@drincs/pixi-vn-ink";
export function initializeInk(options: { t: (key: string) => string }) {
const { t } = options;
onInkTranslate(t);
}Автоматическая генерация файлов перевода
Templates
Во всех шаблонах вы можете использовать следующую кнопку в настройках, чтобы автоматически сгенерировать json-файл, который будет использован для переводов.

Для облегчения создания файлов перевода, вы можете использовать функцию generateJsonInkTranslation, чтобы автоматически сгенерировать структуру JSON-файла из текста ink.
import { generateJsonInkTranslation } from "@drincs/pixi-vn-ink";
import i18n from "i18next";
import { convertInkToJson } from "./utils/ink-utility";
function getLocalesResource(lng: string): Promise<any> {
return import(`./locales/strings_${lng}.json`);
}
async function generateResourceToTranslate(lng: string): Promise<any> {
let res = await getLocalesResource(lng);
res = { ...res };
if (!res) {
res = {};
}
if (!res.narration) {
res.narration = {};
}
if (res.default) {
delete res.default;
}
(await convertInkToJson()).forEach((element) => {
element && generateJsonInkTranslation(element, res.narration);
});
return res;
}
export async function downloadResourceToTranslate() {
const lng = i18n.options.fallbackLng?.toString() || "en";
const data = await generateResourceToTranslate(lng);
const jsonString = JSON.stringify(data);
// download the save data as a JSON file
const blob = new Blob([jsonString], { type: "application/json" });
// download the file
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = `strings_${lng}.json`;
a.click();
}