Files
oauth/resources/js/i18n/ca.ts
Josep Piguillem c2b5291a74 Initial commit: OAuth IAM Laravel application
Laravel-based OAuth/IAM service with Passport, Vue 3 frontend, and
Docker Compose setup for local and production deployment.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 01:02:41 +02:00

210 lines
8.7 KiB
TypeScript

import type { MessageSchema } from './es';
const ca: MessageSchema = {
nav: {
dashboard: 'Tauler',
clients: 'Clients OAuth',
tokens: 'Personal Access Tokens',
authorizedApps: 'Apps autoritzades',
users: 'Usuaris',
analytics: 'Analítiques',
apiDocs: 'API Docs',
logout: 'Sortir',
},
common: {
loading: 'Carregant…',
creating: 'Creant…',
create: 'Crear',
save: 'Desar',
cancel: 'Cancel·lar',
close: 'Tancar',
edit: 'Editar',
delete: 'Esborrar',
none: '(cap)',
},
login: {
title: 'Entrar',
subtitle: "Servidor OAuth2 — tauler d'administració.",
email: 'Email',
password: 'Contrasenya',
submit: 'Entrar',
submitting: 'Entrant…',
noAccount: 'No tens compte?',
signUp: "Registra't",
invalidCredentials: 'Credencials no vàlides.',
},
register: {
title: 'Crear compte',
name: 'Nom',
email: 'Email',
password: 'Contrasenya',
passwordConfirm: 'Confirmar contrasenya',
submit: 'Crear compte',
submitFirstUser: 'Crear compte d\'administrador',
submitting: 'Creant…',
haveAccount: 'Ja tens compte?',
signIn: 'Entra',
firstUserBanner: 'Encara no hi ha cap usuari. Aquest compte quedarà com a administrador, amb accés immediat (sense aprovació).',
pendingTitle: 'Compte creat',
pendingBody: "Un administrador ha d'aprovar el teu compte abans que puguis entrar. És possible que t'avisin fora de l'app quan estigui llest.",
backToLogin: 'Tornar a entrar',
},
dashboard: {
greeting: 'Hola, {name}',
subtitle: "Aquest és el tauler d'administració del servidor OAuth2.",
clientsTitle: 'Clients OAuth',
clientsDesc: 'Registra apps (Authorization Code+PKCE, Client Credentials o Password Grant).',
tokensTitle: 'Personal Access Tokens',
tokensDesc: "Genera tokens d'accés directe a l'API, com API keys.",
appsTitle: 'Apps autoritzades',
appsDesc: 'Apps de tercers a les quals has donat accés al teu compte.',
usersTitle: 'Usuaris',
usersDesc: 'Alta, edició de rol/estat i baixa de comptes (només admins).',
analyticsTitle: 'Analítiques',
analyticsDesc: 'Sessions actives, logins per app i usuaris més actius (només admins).',
apiTitle: 'API REST',
apiDesc: 'Aquest servidor exposa el recurs {resource} (scopes {read}/{write}) perquè aplicacions de tercers gestionin usuaris via OAuth2. Requereix un access token de Passport. Documentació interactiva a {link}.',
},
clients: {
title: 'Clients OAuth',
subtitle: 'Apps registrades que poden demanar tokens a aquest servidor.',
secretWarning: 'Desa aquest client secret ara, no el podràs tornar a veure:',
clientIdLabel: 'client_id:',
clientSecretLabel: 'client_secret:',
newClient: 'Nou client',
name: 'Nom',
grantType: 'Grant type',
grantAuthCode: 'Authorization Code + PKCE',
grantClientCredentials: 'Client Credentials',
grantPassword: 'Password Grant',
redirectUris: 'Redirect URIs (separades per coma)',
confidentialLabel: "Client confidencial (amb secret). Desmarca-ho per a un client públic que només faci servir PKCE.",
create: 'Crear client',
empty: 'Encara no has creat cap client.',
revoke: 'Revocar',
revokeConfirm: 'Vols revocar el client "{name}"? Els seus tokens deixaran de funcionar.',
clientIdShort: 'client_id',
redirectLabel: 'redirect',
},
tokens: {
title: 'Personal Access Tokens',
subtitle: "Tokens d'accés directe a l'API, sense passar pel flux d'authorize (tipus API key).",
tokenWarning: 'Desa aquest token ara, no el podràs tornar a veure:',
newToken: 'Nou token',
name: 'Nom',
namePlaceholder: 'El meu script',
scopes: 'Scopes',
create: 'Crear token',
empty: 'Encara no has creat cap token.',
revoke: 'Revocar',
revokeConfirm: 'Vols revocar el token "{name}"?',
scopesLabel: 'scopes',
},
authorizedApps: {
title: 'Apps autoritzades',
subtitle: 'Aplicacions de tercers a les quals has donat accés al teu compte.',
empty: 'Encara no has autoritzat cap app.',
revoke: 'Revocar accés',
revokeConfirm: "Vols revocar l'accés de \"{name}\"?",
scopesLabel: 'scopes',
},
authorize: {
title: 'Autoritzar aplicació',
wantsAccess: '{client} vol accedir al teu compte ({email}) amb els següents permisos:',
noScopes: "No sol·licita permisos addicionals (accés bàsic).",
approve: 'Autoritzar',
cancel: 'Cancel·lar',
notFoundTitle: 'Sol·licitud no trobada',
notFoundBody: "Aquesta pantalla només funciona quan hi arribes redirigit per una aplicació client via {path}. Torna-ho a provar des d'aquella app.",
goDashboard: 'Anar al tauler',
},
adminUsers: {
title: 'Usuaris',
subtitle: 'Alta, edició de rol/estat i baixa de comptes.',
newUser: 'Nou usuari',
name: 'Nom',
email: 'Email',
password: 'Contrasenya',
role: 'Rol',
roleUser: 'Usuari',
roleAdmin: 'Admin',
create: 'Crear usuari',
colName: 'Nom',
colEmail: 'Email',
colRole: 'Rol',
colStatus: 'Estat',
active: 'Actiu',
inactive: 'Desactivat',
noRole: '(sense rol)',
edit: 'Editar',
delete: 'Esborrar',
deleteConfirm: 'Vols esborrar l\'usuari "{name}"? Anirà a la paperera i es pot restaurar.',
deleteFailed: "No s'ha pogut esborrar l'usuari.",
newPassword: 'Nova contrasenya',
noChange: '(sense canvis)',
save: 'Desar',
cancel: 'Cancel·lar',
appRolesTitle: 'Rols per app',
appRolesDesc: 'El rol global de dalt mana en aquest panell. Aquí es defineix quin rol té {name} dins de cada app quan aquella app demana el seu usuari per API.',
noAppRoles: 'Encara no hi ha rols assignats en cap app.',
chooseApp: 'Tria una app…',
assign: 'Assignar',
assignFailed: "No s'ha pogut assignar el rol.",
trashTitle: 'Paperera',
viewTrash: 'Veure paperera',
viewActive: 'Veure actius',
trashEmpty: 'No hi ha usuaris esborrats.',
deletedAt: 'Esborrat el {date}',
restore: 'Restaurar',
restoreFailed: "No s'ha pogut restaurar l'usuari.",
forceDelete: 'Esborrar definitivament',
forceDeleteConfirm: 'Vols esborrar definitivament "{name}"? Aquesta acció no es pot desfer.',
forceDeleteFailed: "No s'ha pogut esborrar definitivament.",
pendingTitle: 'Pendents',
viewPending: 'Pendents',
pendingEmpty: "No hi ha registres pendents d'aprovació.",
registeredAt: 'Es va registrar el {date}',
approve: 'Aprovar',
approveFailed: "No s'ha pogut aprovar l'usuari.",
reject: 'Rebutjar',
rejectConfirm: 'Vols rebutjar el registre de "{name}"? Anirà a la paperera i es pot restaurar després.',
rejectFailed: "No s'ha pogut rebutjar el registre.",
},
analytics: {
title: 'Analítiques',
subtitle: "Sessions, logins per app i activitat d'usuaris.",
last7: 'Últims 7 dies',
last30: 'Últims 30 dies',
last90: 'Últims 90 dies',
totalUsers: 'Usuaris totals',
activeSessions: 'Sessions actives',
activeSessionsHint: 'tokens OAuth vigents',
loginsToday: 'Logins avui',
logins7d: 'Logins últims 7 dies',
loginsByDay: 'Logins per dia',
appsOAuth: 'Apps (OAuth)',
panelAdmin: 'Tauler admin',
loginsByApp: 'Logins per app',
topUsers: 'Usuaris més actius',
noAppLogins: 'Encara no hi ha logins d\'apps en aquest període.',
noUserActivity: 'Encara no hi ha activitat en aquest període.',
recentActivity: 'Activitat recent',
hide: 'Amagar',
viewAll: 'Veure-ho tot',
colUser: 'Usuari',
colApp: 'App',
colType: 'Tipus',
colIp: 'IP',
colWhen: 'Quan',
serviceNoUser: '(servei, sense usuari)',
deletedApp: '(app esborrada)',
recentCount: '{count} esdeveniments recents — clica "Veure-ho tot" per a la taula completa.',
chartAriaLabel: 'Logins per dia, apilat per tipus',
tooltipAppLabel: 'Apps (OAuth):',
tooltipSessionLabel: 'Tauler admin:',
barAriaLabel: "{date}: {oauth} logins d'apps, {session} al tauler admin",
},
};
export default ca;