mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-11-13 15:51:00 +00:00
0b3d2873c2
Behind Pangolin or authentik the app shows the proxy's sign-in page itself, and nothing on it led back to the address screen: a failed passkey left users stuck on every launch. A bar over that page now offers to change the server and says that passkeys and security keys do not work there, as a web view cannot use them for a domain the app is not tied to. It steps aside while the keyboard is up. On iOS the page also gets the room the keyboard takes, so a button under it can be scrolled into view. The address screen hands the bar its words in the user's language when it connects.
193 lines
12 KiB
TypeScript
193 lines
12 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
||
|
||
const native: TranslationStrings = {
|
||
'native.connect.title': 'Connecta amb TREK',
|
||
'native.connect.hint': 'Introdueix l’adreça amb què obres TREK al navegador.',
|
||
'native.connect.placeholder': 'https://trek.example.com',
|
||
'native.connect.submit': 'Connecta',
|
||
'native.connect.checking': 'S’està comprovant…',
|
||
'native.connect.tryDemo': 'Prova la demostració',
|
||
'native.connect.whatIsServer': 'Què és un servidor TREK?',
|
||
'native.connect.errorInvalid': 'Això no sembla una adreça web.',
|
||
'native.connect.errorUnreachable': 'Cap servidor respon en aquesta adreça. Comprova l’adreça i la connexió.',
|
||
'native.connect.errorNotTrek': 'El servidor d’aquesta adreça no és TREK.',
|
||
'native.connect.errorTooOld':
|
||
'Aquest servidor executa una versió antiga de TREK. L’app necessita TREK 5.1.3 o posterior, així que primer cal actualitzar el servidor.',
|
||
'native.connect.recheckHint':
|
||
'Aquesta versió de l’app necessita TREK 5.1.3 o posterior al teu servidor, per això el torna a comprovar.',
|
||
'native.offline.title': 'No es pot accedir al servidor',
|
||
'native.offline.hint': 'TREK no ha pogut connectar amb {server}. Comprova la connexió i torna-ho a provar.',
|
||
'native.offline.retry': 'Torna-ho a provar',
|
||
'native.changeServer': 'Canvia de servidor',
|
||
'native.signInBar.hint':
|
||
'Les claus d’accés i les claus de seguretat no funcionen en aquesta pàgina dins l’app. Inicia la sessió amb una contrasenya o deixa passar l’app pel teu proxy.',
|
||
'native.login.failed': 'No s’ha pogut iniciar la sessió. Torna-ho a provar.',
|
||
'native.handoff.title': 'Continua a l’app',
|
||
'native.handoff.hint': 'Has iniciat la sessió com a {name}. Obre l’app de TREK per acabar d’iniciar-hi la sessió.',
|
||
'native.handoff.open': 'Obre l’app de TREK',
|
||
'native.handoff.switchAccount': 'Fes servir un altre compte',
|
||
'native.privacy': 'Política de privadesa',
|
||
'native.settings.server': 'Servidor',
|
||
'native.settings.serverHint': 'Aquesta app està connectada a {server}.',
|
||
'native.welcome.headline': 'Els teus viatges.\nEl teu pla.',
|
||
'native.welcome.sub':
|
||
'Planifiqueu junts en temps real: rutes, pressupostos, diari i fotollibre, amb l’ajuda de la IA.',
|
||
'native.welcome.connect': 'Connecta el teu TREK',
|
||
'native.welcome.connectSub': 'Obre l’adreça que ja fas servir',
|
||
'native.welcome.getCloud': 'Obtén el TREK Cloud',
|
||
'native.welcome.getCloudSub': 'Allotjat per tu, sense instal·lació',
|
||
'native.cloud.title': 'TREK Cloud',
|
||
'native.cloud.sub':
|
||
'Allotgem el TREK per tu, a la teva pròpia adreça. Res a instal·lar, res a mantenir: a punt en minuts.',
|
||
'native.cloud.f1': 'La teva pròpia adreça, en servidors a Alemanya',
|
||
'native.cloud.f2': 'A punt en minuts, amb les actualitzacions a càrrec nostre',
|
||
'native.cloud.f3': 'Les teves dades segueixen sent teves: sense anuncis, sense seguiment',
|
||
'native.cloud.cta': 'Comença',
|
||
'native.cloud.haveServer': 'Ja tinc un servidor TREK',
|
||
'native.connecting': 'Connectant a {host}',
|
||
'native.back': 'Enrere',
|
||
'native.plans.title': 'Tria el teu pla',
|
||
'native.plans.sub': 'TREK allotjat a la teva pròpia adreça. Canvia o cancel·la quan vulguis.',
|
||
'native.plans.monthly': 'Mensual',
|
||
'native.plans.yearly': 'Anual',
|
||
'native.plans.perMonth': 'al mes',
|
||
'native.plans.perYear': 'a l’any',
|
||
'native.plans.aiDocs': '{n} documents amb IA al mes',
|
||
'native.plans.noAi': 'Sense documents amb IA',
|
||
'native.plans.storage': '{n} GB d’emmagatzematge',
|
||
'native.plans.unlimited': 'Llocs, viatges i persones sense límit',
|
||
'native.plans.subscribe': 'Subscriu-te',
|
||
'native.plans.loadError': 'No s’han pogut carregar els plans. Comprova la connexió i torna-ho a provar.',
|
||
'native.plans.retry': 'Torna-ho a provar',
|
||
'native.plans.soon': 'La subscripció a l’app encara no està disponible.',
|
||
'native.plans.closed': 'TREK Cloud obre aviat. Podràs subscriure’t aquí des del dia de l’obertura.',
|
||
'native.claim.title': 'Gairebé a punt',
|
||
'native.claim.sub': 'Tria la teva adreça. Ho preparem de seguida.',
|
||
'native.claim.addressLabel': 'La teva adreça',
|
||
'native.claim.taken': 'Aquesta adreça ja està ocupada.',
|
||
'native.claim.invalid': 'Tres o més lletres, xifres i guions.',
|
||
'native.claim.reserved': 'Aquesta adreça està reservada.',
|
||
'native.claim.free': 'Disponible',
|
||
'native.claim.emailLabel': 'Correu',
|
||
'native.claim.emailHint': 'Per al teu compte i els avisos sobre el teu contracte.',
|
||
'native.claim.passwordLabel': 'Contrasenya',
|
||
'native.claim.passwordHint':
|
||
'Almenys 8 caràcters. La contrasenya ha de contenir majúscules, minúscules, números i un caràcter especial.',
|
||
'native.claim.subscribe': 'Subscriu-te per {price}',
|
||
'native.claim.cancelled': 'Compra cancel·lada.',
|
||
'native.claim.failed': 'La compra no s’ha completat. Torna-ho a provar.',
|
||
'native.claim.redeemFailed': 'No hem pogut preparar el teu TREK. Torna-ho a provar.',
|
||
'native.claim.closedRefund':
|
||
'TREK Cloud obre aviat. Google Play et reemborsa aquesta compra automàticament en un termini de tres dies.',
|
||
'native.plans.restore': 'Restaura les compres',
|
||
'native.plans.restoring': 'Comprovant les teves compres…',
|
||
'native.plans.restoreNone': 'No s’ha trobat cap subscripció activa en aquest ID d’Apple.',
|
||
'native.plans.restoreFailed': 'No hem pogut restaurar el teu TREK. Torna-ho a provar.',
|
||
'native.plans.legal':
|
||
'El pagament es carrega al teu ID d’Apple en confirmar. La subscripció es renova automàticament si no la cancel·les com a mínim 24 hores abans que acabi el període. Gestiona-la o cancel·la-la a la configuració del teu compte de l’App Store.',
|
||
'native.plans.terms': 'Condicions d’ús d’Apple (EULA)',
|
||
'native.plans.ourTerms': 'Condicions de TREK Cloud',
|
||
'native.plans.legalAndroid':
|
||
'El pagament es carrega al teu compte de Google en confirmar. La subscripció es renova automàticament si no la cancel·les abans que acabi el període. Gestiona-la o cancel·la-la a Google Play, a Perfil, Pagaments i subscripcions, Subscripcions.',
|
||
'native.plans.restoreNoneAndroid': 'No s’ha trobat cap subscripció activa en aquest compte de Google.',
|
||
'native.claim.agree':
|
||
'En subscriure’t, s’apliquen les condicions de TREK Cloud a la provisió de la teva instància (proveïdor: Maurice Bötger, Rostock). La botiga gestiona la compra, el pagament i els reemborsaments.',
|
||
'native.claim.pending': 'La teva compra està pendent d’aprovació. Quan es completi, toca Restaura les compres.',
|
||
'native.provisioning.title': 'Preparant el teu TREK',
|
||
'native.provisioning.sub': 'Preparant {host}. Només triga un minut.',
|
||
'native.provisioning.failedTitle': 'Gairebé a punt',
|
||
'native.provisioning.failedSub': 'El teu TREK està en camí. Torna-ho a provar en un moment o obre l’app més tard.',
|
||
'native.provisioning.retry': 'Prova-ho ara',
|
||
'native.update.title': 'Actualitza l’app TREK',
|
||
'native.update.body': 'Aquest servidor necessita una versió més nova de l’app perquè tot funcioni.',
|
||
'native.update.open': 'Actualitza',
|
||
'native.lock.title': 'TREK està bloquejat',
|
||
'native.lock.unlock': 'Desbloqueja',
|
||
'native.lock.reason': 'Desbloqueja TREK',
|
||
'native.lock.settingTitle': 'Bloqueig de l’app',
|
||
'native.lock.setting': 'Bloqueja amb Face ID o codi',
|
||
'native.lock.settingHint':
|
||
'Ho demana en obrir TREK i després de mig minut en segon pla, i amaga l’app al selector d’apps.',
|
||
'native.share.title': 'A quin viatge vols importar-ho?',
|
||
'native.share.noTrips': 'Encara no hi ha cap viatge. Crea’n un i torna a compartir el document.',
|
||
'native.share.linkTitle': 'Què ha de fer TREK amb aquest enllaç?',
|
||
'native.share.saveLink': 'Desa als enllaços del viatge',
|
||
'native.share.saveLinkHint': 'Tothom al viatge el troba a Enllaços',
|
||
'native.share.readBooking': 'Llegeix-ne una reserva',
|
||
'native.share.readBookingHint': 'Per a una pàgina de confirmació',
|
||
'native.share.linkTrip': "A quin viatge desar l'enllaç?",
|
||
'native.share.linkSaved': 'Enllaç desat',
|
||
'native.share.linkUnsupported': 'Activa Collab per guardar enllaços en un viatge.',
|
||
'native.pushPrompt.title': 'Vols activar les notificacions?',
|
||
'native.pushPrompt.body':
|
||
"Assabenta't de seguida quan algú escrigui al xat d'un viatge, et convidi o canviï una reserva. Ho pots canviar quan vulguis a la configuració.",
|
||
'native.pushPrompt.enable': 'Activa',
|
||
'native.pushPrompt.later': 'Ara no',
|
||
'native.widget.dayOf': 'Dia {n} de {m}',
|
||
'native.widget.today': 'Avui',
|
||
'native.widget.noTrip': 'Encara no hi ha cap viatge planificat',
|
||
'native.widget.inDays': 'd’aquí a {n} dies',
|
||
'native.widget.tomorrow': 'Demà',
|
||
'native.widget.nothingPlanned': 'Res planificat per avui',
|
||
'native.widget.dayDone': 'Tot fet per avui',
|
||
'native.widget.noBookings': 'Cap reserva pendent',
|
||
'native.widget.noTodos': 'No queda res per fer',
|
||
'native.widget.now': 'Ara',
|
||
'native.widget.travellers': 'viatgers',
|
||
'native.widget.missing': 'per fer la maleta',
|
||
'native.widget.countries': 'països',
|
||
'native.widget.world': 'del món',
|
||
'native.widget.group': 'Grup de viatge',
|
||
'native.widget.poll': 'Votació',
|
||
'native.widget.votes': 'vots',
|
||
'native.widget.noMessages': 'Encara no hi ha missatges',
|
||
'native.widget.departure': 'Sortida',
|
||
'native.gate.title': '{name} protegeix aquest servidor',
|
||
'native.gate.titleUnknown': "Una pàgina d'inici de sessió protegeix aquest servidor",
|
||
'native.gate.titleBasic': 'Una sol·licitud de contrasenya protegeix aquest servidor',
|
||
'native.gate.hint': "Inicia la sessió allà un cop dins l'app, com en un navegador. L'app conserva aquesta sessió.",
|
||
'native.gate.signIn': 'Inicia la sessió a {name}',
|
||
'native.gate.signInGeneric': 'Inicia la sessió',
|
||
'native.gate.googleNote':
|
||
"Un inici de sessió amb Google no funciona dins d'una app. Si el teu el fa servir, deixa passar TREK pel proxy.",
|
||
'native.gate.basicHint':
|
||
"L'app no pot respondre aquesta sol·licitud. Deixa passar TREK al teu proxy: TREK continua demanant el seu propi inici de sessió.",
|
||
'native.gate.help': "Fer servir l'app darrere d'un proxy d'inici de sessió",
|
||
'native.cert.title': 'Aquest servidor demana un certificat de client',
|
||
'native.cert.titleRefused': 'El servidor no ha acceptat el certificat',
|
||
'native.cert.hint':
|
||
"Un proxy al davant només deixa passar els dispositius que mostren un certificat. Afegeix el fitxer .p12 o .pfx creat per a aquest dispositiu. L'app només el mostra a {host}.",
|
||
'native.cert.hintRefused':
|
||
"El proxy no confia, o ja no confia, en el certificat de l'app. Tria el fitxer que espera.",
|
||
'native.cert.choose': 'Afegeix un fitxer de certificat',
|
||
'native.cert.chooseOther': 'Tria un altre certificat',
|
||
'native.cert.help': "Fer servir l'app amb un certificat de client",
|
||
'native.cert.passwordTitle': 'Contrasenya del certificat',
|
||
'native.cert.passwordMessage': "Introdueix la contrasenya del fitxer de certificat. L'app no la desa.",
|
||
'native.cert.passwordPlaceholder': 'Contrasenya',
|
||
'native.cert.passwordOk': 'Afegeix',
|
||
'native.cert.passwordCancel': 'Cancel·la',
|
||
'native.cert.passwordWrong': 'Aquesta contrasenya no obre el fitxer. Torna-ho a provar.',
|
||
'native.cert.errorFormat':
|
||
"L'app no pot llegir aquest fitxer. Cal un fitxer .p12 o .pfx amb el certificat i la seva clau privada.",
|
||
'native.cert.errorNoKey': 'Aquest fitxer no conté cap clau privada. Exporta el certificat juntament amb la clau.',
|
||
'native.cert.errorExpired': 'Aquest certificat ha caducat.',
|
||
'native.cert.errorNotYetValid':
|
||
"Aquest certificat encara no és vàlid. Comprova la data i l'hora d'aquest dispositiu.",
|
||
'native.cert.errorStore': "L'app no ha pogut desar el certificat. Torna-ho a provar.",
|
||
'native.cert.unreachableTitle': 'Cal un certificat',
|
||
'native.cert.unreachableHint': '{server} només deixa passar dispositius amb un certificat de client de confiança.',
|
||
'native.cert.settingTitle': 'Certificat de client',
|
||
'native.cert.settingIssuer': 'Emès per {issuer}',
|
||
'native.cert.settingServer': 'Servidor',
|
||
'native.cert.settingValidUntil': 'Vàlid fins al',
|
||
'native.cert.settingHint': "L'app només mostra aquest certificat a {host}, quan el seu proxy el demana.",
|
||
'native.cert.settingReplace': 'Substitueix',
|
||
'native.cert.settingRemove': 'Elimina',
|
||
'native.cert.removeTitle': 'Vols eliminar el certificat?',
|
||
'native.cert.removeMessage':
|
||
"Sense ell, el proxy davant de {host} ja no deixa entrar l'app fins que n'afegeixis un altre.",
|
||
};
|
||
|
||
export default native;
|