refactor(i18n): the checklist's drawing hint goes, nothing in the planner shows it

This commit is contained in:
Maurice
2026-10-17 01:16:41 +00:00
parent de86e6383a
commit 5ee8d450a9
28 changed files with 2 additions and 31 deletions
-1
View File
@@ -548,7 +548,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: تحقق من حمل القارب',
'tours.paddle.check.supLockInfo':
'عند التجديف بلوح SUP، ينصح الاتحاد الألماني للكانو (Deutscher Kanu-Verband) ومنظمات الإنقاذ بالتحقق من موضع مسموح لحمل القارب عند الأهوسة بدلًا من العبور عبر الهويس. هذه نصيحة وليست حظرًا في كل مكان، وتبقى القواعد المحلية سارية.',
'tours.paddle.check.drawPath': 'ارسم مسار الحمل، ثم انقر على الخط حيث تعود إلى الماء.',
'tours.paddle.safety.title': 'السلامة على الماء',
'tours.paddle.safety.short': 'للتجديف مخاطر. تحقق بنفسك من الماء والقواعد والطقس.',
'tours.paddle.safety.text':
-1
View File
@@ -520,7 +520,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: daşımanı yoxla',
'tours.paddle.check.supLockInfo':
'SUP üçün Almaniya Kanoe Federasiyası (Deutscher Kanu-Verband) və xilasetmə təşkilatları şlüzlərdə şlüzdən keçmək əvəzinə icazə verilən daşıma yolunu yoxlamağı tövsiyə edir. Bu tövsiyədir, hər yerdə qadağa deyil, yerli qaydalar isə yenə qüvvədədir.',
'tours.paddle.check.drawPath': 'Daşıma yolunu çək, sonra yenidən suya girdiyin yerdə xəttə kliklə.',
'tours.paddle.safety.title': 'Suda təhlükəsizlik',
'tours.paddle.safety.short': 'Avarçəkmənin riskləri var. Suyu, qaydaları və havanı özün yoxla.',
'tours.paddle.safety.text':
-1
View File
@@ -529,7 +529,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: avalie um transbordo',
'tours.paddle.check.supLockInfo':
'Para SUP, a federação alemã de canoagem (Deutscher Kanu-Verband) e organizações de resgate recomendam avaliar, nas eclusas, um transbordo permitido em vez de passar pela eclusa. É uma recomendação, não uma proibição em todo lugar, e as regras locais continuam valendo.',
'tours.paddle.check.drawPath': 'Desenhe o caminho por terra e depois clique na linha onde você embarca de novo.',
'tours.paddle.safety.title': 'Segurança na água',
'tours.paddle.safety.short': 'Remar tem riscos. Confira você mesmo a água, as regras e a previsão do tempo.',
'tours.paddle.safety.text':
-1
View File
@@ -529,7 +529,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: valora un transport per terra',
'tours.paddle.check.supLockInfo':
'Per al SUP, la federació alemanya de piragüisme (Deutscher Kanu-Verband) i les organitzacions de salvament recomanen valorar a les rescloses un transport per terra permès en lloc de passar per la resclosa. És una recomanació, no una prohibició general, i les normes locals continuen vigents.',
'tours.paddle.check.drawPath': 'Dibuixa el camí per terra i després fes clic a la línia on tornes a embarcar.',
'tours.paddle.safety.title': 'Seguretat a l’aigua',
'tours.paddle.safety.short': 'Remar comporta riscos. Comprova pel teu compte l’aigua, les normes i la meteorologia.',
'tours.paddle.safety.text':
-1
View File
@@ -522,7 +522,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: prověřit přenášku',
'tours.paddle.check.supLockInfo':
'Pro SUP doporučují Německý kanoistický svaz (Deutscher Kanu-Verband) a záchranné organizace u zdymadel spíše prověřit povolenou přenášku než proplouvat zdymadlem. Jde o doporučení, ne o všude platný zákaz, a místní pravidla nadále platí.',
'tours.paddle.check.drawPath': 'Nakreslete trasu přenášky a pak klikněte na čáru tam, kde znovu nastupujete.',
'tours.paddle.safety.title': 'Bezpečnost na vodě',
'tours.paddle.safety.short': 'Pádlování s sebou nese rizika. Vodu, pravidla a počasí si ověřte sami.',
'tours.paddle.safety.text':
-1
View File
@@ -530,7 +530,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: Umtragen prüfen',
'tours.paddle.check.supLockInfo':
'Für SUP empfehlen der Deutsche Kanu-Verband und Rettungsorganisationen, an Schleusen eine zulässige Umtragung zu prüfen, statt zu schleusen. Das ist eine Empfehlung, kein überall geltendes Verbot, und örtliche Regeln gelten weiter.',
'tours.paddle.check.drawPath': 'Zeichne den Trageweg, dann klicke auf die Linie, wo du wieder einsetzt.',
'tours.paddle.safety.title': 'Sicherheit beim Paddeln',
'tours.paddle.safety.short': 'Paddeln birgt Risiken. Prüfe Gewässer, Regeln und Wetter selbst.',
'tours.paddle.safety.text':
-1
View File
@@ -517,7 +517,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: check a portage',
'tours.paddle.check.supLockInfo':
'For SUP, the German canoe federation and rescue organisations advise checking a permitted portage at locks rather than locking through. This is advice, not a ban everywhere, and local rules still apply.',
'tours.paddle.check.drawPath': 'Draw the carrying way, then click the line where you put back in.',
'tours.paddle.safety.title': 'Safety on the water',
'tours.paddle.safety.short': 'Paddling has risks. Check water, rules and weather yourself.',
'tours.paddle.safety.text':
-2
View File
@@ -526,8 +526,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: valorar un porteo',
'tours.paddle.check.supLockInfo':
'Para el SUP, la Federación Alemana de Piragüismo (Deutscher Kanu-Verband) y las organizaciones de salvamento recomiendan valorar en las esclusas un porteo permitido en lugar de pasar por la esclusa. Es una recomendación, no una prohibición general, y las normas locales siguen aplicándose.',
'tours.paddle.check.drawPath':
'Dibuja el recorrido del porteo y luego haz clic en la línea donde vuelves a embarcar.',
'tours.paddle.safety.title': 'Seguridad en el agua',
'tours.paddle.safety.short': 'Remar conlleva riesgos. Comprueba por tu cuenta el agua, las normas y la meteorología.',
'tours.paddle.safety.text':
-1
View File
@@ -521,7 +521,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: kontrolli ülekannet',
'tours.paddle.check.supLockInfo':
'SUP puhul soovitavad Saksa Kanuuliit ja päästeorganisatsioonid lüüside juures lüüsimise asemel uurida lubatud ülekande võimalust. See on soovitus, mitte igal pool kehtiv keeld, ja kohalikud reeglid kehtivad edasi.',
'tours.paddle.check.drawPath': 'Joonista kandmistee, seejärel klõpsa joonel kohas, kus lähed tagasi vette.',
'tours.paddle.safety.title': 'Ohutus vee peal',
'tours.paddle.safety.short': 'Aerutamisega kaasnevad riskid. Kontrolli ise veekogu, reegleid ja ilma.',
'tours.paddle.safety.text':
-1
View File
@@ -537,7 +537,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP : envisager un portage',
'tours.paddle.check.supLockInfo':
'En SUP, la fédération allemande de canoë-kayak (Deutscher Kanu-Verband) et les organismes de secours conseillent, aux écluses, d’envisager un portage autorisé plutôt que de passer l’écluse. C’est un conseil, pas une interdiction générale, et les règles locales s’appliquent toujours.',
'tours.paddle.check.drawPath': 'Tracez le chemin de portage, puis cliquez sur la ligne là où vous rembarquez.',
'tours.paddle.safety.title': 'Sécurité sur l’eau',
'tours.paddle.safety.short':
'La pagaie comporte des risques. Vérifiez vous-même le plan d’eau, les règles et la météo.',
-2
View File
@@ -537,8 +537,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: ελέγξτε μεταφορά σκάφους',
'tours.paddle.check.supLockInfo':
'Για SUP, η Γερμανική Ομοσπονδία Κανό και οι οργανώσεις διάσωσης συνιστούν στους υδατοφράκτες να ελέγχετε μια επιτρεπόμενη μεταφορά σκάφους αντί για διέλευση μέσα από τον υδατοφράκτη. Πρόκειται για σύσταση, όχι για απαγόρευση που ισχύει παντού, και οι τοπικοί κανόνες εξακολουθούν να ισχύουν.',
'tours.paddle.check.drawPath':
'Σχεδιάστε τη διαδρομή μεταφοράς και μετά κάντε κλικ στη γραμμή, εκεί όπου μπαίνετε ξανά στο νερό.',
'tours.paddle.safety.title': 'Ασφάλεια στο νερό',
'tours.paddle.safety.short': 'Η κωπηλασία ενέχει κινδύνους. Ελέγξτε μόνοι σας το νερό, τους κανόνες και τον καιρό.',
'tours.paddle.safety.text':
-1
View File
@@ -529,7 +529,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: átemelés ellenőrzése',
'tours.paddle.check.supLockInfo':
'SUP esetén a német kenuszövetség és a mentőszervezetek azt javasolják, hogy zsilipeknél zsilipelés helyett nézz utána egy engedélyezett átemelési lehetőségnek. Ez ajánlás, nem mindenhol érvényes tilalom, és a helyi szabályok továbbra is érvényesek.',
'tours.paddle.check.drawPath': 'Rajzold meg a hordozási utat, majd kattints a vonalon oda, ahol visszaszállsz.',
'tours.paddle.safety.title': 'Biztonság a vízen',
'tours.paddle.safety.short': 'Az evezés kockázatokkal jár. Ellenőrizd magad a vizet, a szabályokat és az időjárást.',
'tours.paddle.safety.text':
-1
View File
@@ -511,7 +511,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: periksa angkut perahu',
'tours.paddle.check.supLockInfo':
'Untuk SUP, federasi kano Jerman (Deutscher Kanu-Verband) dan organisasi penyelamat menyarankan untuk memeriksa jalur angkut perahu yang diizinkan di pintu air daripada melintasi pintu air. Ini saran, bukan larangan di semua tempat, dan aturan setempat tetap berlaku.',
'tours.paddle.check.drawPath': 'Gambar jalur angkut, lalu klik garis di tempat kamu masuk kembali ke air.',
'tours.paddle.safety.title': 'Keselamatan di air',
'tours.paddle.safety.short': 'Mendayung punya risiko. Periksa sendiri perairan, aturan, dan cuaca.',
'tours.paddle.safety.text':
-1
View File
@@ -531,7 +531,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: valuta un trasbordo',
'tours.paddle.check.supLockInfo':
'Per il SUP, la federazione canoistica tedesca (Deutscher Kanu-Verband) e le organizzazioni di soccorso consigliano, alle chiuse, di valutare un trasbordo consentito invece di passare la chiusa. È un consiglio, non un divieto valido ovunque, e le regole locali restano in vigore.',
'tours.paddle.check.drawPath': 'Disegna il tragitto del trasbordo, poi fai clic sulla linea dove ti reimbarchi.',
'tours.paddle.safety.title': 'Sicurezza in acqua',
'tours.paddle.safety.short': 'Pagaiare comporta dei rischi. Controlla di persona acqua, regole e meteo.',
'tours.paddle.safety.text':
-1
View File
@@ -503,7 +503,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP:陸上運搬を確認',
'tours.paddle.check.supLockInfo':
'SUP の場合、ドイツカヌー連盟(Deutscher Kanu-Verband)や救助団体は、閘門を通航するのではなく、許可された陸上運搬ルートを確認するよう勧めています。これは推奨であり、どこでも適用される禁止ではありません。現地のルールも引き続き適用されます。',
'tours.paddle.check.drawPath': '運搬ルートを描いてから、再出艇する位置で線をクリックしてください。',
'tours.paddle.safety.title': '水上での安全',
'tours.paddle.safety.short': 'パドリングには危険が伴います。水域、ルール、天候は自分で確認してください。',
'tours.paddle.safety.text':
-1
View File
@@ -500,7 +500,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: 육상 운반 확인',
'tours.paddle.check.supLockInfo':
'SUP의 경우 독일 카누 연맹(Deutscher Kanu-Verband)과 구조 단체는 갑문을 통과하기보다 허용된 육상 운반 경로를 확인할 것을 권장합니다. 이는 권고일 뿐 모든 곳에서 적용되는 금지는 아니며, 현지 규칙은 여전히 적용됩니다.',
'tours.paddle.check.drawPath': '운반 경로를 그린 다음, 다시 입수할 곳의 선을 클릭하세요.',
'tours.paddle.safety.title': '수상 안전',
'tours.paddle.safety.short': '패들링에는 위험이 따릅니다. 물길, 규칙, 날씨를 직접 확인하세요.',
'tours.paddle.safety.text':
-1
View File
@@ -529,7 +529,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: overdragen nagaan',
'tours.paddle.check.supLockInfo':
'Voor SUP raden de Duitse kanobond en reddingsorganisaties aan om bij sluizen een toegestane overdraagplaats na te gaan in plaats van te schutten. Dit is een advies, geen verbod dat overal geldt, en plaatselijke regels blijven van kracht.',
'tours.paddle.check.drawPath': 'Teken het draagtraject en klik dan op de lijn waar je weer instapt.',
'tours.paddle.safety.title': 'Veiligheid op het water',
'tours.paddle.safety.short': 'Peddelen is niet zonder risico. Controleer zelf het water, de regels en het weer.',
'tours.paddle.safety.text':
-1
View File
@@ -541,7 +541,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: sprawdź przenoskę',
'tours.paddle.check.supLockInfo':
'W przypadku SUP Niemiecki Związek Kajakowy (Deutscher Kanu-Verband) i organizacje ratownicze zalecają, by przy śluzach zamiast śluzowania sprawdzić dozwoloną przenoskę. To zalecenie, a nie powszechny zakaz, i nadal obowiązują lokalne przepisy.',
'tours.paddle.check.drawPath': 'Narysuj trasę przenoski, a potem kliknij na linii miejsce, w którym wracasz na wodę.',
'tours.paddle.safety.title': 'Bezpieczeństwo na wodzie',
'tours.paddle.safety.short': 'Wiosłowanie wiąże się z ryzykiem. Samodzielnie sprawdź akwen, przepisy i pogodę.',
'tours.paddle.safety.text':
-1
View File
@@ -543,7 +543,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: проверить обнос',
'tours.paddle.check.supLockInfo':
'Для SUP Немецкая федерация каноэ (Deutscher Kanu-Verband) и спасательные организации советуют у шлюзов не проходить шлюзование, а проверить разрешённый обнос. Это рекомендация, а не повсеместный запрет, и местные правила продолжают действовать.',
'tours.paddle.check.drawPath': 'Нарисуйте путь обноса, затем нажмите на линию там, где вы снова спускаетесь на воду.',
'tours.paddle.safety.title': 'Безопасность на воде',
'tours.paddle.safety.short': 'Гребля связана с рисками. Сами проверьте водоём, правила и погоду.',
'tours.paddle.safety.text':
-1
View File
@@ -524,7 +524,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: preveriť prenášku',
'tours.paddle.check.supLockInfo':
'Pre SUP odporúčajú Nemecký kanoistický zväz (Deutscher Kanu-Verband) a záchranné organizácie pri plavebných komorách skôr preveriť povolenú prenášku než prechádzať plavebnou komorou. Je to odporúčanie, nie všade platný zákaz, a miestne pravidlá naďalej platia.',
'tours.paddle.check.drawPath': 'Nakreslite trasu prenášky, potom kliknite na čiaru tam, kde znova nastupujete.',
'tours.paddle.safety.title': 'Bezpečnosť na vode',
'tours.paddle.safety.short': 'Pádlovanie so sebou nesie riziká. Vodu, pravidlá a počasie si overte sami.',
'tours.paddle.safety.text':
-1
View File
@@ -518,7 +518,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: undersök lyft',
'tours.paddle.check.supLockInfo':
'För SUP rekommenderar det tyska kanotförbundet och räddningsorganisationer att man vid slussar undersöker ett tillåtet lyft i stället för att slussa. Det är en rekommendation, inte ett generellt förbud, och lokala regler gäller fortfarande.',
'tours.paddle.check.drawPath': 'Rita bärvägen och klicka sedan på linjen där du sätter i igen.',
'tours.paddle.safety.title': 'Säkerhet på vattnet',
'tours.paddle.safety.short': 'Paddling innebär risker. Kontrollera själv vattnet, reglerna och vädret.',
'tours.paddle.safety.text':
-1
View File
@@ -493,7 +493,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: ตรวจสอบการแบกเรือ',
'tours.paddle.check.supLockInfo':
'สำหรับ SUP สหพันธ์เรือแคนูเยอรมัน (Deutscher Kanu-Verband) และองค์กรกู้ภัยแนะนำให้ตรวจสอบจุดแบกเรือที่ได้รับอนุญาตที่ประตูน้ำ แทนการผ่านประตูน้ำ นี่เป็นคำแนะนำ ไม่ใช่ข้อห้ามที่ใช้ทุกแห่ง และกฎท้องถิ่นยังคงมีผลบังคับใช้',
'tours.paddle.check.drawPath': 'วาดเส้นทางแบกเรือ แล้วคลิกบนเส้นตรงจุดที่คุณลงเรืออีกครั้ง',
'tours.paddle.safety.title': 'ความปลอดภัยบนน้ำ',
'tours.paddle.safety.short': 'การพายเรือมีความเสี่ยง โปรดตรวจสอบแหล่งน้ำ กฎ และสภาพอากาศด้วยตนเอง',
'tours.paddle.safety.text':
+2 -2
View File
@@ -20,7 +20,7 @@ const tokens = (value: string) => [...value.matchAll(/\{[^{}]+\}/g)].map((match)
// placeholder spec; here only the general keys are.
const groups = pluralGroups(Object.keys(english));
const generalKeys = (keys: string[]) => keys.filter((key) => !pluralFormOf(key, groups));
const GENERAL_KEY_COUNT = 471;
const GENERAL_KEY_COUNT = 470;
function literalKeys(source: string): string[] {
const tree = ts.createSourceFile('locale.ts', source, ts.ScriptTarget.Latest, true);
@@ -34,7 +34,7 @@ function literalKeys(source: string): string[] {
}
describe('Tours locale contracts', () => {
it('covers all 27 supported locales with 471 general source keys', () => {
it('covers all 27 supported locales with 470 general source keys', () => {
expect(Object.keys(domains)).toHaveLength(27);
expect(Object.keys(domains).sort()).toEqual(SUPPORTED_LANGUAGE_CODES.map((code) => `./${code}/tours.ts`).sort());
expect(generalKeys(Object.keys(english))).toHaveLength(GENERAL_KEY_COUNT);
-1
View File
@@ -521,7 +521,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: taşımayı kontrol et',
'tours.paddle.check.supLockInfo':
'SUP için Alman Kano Federasyonu (Deutscher Kanu-Verband) ve kurtarma kuruluşları, kilitlerde kilitten geçmek yerine izin verilen bir taşıma yolunu kontrol etmeyi önerir. Bu bir öneridir, her yerde geçerli bir yasak değildir ve yerel kurallar yine geçerlidir.',
'tours.paddle.check.drawPath': 'Taşıma yolunu çiz, sonra suya yeniden girdiğin yerde çizgiye tıkla.',
'tours.paddle.safety.title': 'Suda güvenlik',
'tours.paddle.safety.short': 'Kürek çekmenin riskleri vardır. Suyu, kuralları ve havayı kendin kontrol et.',
'tours.paddle.safety.text':
-1
View File
@@ -541,7 +541,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: перевірити обнос',
'tours.paddle.check.supLockInfo':
'Для SUP Німецька федерація каное (Deutscher Kanu-Verband) і рятувальні організації радять біля шлюзів не проходити шлюзування, а перевірити дозволений обнос. Це порада, а не повсюдна заборона, і місцеві правила й далі чинні.',
'tours.paddle.check.drawPath': 'Намалюйте шлях обносу, потім натисніть на лінію там, де знову спускаєтеся на воду.',
'tours.paddle.safety.title': 'Безпека на воді',
'tours.paddle.safety.short': 'Веслування пов’язане з ризиками. Самостійно перевірте водойму, правила й погоду.',
'tours.paddle.safety.text':
-1
View File
@@ -511,7 +511,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP: kiểm tra việc khiêng thuyền',
'tours.paddle.check.supLockInfo':
'Với SUP, Liên đoàn Canoe Đức (Deutscher Kanu-Verband) và các tổ chức cứu hộ khuyên nên kiểm tra một đường khiêng thuyền được phép tại âu thuyền thay vì đi qua âu. Đây là khuyến nghị, không phải lệnh cấm ở mọi nơi, và quy định địa phương vẫn được áp dụng.',
'tours.paddle.check.drawPath': 'Vẽ đường khiêng thuyền, rồi nhấp vào đường tại chỗ bạn xuống nước lại.',
'tours.paddle.safety.title': 'An toàn trên mặt nước',
'tours.paddle.safety.short': 'Chèo thuyền có rủi ro. Hãy tự kiểm tra mặt nước, quy định và thời tiết.',
'tours.paddle.safety.text':
-1
View File
@@ -477,7 +477,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP:確認陸上搬運',
'tours.paddle.check.supLockInfo':
'對於 SUP,德國獨木舟協會(Deutscher Kanu-Verband)與救援組織建議在船閘處確認是否有允許的陸上搬運路線,而不是過閘。這是建議,並非各地一律適用的禁令,當地規定仍然適用。',
'tours.paddle.check.drawPath': '先畫出搬運路線,再在線上點擊你重新下水的位置。',
'tours.paddle.safety.title': '水上安全',
'tours.paddle.safety.short': '划槳有風險。請自行確認水域、規定與天氣。',
'tours.paddle.safety.text':
-1
View File
@@ -478,7 +478,6 @@ const tours: TranslationStrings = {
'tours.paddle.check.supLock': 'SUP:检查陆上搬运',
'tours.paddle.check.supLockInfo':
'对于 SUP,德国皮划艇协会(Deutscher Kanu-Verband)和救援组织建议在船闸处查看是否有允许的陆上搬运路线,而不是过闸。这只是建议,并非处处适用的禁令,当地规定仍然适用。',
'tours.paddle.check.drawPath': '先画出搬运路线,然后在线路上点击你重新下水的位置。',
'tours.paddle.safety.title': '水上安全',
'tours.paddle.safety.short': '划桨有风险。请自行检查水域、规定和天气。',
'tours.paddle.safety.text':