Compare commits

..

2 Commits

Author SHA1 Message Date
Maurice 890473ebd5 style(i18n): format the translated locale files 2026-10-24 09:41:34 +02:00
Maurice 2b86d1fda7 fix(i18n): translate the English left in the other 26 locales
About 2900 strings still carried the `// en-fallback` placeholder and some
3100 more were unmarked English copies, most of them from the Studio, the
assistant, OAuth and the date picker. Every one of them is translated now;
where the English word is the locale's own one (German "Status", "Backup"),
it is kept and marked `// same-as-en`. Placeholders, markup and product names
are unchanged.

"Studio", the photo book editor's name, joins Atlas and Vacay on the
untranslated check's list of names. The baseline drops from 2900 marked and
3100 identical strings to 1 and 158.
2026-10-24 09:41:33 +02:00
513 changed files with 6027 additions and 6423 deletions
+92 -535
View File
@@ -1,581 +1,138 @@
{ {
"ar": { "ar": {
"admin.ts": { "marked": 22, "identical": 9 }, "admin.ts": { "marked": 0, "identical": 2 },
"backup.ts": { "marked": 1, "identical": 0 }, "settings.ts": { "marked": 1, "identical": 1 },
"collab.ts": { "marked": 1, "identical": 0 }, "system_notice.ts": { "marked": 0, "identical": 1 }
"common.ts": { "marked": 13, "identical": 0 },
"dayplan.ts": { "marked": 8, "identical": 0 },
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 284, "identical": 2 },
"login.ts": { "marked": 1, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 19, "identical": 0 },
"settings.ts": { "marked": 14, "identical": 68 },
"storage.ts": { "marked": 0, "identical": 1 },
"system_notice.ts": { "marked": 3, "identical": 3 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
}, },
"az": { "az": {
"admin.ts": { "marked": 0, "identical": 5 }, "admin.ts": { "marked": 0, "identical": 1 },
"atlas.ts": { "marked": 0, "identical": 1 }, "journey.ts": { "marked": 0, "identical": 1 },
"budget.ts": { "marked": 0, "identical": 1 },
"dayplan.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 0, "identical": 8 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 3 },
"places.ts": { "marked": 0, "identical": 1 }, "places.ts": { "marked": 0, "identical": 1 },
"reservations.ts": { "marked": 0, "identical": 4 }, "settings.ts": { "marked": 0, "identical": 1 }
"settings.ts": { "marked": 0, "identical": 6 },
"shared.ts": { "marked": 0, "identical": 1 },
"storage.ts": { "marked": 0, "identical": 2 },
"system_notice.ts": { "marked": 0, "identical": 1 },
"trip.ts": { "marked": 0, "identical": 2 }
}, },
"br": { "br": {
"admin.ts": { "marked": 0, "identical": 29 }, "admin.ts": { "marked": 0, "identical": 1 },
"atlas.ts": { "marked": 0, "identical": 1 }, "journey.ts": { "marked": 0, "identical": 1 },
"budget.ts": { "marked": 0, "identical": 3 }, "system_notice.ts": { "marked": 0, "identical": 2 }
"collab.ts": { "marked": 0, "identical": 2 },
"collection.ts": { "marked": 0, "identical": 2 },
"common.ts": { "marked": 12, "identical": 0 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"day.ts": { "marked": 0, "identical": 2 },
"dayplan.ts": { "marked": 2, "identical": 1 },
"journey.ts": { "marked": 115, "identical": 7 },
"login.ts": { "marked": 0, "identical": 3 },
"map.ts": { "marked": 0, "identical": 1 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
"mobileJourney.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 3 },
"oauth.ts": { "marked": 17, "identical": 2 },
"places.ts": { "marked": 0, "identical": 3 },
"reservations.ts": { "marked": 0, "identical": 7 },
"roadtrip.ts": { "marked": 0, "identical": 4 },
"settings.ts": { "marked": 0, "identical": 85 },
"share.ts": { "marked": 0, "identical": 1 },
"shared.ts": { "marked": 0, "identical": 1 },
"storage.ts": { "marked": 0, "identical": 4 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"trip.ts": { "marked": 0, "identical": 1 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 6 }
}, },
"ca": { "ca": {
"admin.ts": { "marked": 0, "identical": 16 }, "admin.ts": { "marked": 0, "identical": 1 },
"atlas.ts": { "marked": 0, "identical": 2 }, "journey.ts": { "marked": 0, "identical": 4 },
"backup.ts": { "marked": 0, "identical": 1 }, "settings.ts": { "marked": 0, "identical": 1 },
"budget.ts": { "marked": 0, "identical": 4 }, "system_notice.ts": { "marked": 0, "identical": 2 }
"categories.ts": { "marked": 0, "identical": 2 },
"collab.ts": { "marked": 0, "identical": 3 },
"collection.ts": { "marked": 0, "identical": 2 },
"common.ts": { "marked": 0, "identical": 2 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"dawarich.ts": { "marked": 0, "identical": 1 },
"dayplan.ts": { "marked": 0, "identical": 3 },
"docsync.ts": { "marked": 0, "identical": 2 },
"files.ts": { "marked": 0, "identical": 3 },
"help.ts": { "marked": 0, "identical": 2 },
"inspector.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 12 },
"map.ts": { "marked": 0, "identical": 1 },
"mobileTrip.ts": { "marked": 0, "identical": 2 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 0, "identical": 1 },
"packing.ts": { "marked": 0, "identical": 1 },
"places.ts": { "marked": 0, "identical": 2 },
"planner.ts": { "marked": 0, "identical": 1 },
"reservations.ts": { "marked": 0, "identical": 6 },
"roadtrip.ts": { "marked": 0, "identical": 3 },
"settings.ts": { "marked": 0, "identical": 20 },
"storage.ts": { "marked": 0, "identical": 4 },
"system_notice.ts": { "marked": 0, "identical": 3 },
"transport.ts": { "marked": 0, "identical": 1 },
"trip.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 7 }
}, },
"cs": { "cs": {
"admin.ts": { "marked": 0, "identical": 26 }, "admin.ts": { "marked": 0, "identical": 1 },
"atlas.ts": { "marked": 0, "identical": 2 }, "journey.ts": { "marked": 0, "identical": 1 },
"backup.ts": { "marked": 0, "identical": 1 }, "places.ts": { "marked": 0, "identical": 1 }
"collab.ts": { "marked": 0, "identical": 1 },
"collection.ts": { "marked": 0, "identical": 2 },
"common.ts": { "marked": 12, "identical": 0 },
"day.ts": { "marked": 0, "identical": 2 },
"dayplan.ts": { "marked": 2, "identical": 0 },
"docsync.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 115, "identical": 6 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 1 },
"places.ts": { "marked": 0, "identical": 2 },
"reservations.ts": { "marked": 0, "identical": 3 },
"roadtrip.ts": { "marked": 0, "identical": 3 },
"settings.ts": { "marked": 0, "identical": 83 },
"share.ts": { "marked": 0, "identical": 1 },
"shared.ts": { "marked": 0, "identical": 1 },
"storage.ts": { "marked": 0, "identical": 3 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"tours.ts": { "marked": 0, "identical": 1 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
}, },
"de": { "de": {
"admin.ts": { "marked": 0, "identical": 42 }, "admin.ts": { "marked": 0, "identical": 1 },
"atlas.ts": { "marked": 0, "identical": 1 }, "journey.ts": { "marked": 0, "identical": 2 },
"budget.ts": { "marked": 0, "identical": 7 }, "system_notice.ts": { "marked": 0, "identical": 2 }
"collab.ts": { "marked": 0, "identical": 5 },
"collection.ts": { "marked": 0, "identical": 4 },
"common.ts": { "marked": 0, "identical": 1 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"dawarich.ts": { "marked": 0, "identical": 1 },
"day.ts": { "marked": 0, "identical": 3 },
"dayplan.ts": { "marked": 0, "identical": 4 },
"docsync.ts": { "marked": 0, "identical": 1 },
"files.ts": { "marked": 0, "identical": 2 },
"help.ts": { "marked": 0, "identical": 10 },
"inspector.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 9, "identical": 25 },
"map.ts": { "marked": 0, "identical": 2 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
"mobileJourney.ts": { "marked": 0, "identical": 1 },
"mobileTrip.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 3 },
"notifications.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 4 },
"packing.ts": { "marked": 0, "identical": 1 },
"places.ts": { "marked": 0, "identical": 5 },
"planner.ts": { "marked": 0, "identical": 1 },
"reservations.ts": { "marked": 0, "identical": 13 },
"roadtrip.ts": { "marked": 0, "identical": 5 },
"settings.ts": { "marked": 0, "identical": 28 },
"share.ts": { "marked": 0, "identical": 1 },
"shared.ts": { "marked": 0, "identical": 2 },
"storage.ts": { "marked": 0, "identical": 5 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"tours.ts": { "marked": 0, "identical": 1 },
"transport.ts": { "marked": 0, "identical": 1 },
"trip.ts": { "marked": 0, "identical": 2 },
"vacay.ts": { "marked": 0, "identical": 1 }
}, },
"es": { "es": {
"admin.ts": { "marked": 0, "identical": 28 }, "admin.ts": { "marked": 0, "identical": 1 },
"atlas.ts": { "marked": 0, "identical": 1 }, "journey.ts": { "marked": 0, "identical": 1 }
"budget.ts": { "marked": 0, "identical": 2 },
"categories.ts": { "marked": 0, "identical": 1 },
"collab.ts": { "marked": 0, "identical": 1 },
"collection.ts": { "marked": 0, "identical": 2 },
"common.ts": { "marked": 12, "identical": 2 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"dayplan.ts": { "marked": 2, "identical": 0 },
"docsync.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 115, "identical": 7 },
"login.ts": { "marked": 0, "identical": 3 },
"map.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 2 },
"oauth.ts": { "marked": 17, "identical": 1 },
"packing.ts": { "marked": 0, "identical": 1 },
"reservations.ts": { "marked": 0, "identical": 3 },
"roadtrip.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 84 },
"share.ts": { "marked": 0, "identical": 1 },
"shared.ts": { "marked": 0, "identical": 2 },
"storage.ts": { "marked": 0, "identical": 3 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"trip.ts": { "marked": 0, "identical": 4 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 6 }
},
"et": {
"admin.ts": { "marked": 0, "identical": 3 },
"budget.ts": { "marked": 0, "identical": 1 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"dayplan.ts": { "marked": 0, "identical": 1 },
"files.ts": { "marked": 0, "identical": 2 },
"help.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 0, "identical": 2 },
"mobileTrip.ts": { "marked": 0, "identical": 1 },
"reservations.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 2 },
"system_notice.ts": { "marked": 0, "identical": 1 },
"transport.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 1 }
}, },
"fr": { "fr": {
"admin.ts": { "marked": 0, "identical": 48 }, "admin.ts": { "marked": 0, "identical": 2 },
"atlas.ts": { "marked": 0, "identical": 2 }, "atlas.ts": { "marked": 0, "identical": 1 },
"budget.ts": { "marked": 0, "identical": 9 },
"collab.ts": { "marked": 0, "identical": 8 },
"collection.ts": { "marked": 0, "identical": 4 },
"common.ts": { "marked": 12, "identical": 1 },
"dashboard.ts": { "marked": 0, "identical": 3 },
"dawarich.ts": { "marked": 0, "identical": 3 },
"day.ts": { "marked": 0, "identical": 1 },
"dayplan.ts": { "marked": 2, "identical": 5 },
"docsync.ts": { "marked": 0, "identical": 1 },
"files.ts": { "marked": 0, "identical": 5 },
"help.ts": { "marked": 0, "identical": 1 }, "help.ts": { "marked": 0, "identical": 1 },
"inspector.ts": { "marked": 0, "identical": 2 }, "journey.ts": { "marked": 0, "identical": 10 },
"journey.ts": { "marked": 115, "identical": 32 }, "notif.ts": { "marked": 0, "identical": 1 },
"login.ts": { "marked": 0, "identical": 3 }, "places.ts": { "marked": 0, "identical": 1 },
"map.ts": { "marked": 0, "identical": 3 }, "planner.ts": { "marked": 0, "identical": 1 },
"memories.ts": { "marked": 0, "identical": 3 }, "roadtrip.ts": { "marked": 0, "identical": 2 },
"mobileJourney.ts": { "marked": 0, "identical": 3 }, "system_notice.ts": { "marked": 0, "identical": 2 }
"mobileTrip.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 3 },
"notif.ts": { "marked": 0, "identical": 2 },
"notifications.ts": { "marked": 0, "identical": 3 },
"oauth.ts": { "marked": 17, "identical": 4 },
"packing.ts": { "marked": 0, "identical": 1 },
"pdf.ts": { "marked": 0, "identical": 1 },
"places.ts": { "marked": 0, "identical": 8 },
"planner.ts": { "marked": 0, "identical": 3 },
"reservations.ts": { "marked": 0, "identical": 16 },
"roadtrip.ts": { "marked": 0, "identical": 6 },
"settings.ts": { "marked": 0, "identical": 89 },
"share.ts": { "marked": 0, "identical": 2 },
"shared.ts": { "marked": 0, "identical": 3 },
"storage.ts": { "marked": 0, "identical": 4 },
"system_notice.ts": { "marked": 0, "identical": 4 },
"todo.ts": { "marked": 0, "identical": 1 },
"tours.ts": { "marked": 0, "identical": 1 },
"transport.ts": { "marked": 0, "identical": 2 },
"trip.ts": { "marked": 0, "identical": 7 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
}, },
"gr": { "gr": {
"admin.ts": { "marked": 0, "identical": 21 }, "admin.ts": { "marked": 0, "identical": 11 },
"common.ts": { "marked": 12, "identical": 1 }, "common.ts": { "marked": 0, "identical": 1 },
"dashboard.ts": { "marked": 36, "identical": 0 },
"day.ts": { "marked": 0, "identical": 2 }, "day.ts": { "marked": 0, "identical": 2 },
"help.ts": { "marked": 0, "identical": 3 }, "help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 110, "identical": 2 }, "journey.ts": { "marked": 0, "identical": 1 },
"login.ts": { "marked": 0, "identical": 3 },
"memories.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 0 },
"places.ts": { "marked": 0, "identical": 1 }, "places.ts": { "marked": 0, "identical": 1 },
"reservations.ts": { "marked": 0, "identical": 2 }, "reservations.ts": { "marked": 0, "identical": 2 },
"roadtrip.ts": { "marked": 0, "identical": 3 }, "roadtrip.ts": { "marked": 0, "identical": 3 },
"settings.ts": { "marked": 0, "identical": 86 }, "settings.ts": { "marked": 0, "identical": 8 },
"storage.ts": { "marked": 0, "identical": 2 },
"system_notice.ts": { "marked": 0, "identical": 3 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
},
"hu": {
"admin.ts": { "marked": 0, "identical": 26 },
"common.ts": { "marked": 12, "identical": 0 },
"dayplan.ts": { "marked": 2, "identical": 0 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 115, "identical": 2 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 3 },
"oauth.ts": { "marked": 17, "identical": 1 },
"places.ts": { "marked": 0, "identical": 1 },
"reservations.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 79 },
"storage.ts": { "marked": 0, "identical": 1 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
},
"id": {
"admin.ts": { "marked": 0, "identical": 29 },
"atlas.ts": { "marked": 0, "identical": 1 },
"backup.ts": { "marked": 0, "identical": 1 },
"budget.ts": { "marked": 0, "identical": 3 },
"collab.ts": { "marked": 0, "identical": 3 },
"collection.ts": { "marked": 0, "identical": 3 },
"common.ts": { "marked": 12, "identical": 1 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"day.ts": { "marked": 0, "identical": 2 },
"dayplan.ts": { "marked": 2, "identical": 1 },
"docsync.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 5 },
"journey.ts": { "marked": 115, "identical": 13 },
"login.ts": { "marked": 0, "identical": 3 },
"memories.ts": { "marked": 0, "identical": 1 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 4 },
"oauth.ts": { "marked": 17, "identical": 2 },
"packing.ts": { "marked": 0, "identical": 2 },
"places.ts": { "marked": 0, "identical": 3 },
"reservations.ts": { "marked": 0, "identical": 7 },
"roadtrip.ts": { "marked": 0, "identical": 5 },
"settings.ts": { "marked": 0, "identical": 90 },
"share.ts": { "marked": 0, "identical": 1 },
"shared.ts": { "marked": 0, "identical": 1 },
"storage.ts": { "marked": 0, "identical": 2 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"trip.ts": { "marked": 0, "identical": 2 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
},
"it": {
"admin.ts": { "marked": 0, "identical": 30 },
"atlas.ts": { "marked": 0, "identical": 3 },
"budget.ts": { "marked": 0, "identical": 3 },
"collab.ts": { "marked": 0, "identical": 1 },
"collection.ts": { "marked": 0, "identical": 2 },
"common.ts": { "marked": 0, "identical": 3 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"day.ts": { "marked": 0, "identical": 2 },
"dayplan.ts": { "marked": 2, "identical": 1 },
"docsync.ts": { "marked": 0, "identical": 1 },
"files.ts": { "marked": 0, "identical": 1 },
"inspector.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 115, "identical": 4 },
"login.ts": { "marked": 0, "identical": 3 },
"map.ts": { "marked": 0, "identical": 1 },
"memories.ts": { "marked": 0, "identical": 1 },
"mobileTrip.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 2 },
"oauth.ts": { "marked": 17, "identical": 2 },
"places.ts": { "marked": 0, "identical": 2 },
"reservations.ts": { "marked": 0, "identical": 6 },
"roadtrip.ts": { "marked": 0, "identical": 5 },
"settings.ts": { "marked": 0, "identical": 89 },
"share.ts": { "marked": 0, "identical": 1 },
"shared.ts": { "marked": 0, "identical": 1 },
"storage.ts": { "marked": 0, "identical": 3 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"trip.ts": { "marked": 0, "identical": 1 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 6 }
},
"ja": {
"admin.ts": { "marked": 0, "identical": 9 },
"common.ts": { "marked": 12, "identical": 0 },
"help.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 2 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 0 },
"settings.ts": { "marked": 0, "identical": 71 },
"system_notice.ts": { "marked": 0, "identical": 3 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
},
"ko": {
"admin.ts": { "marked": 0, "identical": 10 },
"common.ts": { "marked": 12, "identical": 0 },
"help.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 3 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 69 },
"system_notice.ts": { "marked": 0, "identical": 3 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
},
"nl": {
"admin.ts": { "marked": 0, "identical": 28 },
"atlas.ts": { "marked": 0, "identical": 1 },
"backup.ts": { "marked": 0, "identical": 1 },
"budget.ts": { "marked": 0, "identical": 4 },
"collab.ts": { "marked": 0, "identical": 6 },
"collection.ts": { "marked": 0, "identical": 5 },
"common.ts": { "marked": 12, "identical": 0 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"day.ts": { "marked": 0, "identical": 1 },
"dayplan.ts": { "marked": 2, "identical": 5 },
"docsync.ts": { "marked": 0, "identical": 1 },
"files.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 115, "identical": 17 },
"login.ts": { "marked": 0, "identical": 3 },
"map.ts": { "marked": 0, "identical": 2 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
"mobileJourney.ts": { "marked": 0, "identical": 1 },
"mobileTrip.ts": { "marked": 0, "identical": 4 },
"nav.ts": { "marked": 0, "identical": 2 },
"oauth.ts": { "marked": 17, "identical": 2 },
"packing.ts": { "marked": 0, "identical": 1 },
"places.ts": { "marked": 0, "identical": 7 },
"planner.ts": { "marked": 0, "identical": 1 },
"reservations.ts": { "marked": 0, "identical": 15 },
"roadtrip.ts": { "marked": 0, "identical": 5 },
"settings.ts": { "marked": 0, "identical": 91 },
"share.ts": { "marked": 0, "identical": 1 },
"shared.ts": { "marked": 0, "identical": 2 },
"storage.ts": { "marked": 0, "identical": 5 },
"system_notice.ts": { "marked": 0, "identical": 6 },
"tours.ts": { "marked": 0, "identical": 1 },
"trip.ts": { "marked": 0, "identical": 5 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 6 }
},
"pl": {
"admin.ts": { "marked": 0, "identical": 25 },
"atlas.ts": { "marked": 0, "identical": 2 },
"budget.ts": { "marked": 0, "identical": 3 },
"common.ts": { "marked": 12, "identical": 0 },
"dayplan.ts": { "marked": 2, "identical": 1 },
"docsync.ts": { "marked": 0, "identical": 1 },
"files.ts": { "marked": 0, "identical": 2 },
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 115, "identical": 5 },
"login.ts": { "marked": 0, "identical": 3 },
"memories.ts": { "marked": 0, "identical": 1 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
"mobileTrip.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 3 },
"notifications.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 1 },
"places.ts": { "marked": 0, "identical": 2 },
"reservations.ts": { "marked": 0, "identical": 6 },
"settings.ts": { "marked": 0, "identical": 81 },
"shared.ts": { "marked": 0, "identical": 1 },
"storage.ts": { "marked": 0, "identical": 3 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"transport.ts": { "marked": 0, "identical": 1 },
"trip.ts": { "marked": 0, "identical": 2 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
},
"ru": {
"admin.ts": { "marked": 0, "identical": 21 },
"common.ts": { "marked": 12, "identical": 0 },
"dayplan.ts": { "marked": 2, "identical": 0 },
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 115, "identical": 1 },
"login.ts": { "marked": 0, "identical": 3 },
"oauth.ts": { "marked": 17, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 15 },
"storage.ts": { "marked": 0, "identical": 1 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
},
"sk": {
"admin.ts": { "marked": 0, "identical": 8 },
"atlas.ts": { "marked": 0, "identical": 1 },
"backup.ts": { "marked": 0, "identical": 1 },
"collab.ts": { "marked": 0, "identical": 1 },
"collection.ts": { "marked": 0, "identical": 1 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"day.ts": { "marked": 0, "identical": 2 },
"docsync.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 0, "identical": 9 },
"oauth.ts": { "marked": 0, "identical": 1 },
"places.ts": { "marked": 0, "identical": 2 },
"reservations.ts": { "marked": 0, "identical": 3 },
"roadtrip.ts": { "marked": 0, "identical": 3 },
"settings.ts": { "marked": 0, "identical": 12 },
"share.ts": { "marked": 0, "identical": 1 },
"shared.ts": { "marked": 0, "identical": 1 },
"storage.ts": { "marked": 0, "identical": 2 }, "storage.ts": { "marked": 0, "identical": 2 },
"system_notice.ts": { "marked": 0, "identical": 3 } "system_notice.ts": { "marked": 0, "identical": 3 }
}, },
"hu": {
"admin.ts": { "marked": 0, "identical": 1 }
},
"id": {
"admin.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 0, "identical": 1 }
},
"it": {
"admin.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 0, "identical": 1 },
"storage.ts": { "marked": 0, "identical": 1 }
},
"ja": {
"admin.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 1 },
"system_notice.ts": { "marked": 0, "identical": 2 }
},
"ko": {
"admin.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 1 },
"system_notice.ts": { "marked": 0, "identical": 3 }
},
"nl": {
"journey.ts": { "marked": 0, "identical": 2 },
"places.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 6 },
"system_notice.ts": { "marked": 0, "identical": 3 }
},
"pl": {
"admin.ts": { "marked": 0, "identical": 1 },
"places.ts": { "marked": 0, "identical": 1 }
},
"ru": {
"admin.ts": { "marked": 0, "identical": 4 },
"settings.ts": { "marked": 0, "identical": 3 },
"system_notice.ts": { "marked": 0, "identical": 3 }
},
"sk": {
"admin.ts": { "marked": 0, "identical": 1 }
},
"sv": { "sv": {
"admin.ts": { "marked": 0, "identical": 24 }, "admin.ts": { "marked": 0, "identical": 1 },
"atlas.ts": { "marked": 0, "identical": 2 }, "budget.ts": { "marked": 0, "identical": 1 },
"budget.ts": { "marked": 0, "identical": 9 }, "journey.ts": { "marked": 0, "identical": 1 },
"collection.ts": { "marked": 0, "identical": 1 }, "mobileTrip.ts": { "marked": 0, "identical": 1 },
"dashboard.ts": { "marked": 0, "identical": 1 },
"dayplan.ts": { "marked": 0, "identical": 2 },
"files.ts": { "marked": 0, "identical": 2 },
"help.ts": { "marked": 0, "identical": 6 },
"inspector.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 18 },
"login.ts": { "marked": 0, "identical": 3 },
"members.ts": { "marked": 0, "identical": 1 },
"memories.ts": { "marked": 0, "identical": 1 },
"mobileCollections.ts": { "marked": 0, "identical": 1 },
"mobileTrip.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 3 },
"notifications.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 0, "identical": 3 },
"packing.ts": { "marked": 0, "identical": 1 }, "packing.ts": { "marked": 0, "identical": 1 },
"reservations.ts": { "marked": 0, "identical": 7 },
"roadtrip.ts": { "marked": 0, "identical": 1 }, "roadtrip.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 76 }, "settings.ts": { "marked": 0, "identical": 1 },
"shared.ts": { "marked": 0, "identical": 1 }, "system_notice.ts": { "marked": 0, "identical": 2 }
"storage.ts": { "marked": 0, "identical": 2 },
"system_notice.ts": { "marked": 0, "identical": 3 },
"tours.ts": { "marked": 0, "identical": 1 },
"transport.ts": { "marked": 0, "identical": 1 },
"trip.ts": { "marked": 0, "identical": 2 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 6 }
}, },
"th": { "th": {
"admin.ts": { "marked": 0, "identical": 1 }, "admin.ts": { "marked": 0, "identical": 1 },
"system_notice.ts": { "marked": 0, "identical": 1 } "system_notice.ts": { "marked": 0, "identical": 1 }
}, },
"tr": { "tr": {
"admin.ts": { "marked": 0, "identical": 11 }, "system_notice.ts": { "marked": 0, "identical": 1 }
"collab.ts": { "marked": 0, "identical": 1 },
"common.ts": { "marked": 12, "identical": 0 },
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 110, "identical": 5 },
"login.ts": { "marked": 0, "identical": 6 },
"memories.ts": { "marked": 0, "identical": 1 },
"nav.ts": { "marked": 0, "identical": 1 },
"notifications.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 0 },
"places.ts": { "marked": 0, "identical": 1 },
"roadtrip.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 71 },
"shared.ts": { "marked": 0, "identical": 1 },
"storage.ts": { "marked": 0, "identical": 1 },
"system_notice.ts": { "marked": 0, "identical": 4 },
"trip.ts": { "marked": 0, "identical": 2 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 3 }
}, },
"uk": { "uk": {
"admin.ts": { "marked": 0, "identical": 12 }, "admin.ts": { "marked": 0, "identical": 4 },
"common.ts": { "marked": 12, "identical": 0 }, "settings.ts": { "marked": 0, "identical": 3 },
"help.ts": { "marked": 0, "identical": 3 }, "system_notice.ts": { "marked": 0, "identical": 1 }
"journey.ts": { "marked": 110, "identical": 3 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 78 },
"storage.ts": { "marked": 0, "identical": 1 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
}, },
"vi": { "vi": {
"admin.ts": { "marked": 0, "identical": 13 }, "admin.ts": { "marked": 0, "identical": 1 },
"common.ts": { "marked": 0, "identical": 1 }, "settings.ts": { "marked": 0, "identical": 1 }
"help.ts": { "marked": 0, "identical": 2 },
"journey.ts": { "marked": 110, "identical": 3 },
"reservations.ts": { "marked": 0, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 8 },
"storage.ts": { "marked": 0, "identical": 1 },
"system_notice.ts": { "marked": 0, "identical": 2 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
}, },
"zh": { "zh": {
"admin.ts": { "marked": 0, "identical": 3 }, "admin.ts": { "marked": 0, "identical": 1 },
"help.ts": { "marked": 0, "identical": 1 }, "settings.ts": { "marked": 0, "identical": 1 },
"journey.ts": { "marked": 110, "identical": 1 }, "system_notice.ts": { "marked": 0, "identical": 1 }
"settings.ts": { "marked": 0, "identical": 9 },
"system_notice.ts": { "marked": 0, "identical": 3 },
"vacay.ts": { "marked": 0, "identical": 5 }
}, },
"zh-TW": { "zh-TW": {
"admin.ts": { "marked": 0, "identical": 18 }, "admin.ts": { "marked": 0, "identical": 1 },
"common.ts": { "marked": 12, "identical": 0 }, "settings.ts": { "marked": 0, "identical": 1 },
"dayplan.ts": { "marked": 2, "identical": 0 }, "system_notice.ts": { "marked": 0, "identical": 3 }
"help.ts": { "marked": 0, "identical": 3 },
"journey.ts": { "marked": 115, "identical": 1 },
"login.ts": { "marked": 0, "identical": 3 },
"nav.ts": { "marked": 0, "identical": 1 },
"oauth.ts": { "marked": 17, "identical": 1 },
"settings.ts": { "marked": 0, "identical": 76 },
"system_notice.ts": { "marked": 0, "identical": 5 },
"undo.ts": { "marked": 0, "identical": 1 },
"vacay.ts": { "marked": 0, "identical": 5 }
} }
} }
+2
View File
@@ -71,6 +71,8 @@ export const BRAND_NAMES = [
'OpenRouter', 'OpenRouter',
'Organic Maps', 'Organic Maps',
'Polaroid', 'Polaroid',
// The photo book editor's name, like Atlas and Vacay for their add-ons.
'Studio',
'Synology', 'Synology',
'Synology Photos', 'Synology Photos',
'Vacay', 'Vacay',
+30 -31
View File
@@ -338,17 +338,17 @@ const admin: TranslationStrings = {
'admin.plugins.uninstallBody': 'admin.plugins.uninstallBody':
'سيؤدي هذا إلى إيقاف الإضافة وإزالة تعليماتها البرمجية وحذف جميع بياناتها. لا يمكن التراجع عن هذا الإجراء.', 'سيؤدي هذا إلى إيقاف الإضافة وإزالة تعليماتها البرمجية وحذف جميع بياناتها. لا يمكن التراجع عن هذا الإجراء.',
'admin.plugins.status.starting': 'جارٍ البدء…', 'admin.plugins.status.starting': 'جارٍ البدء…',
'admin.plugins.type.widget': 'Widget', 'admin.plugins.type.widget': 'أداة مصغّرة',
'admin.plugins.type.page': 'صفحة', 'admin.plugins.type.page': 'صفحة',
'admin.plugins.type.integration': 'تكامل', 'admin.plugins.type.integration': 'تكامل',
'admin.plugins.type.trip-page': 'صفحة الرحلة', 'admin.plugins.type.trip-page': 'صفحة الرحلة',
'admin.plugins.reviewed': 'تمت مراجعتها', 'admin.plugins.reviewed': 'تمت مراجعتها',
'admin.plugins.unreviewed': 'لم تتم مراجعتها', 'admin.plugins.unreviewed': 'لم تتم مراجعتها',
'admin.plugins.updated': 'تم تحديث الإضافة', 'admin.plugins.updated': 'تم تحديث الإضافة',
'admin.plugins.updateTo': 'Update → v{version}', 'admin.plugins.updateTo': 'تحديث ← v{version}',
'admin.plugins.enabledToggle': 'تفعيل الإضافة', 'admin.plugins.enabledToggle': 'تفعيل الإضافة',
'plugins.notFound': 'الإضافة غير موجودة', 'plugins.notFound': 'الإضافة غير موجودة',
'plugins.frameLoadFailed': 'This plugin could not be loaded.', 'plugins.frameLoadFailed': 'تعذّر تحميل هذه الإضافة.',
'admin.plugins.title': 'الإضافات الخارجية', 'admin.plugins.title': 'الإضافات الخارجية',
'admin.plugins.subtitle': 'ثبّت وأدر إضافات الجهات الخارجية على خادمك.', 'admin.plugins.subtitle': 'ثبّت وأدر إضافات الجهات الخارجية على خادمك.',
'admin.plugins.disabledTitle': 'الإضافات الخارجية معطّلة', 'admin.plugins.disabledTitle': 'الإضافات الخارجية معطّلة',
@@ -680,7 +680,7 @@ const admin: TranslationStrings = {
'admin.addons.catalog.mcp.description': 'بروتوكول سياق النموذج لتكامل مساعد الذكاء الاصطناعي', 'admin.addons.catalog.mcp.description': 'بروتوكول سياق النموذج لتكامل مساعد الذكاء الاصطناعي',
'admin.addons.subtitleBefore': 'فعّل أو عطّل الميزات لتخصيص تجربة ', 'admin.addons.subtitleBefore': 'فعّل أو عطّل الميزات لتخصيص تجربة ',
'admin.addons.subtitleAfter': '.', 'admin.addons.subtitleAfter': '.',
'admin.addons.catalog.naver_list_import.name': 'Naver List Import', 'admin.addons.catalog.naver_list_import.name': 'استيراد قوائم Naver',
'admin.addons.catalog.naver_list_import.description': 'استيراد الأماكن من قائمة Naver Maps مشتركة', 'admin.addons.catalog.naver_list_import.description': 'استيراد الأماكن من قائمة Naver Maps مشتركة',
'admin.addons.catalog.airtrail.name': 'AirTrail', 'admin.addons.catalog.airtrail.name': 'AirTrail',
'admin.addons.catalog.airtrail.description': 'مزامنة الرحلات من خادم AirTrail الخاص بك', 'admin.addons.catalog.airtrail.description': 'مزامنة الرحلات من خادم AirTrail الخاص بك',
@@ -819,33 +819,32 @@ const admin: TranslationStrings = {
'admin.update.wikiLink': 'فتح دليل التحديث', 'admin.update.wikiLink': 'فتح دليل التحديث',
'admin.update.reloadHint': 'يرجى إعادة تحميل الصفحة بعد بضع ثوانٍ.', 'admin.update.reloadHint': 'يرجى إعادة تحميل الصفحة بعد بضع ثوانٍ.',
'admin.tabs.permissions': 'الصلاحيات', 'admin.tabs.permissions': 'الصلاحيات',
'admin.notifications.webhook': 'Webhook', // en-fallback 'admin.notifications.webhook': 'Webhook',
'admin.notifications.ntfy': 'Ntfy', // en-fallback 'admin.notifications.ntfy': 'Ntfy',
'admin.notifications.emailPanel.title': 'Email (SMTP)', // en-fallback 'admin.notifications.emailPanel.title': 'البريد الإلكتروني (SMTP)',
'admin.notifications.webhookPanel.title': 'Webhook', // en-fallback 'admin.notifications.webhookPanel.title': 'Webhook',
'admin.notifications.webPushPanel.title': 'إشعارات الويب الفورية', 'admin.notifications.webPushPanel.title': 'إشعارات الويب الفورية',
'admin.notifications.webPushPanel.hint': 'admin.notifications.webPushPanel.hint':
'تتيح للمستخدمين تلقي الإشعارات على هواتفهم وحواسيبهم عبر المتصفح، حتى عندما يكون TREK مغلقًا. يتطلب HTTPS؛ وعلى iPhone وiPad يجب إضافة TREK إلى الشاشة الرئيسية.', 'تتيح للمستخدمين تلقي الإشعارات على هواتفهم وحواسيبهم عبر المتصفح، حتى عندما يكون TREK مغلقًا. يتطلب HTTPS؛ وعلى iPhone وiPad يجب إضافة TREK إلى الشاشة الرئيسية.',
'admin.notifications.inappPanel.title': 'In-App', // en-fallback 'admin.notifications.inappPanel.title': 'داخل التطبيق',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh', // en-fallback 'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', // en-fallback 'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
'admin.authMethods': 'Authentication Methods', // en-fallback 'admin.authMethods': 'طرق المصادقة',
'admin.passwordLogin': 'Password Login', // en-fallback 'admin.passwordLogin': 'تسجيل الدخول بكلمة المرور',
'admin.passwordLoginHint': 'Allow users to sign in with email and password', // en-fallback 'admin.passwordLoginHint': 'السماح للمستخدمين بتسجيل الدخول بالبريد الإلكتروني وكلمة المرور',
'admin.passwordRegistration': 'Password Registration', // en-fallback 'admin.passwordRegistration': 'التسجيل بكلمة المرور',
'admin.passwordRegistrationHint': 'Allow new users to register with email and password', // en-fallback 'admin.passwordRegistrationHint': 'السماح للمستخدمين الجدد بالتسجيل بالبريد الإلكتروني وكلمة المرور',
'admin.oidcLogin': 'SSO Login', // en-fallback 'admin.oidcLogin': 'تسجيل الدخول عبر SSO',
'admin.oidcLoginHint': 'Allow users to sign in with SSO', // en-fallback 'admin.oidcLoginHint': 'السماح للمستخدمين بتسجيل الدخول عبر SSO',
'admin.oidcRegistration': 'SSO Auto-Provisioning', // en-fallback 'admin.oidcRegistration': 'إنشاء الحسابات تلقائيًا عبر SSO',
'admin.oidcRegistrationHint': 'Automatically create accounts for new SSO users', // en-fallback 'admin.oidcRegistrationHint': 'إنشاء حسابات تلقائيًا للمستخدمين الجدد عبر SSO',
'admin.envOverrideHint': 'admin.envOverrideHint':
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.', // en-fallback 'يتم التحكم في إعدادات تسجيل الدخول بكلمة المرور عبر متغير البيئة OIDC_ONLY ولا يمكن تغييرها من هنا.',
'admin.lockoutWarning': 'At least one login method must remain enabled', // en-fallback 'admin.lockoutWarning': 'يجب أن تبقى طريقة تسجيل دخول واحدة على الأقل مفعّلة',
'admin.addons.catalog.mcp.name': 'MCP', // en-fallback 'admin.addons.catalog.mcp.name': 'MCP',
'admin.tabs.github': 'GitHub', // en-fallback 'admin.tabs.github': 'GitHub',
'admin.addons.catalog.journey.name': 'Journey', // en-fallback 'admin.addons.catalog.journey.name': 'يوميات',
'admin.addons.catalog.journey.description': 'admin.addons.catalog.journey.description': 'تتبّع الرحلات ويوميات سفر مع تسجيلات الوصول والصور وقصص كل يوم',
'Trip tracking & travel journal with check-ins, photos, and daily stories', // en-fallback
'admin.addons.catalog.collections.name': 'المجموعات', 'admin.addons.catalog.collections.name': 'المجموعات',
'admin.addons.catalog.collections.description': 'اجمع الأماكن من أي رحلة في قوائم مسماة وأعد استخدامها', 'admin.addons.catalog.collections.description': 'اجمع الأماكن من أي رحلة في قوائم مسماة وأعد استخدامها',
'admin.passkey.title': 'تسجيل الدخول بمفتاح المرور', 'admin.passkey.title': 'تسجيل الدخول بمفتاح المرور',
@@ -886,10 +885,10 @@ const admin: TranslationStrings = {
'admin.defaultSettings.cartoKey': 'مفتاح CARTO المشترك', 'admin.defaultSettings.cartoKey': 'مفتاح CARTO المشترك',
'admin.defaultSettings.cartoKeyHint': 'admin.defaultSettings.cartoKeyHint':
'يُستخدم لكل مستخدم لم يُدخل مفتاحه الخاص، حتى يحصل الخادم بأكمله على بلاطات CARTO بدون علامة مائية. يُخزَّن مشفّرًا.', 'يُستخدم لكل مستخدم لم يُدخل مفتاحه الخاص، حتى يحصل الخادم بأكمله على بلاطات CARTO بدون علامة مائية. يُخزَّن مشفّرًا.',
'admin.group.users': 'Users', 'admin.group.users': 'المستخدمون',
'admin.group.config': 'Configuration', 'admin.group.config': 'الإعدادات',
'admin.group.integration': 'Integrations', 'admin.group.integration': 'التكاملات',
'admin.group.maintenance': 'Maintenance', 'admin.group.maintenance': 'الصيانة',
'admin.invite.tripLabel': 'إضافة إلى رحلة (اختياري)', 'admin.invite.tripLabel': 'إضافة إلى رحلة (اختياري)',
'admin.invite.tripNone': 'بدون رحلة', 'admin.invite.tripNone': 'بدون رحلة',
'admin.invite.tripHint': 'تتم إضافة المستخدم الجديد تلقائيًا إلى هذه الرحلة عند تسجيله عبر الرابط.', 'admin.invite.tripHint': 'تتم إضافة المستخدم الجديد تلقائيًا إلى هذه الرحلة عند تسجيله عبر الرابط.',
+1 -1
View File
@@ -67,7 +67,7 @@ const backup: TranslationStrings = {
'سيتم استبدال جميع البيانات الحالية (الرحلات، الأماكن، المستخدمون، المرفوعات) بالنسخة نهائيًا. لا يمكن التراجع عن ذلك.', 'سيتم استبدال جميع البيانات الحالية (الرحلات، الأماكن، المستخدمون، المرفوعات) بالنسخة نهائيًا. لا يمكن التراجع عن ذلك.',
'backup.restoreTip': 'نصيحة: أنشئ نسخة احتياطية للحالة الحالية قبل الاستعادة.', 'backup.restoreTip': 'نصيحة: أنشئ نسخة احتياطية للحالة الحالية قبل الاستعادة.',
'backup.restoreConfirm': 'نعم، استعادة', 'backup.restoreConfirm': 'نعم، استعادة',
'backup.auto.envLocked': 'Docker', // en-fallback 'backup.auto.envLocked': 'Docker',
'backup.auto.hourHintTz': 'التوقيت المحلي للخادم (تنسيق {format})، المنطقة الزمنية {timezone}', 'backup.auto.hourHintTz': 'التوقيت المحلي للخادم (تنسيق {format})، المنطقة الزمنية {timezone}',
}; };
export default backup; export default backup;
+1 -1
View File
@@ -115,7 +115,7 @@ const collab: TranslationStrings = {
'collab.polls.options': 'الخيارات', 'collab.polls.options': 'الخيارات',
'collab.polls.delete': 'حذف', 'collab.polls.delete': 'حذف',
'collab.polls.closedSection': 'مغلق', 'collab.polls.closedSection': 'مغلق',
'collab.notes.websitePlaceholder': 'https://...', // en-fallback 'collab.notes.websitePlaceholder': 'https://...',
'collab.chat.imageLimit': 'يمكنك إرفاق ما يصل إلى {count} صورة لكل رسالة', 'collab.chat.imageLimit': 'يمكنك إرفاق ما يصل إلى {count} صورة لكل رسالة',
'collab.chat.imageLimit.zero': 'يمكنك إرفاق ما يصل إلى {count} صورة لكل رسالة', 'collab.chat.imageLimit.zero': 'يمكنك إرفاق ما يصل إلى {count} صورة لكل رسالة',
'collab.chat.imageLimit.one': 'يمكنك إرفاق صورة واحدة فقط لكل رسالة', 'collab.chat.imageLimit.one': 'يمكنك إرفاق صورة واحدة فقط لكل رسالة',
+13 -13
View File
@@ -53,7 +53,7 @@ const common: TranslationStrings = {
'common.collapse': 'طي', 'common.collapse': 'طي',
'common.copy': 'نسخ', 'common.copy': 'نسخ',
'common.copied': 'تم النسخ', 'common.copied': 'تم النسخ',
'common.justNow': 'just now', // en-fallback 'common.justNow': 'الآن',
'common.hoursAgo': 'منذ {count} ساعة', 'common.hoursAgo': 'منذ {count} ساعة',
'common.hoursAgo.zero': 'منذ {count} ساعة', 'common.hoursAgo.zero': 'منذ {count} ساعة',
'common.hoursAgo.one': 'منذ ساعة واحدة', 'common.hoursAgo.one': 'منذ ساعة واحدة',
@@ -66,18 +66,18 @@ const common: TranslationStrings = {
'common.daysAgo.two': 'منذ يومين', 'common.daysAgo.two': 'منذ يومين',
'common.daysAgo.few': 'منذ {count} أيام', 'common.daysAgo.few': 'منذ {count} أيام',
'common.daysAgo.many': 'منذ {count} يومًا', 'common.daysAgo.many': 'منذ {count} يومًا',
'common.datepicker.prevMonth': 'Previous month', // en-fallback 'common.datepicker.prevMonth': 'الشهر السابق',
'common.datepicker.nextMonth': 'Next month', // en-fallback 'common.datepicker.nextMonth': 'الشهر التالي',
'common.datepicker.prevYear': 'Previous year', // en-fallback 'common.datepicker.prevYear': 'السنة السابقة',
'common.datepicker.nextYear': 'Next year', // en-fallback 'common.datepicker.nextYear': 'السنة التالية',
'common.datepicker.prevYears': 'Previous years', // en-fallback 'common.datepicker.prevYears': 'السنوات السابقة',
'common.datepicker.nextYears': 'Next years', // en-fallback 'common.datepicker.nextYears': 'السنوات التالية',
'common.datepicker.selectMonth': 'Select month', // en-fallback 'common.datepicker.selectMonth': 'اختر الشهر',
'common.datepicker.selectYear': 'Select year', // en-fallback 'common.datepicker.selectYear': 'اختر السنة',
'common.datepicker.enterManually': 'Enter date manually', // en-fallback 'common.datepicker.enterManually': 'أدخل التاريخ يدويًا',
'common.datepicker.typeDate': 'Type a date', // en-fallback 'common.datepicker.typeDate': 'اكتب تاريخًا',
'common.datepicker.dialog': 'Date picker', // en-fallback 'common.datepicker.dialog': 'منتقي التاريخ',
'common.datepicker.clearDate': 'Clear date', // en-fallback 'common.datepicker.clearDate': 'مسح التاريخ',
'common.errorTitle': 'حدث خطأ ما', 'common.errorTitle': 'حدث خطأ ما',
'common.errorBody': 'توقف هذا الجزء من التطبيق عن العمل. بياناتك آمنة.', 'common.errorBody': 'توقف هذا الجزء من التطبيق عن العمل. بياناتك آمنة.',
'common.errorPanelTitle': 'تعذّر عرض هذا القسم', 'common.errorPanelTitle': 'تعذّر عرض هذا القسم',
+8 -8
View File
@@ -68,19 +68,19 @@ const dayplan: TranslationStrings = {
'dayplan.gpxEmpty': 'لا يوجد شيء للتصدير بعد', 'dayplan.gpxEmpty': 'لا يوجد شيء للتصدير بعد',
'dayplan.gpxFailed': 'فشل تصدير GPX', 'dayplan.gpxFailed': 'فشل تصدير GPX',
'dayplan.pdfError': 'فشل تصدير PDF', 'dayplan.pdfError': 'فشل تصدير PDF',
'dayplan.expandAll': 'توسيع كل الأيام', // en-fallback 'dayplan.expandAll': 'توسيع كل الأيام',
'dayplan.collapseAll': 'طي كل الأيام', // en-fallback 'dayplan.collapseAll': 'طي كل الأيام',
'dayplan.export': 'تصدير', 'dayplan.export': 'تصدير',
'dayplan.exportIntro': 'خذ خطتك معك: كمستند أو في تقويمك أو على جهاز GPS.', 'dayplan.exportIntro': 'خذ خطتك معك: كمستند أو في تقويمك أو على جهاز GPS.',
'dayplan.exportDocument': 'مستند', 'dayplan.exportDocument': 'مستند',
'dayplan.exportCalendar': 'التقويم', 'dayplan.exportCalendar': 'التقويم',
'dayplan.exportMaps': 'الخرائط وGPS', 'dayplan.exportMaps': 'الخرائط وGPS',
'dayplan.pdf': 'PDF', // en-fallback 'dayplan.pdf': 'PDF',
'dayplan.mobile.addPlace': 'Add Place', // en-fallback 'dayplan.mobile.addPlace': 'إضافة مكان',
'dayplan.mobile.searchPlaces': 'Search places...', // en-fallback 'dayplan.mobile.searchPlaces': 'ابحث عن أماكن...',
'dayplan.mobile.allAssigned': 'All places assigned', // en-fallback 'dayplan.mobile.allAssigned': 'تم تعيين كل الأماكن',
'dayplan.mobile.noMatch': 'No match', // en-fallback 'dayplan.mobile.noMatch': 'لا توجد نتائج',
'dayplan.mobile.createNew': 'Create new place', // en-fallback 'dayplan.mobile.createNew': 'إنشاء مكان جديد',
'dayplan.reorderDays': 'إعادة ترتيب الأيام', 'dayplan.reorderDays': 'إعادة ترتيب الأيام',
'dayplan.reorderTitle': 'إعادة ترتيب الأيام', 'dayplan.reorderTitle': 'إعادة ترتيب الأيام',
'dayplan.reorderHint': 'تنتقل أماكن اليوم وملاحظاته وحجوزاته معه.', 'dayplan.reorderHint': 'تنتقل أماكن اليوم وملاحظاته وحجوزاته معه.',
+2 -2
View File
@@ -666,7 +666,7 @@ const help: TranslationStrings = {
'help.guide.all-saved.tip.1': 'التسميات والجولات المحفوظة خاصة بكل قائمة، لذا لا يتاح أي منهما في «كل المحفوظات».', 'help.guide.all-saved.tip.1': 'التسميات والجولات المحفوظة خاصة بكل قائمة، لذا لا يتاح أي منهما في «كل المحفوظات».',
// ── Screen: journey ─────────────────────────────────────────────────────────────────── // ── Screen: journey ───────────────────────────────────────────────────────────────────
'help.ctx.journey.title': 'Journey', 'help.ctx.journey.title': 'يوميات',
'help.ctx.journey.summary': 'help.ctx.journey.summary':
'Journey هو دفتر يوميات سفرك، والصور فيه أولًا. كل يوميات مرتبطة برحلة واحدة أو أكثر، وتملؤها يومًا بعد يوم بمدخلات فيها قصة وصور ومزاج وطقس. تعرض هذه الشاشة يومياتك، فافتح إحداها لتكتب.', 'Journey هو دفتر يوميات سفرك، والصور فيه أولًا. كل يوميات مرتبطة برحلة واحدة أو أكثر، وتملؤها يومًا بعد يوم بمدخلات فيها قصة وصور ومزاج وطقس. تعرض هذه الشاشة يومياتك، فافتح إحداها لتكتب.',
'help.ctx.journey.bullet.1': 'help.ctx.journey.bullet.1':
@@ -871,7 +871,7 @@ const help: TranslationStrings = {
'help.guide.journey-status.tip.2': 'الحالة التي تضبطها يدويًا تبقى إلى أن تغيّرها، حتى لو تغيّرت تواريخ الرحلة.', 'help.guide.journey-status.tip.2': 'الحالة التي تضبطها يدويًا تبقى إلى أن تغيّرها، حتى لو تغيّرت تواريخ الرحلة.',
// ── Screen: journey-studio ──────────────────────────────────────────────────────────── // ── Screen: journey-studio ────────────────────────────────────────────────────────────
'help.ctx.journey-studio.title': 'Studio', 'help.ctx.journey-studio.title': 'الاستوديو',
'help.ctx.journey-studio.summary': 'help.ctx.journey-studio.summary':
'يحوّل TREK Studio اليوميات إلى كتاب صور قابل للطباعة. يُفتح فوق اليوميات: قائمة الصفحات والمحتوى على اليسار، والصفحتان المتقابلتان اللتان تعمل عليهما في الوسط، وخصائصهما على اليمين. ينشئ Auto layout مسودة أولى من مدخلاتك، وبعدها يمكنك تحريك كل شيء واقتصاصه وإعادة تنسيقه، والتراجع عن أي خطوة.', 'يحوّل TREK Studio اليوميات إلى كتاب صور قابل للطباعة. يُفتح فوق اليوميات: قائمة الصفحات والمحتوى على اليسار، والصفحتان المتقابلتان اللتان تعمل عليهما في الوسط، وخصائصهما على اليمين. ينشئ Auto layout مسودة أولى من مدخلاتك، وبعدها يمكنك تحريك كل شيء واقتصاصه وإعادة تنسيقه، والتراجع عن أي خطوة.',
'help.ctx.journey-studio.bullet.1': 'help.ctx.journey-studio.bullet.1':
+270 -270
View File
@@ -71,93 +71,93 @@ const journey: TranslationStrings = {
'journey.picker.noAlbums': 'لم يتم العثور على ألبومات', 'journey.picker.noAlbums': 'لم يتم العثور على ألبومات',
'journey.picker.selectDate': 'اختر تاريخ', 'journey.picker.selectDate': 'اختر تاريخ',
'journey.picker.search': 'بحث', 'journey.picker.search': 'بحث',
'journey.title': 'Journey', // en-fallback 'journey.title': 'يوميات',
'journey.subtitle': 'Track your travels as they happen', // en-fallback 'journey.subtitle': 'وثّق رحلاتك أولًا بأول',
'journey.new': 'New Journey', // en-fallback 'journey.new': 'يوميات جديدة',
'journey.lightbox.zoomIn': 'تكبير', 'journey.lightbox.zoomIn': 'تكبير',
'journey.lightbox.zoomOut': 'تصغير', 'journey.lightbox.zoomOut': 'تصغير',
'journey.lightbox.zoomReset': 'العودة إلى الصورة كاملة', 'journey.lightbox.zoomReset': 'العودة إلى الصورة كاملة',
'journey.lightbox.previous': 'الصورة السابقة', 'journey.lightbox.previous': 'الصورة السابقة',
'journey.lightbox.next': 'الصورة التالية', 'journey.lightbox.next': 'الصورة التالية',
'journey.create': 'Create', // en-fallback 'journey.create': 'إنشاء',
'journey.titlePlaceholder': 'Where are you going?', // en-fallback 'journey.titlePlaceholder': 'إلى أين أنت ذاهب؟',
'journey.empty': 'No journeys yet', // en-fallback 'journey.empty': 'لا توجد يوميات بعد',
'journey.emptyHint': 'Start documenting your next trip', // en-fallback 'journey.emptyHint': 'ابدأ بتوثيق رحلتك القادمة',
'journey.deleted': 'Journey deleted', // en-fallback 'journey.deleted': 'تم حذف اليوميات',
'journey.createError': 'Could not create journey', // en-fallback 'journey.createError': 'تعذّر إنشاء اليوميات',
'journey.deleteError': 'Could not delete journey', // en-fallback 'journey.deleteError': 'تعذّر حذف اليوميات',
'journey.deleteConfirmTitle': 'Delete', // en-fallback 'journey.deleteConfirmTitle': 'حذف',
'journey.deleteConfirmMessage': 'Delete "{title}"? This cannot be undone.', // en-fallback 'journey.deleteConfirmMessage': 'هل تريد حذف "{title}"؟ لا يمكن التراجع عن ذلك.',
'journey.deleteConfirmGeneric': 'Are you sure you want to delete this?', // en-fallback 'journey.deleteConfirmGeneric': 'هل أنت متأكد أنك تريد حذف هذا؟',
'journey.notFound': 'Journey not found', // en-fallback 'journey.notFound': 'لم يتم العثور على اليوميات',
'journey.photos': 'Photos', // en-fallback 'journey.photos': 'الصور',
'journey.timelineEmpty': 'No stops yet', // en-fallback 'journey.timelineEmpty': 'لا توجد محطات بعد',
'journey.timelineEmptyHint': 'Add a check-in or write a journal entry to get started', // en-fallback 'journey.timelineEmptyHint': 'أضف تسجيل وصول أو اكتب تدوينة للبدء',
'journey.status.draft': 'Draft', // en-fallback 'journey.status.draft': 'مسودة',
'journey.status.active': 'Active', // en-fallback 'journey.status.active': 'نشطة',
'journey.status.completed': 'Completed', // en-fallback 'journey.status.completed': 'مكتملة',
'journey.status.upcoming': 'Upcoming', // en-fallback 'journey.status.upcoming': 'قادمة',
'journey.checkin.add': 'Check in', // en-fallback 'journey.checkin.add': 'تسجيل وصول',
'journey.checkin.namePlaceholder': 'Location name', // en-fallback 'journey.checkin.namePlaceholder': 'اسم الموقع',
'journey.checkin.notesPlaceholder': 'Notes (optional)', // en-fallback 'journey.checkin.notesPlaceholder': 'ملاحظات (اختياري)',
'journey.checkin.save': 'Save', // en-fallback 'journey.checkin.save': 'حفظ',
'journey.checkin.error': 'Could not save check-in', // en-fallback 'journey.checkin.error': 'تعذّر حفظ تسجيل الوصول',
'journey.entry.add': 'Journal', // en-fallback 'journey.entry.add': 'تدوينة',
'journey.entry.edit': 'Edit entry', // en-fallback 'journey.entry.edit': 'تعديل التدوينة',
'journey.entry.titlePlaceholder': 'Title (optional)', // en-fallback 'journey.entry.titlePlaceholder': 'العنوان (اختياري)',
'journey.entry.bodyPlaceholder': 'What happened today?', // en-fallback 'journey.entry.bodyPlaceholder': 'ماذا حدث اليوم؟',
'journey.entry.save': 'Save', // en-fallback 'journey.entry.save': 'حفظ',
'journey.entry.error': 'Could not save entry', // en-fallback 'journey.entry.error': 'تعذّر حفظ التدوينة',
'journey.photo.add': 'Photo', // en-fallback 'journey.photo.add': 'صورة',
'journey.photo.uploadError': 'Upload failed', // en-fallback 'journey.photo.uploadError': 'فشل الرفع',
'journey.share.share': 'Share', // en-fallback 'journey.share.share': 'مشاركة',
'journey.share.public': 'Public', // en-fallback 'journey.share.public': 'عام',
'journey.share.linkCopied': 'Public link copied', // en-fallback 'journey.share.linkCopied': 'تم نسخ الرابط العام',
'journey.share.disabled': 'Public sharing disabled', // en-fallback 'journey.share.disabled': 'تم تعطيل المشاركة العامة',
'journey.editor.titlePlaceholder': 'Give this moment a name...', // en-fallback 'journey.editor.titlePlaceholder': 'أعطِ هذه اللحظة اسمًا...',
'journey.editor.bodyPlaceholder': 'Tell the story of this day...', // en-fallback 'journey.editor.bodyPlaceholder': 'احكِ قصة هذا اليوم...',
'journey.editor.placePlaceholder': 'Location (optional)', // en-fallback 'journey.editor.placePlaceholder': 'الموقع (اختياري)',
'journey.editor.tagsPlaceholder': 'Tags: hidden gem, best meal, must revisit...', // en-fallback 'journey.editor.tagsPlaceholder': 'وسوم: جوهرة خفية، أفضل وجبة، يستحق العودة...',
'journey.visibility.private': 'Private', // en-fallback 'journey.visibility.private': 'خاص',
'journey.visibility.shared': 'Shared', // en-fallback 'journey.visibility.shared': 'مشترك',
'journey.visibility.public': 'Public', // en-fallback 'journey.visibility.public': 'عام',
'journey.emptyState.title': 'Your story starts here', // en-fallback 'journey.emptyState.title': 'قصتك تبدأ هنا',
'journey.emptyState.subtitle': 'Check in at a place or write your first journal entry', // en-fallback 'journey.emptyState.subtitle': 'سجّل وصولك إلى مكان أو اكتب أول تدوينة',
'journey.frontpage.subtitle': "Turn your trips into stories you'll never forget", // en-fallback 'journey.frontpage.subtitle': 'حوّل رحلاتك إلى قصص لا تُنسى',
'journey.frontpage.createJourney': 'Create Journey', // en-fallback 'journey.frontpage.createJourney': 'إنشاء يوميات',
'journey.frontpage.activeJourney': 'Active Journey', // en-fallback 'journey.frontpage.activeJourney': 'اليوميات النشطة',
'journey.frontpage.latestJourney': 'أحدث رحلة', 'journey.frontpage.latestJourney': 'أحدث رحلة',
'journey.frontpage.allJourneys': 'All Journeys', // en-fallback 'journey.frontpage.allJourneys': 'كل اليوميات',
'journey.frontpage.journeys': 'رحلة', 'journey.frontpage.journeys': 'رحلة',
'journey.frontpage.journeys.zero': 'رحلات', 'journey.frontpage.journeys.zero': 'رحلات',
'journey.frontpage.journeys.one': 'رحلة', 'journey.frontpage.journeys.one': 'رحلة',
'journey.frontpage.journeys.two': 'رحلتان', 'journey.frontpage.journeys.two': 'رحلتان',
'journey.frontpage.journeys.few': 'رحلات', 'journey.frontpage.journeys.few': 'رحلات',
'journey.frontpage.journeys.many': 'رحلة', 'journey.frontpage.journeys.many': 'رحلة',
'journey.frontpage.createNew': 'Create a new Journey', // en-fallback 'journey.frontpage.createNew': 'إنشاء يوميات جديدة',
'journey.frontpage.createNewSub': 'Pick trips, write stories, share your adventures', // en-fallback 'journey.frontpage.createNewSub': 'اختر الرحلات، اكتب القصص، وشارك مغامراتك',
'journey.frontpage.live': 'Live', // en-fallback 'journey.frontpage.live': 'مباشر',
'journey.frontpage.synced': 'Synced', // en-fallback 'journey.frontpage.synced': 'متزامنة',
'journey.frontpage.continueWriting': 'Continue writing', // en-fallback 'journey.frontpage.continueWriting': 'أكمل الكتابة',
'journey.frontpage.updated': 'Updated {time}', // en-fallback 'journey.frontpage.updated': 'تم التحديث {time}',
'journey.frontpage.suggestionLabel': 'Trip just ended', // en-fallback 'journey.frontpage.suggestionLabel': 'انتهت الرحلة للتو',
'journey.frontpage.suggestionText': 'Turn <strong>{title}</strong> into a Journey', // en-fallback 'journey.frontpage.suggestionText': 'حوّل <strong>{title}</strong> إلى يوميات',
'journey.frontpage.dismiss': 'Dismiss', // en-fallback 'journey.frontpage.dismiss': 'تجاهل',
'journey.frontpage.dismissError': 'تعذر تجاهل هذا الاقتراح', 'journey.frontpage.dismissError': 'تعذر تجاهل هذا الاقتراح',
'journey.frontpage.journeyName': 'Journey Name', // en-fallback 'journey.frontpage.journeyName': 'اسم اليوميات',
'journey.frontpage.namePlaceholder': 'e.g. Southeast Asia 2026', // en-fallback 'journey.frontpage.namePlaceholder': 'مثال: جنوب شرق آسيا 2026',
'journey.frontpage.selectTrips': 'Select Trips', // en-fallback 'journey.frontpage.selectTrips': 'اختر الرحلات',
'journey.frontpage.tripsSelected': 'trips selected', // en-fallback 'journey.frontpage.tripsSelected': 'رحلات محددة',
'journey.frontpage.trips': 'trips', // en-fallback 'journey.frontpage.trips': 'رحلات',
'journey.frontpage.placesImported': 'places will be imported', // en-fallback 'journey.frontpage.placesImported': 'أماكن سيتم استيرادها',
'journey.frontpage.places': 'مكان', 'journey.frontpage.places': 'مكان',
'journey.frontpage.places.zero': 'أماكن', 'journey.frontpage.places.zero': 'أماكن',
'journey.frontpage.places.one': 'مكان', 'journey.frontpage.places.one': 'مكان',
'journey.frontpage.places.two': 'مكانان', 'journey.frontpage.places.two': 'مكانان',
'journey.frontpage.places.few': 'أماكن', 'journey.frontpage.places.few': 'أماكن',
'journey.frontpage.places.many': 'مكانًا', 'journey.frontpage.places.many': 'مكانًا',
'journey.detail.syncedWithTrips': 'Synced with Trips', // en-fallback 'journey.detail.syncedWithTrips': 'متزامنة مع الرحلات',
'journey.detail.addEntry': 'Add Entry', // en-fallback 'journey.detail.addEntry': 'إضافة تدوينة',
'journey.detail.jumpToTop': 'العودة إلى الأعلى', 'journey.detail.jumpToTop': 'العودة إلى الأعلى',
'journey.detail.jumpToLast': 'الانتقال إلى آخر مدخل', 'journey.detail.jumpToLast': 'الانتقال إلى آخر مدخل',
'journey.detail.dayJump': 'الانتقال إلى يوم', 'journey.detail.dayJump': 'الانتقال إلى يوم',
@@ -167,103 +167,103 @@ const journey: TranslationStrings = {
'journey.detail.dayJumpCount.two': 'يومان', 'journey.detail.dayJumpCount.two': 'يومان',
'journey.detail.dayJumpCount.few': '{count} أيام', 'journey.detail.dayJumpCount.few': '{count} أيام',
'journey.detail.dayJumpCount.many': '{count} يومًا', 'journey.detail.dayJumpCount.many': '{count} يومًا',
'journey.detail.newEntry': 'New Entry', // en-fallback 'journey.detail.newEntry': 'تدوينة جديدة',
'journey.detail.editEntry': 'Edit Entry', // en-fallback 'journey.detail.editEntry': 'تعديل التدوينة',
'journey.detail.noEntries': 'No entries yet', // en-fallback 'journey.detail.noEntries': 'لا توجد تدوينات بعد',
'journey.detail.noEntriesHint': 'Add a trip to get started with skeleton entries', // en-fallback 'journey.detail.noEntriesHint': 'أضف رحلة للبدء بتدوينات أولية',
'journey.detail.noPhotos': 'No photos yet', // en-fallback 'journey.detail.noPhotos': 'لا توجد صور بعد',
'journey.detail.noPhotosHint': 'Upload photos to entries or browse your Immich/Synology library', // en-fallback 'journey.detail.noPhotosHint': 'ارفع صورًا إلى التدوينات أو تصفّح مكتبة Immich/Synology',
'journey.detail.journeyTab': 'Journey', // en-fallback 'journey.detail.journeyTab': 'اليوميات',
'journey.detail.journeyStats': 'Journey Stats', // en-fallback 'journey.detail.journeyStats': 'إحصائيات اليوميات',
'journey.detail.syncedTrips': 'Synced Trips', // en-fallback 'journey.detail.syncedTrips': 'الرحلات المتزامنة',
'journey.detail.noTripsLinked': 'No trips linked yet', // en-fallback 'journey.detail.noTripsLinked': 'لا توجد رحلات مرتبطة بعد',
'journey.detail.contributors': 'Contributors', // en-fallback 'journey.detail.contributors': 'المساهمون',
'journey.detail.readMore': 'Read more', // en-fallback 'journey.detail.readMore': 'اقرأ المزيد',
'journey.detail.prosCons': 'Pros & Cons', // en-fallback 'journey.detail.prosCons': 'الإيجابيات والسلبيات',
'journey.stats.days': 'Days', // en-fallback 'journey.stats.days': 'الأيام',
'journey.stats.cities': 'Cities', // en-fallback 'journey.stats.cities': 'المدن',
'journey.stats.entries': 'Entries', // en-fallback 'journey.stats.entries': 'التدوينات',
'journey.stats.photos': 'Photos', // en-fallback 'journey.stats.photos': 'الصور',
'journey.stats.places': 'Places', // en-fallback 'journey.stats.places': 'الأماكن',
'journey.verdict.lovedIt': 'Loved it', // en-fallback 'journey.verdict.lovedIt': 'أعجبني كثيرًا',
'journey.verdict.couldBeBetter': 'Could be better', // en-fallback 'journey.verdict.couldBeBetter': 'كان يمكن أن يكون أفضل',
'journey.synced.places': 'مكان', 'journey.synced.places': 'مكان',
'journey.synced.places.zero': 'أماكن', 'journey.synced.places.zero': 'أماكن',
'journey.synced.places.one': 'مكان', 'journey.synced.places.one': 'مكان',
'journey.synced.places.two': 'مكانان', 'journey.synced.places.two': 'مكانان',
'journey.synced.places.few': 'أماكن', 'journey.synced.places.few': 'أماكن',
'journey.synced.places.many': 'مكانًا', 'journey.synced.places.many': 'مكانًا',
'journey.synced.synced': 'synced', // en-fallback 'journey.synced.synced': 'متزامن',
'journey.editor.allPhotosAdded': 'All photos already added', // en-fallback 'journey.editor.allPhotosAdded': 'تمت إضافة كل الصور بالفعل',
'journey.editor.writeStory': 'Write your story...', // en-fallback 'journey.editor.writeStory': 'اكتب قصتك...',
'journey.editor.prosCons': 'Pros & Cons', // en-fallback 'journey.editor.prosCons': 'الإيجابيات والسلبيات',
'journey.editor.pros': 'Pros', // en-fallback 'journey.editor.pros': 'الإيجابيات',
'journey.editor.cons': 'Cons', // en-fallback 'journey.editor.cons': 'السلبيات',
'journey.editor.proPlaceholder': 'Something great...', // en-fallback 'journey.editor.proPlaceholder': 'شيء رائع...',
'journey.editor.conPlaceholder': 'Not so great...', // en-fallback 'journey.editor.conPlaceholder': 'ليس رائعًا تمامًا...',
'journey.editor.date': 'Date', // en-fallback 'journey.editor.date': 'التاريخ',
'journey.editor.location': 'Location', // en-fallback 'journey.editor.location': 'الموقع',
'journey.editor.searchLocation': 'Search location...', // en-fallback 'journey.editor.searchLocation': 'ابحث عن موقع...',
'journey.editor.mood': 'Mood', // en-fallback 'journey.editor.mood': 'المزاج',
'journey.editor.weather': 'Weather', // en-fallback 'journey.editor.weather': 'الطقس',
'journey.editor.photoFirst': '1st', // en-fallback 'journey.editor.photoFirst': 'الأولى',
'journey.mood.amazing': 'Amazing', // en-fallback 'journey.mood.amazing': 'رائع',
'journey.mood.good': 'Good', // en-fallback 'journey.mood.good': 'جيد',
'journey.mood.neutral': 'Neutral', // en-fallback 'journey.mood.neutral': 'عادي',
'journey.mood.rough': 'Rough', // en-fallback 'journey.mood.rough': 'صعب',
'journey.weather.sunny': 'Sunny', // en-fallback 'journey.weather.sunny': 'مشمس',
'journey.weather.partly': 'Partly cloudy', // en-fallback 'journey.weather.partly': 'غائم جزئيًا',
'journey.weather.cloudy': 'Cloudy', // en-fallback 'journey.weather.cloudy': 'غائم',
'journey.weather.rainy': 'Rainy', // en-fallback 'journey.weather.rainy': 'ماطر',
'journey.weather.stormy': 'Stormy', // en-fallback 'journey.weather.stormy': 'عاصف',
'journey.weather.cold': 'Snowy', // en-fallback 'journey.weather.cold': 'مثلج',
'journey.trips.linkTrip': 'Link Trip', // en-fallback 'journey.trips.linkTrip': 'ربط رحلة',
'journey.trips.searchTrip': 'Search Trip', // en-fallback 'journey.trips.searchTrip': 'البحث عن رحلة',
'journey.trips.searchPlaceholder': 'Trip name or destination...', // en-fallback 'journey.trips.searchPlaceholder': 'اسم الرحلة أو الوجهة...',
'journey.trips.noTripsAvailable': 'No trips available', // en-fallback 'journey.trips.noTripsAvailable': 'لا توجد رحلات متاحة',
'journey.trips.link': 'Link', // en-fallback 'journey.trips.link': 'ربط',
'journey.trips.tripLinked': 'Trip linked', // en-fallback 'journey.trips.tripLinked': 'تم ربط الرحلة',
'journey.trips.linkFailed': 'Failed to link trip', // en-fallback 'journey.trips.linkFailed': 'فشل ربط الرحلة',
'journey.trips.addTrip': 'Add Trip', // en-fallback 'journey.trips.addTrip': 'إضافة رحلة',
'journey.trips.unlinkTrip': 'Unlink Trip', // en-fallback 'journey.trips.unlinkTrip': 'فك ارتباط الرحلة',
'journey.trips.unlinkMessage': 'journey.trips.unlinkMessage':
'Unlink "{title}"? All synced entries and photos from this trip will be permanently deleted. This cannot be undone.', // en-fallback 'هل تريد فك ارتباط "{title}"؟ سيتم حذف كل التدوينات والصور المتزامنة من هذه الرحلة نهائيًا. لا يمكن التراجع عن ذلك.',
'journey.trips.unlink': 'Unlink', // en-fallback 'journey.trips.unlink': 'فك الارتباط',
'journey.trips.tripUnlinked': 'Trip unlinked', // en-fallback 'journey.trips.tripUnlinked': 'تم فك ارتباط الرحلة',
'journey.trips.unlinkFailed': 'Failed to unlink trip', // en-fallback 'journey.trips.unlinkFailed': 'فشل فك ارتباط الرحلة',
'journey.trips.noTripsLinkedSettings': 'No trips linked', // en-fallback 'journey.trips.noTripsLinkedSettings': 'لا توجد رحلات مرتبطة',
'journey.contributors.invite': 'Invite Contributor', // en-fallback 'journey.contributors.invite': 'دعوة مساهم',
'journey.contributors.searchUser': 'Search User', // en-fallback 'journey.contributors.searchUser': 'البحث عن مستخدم',
'journey.contributors.searchPlaceholder': 'Username or email...', // en-fallback 'journey.contributors.searchPlaceholder': 'اسم المستخدم أو البريد الإلكتروني...',
'journey.contributors.noUsers': 'No users found', // en-fallback 'journey.contributors.noUsers': 'لم يتم العثور على مستخدمين',
'journey.contributors.role': 'Role', // en-fallback 'journey.contributors.role': 'الدور',
'journey.contributors.added': 'Contributor added', // en-fallback 'journey.contributors.added': 'تمت إضافة المساهم',
'journey.contributors.addFailed': 'Failed to add contributor', // en-fallback 'journey.contributors.addFailed': 'فشلت إضافة المساهم',
'journey.contributors.remove': 'Remove contributor', // en-fallback 'journey.contributors.remove': 'إزالة المساهم',
'journey.contributors.removeConfirm': 'Remove {username} from this journey?', // en-fallback 'journey.contributors.removeConfirm': 'هل تريد إزالة {username} من هذه اليوميات؟',
'journey.contributors.removed': 'Contributor removed', // en-fallback 'journey.contributors.removed': 'تمت إزالة المساهم',
'journey.contributors.removeFailed': 'Failed to remove contributor', // en-fallback 'journey.contributors.removeFailed': 'فشلت إزالة المساهم',
'journey.contributors.viaTrips': 'عبر الرحلات', 'journey.contributors.viaTrips': 'عبر الرحلات',
'journey.contributors.viaTripsHint': 'يمكنهم فتح هذه اليوميات لأن رحلة ترتبط بها. غيّر ذلك من إعدادات الرحلة.', 'journey.contributors.viaTripsHint': 'يمكنهم فتح هذه اليوميات لأن رحلة ترتبط بها. غيّر ذلك من إعدادات الرحلة.',
'journey.contributors.viaTrip': 'عبر {trip}', 'journey.contributors.viaTrip': 'عبر {trip}',
'journey.share.publicShare': 'Public Share', // en-fallback 'journey.share.publicShare': 'مشاركة عامة',
'journey.share.createLink': 'Create share link', // en-fallback 'journey.share.createLink': 'إنشاء رابط مشاركة',
'journey.share.linkCreated': 'Share link created', // en-fallback 'journey.share.linkCreated': 'تم إنشاء رابط المشاركة',
'journey.share.createFailed': 'Failed to create link', // en-fallback 'journey.share.createFailed': 'فشل إنشاء الرابط',
'journey.share.timeline': 'Timeline', // en-fallback 'journey.share.timeline': 'الخط الزمني',
'journey.share.gallery': 'Gallery', // en-fallback 'journey.share.gallery': 'المعرض',
'journey.share.map': 'Map', // en-fallback 'journey.share.map': 'الخريطة',
'journey.share.removeLink': 'Remove share link', // en-fallback 'journey.share.removeLink': 'إزالة رابط المشاركة',
'journey.share.linkDeleted': 'Share link deleted', // en-fallback 'journey.share.linkDeleted': 'تم حذف رابط المشاركة',
'journey.share.deleteFailed': 'Failed to delete', // en-fallback 'journey.share.deleteFailed': 'فشل الحذف',
'journey.share.updateFailed': 'Failed to update', // en-fallback 'journey.share.updateFailed': 'فشل التحديث',
'journey.settings.title': 'Journey Settings', // en-fallback 'journey.settings.title': 'إعدادات اليوميات',
'journey.settings.coverImage': 'Cover Image', // en-fallback 'journey.settings.coverImage': 'صورة الغلاف',
'journey.settings.changeCover': 'Change cover', // en-fallback 'journey.settings.changeCover': 'تغيير الغلاف',
'journey.settings.addCover': 'Add cover image', // en-fallback 'journey.settings.addCover': 'إضافة صورة غلاف',
'journey.settings.name': 'Name', // en-fallback 'journey.settings.name': 'الاسم',
'journey.settings.subtitle': 'Subtitle', // en-fallback 'journey.settings.subtitle': 'العنوان الفرعي',
'journey.settings.subtitlePlaceholder': 'e.g. Thailand, Vietnam & Cambodia', // en-fallback 'journey.settings.subtitlePlaceholder': 'مثال: تايلاند وفيتنام وكمبوديا',
'journey.settings.tracks': 'مسارات GPX', 'journey.settings.tracks': 'مسارات GPX',
'journey.settings.recordings': 'الأيام المسجلة', 'journey.settings.recordings': 'الأيام المسجلة',
'journey.settings.showTripTracks': 'إظهار جميع مسارات GPX للرحلات', 'journey.settings.showTripTracks': 'إظهار جميع مسارات GPX للرحلات',
@@ -279,47 +279,47 @@ const journey: TranslationStrings = {
'journey.settings.photoLocation': 'تحديد موقع الإدخالات من صورها', 'journey.settings.photoLocation': 'تحديد موقع الإدخالات من صورها',
'journey.settings.photoLocationHint': 'journey.settings.photoLocationHint':
'يأخذ الإدخال الذي بلا مكان موقع أول صورة له تحمل GPS. لا تُنقل الأماكن التي حددتها بنفسك أبدًا.', 'يأخذ الإدخال الذي بلا مكان موقع أول صورة له تحمل GPS. لا تُنقل الأماكن التي حددتها بنفسك أبدًا.',
'journey.settings.delete': 'Delete', // en-fallback 'journey.settings.delete': 'حذف',
'journey.settings.deleteJourney': 'Delete Journey', // en-fallback 'journey.settings.deleteJourney': 'حذف اليوميات',
'journey.settings.deleteMessage': 'Delete "{title}"? All entries and photos will be lost.', // en-fallback 'journey.settings.deleteMessage': 'هل تريد حذف "{title}"؟ ستفقد كل التدوينات والصور.',
'journey.settings.saved': 'Settings saved', // en-fallback 'journey.settings.saved': 'تم حفظ الإعدادات',
'journey.settings.saveFailed': 'Failed to save', // en-fallback 'journey.settings.saveFailed': 'فشل الحفظ',
'journey.settings.coverUpdated': 'Cover updated', // en-fallback 'journey.settings.coverUpdated': 'تم تحديث الغلاف',
'journey.settings.coverFailed': 'Upload failed', // en-fallback 'journey.settings.coverFailed': 'فشل الرفع',
'journey.public.notFound': 'Not Found', // en-fallback 'journey.public.notFound': 'غير موجود',
'journey.public.notFoundMessage': "This journey doesn't exist or the link has expired.", // en-fallback 'journey.public.notFoundMessage': 'هذه اليوميات غير موجودة أو انتهت صلاحية الرابط.',
'journey.public.readOnly': 'Read-only · Public Journey', // en-fallback 'journey.public.readOnly': 'للقراءة فقط، يوميات عامة',
'journey.public.tagline': 'Travel Resource & Exploration Kit', // en-fallback 'journey.public.tagline': 'عدّة السفر والاستكشاف',
'journey.public.sharedVia': 'Shared via', // en-fallback 'journey.public.sharedVia': 'تمت المشاركة عبر',
'journey.public.madeWith': 'Made with', // en-fallback 'journey.public.madeWith': 'صُنع باستخدام',
'journey.pdf.journeyBook': 'Journey Book', // en-fallback 'journey.pdf.journeyBook': 'كتاب اليوميات',
'journey.pdf.madeWith': 'Made with TREK', // en-fallback 'journey.pdf.madeWith': 'صُنع باستخدام TREK',
'journey.pdf.day': 'Day', // en-fallback 'journey.pdf.day': 'اليوم',
'journey.pdf.theEnd': 'The End', // en-fallback 'journey.pdf.theEnd': 'النهاية',
'journey.pdf.saveAsPdf': 'Save as PDF', // en-fallback 'journey.pdf.saveAsPdf': 'حفظ بصيغة PDF',
'journey.pdf.pages': 'pages', // en-fallback 'journey.pdf.pages': 'صفحات',
'journey.editor.externalPhotos': 'External photos', // en-fallback 'journey.editor.externalPhotos': 'صور خارجية',
'journey.editor.externalPhotosFor': 'Photos for {date}', // en-fallback 'journey.editor.externalPhotosFor': 'صور يوم {date}',
'journey.editor.externalPhotosNearby': 'Nearby photos first', // en-fallback 'journey.editor.externalPhotosNearby': 'الصور القريبة أولًا',
'journey.editor.externalPhotosNoLocation': 'All photos from this day', // en-fallback 'journey.editor.externalPhotosNoLocation': 'كل صور هذا اليوم',
'journey.editor.externalPhotosQueued': 'queued', // en-fallback 'journey.editor.externalPhotosQueued': 'في قائمة الانتظار',
'journey.editor.externalPhotosUnavailable': 'No connected photo providers are available.', // en-fallback 'journey.editor.externalPhotosUnavailable': 'لا يوجد مزوّدو صور متصلون.',
'journey.editor.externalPhotosPartialFailed': '{failed} photo groups failed — save again to retry', // en-fallback 'journey.editor.externalPhotosPartialFailed': 'فشلت {failed} مجموعات صور، احفظ مرة أخرى لإعادة المحاولة',
'journey.picker.day': 'This day', // en-fallback 'journey.picker.day': 'هذا اليوم',
'journey.studio.title': 'TREK Studio', // en-fallback 'journey.studio.title': 'TREK Studio',
'journey.studio.open': 'Studio', // en-fallback 'journey.studio.open': 'الاستوديو',
'journey.studio.openAria': 'Open the photo book studio', // en-fallback 'journey.studio.openAria': 'فتح استوديو ألبوم الصور',
'journey.studio.backToJourney': 'Back to the journey', // en-fallback 'journey.studio.backToJourney': 'العودة إلى اليوميات',
'journey.studio.format': 'Page format', // en-fallback 'journey.studio.format': 'حجم الصفحة',
'journey.studio.formatA4Landscape': 'A4 landscape', // en-fallback 'journey.studio.formatA4Landscape': 'A4 أفقي',
'journey.studio.formatA4Portrait': 'A4 portrait', // en-fallback 'journey.studio.formatA4Portrait': 'A4 عمودي',
'journey.studio.formatSquare21': 'Square 21 × 21 cm', // en-fallback 'journey.studio.formatSquare21': 'مربع 21 × 21 سم',
'journey.studio.formatSquare30': 'Square 30 × 30 cm', // en-fallback 'journey.studio.formatSquare30': 'مربع 30 × 30 سم',
'journey.studio.pages': 'الصفحات', 'journey.studio.pages': 'الصفحات',
'journey.studio.cover': 'Cover', // en-fallback 'journey.studio.cover': 'الغلاف',
'journey.studio.inspectorEmpty': 'Select something on the page to edit it.', // en-fallback 'journey.studio.inspectorEmpty': 'حدّد عنصرًا في الصفحة لتعديله.',
'journey.studio.autoLayout': 'Auto layout', // en-fallback 'journey.studio.autoLayout': 'تخطيط تلقائي',
'journey.studio.export': 'Export', // en-fallback 'journey.studio.export': 'تصدير',
'journey.studio.day': 'اليوم {day}', 'journey.studio.day': 'اليوم {day}',
'journey.studio.stations': 'المحطات', 'journey.studio.stations': 'المحطات',
'journey.studio.peersHere': 'هنا', 'journey.studio.peersHere': 'هنا',
@@ -347,97 +347,97 @@ const journey: TranslationStrings = {
'journey.studio.exportSheetCount.two': 'ورقتان', 'journey.studio.exportSheetCount.two': 'ورقتان',
'journey.studio.exportSheetCount.few': '{count} أوراق', 'journey.studio.exportSheetCount.few': '{count} أوراق',
'journey.studio.exportSheetCount.many': '{count} ورقة', 'journey.studio.exportSheetCount.many': '{count} ورقة',
'journey.studio.undo': 'Undo', // en-fallback 'journey.studio.undo': 'تراجع',
'journey.studio.redo': 'Redo', // en-fallback 'journey.studio.redo': 'إعادة',
'journey.studio.zoomIn': 'Zoom in', // en-fallback 'journey.studio.zoomIn': 'تكبير',
'journey.studio.zoomOut': 'Zoom out', // en-fallback 'journey.studio.zoomOut': 'تصغير',
'journey.studio.zoomFit': 'Fit to view', // en-fallback 'journey.studio.zoomFit': 'ملاءمة العرض',
'journey.studio.downloadSpread': 'تنزيل هذه الصفحة المزدوجة', 'journey.studio.downloadSpread': 'تنزيل هذه الصفحة المزدوجة',
'journey.studio.downloadSpreadHint': 'يحفظ تصميم هذه الصفحة كملف، بدون الصور، لمشاركته أو إعادة استخدامه', 'journey.studio.downloadSpreadHint': 'يحفظ تصميم هذه الصفحة كملف، بدون الصور، لمشاركته أو إعادة استخدامه',
'journey.studio.importSpread': 'استيراد', 'journey.studio.importSpread': 'استيراد',
'journey.studio.importSpreadHint': 'إضافة صفحة مزدوجة من ملف تصميم منزّل', 'journey.studio.importSpreadHint': 'إضافة صفحة مزدوجة من ملف تصميم منزّل',
'journey.studio.importSpreadFailed': 'هذا الملف ليس صفحة من TREK Studio', 'journey.studio.importSpreadFailed': 'هذا الملف ليس صفحة من TREK Studio',
'journey.studio.desktopOnly': 'Studio needs a bigger screen', // en-fallback 'journey.studio.desktopOnly': 'يحتاج الاستوديو إلى شاشة أكبر',
'journey.studio.desktopOnlyHint': 'journey.studio.desktopOnlyHint':
'تصميم كتاب يحتاج مساحة للعمل، لذلك يعمل الاستوديو على سطح المكتب فقط، وكذلك إنشاء ملف PDF. كل شيء آخر في رحلتك يعمل هنا كالمعتاد.', // en-fallback 'تصميم كتاب يحتاج مساحة للعمل، لذلك يعمل الاستوديو على سطح المكتب فقط، وكذلك إنشاء ملف PDF. كل شيء آخر في يومياتك يعمل هنا كالمعتاد.',
'journey.studio.formatA5Landscape': 'A5 landscape', // en-fallback 'journey.studio.formatA5Landscape': 'A5 أفقي',
'journey.studio.bookView': 'Book view', // en-fallback 'journey.studio.bookView': 'عرض الكتاب',
'journey.studio.multiple': 'Several', // en-fallback 'journey.studio.multiple': 'عدة عناصر',
'journey.studio.kind.photo': 'Photo', // en-fallback 'journey.studio.kind.photo': 'صورة',
'journey.studio.kind.text': 'Text', // en-fallback 'journey.studio.kind.text': 'نص',
'journey.studio.kind.shape': 'Shape', // en-fallback 'journey.studio.kind.shape': 'شكل',
'journey.studio.position': 'Position', // en-fallback 'journey.studio.position': 'الموضع',
'journey.studio.width': 'W', // en-fallback 'journey.studio.width': 'العرض',
'journey.studio.height': 'H', // en-fallback 'journey.studio.height': 'الارتفاع',
'journey.studio.text': 'النص', 'journey.studio.text': 'النص',
'journey.studio.typography': 'Type', // en-fallback 'journey.studio.typography': 'الخط',
'journey.studio.leading': 'Line', // en-fallback 'journey.studio.leading': 'التباعد',
'journey.studio.colour': 'Colour', // en-fallback 'journey.studio.colour': 'اللون',
'journey.studio.autoColour': 'تلقائي', 'journey.studio.autoColour': 'تلقائي',
'journey.studio.countryNames': 'الأسماء', 'journey.studio.countryNames': 'الأسماء',
'journey.studio.crop': 'Crop', // en-fallback 'journey.studio.crop': 'اقتصاص',
'journey.studio.look': 'Look', // en-fallback 'journey.studio.look': 'المظهر',
'journey.studio.radius': 'Corner', // en-fallback 'journey.studio.radius': 'الزوايا',
'journey.studio.shape': 'Shape', // en-fallback 'journey.studio.shape': 'الشكل',
'journey.studio.arrange': 'Arrange', // en-fallback 'journey.studio.arrange': 'ترتيب',
'journey.studio.toFront': 'Bring to front', // en-fallback 'journey.studio.toFront': 'إحضار إلى الأمام',
'journey.studio.forward': 'Bring forward', // en-fallback 'journey.studio.forward': 'تقديم خطوة',
'journey.studio.backward': 'Send backward', // en-fallback 'journey.studio.backward': 'إرجاع خطوة',
'journey.studio.toBack': 'Send to back', // en-fallback 'journey.studio.toBack': 'إرسال إلى الخلف',
'journey.studio.lock': 'Lock', // en-fallback 'journey.studio.lock': 'قفل',
'journey.studio.unlock': 'Unlock', // en-fallback 'journey.studio.unlock': 'إلغاء القفل',
'journey.studio.delete': 'Delete', // en-fallback 'journey.studio.delete': 'حذف',
'journey.studio.pageHint': 'Page', // en-fallback 'journey.studio.pageHint': 'الصفحة',
'journey.studio.boundHint': 'Follows the journal entry. Editing it here breaks that link.', // en-fallback 'journey.studio.boundHint': 'يتبع التدوينة. تعديله هنا يقطع هذا الارتباط.',
'journey.studio.fit.cover': 'Fill', // en-fallback 'journey.studio.fit.cover': 'ملء',
'journey.studio.fit.contain': 'Fit', // en-fallback 'journey.studio.fit.contain': 'احتواء',
'journey.studio.filter.none': 'Original', // en-fallback 'journey.studio.filter.none': 'الأصلية',
'journey.studio.filter.bw': 'Black & white', // en-fallback 'journey.studio.filter.bw': 'أبيض وأسود',
'journey.studio.filter.warm': 'Warm', // en-fallback 'journey.studio.filter.warm': 'دافئة',
'journey.studio.shapeKind.rect': 'Rectangle', // en-fallback 'journey.studio.shapeKind.rect': 'مستطيل',
'journey.studio.shapeKind.ellipse': 'Ellipse', // en-fallback 'journey.studio.shapeKind.ellipse': 'بيضاوي',
'journey.studio.focalHint': 'Drag the point to choose what stays in frame.', // en-fallback 'journey.studio.focalHint': 'اسحب النقطة لاختيار ما يبقى داخل الإطار.',
'journey.studio.backCover': 'Back cover', // en-fallback 'journey.studio.backCover': 'الغلاف الخلفي',
'journey.studio.sections': 'Sections', // en-fallback 'journey.studio.sections': 'الأقسام',
'journey.studio.content': 'المحتوى', 'journey.studio.content': 'المحتوى',
'journey.studio.elements': 'العناصر', 'journey.studio.elements': 'العناصر',
'journey.studio.templates': 'التخطيطات', 'journey.studio.templates': 'التخطيطات',
'journey.studio.photos': 'الصور', 'journey.studio.photos': 'الصور',
'journey.studio.entries': 'المدخلات', 'journey.studio.entries': 'المدخلات',
'journey.studio.addToPage': 'Add to this page', // en-fallback 'journey.studio.addToPage': 'إضافة إلى هذه الصفحة',
'journey.studio.noPhotos': 'This journey has no photos yet.', // en-fallback 'journey.studio.noPhotos': 'لا توجد صور في هذه اليوميات بعد.',
'journey.studio.untitled': 'Untitled', // en-fallback 'journey.studio.untitled': 'بدون عنوان',
'journey.studio.addTitle': 'Title', // en-fallback 'journey.studio.addTitle': 'عنوان',
'journey.studio.addStory': 'Story', // en-fallback 'journey.studio.addStory': 'قصة',
'journey.studio.addPlace': 'Place', // en-fallback 'journey.studio.addPlace': 'مكان',
'journey.studio.shapes': 'الأشكال', 'journey.studio.shapes': 'الأشكال',
'journey.studio.frames': 'إطارات', 'journey.studio.frames': 'إطارات',
'journey.studio.emptyFrame': 'Empty frame', // en-fallback 'journey.studio.emptyFrame': 'إطار فارغ',
'journey.studio.frameHint': 'An empty frame marks where a picture goes. Drop one on it from Content.', // en-fallback 'journey.studio.frameHint': 'الإطار الفارغ يحدد مكان الصورة. أفلت صورة عليه من المحتوى.',
'journey.studio.shapeKind.line': 'Line', // en-fallback 'journey.studio.shapeKind.line': 'خط',
'journey.studio.styleTitle': 'Heading', // en-fallback 'journey.studio.styleTitle': 'عنوان رئيسي',
'journey.studio.styleSubtitle': 'Subheading', // en-fallback 'journey.studio.styleSubtitle': 'عنوان فرعي',
'journey.studio.styleBody': 'Body text', // en-fallback 'journey.studio.styleBody': 'نص أساسي',
'journey.studio.styleCaption': 'Caption', // en-fallback 'journey.studio.styleCaption': 'تعليق',
'journey.studio.sampleHeading': 'A heading', // en-fallback 'journey.studio.sampleHeading': 'عنوان رئيسي',
'journey.studio.sampleSubheading': 'A subheading', // en-fallback 'journey.studio.sampleSubheading': 'عنوان فرعي',
'journey.studio.sampleBody': 'Write something about this day.', // en-fallback 'journey.studio.sampleBody': 'اكتب شيئًا عن هذا اليوم.',
'journey.studio.sampleCaption': 'Caption', // en-fallback 'journey.studio.sampleCaption': 'تعليق',
'journey.studio.tpl.heroStory': 'Hero and story', // en-fallback 'journey.studio.tpl.heroStory': 'صورة كبيرة وقصة',
'journey.studio.tpl.fullBleed': 'One picture, full spread', // en-fallback 'journey.studio.tpl.fullBleed': 'صورة واحدة بعرض الصفحتين',
'journey.studio.tpl.twoUp': 'Two full pages', // en-fallback 'journey.studio.tpl.twoUp': 'صفحتان كاملتان',
'journey.studio.tpl.grid4': 'Four up', // en-fallback 'journey.studio.tpl.grid4': 'أربع صور',
'journey.studio.tpl.grid6': 'Six up', // en-fallback 'journey.studio.tpl.grid6': 'ست صور',
'journey.studio.tpl.strip': 'Strip and text', // en-fallback 'journey.studio.tpl.strip': 'شريط ونص',
'journey.studio.tpl.quietText': 'Text only', // en-fallback 'journey.studio.tpl.quietText': 'نص فقط',
'journey.studio.tpl.portraitPair': 'A pair', // en-fallback 'journey.studio.tpl.portraitPair': 'زوج من الصور',
'journey.studio.dropPhotoHere': 'اسحب صورتك\nوأفلتها هنا', 'journey.studio.dropPhotoHere': 'اسحب صورتك\nوأفلتها هنا',
'journey.studio.searchContent': 'Search photos and entries', // en-fallback 'journey.studio.searchContent': 'ابحث في الصور والتدوينات',
'journey.studio.noMatches': 'Nothing matches that.', // en-fallback 'journey.studio.noMatches': 'لا توجد نتائج مطابقة.',
'journey.studio.quoteMark': 'علامة اقتباس', 'journey.studio.quoteMark': 'علامة اقتباس',
'journey.studio.shapeKind.rounded': 'Rounded rectangle', // en-fallback 'journey.studio.shapeKind.rounded': 'مستطيل بزوايا مستديرة',
'journey.studio.shapeKind.triangle': 'Triangle', // en-fallback 'journey.studio.shapeKind.triangle': 'مثلث',
'journey.studio.shapeKind.outline': 'Outline only', // en-fallback 'journey.studio.shapeKind.outline': 'حدود فقط',
'journey.studio.travel': 'الرحلة', 'journey.studio.travel': 'الرحلة',
'journey.studio.travelEmpty': 'أرقام هذه الرحلة ليست جاهزة بعد.', 'journey.studio.travelEmpty': 'أرقام هذه الرحلة ليست جاهزة بعد.',
'journey.studio.grids': 'الشبكات', 'journey.studio.grids': 'الشبكات',
@@ -570,8 +570,8 @@ const journey: TranslationStrings = {
'journey.studio.deletePage': 'حذف الصفحة', 'journey.studio.deletePage': 'حذف الصفحة',
'journey.studio.movePageUp': 'نقل للأمام', 'journey.studio.movePageUp': 'نقل للأمام',
'journey.studio.movePageDown': 'نقل للخلف', 'journey.studio.movePageDown': 'نقل للخلف',
'journey.studio.beta': 'Beta', 'journey.studio.beta': 'تجريبي',
'journey.studio.addProsCons': 'Pros & Cons', 'journey.studio.addProsCons': 'الإيجابيات والسلبيات',
'journey.studio.showMarks': 'علامات', 'journey.studio.showMarks': 'علامات',
'journey.studio.formatCustom': 'مقاس مخصص', 'journey.studio.formatCustom': 'مقاس مخصص',
'journey.studio.document': 'المستند', 'journey.studio.document': 'المستند',
+4 -4
View File
@@ -70,12 +70,12 @@ const login: TranslationStrings = {
'login.resetPasswordInvalidLink': 'رابط إعادة تعيين غير صالح', 'login.resetPasswordInvalidLink': 'رابط إعادة تعيين غير صالح',
'login.resetPasswordInvalidLinkBody': 'هذا الرابط مفقود أو تالف. اطلب رابطًا جديدًا للمتابعة.', 'login.resetPasswordInvalidLinkBody': 'هذا الرابط مفقود أو تالف. اطلب رابطًا جديدًا للمتابعة.',
'login.resetPasswordFailed': 'فشلت إعادة التعيين. ربما انتهت صلاحية الرابط.', 'login.resetPasswordFailed': 'فشلت إعادة التعيين. ربما انتهت صلاحية الرابط.',
'login.emailPlaceholder': 'your@email.com', // en-fallback 'login.emailPlaceholder': 'your@email.com',
'login.passkey.signIn': 'تسجيل الدخول باستخدام مفتاح المرور', 'login.passkey.signIn': 'تسجيل الدخول باستخدام مفتاح المرور',
'login.passkey.failed': 'فشل تسجيل الدخول بمفتاح المرور. يرجى المحاولة مرة أخرى.', 'login.passkey.failed': 'فشل تسجيل الدخول بمفتاح المرور. يرجى المحاولة مرة أخرى.',
'login.insecureCookie.title': "Login won't stick over HTTP", 'login.insecureCookie.title': 'لن يستمر تسجيل الدخول عبر HTTP',
'login.insecureCookie.body': 'login.insecureCookie.body':
'You’re connecting over plain HTTP, so your browser drops TREK’s secure session cookie — the next request fails with "Access token required". Fix: use HTTPS, or for a home-lab set COOKIE_SECURE=false.', 'أنت تتصل عبر HTTP العادي، لذلك يتجاهل المتصفح ملف تعريف الارتباط الآمن للجلسة في TREK، وسيفشل الطلب التالي مع الرسالة "Access token required". الحل: استخدم HTTPS، أو اضبط COOKIE_SECURE=false في المختبر المنزلي.',
'login.insecureCookie.link': 'Open the Troubleshooting guide', 'login.insecureCookie.link': 'افتح دليل استكشاف الأخطاء',
}; };
export default login; export default login;
+1 -1
View File
@@ -14,6 +14,6 @@ const nav: TranslationStrings = {
'nav.bottomAdmin': 'إعدادات المسؤول', 'nav.bottomAdmin': 'إعدادات المسؤول',
'nav.bottomLogout': 'تسجيل الخروج', 'nav.bottomLogout': 'تسجيل الخروج',
'nav.bottomAdminBadge': 'مسؤول', 'nav.bottomAdminBadge': 'مسؤول',
'nav.help': 'Help', 'nav.help': 'المساعدة',
}; };
export default nav; export default nav;
+19 -19
View File
@@ -72,32 +72,32 @@ const oauth: TranslationStrings = {
'oauth.scope.journey:write.description': 'إنشاء مذكرات السفر وتحديثها وحذفها وإدخالاتها', 'oauth.scope.journey:write.description': 'إنشاء مذكرات السفر وتحديثها وحذفها وإدخالاتها',
'oauth.scope.journey:share.label': 'إدارة روابط مذكرات السفر', 'oauth.scope.journey:share.label': 'إدارة روابط مذكرات السفر',
'oauth.scope.journey:share.description': 'إنشاء روابط مشاركة عامة لمذكرات السفر وتحديثها وإلغاؤها', 'oauth.scope.journey:share.description': 'إنشاء روابط مشاركة عامة لمذكرات السفر وتحديثها وإلغاؤها',
'oauth.scope.group.atlas': 'Atlas', // en-fallback 'oauth.scope.group.atlas': 'Atlas',
'oauth.scope.group.geo': 'Geo', // en-fallback 'oauth.scope.group.geo': 'الموقع الجغرافي',
'oauth.authorize.authorizing': 'Authorizing…', // en-fallback 'oauth.authorize.authorizing': 'جارٍ التفويض…',
'oauth.authorize.loading': 'Loading…', // en-fallback 'oauth.authorize.loading': 'جارٍ التحميل…',
'oauth.authorize.errorTitle': 'Authorization Error', // en-fallback 'oauth.authorize.errorTitle': 'خطأ في التفويض',
'oauth.authorize.loginTitle': 'Sign in to continue', // en-fallback 'oauth.authorize.loginTitle': 'سجّل الدخول للمتابعة',
'oauth.authorize.loginDescription': '{client} wants access to your TREK account. Please sign in first.', // en-fallback 'oauth.authorize.loginDescription': 'يريد {client} الوصول إلى حسابك في TREK. يرجى تسجيل الدخول أولًا.',
'oauth.authorize.loginButton': 'Sign in to TREK', // en-fallback 'oauth.authorize.loginButton': 'تسجيل الدخول إلى TREK',
'oauth.authorize.requestLabel': 'Authorization Request', // en-fallback 'oauth.authorize.requestLabel': 'طلب تفويض',
'oauth.authorize.requestDescription': 'This application is requesting access to your TREK account.', // en-fallback 'oauth.authorize.requestDescription': 'يطلب هذا التطبيق الوصول إلى حسابك في TREK.',
'oauth.authorize.verifiedHost': 'نطاق موثَّق: {host}', 'oauth.authorize.verifiedHost': 'نطاق موثَّق: {host}',
'oauth.authorize.trustNote': 'Only grant access to applications you trust. Your data stays on your server.', // en-fallback 'oauth.authorize.trustNote': 'امنح الوصول فقط للتطبيقات التي تثق بها. تبقى بياناتك على خادمك.',
'oauth.authorize.selectScope': 'Select at least one scope', // en-fallback 'oauth.authorize.selectScope': 'اختر نطاق صلاحيات واحدًا على الأقل',
'oauth.authorize.approveScopes': 'موافقة ({count} نطاق)', 'oauth.authorize.approveScopes': 'موافقة ({count} نطاق)',
'oauth.authorize.approveScopes.zero': 'موافقة (بلا نطاقات)', 'oauth.authorize.approveScopes.zero': 'موافقة (بلا نطاقات)',
'oauth.authorize.approveScopes.one': 'موافقة (نطاق واحد)', 'oauth.authorize.approveScopes.one': 'موافقة (نطاق واحد)',
'oauth.authorize.approveScopes.two': 'موافقة (نطاقان)', 'oauth.authorize.approveScopes.two': 'موافقة (نطاقان)',
'oauth.authorize.approveScopes.few': 'موافقة ({count} نطاقات)', 'oauth.authorize.approveScopes.few': 'موافقة ({count} نطاقات)',
'oauth.authorize.approveScopes.many': 'موافقة ({count} نطاقًا)', 'oauth.authorize.approveScopes.many': 'موافقة ({count} نطاقًا)',
'oauth.authorize.approveAccess': 'Approve Access', // en-fallback 'oauth.authorize.approveAccess': 'الموافقة على الوصول',
'oauth.authorize.deny': 'Deny', // en-fallback 'oauth.authorize.deny': 'رفض',
'oauth.authorize.choosePermissions': 'Choose which permissions to grant', // en-fallback 'oauth.authorize.choosePermissions': 'اختر الصلاحيات التي تريد منحها',
'oauth.authorize.permissionsRequested': 'Permissions requested', // en-fallback 'oauth.authorize.permissionsRequested': 'الصلاحيات المطلوبة',
'oauth.authorize.alwaysIncluded': 'Always included', // en-fallback 'oauth.authorize.alwaysIncluded': 'مشمولة دائمًا',
'oauth.authorize.alwaysTool.listTrips': 'List your trips so the AI can discover trip IDs', // en-fallback 'oauth.authorize.alwaysTool.listTrips': 'عرض رحلاتك ليتمكن الذكاء الاصطناعي من معرفة معرّفات الرحلات',
'oauth.authorize.alwaysTool.getTripSummary': 'Read a trip overview needed to use any other tool', // en-fallback 'oauth.authorize.alwaysTool.getTripSummary': 'قراءة نظرة عامة على الرحلة، وهي لازمة لاستخدام أي أداة أخرى',
'oauth.scope.group.files': 'الملفات', 'oauth.scope.group.files': 'الملفات',
'oauth.scope.group.settings': 'الإعدادات', 'oauth.scope.group.settings': 'الإعدادات',
'oauth.scope.files:read.label': 'عرض ملفات الرحلة', 'oauth.scope.files:read.label': 'عرض ملفات الرحلة',
+82 -83
View File
@@ -83,8 +83,9 @@ const settings: TranslationStrings = {
'settings.bookingLabels': 'تسميات مسارات الحجوزات', 'settings.bookingLabels': 'تسميات مسارات الحجوزات',
'settings.bookingLabelsHint': 'عرض أسماء المحطات/المطارات على الخريطة. عند الإيقاف، يتم عرض الرمز فقط.', 'settings.bookingLabelsHint': 'عرض أسماء المحطات/المطارات على الخريطة. عند الإيقاف، يتم عرض الرمز فقط.',
'settings.blurBookingCodes': 'إخفاء رموز الحجز', 'settings.blurBookingCodes': 'إخفاء رموز الحجز',
'settings.aiAlwaysRetry': 'Always retry booking imports with AI', 'settings.aiAlwaysRetry': 'إعادة محاولة استيراد الحجوزات دائمًا بالذكاء الاصطناعي',
'settings.aiAlwaysRetryHint': 'When a file cannot be read by the standard parser, automatically retry it with AI.', 'settings.aiAlwaysRetryHint':
'عندما يتعذّر على المحلّل القياسي قراءة ملف، تتم إعادة المحاولة تلقائيًا بالذكاء الاصطناعي.',
'settings.optimizeFromAccommodation': 'تحسين المسار انطلاقًا من مكان الإقامة', 'settings.optimizeFromAccommodation': 'تحسين المسار انطلاقًا من مكان الإقامة',
'settings.optimizeFromAccommodationHint': 'settings.optimizeFromAccommodationHint':
'عند تحسين يوم ما، يبدأ المسار من الفندق الذي تستيقظ فيه وينتهي عند الفندق الذي تسجّل الوصول إليه في تلك الليلة.', 'عند تحسين يوم ما، يبدأ المسار من الفندق الذي تستيقظ فيه وينتهي عند الفندق الذي تسجّل الوصول إليه في تلك الليلة.',
@@ -220,9 +221,9 @@ const settings: TranslationStrings = {
'settings.about.featureRequestHint': 'اقترح ميزة جديدة', 'settings.about.featureRequestHint': 'اقترح ميزة جديدة',
'settings.about.wikiHint': 'التوثيق والأدلة', 'settings.about.wikiHint': 'التوثيق والأدلة',
'settings.about.descriptionManaged': 'settings.about.descriptionManaged':
'TREK helps you organize your trips from the first idea to the last memory. Day planning, budget, packing lists, photos and much more — all in one place.', 'يساعدك TREK على تنظيم رحلاتك من الفكرة الأولى حتى آخر ذكرى. تخطيط الأيام والميزانية وقوائم الأمتعة والصور وأكثر من ذلك بكثير، كل ذلك في مكان واحد.',
'settings.about.sourceTitle': 'Source code', 'settings.about.sourceTitle': 'الشيفرة المصدرية',
'settings.about.sourceHint': 'TREK is open source, licensed AGPL-3.0', 'settings.about.sourceHint': 'TREK مفتوح المصدر بترخيص AGPL-3.0',
'settings.about.supporters.badge': 'الداعمون الشهريون', 'settings.about.supporters.badge': 'الداعمون الشهريون',
'settings.about.supporters.title': 'رفاق رحلة TREK', 'settings.about.supporters.title': 'رفاق رحلة TREK',
'settings.about.supporters.subtitle': 'settings.about.supporters.subtitle':
@@ -302,10 +303,10 @@ const settings: TranslationStrings = {
'settings.mfa.toastEnabled': 'تم تفعيل المصادقة الثنائية', 'settings.mfa.toastEnabled': 'تم تفعيل المصادقة الثنائية',
'settings.mfa.toastDisabled': 'تم تعطيل المصادقة الثنائية', 'settings.mfa.toastDisabled': 'تم تعطيل المصادقة الثنائية',
'settings.mfa.demoBlocked': 'غير متاح في الوضع التجريبي', 'settings.mfa.demoBlocked': 'غير متاح في الوضع التجريبي',
'settings.tabs.offline': 'Offline', // en-fallback 'settings.tabs.offline': 'دون اتصال',
'settings.notificationPreferences.email': 'Email', // en-fallback 'settings.notificationPreferences.email': 'البريد الإلكتروني',
'settings.notificationPreferences.webhook': 'Webhook', // en-fallback 'settings.notificationPreferences.webhook': 'Webhook',
'settings.notificationPreferences.inapp': 'In-App', // en-fallback 'settings.notificationPreferences.inapp': 'داخل التطبيق',
'settings.notificationPreferences.notConfigured': 'لم يتم الإعداد بعد — قم بإعداده من إعدادات الإضافة', 'settings.notificationPreferences.notConfigured': 'لم يتم الإعداد بعد — قم بإعداده من إعدادات الإضافة',
'settings.notificationPreferences.lockedByAdmin': 'أوقفه المسؤول للجميع', 'settings.notificationPreferences.lockedByAdmin': 'أوقفه المسؤول للجميع',
'settings.plugins.actions': 'الإجراءات', 'settings.plugins.actions': 'الإجراءات',
@@ -315,7 +316,7 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.testSuccess': 'تم إرسال إشعار اختباري.', 'settings.notificationPreferences.testSuccess': 'تم إرسال إشعار اختباري.',
'settings.notificationPreferences.testFailed': 'فشل الاختبار.', 'settings.notificationPreferences.testFailed': 'فشل الاختبار.',
'settings.notificationPreferences.pluginConfigured': 'تم الإعداد. أدر بيانات الاعتماد من صفحة إعدادات الإضافة.', 'settings.notificationPreferences.pluginConfigured': 'تم الإعداد. أدر بيانات الاعتماد من صفحة إعدادات الإضافة.',
'settings.notificationPreferences.ntfy': 'Ntfy', // en-fallback 'settings.notificationPreferences.ntfy': 'Ntfy',
'settings.notificationPreferences.push': 'إشعارات فورية', 'settings.notificationPreferences.push': 'إشعارات فورية',
'settings.webPush.title': 'الإشعارات الفورية على هذا الجهاز', 'settings.webPush.title': 'الإشعارات الفورية على هذا الجهاز',
'settings.webPush.hint': 'settings.webPush.hint':
@@ -328,15 +329,15 @@ const settings: TranslationStrings = {
'settings.webPush.iosInstall': 'على iPhone وiPad، أضف TREK أولًا إلى الشاشة الرئيسية ثم افتحه من هناك.', 'settings.webPush.iosInstall': 'على iPhone وiPad، أضف TREK أولًا إلى الشاشة الرئيسية ثم افتحه من هناك.',
'settings.webPush.denied': 'الإشعارات محظورة لـ TREK في هذا المتصفح. اسمح بها في إعدادات المتصفح، ثم حاول مرة أخرى.', 'settings.webPush.denied': 'الإشعارات محظورة لـ TREK في هذا المتصفح. اسمح بها في إعدادات المتصفح، ثم حاول مرة أخرى.',
'settings.webPush.failed': 'تعذّر تشغيل الإشعارات الفورية على هذا الجهاز.', 'settings.webPush.failed': 'تعذّر تشغيل الإشعارات الفورية على هذا الجهاز.',
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...', // en-fallback 'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', // en-fallback 'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts',
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh', // en-fallback 'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth', // en-fallback 'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth', // en-fallback
'settings.about.supporter.tier.noReturnTicket': 'No Return Ticket', // en-fallback 'settings.about.supporter.tier.noReturnTicket': 'بلا تذكرة عودة',
'settings.about.supporter.tier.lostLuggageVip': 'Lost Luggage VIP', // en-fallback 'settings.about.supporter.tier.lostLuggageVip': 'VIP الحقائب المفقودة',
'settings.about.supporter.tier.businessClassDreamer': 'Business Class Dreamer', // en-fallback 'settings.about.supporter.tier.businessClassDreamer': 'حالم بدرجة رجال الأعمال',
'settings.about.supporter.tier.budgetTraveller': 'Budget Traveller', // en-fallback 'settings.about.supporter.tier.budgetTraveller': 'مسافر اقتصادي',
'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate', // en-fallback 'settings.about.supporter.tier.hostelBunkmate': 'رفيق سرير الهوستل',
'settings.currency': 'عملة العرض', 'settings.currency': 'عملة العرض',
'settings.currencyHint': 'تُعرض المبالغ في التكاليف محوّلة إلى هذه العملة للعرض فقط؛ تبقى المبالغ الأصلية دون تغيير.', 'settings.currencyHint': 'تُعرض المبالغ في التكاليف محوّلة إلى هذه العملة للعرض فقط؛ تبقى المبالغ الأصلية دون تغيير.',
'settings.currencyTrip': 'عملة الرحلة', 'settings.currencyTrip': 'عملة الرحلة',
@@ -411,70 +412,68 @@ const settings: TranslationStrings = {
'settings.aiParsing.multimodalHint': 'فعّله لنموذج يقرأ الصور، ليمكن استيراد صورة أو مسحها.', 'settings.aiParsing.multimodalHint': 'فعّله لنموذج يقرأ الصور، ليمكن استيراد صورة أو مسحها.',
'settings.aiParsing.toast.saved': 'تم حفظ إعدادات الذكاء الاصطناعي', 'settings.aiParsing.toast.saved': 'تم حفظ إعدادات الذكاء الاصطناعي',
'settings.aiParsing.toast.saveError': 'تعذّر حفظ إعدادات الذكاء الاصطناعي', 'settings.aiParsing.toast.saveError': 'تعذّر حفظ إعدادات الذكاء الاصطناعي',
'settings.tabs.appearance': 'Appearance', 'settings.tabs.appearance': 'المظهر',
'settings.appearance.theme': 'Theme', 'settings.appearance.theme': 'السمة',
'settings.appearance.scheme': 'Color scheme', 'settings.appearance.scheme': 'نظام الألوان',
'settings.appearance.scheme.default': 'Default', 'settings.appearance.scheme.default': 'افتراضي',
'settings.appearance.scheme.highContrast': 'High contrast', 'settings.appearance.scheme.highContrast': 'تباين عالٍ',
'settings.appearance.scheme.indigo': 'Indigo', 'settings.appearance.scheme.indigo': 'نيلي',
'settings.appearance.scheme.teal': 'Teal', 'settings.appearance.scheme.teal': 'أزرق مخضر',
'settings.appearance.scheme.rose': 'Rose', 'settings.appearance.scheme.rose': 'وردي',
'settings.appearance.scheme.amber': 'Amber', 'settings.appearance.scheme.amber': 'كهرماني',
'settings.appearance.scheme.violet': 'Violet', 'settings.appearance.scheme.violet': 'بنفسجي',
'settings.appearance.scheme.custom': 'Custom', 'settings.appearance.scheme.custom': 'مخصص',
'settings.appearance.customAccent': 'Custom accent', 'settings.appearance.customAccent': 'لون مميز مخصص',
'settings.appearance.contrastOk': 'Good contrast', 'settings.appearance.contrastOk': 'تباين جيد',
'settings.appearance.contrastLow': 'Low contrast', 'settings.appearance.contrastLow': 'تباين منخفض',
'settings.appearance.readability': 'Readability', 'settings.appearance.readability': 'سهولة القراءة',
'settings.appearance.transparency': 'Transparency', 'settings.appearance.transparency': 'الشفافية',
'settings.appearance.transparencyHint': 'settings.appearance.transparencyHint': 'أسطح زجاجية شبه شفافة. أوقفها للحصول على خلفيات صلبة بتباين أعلى.',
'Glassy translucent surfaces. Turn off for solid, higher-contrast backgrounds.', 'settings.appearance.reduceMotion': 'تقليل الحركة',
'settings.appearance.reduceMotion': 'Reduce motion', 'settings.appearance.reduceMotionHint': 'تقليل الرسوم المتحركة والانتقالات.',
'settings.appearance.reduceMotionHint': 'Minimize animations and transitions.', 'settings.appearance.density': 'الكثافة',
'settings.appearance.density': 'Density', 'settings.appearance.comfortable': 'مريحة',
'settings.appearance.comfortable': 'Comfortable', 'settings.appearance.compact': 'مضغوطة',
'settings.appearance.compact': 'Compact', 'settings.appearance.textSize': 'حجم النص',
'settings.appearance.textSize': 'Text size', 'settings.appearance.advancedTextSizes': 'أحجام نص متقدمة',
'settings.appearance.advancedTextSizes': 'Advanced text sizes', 'settings.appearance.hideAdvanced': 'إخفاء المتقدم',
'settings.appearance.hideAdvanced': 'Hide advanced', 'settings.appearance.tier.title': 'العناوين',
'settings.appearance.tier.title': 'Titles', 'settings.appearance.tier.subtitle': 'العناوين الفرعية',
'settings.appearance.tier.subtitle': 'Subtitles', 'settings.appearance.tier.body': 'النص الأساسي',
'settings.appearance.tier.body': 'Body', 'settings.appearance.tier.caption': 'التعليقات',
'settings.appearance.tier.caption': 'Captions', 'settings.appearance.dashboardWidgets': 'أدوات لوحة التحكم',
'settings.appearance.dashboardWidgets': 'Dashboard widgets', 'settings.appearance.dashboardWidgetsHint': 'أظهر أدوات لوحة التحكم أو أخفِها بشكل مستقل على سطح المكتب والجوال.',
'settings.appearance.dashboardWidgetsHint': 'Show or hide dashboard widgets independently on desktop and mobile.', 'settings.appearance.desktop': 'سطح المكتب',
'settings.appearance.desktop': 'Desktop', 'settings.appearance.mobile': 'الجوال',
'settings.appearance.mobile': 'Mobile', 'settings.appearance.widget.sidebar': 'الشريط الجانبي الأيمن',
'settings.appearance.widget.sidebar': 'Right sidebar', 'settings.appearance.widget.currency': 'العملة',
'settings.appearance.widget.currency': 'Currency',
'settings.appearance.widget.collections': 'المجموعات', 'settings.appearance.widget.collections': 'المجموعات',
'settings.appearance.widget.timezones': 'Timezones', 'settings.appearance.widget.timezones': 'المناطق الزمنية',
'settings.appearance.widget.upcomingReservations': 'Upcoming reservations', 'settings.appearance.widget.upcomingReservations': 'الحجوزات القادمة',
'settings.appearance.widget.atlas': 'Atlas / countries', 'settings.appearance.widget.atlas': 'Atlas / الدول',
'settings.appearance.widget.tripsTotal': 'Trips total', 'settings.appearance.widget.tripsTotal': 'إجمالي الرحلات',
'settings.appearance.widget.daysTraveled': 'Days traveled', 'settings.appearance.widget.daysTraveled': 'أيام السفر',
'settings.appearance.widget.distanceFlown': 'Distance flown', 'settings.appearance.widget.distanceFlown': 'المسافة المقطوعة جوًا',
'settings.appearance.reset': 'Reset to defaults', 'settings.appearance.reset': 'استعادة الإعدادات الافتراضية',
'settings.appearance.group.belowHero': 'Below the hero', 'settings.appearance.group.belowHero': 'أسفل الواجهة الرئيسية',
'settings.appearance.group.bottomOfPage': 'Bottom of page', 'settings.appearance.group.bottomOfPage': 'أسفل الصفحة',
'settings.appearance.sidebarHint': 'The whole right column. Turn off and the dashboard centers.', 'settings.appearance.sidebarHint': 'العمود الأيمن بالكامل. عند إيقافه تتوسط لوحة التحكم.',
'settings.appearance.densityHint': 'settings.appearance.densityHint': 'المضغوطة تقلل المسافات والحشوة لتخطيط أكثر كثافة يتسع لمحتوى أكثر على الشاشة.',
'Compact tightens spacing and padding for a denser layout that fits more on screen.', 'settings.appearance.textSizeAll': 'الكل',
'settings.appearance.textSizeAll': 'Everything', 'settings.appearance.perSize': 'اضبط كل حجم على حدة',
'settings.appearance.perSize': 'Adjust each size separately', 'settings.appearance.size.large': 'كبير',
'settings.appearance.size.large': 'Large', 'settings.appearance.size.medium': 'متوسط',
'settings.appearance.size.medium': 'Medium', 'settings.appearance.size.normal': 'عادي',
'settings.appearance.size.normal': 'Normal', 'settings.appearance.size.small': 'صغير',
'settings.appearance.size.small': 'Small', 'settings.appearance.preview.large': 'عنوان كبير',
'settings.appearance.preview.large': 'Large heading', 'settings.appearance.preview.medium': 'عنوان فرعي متوسط',
'settings.appearance.preview.medium': 'Medium subtitle', 'settings.appearance.preview.normal': 'نص أساسي عادي',
'settings.appearance.preview.normal': 'Normal body text', 'settings.appearance.preview.small': 'تعليق صغير / عنوان',
'settings.appearance.preview.small': 'Small caption / address', 'settings.appearance.example.large': 'العناوين والأرقام الكبيرة',
'settings.appearance.example.large': 'Headings, big numbers', 'settings.appearance.example.medium': 'العناوين الفرعية',
'settings.appearance.example.medium': 'Sub-headings', 'settings.appearance.example.normal': 'أسماء الأماكن والأوصاف',
'settings.appearance.example.normal': 'Place names, descriptions', 'settings.appearance.example.small': 'العناوين والتسميات',
'settings.appearance.example.small': 'Addresses, labels', 'settings.appearance.experimental': 'تجريبي',
'settings.appearance.experimental': 'Experimental',
'settings.appearance.mobileNav': 'شريط التنقّل السفلي', 'settings.appearance.mobileNav': 'شريط التنقّل السفلي',
'settings.appearance.mobileNav.hint': 'settings.appearance.mobileNav.hint':
'اختَر العناصر التي تظهر في الشريط وتلك التي توضَع ضمن «المزيد». تبقى لوحة التحكّم دائماً في المقدّمة.', 'اختَر العناصر التي تظهر في الشريط وتلك التي توضَع ضمن «المزيد». تبقى لوحة التحكّم دائماً في المقدّمة.',
@@ -489,8 +488,8 @@ const settings: TranslationStrings = {
'أعد ترتيب تسلسل قائمة الرحلات والأدوات على لوحة تحكم هاتفك. تبقى الرحلة المميّزة دائمًا في الأعلى.', 'أعد ترتيب تسلسل قائمة الرحلات والأدوات على لوحة تحكم هاتفك. تبقى الرحلة المميّزة دائمًا في الأعلى.',
'settings.appearance.dashOrder.trips': 'الرحلات', 'settings.appearance.dashOrder.trips': 'الرحلات',
'settings.appearance.dashOrder.hidden': 'مخفي', 'settings.appearance.dashOrder.hidden': 'مخفي',
'settings.general.languageRegion': 'Language & region', 'settings.general.languageRegion': 'اللغة والمنطقة',
'settings.general.travelMap': 'Travel & map', 'settings.general.travelMap': 'السفر والخريطة',
'settings.general.startup': 'البدء', 'settings.general.startup': 'البدء',
'settings.dayDateFirst': 'التاريخ أولًا في عناوين الأيام', 'settings.dayDateFirst': 'التاريخ أولًا في عناوين الأيام',
'settings.compactUnplanned': 'علامات مصغّرة للأماكن غير المخطط لها', 'settings.compactUnplanned': 'علامات مصغّرة للأماكن غير المخطط لها',
+1 -1
View File
@@ -6,7 +6,7 @@ const storage: TranslationStrings = {
'storage.field.endpoint': 'عنوان URL لنقطة النهاية', 'storage.field.endpoint': 'عنوان URL لنقطة النهاية',
'storage.help.endpoint': 'storage.help.endpoint':
'عنوان URL الأساسي للخدمة المتوافقة مع S3، مثل https://s3.example.com أو http://127.0.0.1:9000.', 'عنوان URL الأساسي للخدمة المتوافقة مع S3، مثل https://s3.example.com أو http://127.0.0.1:9000.',
'storage.field.bucket': 'Bucket', 'storage.field.bucket': 'الحاوية (Bucket)',
'storage.field.accessKeyId': 'معرّف مفتاح الوصول', 'storage.field.accessKeyId': 'معرّف مفتاح الوصول',
'storage.field.secretAccessKey': 'مفتاح الوصول السري', 'storage.field.secretAccessKey': 'مفتاح الوصول السري',
'storage.field.region': 'المنطقة', 'storage.field.region': 'المنطقة',
+5 -5
View File
@@ -42,17 +42,17 @@ const system_notice: TranslationStrings = {
'system_notice.pager.next': 'الإشعار التالي', 'system_notice.pager.next': 'الإشعار التالي',
'system_notice.pager.goto': 'الانتقال إلى الإشعار {n}', 'system_notice.pager.goto': 'الانتقال إلى الإشعار {n}',
'system_notice.pager.position': 'الإشعار {current} من {total}', 'system_notice.pager.position': 'الإشعار {current} من {total}',
'system_notice.dev_test_modal.title': '[Dev] Test notice', // en-fallback 'system_notice.dev_test_modal.title': '[Dev] إشعار تجريبي',
'system_notice.dev_test_modal.body': 'This is a dev-only test notice.', // en-fallback 'system_notice.dev_test_modal.body': 'هذا إشعار تجريبي للمطورين فقط.',
'system_notice.thank_you_support.title': 'شكرًا لاستخدامك TREK', 'system_notice.thank_you_support.title': 'شكرًا لاستخدامك TREK',
'system_notice.thank_you_support.body': 'system_notice.thank_you_support.body':
'شكرًا سريعًا على تثبيتك TREK — هذا يعني لي الكثير حقًا.\n\nأنا مطوّر منفرد أبني TREK في وقت فراغي. بدأ كأداة صغيرة لرحلاتي الخاصة فحسب، وصدقًا أنا مندهش من الدعم والاهتمام اللذين أبداهما المجتمع منذ ذلك الحين. TREK مصنوع بكثير من الحب من جانبي — ولكن أيضًا بفضل العديد من المساهمين الخارجيين الرائعين الذين ساعدوا في تشكيله.\n\n**TREK مفتوح المصدر ومجاني تمامًا — وسيبقى كذلك إلى الأبد. لا باقات مدفوعة، لا اشتراكات، لا شروط خفية. أعدكم بذلك.**\n\nإذا كان TREK مفيدًا لك وأردت دعم تطويره، فإن فنجان قهوة صغيرًا يساعدني حقًا على مواصلة البناء — لا ضغط على الإطلاق، لكن كل فنجان يبقي الليالي المتأخرة مستمرة.\n\nشكرًا لوجودك هنا.\n\n— Maurice', 'شكرًا سريعًا على تثبيتك TREK — هذا يعني لي الكثير حقًا.\n\nأنا مطوّر منفرد أبني TREK في وقت فراغي. بدأ كأداة صغيرة لرحلاتي الخاصة فحسب، وصدقًا أنا مندهش من الدعم والاهتمام اللذين أبداهما المجتمع منذ ذلك الحين. TREK مصنوع بكثير من الحب من جانبي — ولكن أيضًا بفضل العديد من المساهمين الخارجيين الرائعين الذين ساعدوا في تشكيله.\n\n**TREK مفتوح المصدر ومجاني تمامًا — وسيبقى كذلك إلى الأبد. لا باقات مدفوعة، لا اشتراكات، لا شروط خفية. أعدكم بذلك.**\n\nإذا كان TREK مفيدًا لك وأردت دعم تطويره، فإن فنجان قهوة صغيرًا يساعدني حقًا على مواصلة البناء — لا ضغط على الإطلاق، لكن كل فنجان يبقي الليالي المتأخرة مستمرة.\n\nشكرًا لوجودك هنا.\n\n— Maurice',
'system_notice.thank_you_support.highlight_opensource': 'مفتوح المصدر 100% على GitHub', 'system_notice.thank_you_support.highlight_opensource': 'مفتوح المصدر 100% على GitHub',
'system_notice.thank_you_support.highlight_free': 'مجاني للأبد — لا باقات مدفوعة أبدًا', 'system_notice.thank_you_support.highlight_free': 'مجاني للأبد — لا باقات مدفوعة أبدًا',
'system_notice.thank_you_support.highlight_community': 'مبني بالتعاون مع المجتمع', 'system_notice.thank_you_support.highlight_community': 'مبني بالتعاون مع المجتمع',
'system_notice.thank_you_support.cta_bmc': 'Buy Me a Coffee', 'system_notice.thank_you_support.cta_bmc': 'اشترِ لي قهوة',
'system_notice.thank_you_support.cta_kofi': 'ادعمني على Ko-fi', 'system_notice.thank_you_support.cta_kofi': 'ادعمني على Ko-fi',
'system_notice.pager.counter': '{current} / {total}', // en-fallback 'system_notice.pager.counter': '{current} / {total}',
'system_notice.release_notes.eyebrow': 'تم تثبيت التحديث', 'system_notice.release_notes.eyebrow': 'تم تثبيت التحديث',
'system_notice.release_notes.headline': 'أربعة أشياء يقوم بها TREK الآن بنفسه.', 'system_notice.release_notes.headline': 'أربعة أشياء يقوم بها TREK الآن بنفسه.',
'system_notice.release_notes.intro': 'system_notice.release_notes.intro':
@@ -84,7 +84,7 @@ const system_notice: TranslationStrings = {
'صحيح أن TREK مجاني وسيبقى كذلك دائمًا، لكن الخوادم والنطاقات والكثير من الليالي المتأخرة ليست مجانية.', 'صحيح أن TREK مجاني وسيبقى كذلك دائمًا، لكن الخوادم والنطاقات والكثير من الليالي المتأخرة ليست مجانية.',
'system_notice.release_notes.support_text': 'system_notice.release_notes.support_text':
'إن كان TREK قد استحق مكانًا في رحلاتك، فاشترِ لي فنجان قهوة وساعد في أن يرى الإصدار القادم النور.', 'إن كان TREK قد استحق مكانًا في رحلاتك، فاشترِ لي فنجان قهوة وساعد في أن يرى الإصدار القادم النور.',
'system_notice.release_notes.cta_bmc': 'Buy me a coffee', 'system_notice.release_notes.cta_bmc': 'اشترِ لي قهوة',
'system_notice.release_notes.cta_kofi': 'ادعمني على Ko-fi', 'system_notice.release_notes.cta_kofi': 'ادعمني على Ko-fi',
'system_notice.release_notes.feature_docsync_title': 'مزامنة المستندات', 'system_notice.release_notes.feature_docsync_title': 'مزامنة المستندات',
'system_notice.release_notes.feature_docsync_body': 'system_notice.release_notes.feature_docsync_body':
+1 -1
View File
@@ -10,7 +10,7 @@ const undo: TranslationStrings = {
'undo.optimize': 'تم تحسين المسار', 'undo.optimize': 'تم تحسين المسار',
'undo.deletePlace': 'تم حذف المكان', 'undo.deletePlace': 'تم حذف المكان',
'undo.deletePlaces': 'تم حذف الأماكن', 'undo.deletePlaces': 'تم حذف الأماكن',
'undo.changeCategory': 'Category changed', 'undo.changeCategory': 'تم تغيير الفئة',
'undo.moveDay': 'تم نقل المكان إلى يوم آخر', 'undo.moveDay': 'تم نقل المكان إلى يوم آخر',
'undo.lock': 'تم تبديل قفل المكان', 'undo.lock': 'تم تبديل قفل المكان',
'undo.importGpx': 'استيراد GPX', 'undo.importGpx': 'استيراد GPX',
+5 -5
View File
@@ -70,14 +70,14 @@ const vacay: TranslationStrings = {
'vacay.sat': 'السبت', 'vacay.sat': 'السبت',
'vacay.sun': 'الأحد', 'vacay.sun': 'الأحد',
'vacay.publicHolidays': 'العطل الرسمية', 'vacay.publicHolidays': 'العطل الرسمية',
'vacay.schoolHolidays': 'School Holidays', 'vacay.schoolHolidays': 'العطل المدرسية',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer', 'vacay.schoolHolidaysHint': 'تمييز العطل المدرسية كطبقة مرئية في التقويم',
'vacay.selectCountry': 'اختر الدولة', 'vacay.selectCountry': 'اختر الدولة',
'vacay.selectRegion': 'اختر المنطقة (مطلوب)', 'vacay.selectRegion': 'اختر المنطقة (مطلوب)',
'vacay.addCalendar': 'إضافة تقويم', 'vacay.addCalendar': 'إضافة تقويم',
'vacay.calendarLabel': 'التسمية', 'vacay.calendarLabel': 'التسمية',
'vacay.calendarColor': 'اللون', 'vacay.calendarColor': 'اللون',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet', 'vacay.noSchoolCalendars': 'لم تتم إضافة تقاويم عطل مدرسية بعد',
'vacay.companyHolidays': 'عطل الشركة', 'vacay.companyHolidays': 'عطل الشركة',
'vacay.companyHolidaysHint': 'السماح بوضع علامة على أيام عطلات الشركة', 'vacay.companyHolidaysHint': 'السماح بوضع علامة على أيام عطلات الشركة',
'vacay.companyHolidaysNoDeduct': 'لا تُخصم عطل الشركة من أيام الإجازة.', 'vacay.companyHolidaysNoDeduct': 'لا تُخصم عطل الشركة من أيام الإجازة.',
@@ -148,7 +148,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'إخفاء من التقويم', 'vacay.hideFromCalendar': 'إخفاء من التقويم',
'vacay.sharedEmpty': 'اعرضا تقويميكما لبعضكما البعض دون دمجهما.', 'vacay.sharedEmpty': 'اعرضا تقويميكما لبعضكما البعض دون دمجهما.',
'vacay.sharedLegend': 'مشترك (عرض فقط)', 'vacay.sharedLegend': 'مشترك (عرض فقط)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar', 'vacay.publicHolidaysHint': 'تمييز العطل الرسمية في التقويم',
'vacay.noCalendars': 'No holiday calendars added yet', 'vacay.noCalendars': 'لم تتم إضافة تقاويم عطل بعد',
}; };
export default vacay; export default vacay;
+4 -4
View File
@@ -41,7 +41,7 @@ const admin: TranslationStrings = {
'İstifadəçi ntfy bildirişləri üçün standart server kimi də istifadə edilir. Standart olaraq ntfy.sh istifadə etmək üçün boş saxlayın. İstifadəçilər bunu öz tənzimləmələrində dəyişə bilərlər.', 'İstifadəçi ntfy bildirişləri üçün standart server kimi də istifadə edilir. Standart olaraq ntfy.sh istifadə etmək üçün boş saxlayın. İstifadəçilər bunu öz tənzimləmələrində dəyişə bilərlər.',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh', 'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': 'Administrator mövzusu', 'admin.notifications.adminNtfyPanel.topicLabel': 'Administrator mövzusu',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', 'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', // same-as-en
'admin.notifications.adminNtfyPanel.tokenLabel': 'Giriş tokeni (istəyə bağlı)', 'admin.notifications.adminNtfyPanel.tokenLabel': 'Giriş tokeni (istəyə bağlı)',
'admin.notifications.adminNtfyPanel.tokenCleared': 'Administrator giriş tokeni təmizləndi', 'admin.notifications.adminNtfyPanel.tokenCleared': 'Administrator giriş tokeni təmizləndi',
'admin.notifications.adminNtfyPanel.saved': 'Administrator ntfy tənzimləmələri yadda saxlanıldı', 'admin.notifications.adminNtfyPanel.saved': 'Administrator ntfy tənzimləmələri yadda saxlanıldı',
@@ -77,7 +77,7 @@ const admin: TranslationStrings = {
'admin.tabs.categories': 'Kateqoriyalar', 'admin.tabs.categories': 'Kateqoriyalar',
'admin.tabs.backup': 'Ehtiyat nüsxə', 'admin.tabs.backup': 'Ehtiyat nüsxə',
'admin.tabs.notifications': 'Bildirişlər', 'admin.tabs.notifications': 'Bildirişlər',
'admin.tabs.audit': 'Audit', 'admin.tabs.audit': 'Audit', // same-as-en
'admin.stats.users': 'İstifadəçi', 'admin.stats.users': 'İstifadəçi',
'admin.stats.users.one': 'İstifadəçi', 'admin.stats.users.one': 'İstifadəçi',
'admin.stats.trips': 'Səyahət', 'admin.stats.trips': 'Səyahət',
@@ -191,7 +191,7 @@ const admin: TranslationStrings = {
'TREK-in öz indeksi və OpenStreetMap hər axtarışa cavab verir. Onlar heç nə tapmadıqda başqa kimə sorğu göndəriləcəyini bu seçim müəyyən edir: Avtomatik rejim açar mövcud olduqda əvvəlcə Google-a, sonra Amap-a üstünlük verir.', 'TREK-in öz indeksi və OpenStreetMap hər axtarışa cavab verir. Onlar heç nə tapmadıqda başqa kimə sorğu göndəriləcəyini bu seçim müəyyən edir: Avtomatik rejim açar mövcud olduqda əvvəlcə Google-a, sonra Amap-a üstünlük verir.',
'admin.placesProvider.auto': 'Avtomatik', 'admin.placesProvider.auto': 'Avtomatik',
'admin.placesProvider.google': 'Google Places', 'admin.placesProvider.google': 'Google Places',
'admin.placesProvider.amap': 'Amap (高德地图)', 'admin.placesProvider.amap': 'Amap (高德地图)', // same-as-en
'admin.placesProvider.openstreetmap': 'OpenStreetMap', 'admin.placesProvider.openstreetmap': 'OpenStreetMap',
'admin.placesProvider.missingKey': 'admin.placesProvider.missingKey':
'Seçilmiş provayder üçün API açarı konfiqurasiya edilməyib, buna görə məkan axtarışına yalnız TREK indeksi və OpenStreetMap cavab verir.', 'Seçilmiş provayder üçün API açarı konfiqurasiya edilməyib, buna görə məkan axtarışına yalnız TREK indeksi və OpenStreetMap cavab verir.',
@@ -705,7 +705,7 @@ const admin: TranslationStrings = {
'admin.addons.catalog.vacay.description': 'Təqvim görünüşlü şəxsi məzuniyyət planlayıcısı', 'admin.addons.catalog.vacay.description': 'Təqvim görünüşlü şəxsi məzuniyyət planlayıcısı',
'admin.addons.catalog.atlas.name': 'Atlas', 'admin.addons.catalog.atlas.name': 'Atlas',
'admin.addons.catalog.atlas.description': 'Ziyarət edilmiş ölkələr və səyahət statistikası ilə dünya xəritəsi', 'admin.addons.catalog.atlas.description': 'Ziyarət edilmiş ölkələr və səyahət statistikası ilə dünya xəritəsi',
'admin.addons.catalog.collab.name': 'Collab', 'admin.addons.catalog.collab.name': 'Collab', // same-as-en
'admin.addons.catalog.collab.description': 'Birgə planlaşdırma üçün qeydlər, sorğular, çat və təkliflər', 'admin.addons.catalog.collab.description': 'Birgə planlaşdırma üçün qeydlər, sorğular, çat və təkliflər',
'admin.addons.catalog.roadtrip.name': 'Avtomobil səyahəti', 'admin.addons.catalog.roadtrip.name': 'Avtomobil səyahəti',
'admin.addons.catalog.roadtrip.description': 'admin.addons.catalog.roadtrip.description':
+1 -1
View File
@@ -46,7 +46,7 @@ const atlas: TranslationStrings = {
'atlas.cities': 'Şəhər', 'atlas.cities': 'Şəhər',
'atlas.cities.one': 'Şəhər', 'atlas.cities.one': 'Şəhər',
'atlas.regions': 'Region', 'atlas.regions': 'Region',
'atlas.regions.one': 'Region', 'atlas.regions.one': 'Region', // same-as-en
'atlas.noData': 'Hələ səyahət məlumatı yoxdur', 'atlas.noData': 'Hələ səyahət məlumatı yoxdur',
'atlas.noDataHint': 'Dünya xəritənizi görmək üçün səyahət yaradın və məkanlar əlavə edin', 'atlas.noDataHint': 'Dünya xəritənizi görmək üçün səyahət yaradın və məkanlar əlavə edin',
+1 -1
View File
@@ -90,7 +90,7 @@ const budget: TranslationStrings = {
'costs.table.byCategory': 'Kateqoriya', 'costs.table.byCategory': 'Kateqoriya',
'costs.table.byDate': 'Gün', 'costs.table.byDate': 'Gün',
'costs.table.byPayer': 'Ödəyən', 'costs.table.byPayer': 'Ödəyən',
'costs.table.byStatus': 'Status', 'costs.table.byStatus': 'Status', // same-as-en
'costs.table.noPayer': 'Hələ ödəyən yoxdur', 'costs.table.noPayer': 'Hələ ödəyən yoxdur',
'costs.table.paid': 'Ödənilib', 'costs.table.paid': 'Ödənilib',
'costs.table.open': 'Açıq', 'costs.table.open': 'Açıq',
+1 -1
View File
@@ -38,7 +38,7 @@ const dayplan: TranslationStrings = {
'notes.format.italic': 'Maili', 'notes.format.italic': 'Maili',
'notes.format.strike': 'Üstündən xətt çəkilmiş', 'notes.format.strike': 'Üstündən xətt çəkilmiş',
'notes.format.code': 'Kod', 'notes.format.code': 'Kod',
'notes.format.link': 'Link', 'notes.format.link': 'Keçid',
'notes.format.list': 'Markerli siyahı', 'notes.format.list': 'Markerli siyahı',
'notes.format.orderedList': 'Nömrələnmiş siyahı', 'notes.format.orderedList': 'Nömrələnmiş siyahı',
'notes.format.quote': 'Sitat', 'notes.format.quote': 'Sitat',
+3 -3
View File
@@ -971,7 +971,7 @@ const help: TranslationStrings = {
'Əl ilə təyin etdiyiniz status siz dəyişənə qədər qalır, səyahət tarixləri dəyişsə belə.', 'Əl ilə təyin etdiyiniz status siz dəyişənə qədər qalır, səyahət tarixləri dəyişsə belə.',
// ── Screen: journey-studio ───────────────────────────────────────────────── // ── Screen: journey-studio ─────────────────────────────────────────────────
'help.ctx.journey-studio.title': 'Studio', 'help.ctx.journey-studio.title': 'Studio', // same-as-en
'help.ctx.journey-studio.summary': 'help.ctx.journey-studio.summary':
'TREK Studio səyahət gündəliyini çap edilə bilən foto kitab kimi tərtib edir. Studio gündəliyin üzərində açılır: səhifələr siyahısı və məzmun solda, üzərində işlədiyiniz ikiqat səhifə ortada, onun xüsusiyyətləri isə sağdadır. «Avtomatik tərtibat» qeydlərinizdən ilk qaralamanı hazırlayır. Bundan sonra hər şeyin yerini dəyişə, kəsə və üslubunu yeniləyə bilərsiniz, hər addımı da geri almaq olar.', 'TREK Studio səyahət gündəliyini çap edilə bilən foto kitab kimi tərtib edir. Studio gündəliyin üzərində açılır: səhifələr siyahısı və məzmun solda, üzərində işlədiyiniz ikiqat səhifə ortada, onun xüsusiyyətləri isə sağdadır. «Avtomatik tərtibat» qeydlərinizdən ilk qaralamanı hazırlayır. Bundan sonra hər şeyin yerini dəyişə, kəsə və üslubunu yeniləyə bilərsiniz, hər addımı da geri almaq olar.',
'help.ctx.journey-studio.bullet.1': 'help.ctx.journey-studio.bullet.1':
@@ -1531,7 +1531,7 @@ const help: TranslationStrings = {
'«Ehtiyat nüsxəni yüklə» «Bərpa et» ilə eyni sualdan sonra başqa instansiyada və ya əvvəlki gündə yaradılmış fayldan bərpa edir.', '«Ehtiyat nüsxəni yüklə» «Bərpa et» ilə eyni sualdan sonra başqa instansiyada və ya əvvəlki gündə yaradılmış fayldan bərpa edir.',
'help.ctx.admin-backup.bullet.3': 'help.ctx.admin-backup.bullet.3':
'«Avtomatik ehtiyat nüsxələmə»: aktiv və ya deaktiv, «İnterval», «İcra saatı» və gün, həmçinin «Köhnə ehtiyat nüsxələri bu müddətdən sonra sil» (1 gündən «Həmişə saxla»ya qədər); hamısı «Yadda saxla» ilə tətbiq olunur.', '«Avtomatik ehtiyat nüsxələmə»: aktiv və ya deaktiv, «İnterval», «İcra saatı» və gün, həmçinin «Köhnə ehtiyat nüsxələri bu müddətdən sonra sil» (1 gündən «Həmişə saxla»ya qədər); hamısı «Yadda saxla» ilə tətbiq olunur.',
'help.ctx.admin-audit.title': 'Audit', 'help.ctx.admin-audit.title': 'Audit', // same-as-en
'help.ctx.admin-audit.summary': 'help.ctx.admin-audit.summary':
'Təhlükəsizlik və idarəetmə baxımından vacib hadisələrin jurnalı: girişlər və uğursuz cəhdlər, MFA dəyişiklikləri, istifadəçi və tənzimləmə dəyişiklikləri, ehtiyat nüsxələr və bərpalar. Yalnız oxumaq üçündür, ən yenilər yuxarıdadır.', 'Təhlükəsizlik və idarəetmə baxımından vacib hadisələrin jurnalı: girişlər və uğursuz cəhdlər, MFA dəyişiklikləri, istifadəçi və tənzimləmə dəyişiklikləri, ehtiyat nüsxələr və bərpalar. Yalnız oxumaq üçündür, ən yenilər yuxarıdadır.',
'help.ctx.admin-audit.bullet.1': 'help.ctx.admin-audit.bullet.1':
@@ -3856,7 +3856,7 @@ const help: TranslationStrings = {
'help.guide.files-sync.tip.3': 'help.guide.files-sync.tip.3':
'«İndi sinxronlaşdır» yanındakı ikon, «Bağlantını kəs», bir dəfə təsdiq istəyir. Sonra bağlantını bitirir və bütün sənədləri hər iki tərəfdə saxlayır. Etiketi, qovluğu və ya sahəni ikinci dəfə qoşsanız, TREK onu yeni kimi qəbul edir və içindəki hər şeyi yenidən idxal edir. Ona görə bağlantını kəsdikdən sonra köhnəsini yox, boş birini qoşun.', '«İndi sinxronlaşdır» yanındakı ikon, «Bağlantını kəs», bir dəfə təsdiq istəyir. Sonra bağlantını bitirir və bütün sənədləri hər iki tərəfdə saxlayır. Etiketi, qovluğu və ya sahəni ikinci dəfə qoşsanız, TREK onu yeni kimi qəbul edir və içindəki hər şeyi yenidən idxal edir. Ona görə bağlantını kəsdikdən sonra köhnəsini yox, boş birini qoşun.',
// ── Screen: trip-collab ─────────────────────────────────────────────────────────────── // ── Screen: trip-collab ───────────────────────────────────────────────────────────────
'help.ctx.trip-collab.title': 'Collab', 'help.ctx.trip-collab.title': 'Collab', // same-as-en
'help.ctx.trip-collab.summary': 'help.ctx.trip-collab.summary':
'Qrupun birlikdə planlaşdırdığı bölmə beş kartdan ibarətdir: solda çat, yanında «Qeydlər» və «Linklər», onların altında «Sorğular» və «Növbədə nə var». Burada yazılan hər şey səhifəni yeniləmədən dərhal digər üzvlərin ekranında görünür.', 'Qrupun birlikdə planlaşdırdığı bölmə beş kartdan ibarətdir: solda çat, yanında «Qeydlər» və «Linklər», onların altında «Sorğular» və «Növbədə nə var». Burada yazılan hər şey səhifəni yeniləmədən dərhal digər üzvlərin ekranında görünür.',
'help.ctx.trip-collab.bullet.1': 'help.ctx.trip-collab.bullet.1':
+7 -7
View File
@@ -248,7 +248,7 @@ const journey: TranslationStrings = {
'journey.settings.autoPrepare': 'Qeydə alınmış günləri avtomatik hazırla', 'journey.settings.autoPrepare': 'Qeydə alınmış günləri avtomatik hazırla',
'journey.settings.autoPrepareHint': 'journey.settings.autoPrepareHint':
'Bağlı səyahət davam etdikcə Dawarich-dəki dayanacaqların öz günlərində yoxlamanı gözləyir. Öz bağlantısı olan redaktorlar özlərininkini alır. Jurnala heç nə öz-özünə yazılmır.', 'Bağlı səyahət davam etdikcə Dawarich-dəki dayanacaqların öz günlərində yoxlamanı gözləyir. Öz bağlantısı olan redaktorlar özlərininkini alır. Jurnala heç nə öz-özünə yazılmır.',
'journey.settings.status': 'Status', 'journey.settings.status': 'Status', // same-as-en
'journey.settings.statusAuto': 'Avtomatik', 'journey.settings.statusAuto': 'Avtomatik',
'journey.settings.statusAutoHint': 'Bağlı səfərlərin tarixlərinə uyğunlaşır. Səfər olmadan jurnal qaralama qalır.', 'journey.settings.statusAutoHint': 'Bağlı səfərlərin tarixlərinə uyğunlaşır. Səfər olmadan jurnal qaralama qalır.',
'journey.settings.statusManualHint': 'Əllə təyin olunub. Avtomatikə qaytarana qədər səfər tarixləri onu dəyişmir.', 'journey.settings.statusManualHint': 'Əllə təyin olunub. Avtomatikə qaytarana qədər səfər tarixləri onu dəyişmir.',
@@ -308,8 +308,8 @@ const journey: TranslationStrings = {
'journey.picker.selectDate': 'Tarix seç', 'journey.picker.selectDate': 'Tarix seç',
'journey.picker.search': 'Axtar', 'journey.picker.search': 'Axtar',
'journey.studio.title': 'TREK Studio', 'journey.studio.title': 'TREK Studio', // same-as-en
'journey.studio.open': 'Studio', 'journey.studio.open': 'Studio', // same-as-en
'journey.studio.openAria': 'Foto kitab studiyasını aç', 'journey.studio.openAria': 'Foto kitab studiyasını aç',
'journey.studio.backToJourney': 'Səyahət gündəliyinə qayıt', 'journey.studio.backToJourney': 'Səyahət gündəliyinə qayıt',
'journey.studio.format': 'Səhifə formatı', 'journey.studio.format': 'Səhifə formatı',
@@ -459,7 +459,7 @@ const journey: TranslationStrings = {
'journey.studio.polaroidFrame': 'Polaroid', 'journey.studio.polaroidFrame': 'Polaroid',
'journey.studio.whiteFrame': 'Ağ haşiyə', 'journey.studio.whiteFrame': 'Ağ haşiyə',
'journey.studio.shadowFrame': 'Kölgəli', 'journey.studio.shadowFrame': 'Kölgəli',
'journey.studio.filmFrame': 'Film', 'journey.studio.filmFrame': 'Film', // same-as-en
'journey.studio.tapeFrame': 'Lentli', 'journey.studio.tapeFrame': 'Lentli',
'journey.studio.shapeGroup.basic': 'Əsas', 'journey.studio.shapeGroup.basic': 'Əsas',
@@ -473,7 +473,7 @@ const journey: TranslationStrings = {
'journey.studio.summary': 'Xülasə', 'journey.studio.summary': 'Xülasə',
'journey.studio.routeMap': 'Marşrut xəritəsi', 'journey.studio.routeMap': 'Marşrut xəritəsi',
'journey.studio.mapStyle.minimal': 'Minimal', 'journey.studio.mapStyle.minimal': 'Minimal', // same-as-en
'journey.studio.mapStyle.outline': 'Kontur', 'journey.studio.mapStyle.outline': 'Kontur',
'journey.studio.mapStyle.paper': 'Kağız', 'journey.studio.mapStyle.paper': 'Kağız',
'journey.studio.mapStyle.dark': 'Tünd', 'journey.studio.mapStyle.dark': 'Tünd',
@@ -594,7 +594,7 @@ const journey: TranslationStrings = {
'journey.studio.deletePage': 'Açılımı sil', 'journey.studio.deletePage': 'Açılımı sil',
'journey.studio.movePageUp': 'Əvvələ daşı', 'journey.studio.movePageUp': 'Əvvələ daşı',
'journey.studio.movePageDown': 'Sonraya daşı', 'journey.studio.movePageDown': 'Sonraya daşı',
'journey.studio.beta': 'Beta', 'journey.studio.beta': 'Beta', // same-as-en
'journey.studio.addProsCons': 'Müsbət və mənfi cəhətlər', 'journey.studio.addProsCons': 'Müsbət və mənfi cəhətlər',
'journey.studio.showMarks': 'Nişanlar', 'journey.studio.showMarks': 'Nişanlar',
@@ -672,7 +672,7 @@ const journey: TranslationStrings = {
'journey.studio.mapFitStops': 'Dayanacaqlar', 'journey.studio.mapFitStops': 'Dayanacaqlar',
'journey.studio.mapFitCountry': 'Bütün ölkə', 'journey.studio.mapFitCountry': 'Bütün ölkə',
'journey.studio.mapPadTight': 'Dar', 'journey.studio.mapPadTight': 'Dar',
'journey.studio.mapPadNormal': 'Normal', 'journey.studio.mapPadNormal': 'Normal', // same-as-en
'journey.studio.mapPadWide': 'Geniş', 'journey.studio.mapPadWide': 'Geniş',
'journey.studio.mapPadFar': 'Çox geniş', 'journey.studio.mapPadFar': 'Çox geniş',
'journey.studio.mapClipRect': 'Çərçivə daxilində', 'journey.studio.mapClipRect': 'Çərçivə daxilində',
+1 -1
View File
@@ -1,7 +1,7 @@
import type { TranslationStrings } from '../types'; import type { TranslationStrings } from '../types';
const mobileCollections: TranslationStrings = { const mobileCollections: TranslationStrings = {
'mobileCollections.status': 'Status', 'mobileCollections.status': 'Status', // same-as-en
}; };
export default mobileCollections; export default mobileCollections;
+3 -3
View File
@@ -2,18 +2,18 @@ import type { TranslationStrings } from '../types';
const nav: TranslationStrings = { const nav: TranslationStrings = {
'nav.settings': 'Tənzimləmələr', 'nav.settings': 'Tənzimləmələr',
'nav.admin': 'Admin', 'nav.admin': 'Admin', // same-as-en
'nav.logout': 'Çıxış et', 'nav.logout': 'Çıxış et',
'nav.lightMode': 'İşıqlı rejim', 'nav.lightMode': 'İşıqlı rejim',
'nav.darkMode': 'Qaranlıq rejim', 'nav.darkMode': 'Qaranlıq rejim',
'nav.autoMode': 'Avtomatik rejim', 'nav.autoMode': 'Avtomatik rejim',
'nav.administrator': 'Administrator', 'nav.administrator': 'Administrator', // same-as-en
'nav.myTrips': 'Səyahətlərim', 'nav.myTrips': 'Səyahətlərim',
'nav.profile': 'Profil', 'nav.profile': 'Profil',
'nav.bottomSettings': 'Tənzimləmələr', 'nav.bottomSettings': 'Tənzimləmələr',
'nav.bottomAdmin': 'Admin tənzimləmələri', 'nav.bottomAdmin': 'Admin tənzimləmələri',
'nav.bottomLogout': 'Çıxış et', 'nav.bottomLogout': 'Çıxış et',
'nav.bottomAdminBadge': 'Admin', 'nav.bottomAdminBadge': 'Admin', // same-as-en
'nav.help': 'Kömək', 'nav.help': 'Kömək',
}; };
export default nav; export default nav;
+4 -4
View File
@@ -15,7 +15,7 @@ const reservations: TranslationStrings = {
'reservations.showFiles': 'Faylları göstər', 'reservations.showFiles': 'Faylları göstər',
'reservations.editTitle': 'Rezervasiyanı redaktə et', 'reservations.editTitle': 'Rezervasiyanı redaktə et',
'reservations.status': 'Status', 'reservations.status': 'Status', // same-as-en
'reservations.datetime': 'Tarix və vaxt', 'reservations.datetime': 'Tarix və vaxt',
'reservations.startTime': 'Başlanğıc vaxtı', 'reservations.startTime': 'Başlanğıc vaxtı',
'reservations.endTime': 'Bitmə vaxtı', 'reservations.endTime': 'Bitmə vaxtı',
@@ -24,7 +24,7 @@ const reservations: TranslationStrings = {
'reservations.timeAlt': 'Vaxt (alternativ, məsələn, 19:30)', 'reservations.timeAlt': 'Vaxt (alternativ, məsələn, 19:30)',
'reservations.notes': 'Qeydlər', 'reservations.notes': 'Qeydlər',
'reservations.notesPlaceholder': 'Əlavə qeydlər...', 'reservations.notesPlaceholder': 'Əlavə qeydlər...',
'reservations.urlLabel': 'Link', 'reservations.urlLabel': 'Keçid',
'reservations.urlPlaceholder': 'https://...', 'reservations.urlPlaceholder': 'https://...',
'reservations.meta.airline': 'Aviaşirkət', 'reservations.meta.airline': 'Aviaşirkət',
@@ -254,7 +254,7 @@ const reservations: TranslationStrings = {
'reservations.export.notes': 'Qeydlər', 'reservations.export.notes': 'Qeydlər',
'reservations.resetView': 'Görünüşü sıfırla', 'reservations.resetView': 'Görünüşü sıfırla',
'reservations.group.label': 'Qruplaşdır', 'reservations.group.label': 'Qruplaşdır',
'reservations.group.status': 'Status', 'reservations.group.status': 'Status', // same-as-en
'reservations.group.day': 'Gün', 'reservations.group.day': 'Gün',
'reservations.group.type': 'Növ', 'reservations.group.type': 'Növ',
'reservations.group.none': 'Qruplaşdırmadan', 'reservations.group.none': 'Qruplaşdırmadan',
@@ -266,7 +266,7 @@ const reservations: TranslationStrings = {
'reservations.sort.date': 'Tarix', 'reservations.sort.date': 'Tarix',
'reservations.sort.title': 'Başlıq', 'reservations.sort.title': 'Başlıq',
'reservations.sort.type': 'Növ', 'reservations.sort.type': 'Növ',
'reservations.sort.status': 'Status', 'reservations.sort.status': 'Status', // same-as-en
'reservations.sort.earlyFirst': 'Əvvəlcə ən erkən', 'reservations.sort.earlyFirst': 'Əvvəlcə ən erkən',
'reservations.sort.lateFirst': 'Əvvəlcə ən gec', 'reservations.sort.lateFirst': 'Əvvəlcə ən gec',
'reservations.sort.aToZ': 'A-dan Z-yə', 'reservations.sort.aToZ': 'A-dan Z-yə',
+5 -5
View File
@@ -155,7 +155,7 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.pluginConfigured': 'settings.notificationPreferences.pluginConfigured':
'Konfiqurasiya edilib. Giriş məlumatlarını plaginin tənzimləmələr səhifəsindən idarə edin.', 'Konfiqurasiya edilib. Giriş məlumatlarını plaginin tənzimləmələr səhifəsindən idarə edin.',
'settings.notificationPreferences.ntfy': 'Ntfy', 'settings.notificationPreferences.ntfy': 'Ntfy',
'settings.notificationPreferences.push': 'Push', 'settings.notificationPreferences.push': 'Push', // same-as-en
'settings.webPush.title': 'Bu cihazda push bildirişləri', 'settings.webPush.title': 'Bu cihazda push bildirişləri',
'settings.webPush.hint': 'settings.webPush.hint':
'TREK bağlı olanda belə TREK bildirişlərini bu cihazda göstərir. Hansı hadisələrin gəldiyini Push sütunu müəyyən edir.', 'TREK bağlı olanda belə TREK bildirişlərini bu cihazda göstərir. Hansı hadisələrin gəldiyini Push sütunu müəyyən edir.',
@@ -180,7 +180,7 @@ const settings: TranslationStrings = {
'settings.webhookUrl.testFailed': 'Test webhook-u uğursuz oldu', 'settings.webhookUrl.testFailed': 'Test webhook-u uğursuz oldu',
'settings.ntfyUrl.topicLabel': 'Ntfy mövzusu', 'settings.ntfyUrl.topicLabel': 'Ntfy mövzusu',
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', 'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', // same-as-en
'settings.ntfyUrl.serverLabel': 'Ntfy server URL-i (istəyə bağlı)', 'settings.ntfyUrl.serverLabel': 'Ntfy server URL-i (istəyə bağlı)',
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh', 'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
'settings.ntfyUrl.hint': 'settings.ntfyUrl.hint':
@@ -323,7 +323,7 @@ const settings: TranslationStrings = {
'settings.username': 'İstifadəçi adı', 'settings.username': 'İstifadəçi adı',
'settings.email': 'E-poçt', 'settings.email': 'E-poçt',
'settings.role': 'Rol', 'settings.role': 'Rol',
'settings.roleAdmin': 'Administrator', 'settings.roleAdmin': 'Administrator', // same-as-en
'settings.oidcLinked': 'Əlaqələndirilib:', 'settings.oidcLinked': 'Əlaqələndirilib:',
'settings.changePassword': 'Parolu dəyiş', 'settings.changePassword': 'Parolu dəyiş',
'settings.currentPassword': 'Cari parol', 'settings.currentPassword': 'Cari parol',
@@ -461,7 +461,7 @@ const settings: TranslationStrings = {
'settings.aiParsing.providerAnthropic': 'Anthropic', 'settings.aiParsing.providerAnthropic': 'Anthropic',
'settings.aiParsing.localAdminOnly': 'settings.aiParsing.localAdminOnly':
'Lokal Ollama son nöqtəsi administrator tənzimləmələrində bütün instansiya üçün bir dəfə quraşdırılır. Burada öz OpenAI və ya Anthropic açarınızdan istifadə edə bilərsiniz.', 'Lokal Ollama son nöqtəsi administrator tənzimləmələrində bütün instansiya üçün bir dəfə quraşdırılır. Burada öz OpenAI və ya Anthropic açarınızdan istifadə edə bilərsiniz.',
'settings.aiParsing.model': 'Model', 'settings.aiParsing.model': 'Model', // same-as-en
'settings.aiParsing.baseUrl': 'Əsas URL', 'settings.aiParsing.baseUrl': 'Əsas URL',
'settings.aiParsing.baseUrlHint': 'Modelin işlədiyi yer — lokal Ollama serveri və ya OpenAI ilə uyğun son nöqtə.', 'settings.aiParsing.baseUrlHint': 'Modelin işlədiyi yer — lokal Ollama serveri və ya OpenAI ilə uyğun son nöqtə.',
'settings.aiParsing.apiKey': 'API açarı', 'settings.aiParsing.apiKey': 'API açarı',
@@ -526,7 +526,7 @@ const settings: TranslationStrings = {
'settings.appearance.perSize': 'Hər ölçünü ayrıca tənzimlə', 'settings.appearance.perSize': 'Hər ölçünü ayrıca tənzimlə',
'settings.appearance.size.large': 'Böyük', 'settings.appearance.size.large': 'Böyük',
'settings.appearance.size.medium': 'Orta', 'settings.appearance.size.medium': 'Orta',
'settings.appearance.size.normal': 'Normal', 'settings.appearance.size.normal': 'Normal', // same-as-en
'settings.appearance.size.small': 'Kiçik', 'settings.appearance.size.small': 'Kiçik',
'settings.appearance.preview.large': 'Böyük başlıq', 'settings.appearance.preview.large': 'Böyük başlıq',
+1 -1
View File
@@ -8,7 +8,7 @@ const shared: TranslationStrings = {
'Bu, linkin vaxtının bitdiyi anlamına gəlmir. İnternet bağlantınızı yoxlayın və bir azdan yenidən cəhd edin.', 'Bu, linkin vaxtının bitdiyi anlamına gəlmir. İnternet bağlantınızı yoxlayın və bir azdan yenidən cəhd edin.',
'shared.retry': 'Yenidən cəhd et', 'shared.retry': 'Yenidən cəhd et',
'shared.readOnly': 'Yalnız oxuma üçün paylaşılan görünüş', 'shared.readOnly': 'Yalnız oxuma üçün paylaşılan görünüş',
'shared.tabPlan': 'Plan', 'shared.tabPlan': 'Plan', // same-as-en
'shared.tabBookings': 'Rezervasiyalar', 'shared.tabBookings': 'Rezervasiyalar',
'shared.tabPacking': 'Baqaj', 'shared.tabPacking': 'Baqaj',
'shared.tabBudget': 'Xərclər', 'shared.tabBudget': 'Xərclər',
+2 -2
View File
@@ -8,10 +8,10 @@ const storage: TranslationStrings = {
'storage.field.endpoint': 'Son nöqtə URL-si', 'storage.field.endpoint': 'Son nöqtə URL-si',
'storage.help.endpoint': 'storage.help.endpoint':
'S3 uyğun xidmətin əsas URL-si, məsələn, https://s3.example.com və ya http://127.0.0.1:9000.', 'S3 uyğun xidmətin əsas URL-si, məsələn, https://s3.example.com və ya http://127.0.0.1:9000.',
'storage.field.bucket': 'Bucket', 'storage.field.bucket': 'Bucket', // same-as-en
'storage.field.accessKeyId': 'Giriş açarı ID-si', 'storage.field.accessKeyId': 'Giriş açarı ID-si',
'storage.field.secretAccessKey': 'Gizli giriş açarı', 'storage.field.secretAccessKey': 'Gizli giriş açarı',
'storage.field.region': 'Region', 'storage.field.region': 'Region', // same-as-en
'storage.help.region': 'Provayderiniz xüsusi region tələb etmirsə, standart dəyəri saxlayın.', 'storage.help.region': 'Provayderiniz xüsusi region tələb etmirsə, standart dəyəri saxlayın.',
'storage.field.keyPrefix': 'Açar prefiksi', 'storage.field.keyPrefix': 'Açar prefiksi',
'storage.help.keyPrefix': 'Hər obyekt açarına əlavə edilən istəyə bağlı prefiks, məsələn, trek/prod.', 'storage.help.keyPrefix': 'Hər obyekt açarına əlavə edilən istəyə bağlı prefiks, məsələn, trek/prod.',
+1 -1
View File
@@ -59,7 +59,7 @@ const system_notice: TranslationStrings = {
'Öz məkan API-si, başlanğıcdan sona qədər planlaşdırılan avtomobil səyahətləri, məkan tarixçənizin yenidən sizin nəzarətinizdə olması və sənədlərinizin sinxronlaşdırılması.', 'Öz məkan API-si, başlanğıcdan sona qədər planlaşdırılan avtomobil səyahətləri, məkan tarixçənizin yenidən sizin nəzarətinizdə olması və sənədlərinizin sinxronlaşdırılması.',
'system_notice.release_notes.features_label': 'Əsas yeniliklər', 'system_notice.release_notes.features_label': 'Əsas yeniliklər',
'system_notice.release_notes.features_aside': 'Bundan əlavə', 'system_notice.release_notes.features_aside': 'Bundan əlavə',
'system_notice.release_notes.feature_places_title': 'TREK Places API', 'system_notice.release_notes.feature_places_title': 'TREK Places API', // same-as-en
'system_notice.release_notes.feature_places_body': 'system_notice.release_notes.feature_places_body':
'Öz məkan API-sinə malik ilk açıq mənbəli səyahət planlayıcısı. 73,6 milyon məkan, açar və kvota yoxdur.', 'Öz məkan API-sinə malik ilk açıq mənbəli səyahət planlayıcısı. 73,6 milyon məkan, açar və kvota yoxdur.',
'system_notice.release_notes.feature_roadtrip_title': 'Avtomobil səyahəti əlavəsi', 'system_notice.release_notes.feature_roadtrip_title': 'Avtomobil səyahəti əlavəsi',
+2 -2
View File
@@ -1,7 +1,7 @@
import type { TranslationStrings } from '../types'; import type { TranslationStrings } from '../types';
const trip: TranslationStrings = { const trip: TranslationStrings = {
'trip.tabs.plan': 'Plan', 'trip.tabs.plan': 'Plan', // same-as-en
'trip.tabs.transports': 'Nəqliyyat', 'trip.tabs.transports': 'Nəqliyyat',
'trip.tabs.reservations': 'Rezervasiyalar', 'trip.tabs.reservations': 'Rezervasiyalar',
'trip.tabs.reservationsShort': 'Rezervasiya', 'trip.tabs.reservationsShort': 'Rezervasiya',
@@ -18,7 +18,7 @@ const trip: TranslationStrings = {
'trip.loadingSteps.road': 'Yola çıxırıq...', 'trip.loadingSteps.road': 'Yola çıxırıq...',
'trip.loadingSteps.arrive': 'Az qaldı...', 'trip.loadingSteps.arrive': 'Az qaldı...',
'trip.mobilePlan': 'Plan', 'trip.mobilePlan': 'Plan', // same-as-en
'trip.mobilePlaces': 'Məkanlar', 'trip.mobilePlaces': 'Məkanlar',
'trip.panelWidth': 'Panelin eni', 'trip.panelWidth': 'Panelin eni',
+28 -28
View File
@@ -21,7 +21,7 @@ const admin: TranslationStrings = {
'admin.subtitle': 'Gestão de usuários e configurações do sistema', 'admin.subtitle': 'Gestão de usuários e configurações do sistema',
'admin.tabs.users': 'Usuários', 'admin.tabs.users': 'Usuários',
'admin.tabs.categories': 'Categorias', 'admin.tabs.categories': 'Categorias',
'admin.tabs.backup': 'Backup', 'admin.tabs.backup': 'Backup', // same-as-en
'admin.stats.users': 'Usuários', 'admin.stats.users': 'Usuários',
'admin.stats.users.one': 'Usuário', 'admin.stats.users.one': 'Usuário',
'admin.stats.trips': 'Viagens', 'admin.stats.trips': 'Viagens',
@@ -76,18 +76,18 @@ const admin: TranslationStrings = {
'admin.tabs.settings': 'Configurações', 'admin.tabs.settings': 'Configurações',
'admin.allowRegistration': 'Permitir cadastro', 'admin.allowRegistration': 'Permitir cadastro',
'admin.allowRegistrationHint': 'Novos usuários podem se cadastrar sozinhos', 'admin.allowRegistrationHint': 'Novos usuários podem se cadastrar sozinhos',
'admin.authMethods': 'Authentication Methods', 'admin.authMethods': 'Métodos de autenticação',
'admin.passwordLogin': 'Password Login', 'admin.passwordLogin': 'Login com senha',
'admin.passwordLoginHint': 'Allow users to sign in with email and password', 'admin.passwordLoginHint': 'Permitir que os usuários entrem com e-mail e senha',
'admin.passwordRegistration': 'Password Registration', 'admin.passwordRegistration': 'Cadastro com senha',
'admin.passwordRegistrationHint': 'Allow new users to register with email and password', 'admin.passwordRegistrationHint': 'Permitir que novos usuários se cadastrem com e-mail e senha',
'admin.oidcLogin': 'SSO Login', 'admin.oidcLogin': 'Login SSO',
'admin.oidcLoginHint': 'Allow users to sign in with SSO', 'admin.oidcLoginHint': 'Permitir que os usuários entrem com SSO',
'admin.oidcRegistration': 'SSO Auto-Provisioning', 'admin.oidcRegistration': 'SSO Auto-Provisioning',
'admin.oidcRegistrationHint': 'Automatically create accounts for new SSO users', 'admin.oidcRegistrationHint': 'Criar contas automaticamente para novos usuários SSO',
'admin.envOverrideHint': 'admin.envOverrideHint':
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.', 'As configurações de login com senha são controladas pela variável de ambiente OIDC_ONLY e não podem ser alteradas aqui.',
'admin.lockoutWarning': 'At least one login method must remain enabled', 'admin.lockoutWarning': 'Pelo menos um método de login deve permanecer ativado',
'admin.requireMfa': 'Exigir autenticação em dois fatores (2FA)', 'admin.requireMfa': 'Exigir autenticação em dois fatores (2FA)',
'admin.requireMfaHint': 'Usuários sem 2FA precisam concluir a configuração em Configurações antes de usar o app.', 'admin.requireMfaHint': 'Usuários sem 2FA precisam concluir a configuração em Configurações antes de usar o app.',
'admin.apiKeys': 'Chaves de API', 'admin.apiKeys': 'Chaves de API',
@@ -134,7 +134,7 @@ const admin: TranslationStrings = {
'O índice do próprio TREK e o OpenStreetMap respondem a cada busca. Aqui se escolhe quem mais é consultado quando eles não acham nada: Automático prefere o Google se houver chave, depois Amap.', 'O índice do próprio TREK e o OpenStreetMap respondem a cada busca. Aqui se escolhe quem mais é consultado quando eles não acham nada: Automático prefere o Google se houver chave, depois Amap.',
'admin.placesProvider.auto': 'Automático', 'admin.placesProvider.auto': 'Automático',
'admin.placesProvider.google': 'Google Places', 'admin.placesProvider.google': 'Google Places',
'admin.placesProvider.amap': 'Amap (高德地图)', 'admin.placesProvider.amap': 'Amap (高德地图)', // same-as-en
'admin.placesProvider.openstreetmap': 'OpenStreetMap', 'admin.placesProvider.openstreetmap': 'OpenStreetMap',
'admin.placesProvider.missingKey': 'admin.placesProvider.missingKey':
'O provedor selecionado não tem chave de API configurada, então a busca de lugares é respondida apenas pelo índice do TREK e pelo OpenStreetMap.', 'O provedor selecionado não tem chave de API configurada, então a busca de lugares é respondida apenas pelo índice do TREK e pelo OpenStreetMap.',
@@ -201,7 +201,7 @@ const admin: TranslationStrings = {
'Registar qual resultado de pesquisa foi escolhido, para que outro índice de locais possa ser avaliado depois com pesquisas reais. Nada sai desta instância e um administrador pode exportar ou apagar o registo a qualquer momento.', 'Registar qual resultado de pesquisa foi escolhido, para que outro índice de locais possa ser avaliado depois com pesquisas reais. Nada sai desta instância e um administrador pode exportar ou apagar o registo a qualquer momento.',
'admin.bagTracking.title': 'Rastreamento de malas', 'admin.bagTracking.title': 'Rastreamento de malas',
'admin.bagTracking.subtitle': 'Ativar peso e atribuição de mala para itens da lista', 'admin.bagTracking.subtitle': 'Ativar peso e atribuição de mala para itens da lista',
'admin.collab.chat.title': 'Chat', 'admin.collab.chat.title': 'Chat', // same-as-en
'admin.collab.chat.subtitle': 'Mensagens em tempo real para colaboração', 'admin.collab.chat.subtitle': 'Mensagens em tempo real para colaboração',
'admin.collab.notes.title': 'Notas', 'admin.collab.notes.title': 'Notas',
'admin.collab.notes.subtitle': 'Notas e documentos compartilhados', 'admin.collab.notes.subtitle': 'Notas e documentos compartilhados',
@@ -224,7 +224,7 @@ const admin: TranslationStrings = {
'admin.packingTemplates.namePlaceholder': 'Nome do modelo (ex.: Praia)', 'admin.packingTemplates.namePlaceholder': 'Nome do modelo (ex.: Praia)',
'admin.packingTemplates.empty': 'Nenhum modelo criado ainda', 'admin.packingTemplates.empty': 'Nenhum modelo criado ainda',
'admin.packingTemplates.items': 'itens', 'admin.packingTemplates.items': 'itens',
'admin.packingTemplates.items.one': 'item', 'admin.packingTemplates.items.one': 'item', // same-as-en
'admin.packingTemplates.categories': 'categorias', 'admin.packingTemplates.categories': 'categorias',
'admin.packingTemplates.categories.one': 'categoria', 'admin.packingTemplates.categories.one': 'categoria',
'admin.packingTemplates.itemName': 'Nome do item', 'admin.packingTemplates.itemName': 'Nome do item',
@@ -240,7 +240,7 @@ const admin: TranslationStrings = {
'admin.packingTemplates.deleteItemError': 'Falha ao excluir o item', 'admin.packingTemplates.deleteItemError': 'Falha ao excluir o item',
'admin.packingTemplates.saveError': 'Falha ao salvar', 'admin.packingTemplates.saveError': 'Falha ao salvar',
'admin.tabs.addons': 'Complementos', 'admin.tabs.addons': 'Complementos',
'admin.tabs.plugins': 'Plugins', 'admin.tabs.plugins': 'Plugins', // same-as-en
'admin.tabs.storage': 'Armazenamento', 'admin.tabs.storage': 'Armazenamento',
'admin.plugins.rescan': 'Reescanear', 'admin.plugins.rescan': 'Reescanear',
'admin.plugins.rescanned': 'Pasta de plugins reescaneada', 'admin.plugins.rescanned': 'Pasta de plugins reescaneada',
@@ -286,7 +286,7 @@ const admin: TranslationStrings = {
'admin.plugins.uninstallBody': 'admin.plugins.uninstallBody':
'Isso interrompe o plugin, remove seu código e exclui todos os dados dele. Esta ação não pode ser desfeita.', 'Isso interrompe o plugin, remove seu código e exclui todos os dados dele. Esta ação não pode ser desfeita.',
'admin.plugins.status.starting': 'Iniciando…', 'admin.plugins.status.starting': 'Iniciando…',
'admin.plugins.type.widget': 'Widget', 'admin.plugins.type.widget': 'Widget', // same-as-en
'admin.plugins.type.page': 'Página', 'admin.plugins.type.page': 'Página',
'admin.plugins.type.integration': 'Integração', 'admin.plugins.type.integration': 'Integração',
'admin.plugins.type.trip-page': 'Página da viagem', 'admin.plugins.type.trip-page': 'Página da viagem',
@@ -296,8 +296,8 @@ const admin: TranslationStrings = {
'admin.plugins.updateTo': 'Atualizar → v{version}', 'admin.plugins.updateTo': 'Atualizar → v{version}',
'admin.plugins.enabledToggle': 'Ativar plugin', 'admin.plugins.enabledToggle': 'Ativar plugin',
'plugins.notFound': 'Plugin não encontrado', 'plugins.notFound': 'Plugin não encontrado',
'plugins.frameLoadFailed': 'This plugin could not be loaded.', 'plugins.frameLoadFailed': 'Não foi possível carregar este plugin.',
'admin.plugins.title': 'Plugins', 'admin.plugins.title': 'Plugins', // same-as-en
'admin.plugins.subtitle': 'Instale e gerencie plugins de terceiros na sua instância.', 'admin.plugins.subtitle': 'Instale e gerencie plugins de terceiros na sua instância.',
'admin.plugins.disabledTitle': 'Os plugins estão desativados', 'admin.plugins.disabledTitle': 'Os plugins estão desativados',
'admin.plugins.disabledBody': 'admin.plugins.disabledBody':
@@ -495,7 +495,7 @@ const admin: TranslationStrings = {
'admin.plugins.tabDiscover': 'Descobrir', 'admin.plugins.tabDiscover': 'Descobrir',
'admin.plugins.searchPlaceholder': 'Buscar plugins…', 'admin.plugins.searchPlaceholder': 'Buscar plugins…',
'admin.plugins.filterType': 'Tipo', 'admin.plugins.filterType': 'Tipo',
'admin.plugins.filterStatus': 'Status', 'admin.plugins.filterStatus': 'Status', // same-as-en
'admin.plugins.sortBy': 'Ordenar', 'admin.plugins.sortBy': 'Ordenar',
'admin.plugins.allTypes': 'Todos os tipos', 'admin.plugins.allTypes': 'Todos os tipos',
'admin.plugins.allStatuses': 'Todos', 'admin.plugins.allStatuses': 'Todos',
@@ -602,7 +602,7 @@ const admin: TranslationStrings = {
'admin.plugins.metaSize': 'Tamanho', 'admin.plugins.metaSize': 'Tamanho',
'admin.plugins.metaRequires': 'Requer', 'admin.plugins.metaRequires': 'Requer',
'admin.plugins.metaReviewed': 'Revisado em', 'admin.plugins.metaReviewed': 'Revisado em',
'admin.plugins.downloads': 'Downloads', 'admin.plugins.downloads': 'Downloads', // same-as-en
'admin.addons.title': 'Complementos', 'admin.addons.title': 'Complementos',
'admin.addons.subtitle': 'Ative ou desative recursos para personalizar sua experiência no TREK.', 'admin.addons.subtitle': 'Ative ou desative recursos para personalizar sua experiência no TREK.',
'admin.addons.catalog.memories.name': 'Memórias', 'admin.addons.catalog.memories.name': 'Memórias',
@@ -628,7 +628,7 @@ const admin: TranslationStrings = {
'admin.addons.catalog.mcp.description': 'Model Context Protocol para integração com assistentes de IA', 'admin.addons.catalog.mcp.description': 'Model Context Protocol para integração com assistentes de IA',
'admin.addons.subtitleBefore': 'Ative ou desative recursos para personalizar sua ', 'admin.addons.subtitleBefore': 'Ative ou desative recursos para personalizar sua ',
'admin.addons.subtitleAfter': ' experiência.', 'admin.addons.subtitleAfter': ' experiência.',
'admin.addons.catalog.naver_list_import.name': 'Naver List Import', 'admin.addons.catalog.naver_list_import.name': 'Importação de listas do Naver',
'admin.addons.catalog.naver_list_import.description': 'Importe lugares de uma lista compartilhada do Naver Maps', 'admin.addons.catalog.naver_list_import.description': 'Importe lugares de uma lista compartilhada do Naver Maps',
'admin.addons.catalog.airtrail.name': 'AirTrail', 'admin.addons.catalog.airtrail.name': 'AirTrail',
'admin.addons.catalog.airtrail.description': 'Sincronize voos da sua instância AirTrail', 'admin.addons.catalog.airtrail.description': 'Sincronize voos da sua instância AirTrail',
@@ -650,7 +650,7 @@ const admin: TranslationStrings = {
'admin.addons.enabled': 'Ativado', 'admin.addons.enabled': 'Ativado',
'admin.addons.disabled': 'Desativado', 'admin.addons.disabled': 'Desativado',
'admin.addons.type.trip': 'Viagem', 'admin.addons.type.trip': 'Viagem',
'admin.addons.type.global': 'Global', 'admin.addons.type.global': 'Global', // same-as-en
'admin.addons.type.integration': 'Integração', 'admin.addons.type.integration': 'Integração',
'admin.addons.tripHint': 'Disponível como aba em cada viagem', 'admin.addons.tripHint': 'Disponível como aba em cada viagem',
'admin.addons.globalHint': 'Disponível como seção própria na navegação principal', 'admin.addons.globalHint': 'Disponível como seção própria na navegação principal',
@@ -762,7 +762,7 @@ const admin: TranslationStrings = {
'admin.oauthSessions.revokeSuccess': 'Sessão revogada', 'admin.oauthSessions.revokeSuccess': 'Sessão revogada',
'admin.oauthSessions.revokeError': 'Falha ao revogar sessão', 'admin.oauthSessions.revokeError': 'Falha ao revogar sessão',
'admin.oauthSessions.loadError': 'Falha ao carregar sessões OAuth', 'admin.oauthSessions.loadError': 'Falha ao carregar sessões OAuth',
'admin.notifications.emailPanel.title': 'Email (SMTP)', 'admin.notifications.emailPanel.title': 'E-mail (SMTP)',
'admin.notifications.webhookPanel.title': 'Webhook', 'admin.notifications.webhookPanel.title': 'Webhook',
'admin.notifications.webPushPanel.title': 'Web Push', 'admin.notifications.webPushPanel.title': 'Web Push',
'admin.notifications.webPushPanel.hint': 'admin.notifications.webPushPanel.hint':
@@ -792,7 +792,7 @@ const admin: TranslationStrings = {
'Também usado como servidor padrão para notificações ntfy dos usuários. Deixe em branco para usar ntfy.sh. Os usuários podem substituir isso em suas próprias configurações.', 'Também usado como servidor padrão para notificações ntfy dos usuários. Deixe em branco para usar ntfy.sh. Os usuários podem substituir isso em suas próprias configurações.',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh', 'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': 'Tópico de admin', 'admin.notifications.adminNtfyPanel.topicLabel': 'Tópico de admin',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', 'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', // same-as-en
'admin.notifications.adminNtfyPanel.tokenLabel': 'Token de acesso (opcional)', 'admin.notifications.adminNtfyPanel.tokenLabel': 'Token de acesso (opcional)',
'admin.notifications.adminNtfyPanel.tokenCleared': 'Token de acesso admin removido', 'admin.notifications.adminNtfyPanel.tokenCleared': 'Token de acesso admin removido',
'admin.notifications.adminNtfyPanel.saved': 'Configurações de Ntfy de admin salvas', 'admin.notifications.adminNtfyPanel.saved': 'Configurações de Ntfy de admin salvas',
@@ -855,10 +855,10 @@ const admin: TranslationStrings = {
'admin.defaultSettings.cartoKey': 'Chave CARTO compartilhada', 'admin.defaultSettings.cartoKey': 'Chave CARTO compartilhada',
'admin.defaultSettings.cartoKeyHint': 'admin.defaultSettings.cartoKeyHint':
"Usada para todos os usuários que não inseriram a própria chave, assim toda a instância recebe blocos do CARTO sem marca d'água. Armazenada de forma criptografada.", "Usada para todos os usuários que não inseriram a própria chave, assim toda a instância recebe blocos do CARTO sem marca d'água. Armazenada de forma criptografada.",
'admin.group.users': 'Users', 'admin.group.users': 'Usuários',
'admin.group.config': 'Configuration', 'admin.group.config': 'Configuração',
'admin.group.integration': 'Integrations', 'admin.group.integration': 'Integrações',
'admin.group.maintenance': 'Maintenance', 'admin.group.maintenance': 'Manutenção',
'admin.invite.tripLabel': 'Adicionar à viagem (opcional)', 'admin.invite.tripLabel': 'Adicionar à viagem (opcional)',
'admin.invite.tripNone': 'Nenhuma viagem', 'admin.invite.tripNone': 'Nenhuma viagem',
'admin.invite.tripHint': 'O novo usuário é adicionado automaticamente a esta viagem ao se registrar pelo link.', 'admin.invite.tripHint': 'O novo usuário é adicionado automaticamente a esta viagem ao se registrar pelo link.',
+1 -1
View File
@@ -59,7 +59,7 @@ const atlas: TranslationStrings = {
'atlas.northAmerica': 'América do Norte', 'atlas.northAmerica': 'América do Norte',
'atlas.southAmerica': 'América do Sul', 'atlas.southAmerica': 'América do Sul',
'atlas.africa': 'África', 'atlas.africa': 'África',
'atlas.oceania': 'Oceania', 'atlas.oceania': 'Oceania', // same-as-en
'atlas.other': 'Outro', 'atlas.other': 'Outro',
'atlas.firstVisit': 'Primeira viagem', 'atlas.firstVisit': 'Primeira viagem',
'atlas.lastVisitLabel': 'Última viagem', 'atlas.lastVisitLabel': 'Última viagem',
+3 -3
View File
@@ -13,7 +13,7 @@ const budget: TranslationStrings = {
'budget.categoryName': 'Nome da categoria', 'budget.categoryName': 'Nome da categoria',
'budget.addCategory': 'Adicionar categoria', 'budget.addCategory': 'Adicionar categoria',
'budget.table.name': 'Nome', 'budget.table.name': 'Nome',
'budget.table.total': 'Total', 'budget.table.total': 'Total', // same-as-en
'budget.table.persons': 'Pessoas', 'budget.table.persons': 'Pessoas',
'budget.table.days': 'Dias', 'budget.table.days': 'Dias',
'budget.table.perPerson': 'Por pessoa', 'budget.table.perPerson': 'Por pessoa',
@@ -24,7 +24,7 @@ const budget: TranslationStrings = {
'budget.newEntry': 'Novo lançamento', 'budget.newEntry': 'Novo lançamento',
'budget.defaultEntry': 'Novo lançamento', 'budget.defaultEntry': 'Novo lançamento',
'budget.defaultCategory': 'Nova categoria', 'budget.defaultCategory': 'Nova categoria',
'budget.total': 'Total', 'budget.total': 'Total', // same-as-en
'budget.totalBudget': 'Orçamento total', 'budget.totalBudget': 'Orçamento total',
'budget.byCategory': 'Por categoria', 'budget.byCategory': 'Por categoria',
'budget.editTooltip': 'Clique para editar', 'budget.editTooltip': 'Clique para editar',
@@ -77,7 +77,7 @@ const budget: TranslationStrings = {
'costs.table.byCategory': 'Categoria', 'costs.table.byCategory': 'Categoria',
'costs.table.byDate': 'Dia', 'costs.table.byDate': 'Dia',
'costs.table.byPayer': 'Pagador', 'costs.table.byPayer': 'Pagador',
'costs.table.byStatus': 'Status', 'costs.table.byStatus': 'Status', // same-as-en
'costs.table.noPayer': 'Sem pagador ainda', 'costs.table.noPayer': 'Sem pagador ainda',
'costs.table.paid': 'Pago', 'costs.table.paid': 'Pago',
'costs.table.open': 'Em aberto', 'costs.table.open': 'Em aberto',
+2 -2
View File
@@ -9,10 +9,10 @@ const collab: TranslationStrings = {
'collab.polls.countdownHoursMinutes': 'Faltam {h}h {m}min', 'collab.polls.countdownHoursMinutes': 'Faltam {h}h {m}min',
'collab.polls.countdownMinutes': 'Faltam {m}min', 'collab.polls.countdownMinutes': 'Faltam {m}min',
'collab.polls.clearDeadline': 'Remover prazo', 'collab.polls.clearDeadline': 'Remover prazo',
'collab.tabs.chat': 'Chat', 'collab.tabs.chat': 'Chat', // same-as-en
'collab.tabs.notes': 'Notas', 'collab.tabs.notes': 'Notas',
'collab.tabs.polls': 'Enquetes', 'collab.tabs.polls': 'Enquetes',
'collab.tabs.links': 'Links', 'collab.tabs.links': 'Links', // same-as-en
'collab.links.add': 'Adicionar link', 'collab.links.add': 'Adicionar link',
'collab.chat.imageRejected': 'Apenas imagens JPEG, PNG, GIF e WebP de até 10 MB são permitidas', 'collab.chat.imageRejected': 'Apenas imagens JPEG, PNG, GIF e WebP de até 10 MB são permitidas',
'collab.links.cancel': 'Cancelar', 'collab.links.cancel': 'Cancelar',
+2 -2
View File
@@ -9,7 +9,7 @@ const collection: TranslationStrings = {
'collections.saveToListHint': 'Duplicados são ignorados automaticamente', 'collections.saveToListHint': 'Duplicados são ignorados automaticamente',
'collections.role.label': 'Função', 'collections.role.label': 'Função',
'collections.role.viewer': 'Visualizador', 'collections.role.viewer': 'Visualizador',
'collections.role.editor': 'Editor', 'collections.role.editor': 'Editor', // same-as-en
'collections.role.admin': 'Administrador', 'collections.role.admin': 'Administrador',
'collections.picker.allLists': 'Todas as listas', 'collections.picker.allLists': 'Todas as listas',
'collections.select': 'Escolher', 'collections.select': 'Escolher',
@@ -36,7 +36,7 @@ const collection: TranslationStrings = {
'collections.changeCover': 'Alterar capa', 'collections.changeCover': 'Alterar capa',
'collections.description': 'Descrição', 'collections.description': 'Descrição',
'collections.descriptionPlaceholder': 'Adicione uma descrição…', 'collections.descriptionPlaceholder': 'Adicione uma descrição…',
'collections.links': 'Links', 'collections.links': 'Links', // same-as-en
'collections.linkLabel': 'Rótulo', 'collections.linkLabel': 'Rótulo',
'collections.addLink': 'Adicionar link', 'collections.addLink': 'Adicionar link',
'collections.addDetails': 'Adicionar detalhes', 'collections.addDetails': 'Adicionar detalhes',
+12 -12
View File
@@ -58,18 +58,18 @@ const common: TranslationStrings = {
'common.hoursAgo.one': 'há {count}h', 'common.hoursAgo.one': 'há {count}h',
'common.daysAgo': 'há {count}d', 'common.daysAgo': 'há {count}d',
'common.daysAgo.one': 'há {count}d', 'common.daysAgo.one': 'há {count}d',
'common.datepicker.prevMonth': 'Previous month', // en-fallback 'common.datepicker.prevMonth': 'Mês anterior',
'common.datepicker.nextMonth': 'Next month', // en-fallback 'common.datepicker.nextMonth': 'Próximo mês',
'common.datepicker.prevYear': 'Previous year', // en-fallback 'common.datepicker.prevYear': 'Ano anterior',
'common.datepicker.nextYear': 'Next year', // en-fallback 'common.datepicker.nextYear': 'Próximo ano',
'common.datepicker.prevYears': 'Previous years', // en-fallback 'common.datepicker.prevYears': 'Anos anteriores',
'common.datepicker.nextYears': 'Next years', // en-fallback 'common.datepicker.nextYears': 'Próximos anos',
'common.datepicker.selectMonth': 'Select month', // en-fallback 'common.datepicker.selectMonth': 'Selecionar mês',
'common.datepicker.selectYear': 'Select year', // en-fallback 'common.datepicker.selectYear': 'Selecionar ano',
'common.datepicker.enterManually': 'Enter date manually', // en-fallback 'common.datepicker.enterManually': 'Digitar a data manualmente',
'common.datepicker.typeDate': 'Type a date', // en-fallback 'common.datepicker.typeDate': 'Digite uma data',
'common.datepicker.dialog': 'Date picker', // en-fallback 'common.datepicker.dialog': 'Seletor de data',
'common.datepicker.clearDate': 'Clear date', // en-fallback 'common.datepicker.clearDate': 'Limpar data',
'common.errorTitle': 'Algo deu errado', 'common.errorTitle': 'Algo deu errado',
'common.errorBody': 'Esta parte do aplicativo parou de funcionar. Seus dados estão seguros.', 'common.errorBody': 'Esta parte do aplicativo parou de funcionar. Seus dados estão seguros.',
'common.errorPanelTitle': 'Não foi possível exibir esta seção', 'common.errorPanelTitle': 'Não foi possível exibir esta seção',
+1 -1
View File
@@ -19,7 +19,7 @@ const dashboard: TranslationStrings = {
'dashboard.listView': 'Lista', 'dashboard.listView': 'Lista',
'dashboard.currency': 'Moeda', 'dashboard.currency': 'Moeda',
'dashboard.timezone': 'Fusos horários', 'dashboard.timezone': 'Fusos horários',
'dashboard.localTime': 'Local', 'dashboard.localTime': 'Local', // same-as-en
'dashboard.timezoneCustomTitle': 'Fuso personalizado', 'dashboard.timezoneCustomTitle': 'Fuso personalizado',
'dashboard.timezoneCustomLabelPlaceholder': 'Rótulo (opcional)', 'dashboard.timezoneCustomLabelPlaceholder': 'Rótulo (opcional)',
'dashboard.timezoneCustomTzPlaceholder': 'ex.: America/Sao_Paulo', 'dashboard.timezoneCustomTzPlaceholder': 'ex.: America/Sao_Paulo',
+2 -2
View File
@@ -16,9 +16,9 @@ const day: TranslationStrings = {
'day.hotelDayRange': 'Aplicar aos dias', 'day.hotelDayRange': 'Aplicar aos dias',
'day.noPlacesForHotel': 'Adicione lugares à viagem primeiro', 'day.noPlacesForHotel': 'Adicione lugares à viagem primeiro',
'day.allDays': 'Todos', 'day.allDays': 'Todos',
'day.checkIn': 'Check-in', 'day.checkIn': 'Check-in', // same-as-en
'day.checkInUntil': 'Até', 'day.checkInUntil': 'Até',
'day.checkOut': 'Check-out', 'day.checkOut': 'Check-out', // same-as-en
'day.openStayBooking': 'Abrir reserva', 'day.openStayBooking': 'Abrir reserva',
'day.confirmation': 'Confirmação', 'day.confirmation': 'Confirmação',
'day.editAccommodation': 'Editar hospedagem', 'day.editAccommodation': 'Editar hospedagem',
+3 -3
View File
@@ -21,7 +21,7 @@ const dayplan: TranslationStrings = {
'notes.format.italic': 'Itálico', 'notes.format.italic': 'Itálico',
'notes.format.strike': 'Tachado', 'notes.format.strike': 'Tachado',
'notes.format.code': 'Código', 'notes.format.code': 'Código',
'notes.format.link': 'Link', 'notes.format.link': 'Link', // same-as-en
'notes.format.list': 'Lista com marcadores', 'notes.format.list': 'Lista com marcadores',
'notes.format.orderedList': 'Lista numerada', 'notes.format.orderedList': 'Lista numerada',
'notes.format.quote': 'Citação', 'notes.format.quote': 'Citação',
@@ -80,8 +80,8 @@ const dayplan: TranslationStrings = {
'dayplan.mobile.allAssigned': 'Todos os lugares atribuídos', 'dayplan.mobile.allAssigned': 'Todos os lugares atribuídos',
'dayplan.mobile.noMatch': 'Sem correspondência', 'dayplan.mobile.noMatch': 'Sem correspondência',
'dayplan.mobile.createNew': 'Criar novo lugar', 'dayplan.mobile.createNew': 'Criar novo lugar',
'dayplan.expandAll': 'Expandir todos os dias', // en-fallback 'dayplan.expandAll': 'Expandir todos os dias',
'dayplan.collapseAll': 'Recolher todos os dias', // en-fallback 'dayplan.collapseAll': 'Recolher todos os dias',
'dayplan.reorderDays': 'Reordenar dias', 'dayplan.reorderDays': 'Reordenar dias',
'dayplan.reorderTitle': 'Reordenar dias', 'dayplan.reorderTitle': 'Reordenar dias',
'dayplan.reorderHint': 'Os lugares, notas e reservas de um dia se movem junto com ele.', 'dayplan.reorderHint': 'Os lugares, notas e reservas de um dia se movem junto com ele.',
+107 -106
View File
@@ -193,7 +193,7 @@ const journey: TranslationStrings = {
'journey.share.updateFailed': 'Não foi possível atualizar', 'journey.share.updateFailed': 'Não foi possível atualizar',
'journey.invite.role': 'Função', 'journey.invite.role': 'Função',
'journey.invite.viewer': 'Visualizador', 'journey.invite.viewer': 'Visualizador',
'journey.invite.editor': 'Editor', 'journey.invite.editor': 'Editor', // same-as-en
'journey.invite.invite': 'Convidar', 'journey.invite.invite': 'Convidar',
'journey.invite.inviting': 'Convidando...', 'journey.invite.inviting': 'Convidando...',
'journey.settings.title': 'Configurações da jornada', 'journey.settings.title': 'Configurações da jornada',
@@ -211,7 +211,7 @@ const journey: TranslationStrings = {
'journey.settings.autoPrepare': 'Preparar dias gravados automaticamente', 'journey.settings.autoPrepare': 'Preparar dias gravados automaticamente',
'journey.settings.autoPrepareHint': 'journey.settings.autoPrepareHint':
'Enquanto uma viagem vinculada está em andamento, as paradas do seu Dawarich esperam no dia delas pela sua revisão. Editores com conexão própria recebem as deles. Nada é escrito no diário sozinho.', 'Enquanto uma viagem vinculada está em andamento, as paradas do seu Dawarich esperam no dia delas pela sua revisão. Editores com conexão própria recebem as deles. Nada é escrito no diário sozinho.',
'journey.settings.status': 'Status', 'journey.settings.status': 'Status', // same-as-en
'journey.settings.statusAuto': 'Automático', 'journey.settings.statusAuto': 'Automático',
'journey.settings.statusAutoHint': 'journey.settings.statusAutoHint':
'Segue as datas das viagens vinculadas. Sem viagem, a jornada continua como rascunho.', 'Segue as datas das viagens vinculadas. Sem viagem, a jornada continua como rascunho.',
@@ -267,42 +267,43 @@ const journey: TranslationStrings = {
'journey.picker.noAlbums': 'Nenhum álbum encontrado', 'journey.picker.noAlbums': 'Nenhum álbum encontrado',
'journey.picker.selectDate': 'Selecionar data', 'journey.picker.selectDate': 'Selecionar data',
'journey.picker.search': 'Pesquisar', 'journey.picker.search': 'Pesquisar',
'journey.detail.journeyTab': 'Journey', // en-fallback 'journey.detail.journeyTab': 'Jornada',
'journey.contributors.remove': 'Remove contributor', // en-fallback 'journey.contributors.remove': 'Remover colaborador',
'journey.contributors.removeConfirm': 'Remove {username} from this journey?', // en-fallback 'journey.contributors.removeConfirm': 'Remover {username} desta jornada?',
'journey.contributors.removed': 'Contributor removed', // en-fallback 'journey.contributors.removed': 'Colaborador removido',
'journey.contributors.removeFailed': 'Failed to remove contributor', // en-fallback 'journey.contributors.removeFailed': 'Não foi possível remover o colaborador',
'journey.contributors.viaTrips': 'Por meio de viagens', 'journey.contributors.viaTrips': 'Por meio de viagens',
'journey.contributors.viaTripsHint': 'journey.contributors.viaTripsHint':
'Podem abrir este diário porque uma viagem o vincula. Altere isso nas configurações da viagem.', 'Podem abrir este diário porque uma viagem o vincula. Altere isso nas configurações da viagem.',
'journey.contributors.viaTrip': 'por {trip}', 'journey.contributors.viaTrip': 'por {trip}',
'journey.editor.externalPhotos': 'External photos', // en-fallback 'journey.editor.externalPhotos': 'Fotos externas',
'journey.editor.externalPhotosFor': 'Photos for {date}', // en-fallback 'journey.editor.externalPhotosFor': 'Fotos de {date}',
'journey.editor.externalPhotosNearby': 'Nearby photos first', // en-fallback 'journey.editor.externalPhotosNearby': 'Fotos próximas primeiro',
'journey.editor.externalPhotosNoLocation': 'All photos from this day', // en-fallback 'journey.editor.externalPhotosNoLocation': 'Todas as fotos deste dia',
'journey.editor.externalPhotosQueued': 'queued', // en-fallback 'journey.editor.externalPhotosQueued': 'na fila',
'journey.editor.externalPhotosUnavailable': 'No connected photo providers are available.', // en-fallback 'journey.editor.externalPhotosUnavailable': 'Nenhum provedor de fotos conectado está disponível.',
'journey.editor.externalPhotosPartialFailed': '{failed} photo groups failed — save again to retry', // en-fallback 'journey.editor.externalPhotosPartialFailed':
'journey.picker.day': 'This day', // en-fallback '{failed} grupos de fotos falharam: salve novamente para tentar de novo',
'journey.studio.title': 'TREK Studio', // en-fallback 'journey.picker.day': 'Este dia',
'journey.studio.open': 'Studio', // en-fallback 'journey.studio.title': 'TREK Studio',
'journey.studio.openAria': 'Open the photo book studio', // en-fallback 'journey.studio.open': 'Studio',
'journey.studio.backToJourney': 'Back to the journey', // en-fallback 'journey.studio.openAria': 'Abrir o estúdio de fotolivro',
'journey.studio.format': 'Page format', // en-fallback 'journey.studio.backToJourney': 'Voltar à jornada',
'journey.studio.formatA4Landscape': 'A4 landscape', // en-fallback 'journey.studio.format': 'Formato da página',
'journey.studio.formatA4Portrait': 'A4 portrait', // en-fallback 'journey.studio.formatA4Landscape': 'A4 paisagem',
'journey.studio.formatSquare21': 'Square 21 × 21 cm', // en-fallback 'journey.studio.formatA4Portrait': 'A4 retrato',
'journey.studio.formatSquare30': 'Square 30 × 30 cm', // en-fallback 'journey.studio.formatSquare21': 'Quadrado 21 × 21 cm',
'journey.studio.formatSquare30': 'Quadrado 30 × 30 cm',
'journey.studio.pages': 'Páginas', 'journey.studio.pages': 'Páginas',
'journey.studio.cover': 'Cover', // en-fallback 'journey.studio.cover': 'Capa',
'journey.studio.inspectorEmpty': 'Select something on the page to edit it.', // en-fallback 'journey.studio.inspectorEmpty': 'Selecione algo na página para editar.',
'journey.studio.autoLayout': 'Auto layout', // en-fallback 'journey.studio.autoLayout': 'Layout automático',
'journey.studio.export': 'Export', // en-fallback 'journey.studio.export': 'Exportar',
'journey.studio.day': 'DIA {day}', 'journey.studio.day': 'DIA {day}',
'journey.studio.stations': 'Etapas', 'journey.studio.stations': 'Etapas',
'journey.studio.peersHere': 'aqui', 'journey.studio.peersHere': 'aqui',
'journey.studio.folioAuto': 'Automático', 'journey.studio.folioAuto': 'Automático',
'journey.studio.exportLayout': 'Layout', 'journey.studio.exportLayout': 'Layout', // same-as-en
'journey.studio.exportPages': 'Páginas avulsas', 'journey.studio.exportPages': 'Páginas avulsas',
'journey.studio.exportPagesHint': 'Uma folha por página, na ordem de leitura. É o que a gráfica quer.', 'journey.studio.exportPagesHint': 'Uma folha por página, na ordem de leitura. É o que a gráfica quer.',
'journey.studio.exportSpreads': 'Páginas duplas', 'journey.studio.exportSpreads': 'Páginas duplas',
@@ -319,98 +320,98 @@ const journey: TranslationStrings = {
'journey.studio.exportPreparing': 'Preparando', 'journey.studio.exportPreparing': 'Preparando',
'journey.studio.exportSheetCount': '{count} folhas', 'journey.studio.exportSheetCount': '{count} folhas',
'journey.studio.exportSheetCount.one': '{count} folha', 'journey.studio.exportSheetCount.one': '{count} folha',
'journey.studio.undo': 'Undo', // en-fallback 'journey.studio.undo': 'Desfazer',
'journey.studio.redo': 'Redo', // en-fallback 'journey.studio.redo': 'Refazer',
'journey.studio.zoomIn': 'Zoom in', // en-fallback 'journey.studio.zoomIn': 'Aumentar zoom',
'journey.studio.zoomOut': 'Zoom out', // en-fallback 'journey.studio.zoomOut': 'Diminuir zoom',
'journey.studio.zoomFit': 'Fit to view', // en-fallback 'journey.studio.zoomFit': 'Ajustar à tela',
'journey.studio.downloadSpread': 'Baixar esta página dupla', 'journey.studio.downloadSpread': 'Baixar esta página dupla',
'journey.studio.downloadSpreadHint': 'journey.studio.downloadSpreadHint':
'Salva o design desta página dupla como arquivo, sem as fotos, para compartilhar ou reutilizar', 'Salva o design desta página dupla como arquivo, sem as fotos, para compartilhar ou reutilizar',
'journey.studio.importSpread': 'Importar', 'journey.studio.importSpread': 'Importar',
'journey.studio.importSpreadHint': 'Adiciona uma página dupla a partir de um arquivo de design baixado', 'journey.studio.importSpreadHint': 'Adiciona uma página dupla a partir de um arquivo de design baixado',
'journey.studio.importSpreadFailed': 'Esse arquivo não é uma página do TREK Studio', 'journey.studio.importSpreadFailed': 'Esse arquivo não é uma página do TREK Studio',
'journey.studio.desktopOnly': 'Studio needs a bigger screen', // en-fallback 'journey.studio.desktopOnly': 'O Studio precisa de uma tela maior',
'journey.studio.desktopOnlyHint': 'journey.studio.desktopOnlyHint':
'Montar um livro pede espaço de trabalho, então o Studio existe só no computador, e o PDF também. Todo o resto da sua viagem funciona aqui como sempre.', // en-fallback 'Montar um livro pede espaço de trabalho, então o Studio existe só no computador, e o PDF também. Todo o resto da sua jornada funciona aqui como sempre.',
'journey.studio.formatA5Landscape': 'A5 landscape', // en-fallback 'journey.studio.formatA5Landscape': 'A5 paisagem',
'journey.studio.bookView': 'Book view', // en-fallback 'journey.studio.bookView': 'Visão do livro',
'journey.studio.multiple': 'Several', // en-fallback 'journey.studio.multiple': 'Vários',
'journey.studio.kind.photo': 'Photo', // en-fallback 'journey.studio.kind.photo': 'Foto',
'journey.studio.kind.text': 'Text', // en-fallback 'journey.studio.kind.text': 'Texto',
'journey.studio.kind.shape': 'Shape', // en-fallback 'journey.studio.kind.shape': 'Forma',
'journey.studio.position': 'Position', // en-fallback 'journey.studio.position': 'Posição',
'journey.studio.width': 'W', // en-fallback 'journey.studio.width': 'L',
'journey.studio.height': 'H', // en-fallback 'journey.studio.height': 'A',
'journey.studio.text': 'Texto', 'journey.studio.text': 'Texto',
'journey.studio.typography': 'Type', // en-fallback 'journey.studio.typography': 'Fonte',
'journey.studio.leading': 'Line', // en-fallback 'journey.studio.leading': 'Linha',
'journey.studio.colour': 'Colour', // en-fallback 'journey.studio.colour': 'Cor',
'journey.studio.autoColour': 'Automático', 'journey.studio.autoColour': 'Automático',
'journey.studio.countryNames': 'Nomes', 'journey.studio.countryNames': 'Nomes',
'journey.studio.crop': 'Crop', // en-fallback 'journey.studio.crop': 'Cortar',
'journey.studio.look': 'Look', // en-fallback 'journey.studio.look': 'Aparência',
'journey.studio.radius': 'Corner', // en-fallback 'journey.studio.radius': 'Canto',
'journey.studio.shape': 'Shape', // en-fallback 'journey.studio.shape': 'Forma',
'journey.studio.arrange': 'Arrange', // en-fallback 'journey.studio.arrange': 'Organizar',
'journey.studio.toFront': 'Bring to front', // en-fallback 'journey.studio.toFront': 'Trazer para frente',
'journey.studio.forward': 'Bring forward', // en-fallback 'journey.studio.forward': 'Avançar',
'journey.studio.backward': 'Send backward', // en-fallback 'journey.studio.backward': 'Recuar',
'journey.studio.toBack': 'Send to back', // en-fallback 'journey.studio.toBack': 'Enviar para trás',
'journey.studio.lock': 'Lock', // en-fallback 'journey.studio.lock': 'Bloquear',
'journey.studio.unlock': 'Unlock', // en-fallback 'journey.studio.unlock': 'Desbloquear',
'journey.studio.delete': 'Delete', // en-fallback 'journey.studio.delete': 'Excluir',
'journey.studio.pageHint': 'Page', // en-fallback 'journey.studio.pageHint': 'Página',
'journey.studio.boundHint': 'Follows the journal entry. Editing it here breaks that link.', // en-fallback 'journey.studio.boundHint': 'Acompanha a entrada do diário. Editar aqui desfaz esse vínculo.',
'journey.studio.fit.cover': 'Fill', // en-fallback 'journey.studio.fit.cover': 'Preencher',
'journey.studio.fit.contain': 'Fit', // en-fallback 'journey.studio.fit.contain': 'Ajustar',
'journey.studio.filter.none': 'Original', // en-fallback 'journey.studio.filter.none': 'Original',
'journey.studio.filter.bw': 'Black & white', // en-fallback 'journey.studio.filter.bw': 'Preto e branco',
'journey.studio.filter.warm': 'Warm', // en-fallback 'journey.studio.filter.warm': 'Quente',
'journey.studio.shapeKind.rect': 'Rectangle', // en-fallback 'journey.studio.shapeKind.rect': 'Retângulo',
'journey.studio.shapeKind.ellipse': 'Ellipse', // en-fallback 'journey.studio.shapeKind.ellipse': 'Elipse',
'journey.studio.focalHint': 'Drag the point to choose what stays in frame.', // en-fallback 'journey.studio.focalHint': 'Arraste o ponto para escolher o que fica no enquadramento.',
'journey.studio.backCover': 'Back cover', // en-fallback 'journey.studio.backCover': 'Contracapa',
'journey.studio.sections': 'Sections', // en-fallback 'journey.studio.sections': 'Seções',
'journey.studio.content': 'Conteúdo', 'journey.studio.content': 'Conteúdo',
'journey.studio.elements': 'Elementos', 'journey.studio.elements': 'Elementos',
'journey.studio.templates': 'Layouts', // same-as-en 'journey.studio.templates': 'Layouts', // same-as-en
'journey.studio.photos': 'Fotos', 'journey.studio.photos': 'Fotos',
'journey.studio.entries': 'Registros', 'journey.studio.entries': 'Registros',
'journey.studio.addToPage': 'Add to this page', // en-fallback 'journey.studio.addToPage': 'Adicionar a esta página',
'journey.studio.noPhotos': 'This journey has no photos yet.', // en-fallback 'journey.studio.noPhotos': 'Esta jornada ainda não tem fotos.',
'journey.studio.untitled': 'Untitled', // en-fallback 'journey.studio.untitled': 'Sem título',
'journey.studio.addTitle': 'Title', // en-fallback 'journey.studio.addTitle': 'Título',
'journey.studio.addStory': 'Story', // en-fallback 'journey.studio.addStory': 'História',
'journey.studio.addPlace': 'Place', // en-fallback 'journey.studio.addPlace': 'Lugar',
'journey.studio.shapes': 'Formas', 'journey.studio.shapes': 'Formas',
'journey.studio.frames': 'Molduras', 'journey.studio.frames': 'Molduras',
'journey.studio.emptyFrame': 'Empty frame', // en-fallback 'journey.studio.emptyFrame': 'Moldura vazia',
'journey.studio.frameHint': 'An empty frame marks where a picture goes. Drop one on it from Content.', // en-fallback 'journey.studio.frameHint': 'Uma moldura vazia marca onde vai uma imagem. Arraste uma até ela a partir de Conteúdo.',
'journey.studio.shapeKind.line': 'Line', // en-fallback 'journey.studio.shapeKind.line': 'Linha',
'journey.studio.styleTitle': 'Heading', // en-fallback 'journey.studio.styleTitle': 'Título',
'journey.studio.styleSubtitle': 'Subheading', // en-fallback 'journey.studio.styleSubtitle': 'Subtítulo',
'journey.studio.styleBody': 'Body text', // en-fallback 'journey.studio.styleBody': 'Texto do corpo',
'journey.studio.styleCaption': 'Caption', // en-fallback 'journey.studio.styleCaption': 'Legenda',
'journey.studio.sampleHeading': 'A heading', // en-fallback 'journey.studio.sampleHeading': 'Um título',
'journey.studio.sampleSubheading': 'A subheading', // en-fallback 'journey.studio.sampleSubheading': 'Um subtítulo',
'journey.studio.sampleBody': 'Write something about this day.', // en-fallback 'journey.studio.sampleBody': 'Escreva algo sobre este dia.',
'journey.studio.sampleCaption': 'Caption', // en-fallback 'journey.studio.sampleCaption': 'Legenda',
'journey.studio.tpl.heroStory': 'Hero and story', // en-fallback 'journey.studio.tpl.heroStory': 'Destaque e história',
'journey.studio.tpl.fullBleed': 'One picture, full spread', // en-fallback 'journey.studio.tpl.fullBleed': 'Uma imagem, página dupla inteira',
'journey.studio.tpl.twoUp': 'Two full pages', // en-fallback 'journey.studio.tpl.twoUp': 'Duas páginas inteiras',
'journey.studio.tpl.grid4': 'Four up', // en-fallback 'journey.studio.tpl.grid4': 'Quatro por página',
'journey.studio.tpl.grid6': 'Six up', // en-fallback 'journey.studio.tpl.grid6': 'Seis por página',
'journey.studio.tpl.strip': 'Strip and text', // en-fallback 'journey.studio.tpl.strip': 'Faixa e texto',
'journey.studio.tpl.quietText': 'Text only', // en-fallback 'journey.studio.tpl.quietText': 'Só texto',
'journey.studio.tpl.portraitPair': 'A pair', // en-fallback 'journey.studio.tpl.portraitPair': 'Um par',
'journey.studio.dropPhotoHere': 'Arraste sua foto\npara cá', 'journey.studio.dropPhotoHere': 'Arraste sua foto\npara cá',
'journey.studio.searchContent': 'Search photos and entries', // en-fallback 'journey.studio.searchContent': 'Buscar fotos e entradas',
'journey.studio.noMatches': 'Nothing matches that.', // en-fallback 'journey.studio.noMatches': 'Nada corresponde a isso.',
'journey.studio.quoteMark': 'Aspas', 'journey.studio.quoteMark': 'Aspas',
'journey.studio.shapeKind.rounded': 'Rounded rectangle', // en-fallback 'journey.studio.shapeKind.rounded': 'Retângulo arredondado',
'journey.studio.shapeKind.triangle': 'Triangle', // en-fallback 'journey.studio.shapeKind.triangle': 'Triângulo',
'journey.studio.shapeKind.outline': 'Outline only', // en-fallback 'journey.studio.shapeKind.outline': 'Só contorno',
'journey.studio.travel': 'Viagem', 'journey.studio.travel': 'Viagem',
'journey.studio.travelEmpty': 'Os números desta jornada ainda não estão prontos.', 'journey.studio.travelEmpty': 'Os números desta jornada ainda não estão prontos.',
'journey.studio.grids': 'Grades', 'journey.studio.grids': 'Grades',
@@ -446,7 +447,7 @@ const journey: TranslationStrings = {
'journey.studio.dayMark': 'Contador de dias', 'journey.studio.dayMark': 'Contador de dias',
'journey.studio.coordsMark': 'Coordenadas', 'journey.studio.coordsMark': 'Coordenadas',
'journey.studio.coordsDms': 'Graus', 'journey.studio.coordsDms': 'Graus',
'journey.studio.coordsDecimal': 'Decimal', 'journey.studio.coordsDecimal': 'Decimal', // same-as-en
'journey.studio.flagMark': 'Bandeira', 'journey.studio.flagMark': 'Bandeira',
'journey.studio.distanceMark': 'Distância', 'journey.studio.distanceMark': 'Distância',
'journey.studio.metric.distance': 'Distância', 'journey.studio.metric.distance': 'Distância',
@@ -544,7 +545,7 @@ const journey: TranslationStrings = {
'journey.studio.deletePage': 'Excluir página', 'journey.studio.deletePage': 'Excluir página',
'journey.studio.movePageUp': 'Mover para antes', 'journey.studio.movePageUp': 'Mover para antes',
'journey.studio.movePageDown': 'Mover para depois', 'journey.studio.movePageDown': 'Mover para depois',
'journey.studio.beta': 'Beta', 'journey.studio.beta': 'Beta', // same-as-en
'journey.studio.addProsCons': 'Prós e contras', 'journey.studio.addProsCons': 'Prós e contras',
'journey.studio.showMarks': 'Marcas', 'journey.studio.showMarks': 'Marcas',
'journey.studio.formatCustom': 'Tamanho próprio', 'journey.studio.formatCustom': 'Tamanho próprio',
@@ -609,12 +610,12 @@ const journey: TranslationStrings = {
'journey.studio.mapSourceTiles': 'Blocos de mapa', 'journey.studio.mapSourceTiles': 'Blocos de mapa',
'journey.studio.mapSourceStatic': 'Mapbox', 'journey.studio.mapSourceStatic': 'Mapbox',
'journey.studio.mapSourceHint': 'Baixado ao renderizar e impresso com o crédito', 'journey.studio.mapSourceHint': 'Baixado ao renderizar e impresso com o crédito',
'journey.studio.mapZoom': 'Zoom', 'journey.studio.mapZoom': 'Zoom', // same-as-en
'journey.studio.mapFraming': 'Enquadramento', 'journey.studio.mapFraming': 'Enquadramento',
'journey.studio.mapFitStops': 'Paradas', 'journey.studio.mapFitStops': 'Paradas',
'journey.studio.mapFitCountry': 'País inteiro', 'journey.studio.mapFitCountry': 'País inteiro',
'journey.studio.mapPadTight': 'Justo', 'journey.studio.mapPadTight': 'Justo',
'journey.studio.mapPadNormal': 'Normal', 'journey.studio.mapPadNormal': 'Normal', // same-as-en
'journey.studio.mapPadWide': 'Amplo', 'journey.studio.mapPadWide': 'Amplo',
'journey.studio.mapPadFar': 'Muito amplo', 'journey.studio.mapPadFar': 'Muito amplo',
'journey.studio.mapClipRect': 'Em moldura', 'journey.studio.mapClipRect': 'Em moldura',
+3 -3
View File
@@ -73,9 +73,9 @@ const login: TranslationStrings = {
'login.resetPasswordFailed': 'Falha na redefinição. O link pode ter expirado.', 'login.resetPasswordFailed': 'Falha na redefinição. O link pode ter expirado.',
'login.passkey.signIn': 'Entrar com uma passkey', 'login.passkey.signIn': 'Entrar com uma passkey',
'login.passkey.failed': 'Falha ao entrar com passkey. Tente novamente.', 'login.passkey.failed': 'Falha ao entrar com passkey. Tente novamente.',
'login.insecureCookie.title': "Login won't stick over HTTP", 'login.insecureCookie.title': 'O login não vai se manter por HTTP',
'login.insecureCookie.body': 'login.insecureCookie.body':
'You’re connecting over plain HTTP, so your browser drops TREK’s secure session cookie — the next request fails with "Access token required". Fix: use HTTPS, or for a home-lab set COOKIE_SECURE=false.', 'Você está se conectando por HTTP simples, então seu navegador descarta o cookie de sessão seguro do TREK e a próxima requisição falha com "Access token required". Solução: use HTTPS ou, em um home lab, defina COOKIE_SECURE=false.',
'login.insecureCookie.link': 'Open the Troubleshooting guide', 'login.insecureCookie.link': 'Abrir o guia de solução de problemas',
}; };
export default login; export default login;
+1 -1
View File
@@ -6,7 +6,7 @@ const map: TranslationStrings = {
'map.hideConnections': 'Ocultar rotas de reservas', 'map.hideConnections': 'Ocultar rotas de reservas',
'poi.searchThisArea': 'Pesquisar nesta área', 'poi.searchThisArea': 'Pesquisar nesta área',
'poi.cat.restaurants': 'Restaurantes', 'poi.cat.restaurants': 'Restaurantes',
'poi.cat.cafes': 'Cafés', 'poi.cat.cafes': 'Cafés', // same-as-en
'poi.cat.bars': 'Bares e vida noturna', 'poi.cat.bars': 'Bares e vida noturna',
'poi.cat.hotels': 'Hospedagem', 'poi.cat.hotels': 'Hospedagem',
'poi.cat.sights': 'Pontos turísticos', 'poi.cat.sights': 'Pontos turísticos',
+1 -1
View File
@@ -1,7 +1,7 @@
import type { TranslationStrings } from '../types'; import type { TranslationStrings } from '../types';
const mobileCollections: TranslationStrings = { const mobileCollections: TranslationStrings = {
'mobileCollections.status': 'Status', 'mobileCollections.status': 'Status', // same-as-en
}; };
export default mobileCollections; export default mobileCollections;
+1 -1
View File
@@ -12,7 +12,7 @@ const mobileJourney: TranslationStrings = {
'mobileJourney.daysCount': '{count} dias', 'mobileJourney.daysCount': '{count} dias',
'mobileJourney.daysCount.one': '{count} dia', 'mobileJourney.daysCount.one': '{count} dia',
'mobileJourney.time': 'Hora', 'mobileJourney.time': 'Hora',
'mobileJourney.tags': 'Tags', 'mobileJourney.tags': 'Tags', // same-as-en
'mobileJourney.addTag': 'Adicionar tag', 'mobileJourney.addTag': 'Adicionar tag',
'mobileJourney.uploadFromDevice': 'Enviar do dispositivo', 'mobileJourney.uploadFromDevice': 'Enviar do dispositivo',
'mobileJourney.browseProvider': 'Navegar em {name}', 'mobileJourney.browseProvider': 'Navegar em {name}',
+3 -3
View File
@@ -2,7 +2,7 @@ import type { TranslationStrings } from '../types';
const nav: TranslationStrings = { const nav: TranslationStrings = {
'nav.settings': 'Configurações', 'nav.settings': 'Configurações',
'nav.admin': 'Admin', 'nav.admin': 'Admin', // same-as-en
'nav.logout': 'Sair', 'nav.logout': 'Sair',
'nav.lightMode': 'Modo claro', 'nav.lightMode': 'Modo claro',
'nav.darkMode': 'Modo escuro', 'nav.darkMode': 'Modo escuro',
@@ -13,7 +13,7 @@ const nav: TranslationStrings = {
'nav.bottomSettings': 'Configurações', 'nav.bottomSettings': 'Configurações',
'nav.bottomAdmin': 'Administração', 'nav.bottomAdmin': 'Administração',
'nav.bottomLogout': 'Sair', 'nav.bottomLogout': 'Sair',
'nav.bottomAdminBadge': 'Admin', 'nav.bottomAdminBadge': 'Admin', // same-as-en
'nav.help': 'Help', 'nav.help': 'Ajuda',
}; };
export default nav; export default nav;
+21 -19
View File
@@ -12,7 +12,7 @@ const oauth: TranslationStrings = {
'oauth.scope.group.collab': 'Colaboração', 'oauth.scope.group.collab': 'Colaboração',
'oauth.scope.group.notifications': 'Notificações', 'oauth.scope.group.notifications': 'Notificações',
'oauth.scope.group.vacay': 'Férias', 'oauth.scope.group.vacay': 'Férias',
'oauth.scope.group.geo': 'Geo', 'oauth.scope.group.geo': 'Geo', // same-as-en
'oauth.scope.group.weather': 'Clima', 'oauth.scope.group.weather': 'Clima',
'oauth.scope.group.journey': 'Jornada', 'oauth.scope.group.journey': 'Jornada',
'oauth.scope.trips:read.label': 'Ver viagens e itinerários', 'oauth.scope.trips:read.label': 'Ver viagens e itinerários',
@@ -76,26 +76,28 @@ const oauth: TranslationStrings = {
'oauth.scope.journey:share.label': 'Gerenciar links de jornadas', 'oauth.scope.journey:share.label': 'Gerenciar links de jornadas',
'oauth.scope.journey:share.description': 'oauth.scope.journey:share.description':
'Criar, atualizar e revogar links de compartilhamento públicos para jornadas', 'Criar, atualizar e revogar links de compartilhamento públicos para jornadas',
'oauth.authorize.authorizing': 'Authorizing…', // en-fallback 'oauth.authorize.authorizing': 'Autorizando…',
'oauth.authorize.loading': 'Loading…', // en-fallback 'oauth.authorize.loading': 'Carregando…',
'oauth.authorize.errorTitle': 'Authorization Error', // en-fallback 'oauth.authorize.errorTitle': 'Erro de autorização',
'oauth.authorize.loginTitle': 'Sign in to continue', // en-fallback 'oauth.authorize.loginTitle': 'Entre para continuar',
'oauth.authorize.loginDescription': '{client} wants access to your TREK account. Please sign in first.', // en-fallback 'oauth.authorize.loginDescription': '{client} quer acessar sua conta do TREK. Entre primeiro, por favor.',
'oauth.authorize.loginButton': 'Sign in to TREK', // en-fallback 'oauth.authorize.loginButton': 'Entrar no TREK',
'oauth.authorize.requestLabel': 'Authorization Request', // en-fallback 'oauth.authorize.requestLabel': 'Solicitação de autorização',
'oauth.authorize.requestDescription': 'This application is requesting access to your TREK account.', // en-fallback 'oauth.authorize.requestDescription': 'Este aplicativo está solicitando acesso à sua conta do TREK.',
'oauth.authorize.verifiedHost': 'Domínio verificado: {host}', 'oauth.authorize.verifiedHost': 'Domínio verificado: {host}',
'oauth.authorize.trustNote': 'Only grant access to applications you trust. Your data stays on your server.', // en-fallback 'oauth.authorize.trustNote':
'oauth.authorize.selectScope': 'Select at least one scope', // en-fallback 'Conceda acesso apenas a aplicativos em que você confia. Seus dados ficam no seu servidor.',
'oauth.authorize.selectScope': 'Selecione pelo menos um escopo',
'oauth.authorize.approveScopes': 'Aprovar ({count} escopos)', 'oauth.authorize.approveScopes': 'Aprovar ({count} escopos)',
'oauth.authorize.approveScopes.one': 'Aprovar ({count} escopo)', 'oauth.authorize.approveScopes.one': 'Aprovar ({count} escopo)',
'oauth.authorize.approveAccess': 'Approve Access', // en-fallback 'oauth.authorize.approveAccess': 'Aprovar acesso',
'oauth.authorize.deny': 'Deny', // en-fallback 'oauth.authorize.deny': 'Negar',
'oauth.authorize.choosePermissions': 'Choose which permissions to grant', // en-fallback 'oauth.authorize.choosePermissions': 'Escolha quais permissões conceder',
'oauth.authorize.permissionsRequested': 'Permissions requested', // en-fallback 'oauth.authorize.permissionsRequested': 'Permissões solicitadas',
'oauth.authorize.alwaysIncluded': 'Always included', // en-fallback 'oauth.authorize.alwaysIncluded': 'Sempre incluído',
'oauth.authorize.alwaysTool.listTrips': 'List your trips so the AI can discover trip IDs', // en-fallback 'oauth.authorize.alwaysTool.listTrips': 'Listar suas viagens para que a IA descubra os IDs das viagens',
'oauth.authorize.alwaysTool.getTripSummary': 'Read a trip overview needed to use any other tool', // en-fallback 'oauth.authorize.alwaysTool.getTripSummary':
'Ler o resumo de uma viagem, necessário para usar qualquer outra ferramenta',
'oauth.scope.group.files': 'Arquivos', 'oauth.scope.group.files': 'Arquivos',
'oauth.scope.group.settings': 'Configurações', 'oauth.scope.group.settings': 'Configurações',
'oauth.scope.files:read.label': 'Ver arquivos da viagem', 'oauth.scope.files:read.label': 'Ver arquivos da viagem',
@@ -112,7 +114,7 @@ const oauth: TranslationStrings = {
'oauth.scope.settings:write.label': 'Alterar suas preferências', 'oauth.scope.settings:write.label': 'Alterar suas preferências',
'oauth.scope.settings:write.description': 'oauth.scope.settings:write.description':
'Alterar unidades, formato de hora, idioma, moeda padrão e página inicial. Nunca as chaves de API salvas', 'Alterar unidades, formato de hora, idioma, moeda padrão e página inicial. Nunca as chaves de API salvas',
'oauth.scope.group.plugins': 'Plugins', 'oauth.scope.group.plugins': 'Plugins', // same-as-en
'oauth.scope.plugins:use.label': 'Executar ferramentas de plugins', 'oauth.scope.plugins:use.label': 'Executar ferramentas de plugins',
'oauth.scope.plugins:use.description': 'oauth.scope.plugins:use.description':
'Permite que este cliente chame ferramentas publicadas pelos plugins que um administrador instalou e aprovou. Cada plugin age com as permissões que já recebeu, não com os escopos deste token', 'Permite que este cliente chame ferramentas publicadas pelos plugins que um administrador instalou e aprovou. Cada plugin age com as permissões que já recebeu, não com os escopos deste token',
+3 -3
View File
@@ -89,8 +89,8 @@ const places: TranslationStrings = {
'places.formAddressPlaceholder': 'Rua, cidade, país', 'places.formAddressPlaceholder': 'Rua, cidade, país',
'places.formLat': 'Latitude (ex.: -23.5505)', 'places.formLat': 'Latitude (ex.: -23.5505)',
'places.formLng': 'Longitude (ex.: -46.6333)', 'places.formLng': 'Longitude (ex.: -46.6333)',
'places.formLatLabel': 'Latitude', 'places.formLatLabel': 'Latitude', // same-as-en
'places.formLngLabel': 'Longitude', 'places.formLngLabel': 'Longitude', // same-as-en
'places.formCategory': 'Categoria', 'places.formCategory': 'Categoria',
'places.noCategory': 'Sem categoria', 'places.noCategory': 'Sem categoria',
'places.newCategory': 'Nova categoria', 'places.newCategory': 'Nova categoria',
@@ -103,7 +103,7 @@ const places: TranslationStrings = {
'places.timeCollision': 'Sobreposição de horário com:', 'places.timeCollision': 'Sobreposição de horário com:',
'places.formWebsite': 'Site', 'places.formWebsite': 'Site',
'places.formPhone': 'Telefone', 'places.formPhone': 'Telefone',
'places.formEmail': 'E-mail', 'places.formEmail': 'E-mail', // same-as-en
'places.hoursAdd': 'Adicionar horário de funcionamento', 'places.hoursAdd': 'Adicionar horário de funcionamento',
'places.hoursClosed': 'Fechado', 'places.hoursClosed': 'Fechado',
'places.hoursOpens': 'abre', 'places.hoursOpens': 'abre',
+7 -7
View File
@@ -12,7 +12,7 @@ const reservations: TranslationStrings = {
'reservations.summary': '{confirmed} confirmada(s), {pending} pendente(s)', 'reservations.summary': '{confirmed} confirmada(s), {pending} pendente(s)',
'reservations.showFiles': 'Mostrar arquivos', 'reservations.showFiles': 'Mostrar arquivos',
'reservations.editTitle': 'Editar reserva', 'reservations.editTitle': 'Editar reserva',
'reservations.status': 'Status', 'reservations.status': 'Status', // same-as-en
'reservations.datetime': 'Data e hora', 'reservations.datetime': 'Data e hora',
'reservations.startTime': 'Horário de início', 'reservations.startTime': 'Horário de início',
'reservations.endTime': 'Horário de término', 'reservations.endTime': 'Horário de término',
@@ -40,9 +40,9 @@ const reservations: TranslationStrings = {
'reservations.meta.trainNumber': 'Nº do trem', 'reservations.meta.trainNumber': 'Nº do trem',
'reservations.meta.platform': 'Plataforma', 'reservations.meta.platform': 'Plataforma',
'reservations.meta.seat': 'Assento', 'reservations.meta.seat': 'Assento',
'reservations.meta.checkIn': 'Check-in', 'reservations.meta.checkIn': 'Check-in', // same-as-en
'reservations.meta.checkInUntil': 'Check-in até', 'reservations.meta.checkInUntil': 'Check-in até',
'reservations.meta.checkOut': 'Check-out', 'reservations.meta.checkOut': 'Check-out', // same-as-en
'reservations.meta.linkAccommodation': 'Hospedagem', 'reservations.meta.linkAccommodation': 'Hospedagem',
'reservations.meta.pickAccommodation': 'Vincular à hospedagem', 'reservations.meta.pickAccommodation': 'Vincular à hospedagem',
'reservations.meta.noAccommodation': 'Nenhuma', 'reservations.meta.noAccommodation': 'Nenhuma',
@@ -192,7 +192,7 @@ const reservations: TranslationStrings = {
'reservations.linkExpense': 'Vincular despesa existente', 'reservations.linkExpense': 'Vincular despesa existente',
'reservations.unlinkExpense': 'Desvincular, manter a despesa', 'reservations.unlinkExpense': 'Desvincular, manter a despesa',
'reservations.noUnlinkedExpenses': 'Nenhuma despesa sem vínculo', 'reservations.noUnlinkedExpenses': 'Nenhuma despesa sem vínculo',
'reservations.urlLabel': 'Link', 'reservations.urlLabel': 'Link', // same-as-en
'reservations.urlPlaceholder': 'https://...', 'reservations.urlPlaceholder': 'https://...',
'reservations.travelers.label': 'Viajantes', 'reservations.travelers.label': 'Viajantes',
'reservations.travelers.assign': 'Atribuir viajantes', 'reservations.travelers.assign': 'Atribuir viajantes',
@@ -220,7 +220,7 @@ const reservations: TranslationStrings = {
'reservations.export.notes': 'Notas', 'reservations.export.notes': 'Notas',
'reservations.resetView': 'Redefinir visualização', 'reservations.resetView': 'Redefinir visualização',
'reservations.group.label': 'Agrupar por', 'reservations.group.label': 'Agrupar por',
'reservations.group.status': 'Status', 'reservations.group.status': 'Status', // same-as-en
'reservations.group.day': 'Dia', 'reservations.group.day': 'Dia',
'reservations.group.type': 'Tipo', 'reservations.group.type': 'Tipo',
'reservations.group.none': 'Sem agrupamento', 'reservations.group.none': 'Sem agrupamento',
@@ -232,14 +232,14 @@ const reservations: TranslationStrings = {
'reservations.sort.date': 'Data', 'reservations.sort.date': 'Data',
'reservations.sort.title': 'Título', 'reservations.sort.title': 'Título',
'reservations.sort.type': 'Tipo', 'reservations.sort.type': 'Tipo',
'reservations.sort.status': 'Status', 'reservations.sort.status': 'Status', // same-as-en
'reservations.sort.earlyFirst': 'Mais cedo primeiro', 'reservations.sort.earlyFirst': 'Mais cedo primeiro',
'reservations.sort.lateFirst': 'Mais tarde primeiro', 'reservations.sort.lateFirst': 'Mais tarde primeiro',
'reservations.sort.aToZ': 'A a Z', 'reservations.sort.aToZ': 'A a Z',
'reservations.sort.zToA': 'Z a A', 'reservations.sort.zToA': 'Z a A',
'reservations.timeline.dayCount': '{count} dias', 'reservations.timeline.dayCount': '{count} dias',
'reservations.timeline.dayCount.one': '{count} dia', 'reservations.timeline.dayCount.one': '{count} dia',
'reservations.timeline.zoom': 'Zoom', 'reservations.timeline.zoom': 'Zoom', // same-as-en
'reservations.timeline.trip': 'Viagem', 'reservations.timeline.trip': 'Viagem',
'reservations.timeline.day': 'Dia', 'reservations.timeline.day': 'Dia',
'reservations.timeline.prevDay': 'Dia anterior', 'reservations.timeline.prevDay': 'Dia anterior',
+4 -4
View File
@@ -218,7 +218,7 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.alongRoute': 'após {distance}', 'roadtrip.poi.alongRoute': 'após {distance}',
'roadtrip.poi.clearResults': 'Limpar resultados', 'roadtrip.poi.clearResults': 'Limpar resultados',
'roadtrip.poi.addManual': 'Adicionar manualmente', 'roadtrip.poi.addManual': 'Adicionar manualmente',
'roadtrip.poi.addManualShort': 'Manual', 'roadtrip.poi.addManualShort': 'Manual', // same-as-en
'roadtrip.poi.manualHint': 'roadtrip.poi.manualHint':
'A busca de locais não encontra todos os pontos de recarga nem todos os postos. Procure um pelo nome e diga em que ponto do trajeto ele entra.', 'A busca de locais não encontra todos os pontos de recarga nem todos os postos. Procure um pelo nome e diga em que ponto do trajeto ele entra.',
'roadtrip.poi.addBetween': 'Adicionar entre', 'roadtrip.poi.addBetween': 'Adicionar entre',
@@ -311,7 +311,7 @@ const roadtrip: TranslationStrings = {
'A reserva {title} não está em nenhum dia desta viagem, por isso o percurso não a considera.', 'A reserva {title} não está em nenhum dia desta viagem, por isso o percurso não a considera.',
'roadtrip.bookings.loose': 'Também reservado neste dia', 'roadtrip.bookings.loose': 'Também reservado neste dia',
'roadtrip.ride.departureFlight': 'Partida {time}', 'roadtrip.ride.departureFlight': 'Partida {time}',
'roadtrip.ride.checkIn': 'Check-in', 'roadtrip.ride.checkIn': 'Check-in', // same-as-en
'roadtrip.ride.boarding': 'Embarque', 'roadtrip.ride.boarding': 'Embarque',
'roadtrip.ride.missed': 'Perdido', 'roadtrip.ride.missed': 'Perdido',
'roadtrip.ride.lateBy': '{time} de atraso', 'roadtrip.ride.lateBy': '{time} de atraso',
@@ -330,10 +330,10 @@ const roadtrip: TranslationStrings = {
'roadtrip.day.rideMissed.ferry': 'Balsa perdida', 'roadtrip.day.rideMissed.ferry': 'Balsa perdida',
'roadtrip.day.rideMissed.cruise': 'Cruzeiro perdido', 'roadtrip.day.rideMissed.cruise': 'Cruzeiro perdido',
'roadtrip.day.rideMissed.bus': 'Ônibus perdido', 'roadtrip.day.rideMissed.bus': 'Ônibus perdido',
'roadtrip.bookend.checkOut': 'Check-out', 'roadtrip.bookend.checkOut': 'Check-out', // same-as-en
'roadtrip.bookend.from': 'Início do dia', 'roadtrip.bookend.from': 'Início do dia',
'roadtrip.bookend.back': 'Pernoite', 'roadtrip.bookend.back': 'Pernoite',
'roadtrip.bookend.checkIn': 'Check-in', 'roadtrip.bookend.checkIn': 'Check-in', // same-as-en
'roadtrip.bookend.afterCheckOut': 'Saída depois do check-out', 'roadtrip.bookend.afterCheckOut': 'Saída depois do check-out',
'roadtrip.bookend.noVia': 'roadtrip.bookend.noVia':
'Não dá para colocar um ponto de passagem no trajeto de ida ou volta da sua hospedagem. Adicione uma parada ali.', 'Não dá para colocar um ponto de passagem no trajeto de ida ou volta da sua hospedagem. Adicione uma parada ali.',
+87 -85
View File
@@ -11,7 +11,7 @@ const settings: TranslationStrings = {
'settings.plugins.oauth.notConnected': 'Não conectado', 'settings.plugins.oauth.notConnected': 'Não conectado',
'settings.plugins.oauth.connect': 'Conectar', 'settings.plugins.oauth.connect': 'Conectar',
'settings.plugins.oauth.disconnect': 'Desconectar', 'settings.plugins.oauth.disconnect': 'Desconectar',
'settings.tabs.plugins': 'Plugins', 'settings.tabs.plugins': 'Plugins', // same-as-en
'settings.plugins.title': 'Configurações de plugins', 'settings.plugins.title': 'Configurações de plugins',
'settings.plugins.subtitle': 'settings.plugins.subtitle':
'Suas configurações pessoais para os plugins que você usa (chaves de API, preferências).', 'Suas configurações pessoais para os plugins que você usa (chaves de API, preferências).',
@@ -19,7 +19,7 @@ const settings: TranslationStrings = {
'settings.plugins.saved': 'Configurações salvas', 'settings.plugins.saved': 'Configurações salvas',
'settings.plugins.requiredMissing': '"{field}" é obrigatório', 'settings.plugins.requiredMissing': '"{field}" é obrigatório',
'settings.tabs.account': 'Conta', 'settings.tabs.account': 'Conta',
'settings.tabs.offline': 'Offline', 'settings.tabs.offline': 'Offline', // same-as-en
'settings.tabs.about': 'Sobre', 'settings.tabs.about': 'Sobre',
'settings.map': 'Mapa', 'settings.map': 'Mapa',
'settings.mapTemplate': 'Modelo de mapa', 'settings.mapTemplate': 'Modelo de mapa',
@@ -37,7 +37,7 @@ const settings: TranslationStrings = {
'settings.mapLeafletSubtitle': 'Clássico 2D, quaisquer blocos raster', 'settings.mapLeafletSubtitle': 'Clássico 2D, quaisquer blocos raster',
'settings.mapMapboxSubtitle': 'Blocos vetoriais, prédios 3D & terreno', 'settings.mapMapboxSubtitle': 'Blocos vetoriais, prédios 3D & terreno',
'settings.mapMapLibreSubtitle': 'Blocos vetoriais OpenFreeMap, sem token', 'settings.mapMapLibreSubtitle': 'Blocos vetoriais OpenFreeMap, sem token',
'settings.mapExperimental': 'Experimental', 'settings.mapExperimental': 'Experimental', // same-as-en
'settings.mapMapboxToken': 'Token de acesso Mapbox', 'settings.mapMapboxToken': 'Token de acesso Mapbox',
'settings.mapMapboxTokenHint': 'Token público (pk.*) de', 'settings.mapMapboxTokenHint': 'Token público (pk.*) de',
'settings.mapMapboxTokenLink': 'mapbox.com → Tokens de acesso', 'settings.mapMapboxTokenLink': 'mapbox.com → Tokens de acesso',
@@ -87,8 +87,9 @@ const settings: TranslationStrings = {
'settings.preferredNavAppHint': 'settings.preferredNavAppHint':
'Com um app escolhido, o botão de navegação o abre direto em vez de oferecer todos os apps de mapa.', 'Com um app escolhido, o botão de navegação o abre direto em vez de oferecer todos os apps de mapa.',
'settings.blurBookingCodes': 'Ocultar códigos de reserva', 'settings.blurBookingCodes': 'Ocultar códigos de reserva',
'settings.aiAlwaysRetry': 'Always retry booking imports with AI', 'settings.aiAlwaysRetry': 'Sempre tentar de novo importar reservas com IA',
'settings.aiAlwaysRetryHint': 'When a file cannot be read by the standard parser, automatically retry it with AI.', 'settings.aiAlwaysRetryHint':
'Quando o leitor padrão não consegue ler um arquivo, tenta de novo automaticamente com IA.',
'settings.optimizeFromAccommodation': 'Otimizar rota a partir da hospedagem', 'settings.optimizeFromAccommodation': 'Otimizar rota a partir da hospedagem',
'settings.optimizeFromAccommodationHint': 'settings.optimizeFromAccommodationHint':
'Ao otimizar um dia, comece a rota no hotel onde você acorda e termine no hotel em que você faz check-in à noite.', 'Ao otimizar um dia, comece a rota no hotel onde você acorda e termine no hotel em que você faz check-in à noite.',
@@ -121,20 +122,20 @@ const settings: TranslationStrings = {
'settings.about.featureRequestHint': 'Sugira um novo recurso', 'settings.about.featureRequestHint': 'Sugira um novo recurso',
'settings.about.wikiHint': 'Documentação e guias', 'settings.about.wikiHint': 'Documentação e guias',
'settings.about.descriptionManaged': 'settings.about.descriptionManaged':
'TREK helps you organize your trips from the first idea to the last memory. Day planning, budget, packing lists, photos and much more — all in one place.', 'O TREK ajuda você a organizar suas viagens, da primeira ideia à última lembrança. Planejamento diário, orçamento, listas de bagagem, fotos e muito mais, tudo em um só lugar.',
'settings.about.sourceTitle': 'Source code', 'settings.about.sourceTitle': 'Código-fonte',
'settings.about.sourceHint': 'TREK is open source, licensed AGPL-3.0', 'settings.about.sourceHint': 'O TREK é de código aberto, licenciado sob AGPL-3.0',
'settings.about.supporters.badge': 'Apoiadores Mensais', 'settings.about.supporters.badge': 'Apoiadores Mensais',
'settings.about.supporters.title': 'Companheiros de viagem do TREK', 'settings.about.supporters.title': 'Companheiros de viagem do TREK',
'settings.about.supporters.subtitle': 'settings.about.supporters.subtitle':
'Enquanto você planeja sua próxima rota, essas pessoas planejam junto o futuro do TREK. A contribuição mensal delas vai direto para o desenvolvimento e horas reais investidas — para o TREK continuar Open Source.', 'Enquanto você planeja sua próxima rota, essas pessoas planejam junto o futuro do TREK. A contribuição mensal delas vai direto para o desenvolvimento e horas reais investidas — para o TREK continuar Open Source.',
'settings.about.supporters.since': 'apoiador desde {date}', 'settings.about.supporters.since': 'apoiador desde {date}',
'settings.about.supporters.tierEmpty': 'Seja o primeiro', 'settings.about.supporters.tierEmpty': 'Seja o primeiro',
'settings.about.supporter.tier.noReturnTicket': 'No Return Ticket', 'settings.about.supporter.tier.noReturnTicket': 'Sem passagem de volta',
'settings.about.supporter.tier.lostLuggageVip': 'Lost Luggage VIP', 'settings.about.supporter.tier.lostLuggageVip': 'VIP da bagagem extraviada',
'settings.about.supporter.tier.businessClassDreamer': 'Business Class Dreamer', 'settings.about.supporter.tier.businessClassDreamer': 'Sonhador da classe executiva',
'settings.about.supporter.tier.budgetTraveller': 'Budget Traveller', 'settings.about.supporter.tier.budgetTraveller': 'Viajante econômico',
'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate', 'settings.about.supporter.tier.hostelBunkmate': 'Colega de beliche no hostel',
'settings.about.description': 'settings.about.description':
'TREK é um planejador de viagens auto-hospedado que ajuda você a organizar suas viagens da primeira ideia à última lembrança. Planejamento diário, orçamento, listas de bagagem, fotos e muito mais — tudo em um só lugar, no seu próprio servidor.', 'TREK é um planejador de viagens auto-hospedado que ajuda você a organizar suas viagens da primeira ideia à última lembrança. Planejamento diário, orçamento, listas de bagagem, fotos e muito mais — tudo em um só lugar, no seu próprio servidor.',
'settings.about.madeWith': 'Feito com', 'settings.about.madeWith': 'Feito com',
@@ -312,7 +313,7 @@ const settings: TranslationStrings = {
'settings.webhookUrl.testSuccess': 'Webhook de teste enviado com sucesso', 'settings.webhookUrl.testSuccess': 'Webhook de teste enviado com sucesso',
'settings.webhookUrl.testFailed': 'Falha no webhook de teste', 'settings.webhookUrl.testFailed': 'Falha no webhook de teste',
'settings.ntfyUrl.topicLabel': 'Tópico Ntfy', 'settings.ntfyUrl.topicLabel': 'Tópico Ntfy',
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', 'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', // same-as-en
'settings.ntfyUrl.serverLabel': 'URL do servidor Ntfy (opcional)', 'settings.ntfyUrl.serverLabel': 'URL do servidor Ntfy (opcional)',
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh', 'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
'settings.ntfyUrl.hint': 'settings.ntfyUrl.hint':
@@ -336,9 +337,9 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.pluginConfigured': 'settings.notificationPreferences.pluginConfigured':
'Configurado. Gerencie suas credenciais na página de configurações do plugin.', 'Configurado. Gerencie suas credenciais na página de configurações do plugin.',
'settings.notificationPreferences.webhook': 'Webhook', 'settings.notificationPreferences.webhook': 'Webhook',
'settings.notificationPreferences.email': 'Email', 'settings.notificationPreferences.email': 'E-mail',
'settings.notificationPreferences.ntfy': 'Ntfy', 'settings.notificationPreferences.ntfy': 'Ntfy',
'settings.notificationPreferences.push': 'Push', 'settings.notificationPreferences.push': 'Push', // same-as-en
'settings.webPush.title': 'Notificações push neste dispositivo', 'settings.webPush.title': 'Notificações push neste dispositivo',
'settings.webPush.hint': 'settings.webPush.hint':
'Mostra as notificações do TREK neste dispositivo mesmo com o TREK fechado. Os eventos que chegam seguem a coluna Push.', 'Mostra as notificações do TREK neste dispositivo mesmo com o TREK fechado. Os eventos que chegam seguem a coluna Push.',
@@ -359,7 +360,7 @@ const settings: TranslationStrings = {
'settings.placeLanguageApp': 'Igual ao app', 'settings.placeLanguageApp': 'Igual ao app',
'settings.placeLanguageHint': 'settings.placeLanguageHint':
'O idioma em que a busca de lugares, as sugestões e os endereços respondem. Quando um lugar não tem nome nesse idioma, o nome local é exibido.', 'O idioma em que a busca de lugares, as sugestões e os endereços respondem. Quando um lugar não tem nome nesse idioma, o nome local é exibido.',
'settings.passkey.title': 'Passkeys', 'settings.passkey.title': 'Passkeys', // same-as-en
'settings.passkey.description': 'settings.passkey.description':
'Entre mais rápido e com proteção contra phishing usando uma passkey: sua impressão digital, rosto, PIN ou uma chave de segurança física. Sua senha continua disponível como reserva.', 'Entre mais rápido e com proteção contra phishing usando uma passkey: sua impressão digital, rosto, PIN ou uma chave de segurança física. Sua senha continua disponível como reserva.',
'settings.passkey.notConfigured': 'settings.passkey.notConfigured':
@@ -376,7 +377,7 @@ const settings: TranslationStrings = {
'settings.passkey.deleted': 'Passkey removida', 'settings.passkey.deleted': 'Passkey removida',
'settings.passkey.deleteConfirm': 'Remover esta passkey? Confirme com sua senha.', 'settings.passkey.deleteConfirm': 'Remover esta passkey? Confirme com sua senha.',
'settings.passkey.rename': 'Renomear', 'settings.passkey.rename': 'Renomear',
'settings.passkey.defaultName': 'Passkey', 'settings.passkey.defaultName': 'Passkey', // same-as-en
'settings.passkey.synced': 'Sincronizada', 'settings.passkey.synced': 'Sincronizada',
'settings.passkey.deviceBound': 'Este dispositivo', 'settings.passkey.deviceBound': 'Este dispositivo',
'settings.passkey.lastUsed': 'Último uso', 'settings.passkey.lastUsed': 'Último uso',
@@ -408,7 +409,7 @@ const settings: TranslationStrings = {
'settings.aiParsing.hint': 'settings.aiParsing.hint':
'Escolha o modelo de IA usado para extrair reservas dos arquivos enviados. Isso se aplica apenas quando o administrador não configurou um modelo para toda a instância.', 'Escolha o modelo de IA usado para extrair reservas dos arquivos enviados. Isso se aplica apenas quando o administrador não configurou um modelo para toda a instância.',
'settings.aiParsing.provider': 'Provedor', 'settings.aiParsing.provider': 'Provedor',
'settings.aiParsing.providerLocal': 'Local (Ollama)', 'settings.aiParsing.providerLocal': 'Local (Ollama)', // same-as-en
'settings.aiParsing.providerOpenai': 'OpenAI', 'settings.aiParsing.providerOpenai': 'OpenAI',
'settings.aiParsing.providerAnthropic': 'Anthropic', 'settings.aiParsing.providerAnthropic': 'Anthropic',
'settings.aiParsing.localAdminOnly': 'settings.aiParsing.localAdminOnly':
@@ -424,70 +425,71 @@ const settings: TranslationStrings = {
'Ative para um modelo que lê imagens, assim uma foto pode ser importada ou escaneada.', 'Ative para um modelo que lê imagens, assim uma foto pode ser importada ou escaneada.',
'settings.aiParsing.toast.saved': 'Configurações de IA salvas', 'settings.aiParsing.toast.saved': 'Configurações de IA salvas',
'settings.aiParsing.toast.saveError': 'Não foi possível salvar as configurações de IA', 'settings.aiParsing.toast.saveError': 'Não foi possível salvar as configurações de IA',
'settings.tabs.appearance': 'Appearance', 'settings.tabs.appearance': 'Aparência',
'settings.appearance.theme': 'Theme', 'settings.appearance.theme': 'Tema',
'settings.appearance.scheme': 'Color scheme', 'settings.appearance.scheme': 'Esquema de cores',
'settings.appearance.scheme.default': 'Default', 'settings.appearance.scheme.default': 'Padrão',
'settings.appearance.scheme.highContrast': 'High contrast', 'settings.appearance.scheme.highContrast': 'Alto contraste',
'settings.appearance.scheme.indigo': 'Indigo', 'settings.appearance.scheme.indigo': 'Índigo',
'settings.appearance.scheme.teal': 'Teal', 'settings.appearance.scheme.teal': 'Azul-petróleo',
'settings.appearance.scheme.rose': 'Rose', 'settings.appearance.scheme.rose': 'Rosa',
'settings.appearance.scheme.amber': 'Amber', 'settings.appearance.scheme.amber': 'Âmbar',
'settings.appearance.scheme.violet': 'Violet', 'settings.appearance.scheme.violet': 'Violeta',
'settings.appearance.scheme.custom': 'Custom', 'settings.appearance.scheme.custom': 'Personalizado',
'settings.appearance.customAccent': 'Custom accent', 'settings.appearance.customAccent': 'Cor de destaque personalizada',
'settings.appearance.contrastOk': 'Good contrast', 'settings.appearance.contrastOk': 'Bom contraste',
'settings.appearance.contrastLow': 'Low contrast', 'settings.appearance.contrastLow': 'Contraste baixo',
'settings.appearance.readability': 'Readability', 'settings.appearance.readability': 'Legibilidade',
'settings.appearance.transparency': 'Transparency', 'settings.appearance.transparency': 'Transparência',
'settings.appearance.transparencyHint': 'settings.appearance.transparencyHint':
'Glassy translucent surfaces. Turn off for solid, higher-contrast backgrounds.', 'Superfícies translúcidas como vidro. Desative para fundos sólidos e de maior contraste.',
'settings.appearance.reduceMotion': 'Reduce motion', 'settings.appearance.reduceMotion': 'Reduzir movimento',
'settings.appearance.reduceMotionHint': 'Minimize animations and transitions.', 'settings.appearance.reduceMotionHint': 'Minimiza animações e transições.',
'settings.appearance.density': 'Density', 'settings.appearance.density': 'Densidade',
'settings.appearance.comfortable': 'Comfortable', 'settings.appearance.comfortable': 'Confortável',
'settings.appearance.compact': 'Compact', 'settings.appearance.compact': 'Compacta',
'settings.appearance.textSize': 'Text size', 'settings.appearance.textSize': 'Tamanho do texto',
'settings.appearance.advancedTextSizes': 'Advanced text sizes', 'settings.appearance.advancedTextSizes': 'Tamanhos de texto avançados',
'settings.appearance.hideAdvanced': 'Hide advanced', 'settings.appearance.hideAdvanced': 'Ocultar avançado',
'settings.appearance.tier.title': 'Titles', 'settings.appearance.tier.title': 'Títulos',
'settings.appearance.tier.subtitle': 'Subtitles', 'settings.appearance.tier.subtitle': 'Subtítulos',
'settings.appearance.tier.body': 'Body', 'settings.appearance.tier.body': 'Corpo do texto',
'settings.appearance.tier.caption': 'Captions', 'settings.appearance.tier.caption': 'Legendas',
'settings.appearance.dashboardWidgets': 'Dashboard widgets', 'settings.appearance.dashboardWidgets': 'Widgets do painel',
'settings.appearance.dashboardWidgetsHint': 'Show or hide dashboard widgets independently on desktop and mobile.', 'settings.appearance.dashboardWidgetsHint':
'settings.appearance.desktop': 'Desktop', 'Mostre ou oculte os widgets do painel separadamente no computador e no celular.',
'settings.appearance.mobile': 'Mobile', 'settings.appearance.desktop': 'Computador',
'settings.appearance.widget.sidebar': 'Right sidebar', 'settings.appearance.mobile': 'Celular',
'settings.appearance.widget.currency': 'Currency', 'settings.appearance.widget.sidebar': 'Barra lateral direita',
'settings.appearance.widget.currency': 'Moeda',
'settings.appearance.widget.collections': 'Coleções', 'settings.appearance.widget.collections': 'Coleções',
'settings.appearance.widget.timezones': 'Timezones', 'settings.appearance.widget.timezones': 'Fusos horários',
'settings.appearance.widget.upcomingReservations': 'Upcoming reservations', 'settings.appearance.widget.upcomingReservations': 'Próximas reservas',
'settings.appearance.widget.atlas': 'Atlas / countries', 'settings.appearance.widget.atlas': 'Atlas / países',
'settings.appearance.widget.tripsTotal': 'Trips total', 'settings.appearance.widget.tripsTotal': 'Total de viagens',
'settings.appearance.widget.daysTraveled': 'Days traveled', 'settings.appearance.widget.daysTraveled': 'Dias viajados',
'settings.appearance.widget.distanceFlown': 'Distance flown', 'settings.appearance.widget.distanceFlown': 'Distância voada',
'settings.appearance.reset': 'Reset to defaults', 'settings.appearance.reset': 'Restaurar padrões',
'settings.appearance.group.belowHero': 'Below the hero', 'settings.appearance.group.belowHero': 'Abaixo do destaque',
'settings.appearance.group.bottomOfPage': 'Bottom of page', 'settings.appearance.group.bottomOfPage': 'Final da página',
'settings.appearance.sidebarHint': 'The whole right column. Turn off and the dashboard centers.', 'settings.appearance.sidebarHint': 'A coluna direita inteira. Se desativar, o painel fica centralizado.',
'settings.appearance.densityHint': 'settings.appearance.densityHint':
'Compact tightens spacing and padding for a denser layout that fits more on screen.', 'O modo compacto reduz espaçamentos e margens para um layout mais denso, que cabe mais coisa na tela.',
'settings.appearance.textSizeAll': 'Everything', 'settings.appearance.textSizeAll': 'Tudo',
'settings.appearance.perSize': 'Adjust each size separately', 'settings.appearance.perSize': 'Ajustar cada tamanho separadamente',
'settings.appearance.size.large': 'Large', 'settings.appearance.size.large': 'Grande',
'settings.appearance.size.medium': 'Medium', 'settings.appearance.size.medium': 'Médio',
'settings.appearance.size.normal': 'Normal', 'settings.appearance.size.normal': 'Normal', // same-as-en
'settings.appearance.size.small': 'Small', 'settings.appearance.size.small': 'Pequeno',
'settings.appearance.preview.large': 'Large heading', 'settings.appearance.preview.large': 'Título grande',
'settings.appearance.preview.medium': 'Medium subtitle', 'settings.appearance.preview.medium': 'Subtítulo médio',
'settings.appearance.preview.normal': 'Normal body text', 'settings.appearance.preview.normal': 'Texto normal',
'settings.appearance.preview.small': 'Small caption / address', 'settings.appearance.preview.small': 'Legenda / endereço pequeno',
'settings.appearance.example.large': 'Headings, big numbers', 'settings.appearance.example.large': 'Títulos, números grandes',
'settings.appearance.example.medium': 'Sub-headings', 'settings.appearance.example.medium': 'Subtítulos',
'settings.appearance.example.normal': 'Place names, descriptions', 'settings.appearance.example.normal': 'Nomes de lugares, descrições',
'settings.appearance.example.small': 'Addresses, labels', 'settings.appearance.example.small': 'Endereços, rótulos',
'settings.appearance.experimental': 'Experimental', 'settings.appearance.experimental': 'Experimental', // same-as-en
'settings.appearance.mobileNav': 'Barra inferior', 'settings.appearance.mobileNav': 'Barra inferior',
'settings.appearance.mobileNav.hint': 'settings.appearance.mobileNav.hint':
'Escolha quais itens aparecem na barra e quais ficam em “Mais”. O Dashboard vem sempre primeiro.', 'Escolha quais itens aparecem na barra e quais ficam em “Mais”. O Dashboard vem sempre primeiro.',
@@ -502,8 +504,8 @@ const settings: TranslationStrings = {
'Reorganize como a lista de viagens e os widgets se empilham no painel do celular. A viagem em destaque fica sempre no topo.', 'Reorganize como a lista de viagens e os widgets se empilham no painel do celular. A viagem em destaque fica sempre no topo.',
'settings.appearance.dashOrder.trips': 'Viagens', 'settings.appearance.dashOrder.trips': 'Viagens',
'settings.appearance.dashOrder.hidden': 'Oculto', 'settings.appearance.dashOrder.hidden': 'Oculto',
'settings.general.languageRegion': 'Language & region', 'settings.general.languageRegion': 'Idioma e região',
'settings.general.travelMap': 'Travel & map', 'settings.general.travelMap': 'Viagem e mapa',
'settings.general.startup': 'Inicialização', 'settings.general.startup': 'Inicialização',
'settings.dayDateFirst': 'Data primeiro nos títulos dos dias', 'settings.dayDateFirst': 'Data primeiro nos títulos dos dias',
'settings.compactUnplanned': 'Marcadores compactos para lugares não planejados', 'settings.compactUnplanned': 'Marcadores compactos para lugares não planejados',
@@ -581,7 +583,7 @@ const settings: TranslationStrings = {
'settings.offline.conflicts.strategy.ask': 'Perguntar sempre', 'settings.offline.conflicts.strategy.ask': 'Perguntar sempre',
'settings.offline.conflicts.strategy.mine': 'Sempre manter a minha versão', 'settings.offline.conflicts.strategy.mine': 'Sempre manter a minha versão',
'settings.offline.conflicts.strategy.server': 'Sempre manter a versão do servidor', 'settings.offline.conflicts.strategy.server': 'Sempre manter a versão do servidor',
'settings.offline.banner.offline': 'Offline', 'settings.offline.banner.offline': 'Offline', // same-as-en
'settings.offline.banner.forced': 'Modo offline', 'settings.offline.banner.forced': 'Modo offline',
'settings.offline.banner.queued': 'Offline · {count} na fila', 'settings.offline.banner.queued': 'Offline · {count} na fila',
'settings.offline.banner.queued.one': 'Offline · {count} na fila', 'settings.offline.banner.queued.one': 'Offline · {count} na fila',
@@ -595,7 +597,7 @@ const settings: TranslationStrings = {
'settings.pluginActivity.description': 'Cada ação que um plugin realizou em seu nome, das mais recentes primeiro.', 'settings.pluginActivity.description': 'Cada ação que um plugin realizou em seu nome, das mais recentes primeiro.',
'settings.pluginActivity.empty': 'Ainda não há atividade de plugins.', 'settings.pluginActivity.empty': 'Ainda não há atividade de plugins.',
'settings.pluginActivity.refresh': 'Atualizar', 'settings.pluginActivity.refresh': 'Atualizar',
'settings.pluginActivity.columns.plugin': 'Plugin', 'settings.pluginActivity.columns.plugin': 'Plugin', // same-as-en
'settings.pluginActivity.columns.action': 'Ação', 'settings.pluginActivity.columns.action': 'Ação',
'settings.pluginActivity.columns.resource': 'Recurso', 'settings.pluginActivity.columns.resource': 'Recurso',
'settings.pluginActivity.columns.when': 'Quando', 'settings.pluginActivity.columns.when': 'Quando',
@@ -635,7 +637,7 @@ const settings: TranslationStrings = {
'settings.apiKeys.createFailed': 'Não foi possível criar a chave', 'settings.apiKeys.createFailed': 'Não foi possível criar a chave',
'settings.apiKeys.copy': 'Copiar', 'settings.apiKeys.copy': 'Copiar',
'settings.apiKeys.docsHint': 'Envie a chave como "Authorization: Bearer ..." ou "X-API-Key: ..." para /api/v1.', 'settings.apiKeys.docsHint': 'Envie a chave como "Authorization: Bearer ..." ou "X-API-Key: ..." para /api/v1.',
'settings.apiKeys.endpoint': 'Endpoint', 'settings.apiKeys.endpoint': 'Endpoint', // same-as-en
'settings.apiKeys.neverUsed': 'nunca usada', 'settings.apiKeys.neverUsed': 'nunca usada',
'settings.apiKeys.loadFailed': 'Não foi possível carregar suas chaves. Recarregue a página para tentar de novo.', 'settings.apiKeys.loadFailed': 'Não foi possível carregar suas chaves. Recarregue a página para tentar de novo.',
'settings.apiKeys.limitReached': 'settings.apiKeys.limitReached':
+1 -1
View File
@@ -11,7 +11,7 @@ const share: TranslationStrings = {
'share.permBookings': 'Reservas', 'share.permBookings': 'Reservas',
'share.permPacking': 'Mala', 'share.permPacking': 'Mala',
'share.permBudget': 'Custos', 'share.permBudget': 'Custos',
'share.permCollab': 'Chat', 'share.permCollab': 'Chat', // same-as-en
'share.options': 'Opções', 'share.options': 'Opções',
'share.optTravelOnly': 'Só transporte e hospedagem', 'share.optTravelOnly': 'Só transporte e hospedagem',
'share.optTravelOnlyHint': 'Mostra apenas transporte e hospedagem, sem atividades, notas do dia e dias vazios', 'share.optTravelOnlyHint': 'Mostra apenas transporte e hospedagem, sem atividades, notas do dia e dias vazios',
+1 -1
View File
@@ -12,7 +12,7 @@ const shared: TranslationStrings = {
'shared.tabBookings': 'Reservas', 'shared.tabBookings': 'Reservas',
'shared.tabPacking': 'Bagagem', 'shared.tabPacking': 'Bagagem',
'shared.tabBudget': 'Custos', 'shared.tabBudget': 'Custos',
'shared.tabChat': 'Chat', 'shared.tabChat': 'Chat', // same-as-en
'shared.days': 'dias', 'shared.days': 'dias',
'shared.places': 'lugares', 'shared.places': 'lugares',
'shared.places.one': 'lugar', 'shared.places.one': 'lugar',
+4 -4
View File
@@ -6,7 +6,7 @@ const storage: TranslationStrings = {
'storage.field.endpoint': 'URL do endpoint', 'storage.field.endpoint': 'URL do endpoint',
'storage.help.endpoint': 'storage.help.endpoint':
'URL base do serviço compatível com S3, ex.: https://s3.example.com ou http://127.0.0.1:9000.', 'URL base do serviço compatível com S3, ex.: https://s3.example.com ou http://127.0.0.1:9000.',
'storage.field.bucket': 'Bucket', 'storage.field.bucket': 'Bucket', // same-as-en
'storage.field.accessKeyId': 'ID da chave de acesso', 'storage.field.accessKeyId': 'ID da chave de acesso',
'storage.field.secretAccessKey': 'Chave de acesso secreta', 'storage.field.secretAccessKey': 'Chave de acesso secreta',
'storage.field.region': 'Região', 'storage.field.region': 'Região',
@@ -28,7 +28,7 @@ const storage: TranslationStrings = {
'storage.discardAndReload': 'Descartar minhas alterações e recarregar', 'storage.discardAndReload': 'Descartar minhas alterações e recarregar',
'storage.configError.banner': 'storage.configError.banner':
'Falha ao carregar as configurações de armazenamento salvas — salvar irá substituí-las: {error}', 'Falha ao carregar as configurações de armazenamento salvas — salvar irá substituí-las: {error}',
'storage.backends.title': 'Backends', 'storage.backends.title': 'Backends', // same-as-en
'storage.backends.add': 'Adicionar backend', 'storage.backends.add': 'Adicionar backend',
'storage.backends.usedBy': 'Usado por: {categories}', 'storage.backends.usedBy': 'Usado por: {categories}',
'storage.backends.unused': 'Não atribuído a nenhuma categoria', 'storage.backends.unused': 'Não atribuído a nenhuma categoria',
@@ -36,7 +36,7 @@ const storage: TranslationStrings = {
'storage.source.built-in': 'Integrado', 'storage.source.built-in': 'Integrado',
'storage.source.env': 'Ambiente', 'storage.source.env': 'Ambiente',
'storage.source.settings': 'Configurações', 'storage.source.settings': 'Configurações',
'storage.type.local': 'Local', 'storage.type.local': 'Local', // same-as-en
'storage.type.s3': 'S3', 'storage.type.s3': 'S3',
'storage.type.mirror': 'Espelho', 'storage.type.mirror': 'Espelho',
'storage.actions.test': 'Testar', 'storage.actions.test': 'Testar',
@@ -66,7 +66,7 @@ const storage: TranslationStrings = {
'storage.category.places': 'Imagens de locais', 'storage.category.places': 'Imagens de locais',
'storage.category.photos-google': 'Cache de fotos do Google', 'storage.category.photos-google': 'Cache de fotos do Google',
'storage.category.photos-trek': 'Cache de fotos do TREK', 'storage.category.photos-trek': 'Cache de fotos do TREK',
'storage.category.backups': 'Backups', 'storage.category.backups': 'Backups', // same-as-en
// What each category stores — rendered under the label in the category map. // What each category stores — rendered under the label in the category map.
'storage.categoryDesc.files': 'storage.categoryDesc.files':
+3 -3
View File
@@ -9,8 +9,8 @@ const system_notice: TranslationStrings = {
'system_notice.welcome_v1.highlight_plan': 'Roteiros dia a dia para qualquer viagem', 'system_notice.welcome_v1.highlight_plan': 'Roteiros dia a dia para qualquer viagem',
'system_notice.welcome_v1.highlight_share': 'Colabore com seus companheiros de viagem', 'system_notice.welcome_v1.highlight_share': 'Colabore com seus companheiros de viagem',
'system_notice.welcome_v1.highlight_offline': 'Funciona offline no celular', 'system_notice.welcome_v1.highlight_offline': 'Funciona offline no celular',
'system_notice.dev_test_modal.title': '[Dev] Test notice', 'system_notice.dev_test_modal.title': '[Dev] Aviso de teste',
'system_notice.dev_test_modal.body': 'This is a dev-only test notice.', 'system_notice.dev_test_modal.body': 'Este é um aviso de teste só para desenvolvimento.',
'system_notice.thank_you_support.title': 'Obrigado por usar o TREK', 'system_notice.thank_you_support.title': 'Obrigado por usar o TREK',
'system_notice.thank_you_support.body': 'system_notice.thank_you_support.body':
'Um obrigado rápido por instalar o TREK — isso significa muito para mim, de verdade.\n\nSou um desenvolvedor solo e construo o TREK no meu tempo livre. Tudo começou como uma ferramentinha só para as minhas próprias viagens, e confesso que fico maravilhado com o apoio e o interesse da comunidade desde então. O TREK é feito com muito carinho da minha parte — mas também graças aos muitos colaboradores externos incríveis que ajudaram a moldá-lo.\n\n**O TREK é open source e totalmente gratuito — e vai continuar assim para sempre. Sem planos pagos, sem assinaturas, sem pegadinhas. Eu prometo.**\n\nSe o TREK é útil para você e você quiser apoiar o seu desenvolvimento, um cafezinho ajuda muito a me manter construindo — sem nenhuma pressão, mas cada xícara mantém as noites longas em pé.\n\nObrigado por estar aqui.\n\n— Maurice', 'Um obrigado rápido por instalar o TREK — isso significa muito para mim, de verdade.\n\nSou um desenvolvedor solo e construo o TREK no meu tempo livre. Tudo começou como uma ferramentinha só para as minhas próprias viagens, e confesso que fico maravilhado com o apoio e o interesse da comunidade desde então. O TREK é feito com muito carinho da minha parte — mas também graças aos muitos colaboradores externos incríveis que ajudaram a moldá-lo.\n\n**O TREK é open source e totalmente gratuito — e vai continuar assim para sempre. Sem planos pagos, sem assinaturas, sem pegadinhas. Eu prometo.**\n\nSe o TREK é útil para você e você quiser apoiar o seu desenvolvimento, um cafezinho ajuda muito a me manter construindo — sem nenhuma pressão, mas cada xícara mantém as noites longas em pé.\n\nObrigado por estar aqui.\n\n— Maurice',
@@ -61,7 +61,7 @@ const system_notice: TranslationStrings = {
'A sua própria API de locais, road trips planeadas do início ao fim, o seu histórico de localização nas suas mãos, e os seus documentos sincronizados.', 'A sua própria API de locais, road trips planeadas do início ao fim, o seu histórico de localização nas suas mãos, e os seus documentos sincronizados.',
'system_notice.release_notes.features_label': 'Os destaques', 'system_notice.release_notes.features_label': 'Os destaques',
'system_notice.release_notes.features_aside': 'E não é só isso', 'system_notice.release_notes.features_aside': 'E não é só isso',
'system_notice.release_notes.feature_places_title': 'TREK Places API', 'system_notice.release_notes.feature_places_title': 'TREK Places API', // same-as-en
'system_notice.release_notes.feature_places_body': 'system_notice.release_notes.feature_places_body':
'O primeiro planeador de viagens open source com API de locais própria. 73,6 milhões de locais, sem chave, sem quota.', 'O primeiro planeador de viagens open source com API de locais própria. 73,6 milhões de locais, sem chave, sem quota.',
'system_notice.release_notes.feature_roadtrip_title': 'Addon Viagem de carro', 'system_notice.release_notes.feature_roadtrip_title': 'Addon Viagem de carro',
+1 -1
View File
@@ -85,7 +85,7 @@ const trip: TranslationStrings = {
'transit.addToDay': 'Adicionar ao dia', 'transit.addToDay': 'Adicionar ao dia',
'transit.itinerary': 'Itinerário', 'transit.itinerary': 'Itinerário',
'transit.attribution': 'Dados de rota via', 'transit.attribution': 'Dados de rota via',
'transport.modeManual': 'Manual', 'transport.modeManual': 'Manual', // same-as-en
'transport.modeAutomated': 'Automático', 'transport.modeAutomated': 'Automático',
'transit.sectionTitle': 'Transporte público automático', 'transit.sectionTitle': 'Transporte público automático',
'transit.changeRoute': 'Alterar trajeto', 'transit.changeRoute': 'Alterar trajeto',
+1 -1
View File
@@ -10,7 +10,7 @@ const undo: TranslationStrings = {
'undo.optimize': 'Rota otimizada', 'undo.optimize': 'Rota otimizada',
'undo.deletePlace': 'Local excluído', 'undo.deletePlace': 'Local excluído',
'undo.deletePlaces': 'Lugares excluídos', 'undo.deletePlaces': 'Lugares excluídos',
'undo.changeCategory': 'Category changed', 'undo.changeCategory': 'Categoria alterada',
'undo.moveDay': 'Local movido para outro dia', 'undo.moveDay': 'Local movido para outro dia',
'undo.lock': 'Bloqueio do local alternado', 'undo.lock': 'Bloqueio do local alternado',
'undo.importGpx': 'Importação de GPX', 'undo.importGpx': 'Importação de GPX',
+6 -6
View File
@@ -72,14 +72,14 @@ const vacay: TranslationStrings = {
'vacay.sun': 'Dom', 'vacay.sun': 'Dom',
'vacay.blockWeekendsHint': 'Impedir entradas de férias aos sábados e domingos', 'vacay.blockWeekendsHint': 'Impedir entradas de férias aos sábados e domingos',
'vacay.publicHolidays': 'Feriados nacionais', 'vacay.publicHolidays': 'Feriados nacionais',
'vacay.schoolHolidays': 'School Holidays', 'vacay.schoolHolidays': 'Férias escolares',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer', 'vacay.schoolHolidaysHint': 'Marcar as férias escolares como uma camada visual no calendário',
'vacay.selectCountry': 'Selecione o país', 'vacay.selectCountry': 'Selecione o país',
'vacay.selectRegion': 'Selecione a região (obrigatório)', 'vacay.selectRegion': 'Selecione a região (obrigatório)',
'vacay.addCalendar': 'Adicionar calendário', 'vacay.addCalendar': 'Adicionar calendário',
'vacay.calendarLabel': 'Rótulo (opcional)', 'vacay.calendarLabel': 'Rótulo (opcional)',
'vacay.calendarColor': 'Cor', 'vacay.calendarColor': 'Cor',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet', 'vacay.noSchoolCalendars': 'Nenhum calendário de férias escolares adicionado ainda',
'vacay.companyHolidays': 'Feriados da empresa', 'vacay.companyHolidays': 'Feriados da empresa',
'vacay.companyHolidaysHint': 'Permitir marcar dias de feriado em toda a empresa', 'vacay.companyHolidaysHint': 'Permitir marcar dias de feriado em toda a empresa',
'vacay.companyHolidaysNoDeduct': 'Feriados da empresa não contam como dias de férias.', 'vacay.companyHolidaysNoDeduct': 'Feriados da empresa não contam como dias de férias.',
@@ -93,7 +93,7 @@ const vacay: TranslationStrings = {
'vacay.yearType': 'Ano de férias', 'vacay.yearType': 'Ano de férias',
'vacay.yearTypeHint': 'Quando começa seu ano de férias — direito, uso e acúmulo seguem essa data', 'vacay.yearTypeHint': 'Quando começa seu ano de férias — direito, uso e acúmulo seguem essa data',
'vacay.yearTypeCalendar': 'Calendário', 'vacay.yearTypeCalendar': 'Calendário',
'vacay.yearTypeFiscal': 'Fiscal', 'vacay.yearTypeFiscal': 'Fiscal', // same-as-en
'vacay.yearTypeAnniversary': 'Admissão', 'vacay.yearTypeAnniversary': 'Admissão',
'vacay.yearStartMonth': 'Mês inicial', 'vacay.yearStartMonth': 'Mês inicial',
'vacay.yearStartDay': 'Dia', 'vacay.yearStartDay': 'Dia',
@@ -148,7 +148,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Ocultar do calendário', 'vacay.hideFromCalendar': 'Ocultar do calendário',
'vacay.sharedEmpty': 'Mostrem seus calendários um ao outro sem fundi-los.', 'vacay.sharedEmpty': 'Mostrem seus calendários um ao outro sem fundi-los.',
'vacay.sharedLegend': 'Compartilhado (somente visualização)', 'vacay.sharedLegend': 'Compartilhado (somente visualização)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar', 'vacay.publicHolidaysHint': 'Marcar os feriados no calendário',
'vacay.noCalendars': 'No holiday calendars added yet', 'vacay.noCalendars': 'Nenhum calendário de feriados adicionado ainda',
}; };
export default vacay; export default vacay;
+15 -15
View File
@@ -20,7 +20,7 @@ const admin: TranslationStrings = {
'admin.title': 'Administració', 'admin.title': 'Administració',
'admin.subtitle': "Gestió d'usuaris i ajustos del sistema", 'admin.subtitle': "Gestió d'usuaris i ajustos del sistema",
'admin.tabs.users': 'Usuaris', 'admin.tabs.users': 'Usuaris',
'admin.tabs.categories': 'Categories', 'admin.tabs.categories': 'Categories', // same-as-en
'admin.tabs.backup': 'Còpia de seguretat', 'admin.tabs.backup': 'Còpia de seguretat',
'admin.tabs.audit': 'Auditoria', 'admin.tabs.audit': 'Auditoria',
'admin.stats.users': 'Usuaris', 'admin.stats.users': 'Usuaris',
@@ -193,7 +193,7 @@ const admin: TranslationStrings = {
'admin.bagTracking.subtitle': "Activar pes i assignació d'equipatge per a articles de la llista", 'admin.bagTracking.subtitle': "Activar pes i assignació d'equipatge per a articles de la llista",
'admin.collab.chat.title': 'Xat', 'admin.collab.chat.title': 'Xat',
'admin.collab.chat.subtitle': 'Missatgeria en temps real per a la col·laboració', 'admin.collab.chat.subtitle': 'Missatgeria en temps real per a la col·laboració',
'admin.collab.notes.title': 'Notes', 'admin.collab.notes.title': 'Notes', // same-as-en
'admin.collab.notes.subtitle': 'Notes i documents compartits', 'admin.collab.notes.subtitle': 'Notes i documents compartits',
'admin.collab.polls.title': 'Enquestes', 'admin.collab.polls.title': 'Enquestes',
'admin.collab.polls.subtitle': 'Enquestes i votacions grupals', 'admin.collab.polls.subtitle': 'Enquestes i votacions grupals',
@@ -215,7 +215,7 @@ const admin: TranslationStrings = {
'admin.packingTemplates.empty': "Encara no s'ha creat cap plantilla", 'admin.packingTemplates.empty': "Encara no s'ha creat cap plantilla",
'admin.packingTemplates.items': 'articles', 'admin.packingTemplates.items': 'articles',
'admin.packingTemplates.items.one': 'article', 'admin.packingTemplates.items.one': 'article',
'admin.packingTemplates.categories': 'categories', 'admin.packingTemplates.categories': 'categories', // same-as-en
'admin.packingTemplates.categories.one': 'categoria', 'admin.packingTemplates.categories.one': 'categoria',
'admin.packingTemplates.itemName': "Nom de l'article", 'admin.packingTemplates.itemName': "Nom de l'article",
'admin.packingTemplates.itemCategory': 'Categoria', 'admin.packingTemplates.itemCategory': 'Categoria',
@@ -234,7 +234,7 @@ const admin: TranslationStrings = {
'admin.addons.subtitle': 'Activa o desactiva funcions per personalitzar la teva experiència a TREK.', 'admin.addons.subtitle': 'Activa o desactiva funcions per personalitzar la teva experiència a TREK.',
'admin.addons.subtitleBefore': 'Activa o desactiva funcions per personalitzar la teva experiència a ', 'admin.addons.subtitleBefore': 'Activa o desactiva funcions per personalitzar la teva experiència a ',
'admin.addons.subtitleAfter': '.', 'admin.addons.subtitleAfter': '.',
'admin.addons.catalog.naver_list_import.name': 'Naver List Import', 'admin.addons.catalog.naver_list_import.name': 'Importació de llistes de Naver',
'admin.addons.catalog.naver_list_import.description': 'Importa llocs des d’una llista compartida de Naver Maps', 'admin.addons.catalog.naver_list_import.description': 'Importa llocs des d’una llista compartida de Naver Maps',
'admin.addons.catalog.airtrail.name': 'AirTrail', 'admin.addons.catalog.airtrail.name': 'AirTrail',
'admin.addons.catalog.airtrail.description': 'Sincronitza vols des de la teva instància d’AirTrail', 'admin.addons.catalog.airtrail.description': 'Sincronitza vols des de la teva instància d’AirTrail',
@@ -249,14 +249,14 @@ const admin: TranslationStrings = {
'Un xat a cada viatge que respon preguntes i proposa canvis que tu confirmes', 'Un xat a cada viatge que respon preguntes i proposa canvis que tu confirmes',
'admin.addons.llm.vision.auto': 'Automàtic', 'admin.addons.llm.vision.auto': 'Automàtic',
'admin.addons.llm.vision.on': 'Sí', 'admin.addons.llm.vision.on': 'Sí',
'admin.addons.llm.vision.off': 'No', 'admin.addons.llm.vision.off': 'No', // same-as-en
'admin.addons.llm.vision.hintLocal': 'Automàtic pregunta al servidor Ollama si aquest model llegeix imatges.', 'admin.addons.llm.vision.hintLocal': 'Automàtic pregunta al servidor Ollama si aquest model llegeix imatges.',
'admin.addons.llm.vision.hintCloud': 'admin.addons.llm.vision.hintCloud':
'Automàtic vol dir no per a un model al núvol. Tria Sí si aquest model llegeix imatges.', 'Automàtic vol dir no per a un model al núvol. Tria Sí si aquest model llegeix imatges.',
'admin.addons.enabled': 'Actiu', 'admin.addons.enabled': 'Actiu',
'admin.addons.disabled': 'Desactivat', 'admin.addons.disabled': 'Desactivat',
'admin.addons.type.trip': 'Viatge', 'admin.addons.type.trip': 'Viatge',
'admin.addons.type.global': 'Global', 'admin.addons.type.global': 'Global', // same-as-en
'admin.addons.type.integration': 'Integració', 'admin.addons.type.integration': 'Integració',
'admin.addons.tripHint': 'Disponible com a pestanya dins de cada viatge', 'admin.addons.tripHint': 'Disponible com a pestanya dins de cada viatge',
'admin.addons.globalHint': 'Disponible com a secció independent en la navegació principal', 'admin.addons.globalHint': 'Disponible com a secció independent en la navegació principal',
@@ -310,7 +310,7 @@ const admin: TranslationStrings = {
'admin.mcpTokens.deleteError': "No s'ha pogut eliminar el token", 'admin.mcpTokens.deleteError': "No s'ha pogut eliminar el token",
'admin.mcpTokens.loadError': "No s'han pogut carregar els tokens", 'admin.mcpTokens.loadError': "No s'han pogut carregar els tokens",
'admin.oauthSessions.sectionTitle': 'Sessions OAuth', 'admin.oauthSessions.sectionTitle': 'Sessions OAuth',
'admin.oauthSessions.clientName': 'Client', 'admin.oauthSessions.clientName': 'Client', // same-as-en
'admin.oauthSessions.owner': 'Propietari', 'admin.oauthSessions.owner': 'Propietari',
'admin.oauthSessions.scopes': 'Permisos', 'admin.oauthSessions.scopes': 'Permisos',
'admin.oauthSessions.created': 'Creat', 'admin.oauthSessions.created': 'Creat',
@@ -376,7 +376,7 @@ const admin: TranslationStrings = {
'admin.addons.catalog.packing.description': "Llistes d'equipatge i tasques pendents per als teus viatges", 'admin.addons.catalog.packing.description': "Llistes d'equipatge i tasques pendents per als teus viatges",
'admin.addons.catalog.budget.name': 'Pressupost', 'admin.addons.catalog.budget.name': 'Pressupost',
'admin.addons.catalog.budget.description': 'Controla les despeses del viatge i reparteix-les entre els viatgers', 'admin.addons.catalog.budget.description': 'Controla les despeses del viatge i reparteix-les entre els viatgers',
'admin.addons.catalog.documents.name': 'Documents', 'admin.addons.catalog.documents.name': 'Documents', // same-as-en
'admin.addons.catalog.documents.description': 'Guarda i gestiona la documentació del viatge', 'admin.addons.catalog.documents.description': 'Guarda i gestiona la documentació del viatge',
'admin.addons.catalog.vacay.name': 'Vacances', 'admin.addons.catalog.vacay.name': 'Vacances',
'admin.addons.catalog.vacay.description': 'Planificador personal de vacances amb vista de calendari', 'admin.addons.catalog.vacay.description': 'Planificador personal de vacances amb vista de calendari',
@@ -429,7 +429,7 @@ const admin: TranslationStrings = {
"També s'utilitza com a servidor per defecte per a les notificacions ntfy dels usuaris. Deixa-ho en blanc per utilitzar ntfy.sh. Els usuaris poden canviar-lo en els seus propis ajustos.", "També s'utilitza com a servidor per defecte per a les notificacions ntfy dels usuaris. Deixa-ho en blanc per utilitzar ntfy.sh. Els usuaris poden canviar-lo en els seus propis ajustos.",
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh', 'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': "Tema d'administrador", 'admin.notifications.adminNtfyPanel.topicLabel': "Tema d'administrador",
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', 'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', // same-as-en
'admin.notifications.adminNtfyPanel.tokenLabel': "Token d'accés (opcional)", 'admin.notifications.adminNtfyPanel.tokenLabel': "Token d'accés (opcional)",
'admin.notifications.adminNtfyPanel.tokenCleared': "Token d'accés d'administrador eliminat", 'admin.notifications.adminNtfyPanel.tokenCleared': "Token d'accés d'administrador eliminat",
'admin.notifications.adminNtfyPanel.saved': "Configuració de Ntfy d'administrador desada", 'admin.notifications.adminNtfyPanel.saved': "Configuració de Ntfy d'administrador desada",
@@ -503,7 +503,7 @@ const admin: TranslationStrings = {
"L'índex propi de TREK i OpenStreetMap responen cada cerca. Aquí es tria a qui més es consulta quan no troben res: Automàtic prefereix Google si hi ha clau, després Amap.", "L'índex propi de TREK i OpenStreetMap responen cada cerca. Aquí es tria a qui més es consulta quan no troben res: Automàtic prefereix Google si hi ha clau, després Amap.",
'admin.placesProvider.auto': 'Automàtic', 'admin.placesProvider.auto': 'Automàtic',
'admin.placesProvider.google': 'Google Places', 'admin.placesProvider.google': 'Google Places',
'admin.placesProvider.amap': 'Amap (高德地图)', 'admin.placesProvider.amap': 'Amap (高德地图)', // same-as-en
'admin.placesProvider.openstreetmap': 'OpenStreetMap', 'admin.placesProvider.openstreetmap': 'OpenStreetMap',
'admin.placesProvider.missingKey': 'admin.placesProvider.missingKey':
"El proveïdor seleccionat no té cap clau d'API configurada, així que la cerca de llocs la responen només l'índex de TREK i OpenStreetMap.", "El proveïdor seleccionat no té cap clau d'API configurada, així que la cerca de llocs la responen només l'índex de TREK i OpenStreetMap.",
@@ -564,7 +564,7 @@ const admin: TranslationStrings = {
'admin.plugins.updateTo': 'Actualitzar → v{version}', 'admin.plugins.updateTo': 'Actualitzar → v{version}',
'admin.plugins.enabledToggle': 'Activar el connector', 'admin.plugins.enabledToggle': 'Activar el connector',
'plugins.notFound': "No s'ha trobat el connector", 'plugins.notFound': "No s'ha trobat el connector",
'plugins.frameLoadFailed': 'This plugin could not be loaded.', 'plugins.frameLoadFailed': "No s'ha pogut carregar aquest connector.",
'admin.plugins.title': 'Connectors', 'admin.plugins.title': 'Connectors',
'admin.plugins.subtitle': 'Instal·la i gestiona connectors de tercers a la teva instància.', 'admin.plugins.subtitle': 'Instal·la i gestiona connectors de tercers a la teva instància.',
'admin.plugins.disabledTitle': 'Els connectors estan desactivats', 'admin.plugins.disabledTitle': 'Els connectors estan desactivats',
@@ -577,8 +577,8 @@ const admin: TranslationStrings = {
'admin.plugins.status.active': 'Actiu', 'admin.plugins.status.active': 'Actiu',
'admin.plugins.status.inactive': 'Inactiu', 'admin.plugins.status.inactive': 'Inactiu',
'admin.plugins.status.disabled': 'Desactivat', 'admin.plugins.status.disabled': 'Desactivat',
'admin.plugins.status.error': 'Error', 'admin.plugins.status.error': 'Error', // same-as-en
'admin.plugins.status.incompatible': 'Incompatible', 'admin.plugins.status.incompatible': 'Incompatible', // same-as-en
'admin.plugins.details': 'Detalls', 'admin.plugins.details': 'Detalls',
'admin.plugins.detailError': "No s'han pogut carregar els detalls del connector.", 'admin.plugins.detailError': "No s'han pogut carregar els detalls del connector.",
'admin.plugins.permissionsTitle': 'Permisos', 'admin.plugins.permissionsTitle': 'Permisos',
@@ -780,7 +780,7 @@ const admin: TranslationStrings = {
'admin.plugins.updatesAvailable': '{count} actualitzacions disponibles per als teus connectors.', 'admin.plugins.updatesAvailable': '{count} actualitzacions disponibles per als teus connectors.',
'admin.plugins.updatesAvailable.one': '{count} actualització disponible per als teus connectors.', 'admin.plugins.updatesAvailable.one': '{count} actualització disponible per als teus connectors.',
'admin.plugins.newerNeedsTrek': 'v{version} disponible — necessita TREK {range}', 'admin.plugins.newerNeedsTrek': 'v{version} disponible — necessita TREK {range}',
'admin.plugins.versionsTitle': 'Versions', 'admin.plugins.versionsTitle': 'Versions', // same-as-en
'admin.plugins.versionPickerTitle': 'Canvia la versió — {name}', 'admin.plugins.versionPickerTitle': 'Canvia la versió — {name}',
'admin.plugins.versionSwitch': 'Canvia a {version}', 'admin.plugins.versionSwitch': 'Canvia a {version}',
'admin.plugins.versionNeedsTrek': 'necessita TREK {range}', 'admin.plugins.versionNeedsTrek': 'necessita TREK {range}',
@@ -866,7 +866,7 @@ const admin: TranslationStrings = {
'«{name}» no declara quines versions de TREK admet; aquest servidor executa {host}. TREK el deixa passar només perquè TREK_PLUGINS_IGNORE_TREK_RANGE està definit. Res no indica que l’autor l’hagi provat en aquest TREK, així que no hi ha cap garantia que funcioni — i en casos rars un connector incompatible pot corrompre les dades de TREK. Continua només si acceptes aquest risc.', '«{name}» no declara quines versions de TREK admet; aquest servidor executa {host}. TREK el deixa passar només perquè TREK_PLUGINS_IGNORE_TREK_RANGE està definit. Res no indica que l’autor l’hagi provat en aquest TREK, així que no hi ha cap garantia que funcioni — i en casos rars un connector incompatible pot corrompre les dades de TREK. Continua només si acceptes aquest risc.',
'admin.plugins.dep.trekBypassed': 'Fora del seu rang de TREK ({range}) — comprovacions de versió desactivades', 'admin.plugins.dep.trekBypassed': 'Fora del seu rang de TREK ({range}) — comprovacions de versió desactivades',
'admin.plugins.dep.trekBypassedUnknown': 'No declara cap rang de TREK — comprovacions de versió desactivades', 'admin.plugins.dep.trekBypassedUnknown': 'No declara cap rang de TREK — comprovacions de versió desactivades',
'admin.plugins.incompatible': 'Incompatible', 'admin.plugins.incompatible': 'Incompatible', // same-as-en
'admin.plugins.accessTitle': 'A què pot accedir', 'admin.plugins.accessTitle': 'A què pot accedir',
'admin.plugins.connectsTitle': 'Es connecta a', 'admin.plugins.connectsTitle': 'Es connecta a',
'admin.plugins.detailsTitle': 'Detalls', 'admin.plugins.detailsTitle': 'Detalls',
+2 -2
View File
@@ -16,7 +16,7 @@ const atlas: TranslationStrings = {
'atlas.visitedCountries': 'Països visitats', 'atlas.visitedCountries': 'Països visitats',
'atlas.cities': 'Ciutats', 'atlas.cities': 'Ciutats',
'atlas.cities.one': 'Ciutat', 'atlas.cities.one': 'Ciutat',
'atlas.regions': 'Regions', 'atlas.regions': 'Regions', // same-as-en
'atlas.regions.one': 'Regió', 'atlas.regions.one': 'Regió',
'atlas.noData': 'Encara no hi ha dades de viatge', 'atlas.noData': 'Encara no hi ha dades de viatge',
'atlas.noDataHint': 'Crea un viatge i afegeix llocs per veure el teu mapa del món', 'atlas.noDataHint': 'Crea un viatge i afegeix llocs per veure el teu mapa del món',
@@ -35,7 +35,7 @@ const atlas: TranslationStrings = {
'atlas.northAmerica': 'Amèrica del Nord', 'atlas.northAmerica': 'Amèrica del Nord',
'atlas.southAmerica': 'Amèrica del Sud', 'atlas.southAmerica': 'Amèrica del Sud',
'atlas.africa': 'Àfrica', 'atlas.africa': 'Àfrica',
'atlas.oceania': 'Oceania', 'atlas.oceania': 'Oceania', // same-as-en
'atlas.other': 'Altres', 'atlas.other': 'Altres',
'atlas.firstVisit': 'Primer viatge', 'atlas.firstVisit': 'Primer viatge',
'atlas.lastVisitLabel': 'Darrer viatge', 'atlas.lastVisitLabel': 'Darrer viatge',
+1 -1
View File
@@ -32,7 +32,7 @@ const backup: TranslationStrings = {
'backup.auto.subtitle': 'Còpia de seguretat automàtica segons una programació', 'backup.auto.subtitle': 'Còpia de seguretat automàtica segons una programació',
'backup.auto.enable': 'Activa la còpia automàtica', 'backup.auto.enable': 'Activa la còpia automàtica',
'backup.auto.enableHint': 'Es crearan còpies automàticament segons la freqüència triada', 'backup.auto.enableHint': 'Es crearan còpies automàticament segons la freqüència triada',
'backup.auto.interval': 'Interval', 'backup.auto.interval': 'Interval', // same-as-en
'backup.auto.hour': 'Executa a les', 'backup.auto.hour': 'Executa a les',
'backup.auto.hourHint': 'Hora local del servidor (format {format})', 'backup.auto.hourHint': 'Hora local del servidor (format {format})',
'backup.auto.dayOfWeek': 'Dia de la setmana', 'backup.auto.dayOfWeek': 'Dia de la setmana',
+4 -4
View File
@@ -11,7 +11,7 @@ const budget: TranslationStrings = {
'budget.categoryName': 'Nom de la categoria', 'budget.categoryName': 'Nom de la categoria',
'budget.addCategory': 'Afegeix una categoria', 'budget.addCategory': 'Afegeix una categoria',
'budget.table.name': 'Nom', 'budget.table.name': 'Nom',
'budget.table.total': 'Total', 'budget.table.total': 'Total', // same-as-en
'budget.table.persons': 'Persones', 'budget.table.persons': 'Persones',
'budget.table.days': 'Dies', 'budget.table.days': 'Dies',
'budget.table.perPerson': 'Per persona', 'budget.table.perPerson': 'Per persona',
@@ -22,7 +22,7 @@ const budget: TranslationStrings = {
'budget.newEntry': 'Entrada nova', 'budget.newEntry': 'Entrada nova',
'budget.defaultEntry': 'Entrada nova', 'budget.defaultEntry': 'Entrada nova',
'budget.defaultCategory': 'Categoria nova', 'budget.defaultCategory': 'Categoria nova',
'budget.total': 'Total', 'budget.total': 'Total', // same-as-en
'budget.totalBudget': 'Pressupost total', 'budget.totalBudget': 'Pressupost total',
'budget.byCategory': 'Per categoria', 'budget.byCategory': 'Per categoria',
'budget.editTooltip': 'Fes clic per editar', 'budget.editTooltip': 'Fes clic per editar',
@@ -38,7 +38,7 @@ const budget: TranslationStrings = {
'budget.settlementInfo': 'budget.settlementInfo':
"Fes clic a l'avatar d'un membre en una partida del pressupost per marcar-lo en verd — això significa que ha pagat. La liquidació mostra qui deu quant a qui.", "Fes clic a l'avatar d'un membre en una partida del pressupost per marcar-lo en verd — això significa que ha pagat. La liquidació mostra qui deu quant a qui.",
'budget.netBalances': 'Saldos nets', 'budget.netBalances': 'Saldos nets',
'budget.categoriesLabel': 'categories', 'budget.categoriesLabel': 'categories', // same-as-en
'costs.you': 'Tu', 'costs.you': 'Tu',
'costs.youShort': 'T', 'costs.youShort': 'T',
'costs.youLower': 'tu', 'costs.youLower': 'tu',
@@ -141,7 +141,7 @@ const budget: TranslationStrings = {
'costs.cat.accommodation': 'Allotjament', 'costs.cat.accommodation': 'Allotjament',
'costs.cat.food': 'Menjar i beguda', 'costs.cat.food': 'Menjar i beguda',
'costs.cat.groceries': 'Supermercat', 'costs.cat.groceries': 'Supermercat',
'costs.cat.transport': 'Transport', 'costs.cat.transport': 'Transport', // same-as-en
'costs.cat.flights': 'Vols', 'costs.cat.flights': 'Vols',
'costs.cat.activities': 'Activitats', 'costs.cat.activities': 'Activitats',
'costs.cat.sightseeing': 'Turisme', 'costs.cat.sightseeing': 'Turisme',
+2 -2
View File
@@ -1,13 +1,13 @@
import type { TranslationStrings } from '../types'; import type { TranslationStrings } from '../types';
const categories: TranslationStrings = { const categories: TranslationStrings = {
'categories.title': 'Categories', 'categories.title': 'Categories', // same-as-en
'categories.subtitle': 'Gestiona categories per a llocs', 'categories.subtitle': 'Gestiona categories per a llocs',
'categories.new': 'Categoria nova', 'categories.new': 'Categoria nova',
'categories.empty': 'Encara no hi ha categories', 'categories.empty': 'Encara no hi ha categories',
'categories.namePlaceholder': 'Nom de la categoria', 'categories.namePlaceholder': 'Nom de la categoria',
'categories.icon': 'Icona', 'categories.icon': 'Icona',
'categories.color': 'Color', 'categories.color': 'Color', // same-as-en
'categories.customColor': 'Tria un color personalitzat', 'categories.customColor': 'Tria un color personalitzat',
'categories.preview': 'Vista prèvia', 'categories.preview': 'Vista prèvia',
'categories.defaultName': 'Categoria', 'categories.defaultName': 'Categoria',
+3 -3
View File
@@ -2,7 +2,7 @@ import type { TranslationStrings } from '../types';
const collab: TranslationStrings = { const collab: TranslationStrings = {
'collab.tabs.chat': 'Missatges', 'collab.tabs.chat': 'Missatges',
'collab.tabs.notes': 'Notes', 'collab.tabs.notes': 'Notes', // same-as-en
'collab.tabs.polls': 'Enquestes', 'collab.tabs.polls': 'Enquestes',
'collab.tabs.links': 'Enllaços', 'collab.tabs.links': 'Enllaços',
'collab.links.add': 'Afegeix un enllaç', 'collab.links.add': 'Afegeix un enllaç',
@@ -40,7 +40,7 @@ const collab: TranslationStrings = {
'collab.chat.minutesAgo.one': 'fa {n} min', 'collab.chat.minutesAgo.one': 'fa {n} min',
'collab.chat.hoursAgo': 'fa {n} h', 'collab.chat.hoursAgo': 'fa {n} h',
'collab.chat.hoursAgo.one': 'fa {n} h', 'collab.chat.hoursAgo.one': 'fa {n} h',
'collab.notes.title': 'Notes', 'collab.notes.title': 'Notes', // same-as-en
'collab.notes.new': 'Nota nova', 'collab.notes.new': 'Nota nova',
'collab.notes.empty': 'Encara no hi ha notes', 'collab.notes.empty': 'Encara no hi ha notes',
'collab.notes.emptyHint': 'Comença a capturar idees i plans', 'collab.notes.emptyHint': 'Comença a capturar idees i plans',
@@ -53,7 +53,7 @@ const collab: TranslationStrings = {
'collab.notes.newCategory': 'Categoria nova...', 'collab.notes.newCategory': 'Categoria nova...',
'collab.notes.category': 'Categoria', 'collab.notes.category': 'Categoria',
'collab.notes.noCategory': 'Sense categoria', 'collab.notes.noCategory': 'Sense categoria',
'collab.notes.color': 'Color', 'collab.notes.color': 'Color', // same-as-en
'collab.notes.save': 'Desa', 'collab.notes.save': 'Desa',
'collab.notes.cancel': 'Cancel·la', 'collab.notes.cancel': 'Cancel·la',
'collab.notes.edit': 'Edita', 'collab.notes.edit': 'Edita',
+2 -2
View File
@@ -9,7 +9,7 @@ const collection: TranslationStrings = {
'collections.saveToListHint': "Els duplicats s'ometen automàticament", 'collections.saveToListHint': "Els duplicats s'ometen automàticament",
'collections.role.label': 'Rol', 'collections.role.label': 'Rol',
'collections.role.viewer': 'Lector', 'collections.role.viewer': 'Lector',
'collections.role.editor': 'Editor', 'collections.role.editor': 'Editor', // same-as-en
'collections.role.admin': 'Administrador', 'collections.role.admin': 'Administrador',
'collections.picker.allLists': 'Totes les llistes', 'collections.picker.allLists': 'Totes les llistes',
'collections.select': 'Triar', 'collections.select': 'Triar',
@@ -99,7 +99,7 @@ const collection: TranslationStrings = {
'collections.view.grid': 'Quadrícula', 'collections.view.grid': 'Quadrícula',
'collections.view.list': 'Llista', 'collections.view.list': 'Llista',
'collections.view.map': 'Mapa', 'collections.view.map': 'Mapa',
'collections.status.idea': 'Idea', 'collections.status.idea': 'Idea', // same-as-en
'collections.status.want': 'Hi vull anar', 'collections.status.want': 'Hi vull anar',
'collections.status.visited': 'Visitat', 'collections.status.visited': 'Visitat',
'collections.status.filterAll': 'Tot', 'collections.status.filterAll': 'Tot',
+2 -2
View File
@@ -16,7 +16,7 @@ const common: TranslationStrings = {
'common.select': 'Seleccionar', 'common.select': 'Seleccionar',
'common.selectAll': 'Seleccionar-ho tot', 'common.selectAll': 'Seleccionar-ho tot',
'common.deselectAll': 'Rebutjar la sel·lecció', 'common.deselectAll': 'Rebutjar la sel·lecció',
'common.error': 'Error', 'common.error': 'Error', // same-as-en
'common.success': 'Èxit', 'common.success': 'Èxit',
'common.unknownError': 'Error desconegut', 'common.unknownError': 'Error desconegut',
'common.tooManyAttempts': 'Massa intents. Torna a provar-ho més tard.', 'common.tooManyAttempts': 'Massa intents. Torna a provar-ho més tard.',
@@ -29,7 +29,7 @@ const common: TranslationStrings = {
'common.confirm': 'Confirmar', 'common.confirm': 'Confirmar',
'common.ok': 'Acceptar', 'common.ok': 'Acceptar',
'common.yes': 'Sí', 'common.yes': 'Sí',
'common.no': 'No', 'common.no': 'No', // same-as-en
'common.or': 'o', 'common.or': 'o',
'common.none': 'Cap', 'common.none': 'Cap',
'common.date': 'Data', 'common.date': 'Data',
+1 -1
View File
@@ -147,7 +147,7 @@ const dashboard: TranslationStrings = {
'dashboard.atlas.distanceFlown': 'Distància volada', 'dashboard.atlas.distanceFlown': 'Distància volada',
'dashboard.atlas.kmUnit': 'km', 'dashboard.atlas.kmUnit': 'km',
'dashboard.atlas.aroundEquator': "≈ {count}× al voltant de l'equador", 'dashboard.atlas.aroundEquator': "≈ {count}× al voltant de l'equador",
'dashboard.card.idea': 'Idea', 'dashboard.card.idea': 'Idea', // same-as-en
'dashboard.fx.from': 'De', 'dashboard.fx.from': 'De',
'dashboard.fx.to': 'A', 'dashboard.fx.to': 'A',
'dashboard.fx.unavailable': 'Tipus de canvi no disponible', 'dashboard.fx.unavailable': 'Tipus de canvi no disponible',
+1 -1
View File
@@ -131,7 +131,7 @@ const dawarich: TranslationStrings = {
'dawarich.accept.noDay': 'Encara no és en cap dia', 'dawarich.accept.noDay': 'Encara no és en cap dia',
'dawarich.accept.journal': 'Diari', 'dawarich.accept.journal': 'Diari',
'dawarich.accept.pickJournal': 'Tria un diari', 'dawarich.accept.pickJournal': 'Tria un diari',
'dawarich.accept.notes': 'Notes', 'dawarich.accept.notes': 'Notes', // same-as-en
'dawarich.accept.story': 'La teva història', 'dawarich.accept.story': 'La teva història',
'dawarich.accept.storyPlaceholder': 'Què va passar aquí?', 'dawarich.accept.storyPlaceholder': 'Què va passar aquí?',
'dawarich.accept.photosHint': 'Afegeix fotos a l’entrada un cop creada.', 'dawarich.accept.photosHint': 'Afegeix fotos a l’entrada un cop creada.',
+3 -3
View File
@@ -52,7 +52,7 @@ const dayplan: TranslationStrings = {
'dayplan.pendingRes': 'Pendent', 'dayplan.pendingRes': 'Pendent',
'dayplan.export': 'Exporta', 'dayplan.export': 'Exporta',
'dayplan.exportIntro': "Emporta't el pla: com a document, al calendari o al GPS.", 'dayplan.exportIntro': "Emporta't el pla: com a document, al calendari o al GPS.",
'dayplan.exportDocument': 'Document', 'dayplan.exportDocument': 'Document', // same-as-en
'dayplan.exportCalendar': 'Calendari', 'dayplan.exportCalendar': 'Calendari',
'dayplan.exportMaps': 'Mapes i GPS', 'dayplan.exportMaps': 'Mapes i GPS',
'dayplan.pdf': 'PDF', 'dayplan.pdf': 'PDF',
@@ -106,8 +106,8 @@ const dayplan: TranslationStrings = {
'dayplan.impactPlaces': 'Llocs planificats: {count}', 'dayplan.impactPlaces': 'Llocs planificats: {count}',
'dayplan.impactPlaces.one': 'Llocs planificats: {count}', 'dayplan.impactPlaces.one': 'Llocs planificats: {count}',
'dayplan.impactPlacesHint': 'Es queden a la llista de llocs.', 'dayplan.impactPlacesHint': 'Es queden a la llista de llocs.',
'dayplan.impactNotes': 'Notes: {count}', 'dayplan.impactNotes': 'Notes: {count}', // same-as-en
'dayplan.impactNotes.one': 'Notes: {count}', 'dayplan.impactNotes.one': 'Notes: {count}', // same-as-en
'dayplan.impactTexts': 'Títols i descripcions del dia: {count}', 'dayplan.impactTexts': 'Títols i descripcions del dia: {count}',
'dayplan.impactTexts.one': 'Títols i descripcions del dia: {count}', 'dayplan.impactTexts.one': 'Títols i descripcions del dia: {count}',
'dayplan.impactDeletedHint': "També s'eliminen.", 'dayplan.impactDeletedHint': "També s'eliminen.",
+2 -2
View File
@@ -66,7 +66,7 @@ const docsync: TranslationStrings = {
'docsync.state.conflict': 'Conflicte', 'docsync.state.conflict': 'Conflicte',
'docsync.state.rejected_type': 'Tipus no permès', 'docsync.state.rejected_type': 'Tipus no permès',
'docsync.state.too_large': 'Massa gran', 'docsync.state.too_large': 'Massa gran',
'docsync.state.error': 'Error', 'docsync.state.error': 'Error', // same-as-en
'docsync.state.remote_missing': 'No hi és, al proveïdor', 'docsync.state.remote_missing': 'No hi és, al proveïdor',
'docsync.state.local_deleted': 'Eliminat a TREK', 'docsync.state.local_deleted': 'Eliminat a TREK',
'docsync.state.scope_drift': 'Ha sortit de la carpeta', 'docsync.state.scope_drift': 'Ha sortit de la carpeta',
@@ -125,7 +125,7 @@ const docsync: TranslationStrings = {
'docsync.flow.trek': 'TREK', 'docsync.flow.trek': 'TREK',
'docsync.flow.toProvider': 'Cap al gestor', 'docsync.flow.toProvider': 'Cap al gestor',
'docsync.flow.toTrek': 'Des del gestor', 'docsync.flow.toTrek': 'Des del gestor',
'docsync.flow.documents': 'documents', 'docsync.flow.documents': 'documents', // same-as-en
'docsync.flow.summary.both': 'Els documents van en tots dos sentits.', 'docsync.flow.summary.both': 'Els documents van en tots dos sentits.',
'docsync.flow.summary.pull': 'Els documents només entren.', 'docsync.flow.summary.pull': 'Els documents només entren.',
'docsync.flow.summary.push': 'Els documents només surten.', 'docsync.flow.summary.push': 'Els documents només surten.',
+3 -3
View File
@@ -20,7 +20,7 @@ const files: TranslationStrings = {
'files.filterAll': 'Tot', 'files.filterAll': 'Tot',
'files.filterPdf': 'PDF', 'files.filterPdf': 'PDF',
'files.filterImages': 'Imatges', 'files.filterImages': 'Imatges',
'files.filterDocs': 'Documents', 'files.filterDocs': 'Documents', // same-as-en
'files.filterCollab': 'Notes de col·laboració', 'files.filterCollab': 'Notes de col·laboració',
'files.sourceCollab': 'Des de notes de col·laboració', 'files.sourceCollab': 'Des de notes de col·laboració',
'files.empty': 'Encara no hi ha fitxers', 'files.empty': 'Encara no hi ha fitxers',
@@ -31,7 +31,7 @@ const files: TranslationStrings = {
'files.toast.deleteError': "No s'ha pogut eliminar el fitxer", 'files.toast.deleteError': "No s'ha pogut eliminar el fitxer",
'files.sourcePlan': 'Pla diari', 'files.sourcePlan': 'Pla diari',
'files.sourceBooking': 'Reserva', 'files.sourceBooking': 'Reserva',
'files.sourceTransport': 'Transport', 'files.sourceTransport': 'Transport', // same-as-en
'files.attach': 'Adjunta', 'files.attach': 'Adjunta',
'files.pasteHint': 'També pots enganxar imatges des del porta-retalls (Ctrl+V)', 'files.pasteHint': 'També pots enganxar imatges des del porta-retalls (Ctrl+V)',
'files.trash': 'Paperera', 'files.trash': 'Paperera',
@@ -44,7 +44,7 @@ const files: TranslationStrings = {
'files.assignTitle': 'Assigna el fitxer', 'files.assignTitle': 'Assigna el fitxer',
'files.assignPlace': 'Lloc', 'files.assignPlace': 'Lloc',
'files.assignBooking': 'Reserva', 'files.assignBooking': 'Reserva',
'files.assignTransport': 'Transport', 'files.assignTransport': 'Transport', // same-as-en
'files.unassigned': 'Sense assignar', 'files.unassigned': 'Sense assignar',
'files.unlink': "Elimina l'enllaç", 'files.unlink': "Elimina l'enllaç",
'files.noteLabel': 'Nota', 'files.noteLabel': 'Nota',
+2 -2
View File
@@ -951,7 +951,7 @@ const help: TranslationStrings = {
'Un estat que poses a mà es manté fins que el canvies, encara que canviïn les dates del viatge.', 'Un estat que poses a mà es manté fins que el canvies, encara que canviïn les dates del viatge.',
// ── Screen: journey-studio ──────────────────────────────────────────────────────────── // ── Screen: journey-studio ────────────────────────────────────────────────────────────
'help.ctx.journey-studio.title': 'Studio', 'help.ctx.journey-studio.title': 'Studio', // same-as-en
'help.ctx.journey-studio.summary': 'help.ctx.journey-studio.summary':
'TREK Studio maqueta una travessia com un àlbum de fotos que pots imprimir. S’obre damunt del diari: a l’esquerra hi ha la llista de pàgines i el contingut, al mig la doble pàgina en què treballes i a la dreta les seves propietats. «Auto layout» crea un primer esborrany a partir de les teves entrades. Després, ho pots moure, retallar i canviar d’estil tot, i pots desfer cada pas.', 'TREK Studio maqueta una travessia com un àlbum de fotos que pots imprimir. S’obre damunt del diari: a l’esquerra hi ha la llista de pàgines i el contingut, al mig la doble pàgina en què treballes i a la dreta les seves propietats. «Auto layout» crea un primer esborrany a partir de les teves entrades. Després, ho pots moure, retallar i canviar d’estil tot, i pots desfer cada pas.',
'help.ctx.journey-studio.bullet.1': 'help.ctx.journey-studio.bullet.1':
@@ -3833,7 +3833,7 @@ const help: TranslationStrings = {
"Els pagadors, el repartiment, la nota i els rebuts s'editen a la mateixa despesa: «Més opcions», al final de cada fila, té «Edita» i «Elimina» per treure la fila.", "Els pagadors, el repartiment, la nota i els rebuts s'editen a la mateixa despesa: «Més opcions», al final de cada fila, té «Edita» i «Elimina» per treure la fila.",
// ── Screen: trip-transports ─────────────────────────────────────────────────────────── // ── Screen: trip-transports ───────────────────────────────────────────────────────────
'help.ctx.trip-transports.title': 'Transports', 'help.ctx.trip-transports.title': 'Transports', // same-as-en
'help.ctx.trip-transports.summary': 'help.ctx.trip-transports.summary':
'Totes les maneres com et desplaces entre les parades: vols, trens, autobusos, cotxes, taxis, bicicletes, creuers, ferris, telefèrics i les connexions de transport públic que TREK et busca. La pestanya els mostra en una llista. També els pots crear i consultar al pla, i es dibuixen al mapa.', 'Totes les maneres com et desplaces entre les parades: vols, trens, autobusos, cotxes, taxis, bicicletes, creuers, ferris, telefèrics i les connexions de transport públic que TREK et busca. La pestanya els mostra en una llista. També els pots crear i consultar al pla, i es dibuixen al mapa.',
'help.ctx.trip-transports.bullet.1': 'help.ctx.trip-transports.bullet.1':
+1 -1
View File
@@ -20,7 +20,7 @@ const inspector: TranslationStrings = {
'inspector.website': 'Obre el lloc web', 'inspector.website': 'Obre el lloc web',
'inspector.addRes': 'Reserva', 'inspector.addRes': 'Reserva',
'inspector.editRes': 'Edita la reserva', 'inspector.editRes': 'Edita la reserva',
'inspector.participants': 'Participants', 'inspector.participants': 'Participants', // same-as-en
'inspector.trackStats': 'Dades de la ruta', 'inspector.trackStats': 'Dades de la ruta',
'inspector.trackColor': 'Color de la ruta', 'inspector.trackColor': 'Color de la ruta',
'inspector.trackColorAuto': 'Color automàtic', 'inspector.trackColorAuto': 'Color automàtic',
+106 -106
View File
@@ -127,7 +127,7 @@ const journey: TranslationStrings = {
'journey.editor.allPhotosAdded': "Totes les fotos ja s'han afegit", 'journey.editor.allPhotosAdded': "Totes les fotos ja s'han afegit",
'journey.editor.writeStory': 'Escriu la teva història...', 'journey.editor.writeStory': 'Escriu la teva història...',
'journey.editor.prosCons': 'Pros i contres', 'journey.editor.prosCons': 'Pros i contres',
'journey.editor.pros': 'Pros', 'journey.editor.pros': 'Avantatges',
'journey.editor.cons': 'Contres', 'journey.editor.cons': 'Contres',
'journey.editor.proPlaceholder': 'Una cosa genial...', 'journey.editor.proPlaceholder': 'Una cosa genial...',
'journey.editor.conPlaceholder': 'No tan genial...', 'journey.editor.conPlaceholder': 'No tan genial...',
@@ -148,7 +148,7 @@ const journey: TranslationStrings = {
'journey.editor.locationInsecureContext': 'La ubicació requereix una connexió segura (HTTPS).', 'journey.editor.locationInsecureContext': 'La ubicació requereix una connexió segura (HTTPS).',
'journey.mood.amazing': 'Increïble', 'journey.mood.amazing': 'Increïble',
'journey.mood.good': 'Bé', 'journey.mood.good': 'Bé',
'journey.mood.neutral': 'Neutral', 'journey.mood.neutral': 'Neutral', // same-as-en
'journey.mood.rough': 'Difícil', 'journey.mood.rough': 'Difícil',
'journey.weather.sunny': 'Assolellat', 'journey.weather.sunny': 'Assolellat',
'journey.weather.partly': 'Parcialment ennuvolat', 'journey.weather.partly': 'Parcialment ennuvolat',
@@ -193,7 +193,7 @@ const journey: TranslationStrings = {
'journey.share.updateFailed': "No s'ha pogut actualitzar", 'journey.share.updateFailed': "No s'ha pogut actualitzar",
'journey.invite.role': 'Rol', 'journey.invite.role': 'Rol',
'journey.invite.viewer': 'Lector', 'journey.invite.viewer': 'Lector',
'journey.invite.editor': 'Editor', 'journey.invite.editor': 'Editor', // same-as-en
'journey.invite.invite': 'Convida', 'journey.invite.invite': 'Convida',
'journey.invite.inviting': 'Convidant...', 'journey.invite.inviting': 'Convidant...',
'journey.settings.title': 'Configuració de la travesia', 'journey.settings.title': 'Configuració de la travesia',
@@ -275,28 +275,28 @@ const journey: TranslationStrings = {
'journey.contributors.viaTripsHint': 'journey.contributors.viaTripsHint':
'Poden obrir aquest diari perquè un viatge el vincula. Canvia-ho a la configuració del viatge.', 'Poden obrir aquest diari perquè un viatge el vincula. Canvia-ho a la configuració del viatge.',
'journey.contributors.viaTrip': 'a través de {trip}', 'journey.contributors.viaTrip': 'a través de {trip}',
'journey.editor.externalPhotos': 'External photos', // en-fallback 'journey.editor.externalPhotos': 'Fotos externes',
'journey.editor.externalPhotosFor': 'Photos for {date}', // en-fallback 'journey.editor.externalPhotosFor': 'Fotos del {date}',
'journey.editor.externalPhotosNearby': 'Nearby photos first', // en-fallback 'journey.editor.externalPhotosNearby': 'Primer les fotos properes',
'journey.editor.externalPhotosNoLocation': 'All photos from this day', // en-fallback 'journey.editor.externalPhotosNoLocation': "Totes les fotos d'aquest dia",
'journey.editor.externalPhotosQueued': 'queued', // en-fallback 'journey.editor.externalPhotosQueued': 'en cua',
'journey.editor.externalPhotosUnavailable': 'No connected photo providers are available.', // en-fallback 'journey.editor.externalPhotosUnavailable': 'No hi ha cap proveïdor de fotos connectat disponible.',
'journey.editor.externalPhotosPartialFailed': '{failed} photo groups failed — save again to retry', // en-fallback 'journey.editor.externalPhotosPartialFailed': 'Han fallat {failed} grups de fotos: torna a desar per reintentar-ho',
'journey.picker.day': 'This day', // en-fallback 'journey.picker.day': 'Aquest dia',
'journey.studio.title': 'TREK Studio', // en-fallback 'journey.studio.title': 'TREK Studio',
'journey.studio.open': 'Studio', // en-fallback 'journey.studio.open': 'Studio',
'journey.studio.openAria': 'Open the photo book studio', // en-fallback 'journey.studio.openAria': "Obre l'Studio del llibre de fotos",
'journey.studio.backToJourney': 'Back to the journey', // en-fallback 'journey.studio.backToJourney': 'Torna al viatge',
'journey.studio.format': 'Page format', // en-fallback 'journey.studio.format': 'Format de pàgina',
'journey.studio.formatA4Landscape': 'A4 landscape', // en-fallback 'journey.studio.formatA4Landscape': 'A4 apaïsat',
'journey.studio.formatA4Portrait': 'A4 portrait', // en-fallback 'journey.studio.formatA4Portrait': 'A4 vertical',
'journey.studio.formatSquare21': 'Square 21 × 21 cm', // en-fallback 'journey.studio.formatSquare21': 'Quadrat 21 × 21 cm',
'journey.studio.formatSquare30': 'Square 30 × 30 cm', // en-fallback 'journey.studio.formatSquare30': 'Quadrat 30 × 30 cm',
'journey.studio.pages': 'Pàgines', 'journey.studio.pages': 'Pàgines',
'journey.studio.cover': 'Cover', // en-fallback 'journey.studio.cover': 'Coberta',
'journey.studio.inspectorEmpty': 'Select something on the page to edit it.', // en-fallback 'journey.studio.inspectorEmpty': 'Selecciona alguna cosa a la pàgina per editar-la.',
'journey.studio.autoLayout': 'Auto layout', // en-fallback 'journey.studio.autoLayout': 'Disseny automàtic',
'journey.studio.export': 'Export', // en-fallback 'journey.studio.export': 'Exporta',
'journey.studio.day': 'DIA {day}', 'journey.studio.day': 'DIA {day}',
'journey.studio.stations': 'Etapes', 'journey.studio.stations': 'Etapes',
'journey.studio.peersHere': 'aquí', 'journey.studio.peersHere': 'aquí',
@@ -318,98 +318,98 @@ const journey: TranslationStrings = {
'journey.studio.exportPreparing': 'S’està preparant', 'journey.studio.exportPreparing': 'S’està preparant',
'journey.studio.exportSheetCount': '{count} fulls', 'journey.studio.exportSheetCount': '{count} fulls',
'journey.studio.exportSheetCount.one': '{count} full', 'journey.studio.exportSheetCount.one': '{count} full',
'journey.studio.undo': 'Undo', // en-fallback 'journey.studio.undo': 'Desfés',
'journey.studio.redo': 'Redo', // en-fallback 'journey.studio.redo': 'Refés',
'journey.studio.zoomIn': 'Zoom in', // en-fallback 'journey.studio.zoomIn': 'Amplia',
'journey.studio.zoomOut': 'Zoom out', // en-fallback 'journey.studio.zoomOut': 'Redueix',
'journey.studio.zoomFit': 'Fit to view', // en-fallback 'journey.studio.zoomFit': 'Ajusta a la vista',
'journey.studio.downloadSpread': 'Baixa aquesta doble pàgina', 'journey.studio.downloadSpread': 'Baixa aquesta doble pàgina',
'journey.studio.downloadSpreadHint': 'journey.studio.downloadSpreadHint':
"Desa el disseny d'aquesta doble pàgina com a fitxer, sense les fotos, per compartir-lo o reutilitzar-lo", "Desa el disseny d'aquesta doble pàgina com a fitxer, sense les fotos, per compartir-lo o reutilitzar-lo",
'journey.studio.importSpread': 'Importa', 'journey.studio.importSpread': 'Importa',
'journey.studio.importSpreadHint': "Afegeix una doble pàgina des d'un fitxer de disseny baixat", 'journey.studio.importSpreadHint': "Afegeix una doble pàgina des d'un fitxer de disseny baixat",
'journey.studio.importSpreadFailed': 'Aquest fitxer no és una doble pàgina del TREK Studio', 'journey.studio.importSpreadFailed': 'Aquest fitxer no és una doble pàgina del TREK Studio',
'journey.studio.desktopOnly': 'Studio needs a bigger screen', // en-fallback 'journey.studio.desktopOnly': "L'Studio necessita una pantalla més gran",
'journey.studio.desktopOnlyHint': 'journey.studio.desktopOnlyHint':
"Dissenyar un llibre demana espai per treballar, per això l'Studio només hi és a l'escriptori, i el PDF també. La resta del teu viatge funciona aquí com sempre.", // en-fallback "Dissenyar un llibre demana espai per treballar, per això l'Studio només hi és a l'escriptori, i el PDF també. La resta del teu viatge funciona aquí com sempre.",
'journey.studio.formatA5Landscape': 'A5 landscape', // en-fallback 'journey.studio.formatA5Landscape': 'A5 apaïsat',
'journey.studio.bookView': 'Book view', // en-fallback 'journey.studio.bookView': 'Vista de llibre',
'journey.studio.multiple': 'Several', // en-fallback 'journey.studio.multiple': 'Diversos',
'journey.studio.kind.photo': 'Photo', // en-fallback 'journey.studio.kind.photo': 'Foto',
'journey.studio.kind.text': 'Text', // en-fallback 'journey.studio.kind.text': 'Text',
'journey.studio.kind.shape': 'Shape', // en-fallback 'journey.studio.kind.shape': 'Forma',
'journey.studio.position': 'Position', // en-fallback 'journey.studio.position': 'Posició',
'journey.studio.width': 'W', // en-fallback 'journey.studio.width': 'Am',
'journey.studio.height': 'H', // en-fallback 'journey.studio.height': 'Al',
'journey.studio.text': 'Text', // same-as-en 'journey.studio.text': 'Text', // same-as-en
'journey.studio.typography': 'Type', // en-fallback 'journey.studio.typography': 'Tipus',
'journey.studio.leading': 'Line', // en-fallback 'journey.studio.leading': 'Línia',
'journey.studio.colour': 'Colour', // en-fallback 'journey.studio.colour': 'Color',
'journey.studio.autoColour': 'Automàtic', 'journey.studio.autoColour': 'Automàtic',
'journey.studio.countryNames': 'Noms', 'journey.studio.countryNames': 'Noms',
'journey.studio.crop': 'Crop', // en-fallback 'journey.studio.crop': 'Retalla',
'journey.studio.look': 'Look', // en-fallback 'journey.studio.look': 'Aspecte',
'journey.studio.radius': 'Corner', // en-fallback 'journey.studio.radius': 'Cantonada',
'journey.studio.shape': 'Shape', // en-fallback 'journey.studio.shape': 'Forma',
'journey.studio.arrange': 'Arrange', // en-fallback 'journey.studio.arrange': 'Ordena',
'journey.studio.toFront': 'Bring to front', // en-fallback 'journey.studio.toFront': 'Porta al davant',
'journey.studio.forward': 'Bring forward', // en-fallback 'journey.studio.forward': 'Avança un nivell',
'journey.studio.backward': 'Send backward', // en-fallback 'journey.studio.backward': 'Retrocedeix un nivell',
'journey.studio.toBack': 'Send to back', // en-fallback 'journey.studio.toBack': 'Envia al fons',
'journey.studio.lock': 'Lock', // en-fallback 'journey.studio.lock': 'Bloqueja',
'journey.studio.unlock': 'Unlock', // en-fallback 'journey.studio.unlock': 'Desbloqueja',
'journey.studio.delete': 'Delete', // en-fallback 'journey.studio.delete': 'Elimina',
'journey.studio.pageHint': 'Page', // en-fallback 'journey.studio.pageHint': 'Pàgina',
'journey.studio.boundHint': 'Follows the journal entry. Editing it here breaks that link.', // en-fallback 'journey.studio.boundHint': "Segueix l'entrada del diari. Si l'edites aquí, es trenca aquest enllaç.",
'journey.studio.fit.cover': 'Fill', // en-fallback 'journey.studio.fit.cover': 'Omple',
'journey.studio.fit.contain': 'Fit', // en-fallback 'journey.studio.fit.contain': 'Ajusta',
'journey.studio.filter.none': 'Original', // en-fallback 'journey.studio.filter.none': 'Original',
'journey.studio.filter.bw': 'Black & white', // en-fallback 'journey.studio.filter.bw': 'Blanc i negre',
'journey.studio.filter.warm': 'Warm', // en-fallback 'journey.studio.filter.warm': 'Càlid',
'journey.studio.shapeKind.rect': 'Rectangle', // en-fallback 'journey.studio.shapeKind.rect': 'Rectangle',
'journey.studio.shapeKind.ellipse': 'Ellipse', // en-fallback 'journey.studio.shapeKind.ellipse': 'El·lipse',
'journey.studio.focalHint': 'Drag the point to choose what stays in frame.', // en-fallback 'journey.studio.focalHint': "Arrossega el punt per triar què es queda dins l'enquadrament.",
'journey.studio.backCover': 'Back cover', // en-fallback 'journey.studio.backCover': 'Contracoberta',
'journey.studio.sections': 'Sections', // en-fallback 'journey.studio.sections': 'Seccions',
'journey.studio.content': 'Contingut', 'journey.studio.content': 'Contingut',
'journey.studio.elements': 'Elements', // same-as-en 'journey.studio.elements': 'Elements', // same-as-en
'journey.studio.templates': 'Maquetacions', 'journey.studio.templates': 'Maquetacions',
'journey.studio.photos': 'Fotos', 'journey.studio.photos': 'Fotos',
'journey.studio.entries': 'Entrades', 'journey.studio.entries': 'Entrades',
'journey.studio.addToPage': 'Add to this page', // en-fallback 'journey.studio.addToPage': 'Afegeix a aquesta pàgina',
'journey.studio.noPhotos': 'This journey has no photos yet.', // en-fallback 'journey.studio.noPhotos': 'Aquest viatge encara no té fotos.',
'journey.studio.untitled': 'Untitled', // en-fallback 'journey.studio.untitled': 'Sense títol',
'journey.studio.addTitle': 'Title', // en-fallback 'journey.studio.addTitle': 'Títol',
'journey.studio.addStory': 'Story', // en-fallback 'journey.studio.addStory': 'Relat',
'journey.studio.addPlace': 'Place', // en-fallback 'journey.studio.addPlace': 'Lloc',
'journey.studio.shapes': 'Formes', 'journey.studio.shapes': 'Formes',
'journey.studio.frames': 'Marcs', 'journey.studio.frames': 'Marcs',
'journey.studio.emptyFrame': 'Empty frame', // en-fallback 'journey.studio.emptyFrame': 'Marc buit',
'journey.studio.frameHint': 'An empty frame marks where a picture goes. Drop one on it from Content.', // en-fallback 'journey.studio.frameHint': "Un marc buit indica on va una imatge. Deixa-n'hi caure una des de Contingut.",
'journey.studio.shapeKind.line': 'Line', // en-fallback 'journey.studio.shapeKind.line': 'Línia',
'journey.studio.styleTitle': 'Heading', // en-fallback 'journey.studio.styleTitle': 'Encapçalament',
'journey.studio.styleSubtitle': 'Subheading', // en-fallback 'journey.studio.styleSubtitle': 'Subencapçalament',
'journey.studio.styleBody': 'Body text', // en-fallback 'journey.studio.styleBody': 'Text del cos',
'journey.studio.styleCaption': 'Caption', // en-fallback 'journey.studio.styleCaption': 'Peu de foto',
'journey.studio.sampleHeading': 'A heading', // en-fallback 'journey.studio.sampleHeading': 'Un encapçalament',
'journey.studio.sampleSubheading': 'A subheading', // en-fallback 'journey.studio.sampleSubheading': 'Un subencapçalament',
'journey.studio.sampleBody': 'Write something about this day.', // en-fallback 'journey.studio.sampleBody': 'Escriu alguna cosa sobre aquest dia.',
'journey.studio.sampleCaption': 'Caption', // en-fallback 'journey.studio.sampleCaption': 'Peu de foto',
'journey.studio.tpl.heroStory': 'Hero and story', // en-fallback 'journey.studio.tpl.heroStory': 'Imatge destacada i relat',
'journey.studio.tpl.fullBleed': 'One picture, full spread', // en-fallback 'journey.studio.tpl.fullBleed': 'Una imatge, a doble pàgina',
'journey.studio.tpl.twoUp': 'Two full pages', // en-fallback 'journey.studio.tpl.twoUp': 'Dues pàgines senceres',
'journey.studio.tpl.grid4': 'Four up', // en-fallback 'journey.studio.tpl.grid4': 'Quatre per pàgina',
'journey.studio.tpl.grid6': 'Six up', // en-fallback 'journey.studio.tpl.grid6': 'Sis per pàgina',
'journey.studio.tpl.strip': 'Strip and text', // en-fallback 'journey.studio.tpl.strip': 'Tira i text',
'journey.studio.tpl.quietText': 'Text only', // en-fallback 'journey.studio.tpl.quietText': 'Només text',
'journey.studio.tpl.portraitPair': 'A pair', // en-fallback 'journey.studio.tpl.portraitPair': 'Una parella',
'journey.studio.dropPhotoHere': 'Arrossega la teva foto\naquí', 'journey.studio.dropPhotoHere': 'Arrossega la teva foto\naquí',
'journey.studio.searchContent': 'Search photos and entries', // en-fallback 'journey.studio.searchContent': 'Cerca fotos i entrades',
'journey.studio.noMatches': 'Nothing matches that.', // en-fallback 'journey.studio.noMatches': 'No hi ha cap coincidència.',
'journey.studio.quoteMark': 'Cometes', 'journey.studio.quoteMark': 'Cometes',
'journey.studio.shapeKind.rounded': 'Rounded rectangle', // en-fallback 'journey.studio.shapeKind.rounded': 'Rectangle arrodonit',
'journey.studio.shapeKind.triangle': 'Triangle', // en-fallback 'journey.studio.shapeKind.triangle': 'Triangle',
'journey.studio.shapeKind.outline': 'Outline only', // en-fallback 'journey.studio.shapeKind.outline': 'Només contorn',
'journey.studio.travel': 'Viatge', 'journey.studio.travel': 'Viatge',
'journey.studio.travelEmpty': 'Les xifres d’aquest viatge encara no estan a punt.', 'journey.studio.travelEmpty': 'Les xifres d’aquest viatge encara no estan a punt.',
'journey.studio.grids': 'Graelles', 'journey.studio.grids': 'Graelles',
@@ -435,7 +435,7 @@ const journey: TranslationStrings = {
'journey.studio.routeMap': 'Mapa del recorregut', 'journey.studio.routeMap': 'Mapa del recorregut',
'journey.studio.mapStyle.minimal': 'Mínim', 'journey.studio.mapStyle.minimal': 'Mínim',
'journey.studio.mapStyle.outline': 'Contorn', 'journey.studio.mapStyle.outline': 'Contorn',
'journey.studio.mapStyle.paper': 'Paper', 'journey.studio.mapStyle.paper': 'Paper', // same-as-en
'journey.studio.mapStyle.dark': 'Fosc', 'journey.studio.mapStyle.dark': 'Fosc',
'journey.studio.countries': 'Països', 'journey.studio.countries': 'Països',
'journey.studio.noCountries': 'Encara no s’ha determinat cap país per a aquest viatge.', 'journey.studio.noCountries': 'Encara no s’ha determinat cap país per a aquest viatge.',
@@ -445,7 +445,7 @@ const journey: TranslationStrings = {
'journey.studio.dayMark': 'Comptador de dies', 'journey.studio.dayMark': 'Comptador de dies',
'journey.studio.coordsMark': 'Coordenades', 'journey.studio.coordsMark': 'Coordenades',
'journey.studio.coordsDms': 'Graus', 'journey.studio.coordsDms': 'Graus',
'journey.studio.coordsDecimal': 'Decimal', 'journey.studio.coordsDecimal': 'Decimal', // same-as-en
'journey.studio.flagMark': 'Bandera', 'journey.studio.flagMark': 'Bandera',
'journey.studio.distanceMark': 'Distància', 'journey.studio.distanceMark': 'Distància',
'journey.studio.metric.distance': 'Distància', 'journey.studio.metric.distance': 'Distància',
@@ -491,7 +491,7 @@ const journey: TranslationStrings = {
'journey.studio.mapPadding': 'Espai', 'journey.studio.mapPadding': 'Espai',
'journey.studio.mapShape': 'Forma', 'journey.studio.mapShape': 'Forma',
'journey.studio.align.left': 'Esquerra', 'journey.studio.align.left': 'Esquerra',
'journey.studio.align.center': 'Centre', 'journey.studio.align.center': 'Centre', // same-as-en
'journey.studio.align.right': 'Dreta', 'journey.studio.align.right': 'Dreta',
'journey.studio.markStyle.plain': 'Simple', 'journey.studio.markStyle.plain': 'Simple',
'journey.studio.markStyle.chip': 'Càpsula', 'journey.studio.markStyle.chip': 'Càpsula',
@@ -525,7 +525,7 @@ const journey: TranslationStrings = {
'journey.studio.showFlag': 'Banderes', 'journey.studio.showFlag': 'Banderes',
'journey.studio.showName': 'Noms', 'journey.studio.showName': 'Noms',
'journey.studio.textScale': 'Mida del text', 'journey.studio.textScale': 'Mida del text',
'journey.studio.accent': 'Accent', 'journey.studio.accent': 'Accent', // same-as-en
'journey.studio.refresh': 'Actualitza des del viatge', 'journey.studio.refresh': 'Actualitza des del viatge',
'journey.studio.staleHint': 'El viatge ha canviat des que es van prendre aquestes xifres.', 'journey.studio.staleHint': 'El viatge ha canviat des que es van prendre aquestes xifres.',
'journey.studio.align': 'Alineació', 'journey.studio.align': 'Alineació',
@@ -544,11 +544,11 @@ const journey: TranslationStrings = {
'journey.studio.deletePage': 'Elimina la pàgina', 'journey.studio.deletePage': 'Elimina la pàgina',
'journey.studio.movePageUp': 'Mou abans', 'journey.studio.movePageUp': 'Mou abans',
'journey.studio.movePageDown': 'Mou després', 'journey.studio.movePageDown': 'Mou després',
'journey.studio.beta': 'Beta', 'journey.studio.beta': 'Beta', // same-as-en
'journey.studio.addProsCons': 'Pros i contres', 'journey.studio.addProsCons': 'Pros i contres',
'journey.studio.showMarks': 'Marques', 'journey.studio.showMarks': 'Marques',
'journey.studio.formatCustom': 'Mida pròpia', 'journey.studio.formatCustom': 'Mida pròpia',
'journey.studio.document': 'Document', 'journey.studio.document': 'Document', // same-as-en
'journey.studio.pageNumbers': 'Números de pàgina', 'journey.studio.pageNumbers': 'Números de pàgina',
'journey.studio.folio.outer': 'Exterior', 'journey.studio.folio.outer': 'Exterior',
'journey.studio.folio.inner': 'Interior', 'journey.studio.folio.inner': 'Interior',
@@ -567,7 +567,7 @@ const journey: TranslationStrings = {
'journey.studio.tpl.coverHalf': 'Dues meitats', 'journey.studio.tpl.coverHalf': 'Dues meitats',
'journey.studio.tpl.fullText': 'Imatge i història', 'journey.studio.tpl.fullText': 'Imatge i història',
'journey.studio.tpl.grid9': 'Nou', 'journey.studio.tpl.grid9': 'Nou',
'journey.studio.tpl.mosaic': 'Mosaic', 'journey.studio.tpl.mosaic': 'Mosaic', // same-as-en
'journey.studio.tpl.bandQuote': 'Paraules al mig', 'journey.studio.tpl.bandQuote': 'Paraules al mig',
'journey.studio.tpl.staggerFour': 'Quatre esglaonades', 'journey.studio.tpl.staggerFour': 'Quatre esglaonades',
'journey.studio.mapSource': 'Origen del mapa', 'journey.studio.mapSource': 'Origen del mapa',
@@ -610,12 +610,12 @@ const journey: TranslationStrings = {
'journey.studio.mapSourceTiles': 'Tessel·les', 'journey.studio.mapSourceTiles': 'Tessel·les',
'journey.studio.mapSourceStatic': 'Mapbox', 'journey.studio.mapSourceStatic': 'Mapbox',
'journey.studio.mapSourceHint': 'Es descarrega en renderitzar i s’imprimeix amb l’atribució', 'journey.studio.mapSourceHint': 'Es descarrega en renderitzar i s’imprimeix amb l’atribució',
'journey.studio.mapZoom': 'Zoom', 'journey.studio.mapZoom': 'Zoom', // same-as-en
'journey.studio.mapFraming': 'Enquadrament', 'journey.studio.mapFraming': 'Enquadrament',
'journey.studio.mapFitStops': 'Parades', 'journey.studio.mapFitStops': 'Parades',
'journey.studio.mapFitCountry': 'Tot el país', 'journey.studio.mapFitCountry': 'Tot el país',
'journey.studio.mapPadTight': 'Ajustat', 'journey.studio.mapPadTight': 'Ajustat',
'journey.studio.mapPadNormal': 'Normal', 'journey.studio.mapPadNormal': 'Normal', // same-as-en
'journey.studio.mapPadWide': 'Ampli', 'journey.studio.mapPadWide': 'Ampli',
'journey.studio.mapPadFar': 'Molt ampli', 'journey.studio.mapPadFar': 'Molt ampli',
'journey.studio.mapClipRect': 'Amb marc', 'journey.studio.mapClipRect': 'Amb marc',
+1 -1
View File
@@ -5,7 +5,7 @@ const map: TranslationStrings = {
'map.showConnections': 'Mostra les rutes de reserves', 'map.showConnections': 'Mostra les rutes de reserves',
'map.hideConnections': 'Amaga les rutes de reserves', 'map.hideConnections': 'Amaga les rutes de reserves',
'poi.searchThisArea': 'Cerca en aquesta zona', 'poi.searchThisArea': 'Cerca en aquesta zona',
'poi.cat.restaurants': 'Restaurants', 'poi.cat.restaurants': 'Restaurants', // same-as-en
'poi.cat.cafes': 'Cafeteries', 'poi.cat.cafes': 'Cafeteries',
'poi.cat.bars': 'Bars i oci nocturn', 'poi.cat.bars': 'Bars i oci nocturn',
'poi.cat.hotels': 'Allotjament', 'poi.cat.hotels': 'Allotjament',
+2 -2
View File
@@ -5,7 +5,7 @@ const mobileTrip: TranslationStrings = {
'mobileTrip.addNoteShort': 'Nota', 'mobileTrip.addNoteShort': 'Nota',
'mobileTrip.addPlaceShort': 'Lloc', 'mobileTrip.addPlaceShort': 'Lloc',
'mobileTrip.addToDayQuestion': 'Afegeix a un dia?', 'mobileTrip.addToDayQuestion': 'Afegeix a un dia?',
'mobileTrip.addTransportShort': 'Transport', 'mobileTrip.addTransportShort': 'Transport', // same-as-en
'mobileTrip.allDays': 'Tots els dies', 'mobileTrip.allDays': 'Tots els dies',
'mobileTrip.today': 'Avui', 'mobileTrip.today': 'Avui',
'mobileTrip.jumpToToday': 'Ves a avui', 'mobileTrip.jumpToToday': 'Ves a avui',
@@ -33,7 +33,7 @@ const mobileTrip: TranslationStrings = {
'mobileTrip.more': 'Més', 'mobileTrip.more': 'Més',
'mobileTrip.newCategory': 'Categoria nova', 'mobileTrip.newCategory': 'Categoria nova',
'mobileTrip.newReservation': 'Reserva nova', 'mobileTrip.newReservation': 'Reserva nova',
'mobileTrip.notes': 'Notes', 'mobileTrip.notes': 'Notes', // same-as-en
'mobileTrip.onMap': 'Al mapa', 'mobileTrip.onMap': 'Al mapa',
'mobileTrip.profileDriving': 'En cotxe', 'mobileTrip.profileDriving': 'En cotxe',
'mobileTrip.profileWalking': 'A peu', 'mobileTrip.profileWalking': 'A peu',
+1 -1
View File
@@ -13,7 +13,7 @@ const nav: TranslationStrings = {
'nav.bottomSettings': 'Configuració', 'nav.bottomSettings': 'Configuració',
'nav.bottomAdmin': 'Administració', 'nav.bottomAdmin': 'Administració',
'nav.bottomLogout': 'Tanca la sessió', 'nav.bottomLogout': 'Tanca la sessió',
'nav.bottomAdminBadge': 'Admin', 'nav.bottomAdminBadge': 'Admin', // same-as-en
'nav.help': 'Ajuda', 'nav.help': 'Ajuda',
}; };
+1 -1
View File
@@ -12,7 +12,7 @@ const oauth: TranslationStrings = {
'oauth.scope.group.collab': 'Col·laboració', 'oauth.scope.group.collab': 'Col·laboració',
'oauth.scope.group.notifications': 'Notificacions', 'oauth.scope.group.notifications': 'Notificacions',
'oauth.scope.group.vacay': 'Vacances', 'oauth.scope.group.vacay': 'Vacances',
'oauth.scope.group.geo': 'Geo', 'oauth.scope.group.geo': 'Geo', // same-as-en
'oauth.scope.group.weather': 'Clima', 'oauth.scope.group.weather': 'Clima',
'oauth.scope.group.journey': 'Travesia', 'oauth.scope.group.journey': 'Travesia',
'oauth.scope.trips:read.label': 'Mostra els viatges i itineraris', 'oauth.scope.trips:read.label': 'Mostra els viatges i itineraris',
+1 -1
View File
@@ -83,7 +83,7 @@ const packing: TranslationStrings = {
'packing.viewPersonal': 'La meva llista', 'packing.viewPersonal': 'La meva llista',
'packing.share': 'Compartir', 'packing.share': 'Compartir',
'packing.tierCommonHint': 'Al fons comú del grup, visible per a tothom', 'packing.tierCommonHint': 'Al fons comú del grup, visible per a tothom',
'packing.tierPersonal': 'Personal', 'packing.tierPersonal': 'Personal', // same-as-en
'packing.tierPersonalHint': 'Privat — només tu ho pots veure', 'packing.tierPersonalHint': 'Privat — només tu ho pots veure',
'packing.tierShared': 'Compartit amb…', 'packing.tierShared': 'Compartit amb…',
'packing.noOneToShare': 'Encara no hi ha ningú més en aquest viatge', 'packing.noOneToShare': 'Encara no hi ha ningú més en aquest viatge',
+2 -2
View File
@@ -71,7 +71,7 @@ const places: TranslationStrings = {
'places.notRated': 'Encara sense valoració', 'places.notRated': 'Encara sense valoració',
'places.search': 'Cerca llocs...', 'places.search': 'Cerca llocs...',
'places.allCategories': 'Totes les categories', 'places.allCategories': 'Totes les categories',
'places.categoriesSelected': 'categories', 'places.categoriesSelected': 'categories', // same-as-en
'places.categoriesSelected.one': 'categoria', 'places.categoriesSelected.one': 'categoria',
'places.clearFilter': 'Esborra el filtre', 'places.clearFilter': 'Esborra el filtre',
'places.count': '{count} llocs', 'places.count': '{count} llocs',
@@ -112,7 +112,7 @@ const places: TranslationStrings = {
'places.searchNothing': "No s'ha trobat res per a «{query}»", 'places.searchNothing': "No s'ha trobat res per a «{query}»",
'places.searchNothingHint': 'Afegeix-lo tu: adreça, telèfon, correu i horari tenen un camp a sota.', 'places.searchNothingHint': 'Afegeix-lo tu: adreça, telèfon, correu i horari tenen un camp a sota.',
'places.addByHand': 'Afegeix a mà', 'places.addByHand': 'Afegeix a mà',
'places.formNotes': 'Notes', 'places.formNotes': 'Notes', // same-as-en
'places.formNotesPlaceholder': 'Notes personals...', 'places.formNotesPlaceholder': 'Notes personals...',
'places.assignmentNotes': 'Notes per a aquest dia', 'places.assignmentNotes': 'Notes per a aquest dia',
'places.assignmentNotesPlaceholder': 'Notes per a aquest lloc només aquest dia...', 'places.assignmentNotesPlaceholder': 'Notes per a aquest lloc només aquest dia...',
+1 -1
View File
@@ -4,7 +4,7 @@ const planner: TranslationStrings = {
'planner.places': 'Llocs', 'planner.places': 'Llocs',
'planner.bookings': 'Reserves', 'planner.bookings': 'Reserves',
'planner.packingList': "Llista d'equipatge", 'planner.packingList': "Llista d'equipatge",
'planner.documents': 'Documents', 'planner.documents': 'Documents', // same-as-en
'planner.dayPlan': 'Pla per dies', 'planner.dayPlan': 'Pla per dies',
'planner.reservations': 'Reserves', 'planner.reservations': 'Reserves',
'planner.minTwoPlaces': 'Calen almenys 2 llocs amb coordenades', 'planner.minTwoPlaces': 'Calen almenys 2 llocs amb coordenades',
+6 -6
View File
@@ -20,11 +20,11 @@ const reservations: TranslationStrings = {
'reservations.date': 'Data', 'reservations.date': 'Data',
'reservations.time': 'Hora', 'reservations.time': 'Hora',
'reservations.timeAlt': 'Hora (alternativa, p. ex. 19:30)', 'reservations.timeAlt': 'Hora (alternativa, p. ex. 19:30)',
'reservations.notes': 'Notes', 'reservations.notes': 'Notes', // same-as-en
'reservations.notesPlaceholder': 'Notes addicionals...', 'reservations.notesPlaceholder': 'Notes addicionals...',
'reservations.type.flight': 'Vol', 'reservations.type.flight': 'Vol',
'reservations.type.hotel': 'Allotjament', 'reservations.type.hotel': 'Allotjament',
'reservations.type.restaurant': 'Restaurant', 'reservations.type.restaurant': 'Restaurant', // same-as-en
'reservations.type.train': 'Tren', 'reservations.type.train': 'Tren',
'reservations.type.car': 'Cotxe', 'reservations.type.car': 'Cotxe',
'reservations.type.cruise': 'Creuer', 'reservations.type.cruise': 'Creuer',
@@ -36,7 +36,7 @@ const reservations: TranslationStrings = {
'reservations.type.ferry': 'Ferri', 'reservations.type.ferry': 'Ferri',
'reservations.type.cable_car': 'Telefèric', 'reservations.type.cable_car': 'Telefèric',
'reservations.type.bicycle': 'Bicicleta', 'reservations.type.bicycle': 'Bicicleta',
'reservations.type.taxi': 'Taxi', 'reservations.type.taxi': 'Taxi', // same-as-en
'reservations.type.transit': 'Transport públic', 'reservations.type.transit': 'Transport públic',
'reservations.typeShort.transit': 'Transp. públic', 'reservations.typeShort.transit': 'Transp. públic',
'reservations.type.transport_other': 'Altres', 'reservations.type.transport_other': 'Altres',
@@ -220,7 +220,7 @@ const reservations: TranslationStrings = {
'reservations.export.to': 'Fins a', 'reservations.export.to': 'Fins a',
'reservations.export.location': 'Ubicació', 'reservations.export.location': 'Ubicació',
'reservations.export.confirmation': 'Confirmació', 'reservations.export.confirmation': 'Confirmació',
'reservations.export.notes': 'Notes', 'reservations.export.notes': 'Notes', // same-as-en
'reservations.resetView': 'Restablir la vista', 'reservations.resetView': 'Restablir la vista',
'reservations.group.label': 'Agrupar per', 'reservations.group.label': 'Agrupar per',
'reservations.group.status': 'Estat', 'reservations.group.status': 'Estat',
@@ -242,7 +242,7 @@ const reservations: TranslationStrings = {
'reservations.sort.zToA': 'De la Z a la A', 'reservations.sort.zToA': 'De la Z a la A',
'reservations.timeline.dayCount': '{count} dies', 'reservations.timeline.dayCount': '{count} dies',
'reservations.timeline.dayCount.one': '{count} dia', 'reservations.timeline.dayCount.one': '{count} dia',
'reservations.timeline.zoom': 'Zoom', 'reservations.timeline.zoom': 'Zoom', // same-as-en
'reservations.timeline.trip': 'Viatge', 'reservations.timeline.trip': 'Viatge',
'reservations.timeline.day': 'Dia', 'reservations.timeline.day': 'Dia',
'reservations.timeline.prevDay': 'Dia anterior', 'reservations.timeline.prevDay': 'Dia anterior',
@@ -254,7 +254,7 @@ const reservations: TranslationStrings = {
'reservations.timeline.byType': 'Un carril per tipus', 'reservations.timeline.byType': 'Un carril per tipus',
'reservations.timeline.context': "Mostrar l'altra pestanya", 'reservations.timeline.context': "Mostrar l'altra pestanya",
'reservations.timeline.contextBookings': 'Reserves', 'reservations.timeline.contextBookings': 'Reserves',
'reservations.timeline.contextTransports': 'Transports', 'reservations.timeline.contextTransports': 'Transports', // same-as-en
'reservations.timeline.noneDated': "Encara no n'hi ha cap amb data.", 'reservations.timeline.noneDated': "Encara no n'hi ha cap amb data.",
'reservations.undated': 'Sense data', 'reservations.undated': 'Sense data',
'reservations.nights': 'Nits', 'reservations.nights': 'Nits',
+3 -3
View File
@@ -88,7 +88,7 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.rangeLabelCharge': 'Autonomia per càrrega', 'roadtrip.limit.rangeLabelCharge': 'Autonomia per càrrega',
'roadtrip.limit.sectionTrip': 'Aquest viatge', 'roadtrip.limit.sectionTrip': 'Aquest viatge',
'roadtrip.limit.sectionDriving': 'Conducció', 'roadtrip.limit.sectionDriving': 'Conducció',
'roadtrip.limit.sectionVehicle': 'Vehicle', 'roadtrip.limit.sectionVehicle': 'Vehicle', // same-as-en
'roadtrip.limit.tankLabel': 'Dipòsit', 'roadtrip.limit.tankLabel': 'Dipòsit',
'roadtrip.limit.batteryLabel': 'Bateria', 'roadtrip.limit.batteryLabel': 'Bateria',
'roadtrip.limit.useLabel': 'Consum', 'roadtrip.limit.useLabel': 'Consum',
@@ -222,7 +222,7 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.alongRoute': 'després de {distance}', 'roadtrip.poi.alongRoute': 'després de {distance}',
'roadtrip.poi.clearResults': 'Esborra resultats', 'roadtrip.poi.clearResults': 'Esborra resultats',
'roadtrip.poi.addManual': 'Afegeix manualment', 'roadtrip.poi.addManual': 'Afegeix manualment',
'roadtrip.poi.addManualShort': 'Manual', 'roadtrip.poi.addManualShort': 'Manual', // same-as-en
'roadtrip.poi.manualHint': 'roadtrip.poi.manualHint':
'La cerca de llocs no troba tots els punts de recàrrega ni totes les benzineres. Busca’n un pel nom i digues en quin punt del trajecte va.', 'La cerca de llocs no troba tots els punts de recàrrega ni totes les benzineres. Busca’n un pel nom i digues en quin punt del trajecte va.',
'roadtrip.poi.addBetween': 'Afegeix entre', 'roadtrip.poi.addBetween': 'Afegeix entre',
@@ -316,7 +316,7 @@ const roadtrip: TranslationStrings = {
'La reserva {title} no és a cap dia d’aquest viatge, així que el trajecte no la té en compte.', 'La reserva {title} no és a cap dia d’aquest viatge, així que el trajecte no la té en compte.',
'roadtrip.bookings.loose': 'També reservat aquest dia', 'roadtrip.bookings.loose': 'També reservat aquest dia',
'roadtrip.ride.departureFlight': 'Sortida {time}', 'roadtrip.ride.departureFlight': 'Sortida {time}',
'roadtrip.ride.checkIn': 'Check-in', 'roadtrip.ride.checkIn': 'Check-in', // same-as-en
'roadtrip.ride.boarding': 'Embarcament', 'roadtrip.ride.boarding': 'Embarcament',
'roadtrip.ride.missed': 'Perdut', 'roadtrip.ride.missed': 'Perdut',
'roadtrip.ride.lateBy': '{time} de retard', 'roadtrip.ride.lateBy': '{time} de retard',
+19 -19
View File
@@ -25,7 +25,7 @@ const settings: TranslationStrings = {
'settings.mapProviderHint': 'Afecta els mapes de Trip Planner i Journey. Atles sempre utilitza Leaflet.', 'settings.mapProviderHint': 'Afecta els mapes de Trip Planner i Journey. Atles sempre utilitza Leaflet.',
'settings.mapLeafletSubtitle': 'Clàssic 2D, qualsevol mosaic raster', 'settings.mapLeafletSubtitle': 'Clàssic 2D, qualsevol mosaic raster',
'settings.mapMapboxSubtitle': 'Mosaics vectorials, edificis 3D i terreny', 'settings.mapMapboxSubtitle': 'Mosaics vectorials, edificis 3D i terreny',
'settings.mapExperimental': 'Experimental', 'settings.mapExperimental': 'Experimental', // same-as-en
'settings.mapMapboxToken': "Token d'accés de Mapbox", 'settings.mapMapboxToken': "Token d'accés de Mapbox",
'settings.mapMapboxTokenHint': 'Token públic (pk.*) de', 'settings.mapMapboxTokenHint': 'Token públic (pk.*) de',
'settings.mapMapboxTokenLink': "mapbox.com → Tokens d'accés", 'settings.mapMapboxTokenLink': "mapbox.com → Tokens d'accés",
@@ -189,20 +189,20 @@ const settings: TranslationStrings = {
'settings.about.featureRequestHint': 'Suggereix una funció nova', 'settings.about.featureRequestHint': 'Suggereix una funció nova',
'settings.about.wikiHint': 'Documentació i guies', 'settings.about.wikiHint': 'Documentació i guies',
'settings.about.descriptionManaged': 'settings.about.descriptionManaged':
'TREK helps you organize your trips from the first idea to the last memory. Day planning, budget, packing lists, photos and much more — all in one place.', "TREK t'ajuda a organitzar els teus viatges des de la primera idea fins al darrer record. Planificació de dies, pressupost, llistes d'equipatge, fotos i molt més, tot en un sol lloc.",
'settings.about.sourceTitle': 'Source code', 'settings.about.sourceTitle': 'Codi font',
'settings.about.sourceHint': 'TREK is open source, licensed AGPL-3.0', 'settings.about.sourceHint': 'TREK és de codi obert, amb llicència AGPL-3.0',
'settings.about.supporters.badge': 'Patrocinadors Mensuals', 'settings.about.supporters.badge': 'Patrocinadors Mensuals',
'settings.about.supporters.title': 'Companyia de viatge per a TREK', 'settings.about.supporters.title': 'Companyia de viatge per a TREK',
'settings.about.supporters.subtitle': 'settings.about.supporters.subtitle':
'Mentre planifiques la teva pròxima ruta, aquestes persones ajuden a planificar el futur de TREK. La seva aportació mensual va directa al desenvolupament i a les hores reals invertides — perquè TREK continuï sent Open Source.', 'Mentre planifiques la teva pròxima ruta, aquestes persones ajuden a planificar el futur de TREK. La seva aportació mensual va directa al desenvolupament i a les hores reals invertides — perquè TREK continuï sent Open Source.',
'settings.about.supporters.since': 'patrocinador des de {date}', 'settings.about.supporters.since': 'patrocinador des de {date}',
'settings.about.supporters.tierEmpty': 'Sigues el primer', 'settings.about.supporters.tierEmpty': 'Sigues el primer',
'settings.about.supporter.tier.noReturnTicket': 'No Return Ticket', 'settings.about.supporter.tier.noReturnTicket': 'Sense bitllet de tornada',
'settings.about.supporter.tier.lostLuggageVip': 'Lost Luggage VIP', 'settings.about.supporter.tier.lostLuggageVip': "VIP de l'equipatge perdut",
'settings.about.supporter.tier.businessClassDreamer': 'Business Class Dreamer', 'settings.about.supporter.tier.businessClassDreamer': 'Somiador de classe business',
'settings.about.supporter.tier.budgetTraveller': 'Budget Traveller', 'settings.about.supporter.tier.budgetTraveller': 'Viatger de pressupost ajustat',
'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate', 'settings.about.supporter.tier.hostelBunkmate': "Company de lliteres a l'alberg",
'settings.about.description': 'settings.about.description':
"TREK és un planificador de viatges autoallotjat que t'ajuda a organitzar els teus viatges des de la primera idea fins al darrer record. Planificació diària, pressupost, llistes d'equipatge, fotos i molt més — tot en un sol lloc, al teu propi servidor.", "TREK és un planificador de viatges autoallotjat que t'ajuda a organitzar els teus viatges des de la primera idea fins al darrer record. Planificació diària, pressupost, llistes d'equipatge, fotos i molt més — tot en un sol lloc, al teu propi servidor.",
'settings.about.madeWith': 'Fet amb', 'settings.about.madeWith': 'Fet amb',
@@ -296,7 +296,7 @@ const settings: TranslationStrings = {
'settings.webhookUrl.testSuccess': 'Webhook de prova enviat correctament', 'settings.webhookUrl.testSuccess': 'Webhook de prova enviat correctament',
'settings.webhookUrl.testFailed': 'Error en enviar el webhook de prova', 'settings.webhookUrl.testFailed': 'Error en enviar el webhook de prova',
'settings.ntfyUrl.topicLabel': 'Tema de Ntfy', 'settings.ntfyUrl.topicLabel': 'Tema de Ntfy',
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', 'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', // same-as-en
'settings.ntfyUrl.serverLabel': 'URL del servidor Ntfy (opcional)', 'settings.ntfyUrl.serverLabel': 'URL del servidor Ntfy (opcional)',
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh', 'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
'settings.ntfyUrl.hint': 'settings.ntfyUrl.hint':
@@ -312,7 +312,7 @@ const settings: TranslationStrings = {
'settings.notificationPreferences.webhook': 'Webhook', 'settings.notificationPreferences.webhook': 'Webhook',
'settings.notificationPreferences.email': 'Correu electrònic', 'settings.notificationPreferences.email': 'Correu electrònic',
'settings.notificationPreferences.ntfy': 'Ntfy', 'settings.notificationPreferences.ntfy': 'Ntfy',
'settings.notificationPreferences.push': 'Push', 'settings.notificationPreferences.push': 'Push', // same-as-en
'settings.webPush.title': 'Notificacions push en aquest dispositiu', 'settings.webPush.title': 'Notificacions push en aquest dispositiu',
'settings.webPush.hint': 'settings.webPush.hint':
'Mostra les notificacions de TREK en aquest dispositiu fins i tot quan TREK està tancat. Els esdeveniments que arriben segueixen la columna Push.', 'Mostra les notificacions de TREK en aquest dispositiu fins i tot quan TREK està tancat. Els esdeveniments que arriben segueixen la columna Push.',
@@ -325,7 +325,7 @@ const settings: TranslationStrings = {
'settings.webPush.denied': 'settings.webPush.denied':
'Les notificacions de TREK estan bloquejades en aquest navegador. Permet-les a la configuració del navegador i torna-ho a provar.', 'Les notificacions de TREK estan bloquejades en aquest navegador. Permet-les a la configuració del navegador i torna-ho a provar.',
'settings.webPush.failed': "No s'ha pogut activar push en aquest dispositiu.", 'settings.webPush.failed': "No s'ha pogut activar push en aquest dispositiu.",
'settings.passkey.title': 'Passkeys', 'settings.passkey.title': "Claus d'accés",
'settings.passkey.description': 'settings.passkey.description':
'Inicia la sessió més ràpidament i amb protecció contra el phishing utilitzant una passkey: la teva empremta, la teva cara, el teu PIN o una clau de seguretat física. La teva contrasenya continua disponible com a alternativa.', 'Inicia la sessió més ràpidament i amb protecció contra el phishing utilitzant una passkey: la teva empremta, la teva cara, el teu PIN o una clau de seguretat física. La teva contrasenya continua disponible com a alternativa.',
'settings.passkey.notConfigured': 'settings.passkey.notConfigured':
@@ -343,7 +343,7 @@ const settings: TranslationStrings = {
'settings.passkey.deleted': 'Passkey eliminada', 'settings.passkey.deleted': 'Passkey eliminada',
'settings.passkey.deleteConfirm': 'Vols eliminar aquesta passkey? Confirma-ho amb la teva contrasenya.', 'settings.passkey.deleteConfirm': 'Vols eliminar aquesta passkey? Confirma-ho amb la teva contrasenya.',
'settings.passkey.rename': 'Canvia el nom', 'settings.passkey.rename': 'Canvia el nom',
'settings.passkey.defaultName': 'Passkey', 'settings.passkey.defaultName': "Clau d'accés",
'settings.passkey.synced': 'Sincronitzada', 'settings.passkey.synced': 'Sincronitzada',
'settings.passkey.deviceBound': 'Aquest dispositiu', 'settings.passkey.deviceBound': 'Aquest dispositiu',
'settings.passkey.lastUsed': 'Últim ús', 'settings.passkey.lastUsed': 'Últim ús',
@@ -390,7 +390,7 @@ const settings: TranslationStrings = {
'settings.aiParsing.providerAnthropic': 'Anthropic', 'settings.aiParsing.providerAnthropic': 'Anthropic',
'settings.aiParsing.localAdminOnly': 'settings.aiParsing.localAdminOnly':
"Un punt final local (Ollama) es configura una sola vegada per a tota la instància a la configuració d'administració. Aquí encara pots fer servir la teva pròpia clau d'OpenAI o d'Anthropic.", "Un punt final local (Ollama) es configura una sola vegada per a tota la instància a la configuració d'administració. Aquí encara pots fer servir la teva pròpia clau d'OpenAI o d'Anthropic.",
'settings.aiParsing.model': 'Model', 'settings.aiParsing.model': 'Model', // same-as-en
'settings.aiParsing.baseUrl': 'URL base', 'settings.aiParsing.baseUrl': 'URL base',
'settings.aiParsing.baseUrlHint': 'settings.aiParsing.baseUrlHint':
"On s'executa el model — un servidor local d'Ollama o un punt final compatible amb OpenAI.", "On s'executa el model — un servidor local d'Ollama o un punt final compatible amb OpenAI.",
@@ -455,7 +455,7 @@ const settings: TranslationStrings = {
'settings.appearance.perSize': 'Ajustar cada mida per separat', 'settings.appearance.perSize': 'Ajustar cada mida per separat',
'settings.appearance.size.large': 'Gran', 'settings.appearance.size.large': 'Gran',
'settings.appearance.size.medium': 'Mitjana', 'settings.appearance.size.medium': 'Mitjana',
'settings.appearance.size.normal': 'Normal', 'settings.appearance.size.normal': 'Normal', // same-as-en
'settings.appearance.size.small': 'Petita', 'settings.appearance.size.small': 'Petita',
'settings.appearance.preview.large': 'Títol gran', 'settings.appearance.preview.large': 'Títol gran',
'settings.appearance.preview.medium': 'Subtítol mitjà', 'settings.appearance.preview.medium': 'Subtítol mitjà',
@@ -465,7 +465,7 @@ const settings: TranslationStrings = {
'settings.appearance.example.medium': 'Subcapçaleres', 'settings.appearance.example.medium': 'Subcapçaleres',
'settings.appearance.example.normal': 'Noms de llocs, descripcions', 'settings.appearance.example.normal': 'Noms de llocs, descripcions',
'settings.appearance.example.small': 'Adreces, etiquetes', 'settings.appearance.example.small': 'Adreces, etiquetes',
'settings.appearance.experimental': 'Experimental', 'settings.appearance.experimental': 'Experimental', // same-as-en
'settings.appearance.mobileNav': 'Barra de navegació inferior', 'settings.appearance.mobileNav': 'Barra de navegació inferior',
'settings.appearance.mobileNav.hint': 'settings.appearance.mobileNav.hint':
'Tria quins elements apareixen a la barra i quins queden sota «Més». El tauler sempre queda primer.', 'Tria quins elements apareixen a la barra i quins queden sota «Més». El tauler sempre queda primer.',
@@ -511,7 +511,7 @@ const settings: TranslationStrings = {
'settings.offline.prepare.running': 'Descarregant…', 'settings.offline.prepare.running': 'Descarregant…',
'settings.offline.prepare.done': "Llest per a l'ús fora de línia", 'settings.offline.prepare.done': "Llest per a l'ús fora de línia",
'settings.offline.prepare.phase.trips': 'Dades del viatge', 'settings.offline.prepare.phase.trips': 'Dades del viatge',
'settings.offline.prepare.phase.files': 'Documents', 'settings.offline.prepare.phase.files': 'Documents', // same-as-en
'settings.offline.prepare.phase.tiles': 'Tessel·les de mapes', 'settings.offline.prepare.phase.tiles': 'Tessel·les de mapes',
'settings.offline.resync': 'Sincronitzar ara', 'settings.offline.resync': 'Sincronitzar ara',
'settings.offline.resyncing': 'Sincronitzant…', 'settings.offline.resyncing': 'Sincronitzant…',
@@ -623,7 +623,7 @@ const settings: TranslationStrings = {
'settings.apiScopes.accommodations': 'Allotjament', 'settings.apiScopes.accommodations': 'Allotjament',
'settings.apiScopes.travellers': 'Qui hi va', 'settings.apiScopes.travellers': 'Qui hi va',
'settings.apiScopes.bucket-list': 'Llista de desitjos', 'settings.apiScopes.bucket-list': 'Llista de desitjos',
'settings.apiScopes.stats': 'Totals', 'settings.apiScopes.stats': 'Totals', // same-as-en
'settings.apiKeys.title': 'Claus API', 'settings.apiKeys.title': 'Claus API',
'settings.apiKeys.description': 'settings.apiKeys.description':
"Claus per a l'API pública, perquè altres programes puguin llegir els teus viatges. Només lectura: una clau no pot canviar ni esborrar res.", "Claus per a l'API pública, perquè altres programes puguin llegir els teus viatges. Només lectura: una clau no pot canviar ni esborrar res.",
@@ -639,7 +639,7 @@ const settings: TranslationStrings = {
'settings.apiKeys.createFailed': "No s'ha pogut crear la clau", 'settings.apiKeys.createFailed': "No s'ha pogut crear la clau",
'settings.apiKeys.copy': 'Copia', 'settings.apiKeys.copy': 'Copia',
'settings.apiKeys.docsHint': 'Envia la clau com a "Authorization: Bearer ..." o "X-API-Key: ..." a /api/v1.', 'settings.apiKeys.docsHint': 'Envia la clau com a "Authorization: Bearer ..." o "X-API-Key: ..." a /api/v1.',
'settings.apiKeys.endpoint': 'Endpoint', 'settings.apiKeys.endpoint': 'Endpoint', // same-as-en
'settings.apiKeys.neverUsed': 'mai utilitzada', 'settings.apiKeys.neverUsed': 'mai utilitzada',
'settings.apiKeys.loadFailed': 'settings.apiKeys.loadFailed':
"No s'han pogut carregar les teves claus. Torna a carregar la pàgina per tornar-ho a provar.", "No s'han pogut carregar les teves claus. Torna a carregar la pàgina per tornar-ho a provar.",
+4 -4
View File
@@ -6,7 +6,7 @@ const storage: TranslationStrings = {
'storage.field.endpoint': "URL de l'endpoint", 'storage.field.endpoint': "URL de l'endpoint",
'storage.help.endpoint': 'storage.help.endpoint':
'URL base del servei compatible amb S3, p. ex. https://s3.example.com o http://127.0.0.1:9000.', 'URL base del servei compatible amb S3, p. ex. https://s3.example.com o http://127.0.0.1:9000.',
'storage.field.bucket': 'Bucket', 'storage.field.bucket': 'Bucket', // same-as-en
'storage.field.accessKeyId': "ID de clau d'accés", 'storage.field.accessKeyId': "ID de clau d'accés",
'storage.field.secretAccessKey': "Clau d'accés secreta", 'storage.field.secretAccessKey': "Clau d'accés secreta",
'storage.field.region': 'Regió', 'storage.field.region': 'Regió',
@@ -28,7 +28,7 @@ const storage: TranslationStrings = {
'storage.discardAndReload': 'Descarta els meus canvis i torna a carregar', 'storage.discardAndReload': 'Descarta els meus canvis i torna a carregar',
'storage.configError.banner': 'storage.configError.banner':
"No s'han pogut carregar els paràmetres d'emmagatzematge desats — desar-los els substituirà: {error}", "No s'han pogut carregar els paràmetres d'emmagatzematge desats — desar-los els substituirà: {error}",
'storage.backends.title': 'Backends', 'storage.backends.title': 'Backends', // same-as-en
'storage.backends.add': 'Afegir backend', 'storage.backends.add': 'Afegir backend',
'storage.backends.usedBy': 'Utilitzat per: {categories}', 'storage.backends.usedBy': 'Utilitzat per: {categories}',
'storage.backends.unused': 'No assignat a cap categoria', 'storage.backends.unused': 'No assignat a cap categoria',
@@ -36,7 +36,7 @@ const storage: TranslationStrings = {
'storage.source.built-in': 'Integrat', 'storage.source.built-in': 'Integrat',
'storage.source.env': 'Entorn', 'storage.source.env': 'Entorn',
'storage.source.settings': 'Configuració', 'storage.source.settings': 'Configuració',
'storage.type.local': 'Local', 'storage.type.local': 'Local', // same-as-en
'storage.type.s3': 'S3', 'storage.type.s3': 'S3',
'storage.type.mirror': 'Mirall', 'storage.type.mirror': 'Mirall',
'storage.actions.test': 'Provar', 'storage.actions.test': 'Provar',
@@ -56,7 +56,7 @@ const storage: TranslationStrings = {
'storage.form.apply': 'Aplicar', 'storage.form.apply': 'Aplicar',
'storage.form.cancel': 'Cancel·lar', 'storage.form.cancel': 'Cancel·lar',
'storage.form.duplicateName': 'Ja existeix un backend anomenat {name}', 'storage.form.duplicateName': 'Ja existeix un backend anomenat {name}',
'storage.categories.title': 'Categories', 'storage.categories.title': 'Categories', // same-as-en
'storage.categories.default': 'predeterminada', 'storage.categories.default': 'predeterminada',
'storage.categories.reassignWarning': 'storage.categories.reassignWarning':
"Els objectes existents no es mouen: els objectes nous van al backend acabat d'assignar, els antics es queden on són.", "Els objectes existents no es mouen: els objectes nous van al backend acabat d'assignar, els antics es queden on són.",
+1 -1
View File
@@ -59,7 +59,7 @@ const system_notice: TranslationStrings = {
'system_notice.release_notes.headline': 'Quatre coses que TREK ara fa tot sol.', 'system_notice.release_notes.headline': 'Quatre coses que TREK ara fa tot sol.',
'system_notice.release_notes.features_label': 'Els protagonistes', 'system_notice.release_notes.features_label': 'Els protagonistes',
'system_notice.release_notes.features_aside': 'I això no és tot', 'system_notice.release_notes.features_aside': 'I això no és tot',
'system_notice.release_notes.feature_places_title': 'TREK Places API', 'system_notice.release_notes.feature_places_title': 'TREK Places API', // same-as-en
'system_notice.release_notes.feature_places_body': 'system_notice.release_notes.feature_places_body':
'El primer planificador de viatges de codi obert amb API de llocs pròpia. 73,6 milions de llocs, sense clau, sense quota.', 'El primer planificador de viatges de codi obert amb API de llocs pròpia. 73,6 milions de llocs, sense clau, sense quota.',
'system_notice.release_notes.feature_roadtrip_title': 'Complement Roadtrip', 'system_notice.release_notes.feature_roadtrip_title': 'Complement Roadtrip',
+1 -1
View File
@@ -4,7 +4,7 @@ const transport: TranslationStrings = {
'transport.addTransport': 'Afegeix transport', 'transport.addTransport': 'Afegeix transport',
'transport.modalTitle.create': 'Afegeix transport', 'transport.modalTitle.create': 'Afegeix transport',
'transport.modalTitle.edit': 'Edita el transport', 'transport.modalTitle.edit': 'Edita el transport',
'transport.title': 'Transports', 'transport.title': 'Transports', // same-as-en
'transport.addManual': 'Transport manual', 'transport.addManual': 'Transport manual',
'transport.empty': 'Encara no hi ha transports', 'transport.empty': 'Encara no hi ha transports',
}; };
+1 -1
View File
@@ -2,7 +2,7 @@ import type { TranslationStrings } from '../types';
const trip: TranslationStrings = { const trip: TranslationStrings = {
'trip.tabs.plan': 'Planificació', 'trip.tabs.plan': 'Planificació',
'trip.tabs.transports': 'Transports', 'trip.tabs.transports': 'Transports', // same-as-en
'trip.tabs.reservations': 'Reserves', 'trip.tabs.reservations': 'Reserves',
'trip.tabs.reservationsShort': 'Reserves', 'trip.tabs.reservationsShort': 'Reserves',
'trip.tabs.packing': 'Llista de maletes', 'trip.tabs.packing': 'Llista de maletes',
+7 -7
View File
@@ -40,7 +40,7 @@ const vacay: TranslationStrings = {
'vacay.removePersonHint': "Totes les vacances d'aquesta persona s'esborraran permanentment.", 'vacay.removePersonHint': "Totes les vacances d'aquesta persona s'esborraran permanentment.",
'vacay.personName': 'Nom', 'vacay.personName': 'Nom',
'vacay.personNamePlaceholder': 'Introdueix un nom', 'vacay.personNamePlaceholder': 'Introdueix un nom',
'vacay.color': 'Color', 'vacay.color': 'Color', // same-as-en
'vacay.add': 'Afegeix', 'vacay.add': 'Afegeix',
'vacay.legend': 'Llegenda', 'vacay.legend': 'Llegenda',
'vacay.publicHoliday': 'Festiu', 'vacay.publicHoliday': 'Festiu',
@@ -70,9 +70,9 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Ds', 'vacay.sat': 'Ds',
'vacay.sun': 'Dg', 'vacay.sun': 'Dg',
'vacay.publicHolidays': 'Festius', 'vacay.publicHolidays': 'Festius',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar', 'vacay.publicHolidaysHint': 'Marca els festius al calendari',
'vacay.schoolHolidays': 'School Holidays', 'vacay.schoolHolidays': 'Vacances escolars',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer', 'vacay.schoolHolidaysHint': 'Marca les vacances escolars com a capa visual del calendari',
'vacay.selectCountry': 'Selecciona un país', 'vacay.selectCountry': 'Selecciona un país',
'vacay.selectRegion': 'Selecciona una regió (obligatori)', 'vacay.selectRegion': 'Selecciona una regió (obligatori)',
'vacay.companyHolidays': "Festius de l'empresa", 'vacay.companyHolidays': "Festius de l'empresa",
@@ -88,7 +88,7 @@ const vacay: TranslationStrings = {
'vacay.yearType': 'Any de vacances', 'vacay.yearType': 'Any de vacances',
'vacay.yearTypeHint': 'Quan comença el teu any de vacances — dret, ús i saldo arrossegat hi van lligats', 'vacay.yearTypeHint': 'Quan comença el teu any de vacances — dret, ús i saldo arrossegat hi van lligats',
'vacay.yearTypeCalendar': 'Natural', 'vacay.yearTypeCalendar': 'Natural',
'vacay.yearTypeFiscal': 'Fiscal', 'vacay.yearTypeFiscal': 'Fiscal', // same-as-en
'vacay.yearTypeAnniversary': 'Contractació', 'vacay.yearTypeAnniversary': 'Contractació',
'vacay.yearStartMonth': 'Mes inicial', 'vacay.yearStartMonth': 'Mes inicial',
'vacay.yearStartDay': 'Dia', 'vacay.yearStartDay': 'Dia',
@@ -146,7 +146,7 @@ const vacay: TranslationStrings = {
'vacay.addCalendar': 'Afegeix un calendari', 'vacay.addCalendar': 'Afegeix un calendari',
'vacay.calendarColor': 'Color del calendari', 'vacay.calendarColor': 'Color del calendari',
'vacay.calendarLabel': 'Etiqueta', 'vacay.calendarLabel': 'Etiqueta',
'vacay.noCalendars': 'No holiday calendars added yet', 'vacay.noCalendars': "Encara no s'ha afegit cap calendari de festius",
'vacay.noSchoolCalendars': 'No school holiday calendars added yet', 'vacay.noSchoolCalendars': "Encara no s'ha afegit cap calendari de vacances escolars",
}; };
export default vacay; export default vacay;
+25 -26
View File
@@ -37,7 +37,7 @@ const admin: TranslationStrings = {
'admin.stats.files.few': 'Soubory', 'admin.stats.files.few': 'Soubory',
'admin.table.user': 'Uživatel', 'admin.table.user': 'Uživatel',
'admin.table.email': 'E-mail', 'admin.table.email': 'E-mail',
'admin.table.role': 'Role', 'admin.table.role': 'Role', // same-as-en
'admin.table.created': 'Vytvořeno', 'admin.table.created': 'Vytvořeno',
'admin.table.lastActive': 'Naposledy aktivní', 'admin.table.lastActive': 'Naposledy aktivní',
'admin.table.actions': 'Akce', 'admin.table.actions': 'Akce',
@@ -80,18 +80,17 @@ const admin: TranslationStrings = {
'admin.tabs.settings': 'Nastavení', 'admin.tabs.settings': 'Nastavení',
'admin.allowRegistration': 'Povolit registraci', 'admin.allowRegistration': 'Povolit registraci',
'admin.allowRegistrationHint': 'Noví uživatelé se mohou sami registrovat', 'admin.allowRegistrationHint': 'Noví uživatelé se mohou sami registrovat',
'admin.authMethods': 'Authentication Methods', 'admin.authMethods': 'Metody ověřování',
'admin.passwordLogin': 'Password Login', 'admin.passwordLogin': 'Přihlášení heslem',
'admin.passwordLoginHint': 'Allow users to sign in with email and password', 'admin.passwordLoginHint': 'Povolit uživatelům přihlášení e-mailem a heslem',
'admin.passwordRegistration': 'Password Registration', 'admin.passwordRegistration': 'Registrace heslem',
'admin.passwordRegistrationHint': 'Allow new users to register with email and password', 'admin.passwordRegistrationHint': 'Povolit novým uživatelům registraci e-mailem a heslem',
'admin.oidcLogin': 'SSO Login', 'admin.oidcLogin': 'Přihlášení přes SSO',
'admin.oidcLoginHint': 'Allow users to sign in with SSO', 'admin.oidcLoginHint': 'Povolit uživatelům přihlášení přes SSO',
'admin.oidcRegistration': 'SSO Auto-Provisioning', 'admin.oidcRegistration': 'SSO Auto-Provisioning',
'admin.oidcRegistrationHint': 'Automatically create accounts for new SSO users', 'admin.oidcRegistrationHint': 'Automaticky vytvářet účty pro nové uživatele SSO',
'admin.envOverrideHint': 'admin.envOverrideHint': 'Nastavení přihlášení heslem řídí proměnná prostředí OIDC_ONLY a nelze je zde změnit.',
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.', 'admin.lockoutWarning': 'Alespoň jedna metoda přihlášení musí zůstat povolená',
'admin.lockoutWarning': 'At least one login method must remain enabled',
'admin.requireMfa': 'Vyžadovat dvoufázové ověření (2FA)', 'admin.requireMfa': 'Vyžadovat dvoufázové ověření (2FA)',
'admin.requireMfaHint': 'Uživatelé bez 2FA musí dokončit nastavení v Nastavení před použitím aplikace.', 'admin.requireMfaHint': 'Uživatelé bez 2FA musí dokončit nastavení v Nastavení před použitím aplikace.',
'admin.apiKeys': 'API klíče', 'admin.apiKeys': 'API klíče',
@@ -137,7 +136,7 @@ const admin: TranslationStrings = {
'Vlastní index TREKu a OpenStreetMap odpovídají na každé hledání. Zde se volí, koho se zeptat navíc, když nic nenajdou: Automaticky upřednostní Google, pokud je klíč, pak Amap.', 'Vlastní index TREKu a OpenStreetMap odpovídají na každé hledání. Zde se volí, koho se zeptat navíc, když nic nenajdou: Automaticky upřednostní Google, pokud je klíč, pak Amap.',
'admin.placesProvider.auto': 'Automaticky', 'admin.placesProvider.auto': 'Automaticky',
'admin.placesProvider.google': 'Google Places', 'admin.placesProvider.google': 'Google Places',
'admin.placesProvider.amap': 'Amap (高德地图)', 'admin.placesProvider.amap': 'Amap (高德地图)', // same-as-en
'admin.placesProvider.openstreetmap': 'OpenStreetMap', 'admin.placesProvider.openstreetmap': 'OpenStreetMap',
'admin.placesProvider.missingKey': 'admin.placesProvider.missingKey':
'Zvolený poskytovatel nemá nastavený API klíč, na hledání míst tak odpovídá jen index TREKu a OpenStreetMap.', 'Zvolený poskytovatel nemá nastavený API klíč, na hledání míst tak odpovídá jen index TREKu a OpenStreetMap.',
@@ -204,7 +203,7 @@ const admin: TranslationStrings = {
'Zaznamenávat, který výsledek vyhledávání byl vybrán, aby bylo možné později porovnat jiný index míst na skutečných dotazech. Nic neopouští tuto instanci a správce může záznam kdykoli exportovat nebo smazat.', 'Zaznamenávat, který výsledek vyhledávání byl vybrán, aby bylo možné později porovnat jiný index míst na skutečných dotazech. Nic neopouští tuto instanci a správce může záznam kdykoli exportovat nebo smazat.',
'admin.bagTracking.title': 'Sledování zavazadel', 'admin.bagTracking.title': 'Sledování zavazadel',
'admin.bagTracking.subtitle': 'Povolit váhu a přiřazení k zavazadlům u položek balení', 'admin.bagTracking.subtitle': 'Povolit váhu a přiřazení k zavazadlům u položek balení',
'admin.collab.chat.title': 'Chat', 'admin.collab.chat.title': 'Chat', // same-as-en
'admin.collab.chat.subtitle': 'Zasílání zpráv v reálném čase', 'admin.collab.chat.subtitle': 'Zasílání zpráv v reálném čase',
'admin.collab.notes.title': 'Poznámky', 'admin.collab.notes.title': 'Poznámky',
'admin.collab.notes.subtitle': 'Sdílené poznámky a dokumenty', 'admin.collab.notes.subtitle': 'Sdílené poznámky a dokumenty',
@@ -292,17 +291,17 @@ const admin: TranslationStrings = {
'admin.plugins.uninstallBody': 'admin.plugins.uninstallBody':
'Tím se plugin zastaví, odstraní se jeho kód a smažou se všechna jeho data. Tuto akci nelze vrátit zpět.', 'Tím se plugin zastaví, odstraní se jeho kód a smažou se všechna jeho data. Tuto akci nelze vrátit zpět.',
'admin.plugins.status.starting': 'Spouští se…', 'admin.plugins.status.starting': 'Spouští se…',
'admin.plugins.type.widget': 'Widget', 'admin.plugins.type.widget': 'Widget', // same-as-en
'admin.plugins.type.page': 'Stránka', 'admin.plugins.type.page': 'Stránka',
'admin.plugins.type.integration': 'Integrace', 'admin.plugins.type.integration': 'Integrace',
'admin.plugins.type.trip-page': 'Stránka cesty', 'admin.plugins.type.trip-page': 'Stránka cesty',
'admin.plugins.reviewed': 'Zkontrolováno', 'admin.plugins.reviewed': 'Zkontrolováno',
'admin.plugins.unreviewed': 'Nezkontrolováno', 'admin.plugins.unreviewed': 'Nezkontrolováno',
'admin.plugins.updated': 'Plugin aktualizován', 'admin.plugins.updated': 'Plugin aktualizován',
'admin.plugins.updateTo': 'Update → v{version}', 'admin.plugins.updateTo': 'Aktualizovat na v{version}',
'admin.plugins.enabledToggle': 'Povolit plugin', 'admin.plugins.enabledToggle': 'Povolit plugin',
'plugins.notFound': 'Plugin nenalezen', 'plugins.notFound': 'Plugin nenalezen',
'plugins.frameLoadFailed': 'This plugin could not be loaded.', 'plugins.frameLoadFailed': 'Tento plugin se nepodařilo načíst.',
'admin.plugins.title': 'Pluginy', 'admin.plugins.title': 'Pluginy',
'admin.plugins.subtitle': 'Instalujte a spravujte pluginy třetích stran na své instanci.', 'admin.plugins.subtitle': 'Instalujte a spravujte pluginy třetích stran na své instanci.',
'admin.plugins.disabledTitle': 'Pluginy jsou zakázány', 'admin.plugins.disabledTitle': 'Pluginy jsou zakázány',
@@ -623,7 +622,7 @@ const admin: TranslationStrings = {
'admin.addons.catalog.atlas.description': 'Mapa světa s navštívenými zeměmi a statistikami', 'admin.addons.catalog.atlas.description': 'Mapa světa s navštívenými zeměmi a statistikami',
'admin.addons.catalog.collab.name': 'Spolupráce', 'admin.addons.catalog.collab.name': 'Spolupráce',
'admin.addons.catalog.collab.description': 'Poznámky, ankety, chat a návrhy pro společné plánování', 'admin.addons.catalog.collab.description': 'Poznámky, ankety, chat a návrhy pro společné plánování',
'admin.addons.catalog.naver_list_import.name': 'Naver List Import', 'admin.addons.catalog.naver_list_import.name': 'Import seznamů z Naveru',
'admin.addons.catalog.naver_list_import.description': 'Importujte místa ze sdíleného seznamu Naver Maps', 'admin.addons.catalog.naver_list_import.description': 'Importujte místa ze sdíleného seznamu Naver Maps',
'admin.addons.catalog.airtrail.name': 'AirTrail', 'admin.addons.catalog.airtrail.name': 'AirTrail',
'admin.addons.catalog.airtrail.description': 'Synchronizujte lety ze své instance AirTrail', 'admin.addons.catalog.airtrail.description': 'Synchronizujte lety ze své instance AirTrail',
@@ -681,7 +680,7 @@ const admin: TranslationStrings = {
'admin.addons.catalog.mcp.description': 'Model Context Protocol pro integraci AI asistentů', 'admin.addons.catalog.mcp.description': 'Model Context Protocol pro integraci AI asistentů',
'admin.addons.subtitleBefore': 'Zapněte nebo vypněte funkce a přizpůsobte si ', 'admin.addons.subtitleBefore': 'Zapněte nebo vypněte funkce a přizpůsobte si ',
'admin.addons.subtitleAfter': '.', 'admin.addons.subtitleAfter': '.',
'admin.tabs.audit': 'Audit', 'admin.tabs.audit': 'Audit', // same-as-en
'admin.audit.subtitle': 'Bezpečnostní a administrátorské události (zálohy, uživatelé, 2FA, nastavení).', 'admin.audit.subtitle': 'Bezpečnostní a administrátorské události (zálohy, uživatelé, 2FA, nastavení).',
'admin.audit.empty': 'Zatím žádné záznamy auditu.', 'admin.audit.empty': 'Zatím žádné záznamy auditu.',
'admin.audit.refresh': 'Obnovit', 'admin.audit.refresh': 'Obnovit',
@@ -768,7 +767,7 @@ const admin: TranslationStrings = {
'admin.update.wikiLink': 'Otevřít průvodce aktualizací', 'admin.update.wikiLink': 'Otevřít průvodce aktualizací',
'admin.update.reloadHint': 'Prosím obnovte stránku za několik sekund.', 'admin.update.reloadHint': 'Prosím obnovte stránku za několik sekund.',
'admin.tabs.permissions': 'Oprávnění', 'admin.tabs.permissions': 'Oprávnění',
'admin.notifications.emailPanel.title': 'Email (SMTP)', 'admin.notifications.emailPanel.title': 'E-mail (SMTP)',
'admin.notifications.webhookPanel.title': 'Webhook', 'admin.notifications.webhookPanel.title': 'Webhook',
'admin.notifications.webPushPanel.title': 'Web Push', 'admin.notifications.webPushPanel.title': 'Web Push',
'admin.notifications.webPushPanel.hint': 'admin.notifications.webPushPanel.hint':
@@ -788,7 +787,7 @@ const admin: TranslationStrings = {
'admin.notifications.testNtfy': 'Odeslat testovací Ntfy', 'admin.notifications.testNtfy': 'Odeslat testovací Ntfy',
'admin.notifications.testNtfySuccess': 'Testovací Ntfy bylo úspěšně odesláno', 'admin.notifications.testNtfySuccess': 'Testovací Ntfy bylo úspěšně odesláno',
'admin.notifications.testNtfyFailed': 'Testovací Ntfy selhalo', 'admin.notifications.testNtfyFailed': 'Testovací Ntfy selhalo',
'admin.notifications.adminNtfyPanel.title': 'Admin Ntfy', 'admin.notifications.adminNtfyPanel.title': 'Ntfy pro správce',
'admin.notifications.adminNtfyPanel.hint': 'admin.notifications.adminNtfyPanel.hint':
'Toto téma Ntfy se používá výhradně pro admin oznámení (např. upozornění na verze). Je nezávislé na tématech uživatelů a odesílá vždy, když je nakonfigurováno.', 'Toto téma Ntfy se používá výhradně pro admin oznámení (např. upozornění na verze). Je nezávislé na tématech uživatelů a odesílá vždy, když je nakonfigurováno.',
'admin.notifications.adminNtfyPanel.serverLabel': 'URL serveru Ntfy', 'admin.notifications.adminNtfyPanel.serverLabel': 'URL serveru Ntfy',
@@ -796,7 +795,7 @@ const admin: TranslationStrings = {
'Slouží také jako výchozí server pro ntfy notifikace uživatelů. Ponechte prázdné pro použití ntfy.sh. Uživatelé si to mohou změnit ve vlastním nastavení.', 'Slouží také jako výchozí server pro ntfy notifikace uživatelů. Ponechte prázdné pro použití ntfy.sh. Uživatelé si to mohou změnit ve vlastním nastavení.',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh', 'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': 'Admin téma', 'admin.notifications.adminNtfyPanel.topicLabel': 'Admin téma',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', 'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', // same-as-en
'admin.notifications.adminNtfyPanel.tokenLabel': 'Přístupový token (volitelné)', 'admin.notifications.adminNtfyPanel.tokenLabel': 'Přístupový token (volitelné)',
'admin.notifications.adminNtfyPanel.tokenCleared': 'Přístupový token admina byl vymazán', 'admin.notifications.adminNtfyPanel.tokenCleared': 'Přístupový token admina byl vymazán',
'admin.notifications.adminNtfyPanel.saved': 'Nastavení admin Ntfy uloženo', 'admin.notifications.adminNtfyPanel.saved': 'Nastavení admin Ntfy uloženo',
@@ -861,10 +860,10 @@ const admin: TranslationStrings = {
'admin.defaultSettings.cartoKey': 'Sdílený klíč CARTO', 'admin.defaultSettings.cartoKey': 'Sdílený klíč CARTO',
'admin.defaultSettings.cartoKeyHint': 'admin.defaultSettings.cartoKeyHint':
'Použije se pro každého uživatele, který nezadal vlastní klíč, takže celá instance získá dlaždice CARTO bez vodoznaku. Ukládá se šifrovaně.', 'Použije se pro každého uživatele, který nezadal vlastní klíč, takže celá instance získá dlaždice CARTO bez vodoznaku. Ukládá se šifrovaně.',
'admin.group.users': 'Users', 'admin.group.users': 'Uživatelé',
'admin.group.config': 'Configuration', 'admin.group.config': 'Konfigurace',
'admin.group.integration': 'Integrations', 'admin.group.integration': 'Integrace',
'admin.group.maintenance': 'Maintenance', 'admin.group.maintenance': 'Údržba',
'admin.invite.tripLabel': 'Přidat k cestě (volitelné)', 'admin.invite.tripLabel': 'Přidat k cestě (volitelné)',
'admin.invite.tripNone': 'Žádná cesta', 'admin.invite.tripNone': 'Žádná cesta',
'admin.invite.tripHint': 'Nový uživatel bude po registraci přes odkaz automaticky přidán k této cestě.', 'admin.invite.tripHint': 'Nový uživatel bude po registraci přes odkaz automaticky přidán k této cestě.',
+2 -2
View File
@@ -31,7 +31,7 @@ const atlas: TranslationStrings = {
'atlas.bucketWhen': 'Kdy plánujete návštěvu?', 'atlas.bucketWhen': 'Kdy plánujete návštěvu?',
'atlas.bucketDuplicate': 'Už je na vašem seznamu přání', 'atlas.bucketDuplicate': 'Už je na vašem seznamu přání',
'atlas.statsTab': 'Statistiky', 'atlas.statsTab': 'Statistiky',
'atlas.bucketTab': 'Bucket List', 'atlas.bucketTab': 'Wishlist',
'atlas.addBucket': 'Přidat na Bucket List', 'atlas.addBucket': 'Přidat na Bucket List',
'atlas.bucketNotesPlaceholder': 'Poznámky (volitelné)', 'atlas.bucketNotesPlaceholder': 'Poznámky (volitelné)',
'atlas.bucketEmpty': 'Váš seznam přání je prázdný', 'atlas.bucketEmpty': 'Váš seznam přání je prázdný',
@@ -44,7 +44,7 @@ const atlas: TranslationStrings = {
'atlas.cities.one': 'Město', 'atlas.cities.one': 'Město',
'atlas.cities.few': 'Města', 'atlas.cities.few': 'Města',
'atlas.regions': 'Regionů', 'atlas.regions': 'Regionů',
'atlas.regions.one': 'Region', 'atlas.regions.one': 'Region', // same-as-en
'atlas.regions.few': 'Regiony', 'atlas.regions.few': 'Regiony',
'atlas.noData': 'Zatím žádná cestovatelská data', 'atlas.noData': 'Zatím žádná cestovatelská data',
'atlas.noDataHint': 'Vytvořte cestu a přidejte místa, abyste viděli svou mapu světa', 'atlas.noDataHint': 'Vytvořte cestu a přidejte místa, abyste viděli svou mapu světa',
+1 -1
View File
@@ -30,7 +30,7 @@ const backup: TranslationStrings = {
'backup.auto.subtitle': 'Automatické zálohování podle plánu', 'backup.auto.subtitle': 'Automatické zálohování podle plánu',
'backup.auto.enable': 'Povolit automatické zálohování', 'backup.auto.enable': 'Povolit automatické zálohování',
'backup.auto.enableHint': 'Zálohy budou vytvářeny automaticky podle zvoleného plánu', 'backup.auto.enableHint': 'Zálohy budou vytvářeny automaticky podle zvoleného plánu',
'backup.auto.interval': 'Interval', 'backup.auto.interval': 'Interval', // same-as-en
'backup.auto.hour': 'Spustit v hodinu', 'backup.auto.hour': 'Spustit v hodinu',
'backup.auto.hourHint': 'Místní čas serveru (formát {format})', 'backup.auto.hourHint': 'Místní čas serveru (formát {format})',
'backup.auto.dayOfWeek': 'Den v týdnu', 'backup.auto.dayOfWeek': 'Den v týdnu',
+1 -1
View File
@@ -9,7 +9,7 @@ const collab: TranslationStrings = {
'collab.polls.countdownHoursMinutes': 'Zbývá {h} h {m} min', 'collab.polls.countdownHoursMinutes': 'Zbývá {h} h {m} min',
'collab.polls.countdownMinutes': 'Zbývá {m} min', 'collab.polls.countdownMinutes': 'Zbývá {m} min',
'collab.polls.clearDeadline': 'Zrušit termín', 'collab.polls.clearDeadline': 'Zrušit termín',
'collab.tabs.chat': 'Chat', 'collab.tabs.chat': 'Chat', // same-as-en
'collab.tabs.notes': 'Poznámky', 'collab.tabs.notes': 'Poznámky',
'collab.tabs.polls': 'Hlasování', 'collab.tabs.polls': 'Hlasování',
'collab.tabs.links': 'Odkazy', 'collab.tabs.links': 'Odkazy',
+2 -2
View File
@@ -9,9 +9,9 @@ const collection: TranslationStrings = {
'collections.addedNToList.few': 'Uloženo {count} do {name}', 'collections.addedNToList.few': 'Uloženo {count} do {name}',
'collections.noOwnLists': 'Zatím nemáte žádné seznamy', 'collections.noOwnLists': 'Zatím nemáte žádné seznamy',
'collections.saveToListHint': 'Duplikáty se automaticky přeskočí', 'collections.saveToListHint': 'Duplikáty se automaticky přeskočí',
'collections.role.label': 'Role', 'collections.role.label': 'Role', // same-as-en
'collections.role.viewer': 'Divák', 'collections.role.viewer': 'Divák',
'collections.role.editor': 'Editor', 'collections.role.editor': 'Editor', // same-as-en
'collections.role.admin': 'Správce', 'collections.role.admin': 'Správce',
'collections.picker.allLists': 'Všechny seznamy', 'collections.picker.allLists': 'Všechny seznamy',
'collections.select': 'Vybrat', 'collections.select': 'Vybrat',
+12 -12
View File
@@ -60,18 +60,18 @@ const common: TranslationStrings = {
'common.daysAgo': 'před {count} d', 'common.daysAgo': 'před {count} d',
'common.daysAgo.one': 'před {count} d', 'common.daysAgo.one': 'před {count} d',
'common.daysAgo.few': 'před {count} d', 'common.daysAgo.few': 'před {count} d',
'common.datepicker.prevMonth': 'Previous month', // en-fallback 'common.datepicker.prevMonth': 'Předchozí měsíc',
'common.datepicker.nextMonth': 'Next month', // en-fallback 'common.datepicker.nextMonth': 'Další měsíc',
'common.datepicker.prevYear': 'Previous year', // en-fallback 'common.datepicker.prevYear': 'Předchozí rok',
'common.datepicker.nextYear': 'Next year', // en-fallback 'common.datepicker.nextYear': 'Další rok',
'common.datepicker.prevYears': 'Previous years', // en-fallback 'common.datepicker.prevYears': 'Předchozí roky',
'common.datepicker.nextYears': 'Next years', // en-fallback 'common.datepicker.nextYears': 'Další roky',
'common.datepicker.selectMonth': 'Select month', // en-fallback 'common.datepicker.selectMonth': 'Vybrat měsíc',
'common.datepicker.selectYear': 'Select year', // en-fallback 'common.datepicker.selectYear': 'Vybrat rok',
'common.datepicker.enterManually': 'Enter date manually', // en-fallback 'common.datepicker.enterManually': 'Zadat datum ručně',
'common.datepicker.typeDate': 'Type a date', // en-fallback 'common.datepicker.typeDate': 'Zadejte datum',
'common.datepicker.dialog': 'Date picker', // en-fallback 'common.datepicker.dialog': 'Výběr data',
'common.datepicker.clearDate': 'Clear date', // en-fallback 'common.datepicker.clearDate': 'Smazat datum',
'common.errorTitle': 'Něco se pokazilo', 'common.errorTitle': 'Něco se pokazilo',
'common.errorBody': 'Tato část aplikace přestala fungovat. Vaše data jsou v bezpečí.', 'common.errorBody': 'Tato část aplikace přestala fungovat. Vaše data jsou v bezpečí.',
'common.errorPanelTitle': 'Tuto sekci se nepodařilo zobrazit', 'common.errorPanelTitle': 'Tuto sekci se nepodařilo zobrazit',
+2 -2
View File
@@ -16,9 +16,9 @@ const day: TranslationStrings = {
'day.hotelDayRange': 'Použít na dny', 'day.hotelDayRange': 'Použít na dny',
'day.noPlacesForHotel': 'Nejprve přidejte místa ke své cestě', 'day.noPlacesForHotel': 'Nejprve přidejte místa ke své cestě',
'day.allDays': 'Vše', 'day.allDays': 'Vše',
'day.checkIn': 'Check-in', 'day.checkIn': 'Check-in', // same-as-en
'day.checkInUntil': 'Do', 'day.checkInUntil': 'Do',
'day.checkOut': 'Check-out', 'day.checkOut': 'Check-out', // same-as-en
'day.openStayBooking': 'Otevřít rezervaci', 'day.openStayBooking': 'Otevřít rezervaci',
'day.confirmation': 'Potvrzení', 'day.confirmation': 'Potvrzení',
'day.editAccommodation': 'Upravit ubytování', 'day.editAccommodation': 'Upravit ubytování',
+2 -2
View File
@@ -80,8 +80,8 @@ const dayplan: TranslationStrings = {
'dayplan.mobile.allAssigned': 'Všechna místa přiřazena', 'dayplan.mobile.allAssigned': 'Všechna místa přiřazena',
'dayplan.mobile.noMatch': 'Žádná shoda', 'dayplan.mobile.noMatch': 'Žádná shoda',
'dayplan.mobile.createNew': 'Vytvořit nové místo', 'dayplan.mobile.createNew': 'Vytvořit nové místo',
'dayplan.expandAll': 'Rozbalit všechny dny', // en-fallback 'dayplan.expandAll': 'Rozbalit všechny dny',
'dayplan.collapseAll': 'Sbalit všechny dny', // en-fallback 'dayplan.collapseAll': 'Sbalit všechny dny',
'dayplan.reorderDays': 'Změnit pořadí dnů', 'dayplan.reorderDays': 'Změnit pořadí dnů',
'dayplan.reorderTitle': 'Změnit pořadí dnů', 'dayplan.reorderTitle': 'Změnit pořadí dnů',
'dayplan.reorderHint': 'Místa, poznámky a rezervace daného dne se přesunou spolu s ním.', 'dayplan.reorderHint': 'Místa, poznámky a rezervace daného dne se přesunou spolu s ním.',
+1 -1
View File
@@ -28,7 +28,7 @@ const docsync: TranslationStrings = {
// Pole formuláře připojení. Klíče odpovídají sloupci `label` v tabulce // Pole formuláře připojení. Klíče odpovídají sloupci `label` v tabulce
// document_provider_fields, která ukládá příponu klíče, ne text. // document_provider_fields, která ukládá příponu klíče, ne text.
'docsync.providerUrl': 'Adresa', 'docsync.providerUrl': 'Adresa',
'docsync.providerApiToken': 'API token', 'docsync.providerApiToken': 'Token API',
'docsync.providerApiKey': 'API klíč', 'docsync.providerApiKey': 'API klíč',
'docsync.providerAppPassword': 'Heslo aplikace', 'docsync.providerAppPassword': 'Heslo aplikace',
'docsync.providerAppToken': 'Token aplikace', 'docsync.providerAppToken': 'Token aplikace',
+3 -3
View File
@@ -915,7 +915,7 @@ const help: TranslationStrings = {
'help.guide.journey-status.tip.2': 'Ručně nastavený stav platí, dokud ho nezměníte, i když se změní data cesty.', 'help.guide.journey-status.tip.2': 'Ručně nastavený stav platí, dokud ho nezměníte, i když se změní data cesty.',
// ── Screen: journey-studio ──────────────────────────────────────────────────────────── // ── Screen: journey-studio ────────────────────────────────────────────────────────────
'help.ctx.journey-studio.title': 'Studio', 'help.ctx.journey-studio.title': 'Studio', // same-as-en
'help.ctx.journey-studio.summary': 'help.ctx.journey-studio.summary':
'TREK Studio uspořádá deník do fotoknihy, kterou si můžete vytisknout. Otevře se nad deníkem: vlevo je seznam stran a obsah, uprostřed dvoustrana, na které právě pracujete, a vpravo její vlastnosti. Auto layout z vašich záznamů sestaví první návrh. Potom můžete vše přesouvat, ořezávat a měnit styl a každý krok jde vrátit zpět.', 'TREK Studio uspořádá deník do fotoknihy, kterou si můžete vytisknout. Otevře se nad deníkem: vlevo je seznam stran a obsah, uprostřed dvoustrana, na které právě pracujete, a vpravo její vlastnosti. Auto layout z vašich záznamů sestaví první návrh. Potom můžete vše přesouvat, ořezávat a měnit styl a každý krok jde vrátit zpět.',
'help.ctx.journey-studio.bullet.1': 'help.ctx.journey-studio.bullet.1':
@@ -1112,7 +1112,7 @@ const help: TranslationStrings = {
'„Konfigurace MCP“: „MCP endpoint“ a v části „Klienti OAuth 2.1“ vaši registrovaní klienti, „Konfigurace klienta“ ke zkopírování a „Aktivní relace OAuth“ s tlačítkem „Odvolat“.', '„Konfigurace MCP“: „MCP endpoint“ a v části „Klienti OAuth 2.1“ vaši registrovaní klienti, „Konfigurace klienta“ ke zkopírování a „Aktivní relace OAuth“ s tlačítkem „Odvolat“.',
'help.ctx.settings-integrations.bullet.4': 'help.ctx.settings-integrations.bullet.4':
'„API tokeny“: starší způsob připojení k MCP, označený jako „Zastaralé“; používejte místo toho „Klienti OAuth 2.1“.', '„API tokeny“: starší způsob připojení k MCP, označený jako „Zastaralé“; používejte místo toho „Klienti OAuth 2.1“.',
'help.ctx.settings-offline.title': 'Offline', 'help.ctx.settings-offline.title': 'Offline', // same-as-en
'help.ctx.settings-offline.summary': 'help.ctx.settings-offline.summary':
'Co TREK ukládá na toto zařízení, aby se cesta otevřela i bez připojení, a co se stane, když se změna provedená offline dostane do konfliktu se změnou provedenou jinde.', 'Co TREK ukládá na toto zařízení, aby se cesta otevřela i bez připojení, a co se stane, když se změna provedená offline dostane do konfliktu se změnou provedenou jinde.',
'help.ctx.settings-offline.bullet.1': 'help.ctx.settings-offline.bullet.1':
@@ -1463,7 +1463,7 @@ const help: TranslationStrings = {
'„Nahrát zálohu“ obnoví data ze souboru vytvořeného v jiné instanci nebo dříve, po stejném dotazu jako u „Obnovit“.', '„Nahrát zálohu“ obnoví data ze souboru vytvořeného v jiné instanci nebo dříve, po stejném dotazu jako u „Obnovit“.',
'help.ctx.admin-backup.bullet.3': 'help.ctx.admin-backup.bullet.3':
'„Automatické zálohování“: zapnuto nebo vypnuto, „Interval“, „Spustit v hodinu“ a den a „Smazat staré zálohy po“ (od „1 den“ po „Uchovávat navždy“); použije se tlačítkem „Uložit“.', '„Automatické zálohování“: zapnuto nebo vypnuto, „Interval“, „Spustit v hodinu“ a den a „Smazat staré zálohy po“ (od „1 den“ po „Uchovávat navždy“); použije se tlačítkem „Uložit“.',
'help.ctx.admin-audit.title': 'Audit', 'help.ctx.admin-audit.title': 'Audit', // same-as-en
'help.ctx.admin-audit.summary': 'help.ctx.admin-audit.summary':
'Záznam událostí důležitých pro bezpečnost a správu: přihlášení a neúspěšné pokusy, změny MFA, změny uživatelů a nastavení, zálohy a obnovy. Pouze ke čtení, nejnovější nahoře.', 'Záznam událostí důležitých pro bezpečnost a správu: přihlášení a neúspěšné pokusy, změny MFA, změny uživatelů a nastavení, zálohy a obnovy. Pouze ke čtení, nejnovější nahoře.',
'help.ctx.admin-audit.bullet.1': 'help.ctx.admin-audit.bullet.1':
+105 -104
View File
@@ -180,7 +180,7 @@ const journey: TranslationStrings = {
'journey.contributors.searchUser': 'Hledat uživatele', 'journey.contributors.searchUser': 'Hledat uživatele',
'journey.contributors.searchPlaceholder': 'Uživatelské jméno nebo e-mail...', 'journey.contributors.searchPlaceholder': 'Uživatelské jméno nebo e-mail...',
'journey.contributors.noUsers': 'Žádní uživatelé nenalezeni', 'journey.contributors.noUsers': 'Žádní uživatelé nenalezeni',
'journey.contributors.role': 'Role', 'journey.contributors.role': 'Role', // same-as-en
'journey.contributors.added': 'Přispěvatel přidán', 'journey.contributors.added': 'Přispěvatel přidán',
'journey.contributors.addFailed': 'Přidání přispěvatele selhalo', 'journey.contributors.addFailed': 'Přidání přispěvatele selhalo',
'journey.share.publicShare': 'Veřejné sdílení', 'journey.share.publicShare': 'Veřejné sdílení',
@@ -196,9 +196,9 @@ const journey: TranslationStrings = {
'journey.share.linkDeleted': 'Odkaz ke sdílení smazán', 'journey.share.linkDeleted': 'Odkaz ke sdílení smazán',
'journey.share.deleteFailed': 'Smazání selhalo', 'journey.share.deleteFailed': 'Smazání selhalo',
'journey.share.updateFailed': 'Aktualizace selhala', 'journey.share.updateFailed': 'Aktualizace selhala',
'journey.invite.role': 'Role', 'journey.invite.role': 'Role', // same-as-en
'journey.invite.viewer': 'Čtenář', 'journey.invite.viewer': 'Čtenář',
'journey.invite.editor': 'Editor', 'journey.invite.editor': 'Editor', // same-as-en
'journey.invite.invite': 'Pozvat', 'journey.invite.invite': 'Pozvat',
'journey.invite.inviting': 'Zveme...', 'journey.invite.inviting': 'Zveme...',
'journey.settings.title': 'Nastavení cestovního deníku', 'journey.settings.title': 'Nastavení cestovního deníku',
@@ -271,37 +271,38 @@ const journey: TranslationStrings = {
'journey.picker.noAlbums': 'Žádná alba nenalezena', 'journey.picker.noAlbums': 'Žádná alba nenalezena',
'journey.picker.selectDate': 'Vyberte datum', 'journey.picker.selectDate': 'Vyberte datum',
'journey.picker.search': 'Hledat', 'journey.picker.search': 'Hledat',
'journey.detail.journeyTab': 'Journey', // en-fallback 'journey.detail.journeyTab': 'Cestovní deník',
'journey.contributors.remove': 'Remove contributor', // en-fallback 'journey.contributors.remove': 'Odebrat přispěvatele',
'journey.contributors.removeConfirm': 'Remove {username} from this journey?', // en-fallback 'journey.contributors.removeConfirm': 'Odebrat uživatele {username} z tohoto deníku?',
'journey.contributors.removed': 'Contributor removed', // en-fallback 'journey.contributors.removed': 'Přispěvatel byl odebrán',
'journey.contributors.removeFailed': 'Failed to remove contributor', // en-fallback 'journey.contributors.removeFailed': 'Přispěvatele se nepodařilo odebrat',
'journey.contributors.viaTrips': 'Přes cesty', 'journey.contributors.viaTrips': 'Přes cesty',
'journey.contributors.viaTripsHint': 'journey.contributors.viaTripsHint':
'Mohou tento deník otevřít, protože ho cesta propojuje. Změňte to v nastavení cesty.', 'Mohou tento deník otevřít, protože ho cesta propojuje. Změňte to v nastavení cesty.',
'journey.contributors.viaTrip': 'přes {trip}', 'journey.contributors.viaTrip': 'přes {trip}',
'journey.editor.externalPhotos': 'External photos', // en-fallback 'journey.editor.externalPhotos': 'Externí fotky',
'journey.editor.externalPhotosFor': 'Photos for {date}', // en-fallback 'journey.editor.externalPhotosFor': 'Fotky pro {date}',
'journey.editor.externalPhotosNearby': 'Nearby photos first', // en-fallback 'journey.editor.externalPhotosNearby': 'Nejdřív fotky z okolí',
'journey.editor.externalPhotosNoLocation': 'All photos from this day', // en-fallback 'journey.editor.externalPhotosNoLocation': 'Všechny fotky z tohoto dne',
'journey.editor.externalPhotosQueued': 'queued', // en-fallback 'journey.editor.externalPhotosQueued': 've frontě',
'journey.editor.externalPhotosUnavailable': 'No connected photo providers are available.', // en-fallback 'journey.editor.externalPhotosUnavailable': 'Nejsou dostupní žádní připojení poskytovatelé fotek.',
'journey.editor.externalPhotosPartialFailed': '{failed} photo groups failed — save again to retry', // en-fallback 'journey.editor.externalPhotosPartialFailed':
'journey.picker.day': 'This day', // en-fallback 'Skupin fotek, které selhaly: {failed}. Uložte znovu a zkuste to ještě jednou',
'journey.studio.title': 'TREK Studio', // en-fallback 'journey.picker.day': 'Tento den',
'journey.studio.open': 'Studio', // en-fallback 'journey.studio.title': 'TREK Studio', // same-as-en
'journey.studio.openAria': 'Open the photo book studio', // en-fallback 'journey.studio.open': 'Studio', // same-as-en
'journey.studio.backToJourney': 'Back to the journey', // en-fallback 'journey.studio.openAria': 'Otevřít studio fotoknihy',
'journey.studio.format': 'Page format', // en-fallback 'journey.studio.backToJourney': 'Zpět do deníku',
'journey.studio.formatA4Landscape': 'A4 landscape', // en-fallback 'journey.studio.format': 'Formát stránky',
'journey.studio.formatA4Portrait': 'A4 portrait', // en-fallback 'journey.studio.formatA4Landscape': 'A4 na šířku',
'journey.studio.formatSquare21': 'Square 21 × 21 cm', // en-fallback 'journey.studio.formatA4Portrait': 'A4 na výšku',
'journey.studio.formatSquare30': 'Square 30 × 30 cm', // en-fallback 'journey.studio.formatSquare21': 'Čtverec 21 × 21 cm',
'journey.studio.formatSquare30': 'Čtverec 30 × 30 cm',
'journey.studio.pages': 'Stránky', 'journey.studio.pages': 'Stránky',
'journey.studio.cover': 'Cover', // en-fallback 'journey.studio.cover': 'Obálka',
'journey.studio.inspectorEmpty': 'Select something on the page to edit it.', // en-fallback 'journey.studio.inspectorEmpty': 'Vyberte něco na stránce a můžete to upravit.',
'journey.studio.autoLayout': 'Auto layout', // en-fallback 'journey.studio.autoLayout': 'Automatické rozvržení',
'journey.studio.export': 'Export', // en-fallback 'journey.studio.export': 'Exportovat',
'journey.studio.day': 'DEN {day}', 'journey.studio.day': 'DEN {day}',
'journey.studio.stations': 'Zastávky', 'journey.studio.stations': 'Zastávky',
'journey.studio.peersHere': 'zde', 'journey.studio.peersHere': 'zde',
@@ -323,98 +324,98 @@ const journey: TranslationStrings = {
'journey.studio.exportSheetCount': '{count} listů', 'journey.studio.exportSheetCount': '{count} listů',
'journey.studio.exportSheetCount.one': '{count} list', 'journey.studio.exportSheetCount.one': '{count} list',
'journey.studio.exportSheetCount.few': '{count} listy', 'journey.studio.exportSheetCount.few': '{count} listy',
'journey.studio.undo': 'Undo', // en-fallback 'journey.studio.undo': 'Zpět',
'journey.studio.redo': 'Redo', // en-fallback 'journey.studio.redo': 'Znovu',
'journey.studio.zoomIn': 'Zoom in', // en-fallback 'journey.studio.zoomIn': 'Přiblížit',
'journey.studio.zoomOut': 'Zoom out', // en-fallback 'journey.studio.zoomOut': 'Oddálit',
'journey.studio.zoomFit': 'Fit to view', // en-fallback 'journey.studio.zoomFit': 'Přizpůsobit zobrazení',
'journey.studio.downloadSpread': 'Stáhnout tuto dvoustranu', 'journey.studio.downloadSpread': 'Stáhnout tuto dvoustranu',
'journey.studio.downloadSpreadHint': 'journey.studio.downloadSpreadHint':
'Uloží návrh této dvoustrany jako soubor, bez fotografií, ke sdílení nebo dalšímu použití', 'Uloží návrh této dvoustrany jako soubor, bez fotografií, ke sdílení nebo dalšímu použití',
'journey.studio.importSpread': 'Importovat', 'journey.studio.importSpread': 'Importovat',
'journey.studio.importSpreadHint': 'Přidá dvoustranu ze staženého souboru s návrhem', 'journey.studio.importSpreadHint': 'Přidá dvoustranu ze staženého souboru s návrhem',
'journey.studio.importSpreadFailed': 'Tento soubor není dvoustrana z TREK Studia', 'journey.studio.importSpreadFailed': 'Tento soubor není dvoustrana z TREK Studia',
'journey.studio.desktopOnly': 'Studio needs a bigger screen', // en-fallback 'journey.studio.desktopOnly': 'Studio potřebuje větší obrazovku',
'journey.studio.desktopOnlyHint': 'journey.studio.desktopOnlyHint':
'Sazba knihy potřebuje místo, a tak je Studio jen na počítači, stejně jako tvorba PDF. Všechno ostatní z cesty tu funguje jako obvykle.', // en-fallback 'Sazba knihy potřebuje místo, a tak je Studio jen na počítači, stejně jako tvorba PDF. Všechno ostatní z cesty tu funguje jako obvykle.',
'journey.studio.formatA5Landscape': 'A5 landscape', // en-fallback 'journey.studio.formatA5Landscape': 'A5 na šířku',
'journey.studio.bookView': 'Book view', // en-fallback 'journey.studio.bookView': 'Zobrazení knihy',
'journey.studio.multiple': 'Several', // en-fallback 'journey.studio.multiple': 'Několik',
'journey.studio.kind.photo': 'Photo', // en-fallback 'journey.studio.kind.photo': 'Fotka',
'journey.studio.kind.text': 'Text', // en-fallback 'journey.studio.kind.text': 'Text', // same-as-en
'journey.studio.kind.shape': 'Shape', // en-fallback 'journey.studio.kind.shape': 'Tvar',
'journey.studio.position': 'Position', // en-fallback 'journey.studio.position': 'Pozice',
'journey.studio.width': 'W', // en-fallback 'journey.studio.width': 'Š',
'journey.studio.height': 'H', // en-fallback 'journey.studio.height': 'V',
'journey.studio.text': 'Text', // same-as-en 'journey.studio.text': 'Text', // same-as-en
'journey.studio.typography': 'Type', // en-fallback 'journey.studio.typography': 'Písmo',
'journey.studio.leading': 'Line', // en-fallback 'journey.studio.leading': 'Řádek',
'journey.studio.colour': 'Colour', // en-fallback 'journey.studio.colour': 'Barva',
'journey.studio.autoColour': 'Automaticky', 'journey.studio.autoColour': 'Automaticky',
'journey.studio.countryNames': 'Názvy', 'journey.studio.countryNames': 'Názvy',
'journey.studio.crop': 'Crop', // en-fallback 'journey.studio.crop': 'Oříznutí',
'journey.studio.look': 'Look', // en-fallback 'journey.studio.look': 'Vzhled',
'journey.studio.radius': 'Corner', // en-fallback 'journey.studio.radius': 'Roh',
'journey.studio.shape': 'Shape', // en-fallback 'journey.studio.shape': 'Tvar',
'journey.studio.arrange': 'Arrange', // en-fallback 'journey.studio.arrange': 'Uspořádat',
'journey.studio.toFront': 'Bring to front', // en-fallback 'journey.studio.toFront': 'Přenést do popředí',
'journey.studio.forward': 'Bring forward', // en-fallback 'journey.studio.forward': 'Posunout o vrstvu dopředu',
'journey.studio.backward': 'Send backward', // en-fallback 'journey.studio.backward': 'Posunout o vrstvu dozadu',
'journey.studio.toBack': 'Send to back', // en-fallback 'journey.studio.toBack': 'Přenést do pozadí',
'journey.studio.lock': 'Lock', // en-fallback 'journey.studio.lock': 'Zamknout',
'journey.studio.unlock': 'Unlock', // en-fallback 'journey.studio.unlock': 'Odemknout',
'journey.studio.delete': 'Delete', // en-fallback 'journey.studio.delete': 'Smazat',
'journey.studio.pageHint': 'Page', // en-fallback 'journey.studio.pageHint': 'Stránka',
'journey.studio.boundHint': 'Follows the journal entry. Editing it here breaks that link.', // en-fallback 'journey.studio.boundHint': 'Sleduje záznam v deníku. Úprava zde toto propojení přeruší.',
'journey.studio.fit.cover': 'Fill', // en-fallback 'journey.studio.fit.cover': 'Vyplnit',
'journey.studio.fit.contain': 'Fit', // en-fallback 'journey.studio.fit.contain': 'Vměstnat',
'journey.studio.filter.none': 'Original', // en-fallback 'journey.studio.filter.none': 'Originál',
'journey.studio.filter.bw': 'Black & white', // en-fallback 'journey.studio.filter.bw': 'Černobílá',
'journey.studio.filter.warm': 'Warm', // en-fallback 'journey.studio.filter.warm': 'Teplá',
'journey.studio.shapeKind.rect': 'Rectangle', // en-fallback 'journey.studio.shapeKind.rect': 'Obdélník',
'journey.studio.shapeKind.ellipse': 'Ellipse', // en-fallback 'journey.studio.shapeKind.ellipse': 'Elipsa',
'journey.studio.focalHint': 'Drag the point to choose what stays in frame.', // en-fallback 'journey.studio.focalHint': 'Přetažením bodu zvolíte, co zůstane v záběru.',
'journey.studio.backCover': 'Back cover', // en-fallback 'journey.studio.backCover': 'Zadní obálka',
'journey.studio.sections': 'Sections', // en-fallback 'journey.studio.sections': 'Sekce',
'journey.studio.content': 'Obsah', 'journey.studio.content': 'Obsah',
'journey.studio.elements': 'Prvky', 'journey.studio.elements': 'Prvky',
'journey.studio.templates': 'Rozvržení', 'journey.studio.templates': 'Rozvržení',
'journey.studio.photos': 'Fotky', 'journey.studio.photos': 'Fotky',
'journey.studio.entries': 'Záznamy', 'journey.studio.entries': 'Záznamy',
'journey.studio.addToPage': 'Add to this page', // en-fallback 'journey.studio.addToPage': 'Přidat na tuto stránku',
'journey.studio.noPhotos': 'This journey has no photos yet.', // en-fallback 'journey.studio.noPhotos': 'Tento deník zatím nemá žádné fotky.',
'journey.studio.untitled': 'Untitled', // en-fallback 'journey.studio.untitled': 'Bez názvu',
'journey.studio.addTitle': 'Title', // en-fallback 'journey.studio.addTitle': 'Nadpis',
'journey.studio.addStory': 'Story', // en-fallback 'journey.studio.addStory': 'Příběh',
'journey.studio.addPlace': 'Place', // en-fallback 'journey.studio.addPlace': 'Místo',
'journey.studio.shapes': 'Tvary', 'journey.studio.shapes': 'Tvary',
'journey.studio.frames': 'Rámečky', 'journey.studio.frames': 'Rámečky',
'journey.studio.emptyFrame': 'Empty frame', // en-fallback 'journey.studio.emptyFrame': 'Prázdný rámeček',
'journey.studio.frameHint': 'An empty frame marks where a picture goes. Drop one on it from Content.', // en-fallback 'journey.studio.frameHint': 'Prázdný rámeček označuje, kam patří obrázek. Přetáhněte na něj obrázek z Obsahu.',
'journey.studio.shapeKind.line': 'Line', // en-fallback 'journey.studio.shapeKind.line': 'Čára',
'journey.studio.styleTitle': 'Heading', // en-fallback 'journey.studio.styleTitle': 'Nadpis',
'journey.studio.styleSubtitle': 'Subheading', // en-fallback 'journey.studio.styleSubtitle': 'Podnadpis',
'journey.studio.styleBody': 'Body text', // en-fallback 'journey.studio.styleBody': 'Základní text',
'journey.studio.styleCaption': 'Caption', // en-fallback 'journey.studio.styleCaption': 'Popisek',
'journey.studio.sampleHeading': 'A heading', // en-fallback 'journey.studio.sampleHeading': 'Nadpis',
'journey.studio.sampleSubheading': 'A subheading', // en-fallback 'journey.studio.sampleSubheading': 'Podnadpis',
'journey.studio.sampleBody': 'Write something about this day.', // en-fallback 'journey.studio.sampleBody': 'Napište něco o tomto dni.',
'journey.studio.sampleCaption': 'Caption', // en-fallback 'journey.studio.sampleCaption': 'Popisek',
'journey.studio.tpl.heroStory': 'Hero and story', // en-fallback 'journey.studio.tpl.heroStory': 'Velký obrázek a příběh',
'journey.studio.tpl.fullBleed': 'One picture, full spread', // en-fallback 'journey.studio.tpl.fullBleed': 'Jeden obrázek přes celý rozvrh',
'journey.studio.tpl.twoUp': 'Two full pages', // en-fallback 'journey.studio.tpl.twoUp': 'Dvě celé stránky',
'journey.studio.tpl.grid4': 'Four up', // en-fallback 'journey.studio.tpl.grid4': 'Čtyři obrázky',
'journey.studio.tpl.grid6': 'Six up', // en-fallback 'journey.studio.tpl.grid6': 'Šest obrázků',
'journey.studio.tpl.strip': 'Strip and text', // en-fallback 'journey.studio.tpl.strip': 'Pás a text',
'journey.studio.tpl.quietText': 'Text only', // en-fallback 'journey.studio.tpl.quietText': 'Pouze text',
'journey.studio.tpl.portraitPair': 'A pair', // en-fallback 'journey.studio.tpl.portraitPair': 'Dvojice',
'journey.studio.dropPhotoHere': 'Přetáhni sem\nsvou fotku', 'journey.studio.dropPhotoHere': 'Přetáhni sem\nsvou fotku',
'journey.studio.searchContent': 'Search photos and entries', // en-fallback 'journey.studio.searchContent': 'Hledat fotky a záznamy',
'journey.studio.noMatches': 'Nothing matches that.', // en-fallback 'journey.studio.noMatches': 'Nic nevyhovuje.',
'journey.studio.quoteMark': 'Uvozovky', 'journey.studio.quoteMark': 'Uvozovky',
'journey.studio.shapeKind.rounded': 'Rounded rectangle', // en-fallback 'journey.studio.shapeKind.rounded': 'Zaoblený obdélník',
'journey.studio.shapeKind.triangle': 'Triangle', // en-fallback 'journey.studio.shapeKind.triangle': 'Trojúhelník',
'journey.studio.shapeKind.outline': 'Outline only', // en-fallback 'journey.studio.shapeKind.outline': 'Pouze obrys',
'journey.studio.travel': 'Cesta', 'journey.studio.travel': 'Cesta',
'journey.studio.travelEmpty': 'Čísla této cesty zatím nejsou připravená.', 'journey.studio.travelEmpty': 'Čísla této cesty zatím nejsou připravená.',
'journey.studio.grids': 'Mřížky', 'journey.studio.grids': 'Mřížky',
@@ -426,7 +427,7 @@ const journey: TranslationStrings = {
'journey.studio.polaroidFrame': 'Polaroid', 'journey.studio.polaroidFrame': 'Polaroid',
'journey.studio.whiteFrame': 'Bílý okraj', 'journey.studio.whiteFrame': 'Bílý okraj',
'journey.studio.shadowFrame': 'Vržený stín', 'journey.studio.shadowFrame': 'Vržený stín',
'journey.studio.filmFrame': 'Film', 'journey.studio.filmFrame': 'Film', // same-as-en
'journey.studio.tapeFrame': 'Přelepený', 'journey.studio.tapeFrame': 'Přelepený',
'journey.studio.shapeGroup.basic': 'Základní', 'journey.studio.shapeGroup.basic': 'Základní',
'journey.studio.shapeGroup.polygons': 'Mnohoúhelníky', 'journey.studio.shapeGroup.polygons': 'Mnohoúhelníky',
@@ -548,7 +549,7 @@ const journey: TranslationStrings = {
'journey.studio.deletePage': 'Smazat stranu', 'journey.studio.deletePage': 'Smazat stranu',
'journey.studio.movePageUp': 'Posunout dopředu', 'journey.studio.movePageUp': 'Posunout dopředu',
'journey.studio.movePageDown': 'Posunout dozadu', 'journey.studio.movePageDown': 'Posunout dozadu',
'journey.studio.beta': 'Beta', 'journey.studio.beta': 'Beta', // same-as-en
'journey.studio.addProsCons': 'Klady a zápory', 'journey.studio.addProsCons': 'Klady a zápory',
'journey.studio.showMarks': 'Značky', 'journey.studio.showMarks': 'Značky',
'journey.studio.formatCustom': 'Vlastní formát', 'journey.studio.formatCustom': 'Vlastní formát',

Some files were not shown because too many files have changed in this diff Show More