From 641b1882b5b711e95ce02db7e0549ed241e97b6d Mon Sep 17 00:00:00 2001 From: Maurice Date: Sat, 7 Nov 2026 23:21:18 +0100 Subject: [PATCH] fix(i18n): the app's first screens read without dashes in every language The welcome subtitle and the TREK Cloud texts used an em dash as a pause in all locales. Each is reworded with a comma, a colon or a new clause, and a spec keeps a dash from coming back in any locale's native strings. --- shared/src/i18n/ar/native.ts | 2 +- shared/src/i18n/az/native.ts | 3 ++- shared/src/i18n/br/native.ts | 2 +- shared/src/i18n/ca/native.ts | 3 ++- shared/src/i18n/cs/native.ts | 2 +- shared/src/i18n/de/native.ts | 6 ++--- shared/src/i18n/en/native.ts | 6 ++--- shared/src/i18n/es/native.ts | 3 ++- shared/src/i18n/et/native.ts | 2 +- shared/src/i18n/fr/native.ts | 3 ++- shared/src/i18n/gr/native.ts | 2 +- shared/src/i18n/he/native.ts | 2 +- shared/src/i18n/hu/native.ts | 2 +- shared/src/i18n/id/native.ts | 2 +- shared/src/i18n/it/native.ts | 2 +- shared/src/i18n/ja/native.ts | 2 +- shared/src/i18n/ko/native.ts | 2 +- shared/src/i18n/native-dashes.spec.ts | 32 +++++++++++++++++++++++++++ shared/src/i18n/nl/native.ts | 2 +- shared/src/i18n/pl/native.ts | 2 +- shared/src/i18n/ru/native.ts | 2 +- shared/src/i18n/sk/native.ts | 2 +- shared/src/i18n/sv/native.ts | 2 +- shared/src/i18n/th/native.ts | 2 +- shared/src/i18n/tr/native.ts | 2 +- shared/src/i18n/uk/native.ts | 2 +- shared/src/i18n/vi/native.ts | 3 ++- shared/src/i18n/zh-TW/native.ts | 2 +- shared/src/i18n/zh/native.ts | 2 +- 29 files changed, 69 insertions(+), 32 deletions(-) create mode 100644 shared/src/i18n/native-dashes.spec.ts diff --git a/shared/src/i18n/ar/native.ts b/shared/src/i18n/ar/native.ts index 2ef526ba7..198cb33a1 100644 --- a/shared/src/i18n/ar/native.ts +++ b/shared/src/i18n/ar/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'الخادم', 'native.settings.serverHint': 'هذا التطبيق متصل بـ {server}.', 'native.welcome.headline': 'رحلاتك.\nخطتك.', - 'native.welcome.sub': 'خطّطوا معًا في الوقت الفعلي: جولات وميزانيات ويوميات وألبوم صور — بالذكاء الاصطناعي.', + 'native.welcome.sub': 'خطّطوا معًا في الوقت الفعلي: جولات وميزانيات ويوميات وألبوم صور، بمساعدة الذكاء الاصطناعي.', 'native.welcome.connect': 'اربط TREK الخاص بك', 'native.welcome.connectSub': 'افتح العنوان الذي تستخدمه بالفعل', 'native.welcome.getCloud': 'احصل على TREK Cloud', diff --git a/shared/src/i18n/az/native.ts b/shared/src/i18n/az/native.ts index 4f58183b8..e4e97a9b7 100644 --- a/shared/src/i18n/az/native.ts +++ b/shared/src/i18n/az/native.ts @@ -25,7 +25,8 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'Bu tətbiq {server} serverinə qoşulub.', 'native.welcome.headline': 'Səyahətlərin.\nPlanın.', - 'native.welcome.sub': 'Real vaxtda birlikdə planlayın: turlar, büdcələr, jurnallar, foto kitab — süni intellektlə.', + 'native.welcome.sub': + 'Real vaxtda birlikdə planlayın: turlar, büdcələr, jurnallar və foto kitab, süni intellektin köməyi ilə.', 'native.welcome.connect': 'TREK-inizi qoşun', 'native.welcome.connectSub': 'Artıq istifadə etdiyiniz ünvanı açın', 'native.welcome.getCloud': 'TREK Cloud əldə edin', diff --git a/shared/src/i18n/br/native.ts b/shared/src/i18n/br/native.ts index 7b4dee5d3..8b720ba64 100644 --- a/shared/src/i18n/br/native.ts +++ b/shared/src/i18n/br/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Servidor', 'native.settings.serverHint': 'Este app está conectado a {server}.', 'native.welcome.headline': 'Suas viagens.\nSeu plano.', - 'native.welcome.sub': 'Planejem juntos em tempo real: roteiros, orçamentos, diário, fotolivro — com IA.', + 'native.welcome.sub': 'Planejem juntos em tempo real: roteiros, orçamentos, diário e fotolivro, com a ajuda da IA.', 'native.welcome.connect': 'Conecte seu TREK', 'native.welcome.connectSub': 'Abra o endereço que você já usa', 'native.welcome.getCloud': 'Obter o TREK Cloud', diff --git a/shared/src/i18n/ca/native.ts b/shared/src/i18n/ca/native.ts index 437d94e51..733b540f4 100644 --- a/shared/src/i18n/ca/native.ts +++ b/shared/src/i18n/ca/native.ts @@ -25,7 +25,8 @@ const native: TranslationStrings = { 'native.settings.server': 'Servidor', 'native.settings.serverHint': 'Aquesta app està connectada a {server}.', 'native.welcome.headline': 'Els teus viatges.\nEl teu pla.', - 'native.welcome.sub': 'Planifiqueu junts en temps real: rutes, pressupostos, diari, fotollibre — amb IA.', + 'native.welcome.sub': + 'Planifiqueu junts en temps real: rutes, pressupostos, diari i fotollibre, amb l’ajuda de la IA.', 'native.welcome.connect': 'Connecta el teu TREK', 'native.welcome.connectSub': 'Obre l’adreça que ja fas servir', 'native.welcome.getCloud': 'Obtén el TREK Cloud', diff --git a/shared/src/i18n/cs/native.ts b/shared/src/i18n/cs/native.ts index bbb7dd415..5360d0fab 100644 --- a/shared/src/i18n/cs/native.ts +++ b/shared/src/i18n/cs/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'Tato aplikace je připojena k {server}.', 'native.welcome.headline': 'Vaše cesty.\nVáš plán.', - 'native.welcome.sub': 'Plánujte společně v reálném čase: trasy, rozpočty, deník, fotokniha — s AI.', + 'native.welcome.sub': 'Plánujte společně v reálném čase: trasy, rozpočty, deník a fotokniha, s pomocí AI.', 'native.welcome.connect': 'Připojte svůj TREK', 'native.welcome.connectSub': 'Otevřete adresu, kterou už používáte', 'native.welcome.getCloud': 'Získat TREK Cloud', diff --git a/shared/src/i18n/de/native.ts b/shared/src/i18n/de/native.ts index 29b838dc3..bf56300d8 100644 --- a/shared/src/i18n/de/native.ts +++ b/shared/src/i18n/de/native.ts @@ -26,17 +26,17 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'Diese App ist mit {server} verbunden.', 'native.welcome.headline': 'Deine Reisen.\nDein Plan.', - 'native.welcome.sub': 'Gemeinsam in Echtzeit planen: Touren, Budgets, Journal, Fotobuch — mit KI.', + 'native.welcome.sub': 'Gemeinsam in Echtzeit planen: Touren, Budgets, Journal und Fotobuch, mit Hilfe von KI.', 'native.welcome.connect': 'Mit deinem TREK verbinden', 'native.welcome.connectSub': 'Die Adresse öffnen, die du schon nutzt', 'native.welcome.getCloud': 'TREK Cloud holen', 'native.welcome.getCloudSub': 'Für dich gehostet, ohne Einrichtung', 'native.cloud.title': 'TREK Cloud', 'native.cloud.sub': - 'Wir hosten TREK für dich, auf deiner eigenen Adresse. Nichts installieren, nichts warten — in Minuten bereit.', + 'Wir hosten TREK für dich, auf deiner eigenen Adresse. Nichts zu installieren, nichts zu warten, in wenigen Minuten bereit.', 'native.cloud.f1': 'Eigene Adresse, auf Servern in Deutschland', 'native.cloud.f2': 'In Minuten eingerichtet, Updates übernehmen wir', - 'native.cloud.f3': 'Deine Daten bleiben deine — keine Werbung, kein Tracking', + 'native.cloud.f3': 'Deine Daten bleiben deine: keine Werbung, kein Tracking', 'native.cloud.cta': 'Loslegen', 'native.cloud.haveServer': 'Ich habe schon einen TREK-Server', 'native.connecting': 'Verbinde mit {host}', diff --git a/shared/src/i18n/en/native.ts b/shared/src/i18n/en/native.ts index d584360ca..14aa99347 100644 --- a/shared/src/i18n/en/native.ts +++ b/shared/src/i18n/en/native.ts @@ -25,17 +25,17 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', 'native.settings.serverHint': 'This app is connected to {server}.', 'native.welcome.headline': 'Your Trips.\nYour Plan.', - 'native.welcome.sub': 'Plan together in real time: tours, budgets, journals, photo book — with AI.', + 'native.welcome.sub': 'Plan together in real time: tours, budgets, journals and a photo book, with help from AI.', 'native.welcome.connect': 'Connect your TREK', 'native.welcome.connectSub': 'Open the address you already use', 'native.welcome.getCloud': 'Get TREK Cloud', 'native.welcome.getCloudSub': 'Hosted for you, no setup', 'native.cloud.title': 'TREK Cloud', 'native.cloud.sub': - 'We host TREK for you, on your own address. Nothing to install, nothing to maintain — ready in minutes.', + 'We host TREK for you, on your own address. Nothing to install, nothing to maintain, and it is ready in minutes.', 'native.cloud.f1': 'Your own address, on servers in Germany', 'native.cloud.f2': 'Set up in minutes, updates handled for you', - 'native.cloud.f3': 'Your data stays yours — no ads, no tracking', + 'native.cloud.f3': 'Your data stays yours: no ads, no tracking', 'native.cloud.cta': 'Get started', 'native.cloud.haveServer': 'I already have a TREK', 'native.connecting': 'Connecting to {host}', diff --git a/shared/src/i18n/es/native.ts b/shared/src/i18n/es/native.ts index 5df11a3b6..0737c965a 100644 --- a/shared/src/i18n/es/native.ts +++ b/shared/src/i18n/es/native.ts @@ -26,7 +26,8 @@ const native: TranslationStrings = { 'native.settings.server': 'Servidor', 'native.settings.serverHint': 'Esta app está conectada a {server}.', 'native.welcome.headline': 'Tus viajes.\nTu plan.', - 'native.welcome.sub': 'Planifica en equipo y en tiempo real: rutas, presupuestos, diario, fotolibro — con IA.', + 'native.welcome.sub': + 'Planifica en equipo y en tiempo real: rutas, presupuestos, diario y fotolibro, con ayuda de la IA.', 'native.welcome.connect': 'Conecta tu TREK', 'native.welcome.connectSub': 'Abre la dirección que ya usas', 'native.welcome.getCloud': 'Obtén TREK Cloud', diff --git a/shared/src/i18n/et/native.ts b/shared/src/i18n/et/native.ts index c0dee77c2..f900ac26f 100644 --- a/shared/src/i18n/et/native.ts +++ b/shared/src/i18n/et/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'See rakendus on ühendatud serveriga {server}.', 'native.welcome.headline': 'Sinu reisid.\nSinu plaan.', - 'native.welcome.sub': 'Planeeri koos reaalajas: teekonnad, eelarved, päevik, fotoraamat — tehisintellektiga.', + 'native.welcome.sub': 'Planeeri koos reaalajas: teekonnad, eelarved, päevik ja fotoraamat, tehisintellekti abiga.', 'native.welcome.connect': 'Ühenda oma TREK', 'native.welcome.connectSub': 'Ava aadress, mida juba kasutad', 'native.welcome.getCloud': 'Hangi TREK Cloud', diff --git a/shared/src/i18n/fr/native.ts b/shared/src/i18n/fr/native.ts index d1670e913..2a3ecb885 100644 --- a/shared/src/i18n/fr/native.ts +++ b/shared/src/i18n/fr/native.ts @@ -26,7 +26,8 @@ const native: TranslationStrings = { 'native.settings.server': 'Serveur', 'native.settings.serverHint': 'Cette application est connectée à {server}.', 'native.welcome.headline': 'Vos voyages.\nVotre plan.', - 'native.welcome.sub': 'Planifiez ensemble en temps réel : circuits, budgets, journal, livre photo — avec l’IA.', + 'native.welcome.sub': + 'Planifiez ensemble en temps réel : circuits, budgets, journal et livre photo, avec l’aide de l’IA.', 'native.welcome.connect': 'Connecter votre TREK', 'native.welcome.connectSub': 'Ouvrez l’adresse que vous utilisez déjà', 'native.welcome.getCloud': 'Obtenir TREK Cloud', diff --git a/shared/src/i18n/gr/native.ts b/shared/src/i18n/gr/native.ts index c771ada2c..00686ab27 100644 --- a/shared/src/i18n/gr/native.ts +++ b/shared/src/i18n/gr/native.ts @@ -28,7 +28,7 @@ const native: TranslationStrings = { 'native.settings.serverHint': 'Αυτή η εφαρμογή είναι συνδεδεμένη στο {server}.', 'native.welcome.headline': 'Τα ταξίδια σας.\nΤο πλάνο σας.', 'native.welcome.sub': - 'Σχεδιάστε μαζί σε πραγματικό χρόνο: διαδρομές, προϋπολογισμούς, ημερολόγιο, φωτογραφικό άλμπουμ — με AI.', + 'Σχεδιάστε μαζί σε πραγματικό χρόνο: διαδρομές, προϋπολογισμούς, ημερολόγιο και φωτογραφικό άλμπουμ, με τη βοήθεια του AI.', 'native.welcome.connect': 'Συνδέστε το TREK σας', 'native.welcome.connectSub': 'Ανοίξτε τη διεύθυνση που ήδη χρησιμοποιείτε', 'native.welcome.getCloud': 'Αποκτήστε το TREK Cloud', diff --git a/shared/src/i18n/he/native.ts b/shared/src/i18n/he/native.ts index 4335d66a6..72beeef6d 100644 --- a/shared/src/i18n/he/native.ts +++ b/shared/src/i18n/he/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'שרת', 'native.settings.serverHint': 'האפליקציה הזו מחוברת אל {server}.', 'native.welcome.headline': 'הטיולים שלכם.\nהתוכנית שלכם.', - 'native.welcome.sub': 'מתכננים ביחד בזמן אמת: מסלולים, תקציבים, יומן, אלבום תמונות — עם AI.', + 'native.welcome.sub': 'מתכננים ביחד בזמן אמת: מסלולים, תקציבים, יומן ואלבום תמונות, בעזרת AI.', 'native.welcome.connect': 'חיבור ה-TREK שלכם', 'native.welcome.connectSub': 'פתחו את הכתובת שאתם כבר משתמשים בה', 'native.welcome.getCloud': 'קבלת TREK Cloud', diff --git a/shared/src/i18n/hu/native.ts b/shared/src/i18n/hu/native.ts index 796e24de6..49020b5f7 100644 --- a/shared/src/i18n/hu/native.ts +++ b/shared/src/i18n/hu/native.ts @@ -26,7 +26,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Szerver', 'native.settings.serverHint': 'Ez az alkalmazás ehhez csatlakozik: {server}.', 'native.welcome.headline': 'Az utazásaid.\nA terved.', - 'native.welcome.sub': 'Tervezzetek együtt valós időben: túrák, költségvetések, napló, fotókönyv — MI-vel.', + 'native.welcome.sub': 'Tervezzetek együtt valós időben: túrák, költségvetések, napló és fotókönyv, MI segítségével.', 'native.welcome.connect': 'Csatlakoztasd a TREK-edet', 'native.welcome.connectSub': 'Nyisd meg a címet, amit már használsz', 'native.welcome.getCloud': 'TREK Cloud beszerzése', diff --git a/shared/src/i18n/id/native.ts b/shared/src/i18n/id/native.ts index 65f8a9678..9090a35ad 100644 --- a/shared/src/i18n/id/native.ts +++ b/shared/src/i18n/id/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'Aplikasi ini terhubung ke {server}.', 'native.welcome.headline': 'Perjalanan Anda.\nRencana Anda.', - 'native.welcome.sub': 'Rencanakan bersama secara real time: tur, anggaran, jurnal, buku foto — dengan AI.', + 'native.welcome.sub': 'Rencanakan bersama secara real time: tur, anggaran, jurnal, dan buku foto, dibantu AI.', 'native.welcome.connect': 'Hubungkan TREK Anda', 'native.welcome.connectSub': 'Buka alamat yang sudah Anda pakai', 'native.welcome.getCloud': 'Dapatkan TREK Cloud', diff --git a/shared/src/i18n/it/native.ts b/shared/src/i18n/it/native.ts index cce80f26c..47c7908c1 100644 --- a/shared/src/i18n/it/native.ts +++ b/shared/src/i18n/it/native.ts @@ -26,7 +26,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'Questa app è collegata a {server}.', 'native.welcome.headline': 'I tuoi viaggi.\nIl tuo piano.', - 'native.welcome.sub': 'Pianifica insieme in tempo reale: tour, budget, diario, fotolibro — con l’IA.', + 'native.welcome.sub': 'Pianifica insieme in tempo reale: tour, budget, diario e fotolibro, con l’aiuto dell’IA.', 'native.welcome.connect': 'Collega il tuo TREK', 'native.welcome.connectSub': 'Apri l’indirizzo che già usi', 'native.welcome.getCloud': 'Attiva TREK Cloud', diff --git a/shared/src/i18n/ja/native.ts b/shared/src/i18n/ja/native.ts index aa26dcaac..6fe8cfcf8 100644 --- a/shared/src/i18n/ja/native.ts +++ b/shared/src/i18n/ja/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'サーバー', 'native.settings.serverHint': 'このアプリは {server} に接続されています。', 'native.welcome.headline': 'あなたの旅。\nあなたの計画。', - 'native.welcome.sub': 'みんなでリアルタイムに計画:ツアー、予算、ジャーナル、フォトブック — AIも活用。', + 'native.welcome.sub': 'みんなでリアルタイムに計画:ツアー、予算、ジャーナル、フォトブック。AIも活用できます。', 'native.welcome.connect': 'あなたのTREKに接続', 'native.welcome.connectSub': 'すでに使っているアドレスを開く', 'native.welcome.getCloud': 'TREK Cloudを始める', diff --git a/shared/src/i18n/ko/native.ts b/shared/src/i18n/ko/native.ts index 28507f9ed..fb6cd3587 100644 --- a/shared/src/i18n/ko/native.ts +++ b/shared/src/i18n/ko/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': '서버', 'native.settings.serverHint': '이 앱은 {server}에 연결되어 있습니다.', 'native.welcome.headline': '당신의 여행.\n당신의 계획.', - 'native.welcome.sub': '실시간으로 함께 계획하세요: 투어, 예산, 저널, 포토북 — AI와 함께.', + 'native.welcome.sub': '실시간으로 함께 계획하세요: 투어, 예산, 저널, 포토북까지 AI와 함께.', 'native.welcome.connect': '내 TREK 연결', 'native.welcome.connectSub': '이미 사용하는 주소 열기', 'native.welcome.getCloud': 'TREK Cloud 시작하기', diff --git a/shared/src/i18n/native-dashes.spec.ts b/shared/src/i18n/native-dashes.spec.ts new file mode 100644 index 000000000..ef6faa4e9 --- /dev/null +++ b/shared/src/i18n/native-dashes.spec.ts @@ -0,0 +1,32 @@ +/// +import type { TranslationStrings } from './types'; + +import { describe, expect, it } from 'vitest'; + +/** + * The strings of the app's own first screens (client/native-shell: welcome, + * the server address, TREK Cloud, the plans) carry no dash as punctuation in + * any language: no em dash, no en dash, no spaced hyphen. A pause is a colon, + * a comma or a new sentence. These screens are the first thing a new user + * reads, and the style is held here because a re-translation can bring a dash + * back without any other check noticing. + */ +const nativeModules = import.meta.glob<{ default: TranslationStrings }>('./*/native.ts', { eager: true }); + +const DASH = /[‒–—―]| - /; + +describe('native shell wording', () => { + it('I18N-NATIVE-DASH-001: every locale has its native strings', () => { + expect(Object.keys(nativeModules).length).toBeGreaterThanOrEqual(27); + }); + + it('I18N-NATIVE-DASH-002: no native string uses a dash as punctuation, in any locale', () => { + const offenders: string[] = []; + for (const [file, mod] of Object.entries(nativeModules)) { + for (const [key, value] of Object.entries(mod.default)) { + if (typeof value === 'string' && DASH.test(value)) offenders.push(`${file} ${key}: ${value}`); + } + } + expect(offenders).toEqual([]); + }); +}); diff --git a/shared/src/i18n/nl/native.ts b/shared/src/i18n/nl/native.ts index b6124537e..af09b4c3f 100644 --- a/shared/src/i18n/nl/native.ts +++ b/shared/src/i18n/nl/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'Deze app is verbonden met {server}.', 'native.welcome.headline': 'Jouw reizen.\nJouw plan.', - 'native.welcome.sub': 'Plan samen in realtime: tours, budgetten, dagboek, fotoboek — met AI.', + 'native.welcome.sub': 'Plan samen in realtime: tours, budgetten, dagboek en fotoboek, met hulp van AI.', 'native.welcome.connect': 'Verbind je TREK', 'native.welcome.connectSub': 'Open het adres dat je al gebruikt', 'native.welcome.getCloud': 'Neem TREK Cloud', diff --git a/shared/src/i18n/pl/native.ts b/shared/src/i18n/pl/native.ts index f44d586e2..0853d5312 100644 --- a/shared/src/i18n/pl/native.ts +++ b/shared/src/i18n/pl/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Serwer', 'native.settings.serverHint': 'Ta aplikacja jest połączona z {server}.', 'native.welcome.headline': 'Twoje podróże.\nTwój plan.', - 'native.welcome.sub': 'Planujcie razem w czasie rzeczywistym: trasy, budżety, dziennik, fotoksiążka — z AI.', + 'native.welcome.sub': 'Planujcie razem w czasie rzeczywistym: trasy, budżety, dziennik i fotoksiążka, z pomocą AI.', 'native.welcome.connect': 'Połącz swój TREK', 'native.welcome.connectSub': 'Otwórz adres, którego już używasz', 'native.welcome.getCloud': 'Weź TREK Cloud', diff --git a/shared/src/i18n/ru/native.ts b/shared/src/i18n/ru/native.ts index 6e3df9b35..ce89e127c 100644 --- a/shared/src/i18n/ru/native.ts +++ b/shared/src/i18n/ru/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Сервер', 'native.settings.serverHint': 'Приложение подключено к {server}.', 'native.welcome.headline': 'Ваши поездки.\nВаш план.', - 'native.welcome.sub': 'Планируйте вместе в реальном времени: туры, бюджеты, дневник, фотокнига — с ИИ.', + 'native.welcome.sub': 'Планируйте вместе в реальном времени: туры, бюджеты, дневник и фотокнига, с помощью ИИ.', 'native.welcome.connect': 'Подключите свой TREK', 'native.welcome.connectSub': 'Откройте адрес, которым уже пользуетесь', 'native.welcome.getCloud': 'Получить TREK Cloud', diff --git a/shared/src/i18n/sk/native.ts b/shared/src/i18n/sk/native.ts index fc219a222..a61f62863 100644 --- a/shared/src/i18n/sk/native.ts +++ b/shared/src/i18n/sk/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'Táto aplikácia je pripojená k serveru {server}.', 'native.welcome.headline': 'Vaše cesty.\nVáš plán.', - 'native.welcome.sub': 'Plánujte spoločne v reálnom čase: trasy, rozpočty, denníky, fotokniha — s AI.', + 'native.welcome.sub': 'Plánujte spoločne v reálnom čase: trasy, rozpočty, denníky a fotokniha, s pomocou AI.', 'native.welcome.connect': 'Pripojte svoj TREK', 'native.welcome.connectSub': 'Otvorte adresu, ktorú už používate', 'native.welcome.getCloud': 'Získať TREK Cloud', diff --git a/shared/src/i18n/sv/native.ts b/shared/src/i18n/sv/native.ts index 61dab9ec5..eef94e7c7 100644 --- a/shared/src/i18n/sv/native.ts +++ b/shared/src/i18n/sv/native.ts @@ -26,7 +26,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'Den här appen är ansluten till {server}.', 'native.welcome.headline': 'Dina resor.\nDin plan.', - 'native.welcome.sub': 'Planera tillsammans i realtid: turer, budgetar, resejournaler, fotobok — med AI.', + 'native.welcome.sub': 'Planera tillsammans i realtid: turer, budgetar, resejournaler och fotobok, med hjälp av AI.', 'native.welcome.connect': 'Anslut din TREK', 'native.welcome.connectSub': 'Öppna adressen du redan använder', 'native.welcome.getCloud': 'Skaffa TREK Cloud', diff --git a/shared/src/i18n/th/native.ts b/shared/src/i18n/th/native.ts index 4e1e45dcf..80be186c4 100644 --- a/shared/src/i18n/th/native.ts +++ b/shared/src/i18n/th/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'เซิร์ฟเวอร์', 'native.settings.serverHint': 'แอปนี้เชื่อมต่อกับ {server} อยู่', 'native.welcome.headline': 'การเดินทางของคุณ\nแผนของคุณ', - 'native.welcome.sub': 'วางแผนร่วมกันแบบเรียลไทม์: ทัวร์ งบประมาณ บันทึกการเดินทาง โฟโต้บุ๊ก — ด้วย AI', + 'native.welcome.sub': 'วางแผนร่วมกันแบบเรียลไทม์: ทัวร์ งบประมาณ บันทึกการเดินทาง และโฟโต้บุ๊ก โดยมี AI ช่วย', 'native.welcome.connect': 'เชื่อมต่อ TREK ของคุณ', 'native.welcome.connectSub': 'เปิดที่อยู่ที่คุณใช้อยู่แล้ว', 'native.welcome.getCloud': 'รับ TREK Cloud', diff --git a/shared/src/i18n/tr/native.ts b/shared/src/i18n/tr/native.ts index 368ad4c91..6b3002c18 100644 --- a/shared/src/i18n/tr/native.ts +++ b/shared/src/i18n/tr/native.ts @@ -26,7 +26,7 @@ const native: TranslationStrings = { 'native.settings.serverHint': 'Bu uygulama {server} adresine bağlı.', 'native.welcome.headline': 'Gezileriniz.\nPlanınız.', 'native.welcome.sub': - 'Gerçek zamanlı birlikte planlayın: turlar, bütçeler, günlükler, fotoğraf kitabı — yapay zekâyla.', + 'Gerçek zamanlı birlikte planlayın: turlar, bütçeler, günlükler ve fotoğraf kitabı, yapay zekâ desteğiyle.', 'native.welcome.connect': 'TREK’inizi bağlayın', 'native.welcome.connectSub': 'Zaten kullandığınız adresi açın', 'native.welcome.getCloud': 'TREK Cloud’u edinin', diff --git a/shared/src/i18n/uk/native.ts b/shared/src/i18n/uk/native.ts index cbacbec8e..f97f5dc51 100644 --- a/shared/src/i18n/uk/native.ts +++ b/shared/src/i18n/uk/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': 'Сервер', 'native.settings.serverHint': 'Застосунок підключено до {server}.', 'native.welcome.headline': 'Ваші подорожі.\nВаш план.', - 'native.welcome.sub': 'Плануйте разом у реальному часі: тури, бюджети, щоденники, фотокнига — з ШІ.', + 'native.welcome.sub': 'Плануйте разом у реальному часі: тури, бюджети, щоденники та фотокнига, за допомогою ШІ.', 'native.welcome.connect': 'Підключіть свій TREK', 'native.welcome.connectSub': 'Відкрийте адресу, якою вже користуєтеся', 'native.welcome.getCloud': 'Отримати TREK Cloud', diff --git a/shared/src/i18n/vi/native.ts b/shared/src/i18n/vi/native.ts index 14b74e3bf..e96d174c8 100644 --- a/shared/src/i18n/vi/native.ts +++ b/shared/src/i18n/vi/native.ts @@ -26,7 +26,8 @@ const native: TranslationStrings = { 'native.settings.server': 'Máy chủ', 'native.settings.serverHint': 'Ứng dụng này đang kết nối với {server}.', 'native.welcome.headline': 'Chuyến đi của bạn.\nKế hoạch của bạn.', - 'native.welcome.sub': 'Lập kế hoạch cùng nhau theo thời gian thực: tour, ngân sách, nhật ký, photobook — với AI.', + 'native.welcome.sub': + 'Lập kế hoạch cùng nhau theo thời gian thực: tour, ngân sách, nhật ký và photobook, với sự hỗ trợ của AI.', 'native.welcome.connect': 'Kết nối TREK của bạn', 'native.welcome.connectSub': 'Mở địa chỉ bạn vẫn dùng', 'native.welcome.getCloud': 'Nhận TREK Cloud', diff --git a/shared/src/i18n/zh-TW/native.ts b/shared/src/i18n/zh-TW/native.ts index 76b1031bc..bab9d1b28 100644 --- a/shared/src/i18n/zh-TW/native.ts +++ b/shared/src/i18n/zh-TW/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': '伺服器', 'native.settings.serverHint': '此 App 已連線到 {server}。', 'native.welcome.headline': '你的旅行。\n你的計畫。', - 'native.welcome.sub': '即時協同規劃:路線、預算、遊記、相簿書——搭配 AI。', + 'native.welcome.sub': '即時協同規劃:路線、預算、遊記、相簿書,還有 AI 協助。', 'native.welcome.connect': '連線你的 TREK', 'native.welcome.connectSub': '開啟你已在使用的網址', 'native.welcome.getCloud': '取得 TREK Cloud', diff --git a/shared/src/i18n/zh/native.ts b/shared/src/i18n/zh/native.ts index 85131f714..a1e65da26 100644 --- a/shared/src/i18n/zh/native.ts +++ b/shared/src/i18n/zh/native.ts @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.settings.server': '服务器', 'native.settings.serverHint': '此应用已连接到 {server}。', 'native.welcome.headline': '你的旅行。\n你的计划。', - 'native.welcome.sub': '实时协同规划:路线、预算、游记、相册书——搭配 AI。', + 'native.welcome.sub': '实时协同规划:路线、预算、游记、相册书,还有 AI 协助。', 'native.welcome.connect': '连接你的 TREK', 'native.welcome.connectSub': '打开你已在使用的地址', 'native.welcome.getCloud': '获取 TREK Cloud',