Translations POC

This commit is contained in:
Blipz 2026-03-13 14:22:02 +01:00
parent 3f9a7702d4
commit 0b69c1882b
13 changed files with 4853 additions and 543 deletions

31
i18next.config.ts Normal file
View file

@ -0,0 +1,31 @@
import { defineConfig } from 'i18next-cli';
import { type Plugin, ExtractedKey } from "i18next-cli";
import { readFile } from "node:fs/promises";
const HTMLPlugin: Plugin = {
name: "html-plugin",
async onEnd(keys: Map<string, ExtractedKey>) {
const content = await readFile("src/index.html", "utf-8");
const matches = content.matchAll(/data-(?:text|tip)="([^"]+)"/g);
for (const match of matches) {
const key = match[1];
keys.set(key, {key, defaultValue: key});
}
}
};
export default defineConfig({
locales: [
"en",
"fr"
],
extract: {
input: "src/**/*.{js,ts}",
output: "public/locales/{{language}}/{{namespace}}.json",
defaultNS: "lang",
keySeparator: false
},
plugins: [
HTMLPlugin
]
});