diff --git a/demo/adonisjs/inertia/lingo/dictionary.js b/demo/adonisjs/inertia/lingo/dictionary.js
index 86cea250a..e47eab273 100644
--- a/demo/adonisjs/inertia/lingo/dictionary.js
+++ b/demo/adonisjs/inertia/lingo/dictionary.js
@@ -5,15 +5,29 @@ export default {
entries: {
'1/declaration/body/0/argument/1/1': {
content: {
+ ar: 'الصفحة غير موجودة',
+ de: 'Seite nicht gefunden',
en: 'Page not found',
es: 'Página no encontrada',
+ fr: 'Page introuvable',
+ ja: 'ページが見つかりません',
+ ko: '페이지를 찾을 수 없습니다',
+ ru: 'Страница не найдена',
+ zh: '页面未找到',
},
hash: '97612e6230bc7a1ebd99380bf561b732',
},
'1/declaration/body/0/argument/1/3': {
content: {
+ ar: 'هذه الصفحة غير موجودة.',
+ de: 'Diese Seite existiert nicht.',
en: 'This page does not exist.',
es: 'Esta página no existe.',
+ fr: "Cette page n'existe pas.",
+ ja: 'このページは存在しません。',
+ ko: '이 페이지는 존재하지 않습니다.',
+ ru: 'Эта страница не существует.',
+ zh: '此页面不存在。',
},
hash: '7b6bcd0a4f23e42eeb0c972c2004efad',
},
@@ -23,8 +37,15 @@ export default {
entries: {
'1/declaration/body/0/argument/1/1': {
content: {
+ ar: 'خطأ في الخادم',
+ de: 'Serverfehler',
en: 'Server Error',
es: 'Error del servidor',
+ fr: 'Erreur du serveur',
+ ja: 'サーバーエラー',
+ ko: '서버 오류',
+ ru: 'Ошибка сервера',
+ zh: '服务器错误',
},
hash: 'd574aa7e2d84d112dc79ac0e59d794cf',
},
@@ -34,29 +55,105 @@ export default {
entries: {
'2/declaration/body/0/argument/1-title': {
content: {
+ ar: 'الصفحة الرئيسية',
+ de: 'Startseite',
en: 'Homepage',
es: 'Página de inicio',
+ fr: "Page d'accueil",
+ ja: 'ホームページ',
+ ko: '홈페이지',
+ ru: 'Главная страница',
+ zh: '主页',
},
hash: '7c2d68be7446e6de191c11d53f1e07b4',
},
'2/declaration/body/0/argument/3/1/1': {
content: {
+ ar: 'مرحباً بالعالم!',
+ de: 'Hallo Welt!',
en: 'Hello, world!',
es: '¡Hola, mundo!',
+ fr: 'Bonjour le monde !',
+ ja: 'こんにちは、世界!',
+ ko: '안녕하세요, 월드!',
+ ru: 'Привет, мир!',
+ zh: '你好,世界!',
},
hash: '0468579ef2fbc83c9d520c2f2f1c5059',
},
'2/declaration/body/0/argument/3/1/3': {
content: {
+ ar: 'هذا تطبيق تجريبي يوضح كيف يمكن استخدام Lingo.dev Compiler لترجمة التطبيقات المبنية باستخدام AdonisJS.',
+ de: 'Dies ist eine Beispiel-App, die demonstriert, wie der Lingo.dev Compiler verwendet werden kann, um mit AdonisJS erstellte Apps zu lokalisieren.',
en: 'This is an example app that demonstrates how Lingo.dev Compiler can be used to localize apps built with AdonisJS .',
es: 'Esta es una aplicación de ejemplo que demuestra cómo Lingo.dev Compiler puede ser utilizado para localizar aplicaciones construidas con AdonisJS.',
+ fr: "Ceci est une application d'exemple qui montre comment Lingo.dev Compiler peut être utilisé pour localiser des applications construites avec AdonisJS .",
+ ja: 'これは、Lingo.dev Compiler を使用して AdonisJS で構築されたアプリをローカライズする方法を示すサンプルアプリです。',
+ ko: '이것은 Lingo.dev Compiler를 사용하여 AdonisJS로 빌드된 앱을 지역화하는 방법을 보여주는 예제 앱입니다.',
+ ru: 'Это пример приложения, демонстрирующий, как Lingo.dev Compiler можно использовать для локализации приложений, созданных с помощью AdonisJS .',
+ zh: '这是一个示例应用程序,演示了如何使用 Lingo.dev Compiler 来本地化使用 AdonisJS 构建的应用程序。',
},
hash: '82b29979a52b215b94b2e811e8c03005',
},
'2/declaration/body/0/argument/3/1/5': {
content: {
+ ar: 'للتبديل بين اللغات، استخدم القائمة المنسدلة التالية:',
+ de: 'Um zwischen den Gebietsschemas zu wechseln, verwenden Sie das folgende Dropdown-Menü:',
en: 'To switch between locales, use the following dropdown:',
es: 'Para cambiar entre idiomas, utiliza el siguiente menú desplegable:',
+ fr: 'Pour basculer entre les langues, utilisez le menu déroulant suivant :',
+ ja: 'ロケールを切り替えるには、次のドロップダウンを使用します。',
+ ko: '로케일 간에 전환하려면 다음 드롭다운을 사용하세요:',
+ ru: 'Чтобы переключиться между языками, используйте следующее выпадающее меню:',
+ zh: '要切换语言环境,请使用以下下拉菜单:',
+ },
+ hash: '9ffb5f98cf11c88f3903e060f4028b46',
+ },
+ '3/declaration/body/0/argument/1-title': {
+ content: {
+ ar: 'الصفحة الرئيسية',
+ de: 'Startseite',
+ fr: "Page d'accueil",
+ ja: 'ホームページ',
+ ko: '홈페이지',
+ ru: 'Главная страница',
+ zh: '主页',
+ },
+ hash: '7c2d68be7446e6de191c11d53f1e07b4',
+ },
+ '3/declaration/body/0/argument/3/1/1': {
+ content: {
+ ar: 'مرحباً بالعالم!',
+ de: 'Hallo Welt!',
+ fr: 'Bonjour le monde !',
+ ja: 'こんにちは、世界!',
+ ko: '안녕하세요, 월드!',
+ ru: 'Привет, мир!',
+ zh: '你好,世界!',
+ },
+ hash: '0468579ef2fbc83c9d520c2f2f1c5059',
+ },
+ '3/declaration/body/0/argument/3/1/3': {
+ content: {
+ ar: 'هذا تطبيق تجريبي يوضح كيف يمكن استخدام Lingo.dev Compiler لترجمة التطبيقات المبنية باستخدام AdonisJS.',
+ de: 'Dies ist eine Beispiel-App, die demonstriert, wie der Lingo.dev Compiler verwendet werden kann, um mit AdonisJS erstellte Apps zu lokalisieren.',
+ fr: "Ceci est une application d'exemple qui montre comment Lingo.dev Compiler peut être utilisé pour localiser des applications construites avec AdonisJS .",
+ ja: 'これは、Lingo.dev Compiler を使用して AdonisJS で構築されたアプリをローカライズする方法を示すサンプルアプリです。',
+ ko: '이것은 Lingo.dev Compiler를 사용하여 AdonisJS로 빌드된 앱을 지역화하는 방법을 보여주는 예제 앱입니다.',
+ ru: 'Это пример приложения, демонстрирующий, как Lingo.dev Compiler можно использовать для локализации приложений, созданных с помощью AdonisJS .',
+ zh: '这是一个示例应用程序,演示了如何使用 Lingo.dev Compiler 来本地化使用 AdonisJS 构建的应用程序。',
+ },
+ hash: '82b29979a52b215b94b2e811e8c03005',
+ },
+ '3/declaration/body/0/argument/3/1/5': {
+ content: {
+ ar: 'للتبديل بين اللغات، استخدم القائمة المنسدلة التالية:',
+ de: 'Um zwischen den Gebietsschemas zu wechseln, verwenden Sie das folgende Dropdown-Menü:',
+ fr: 'Pour basculer entre les langues, utilisez le menu déroulant suivant :',
+ ja: 'ロケールを切り替えるには、次のドロップダウンを使用します。',
+ ko: '로케일 간에 전환하려면 다음 드롭다운을 사용하세요:',
+ ru: 'Чтобы переключиться между языками, используйте следующее выпадающее меню:',
+ zh: '要切换语言环境,请使用以下下拉菜单:',
},
hash: '9ffb5f98cf11c88f3903e060f4028b46',
},
diff --git a/demo/adonisjs/inertia/pages/home.tsx b/demo/adonisjs/inertia/pages/home.tsx
index 52a8b2320..05bac7e94 100644
--- a/demo/adonisjs/inertia/pages/home.tsx
+++ b/demo/adonisjs/inertia/pages/home.tsx
@@ -21,7 +21,7 @@ export default function Home() {
To switch between locales, use the following dropdown:
-
+
diff --git a/demo/adonisjs/vite.config.ts b/demo/adonisjs/vite.config.ts
index 412e18a0a..0d900ffab 100644
--- a/demo/adonisjs/vite.config.ts
+++ b/demo/adonisjs/vite.config.ts
@@ -30,7 +30,7 @@ const withLingo = lingoCompiler.vite({
sourceRoot: 'inertia',
lingoDir: 'lingo',
sourceLocale: 'en',
- targetLocales: ['es'],
+ targetLocales: ['es', 'ja', 'fr', 'ru', 'de', 'zh', 'ar', 'ko'],
rsc: false,
useDirective: false,
debug: false,
diff --git a/demo/react-router-app/app/lingo/dictionary.js b/demo/react-router-app/app/lingo/dictionary.js
index c1eff4536..083014822 100644
--- a/demo/react-router-app/app/lingo/dictionary.js
+++ b/demo/react-router-app/app/lingo/dictionary.js
@@ -5,10 +5,15 @@ export default {
entries: {
"9/declaration/body/1/argument/1/1/3-content": {
content: {
+ ar: "width=device-width, initial-scale=1",
de: "width=device-width, initial-scale=1",
en: "width=device-width, initial-scale=1",
es: "width=device-width, initial-scale=1",
fr: "width=device-width, initial-scale=1",
+ ja: "width=device-width, initial-scale=1",
+ ko: "width=device-width, initial-scale=1",
+ ru: "width=device-width, initial-scale=1",
+ zh: "width=device-width, initial-scale=1",
},
hash: "d94b318cb327f61f1aea44a6cb1fdcad",
},
@@ -18,37 +23,57 @@ export default {
entries: {
"3/declaration/body/0/argument/1/1": {
content: {
+ ar: "العودة إلى الصفحة الرئيسية",
de: "Zurück nach Hause",
en: "Go back home",
es: "Volver a inicio",
fr: "Retourner à l'accueil",
+ ja: "ホームに戻る",
+ ko: "홈으로 돌아가기",
+ ru: "Вернуться на главную",
+ zh: "返回主页",
},
hash: "a0ac69aec348674378faaf92ce476f64",
},
"3/declaration/body/0/argument/1/3": {
content: {
+ ar: "هذه صفحة اختبار",
de: "Dies ist eine Testseite",
en: "This is a test page",
es: "Esta es una página de prueba",
fr: "Ceci est une page de test",
+ ja: "これはテストページです",
+ ko: "테스트 페이지입니다.",
+ ru: "Это тестовая страница",
+ zh: "这是一个测试页面",
},
hash: "51eb13586d30537dfa934742439cc7ee",
},
"3/declaration/body/0/argument/1/5": {
content: {
+ ar: "مرحبًا بك في صفحة الاختبار غير التفاعلية.",
de: "Willkommen auf der nicht-interaktiven Testseite.",
en: "Welcome to non-interactive testing page.",
es: "Bienvenido a la página de prueba no interactiva.",
fr: "Bienvenue sur la page de test non interactive.",
+ ja: "インタラクティブでないテストページへようこそ。",
+ ko: "비대화형 테스트 페이지에 오신 것을 환영합니다.",
+ ru: "Добро пожаловать на неинтерактивную тестовую страницу.",
+ zh: "欢迎来到非交互式测试页面。",
},
hash: "792a8d0c1ca71a88ab7d887075e69b1d",
},
"3/declaration/body/0/argument/1/7": {
content: {
+ ar: "يرجى عدم محاولة التفاعل مع هذه الصفحة لسلامتك.",
de: "Bitte versuchen Sie nicht, mit dieser Seite zu interagieren, um Ihre eigene Sicherheit zu gewährleisten.",
en: "Please do not try to interact with this page for your own safety.",
es: "Por favor, no intentes interactuar con esta página por tu propia seguridad.",
fr: "Veuillez ne pas essayer d'interagir avec cette page pour votre propre sécurité.",
+ ja: "安全のため、このページを操作しないでください。",
+ ko: "안전을 위해 이 페이지와 상호 작용하지 마십시오.",
+ ru: "Пожалуйста, не пытайтесь взаимодействовать с этой страницей в целях вашей же безопасности.",
+ zh: "为了您的安全,请不要尝试与此页面进行交互。",
},
hash: "31ab29a98c0bb54378cb5a2390d07e57",
},
@@ -58,172 +83,267 @@ export default {
entries: {
"3/declaration/body/0/argument/1/1/1/1-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"3/declaration/body/0/argument/1/1/1/3-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"3/declaration/body/0/argument/1/1/3/1-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"3/declaration/body/0/argument/1/1/3/3-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"3/declaration/body/0/argument/1/3": {
content: {
+ ar: "اختبار",
de: "Test",
en: "Test",
es: "Prueba",
fr: "Test",
+ ja: "テスト",
+ ko: "테스트",
+ ru: "Тест",
+ zh: "测试",
},
hash: "4938894bf1608cee94696ec86f5d059a",
},
"3/declaration/body/0/argument/1/5/1/1": {
content: {
+ ar: "ماذا بعد؟",
de: "Was kommt als nächstes?",
en: "What's next?",
es: "¿Qué sigue?",
fr: "Qu'en est-il ensuite ?",
+ ja: "次は何をしますか?",
+ ko: "다음은 무엇일까요?",
+ ru: "Что дальше?",
+ zh: "下一步是什么?",
},
hash: "e0d9d29b9e761346e506557eb7b7e798",
},
"4/declaration/body/0/argument/1/1": {
content: {
+ ar: " 💚",
de: " 💚",
en: " 💚",
es: " 💚",
fr: " 💚",
+ ja: " 💚",
+ ko: " 💚",
+ ru: " 💚",
+ zh: " 💚",
},
hash: "201cf15cf0830aaaf478e49a9665d096",
},
"4/declaration/body/0/argument/1/1/3": {
content: {
+ ar: "💚",
de: "💚",
en: "💚",
es: "💚",
fr: "💚",
+ ja: "💚",
+ ko: "💚",
+ ru: "💚",
+ zh: "💚",
},
hash: "0ecc986bbbb51a93878f2d11bb45c04a",
},
"4/declaration/body/0/argument/1/1/3/1-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"4/declaration/body/0/argument/1/1/3/3-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"4/declaration/body/0/argument/1/1/5/1-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"4/declaration/body/0/argument/1/1/5/1/1-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"4/declaration/body/0/argument/1/1/5/1/3-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"4/declaration/body/0/argument/1/1/5/3-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"4/declaration/body/0/argument/1/1/5/5-alt": {
content: {
+ ar: "React Router",
de: "React Router",
en: "React Router",
es: "Enrutador de React",
fr: "React Router",
+ ja: "React Router",
+ ko: "React Router",
+ ru: "React Router",
+ zh: "React Router",
},
hash: "68ae50c1603f87d51e788a96b419f2ee",
},
"4/declaration/body/0/argument/1/3": {
content: {
+ ar: "فتح صفحة الاختبار",
de: "Testseite öffnen",
en: "Open test page",
es: "Abrir página de prueba",
fr: "Ouvrir la page de test",
+ ja: "テストページを開く",
+ ko: "테스트 페이지 열기",
+ ru: "Открыть тестовую страницу",
+ zh: "打开测试页面",
},
hash: "4e5098c50297642cf07ce303398bad59",
},
"4/declaration/body/0/argument/1/5": {
content: {
+ ar: "مرحبًا بك في تطبيق React Router الجديد الخاص بك! يتضمن هذا القالب المبدئي كل ما تحتاجه للبدء في React Router و Lingo.dev للتدويل.",
de: "Willkommen zu Ihrer neuen React Router Anwendung! Dieses Starter-Template enthält alles, was Sie benötigen, um mit React Router und Lingo.dev für die Internationalisierung zu beginnen.",
en: "Welcome to your new React Router application! This starter template includes everything you need to get started with React Router and Lingo.dev for internationalization.",
es: "¡Bienvenido a tu nueva aplicación de React Router! Esta plantilla inicial incluye todo lo que necesitas para empezar con React Router y Lingo.dev para la internacionalización.",
fr: "Bienvenue dans votre nouvelle application React Router ! Ce modèle de départ inclut tout ce dont vous avez besoin pour commencer avec React Router et Lingo.dev pour l'internationalisation.",
+ ja: "新しい React Router アプリケーションへようこそ!このスターターテンプレートには、React Router と Lingo.dev を使用して国際化を開始するために必要なものがすべて含まれています。",
+ ko: "새로운 React Router 애플리케이션에 오신 것을 환영합니다! 이 시작 템플릿에는 React Router 및 국제화를 위한 Lingo.dev를 시작하는 데 필요한 모든 것이 포함되어 있습니다.",
+ ru: "Добро пожаловать в ваше новое приложение React Router! Этот стартовый шаблон включает в себя все необходимое для начала работы с React Router и Lingo.dev для интернационализации.",
+ zh: "欢迎使用新的 React Router 应用程序!此入门模板包含您开始使用 React Router 和 Lingo.dev 进行国际化所需的一切。",
},
hash: "a90f2300128bce36346e0debd0b6092b",
},
"4/declaration/body/0/argument/1/5/1/1": {
content: {
+ ar: "ماذا بعد؟",
de: "Was kommt als nächstes?",
en: "What's next?",
es: "¿Qué sigue?",
fr: "Qu'en est-il ensuite ?",
+ ja: "次は何をしますか?",
+ ko: "다음은 무엇일까요?",
+ ru: "Что дальше?",
+ zh: "下一步是什么?",
},
hash: "e0d9d29b9e761346e506557eb7b7e798",
},
"4/declaration/body/0/argument/1/7/1/1": {
content: {
+ ar: "ماذا بعد؟",
de: "Was kommt als nächstes?",
en: "What's next?",
es: "¿Qué sigue?",
fr: "Qu'en est-il ensuite ?",
+ ja: "次は何をしますか?",
+ ko: "다음은 무엇일까요?",
+ ru: "Что дальше?",
+ zh: "下一步是什么?",
},
hash: "e0d9d29b9e761346e506557eb7b7e798",
},
diff --git a/demo/react-router-app/app/root.tsx b/demo/react-router-app/app/root.tsx
index 502053d76..7df26099b 100644
--- a/demo/react-router-app/app/root.tsx
+++ b/demo/react-router-app/app/root.tsx
@@ -49,7 +49,9 @@ export function Layout(props: { children: React.ReactNode }) {
-
+