feat(i18n): expand Life OS to ten locales
This commit is contained in:
1 parent
a88a7f550f
commit
87276a051e
25 files changed
+6080
-87
No files matched your search
@@ -0,0 +1,737 @@
|
||||
{
|
||||
"app": {
|
||||
"today": "AUJOURD’HUI",
|
||||
"timeline": "CHRONOLOGIE",
|
||||
"museum": "MUSÉE",
|
||||
"insights": "ANALYSES",
|
||||
"profile": "PROFIL",
|
||||
"tasks": "OBJECTIFS ET TÂCHES",
|
||||
"calendar": "CALENDRIER",
|
||||
"system": "SYSTÈME",
|
||||
"browser": "NAVIGATEUR",
|
||||
"terminal": "TERMINAL",
|
||||
"database": "BASE DE DONNÉES"
|
||||
},
|
||||
"db": {
|
||||
"title": "Gestionnaire de base de données",
|
||||
"loginBody": "Consultez et modifiez les données de votre compte.",
|
||||
"setupTitle": "Définir le mot de passe de la base",
|
||||
"setupBody": "Créez un mot de passe propre à ce compte. L’ancien mot de passe partagé est désactivé.",
|
||||
"checking": "Vérification de l’accès…",
|
||||
"setPassword": "Définir et ouvrir",
|
||||
"currentPassword": "Mot de passe actuel",
|
||||
"newPassword": "Nouveau mot de passe (12 caractères minimum)",
|
||||
"confirmPassword": "Confirmer le nouveau mot de passe",
|
||||
"passwordMismatch": "Les mots de passe ne correspondent pas.",
|
||||
"changePassword": "Changer le mot de passe",
|
||||
"passwordChanged": "Mot de passe mis à jour. Les anciennes sessions ont été fermées.",
|
||||
"server": "Serveur",
|
||||
"username": "Nom d’utilisateur",
|
||||
"password": "Mot de passe",
|
||||
"warningTitle": "Accès direct à la base de données",
|
||||
"warningBody": "Les modifications sont immédiatement enregistrées dans le cloud. Un JSON invalide ou une suppression peut affecter vos données. Exportez une sauvegarde avant de grandes modifications.",
|
||||
"acknowledge": "Je comprends que je modifie directement les enregistrements.",
|
||||
"login": "Ouvrir la base",
|
||||
"connected": "Connecté aux données de votre compte.",
|
||||
"sessionExpired": "Session expirée. Connectez-vous à nouveau.",
|
||||
"requestFailed": "La requête a échoué.",
|
||||
"unexpectedResponse": "Réponse inattendue du serveur. Réessayez dans un instant.",
|
||||
"ownData": "COMPTE ACTUEL UNIQUEMENT",
|
||||
"directMode": "Éditeur direct · modifications enregistrées dans D1",
|
||||
"logout": "Se déconnecter",
|
||||
"tables": "Tables",
|
||||
"memories": "Souvenirs",
|
||||
"goals": "Objectifs",
|
||||
"tasks": "Tâches",
|
||||
"museum": "Favoris",
|
||||
"profile": "Profil",
|
||||
"settings": "Paramètres",
|
||||
"system": "Système",
|
||||
"refresh": "Actualiser",
|
||||
"newRecord": "Nouvel enregistrement",
|
||||
"newRevision": "nouveau",
|
||||
"count": "{count} enregistrements",
|
||||
"empty": "Aucun enregistrement dans cette table.",
|
||||
"selectRow": "Sélectionnez une ligne pour voir son JSON.",
|
||||
"recordId": "ID de l’enregistrement",
|
||||
"json": "JSON de l’enregistrement",
|
||||
"editorHint": "Gardez le même ID dans le JSON et la ligne. Un conflit signifie que la ligne a changé entre-temps.",
|
||||
"create": "Créer",
|
||||
"save": "Enregistrer",
|
||||
"delete": "Supprimer",
|
||||
"cancel": "Annuler",
|
||||
"previous": "Précédent",
|
||||
"next": "Suivant",
|
||||
"invalidJson": "JSON invalide.",
|
||||
"idMismatch": "Les ID ne correspondent pas.",
|
||||
"saveConfirm": "Écrire directement l’enregistrement {id} ?",
|
||||
"deleteConfirm": "Supprimer l’enregistrement {id} ? Impossible de l’annuler ici.",
|
||||
"saved": "Enregistrement sauvegardé.",
|
||||
"deleted": "Enregistrement supprimé.",
|
||||
"reloadHint": "Le bureau conserve un cache local. Rechargez-le après modification de la base.",
|
||||
"reloadDesktop": "Recharger le bureau"
|
||||
},
|
||||
"common": {
|
||||
"save": "ENREGISTRER",
|
||||
"cancel": "ANNULER",
|
||||
"edit": "MODIFIER",
|
||||
"delete": "SUPPRIMER",
|
||||
"close": "Fermer",
|
||||
"open": "Ouvrir",
|
||||
"minimize": "Réduire",
|
||||
"maximize": "Agrandir",
|
||||
"restore": "Restaurer la fenêtre",
|
||||
"energy": "ÉNERGIE",
|
||||
"days": "JOURS",
|
||||
"never": "JAMAIS"
|
||||
},
|
||||
"today": {
|
||||
"prompt": "Comment s’est passée votre journée ?",
|
||||
"placeholder": "Écrivez quelque chose sur aujourd’hui…",
|
||||
"archive": "ARCHIVER AUJOURD’HUI",
|
||||
"update": "METTRE À JOUR LE SOUVENIR",
|
||||
"archiveDate": "ENREGISTRER LE SOUVENIR",
|
||||
"updateDate": "METTRE À JOUR LE SOUVENIR",
|
||||
"backToToday": "Revenir à aujourd’hui",
|
||||
"weather": "MÉTÉO DU JOUR",
|
||||
"energy": "NIVEAU D’ÉNERGIE",
|
||||
"film": "SUGGESTION DU JOUR",
|
||||
"archiving": "ARCHIVAGE…",
|
||||
"archived": "SOUVENIR ARCHIVÉ"
|
||||
},
|
||||
"weather": {
|
||||
"clear": "Ensoleillé",
|
||||
"light": "Éclaircies",
|
||||
"cloudy": "Nuageux",
|
||||
"rain": "Pluie",
|
||||
"storm": "Orage"
|
||||
},
|
||||
"timeline": {
|
||||
"eyebrow": "ARCHIVE DES SOUVENIRS",
|
||||
"heading": "{count} SUR {total} SOUVENIRS",
|
||||
"search": "Rechercher des souvenirs",
|
||||
"searchPlaceholder": "Rechercher notes, étiquettes, lieux, tâches…",
|
||||
"filterTag": "Filtrer par étiquette",
|
||||
"allTags": "TOUTES LES ÉTIQUETTES",
|
||||
"noMatches": "Aucun souvenir ne correspond aux filtres.",
|
||||
"favorite": "FAVORI",
|
||||
"emptyTitle": "Aucun souvenir pour le moment.",
|
||||
"emptyBody": "Ouvrez Aujourd’hui pour en conserver un.",
|
||||
"detail": "DÉTAIL DU SOUVENIR",
|
||||
"untitled": "Souvenir sans titre",
|
||||
"noNote": "Aucune note écrite.",
|
||||
"editing": "MODIFICATION — ENREGISTRER POUR METTRE À JOUR",
|
||||
"preserved": "CONSERVÉ",
|
||||
"addMuseum": "AJOUTER AU MUSÉE",
|
||||
"confirmDelete": "CONFIRMER LA SUPPRESSION",
|
||||
"remove": "Supprimer ce souvenir ?",
|
||||
"irreversible": "Cette action est irréversible.",
|
||||
"deleteMemory": "SUPPRIMER LE SOUVENIR",
|
||||
"removed": "SOUVENIR SUPPRIMÉ",
|
||||
"added": "SOUVENIR AJOUTÉ AUX FAVORIS",
|
||||
"unpreserved": "RETIRÉ DES FAVORIS"
|
||||
},
|
||||
"memory": {
|
||||
"tags": "ÉTIQUETTES",
|
||||
"tagsPlaceholder": "Séparez les étiquettes par des virgules",
|
||||
"place": "LIEU / CONTEXTE (FACULTATIF)",
|
||||
"placePlaceholder": "Où cela s’est-il passé ?",
|
||||
"linkTask": "TÂCHE LIÉE (FACULTATIF)",
|
||||
"noTask": "AUCUNE TÂCHE LIÉE",
|
||||
"relatedTask": "Tâche liée",
|
||||
"favorite": "AJOUTER AUX FAVORIS",
|
||||
"edit": "MODIFIER LE SOUVENIR",
|
||||
"note": "NOTE",
|
||||
"title": "TITRE (FACULTATIF)",
|
||||
"titlePlaceholder": "Donnez un titre à ce souvenir"
|
||||
},
|
||||
"museum": {
|
||||
"eyebrow": "MUSÉE",
|
||||
"title": "Instants conservés",
|
||||
"subtitle": "À retrouver plus tard.",
|
||||
"empty": "Le musée commence par un instant conservé.",
|
||||
"preserved": "STATUT : CONSERVÉ",
|
||||
"collection": "COLLECTION"
|
||||
},
|
||||
"insights": {
|
||||
"eyebrow": "RAPPORTS PÉRIODIQUES",
|
||||
"title": "Analyses",
|
||||
"description": "Une vue factuelle de vos notes et tâches terminées.",
|
||||
"period": "Période du rapport",
|
||||
"week": "SEMAINE",
|
||||
"month": "MOIS",
|
||||
"previous": "Période précédente",
|
||||
"next": "Période suivante",
|
||||
"records": "FRÉQUENCE DES NOTES",
|
||||
"recordedDays": "{count} notes · {percent} % des jours écoulés",
|
||||
"tasks": "TÂCHES TERMINÉES",
|
||||
"completedTasks": "Tâches marquées comme terminées pendant cette période",
|
||||
"taskDetails": "{created} tâches créées · {goals} objectifs terminés",
|
||||
"weather": "MÉTÉO FRÉQUENTE",
|
||||
"noWeather": "Aucune météo enregistrée pendant cette période",
|
||||
"energy": "ÉNERGIE ENREGISTRÉE",
|
||||
"energyFromTo": "Première note {first}/5 → dernière {last}/5",
|
||||
"singleEnergy": "Une seule note d’énergie pendant cette période",
|
||||
"noEnergy": "Aucune énergie enregistrée pendant cette période",
|
||||
"highlights": "MOMENTS À REVOIR",
|
||||
"highlightSource": "Souvenirs favoris ou notes marquées #highlight ou #高光.",
|
||||
"highlightFavorite": "CONSERVÉ",
|
||||
"highlightTag": "ÉTIQUETÉ",
|
||||
"highlightEmpty": "Aucun souvenir favori ou étiqueté pendant cette période.",
|
||||
"note": "Seules les données enregistrées sont comptées. Aucune météo ni énergie n’est déduite des jours manquants."
|
||||
},
|
||||
"profile": {
|
||||
"eyebrow": "PROFIL SYSTÈME",
|
||||
"online": "LIFE OS EN LIGNE",
|
||||
"daysOnline": "JOURS D’UTILISATION",
|
||||
"memories": "SOUVENIRS",
|
||||
"museumItems": "OBJETS DU MUSÉE",
|
||||
"streak": "SÉRIE ACTUELLE",
|
||||
"longest": "PLUS LONGUE SÉRIE",
|
||||
"commonWeather": "MÉTÉO FRÉQUENTE",
|
||||
"personal": "SYSTÈME PERSONNEL",
|
||||
"name": "Nom affiché",
|
||||
"birthday": "Anniversaire (facultatif)",
|
||||
"start": "Date de début Life OS",
|
||||
"motto": "Devise personnelle",
|
||||
"save": "ENREGISTRER LE PROFIL",
|
||||
"saved": "PROFIL ENREGISTRÉ",
|
||||
"average": "ÉNERGIE MOYENNE {value} / 5"
|
||||
},
|
||||
"notifications": {
|
||||
"title": "NOTIFICATIONS",
|
||||
"allow": "Autoriser les notifications système",
|
||||
"openOnly": "Les rappels fonctionnent quand Life OS est ouvert. Le navigateur peut les retarder si l’onglet est en veille ; ils ne sont pas envoyés après la fermeture du site.",
|
||||
"time": "Heure : {name}",
|
||||
"sendTest": "Envoyer une notification de test",
|
||||
"status": {
|
||||
"default": "Autorisation non demandée. Choisissez Autoriser pour recevoir des rappels.",
|
||||
"granted": "Notifications autorisées sur cet appareil.",
|
||||
"denied": "Notifications bloquées. Modifiez l’autorisation du site dans votre navigateur.",
|
||||
"unsupported": "Notifications indisponibles dans ce navigateur ou ce contexte."
|
||||
},
|
||||
"memory": {
|
||||
"label": "Souvenir du jour",
|
||||
"description": "Me rappeler si je n’ai pas écrit de souvenir aujourd’hui.",
|
||||
"title": "Un instant à retenir",
|
||||
"body": "Vous n’avez pas encore écrit de souvenir aujourd’hui."
|
||||
},
|
||||
"tasks": {
|
||||
"label": "Tâches du jour",
|
||||
"description": "Afficher le nombre de tâches non terminées arrivées à échéance.",
|
||||
"title": "Tâches du jour",
|
||||
"body": "{count} tâches arrivées à échéance restent à faire."
|
||||
},
|
||||
"goals": {
|
||||
"label": "Compte à rebours",
|
||||
"description": "Afficher le prochain objectif actif avec une date cible.",
|
||||
"title": "Compte à rebours",
|
||||
"days": "{name} : encore {count} jours.",
|
||||
"today": "{name} : l’échéance est aujourd’hui.",
|
||||
"overdue": "{name} : échéance dépassée de {count} jours."
|
||||
},
|
||||
"test": {
|
||||
"title": "Notifications Life OS prêtes",
|
||||
"body": "Votre navigateur peut afficher les rappels Life OS.",
|
||||
"failed": "Impossible d’afficher la notification de test."
|
||||
}
|
||||
},
|
||||
"systemNav": {
|
||||
"settings": "PARAMÈTRES",
|
||||
"navigation": "Catégories des paramètres",
|
||||
"home": "Accueil",
|
||||
"appearance": "Personnalisation",
|
||||
"notifications": "Notifications",
|
||||
"language": "Langue",
|
||||
"data": "Données et sauvegarde",
|
||||
"about": "À propos",
|
||||
"homeHint": "Choisissez une catégorie pour régler Life OS.",
|
||||
"device": "Ce navigateur",
|
||||
"deviceHint": "Votre espace personnel Life OS",
|
||||
"version": "v{version}",
|
||||
"quickSettings": "Réglages rapides",
|
||||
"appearanceHint": "Thème, fond d’écran, icônes et widgets",
|
||||
"notificationsHint": "Rappels de souvenirs, tâches et objectifs",
|
||||
"languageHint": "Langue du navigateur et choix manuel",
|
||||
"dataHint": "Importer, exporter et stockage local"
|
||||
},
|
||||
"system": {
|
||||
"eyebrow": "PARAMÈTRES SYSTÈME",
|
||||
"title": "Votre système personnel.",
|
||||
"appearance": "APPARENCE",
|
||||
"language": "LANGUE",
|
||||
"browserLanguage": "LANGUE DU NAVIGATEUR",
|
||||
"detectedZh": "Détecté : chinois",
|
||||
"detectedEn": "Détecté : anglais",
|
||||
"auto": "AUTO",
|
||||
"data": "DONNÉES",
|
||||
"storage": "STOCKAGE",
|
||||
"dataStorage": "STOCKAGE DES DONNÉES",
|
||||
"export": "EXPORTER",
|
||||
"import": "IMPORTER",
|
||||
"reset": "RÉINITIALISER LIFE OS",
|
||||
"local": "Stockage local",
|
||||
"stored": "Vos données sont stockées localement dans ce navigateur.",
|
||||
"backups": "Créez régulièrement des sauvegardes pour éviter toute perte.",
|
||||
"lastBackup": "DERNIÈRE SAUVEGARDE · {value}",
|
||||
"recommended": "SAUVEGARDE RECOMMANDÉE",
|
||||
"version": "VERSION",
|
||||
"theme": {
|
||||
"dark": "SOMBRE",
|
||||
"light": "CLAIR",
|
||||
"auto": "AUTO"
|
||||
},
|
||||
"storageSummary": "{memories} souvenirs · {museum} éléments · {tasks} tâches · Environ {size} Ko",
|
||||
"release": "Life OS<br>Version {version} · Sauvegarde v2 · Base D1 v2",
|
||||
"languageEnglish": "ANGLAIS",
|
||||
"languageChinese": "中文",
|
||||
"browserDetected": "Langue du navigateur : {name}"
|
||||
},
|
||||
"dialog": {
|
||||
"backup": "SAUVEGARDE LIFE OS",
|
||||
"ready": "Prêt à restaurer",
|
||||
"exported": "Exporté le : {date}",
|
||||
"memories": "Souvenirs : {count}",
|
||||
"museumItems": "Objets du musée : {count}",
|
||||
"goals": "Objectifs : {count}",
|
||||
"tasks": "Tâches : {count}",
|
||||
"merge": "FUSIONNER",
|
||||
"replaceAll": "REMPLACER TOUTES LES DONNÉES",
|
||||
"final": "CONFIRMATION FINALE",
|
||||
"replaceQuestion": "Remplacer toutes les données Life OS ?",
|
||||
"replaceWarning": "Toutes les données actuelles seront remplacées.",
|
||||
"replace": "REMPLACER",
|
||||
"resetQuestion": "Réinitialiser toutes les données locales ?",
|
||||
"resetWarning": "Exportez une sauvegarde avant de continuer.",
|
||||
"resetData": "RÉINITIALISER"
|
||||
},
|
||||
"feedback": {
|
||||
"backup": "SAUVEGARDE CRÉÉE",
|
||||
"invalid": "FICHIER INVALIDE",
|
||||
"restored": "SYSTÈME RESTAURÉ",
|
||||
"restoring": "RESTAURATION…",
|
||||
"minimized": "RÉDUIT — CLIQUEZ SUR L’ICÔNE POUR RESTAURER",
|
||||
"languageZh": "Langue définie : chinois",
|
||||
"languageEn": "Langue définie : anglais",
|
||||
"followingZh": "Langue du navigateur : chinois",
|
||||
"followingEn": "Langue du navigateur : anglais",
|
||||
"languageSelected": "Langue définie : {name}",
|
||||
"followingBrowser": "Langue du navigateur : {name}"
|
||||
},
|
||||
"addon": {
|
||||
"draftRestored": "BROUILLON RESTAURÉ",
|
||||
"searchTitle": "RECHERCHE DE SOUVENIRS",
|
||||
"searchPlaceholder": "Rechercher titres, notes, météo…",
|
||||
"searchHint": "Échap pour fermer · cliquez sur un résultat",
|
||||
"untitled": "Souvenir sans titre",
|
||||
"noResults": "Aucun souvenir trouvé.",
|
||||
"syncPaused": "SYNCHRONISATION EN PAUSE — MODIFICATIONS LOCALES",
|
||||
"syncConflict": "CONFLIT — SAUVEGARDE LOCALE CRÉÉE",
|
||||
"syncConflictConfirm": "Cet enregistrement a changé sur un autre appareil. Une sauvegarde locale a été créée. Remplacer la version cloud ? Annuler conserve la version cloud.",
|
||||
"syncReady": "SYNCHRONISATION PRÊTE",
|
||||
"migrateQuestion": "Transférer les données de ce navigateur vers le cloud ?",
|
||||
"migrateBody": "Vos données locales deviendront la première copie synchronisée de ce compte ChatGPT.",
|
||||
"migrate": "TRANSFÉRER ET SYNCHRONISER",
|
||||
"fresh": "REPARTIR DE ZÉRO",
|
||||
"migrated": "DONNÉES LOCALES TRANSFÉRÉES",
|
||||
"cloudRestored": "DONNÉES CLOUD RESTAURÉES",
|
||||
"cloudUnavailable": "CLOUD INDISPONIBLE — MODE LOCAL ACTIF",
|
||||
"openMemory": "Ouvrir le souvenir : {title}"
|
||||
},
|
||||
"calendar": {
|
||||
"eyebrow": "SOUVENIRS ET ÉTAPES",
|
||||
"month": "MOIS",
|
||||
"day": "JOUR",
|
||||
"today": "AUJOURD’HUI",
|
||||
"mon": "LUN",
|
||||
"tue": "MAR",
|
||||
"wed": "MER",
|
||||
"thu": "JEU",
|
||||
"fri": "VEN",
|
||||
"sat": "SAM",
|
||||
"sun": "DIM",
|
||||
"previous": "Mois précédent",
|
||||
"next": "Mois suivant",
|
||||
"previousDay": "Jour précédent",
|
||||
"nextDay": "Jour suivant",
|
||||
"dayAtGlance": "CE JOUR-LÀ",
|
||||
"memory": "SOUVENIR",
|
||||
"task": "TÂCHE",
|
||||
"goal": "OBJECTIF",
|
||||
"items": "éléments",
|
||||
"taskDue": "ÉCHÉANCE DE TÂCHE",
|
||||
"taskDone": "TÂCHE TERMINÉE",
|
||||
"goalCreated": "OBJECTIF CRÉÉ",
|
||||
"goalTarget": "ÉCHÉANCE DE L’OBJECTIF",
|
||||
"goalDone": "OBJECTIF TERMINÉ",
|
||||
"emptyDay": "Aucun souvenir ni étape pour ce jour.",
|
||||
"openToday": "Écrire un souvenir",
|
||||
"writeMemory": "Ajouter un souvenir",
|
||||
"openTasks": "Ouvrir les tâches"
|
||||
},
|
||||
"tasks": {
|
||||
"eyebrow": "OBJECTIFS ET TÂCHES",
|
||||
"title": "Avancez vers l’essentiel.",
|
||||
"subtitle": "Un plan simple pour aujourd’hui et les jours à venir.",
|
||||
"addGoal": "NOUVEL OBJECTIF",
|
||||
"addTask": "AJOUTER UNE TÂCHE",
|
||||
"taskPlaceholder": "Que faut-il faire ?",
|
||||
"goalPlaceholder": "Quel objectif souhaitez-vous poursuivre ?",
|
||||
"goalDescription": "Note sur cet objectif (facultatif)",
|
||||
"finishedGoals": "OBJECTIFS TERMINÉS",
|
||||
"goalComplete": "TERMINER L’OBJECTIF",
|
||||
"goalReopen": "ROUVRIR L’OBJECTIF",
|
||||
"all": "TOUT",
|
||||
"today": "AUJOURD’HUI",
|
||||
"upcoming": "À VENIR",
|
||||
"done": "TERMINÉ",
|
||||
"activeGoals": "OBJECTIFS ACTIFS",
|
||||
"noGoals": "Commencez par un objectif.",
|
||||
"noTasks": "Aucune tâche pour le moment.",
|
||||
"due": "ÉCHÉANCE {date}",
|
||||
"noDate": "SANS DATE",
|
||||
"priority": {
|
||||
"low": "BASSE",
|
||||
"normal": "NORMALE",
|
||||
"high": "HAUTE"
|
||||
},
|
||||
"goal": "OBJECTIF",
|
||||
"anyGoal": "AUCUN OBJECTIF",
|
||||
"save": "ENREGISTRER",
|
||||
"cancel": "ANNULER",
|
||||
"complete": "MARQUER TERMINÉ",
|
||||
"reopen": "ROUVRIR",
|
||||
"delete": "SUPPRIMER",
|
||||
"goalTitle": "Nouvel objectif",
|
||||
"taskTitle": "Nouvelle tâche",
|
||||
"goalCreated": "OBJECTIF CRÉÉ",
|
||||
"taskAdded": "TÂCHE AJOUTÉE",
|
||||
"taskRemoved": "TÂCHE SUPPRIMÉE",
|
||||
"goalRemoved": "OBJECTIF SUPPRIMÉ",
|
||||
"confirmGoalDelete": "Supprimer cet objectif ?",
|
||||
"confirmGoalDeleteBody": "Les tâches associées seront conservées sans objectif.",
|
||||
"target": "DATE CIBLE",
|
||||
"completed": "TERMINÉ",
|
||||
"progress": "{done} SUR {total} TERMINÉES",
|
||||
"desktopShow": "AFFICHER LE COMPTE À REBOURS",
|
||||
"desktopHide": "MASQUER LE COMPTE À REBOURS",
|
||||
"countdown": "COMPTE À REBOURS",
|
||||
"daysLeft": "Encore {count} jours",
|
||||
"todayTarget": "Échéance aujourd’hui",
|
||||
"daysOverdue": "Retard de {count} jours",
|
||||
"pinOnCreate": "Afficher le compte à rebours sur le bureau",
|
||||
"todayHeading": "Priorités du jour",
|
||||
"openCount": "{count} TÂCHES OUVERTES",
|
||||
"overdue": "EN RETARD"
|
||||
},
|
||||
"shell": {
|
||||
"pageTitle": "Life OS",
|
||||
"brand": "LIFE OS / BUREAU PERSONNEL",
|
||||
"initializing": "INITIALISATION…",
|
||||
"life": "VIE",
|
||||
"morning": "BONJOUR",
|
||||
"afternoon": "BON APRÈS-MIDI",
|
||||
"evening": "BONSOIR",
|
||||
"systemOnline": "SYSTÈME ACTIF · LIFE OS v{version}",
|
||||
"systemDate": "DATE DU SYSTÈME",
|
||||
"open": "Ouvrir",
|
||||
"close": "Fermer",
|
||||
"minimize": "Réduire",
|
||||
"maximize": "Agrandir",
|
||||
"restore": "Restaurer",
|
||||
"openApp": "Ouvrir {app}",
|
||||
"refresh": "Actualiser le bureau",
|
||||
"newToday": "Nouveau souvenir",
|
||||
"systemSettings": "Paramètres système",
|
||||
"doubleClickMaximize": "Double-cliquer pour agrandir",
|
||||
"wallpaperTitle": "Image Bing du jour : {title}",
|
||||
"dailyImage": "Image du jour",
|
||||
"todayMemories": "{memories} souvenirs · {preserved} conservés",
|
||||
"memoryCount": "{count} souvenirs",
|
||||
"menuCloseWindow": "Fermer la fenêtre",
|
||||
"todaySummary": "{memories} souvenirs · {preserved} conservés"
|
||||
},
|
||||
"wallpaper": {
|
||||
"dailyImage": "Image du jour"
|
||||
},
|
||||
"desktop": {
|
||||
"heading": "PERSONNALISATION DU BUREAU",
|
||||
"wallpaper": "Source du fond d’écran",
|
||||
"bing": "Image Bing du jour",
|
||||
"calm": "Fond intégré",
|
||||
"custom": "URL d’image personnalisée",
|
||||
"useUrl": "UTILISER L’IMAGE",
|
||||
"urlHint": "Utilisez un lien HTTPS direct. Certains hébergeurs bloquent les images externes.",
|
||||
"invalidUrl": "Saisissez une URL HTTPS valide",
|
||||
"shortcuts": "Raccourcis du bureau",
|
||||
"shortcutsHint": "Choisissez les apps visibles sur le bureau. Elles restent dans le menu Vie. Faites glisser les icônes pour les organiser.",
|
||||
"resetPositions": "Réinitialiser les positions",
|
||||
"windowLayout": "Disposition des fenêtres",
|
||||
"rememberOn": "Mémoriser fenêtres et positions : OUI",
|
||||
"rememberOff": "Mémoriser fenêtres et positions : NON",
|
||||
"windowHint": "Positions et tailles sont conservées sur cet appareil. Sur mobile, les apps s’ouvrent en plein écran.",
|
||||
"startup": "Ouvrir au démarrage",
|
||||
"startupHint": "Ces apps s’ouvrent au démarrage de Life OS, en plus des fenêtres mémorisées."
|
||||
},
|
||||
"widgets": {
|
||||
"goals": "COMPTES À REBOURS",
|
||||
"clock": "HORLOGE",
|
||||
"today": "APERÇU DU JOUR",
|
||||
"actions": "ACTIONS RAPIDES",
|
||||
"heading": "WIDGETS DU BUREAU",
|
||||
"hint": "Choisissez les widgets visibles. Faites glisser l’en-tête pour déplacer et le coin pour redimensionner. Les flèches fonctionnent quand une poignée est sélectionnée.",
|
||||
"reset": "Réinitialiser les widgets",
|
||||
"memoriesToday": "souvenirs aujourd’hui",
|
||||
"tasksDue": "tâches dues ou en retard",
|
||||
"newMemory": "Ouvrir Aujourd’hui",
|
||||
"openTasks": "Ouvrir les tâches",
|
||||
"openCalendar": "Ouvrir le calendrier",
|
||||
"move": "Déplacer",
|
||||
"resize": "Redimensionner",
|
||||
"noGoals": "Aucun objectif épinglé. Épinglez-en un dans Tâches."
|
||||
},
|
||||
"prompt": {
|
||||
"films": [
|
||||
{
|
||||
"title": "Un mardi tranquille",
|
||||
"subtitle": "Drame · Quotidien"
|
||||
},
|
||||
{
|
||||
"title": "L’après-midi qui resta",
|
||||
"subtitle": "Indépendant · Chaleureux"
|
||||
},
|
||||
{
|
||||
"title": "Petite lumière, long couloir",
|
||||
"subtitle": "Contemplatif · Drame"
|
||||
},
|
||||
{
|
||||
"title": "Avant les notifications",
|
||||
"subtitle": "Minimaliste · Jeunesse"
|
||||
},
|
||||
{
|
||||
"title": "La chambre aux rideaux ouverts",
|
||||
"subtitle": "Quotidien · Calme"
|
||||
},
|
||||
{
|
||||
"title": "Le chemin habituel",
|
||||
"subtitle": "Drame · Familier"
|
||||
},
|
||||
{
|
||||
"title": "Notes inachevées",
|
||||
"subtitle": "Réflexif · Court métrage"
|
||||
},
|
||||
{
|
||||
"title": "Un temps de pensées",
|
||||
"subtitle": "Calme · Intime"
|
||||
},
|
||||
{
|
||||
"title": "Le jour entre les choses",
|
||||
"subtitle": "Indépendant · Observation"
|
||||
},
|
||||
{
|
||||
"title": "Heures lentes, contours doux",
|
||||
"subtitle": "Quotidien · Rêve"
|
||||
},
|
||||
{
|
||||
"title": "Une fenêtre encore éclairée",
|
||||
"subtitle": "Drame · Soir"
|
||||
},
|
||||
{
|
||||
"title": "L’ordinaire bien gardé",
|
||||
"subtitle": "Humain · Doux"
|
||||
},
|
||||
{
|
||||
"title": "Encore une page ce soir",
|
||||
"subtitle": "Études · Doucement"
|
||||
},
|
||||
{
|
||||
"title": "L’espace après le déjeuner",
|
||||
"subtitle": "Souvenir · Calme"
|
||||
},
|
||||
{
|
||||
"title": "Bus tardif, esprit clair",
|
||||
"subtitle": "Urbain · Réflexif"
|
||||
},
|
||||
{
|
||||
"title": "Les petites choses au point",
|
||||
"subtitle": "Documentaire · Vie"
|
||||
},
|
||||
{
|
||||
"title": "Ce que la pièce gardait",
|
||||
"subtitle": "Poétique · Immobile"
|
||||
},
|
||||
{
|
||||
"title": "L’heure bleue sans hâte",
|
||||
"subtitle": "Soir · Calme"
|
||||
},
|
||||
{
|
||||
"title": "La carte d’un petit jour",
|
||||
"subtitle": "Voyage · Intime"
|
||||
},
|
||||
{
|
||||
"title": "Quelque part après quatre heures",
|
||||
"subtitle": "Indépendant · Chaleureux"
|
||||
},
|
||||
{
|
||||
"title": "Un jour sans titre",
|
||||
"subtitle": "Quotidien · Doux"
|
||||
},
|
||||
{
|
||||
"title": "Le bruit de prendre son temps",
|
||||
"subtitle": "Cinéma lent · Intime"
|
||||
},
|
||||
{
|
||||
"title": "Ce qui n’avait pas à être réparé",
|
||||
"subtitle": "Drame · Doux"
|
||||
},
|
||||
{
|
||||
"title": "À mi-chemin de septembre",
|
||||
"subtitle": "Souvenir · Jeunesse"
|
||||
},
|
||||
{
|
||||
"title": "Nos petites archives",
|
||||
"subtitle": "Intime · Calme"
|
||||
},
|
||||
{
|
||||
"title": "La nuit garda sa forme",
|
||||
"subtitle": "Noir · Calme"
|
||||
},
|
||||
{
|
||||
"title": "Un soleil imprévu",
|
||||
"subtitle": "Léger · Intime"
|
||||
},
|
||||
{
|
||||
"title": "Le dernier onglet ouvert",
|
||||
"subtitle": "Moderne · Réflexif"
|
||||
},
|
||||
{
|
||||
"title": "Une place pour aujourd’hui",
|
||||
"subtitle": "Drame · Humain"
|
||||
},
|
||||
{
|
||||
"title": "Rien de perdu aujourd’hui",
|
||||
"subtitle": "Quotidien · Espoir"
|
||||
}
|
||||
],
|
||||
"lines": [
|
||||
"Rien d’extraordinaire n’est arrivé. C’était peut-être l’essentiel.",
|
||||
"Un petit jour, assez bien gardé pour être rappelé.",
|
||||
"Les moments ordinaires ont duré plus longtemps que prévu.",
|
||||
"Chaque chapitre n’a pas besoin d’une fin dramatique.",
|
||||
"Certaines pensées sont venues ; d’autres sont passées.",
|
||||
"Une trace tranquille d’avoir été là.",
|
||||
"Le jour a suivi son propre rythme.",
|
||||
"Il restait de la place pour un peu de douceur.",
|
||||
"Même l’inachevé avait sa place ici.",
|
||||
"La lumière a changé, et l’humeur aussi.",
|
||||
"Une scène à garder sans devoir l’expliquer.",
|
||||
"Il suffisait de remarquer ce jour tel qu’il était.",
|
||||
"Le temps ne se pressait pas, ce souvenir non plus.",
|
||||
"Les détails étaient petits, mais réels.",
|
||||
"Une pause est devenue partie de l’histoire.",
|
||||
"Quelque part, ce jour est devenu digne d’être gardé.",
|
||||
"Le familier a brillé un instant.",
|
||||
"Rien n’avait à être résolu avant la nuit.",
|
||||
"Quelques instants sont restés nets.",
|
||||
"L’histoire était calme, mais toujours la vôtre.",
|
||||
"Aujourd’hui a laissé une petite trace.",
|
||||
"Un cadre doux autour d’une heure ordinaire.",
|
||||
"Le jour demandait de l’attention, pas de la perfection.",
|
||||
"Ce souvenir peut reposer ici pour l’instant.",
|
||||
"Le monde était bruyant ; cette page ne l’était pas.",
|
||||
"Quelques fils épars, gardés honnêtement.",
|
||||
"La version la plus simple d’aujourd’hui suffisait.",
|
||||
"Le jour s’est posé avant de finir.",
|
||||
"Il y avait du sens entre les moments.",
|
||||
"Un instant privé, bien archivé."
|
||||
]
|
||||
},
|
||||
"login": {
|
||||
"title": "Votre vie,<br>synchronisée.",
|
||||
"description": "Connectez-vous avec ChatGPT pour accéder à votre Life OS et synchroniser vos souvenirs entre appareils.",
|
||||
"continue": "CONTINUER AVEC CHATGPT",
|
||||
"footnote": "SYSTÈME PERSONNEL · SYNCHRONISATION"
|
||||
},
|
||||
"browser": {
|
||||
"back": "Retour",
|
||||
"forward": "Avancer",
|
||||
"reload": "Actualiser",
|
||||
"address": "Adresse ou recherche",
|
||||
"placeholder": "Saisissez une URL ou recherchez sur Google",
|
||||
"go": "Aller",
|
||||
"external": "Ouvrir dans un nouvel onglet",
|
||||
"frame": "Page intégrée",
|
||||
"embedHint": "Certains sites refusent l’intégration. Si la page est vide, ouvrez-la dans un nouvel onglet.",
|
||||
"invalid": "Saisissez une adresse valide ou une recherche."
|
||||
},
|
||||
"terminal": {
|
||||
"title": "TERMINAL",
|
||||
"hint": "Tapez help pour voir les commandes",
|
||||
"command": "Commande Life OS",
|
||||
"memory": "Souvenir",
|
||||
"task": "Tâche",
|
||||
"goal": "Objectif",
|
||||
"notePrompt": "Écrivez votre souvenir ci-dessous. Ctrl/⌘ + Entrée pour enregistrer ; Échap pour annuler.",
|
||||
"saveNote": "Enregistrer le souvenir",
|
||||
"cancel": "Annuler",
|
||||
"cancelled": "Création annulée.",
|
||||
"opened": "{app} ouvert.",
|
||||
"empty": "Aucun enregistrement correspondant.",
|
||||
"memorySaved": "Souvenir enregistré : {title} · {date}",
|
||||
"goalSaved": "Objectif créé : {title}",
|
||||
"taskSaved": "Tâche créée : {title}",
|
||||
"taskCompleted": "Tâche terminée : {title}",
|
||||
"taskReopened": "Tâche rouverte : {title}",
|
||||
"invalidTitle": "Ajoutez un titre de longueur autorisée.",
|
||||
"invalidDate": "Utilisez une date réelle au format YYYY-MM-DD, today ou tomorrow.",
|
||||
"invalidPriority": "La priorité doit être high, normal ou low.",
|
||||
"invalidValue": "Météo ou énergie invalide.",
|
||||
"notFound": "Enregistrement introuvable.",
|
||||
"ambiguous": "Plusieurs éléments portent ce titre. Utilisez l’ID.",
|
||||
"memoryExists": "Un souvenir existe déjà à cette date. Modifiez-le dans Aujourd’hui ou Chronologie.",
|
||||
"invalidOption": "Option inconnue ou valeur manquante. Tapez help.",
|
||||
"unclosedQuote": "Guillemet non fermé.",
|
||||
"usage": "Titre ou numéro manquant. Tapez help.",
|
||||
"unknownApp": "App inconnue. Tapez help.",
|
||||
"unknownCommand": "Commande inconnue. Tapez help.",
|
||||
"guidedHelp": "configuration guidée ; Entrée accepte la valeur proposée, back/cancel pilote le parcours",
|
||||
"back": "Retour",
|
||||
"noWizard": "Aucune saisie guidée active.",
|
||||
"wizard": {
|
||||
"title": "Titre du souvenir ? (obligatoire ; actuel : {value})",
|
||||
"date": "Date ? [{value}] — YYYY-MM-DD, today ou tomorrow",
|
||||
"tags": "Étiquettes ? [{value}] — séparées par des virgules",
|
||||
"energy": "Énergie ? [{value}] — nombre de 1 à 5",
|
||||
"mood": "Météo ? [{value}] — clear / light / cloudy / rain / storm",
|
||||
"location": "Lieu ou contexte ? [{value}]",
|
||||
"taskId": "Tâche liée ? [{value}] — numéro, titre ou ID\n{tasks}",
|
||||
"controls": "Entrée garde la valeur affichée ; back/cancel pilote le parcours. Utilisez - pour vider un champ facultatif."
|
||||
},
|
||||
"goalCompleted": "Objectif terminé : {title}",
|
||||
"goalReopened": "Objectif rouvert : {title}",
|
||||
"confirmAnswer": "Tapez yes pour confirmer ou no pour annuler.",
|
||||
"flow": {
|
||||
"title": "Titre ? (obligatoire ; actuel : {value})",
|
||||
"description": "Description ? [{value}] (facultatif)",
|
||||
"targetDate": "Date cible ? [{value}] — YYYY-MM-DD, today ou tomorrow",
|
||||
"showOnDesktop": "Afficher le compte à rebours sur le bureau ? [{value}] — yes/no",
|
||||
"dueDate": "Échéance ? [{value}] — YYYY-MM-DD, today ou tomorrow",
|
||||
"goalId": "Lier à un objectif ? [{value}] — numéro, titre ou ID\n{items}",
|
||||
"priority": "Priorité ? [{value}] — high / normal / low",
|
||||
"pick": "Choisissez un(e) {kind} par numéro, titre, date ou ID :",
|
||||
"confirmDelete": "Supprimer {kind} : {title} ? Tapez yes ou no.",
|
||||
"confirmCreate": "Créer {kind} : {title} ? Tapez yes pour enregistrer ou no pour annuler.",
|
||||
"cancelled": "Opération annulée.",
|
||||
"deleted": "{kind} supprimé(e) : {title}"
|
||||
},
|
||||
"welcome": "Life OS v{version} · Terminal prêt.\nTapez help pour les commandes ou memory add pour créer un souvenir étape par étape.\ndate / time / status affichent des informations. Outils du navigateur : LifeOS.help().",
|
||||
"uptime": "Durée de session : {minutes} min {seconds} s",
|
||||
"status": "{memories} souvenirs · {goals} objectifs · {tasks} tâches",
|
||||
"consoleHelp": "Ouvrez la console du navigateur et utilisez LifeOS.help(), LifeOS.run(\"date\") ou LifeOS.run(\"memory add\"). Après les questions, utilisez LifeOS.note(\"votre note\") ; LifeOS.cancel() annule.",
|
||||
"consoleReady": "Console prête. Tapez LifeOS.help() pour voir les commandes.",
|
||||
"consoleNotePrompt": "Saisissez la note avec LifeOS.note(\"votre texte\") ou annulez avec LifeOS.cancel().",
|
||||
"noNote": "Aucune note en attente. Commencez avec LifeOS.run(\"memory add\").",
|
||||
"cleared": "Sortie du terminal effacée.",
|
||||
"pinNeedsDate": "Fixez une date cible avant d’afficher un compte à rebours."
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user