Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
179 changes: 179 additions & 0 deletions messages/ar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
{
"bookings": {
"balance": {
"body": "تستحق نسبة الـ 80% المتبقية قبل 14 يومًا من الوصول. سنرسل تذكيرًا قبل ذلك بسبعة أيام.",
"title": "الرصيد"
},
"intro": "الشروط المرفقة بحجوزاتك الحالية. لا توجد أي مبالغ مستحقة الدفع هنا — هذا تطبيق تجريبي.",
"note": "توجد كل جملة على هذه الشاشة في TextSetu. عدِّل جملةً، وانشرها، وستصل إلى هنا في التحميل التالي — دون إعادة بناء ودون نشر برمجي.",
"policy": {
"body": "ألغِ قبل أكثر من 14 يومًا من الوصول وستسترد مبلغ التأمين بالكامل. خلال فترة الـ 14 يومًا، نسترد كل ما نتمكن من إعادة تأجيره، وسنبلغك بالنتيجة في كلتا الحالتين خلال يومي عمل.",
"title": "الإلغاء",
"updated": "آخر تعديل في 3 مارس 2026."
},
"schedule": {
"balance": "الرصيد المتبقي",
"balanceDue": "الرصيد المستحق",
"deposit": "العربون",
"note": "يُحتسب من الحجز، ولا يُخزَّن. لا شيء مستحق الدفع على هذا الموقع.",
"title": "المبالغ المستحقة ومواعيد استحقاقها"
},
"taxes": {
"body": "تشمل الأسعار ضريبة القيمة المضافة حيثما تنطبق. تُحصَّل ضريبة السياحة الخاصة بالمدينة في مكان الإقامة وهي غير مشمولة في الإجمالي المعروض.",
"title": "الضرائب والرسوم المحلية"
},
"title": "شروط الحجز"
},
"common": {
"appName": "تطبيق Traveller",
"footer": {
"disclaimer": "Wanderlane علامة تجارية خيالية أُنشئت كتكامل مرجعي عام لـ TextSetu. لا شيء هنا قابل للحجز ولا تُؤخذ أي مدفوعات.",
"release": "تقديم إصدار المحتوى v{{version}}."
},
"locale": {
"switch": "تغيير اللغة"
},
"nav": {
"bookings": "الحجوزات",
"itinerary": "خط سير الرحلة",
"messages": "الرسائل",
"profile": "الملف الشخصي",
"trips": "الرحلات"
},
"ota": {
"checking": "جارٍ التحقق…",
"checkNow": "التحقق من وجود إصدار جديد",
"explainer": "يُنشر المحتوى من TextSetu ويُجلب هنا في وقت التشغيل، namespace واحد لكل شاشة. تنقّل بين التبويبات ولاحظ أن كل شاشة تجلب نسختها الخاصة. تعني عبارة \"مدمج\" في كل مكان أنه تعذّر الوصول إلى CDN وأن التطبيق يقدّم ما جاء معه عند الإصدار.",
"languages": "اللغات في هذا الإصدار: {{list}}",
"namespaceCount": "{{count}} تحميل",
"namespaceCount_other": "{{count}} تحميلات",
"noManifest": "لا يوجد manifest بعد",
"nothingYet": "لم يتم تحميل أي شيء بعد.",
"release": "الإصدار v{{version}}",
"source": {
"bundled": "مدمج",
"cdn": "CDN",
"error": "فشل",
"missing": "غير منشور"
}
},
"units": {
"guests": "{{count}} ضيف",
"guests_other": "{{count}} ضيوف",
"nights": "{{count}} ليلة",
"nights_other": "{{count}} ليالٍ"
}
},
"itinerary": {
"day": "اليوم {{number}}",
"filter": {
"all": "الرحلة كاملة",
"showing": "{{count}} توقّف",
"showing_other": "{{count}} توقّفات"
},
"intro": "خطتك لـ {{stay}}.",
"items": {
"bread-oven": {
"detail": "بداية مبكرة. تتبع العجين من مطبخ العائلة إلى الفرن الجماعي والعودة.",
"title": "فرن خبز الحي"
},
"checkin": {
"detail": "سيلتقي بك يوسف عند مدخل الدرب — لا تستطيع سيارة الأجرة الاقتراب أكثر من ذلك.",
"title": "الوصول"
},
"checkout": {
"detail": "عادةً ما يكون تسجيل المغادرة المتأخر متاحاً في نوفمبر — ما عليك سوى الطلب في الليلة السابقة.",
"title": "المغادرة"
},
"dinner": {
"detail": "الحجز لأربعة أشخاص. أخبرنا مسبقاً بأي أطعمة لا تتناولها.",
"title": "العشاء على السطح"
},
"souks": {
"detail": "ثلاث ساعات، تنتهي عند حي الصباغين.",
"title": "الأسواق، مع نادية"
}
},
"localTime": "جميع الأوقات بالتوقيت المحلي لمكان الإقامة ({{zone}}).",
"title": "مسار الرحلة"
},
"messages": {
"composer": {
"hint": "لن يُرسل أي شيء. يبقى نصك في علامة التبويب هذه.",
"label": "ردّ على مضيفك",
"placeholder": "اسأل عن المفتاح، أو موقف السيارات، أو أي شيء آخر.",
"send": "إرسال"
},
"from": {
"host": "يوسف (المضيف)",
"traveller": "أنت"
},
"intro": "محادثتك مع المضيف.",
"items": {
"airport-pickup": "ممتاز. سأكون هناك ابتداءً من الرابعة إلا ربعًا. شاي النعناع في انتظاركم.",
"arrival-time": "سنصل في الساعة 14:20، لذا سنكون في المنزل على الأرجح حوالي الساعة الرابعة.",
"welcome": "مرحبًا بك! لقد سجلت تواريخ إقامتك لشهر نوفمبر. أعلمني بالموعد التقريبي لوصولك وسألتقي بك عند الدرب."
},
"note": "هذه الرسائل هي مجرد محتوى تجريبي ولا يتم إرسالها إلى أي مكان.",
"title": "الرسائل"
},
"profile": {
"currency": {
"body": "مستقلة عن لغة القراءة. قد يقرأ شخص باللغة اليابانية ومع ذلك يدفع باليورو.",
"note": "للعرض فقط. لا يتم تحويل أي شيء هنا — يُكتب المبلغ نفسه بطريقة مختلفة.",
"sample": "يظهر حجز بقيمة 1,240 بالشكل {{amount}}.",
"title": "عملة العرض"
},
"delivery": {
"distribution": "التوزيع",
"format": "الصيغة",
"languages": "اللغات",
"offline": "لم تتم قراءة أي manifest بعد، لذا فأنت ترى النص المضمّن في هذا الإصدار. هذا هو الوضع الاحتياطي المقصود، وليس خطأ.",
"release": "الإصدار",
"title": "تسليم المحتوى"
},
"intro": "حسابك، وكيف يحصل هذا التطبيق على نصوصه.",
"language": {
"body": "أنت تقرأ هذا النص باللغة \"{{language}}\". يؤدي تغييرها من أداة التبديل إلى تحميل تلك اللغة من شبكة CDN — دون الحاجة إلى إعادة تحميل الصفحة أو إعادة النشر.",
"title": "اللغة"
},
"title": "الملف الشخصي"
},
"trips": {
"cities": {
"kyoto": "كيوتو، اليابان",
"lisbon": "لشبونة، البرتغال",
"marrakech": "مراكش، المغرب"
},
"intro": "كل شيء محجوز، وكل شيء تم السفر به.",
"labels": {
"dates": "التواريخ",
"guests": "الضيوف",
"hidePlan": "إخفاء الخطة",
"nights": "المدة",
"reference": "المرجع {{reference}}",
"showPlan": "إظهار محطة توقف واحدة ({{count}})",
"showPlan_other": "إظهار {{count}} محطات توقف",
"total": "الإجمالي"
},
"photoAlt": {
"alfama-atelier": "غرفة نوم بيضاء، فيها قبعة قش ونظارة شمسية تُركت على السرير",
"kyoto": "ممر مرصوف تحت أشجار القيقب الخريفية يؤدي إلى سقف معبد",
"lisbon": "أسطح مكسوة بالقرميد الأحمر تنحدر باتجاه النهر",
"machiya-nishijin": "غرفة بتاتامي مع طاولة منخفضة وكراسٍ أرضية",
"marrakech": "أقماع من البهارات مكدسة على طبول مطلية في كشك بالسوق",
"riad-zitoun": "فناء رياض يُرى من الأسفل، بنوافذ مقوسة وشبكات حديدية"
},
"status": {
"awaiting_balance": "الرصيد المستحق",
"confirmed": "مؤكد",
"past": "تم السفر"
},
"stays": {
"alfama-atelier": "ألفاما أتيليه",
"machiya-nishijin": "نيشيجين ماتشيا",
"riad-zitoun": "رياض الزيتون"
},
"title": "رحلاتك"
}
}
179 changes: 179 additions & 0 deletions messages/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
{
"bookings": {
"balance": {
"body": "Die restlichen 80 % sind 14 Tage vor der Anreise fällig. Wir senden sieben Tage vorher eine Erinnerung.",
"title": "Saldo"
},
"intro": "Die Bedingungen für Ihre aktuellen Buchungen. Hier ist nichts zu zahlen – dies ist eine Demo-App.",
"note": "Jeder Satz auf diesem Bildschirm lebt in TextSetu. Ändere einen, veröffentliche ihn, und er erscheint hier beim nächsten Laden — ohne Rebuild und ohne Deploy.",
"policy": {
"body": "Stornieren Sie mehr als 14 Tage vor der Anreise, wird Ihre Anzahlung vollständig erstattet. Innerhalb von 14 Tagen erstatten wir, was wir erneut vermieten können, und wir informieren Sie in jedem Fall innerhalb von zwei Werktagen.",
"title": "Stornierung",
"updated": "Zuletzt geändert am 3. März 2026."
},
"schedule": {
"balance": "Restbetrag",
"balanceDue": "Restbetrag",
"deposit": "Anzahlung",
"note": "Aus der Buchung berechnet, nicht gespeichert. Auf dieser Website ist nichts zahlungspflichtig.",
"title": "Was fällig ist, und wann"
},
"taxes": {
"body": "Preise verstehen sich inklusive Mehrwertsteuer, sofern zutreffend. Die Kurtaxe wird vor Ort erhoben und ist im angezeigten Gesamtpreis nicht enthalten.",
"title": "Steuern und lokale Gebühren"
},
"title": "Buchungsbedingungen"
},
"common": {
"appName": "Traveller App",
"footer": {
"disclaimer": "Wanderlane ist eine fiktive Marke, die als öffentliche Referenzintegration für TextSetu erstellt wurde. Hier ist nichts buchbar, und es wird niemals eine Zahlung eingezogen.",
"release": "Liefert Content-Release v{{version}}."
},
"locale": {
"switch": "Sprache ändern"
},
"nav": {
"bookings": "Buchungen",
"itinerary": "Reiseplan",
"messages": "Nachrichten",
"profile": "Profil",
"trips": "Reisen"
},
"ota": {
"checking": "Wird geprüft…",
"checkNow": "Nach einer neuen Version suchen",
"explainer": "Texte werden aus TextSetu veröffentlicht und hier zur Laufzeit abgerufen, ein Namespace pro Bildschirm. Wechsle zwischen den Tabs und beobachte, wie jeder Bildschirm seinen eigenen abruft. „Bundled“ überall bedeutet, dass das CDN nicht erreichbar war und die App das ausliefert, womit sie ausgeliefert wurde.",
"languages": "Sprachen in diesem Release: {{list}}",
"namespaceCount": "{{count}} Ladevorgang",
"namespaceCount_other": "{{count}} Ladevorgänge",
"noManifest": "Noch kein Manifest",
"nothingYet": "Noch nichts geladen.",
"release": "Release v{{version}}",
"source": {
"bundled": "Gebündelt",
"cdn": "CDN",
"error": "Fehlgeschlagen",
"missing": "Nicht veröffentlicht"
}
},
"units": {
"guests": "{{count}} Gast",
"guests_other": "{{count}} Gäste",
"nights": "{{count}} Nacht",
"nights_other": "{{count}} Nächte"
}
},
"itinerary": {
"day": "Tag {{number}}",
"filter": {
"all": "Gesamte Reise",
"showing": "{{count}} Stopp",
"showing_other": "{{count}} Stopps"
},
"intro": "Dein Plan für {{stay}}.",
"items": {
"bread-oven": {
"detail": "Ein früher Start. Begleiten Sie den Teig von einer Familienküche bis zum Gemeinschaftsofen und zurück.",
"title": "Der Brotofen des Viertels"
},
"checkin": {
"detail": "Youssef wird Sie am Eingang der Derb treffen — das Taxi kommt nicht näher heran.",
"title": "Ankunft"
},
"checkout": {
"detail": "Ein später Check-out ist im November meist möglich – fragen Sie einfach am Vorabend nach.",
"title": "Abreise"
},
"dinner": {
"detail": "Für vier Personen gebucht. Teilen Sie uns im Voraus mit, was Sie nicht essen.",
"title": "Abendessen auf dem Dach"
},
"souks": {
"detail": "Drei Stunden, endet im Viertel der Färber.",
"title": "Die Souks, mit Nadia"
}
},
"localTime": "Alle Zeiten entsprechen der Ortszeit des Aufenthaltsorts ({{zone}}).",
"title": "Reiseplan"
},
"messages": {
"composer": {
"hint": "Es wird nichts gesendet. Ihr Text bleibt in diesem Tab.",
"label": "Antwort an deinen Gastgeber",
"placeholder": "Fragen Sie nach dem Schlüssel, dem Parkplatz, was immer Sie wissen möchten.",
"send": "Senden"
},
"from": {
"host": "Youssef (Gastgeber)",
"traveller": "Du"
},
"intro": "Ihr Gespräch mit dem Gastgeber.",
"items": {
"airport-pickup": "Perfekt. Ich bin ab Viertel vor vier da. Es wartet Minztee.",
"arrival-time": "Wir landen um 14:20 Uhr, also wahrscheinlich gegen vier im Haus.",
"welcome": "Willkommen! Ich habe deine Daten für November. Gib mir einfach kurz Bescheid, wann du ungefähr landest, dann treffen wir uns am Derb."
},
"note": "Nachrichten sind Beispielinhalte und werden nirgendwohin gesendet.",
"title": "Nachrichten"
},
"profile": {
"currency": {
"body": "Unabhängig von der Sprache, in der du liest. Jemand, der auf Japanisch liest, kann trotzdem in Euro bezahlen.",
"note": "Nur zur Anzeige. Hier wird nichts umgerechnet — derselbe Betrag wird nur anders geschrieben.",
"sample": "Eine Buchung über 1.240 wird als {{amount}} angezeigt.",
"title": "Anzeigewährung"
},
"delivery": {
"distribution": "Verteilung",
"format": "Format",
"languages": "Sprachen",
"offline": "Es wurde noch kein Manifest gelesen, daher sehen Sie die in diesen Build kompilierten Texte. Das ist das vorgesehene Fallback, kein Fehler.",
"release": "Release",
"title": "Inhaltsbereitstellung"
},
"intro": "Ihr Konto – und wie diese App zu ihren Texten kommt.",
"language": {
"body": "Sie lesen dies gerade auf „{{language}}“. Wenn Sie es im Umschalter ändern, wird diese Sprache vom CDN geladen — ohne Neuladen und ohne Deployment.",
"title": "Sprache"
},
"title": "Profil"
},
"trips": {
"cities": {
"kyoto": "Kyoto, Japan",
"lisbon": "Lissabon, Portugal",
"marrakech": "Marrakesch, Marokko"
},
"intro": "Alles gebucht, und alles schon bereist.",
"labels": {
"dates": "Daten",
"guests": "Gäste",
"hidePlan": "Plan ausblenden",
"nights": "Dauer",
"reference": "Referenz {{reference}}",
"showPlan": "{{count}} Stopp anzeigen",
"showPlan_other": "{{count}} Stopps anzeigen",
"total": "Gesamt"
},
"photoAlt": {
"alfama-atelier": "Ein weißes Schlafzimmer mit einem Strohhut und einer Sonnenbrille auf dem Bett",
"kyoto": "Ein gepflasterter Weg unter herbstlichen Ahornbäumen, der zu einem Tempeldach führt",
"lisbon": "Rot gedeckte Dächer, die zum Fluss hin abfallen",
"machiya-nishijin": "Ein Tatami-Zimmer mit niedrigem Tisch und Bodenstühlen",
"marrakech": "Gewürzkegel gestapelt auf bemalten Fässern an einem Marktstand",
"riad-zitoun": "Ein Riad-Innenhof von unten gesehen, mit Bogenfenstern und schmiedeeisernen Gittern"
},
"status": {
"awaiting_balance": "Restbetrag fällig",
"confirmed": "Bestätigt",
"past": "Gereist"
},
"stays": {
"alfama-atelier": "Alfama Atelier",
"machiya-nishijin": "Das Nishijin Machiya",
"riad-zitoun": "Riad Zitoun"
},
"title": "Deine Reisen"
}
}
Loading
Loading