Files
Kazier/mobile/i18n/en.json
T
m 0536fca6c3 feat(mobile): identité user-first — login/password, SecureStore, scoping par compte
- api: DeviceRegistration device-only, login/changePassword/resolveUser, interception 401 (purge) exonérée sur le login ; type User aligné sur le fil (is_admin)
- SecureStore (expo-secure-store v57) : token + profil, jamais en SQLite ; miroir active_user_id
- AuthContext : statut loading/signedOut/signedIn, bootstrap register→restore, signIn/signOut, garde-fou switch de compte
- app/login.tsx + gate de routes dans _layout (Redirect signedOut) ; i18n fr/en
- DB v5 : user_id sur pending_operations + resource_permissions (UNIQUE par user), repos scopés (user_id IS ? OR IS NULL)
- syncOutbox : delta permissions par compte (Map), outbox poussée du compte actif uniquement
- tests: register/login/401/resolve/changePassword, scoping outbox+permissions, migrations v5 ; e2e live revert register→login admin
2026-09-10 21:34:34 +02:00

25 lines
889 B
JSON

{
"files": "Files",
"search": "Search",
"configuration": "Settings",
"add_folder": "Add a folder",
"no_folders_yet": "No folders yet. Tap \"Add a folder\" to sync a folder.",
"folder": "Folder",
"empty_folder": "Empty folder — next syncDevice will refresh it.",
"bytes": "B",
"kilobytes": "KB",
"megabytes": "MB",
"login_title": "Sign in",
"login_subtitle": "Sign in to your account",
"login_username": "Username",
"login_password": "Password",
"login_submit": "Sign in",
"login_submitting": "Signing in…",
"login_error_required": "Username and password are required",
"login_error_generic": "Could not sign in right now",
"login_switch_title": "Account already signed in",
"login_switch_message": "This sign-in will replace the active account on this device. Continue?",
"login_switch_confirm": "Replace",
"login_switch_cancel": "Cancel"
}