Compare commits

..

6 commits

7 changed files with 691 additions and 635 deletions

View file

@ -1,9 +1,9 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2023-02-28 01:45+0100\n"
"POT-Creation-Date: 2023-03-03 10:42+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: Benjamin Renard <brenard@zionetrix.net>\n"
"Last-Translator: Benjamin Renard <brenard@easter-eggs.com>\n"
"Language-Team: \n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
@ -12,6 +12,104 @@ msgstr ""
"X-Generator: Poedit 2.4.2\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: Tpl.php:420
msgid "No template specified."
msgstr "Aucun template spécifié."
#: Tpl.php:453
msgid "An error occurred while displaying this page."
msgstr "Une erreur est survenue en affichant cette page."
#: Db.php:74
msgid "Unable to connect to the database."
msgstr "Impossible de se connecter à la base de données."
#: Auth/Form.php:40
msgid "Invalid username or password."
msgstr "Nom d'utilisateur ou mot de passe invalide."
#: Auth/Form.php:72
msgid "Sign in"
msgstr "Connexion"
#: Auth/Http.php:37 Url.php:181
msgid "Authentication required"
msgstr "Authentification requise"
#: Auth/Http.php:124 Auth/Http.php:127 Url.php:185
msgid "Access denied"
msgstr "Accès interdit"
#: Auth/Http.php:128 Auth/Http.php:132
msgid "You must login to access this page."
msgstr "Vous devez vous connecter pour accéder à cette page."
#: Url.php:177
msgid "Bad request"
msgstr "Mauvaise requête"
#: Url.php:178
msgid "Invalid request."
msgstr "Requête invalide."
#: Url.php:182
msgid "You have to be authenticated to access to this page."
msgstr "Vous devez être authentifié pour accéder à cette page."
#: Url.php:186
msgid ""
"You do not have access to this application. If you think this is an error, "
"please contact support."
msgstr ""
"Vous n'avez pas accès à cette application. Si vous pensez qu'il s'agit d'une "
"erreur, merci de prendre contact avec le support."
#: Url.php:189
msgid "Whoops ! Page not found"
msgstr "Oups ! Page introuvable"
#: Url.php:190
msgid "The requested page can not be found."
msgstr "La page demandée est introuvable."
#: Url.php:198
msgid "Error"
msgstr "Erreur"
#: Url.php:199
msgid "An unknown error occurred. If problem persist, please contact support."
msgstr ""
"Une erreur inconnue est survenue. Si le problème persiste, merci de prendre "
"contact avec le support."
#: Url.php:262
msgid ""
"Unable to determine the requested page. If the problem persists, please "
"contact support."
msgstr ""
"Impossible de déterminer la page demandée. Si le problème persiste, merci de "
"prendre contact avec le support."
#: Url.php:416
msgid ""
"Unable to determine the requested page (loop detected). If the problem "
"persists, please contact support."
msgstr ""
"Impossible de déterminer la page demandée (boucle détectée). Si le problème "
"persiste, merci de prendre contact avec le support."
#: Url.php:446
msgid "This request cannot be processed."
msgstr "Cette requête ne peut être traitée."
#: Url.php:456
msgid "Authentication required but fail to authenticate you."
msgstr "Authentification requise mais impossible pour vous authentifier."
#: Url.php:475
msgid "This request could not be processed correctly."
msgstr "Cette requête n'a put être traitée correctement."
#: Cli.php:44
msgid "Create a new project using EesyPHP framework"
msgstr "Créer un nouveau projet utilisant le framework EesyPHP"
@ -64,18 +162,28 @@ msgid " --trace Trace mode (the most verbose)\n"
msgstr " --trace Mode trace (le plus verbeux)\n"
#: Cli.php:130
msgid " -l / --log-file Overwrite log file specified in configuration\n"
msgstr ""
" -l / --log-file Redéfinir le fichier de journalisation à utiliser à la "
"place de celui défini dans la configuration\n"
#: Cli.php:131
msgid " -C / --console Enable log on console\n"
msgstr " -C / --console Activer la journalisation dans la console\n"
#: Cli.php:132
msgid " command Command to run\n"
msgstr " command La commande à exécuter\n"
#: Cli.php:132
#: Cli.php:134
msgid "Available commands:\n"
msgstr "Commandes disponibles:\n"
#: Cli.php:182
#: Cli.php:184
msgid "Only one command could be executed !"
msgstr "Une seul commande peut-être exécutée !"
#: Cli.php:210
#: Cli.php:221
#, php-format
msgid ""
"Invalid parameter \"%s\".\n"
@ -85,12 +193,12 @@ msgstr ""
"Note : Les paramètres/arguments de la requête doivent être placés après "
"celle-ci."
#: Cli.php:235
#: Cli.php:246
#, php-format
msgid "An exception occured running command %s"
msgstr "Une exception est survenue en exécutant la commande %s"
#: Cli.php:296
#: Cli.php:307
msgid ""
"This command only accept one argument: the listen address in format \"host:"
"port\" or \":port\" (= 0.0.0.0:port)."
@ -98,19 +206,19 @@ msgstr ""
"Cette commande n'accepte qu'un seul paramètre : l'adresse d'écoute au format "
"\"hôte:port\" ou \":port\" (= 0.0.0.0:port)."
#: Cli.php:307
#: Cli.php:318
msgid ""
"Invalid listen address specify. Must be in formart host:port (or :port)."
msgstr ""
"Adresse d'écoute spécifiée invalide. Elle doit être au format hôte:port (ou :"
"port)."
#: Cli.php:317
#: Cli.php:328
msgid "Invalid listen host specified. Must be an IPv4 or IPv6 address."
msgstr ""
"Hôte d'écoute spécifié invalide. Il doit s'agir d'une adresse IPv4 ou IPv6."
#: Cli.php:324
#: Cli.php:335
msgid ""
"Invalid listen port specified. Must be a positive integer between 1 and "
"65535."
@ -118,46 +226,226 @@ msgstr ""
"Port d'écoute spécifié invalide. Il doit s'agir d'un entier positif entre 1 "
"et 65535."
#: Cli.php:354
#: Cli.php:365
msgid "Can't invoke bash. Can't ask password prompt."
msgstr ""
"Impossible d'utiliser bash. Impossible de demander à l'utilisateur de saisir "
"un mot de passe."
#: Cli.php:357
#: Cli.php:368
msgid "Please enter password:"
msgstr "Merci de saisir le mot de passe :"
#: Db.php:74
msgid "Unable to connect to the database."
msgstr "Impossible de se connecter à la base de données."
#: App.php:238 I18n.php:118
msgid "Hello world !"
msgstr "Bonjour tout le monde !"
#: Auth/Form.php:33
msgid "Invalid username or password."
msgstr "Nom d'utilisateur ou mot de passe invalide."
#: App.php:240
msgid "Hello world!"
msgstr "Salut tout le monde !"
#: Auth/Form.php:65
msgid "Sign in"
msgstr "Connexion"
#: App.php:251
msgid "Disconnected"
msgstr "Déconnecté"
#: Auth/Http.php:34 Url.php:177
msgid "Authentication required"
msgstr "Authentification requise"
#: App.php:253
msgid "You are now disconnected."
msgstr "Vous êtes maintenant déconnecté."
#: Auth/Http.php:115 Auth/Http.php:118 Url.php:181
msgid "Access denied"
msgstr "Accès interdit"
#: I18n.php:138
msgid "Extract messages that need to be translated"
msgstr "Extraire les messages devant être traduit"
#: Auth/Http.php:119 Auth/Http.php:123
msgid "You must login to access this page."
msgstr "Vous devez vous connecter pour accéder à cette page."
#: I18n.php:140
msgid ""
"This command could be used to generate/update locales/messages.pot file."
msgstr ""
"Cette commande peut-être utilisée pour générer/mettre à jour le fichier "
"locales/messages.pot."
#: Email.php:141
#: I18n.php:146
msgid "Update messages in translation PO lang files"
msgstr ""
"Mettre à jour les messages dans les fichiers de traduction PO existants"
#: I18n.php:148
msgid ""
"This command could be used to init/update PO files in locales/*/LC_MESSAGES "
"directories."
msgstr ""
"Cette commande peut-être utilisée pour initialiser/mettre à jour les "
"fichiers PO dans les dossiers locales/*/LC_MESSAGES."
#: I18n.php:155
msgid ""
"Compile messages from existing translation PO lang files to corresponding MO "
"files and JS catalogs"
msgstr ""
"Compiler les messages depuis les fichiers PO de traduction existants vers "
"les fichiers MO et les catalogues JS correspondant"
#: I18n.php:160
msgid ""
"This command could be used to compile PO files in locales/*/LC_MESSAGES "
"directories to MO files and as JS catalogs in locales directory."
msgstr ""
"Cette commande peut-être utilisée pour compiler les fichiers PO dans les "
"dossiers locales/*/LC_MESSAGES and les catalogues JS dans le dossier locales."
#: I18n.php:336
msgid "Fail to list EesyPHP PHP files."
msgstr "Une erreur est survenue en listant les fichiers PHP d'EesyPHP."
#: I18n.php:356
msgid "Fail to extract messages from EesyPHP PHP files using xgettext."
msgstr ""
"Une erreur est survenue en extrayant les messages depuis les fichiers PHP "
"d'EesyPHP en utilisant xgettext."
#: I18n.php:373
msgid "Fail to list application PHP files."
msgstr "Une erreur est survenue en listant les fichiers PHP de l'application."
#: I18n.php:393
msgid "Fail to extract messages from PHP files using xgettext."
msgstr ""
"Impossible d'extraire les messages depuis les fichiers PHP en utilisant "
"xgettext."
#: I18n.php:409
#, php-format
msgid "Fail to list JS files in the directory of static files '%s'."
msgstr ""
"Une erreur est survenue en listant les fichiers JS dans le dossier des "
"fichiers statiques '%s'."
#: I18n.php:431
#, php-format
msgid ""
"Fail to extract messages from JS files in the directory of static files '%s' "
"using xgettext."
msgstr ""
"Une erreur est survenue en extrayant les messages depuis les fichiers JS du "
"dossier des fichiers statiques '%s' en utilisant xgettext."
#: I18n.php:453
#, php-format
msgid ""
"Fail to extract messages from templates directory '%s' using tsmarty2c.php "
"script."
msgstr ""
"Impossible d'extraire les messages depuis le dossier de templates '%s' en "
"utilisant le script tsmarty2c.php."
#: I18n.php:489
msgid "Fail to merge messages using msgcat."
msgstr "Impossible de fusionner les messages en utilisant msgcat."
#: I18n.php:503
#, php-format
msgid "Compendium file %s not found."
msgstr "Fichier compendium %s introuvable."
#: I18n.php:514
#, php-format
msgid "POT file not found (%s). Please run extract_messages first."
msgstr ""
"Fichier POT introuvable (%s). Merci de lancer la commande extract_messages "
"pour commencer."
#: I18n.php:526 I18n.php:636
#, php-format
msgid "Lang directory '%s' found"
msgstr "Dossier de langue '%s' trouvé"
#: I18n.php:532 I18n.php:642
#, php-format
msgid "LC_MESSAGES directory not found in lang '%s' directory, ignore it."
msgstr ""
"Le dossier LC_MESSAGES est introuvable dans le dossier de langue '%s', on "
"l'ignore."
#: I18n.php:547
#, php-format
msgid "Fail to init messages in %s PO file using msginit (%s)."
msgstr ""
"Impossible d'initialiser les messages dans le fichier PO %s en utilisant "
"msginit (%s)."
#: I18n.php:565
#, php-format
msgid "Fail to update messages in %s PO file using msgmerge (%s)."
msgstr ""
"Impossible de mettre à jour les messages dans les fichiers PO %s en "
"utilisant msgmerge (%s)."
#: I18n.php:571 I18n.php:650
#, php-format
msgid "PO file not found in lang '%s' directory, ignore it."
msgstr ""
"Le fichier PO est introuvable dans le dossier de langue '%s', on l'ignore."
#: I18n.php:578 I18n.php:690
#, php-format
msgid "Fail to open root lang directory (%s)."
msgstr "Impossible d'ouvrir le dossier racine des langues (%s)."
#: I18n.php:606
#, php-format
msgid "Lang alias symlink found: %s -> %s"
msgstr "Lien symbolique d'alias de langue trouvé : %s -> %s"
#: I18n.php:613
#, php-format
msgid "JS catalog symlink for %s -> %s created (%s)"
msgstr "Lien symbolique de catalogue JS pour %s -> %s créé (%s)"
#: I18n.php:617
#, php-format
msgid "Fail to create JS catalog symlink for %s -> %s (%s)"
msgstr ""
"Impossible de créer le lien symbolique de catalogue JS pour %s -> %s (%s)"
#: I18n.php:623
#, php-format
msgid "JS catalog symlink for %s -> %s already exist (%s)"
msgstr "Le lien symbolique du catalogue JS pour %s -> %s existe déjà (%s)"
#: I18n.php:628
#, php-format
msgid "JS catalog file for %s already exist, but it's not a symlink to %s (%s)"
msgstr ""
"Le catalogue JS pour %s existe, mais il ne s'agit par d'un lien symbolique "
"vers %s (%s)"
#: I18n.php:663
#, php-format
msgid "Fail to compile messages from %s PO file as MO file using msgfmt (%s)."
msgstr ""
"Impossible de compiler les messages depuis le fichier PO %s en tant que "
"fichier MO en utilisant msgfmt (%s)."
#: I18n.php:673
#, php-format
msgid "Fail to open %s JS catalog file in write mode (%s)."
msgstr "Impossible d'ouvrir le catalogue JS %s en mode écriture (%s)."
#: I18n.php:678
#, php-format
msgid "Fail to write %s JS catalog in file (%s)."
msgstr "Impossible d'écrire le fichier du catalogue JS %s (%s)."
#: I18n.php:683
#, php-format
msgid "%s JS catalog writed (%s)."
msgstr "Catalogue JS %s créé (%s)."
#: Email.php:101
#, php-format
msgid "</hr><p><small>Mail initialy intended for %s.</small></p>"
msgstr "</hr><p><small>Email initialement destiné à %s.</small></p>"
#: Email.php:142
#: Email.php:102
#, php-format
msgid ""
"\n"
@ -170,12 +458,12 @@ msgstr ""
"\n"
"Mail originalement destiné à %s."
#: Email.php:178
#: Email.php:139
#, php-format
msgid "<p><small>%s: %s</small></p>"
msgstr "<p><small>%s: %s</small></p>"
#: Email.php:179
#: Email.php:140
#, php-format
msgid ""
"\n"
@ -184,284 +472,6 @@ msgstr ""
"\n"
"%s: %s"
#: Tpl.php:405
msgid "No template specified."
msgstr "Aucun template spécifié."
#: Tpl.php:438
msgid "An error occurred while displaying this page."
msgstr "Une erreur est survenue en affichant cette page."
#: Url.php:173
msgid "Bad request"
msgstr "Mauvaise requête"
#: Url.php:174
msgid "Invalid request."
msgstr "Requête invalide."
#: Url.php:178
msgid "You have to be authenticated to access to this page."
msgstr "Vous devez être authentifié pour accéder à cette page."
#: Url.php:182
msgid ""
"You do not have access to this application. If you think this is an error, "
"please contact support."
msgstr ""
"Vous n'avez pas accès à cette application. Si vous pensez qu'il s'agit d'une "
"erreur, merci de prendre contact avec le support."
#: Url.php:185
msgid "Whoops ! Page not found"
msgstr "Oups ! Page introuvable"
#: Url.php:186
msgid "The requested page can not be found."
msgstr "La page demandée est introuvable."
#: Url.php:194
msgid "Error"
msgstr "Erreur"
#: Url.php:195
msgid "An unknown error occurred. If problem persist, please contact support."
msgstr ""
"Une erreur inconnue est survenue. Si le problème persiste, merci de prendre "
"contact avec le support."
#: Url.php:258
msgid ""
"Unable to determine the requested page. If the problem persists, please "
"contact support."
msgstr ""
"Impossible de déterminer la page demandée. Si le problème persiste, merci de "
"prendre contact avec le support."
#: Url.php:412
msgid ""
"Unable to determine the requested page (loop detected). If the problem "
"persists, please contact support."
msgstr ""
"Impossible de déterminer la page demandée (boucle détectée). Si le problème "
"persiste, merci de prendre contact avec le support."
#: Url.php:442
msgid "This request cannot be processed."
msgstr "Cette requête ne peut être traitée."
#: Url.php:452
msgid "Authentication required but fail to authenticate you."
msgstr "Authentification requise mais impossible pour vous authentifier."
#: Url.php:461
msgid "This request could not be processed correctly."
msgstr "Cette requête n'a put être traitée correctement."
#: I18n.php:122 App.php:181
msgid "Hello world !"
msgstr "Bonjour tout le monde !"
#: I18n.php:142
msgid "Extract messages that need to be translated"
msgstr "Extraire les messages devant être traduit"
#: I18n.php:144
msgid ""
"This command could be used to generate/update locales/messages.pot file."
msgstr ""
"Cette commande peut-être utilisée pour générer/mettre à jour le fichier "
"locales/messages.pot."
#: I18n.php:150
msgid "Update messages in translation PO lang files"
msgstr ""
"Mettre à jour les messages dans les fichiers de traduction PO existants"
#: I18n.php:152
msgid ""
"This command could be used to init/update PO files in locales/*/LC_MESSAGES "
"directories."
msgstr ""
"Cette commande peut-être utilisée pour initialiser/mettre à jour les "
"fichiers PO dans les dossiers locales/*/LC_MESSAGES."
#: I18n.php:159
msgid ""
"Compile messages from existing translation PO lang files to corresponding MO "
"files and JS catalogs"
msgstr ""
"Compiler les messages depuis les fichiers PO de traduction existants vers "
"les fichiers MO et les catalogues JS correspondant"
#: I18n.php:164
msgid ""
"This command could be used to compile PO files in locales/*/LC_MESSAGES "
"directories to MO files and as JS catalogs in locales directory."
msgstr ""
"Cette commande peut-être utilisée pour compiler les fichiers PO dans les "
"dossiers locales/*/LC_MESSAGES and les catalogues JS dans le dossier locales."
#: I18n.php:340
msgid "Fail to list EesyPHP PHP files."
msgstr "Une erreur est survenue en listant les fichiers PHP d'EesyPHP."
#: I18n.php:360
msgid "Fail to extract messages from EesyPHP PHP files using xgettext."
msgstr ""
"Une erreur est survenue en extrayant les messages depuis les fichiers PHP "
"d'EesyPHP en utilisant xgettext."
#: I18n.php:377
msgid "Fail to list application PHP files."
msgstr "Une erreur est survenue en listant les fichiers PHP de l'application."
#: I18n.php:397
msgid "Fail to extract messages from PHP files using xgettext."
msgstr ""
"Impossible d'extraire les messages depuis les fichiers PHP en utilisant "
"xgettext."
#: I18n.php:413
#, php-format
msgid "Fail to list JS files in the directory of static files '%s'."
msgstr ""
"Une erreur est survenue en listant les fichiers JS dans le dossier des "
"fichiers statiques '%s'."
#: I18n.php:435
#, php-format
msgid ""
"Fail to extract messages from JS files in the directory of static files '%s' "
"using xgettext."
msgstr ""
"Une erreur est survenue en extrayant les messages depuis les fichiers JS du "
"dossier des fichiers statiques '%s' en utilisant xgettext."
#: I18n.php:457
#, php-format
msgid ""
"Fail to extract messages from templates directory '%s' using tsmarty2c.php "
"script."
msgstr ""
"Impossible d'extraire les messages depuis le dossier de templates '%s' en "
"utilisant le script tsmarty2c.php."
#: I18n.php:493
msgid "Fail to merge messages using msgcat."
msgstr "Impossible de fusionner les messages en utilisant msgcat."
#: I18n.php:507
#, php-format
msgid "Compendium file %s not found."
msgstr "Fichier compendium %s introuvable."
#: I18n.php:518
#, php-format
msgid "POT file not found (%s). Please run extract_messages first."
msgstr ""
"Fichier POT introuvable (%s). Merci de lancer la commande extract_messages "
"pour commencer."
#: I18n.php:530 I18n.php:640
#, php-format
msgid "Lang directory '%s' found"
msgstr "Dossier de langue '%s' trouvé"
#: I18n.php:536 I18n.php:646
#, php-format
msgid "LC_MESSAGES directory not found in lang '%s' directory, ignore it."
msgstr ""
"Le dossier LC_MESSAGES est introuvable dans le dossier de langue '%s', on "
"l'ignore."
#: I18n.php:551
#, php-format
msgid "Fail to init messages in %s PO file using msginit (%s)."
msgstr ""
"Impossible d'initialiser les messages dans le fichier PO %s en utilisant "
"msginit (%s)."
#: I18n.php:569
#, php-format
msgid "Fail to update messages in %s PO file using msgmerge (%s)."
msgstr ""
"Impossible de mettre à jour les messages dans les fichiers PO %s en "
"utilisant msgmerge (%s)."
#: I18n.php:575 I18n.php:654
#, php-format
msgid "PO file not found in lang '%s' directory, ignore it."
msgstr ""
"Le fichier PO est introuvable dans le dossier de langue '%s', on l'ignore."
#: I18n.php:582 I18n.php:694
#, php-format
msgid "Fail to open root lang directory (%s)."
msgstr "Impossible d'ouvrir le dossier racine des langues (%s)."
#: I18n.php:610
#, php-format
msgid "Lang alias symlink found: %s -> %s"
msgstr "Lien symbolique d'alias de langue trouvé : %s -> %s"
#: I18n.php:617
#, php-format
msgid "JS catalog symlink for %s -> %s created (%s)"
msgstr "Lien symbolique de catalogue JS pour %s -> %s créé (%s)"
#: I18n.php:621
#, php-format
msgid "Fail to create JS catalog symlink for %s -> %s (%s)"
msgstr ""
"Impossible de créer le lien symbolique de catalogue JS pour %s -> %s (%s)"
#: I18n.php:627
#, php-format
msgid "JS catalog symlink for %s -> %s already exist (%s)"
msgstr "Le lien symbolique du catalogue JS pour %s -> %s existe déjà (%s)"
#: I18n.php:632
#, php-format
msgid "JS catalog file for %s already exist, but it's not a symlink to %s (%s)"
msgstr ""
"Le catalogue JS pour %s existe, mais il ne s'agit par d'un lien symbolique "
"vers %s (%s)"
#: I18n.php:667
#, php-format
msgid "Fail to compile messages from %s PO file as MO file using msgfmt (%s)."
msgstr ""
"Impossible de compiler les messages depuis le fichier PO %s en tant que "
"fichier MO en utilisant msgfmt (%s)."
#: I18n.php:677
#, php-format
msgid "Fail to open %s JS catalog file in write mode (%s)."
msgstr "Impossible d'ouvrir le catalogue JS %s en mode écriture (%s)."
#: I18n.php:682
#, php-format
msgid "Fail to write %s JS catalog in file (%s)."
msgstr "Impossible d'écrire le fichier du catalogue JS %s (%s)."
#: I18n.php:687
#, php-format
msgid "%s JS catalog writed (%s)."
msgstr "Catalogue JS %s créé (%s)."
#: App.php:183
msgid "Hello world!"
msgstr "Salut tout le monde !"
#: App.php:194
msgid "Disconnected"
msgstr "Déconnecté"
#: App.php:196
msgid "You are now disconnected."
msgstr "Vous êtes maintenant déconnecté."
#: static/js/myconfirm.js:4 static/js/myconfirm.js:171
#: static/js/myconfirm.js:200
msgid "Confirmation"
@ -503,6 +513,18 @@ msgstr "Merci de patienter pendant le traitement de votre requête."
msgid "Are you sure?"
msgstr "Êtes-vous sure ?"
#: templates/login.tpl:9
msgid "Username"
msgstr "Nom d'utilisateur"
#: templates/login.tpl:13
msgid "Password"
msgstr "Mot de passe"
#: templates/login.tpl:16
msgid "Submit"
msgstr "Envoyer"
#: templates/fatal_error.tpl:3
msgid "Oops..."
msgstr "Oups..."
@ -524,6 +546,10 @@ msgstr "Erreur : %1"
msgid "Back"
msgstr "Retour"
#: templates/empty.tpl:60
msgid "Sign out"
msgstr "Déconnexion"
#: templates/homepage.tpl:5
msgid "Hello, world!"
msgstr "Bonjour tout le monde !"
@ -540,22 +566,6 @@ msgstr ""
"fichier <em>homepage.tpl</em> pour l'écraser. Vous pouvez également écraser "
"le gestionnaire de l'URL racine de l'application web."
#: templates/empty.tpl:60
msgid "Sign out"
msgstr "Déconnexion"
#: templates/login.tpl:9
msgid "Username"
msgstr "Nom d'utilisateur"
#: templates/login.tpl:13
msgid "Password"
msgstr "Mot de passe"
#: templates/login.tpl:16
msgid "Submit"
msgstr "Envoyer"
#~ msgid "Logout"
#~ msgstr "Déconnexion"

View file

@ -1,11 +1,101 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2023-02-28 01:45+0100\n"
"PO-Revision-Date: 2023-02-28 01:45+0100\n"
"POT-Creation-Date: 2023-03-03 10:42+0100\n"
"PO-Revision-Date: 2023-03-03 10:42+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: Tpl.php:420
msgid "No template specified."
msgstr ""
#: Tpl.php:453
msgid "An error occurred while displaying this page."
msgstr ""
#: Db.php:74
msgid "Unable to connect to the database."
msgstr ""
#: Auth/Form.php:40
msgid "Invalid username or password."
msgstr ""
#: Auth/Form.php:72
msgid "Sign in"
msgstr ""
#: Auth/Http.php:37 Url.php:181
msgid "Authentication required"
msgstr ""
#: Auth/Http.php:124 Auth/Http.php:127 Url.php:185
msgid "Access denied"
msgstr ""
#: Auth/Http.php:128 Auth/Http.php:132
msgid "You must login to access this page."
msgstr ""
#: Url.php:177
msgid "Bad request"
msgstr ""
#: Url.php:178
msgid "Invalid request."
msgstr ""
#: Url.php:182
msgid "You have to be authenticated to access to this page."
msgstr ""
#: Url.php:186
msgid ""
"You do not have access to this application. If you think this is an error, "
"please contact support."
msgstr ""
#: Url.php:189
msgid "Whoops ! Page not found"
msgstr ""
#: Url.php:190
msgid "The requested page can not be found."
msgstr ""
#: Url.php:198
msgid "Error"
msgstr ""
#: Url.php:199
msgid "An unknown error occurred. If problem persist, please contact support."
msgstr ""
#: Url.php:262
msgid ""
"Unable to determine the requested page. If the problem persists, please "
"contact support."
msgstr ""
#: Url.php:416
msgid ""
"Unable to determine the requested page (loop detected). If the problem "
"persists, please contact support."
msgstr ""
#: Url.php:446
msgid "This request cannot be processed."
msgstr ""
#: Url.php:456
msgid "Authentication required but fail to authenticate you."
msgstr ""
#: Url.php:475
msgid "This request could not be processed correctly."
msgstr ""
#: Cli.php:44
msgid "Create a new project using EesyPHP framework"
msgstr ""
@ -54,88 +144,243 @@ msgid " --trace Trace mode (the most verbose)\n"
msgstr ""
#: Cli.php:130
msgid " command Command to run\n"
msgid " -l / --log-file Overwrite log file specified in configuration\n"
msgstr ""
#: Cli.php:131
msgid " -C / --console Enable log on console\n"
msgstr ""
#: Cli.php:132
msgid " command Command to run\n"
msgstr ""
#: Cli.php:134
msgid "Available commands:\n"
msgstr ""
#: Cli.php:182
#: Cli.php:184
msgid "Only one command could be executed !"
msgstr ""
#: Cli.php:210
#: Cli.php:221
#, php-format
msgid ""
"Invalid parameter \"%s\".\n"
"Note: Command's parameter/argument must be place after the command."
msgstr ""
#: Cli.php:235
#: Cli.php:246
#, php-format
msgid "An exception occured running command %s"
msgstr ""
#: Cli.php:296
#: Cli.php:307
msgid ""
"This command only accept one argument: the listen address in format \"host:"
"port\" or \":port\" (= 0.0.0.0:port)."
msgstr ""
#: Cli.php:307
#: Cli.php:318
msgid ""
"Invalid listen address specify. Must be in formart host:port (or :port)."
msgstr ""
#: Cli.php:317
#: Cli.php:328
msgid "Invalid listen host specified. Must be an IPv4 or IPv6 address."
msgstr ""
#: Cli.php:324
#: Cli.php:335
msgid ""
"Invalid listen port specified. Must be a positive integer between 1 and "
"65535."
msgstr ""
#: Cli.php:354
#: Cli.php:365
msgid "Can't invoke bash. Can't ask password prompt."
msgstr ""
#: Cli.php:357
#: Cli.php:368
msgid "Please enter password:"
msgstr ""
#: Db.php:74
msgid "Unable to connect to the database."
#: App.php:238 I18n.php:118
msgid "Hello world !"
msgstr ""
#: Auth/Form.php:33
msgid "Invalid username or password."
#: App.php:240
msgid "Hello world!"
msgstr ""
#: Auth/Form.php:65
msgid "Sign in"
#: App.php:251
msgid "Disconnected"
msgstr ""
#: Auth/Http.php:34 Url.php:177
msgid "Authentication required"
#: App.php:253
msgid "You are now disconnected."
msgstr ""
#: Auth/Http.php:115 Auth/Http.php:118 Url.php:181
msgid "Access denied"
#: I18n.php:138
msgid "Extract messages that need to be translated"
msgstr ""
#: Auth/Http.php:119 Auth/Http.php:123
msgid "You must login to access this page."
#: I18n.php:140
msgid ""
"This command could be used to generate/update locales/messages.pot file."
msgstr ""
#: Email.php:141
#: I18n.php:146
msgid "Update messages in translation PO lang files"
msgstr ""
#: I18n.php:148
msgid ""
"This command could be used to init/update PO files in locales/*/LC_MESSAGES "
"directories."
msgstr ""
#: I18n.php:155
msgid ""
"Compile messages from existing translation PO lang files to corresponding MO "
"files and JS catalogs"
msgstr ""
#: I18n.php:160
msgid ""
"This command could be used to compile PO files in locales/*/LC_MESSAGES "
"directories to MO files and as JS catalogs in locales directory."
msgstr ""
#: I18n.php:336
msgid "Fail to list EesyPHP PHP files."
msgstr ""
#: I18n.php:356
msgid "Fail to extract messages from EesyPHP PHP files using xgettext."
msgstr ""
#: I18n.php:373
msgid "Fail to list application PHP files."
msgstr ""
#: I18n.php:393
msgid "Fail to extract messages from PHP files using xgettext."
msgstr ""
#: I18n.php:409
#, php-format
msgid "Fail to list JS files in the directory of static files '%s'."
msgstr ""
#: I18n.php:431
#, php-format
msgid ""
"Fail to extract messages from JS files in the directory of static files '%s' "
"using xgettext."
msgstr ""
#: I18n.php:453
#, php-format
msgid ""
"Fail to extract messages from templates directory '%s' using tsmarty2c.php "
"script."
msgstr ""
#: I18n.php:489
msgid "Fail to merge messages using msgcat."
msgstr ""
#: I18n.php:503
#, php-format
msgid "Compendium file %s not found."
msgstr ""
#: I18n.php:514
#, php-format
msgid "POT file not found (%s). Please run extract_messages first."
msgstr ""
#: I18n.php:526 I18n.php:636
#, php-format
msgid "Lang directory '%s' found"
msgstr ""
#: I18n.php:532 I18n.php:642
#, php-format
msgid "LC_MESSAGES directory not found in lang '%s' directory, ignore it."
msgstr ""
#: I18n.php:547
#, php-format
msgid "Fail to init messages in %s PO file using msginit (%s)."
msgstr ""
#: I18n.php:565
#, php-format
msgid "Fail to update messages in %s PO file using msgmerge (%s)."
msgstr ""
#: I18n.php:571 I18n.php:650
#, php-format
msgid "PO file not found in lang '%s' directory, ignore it."
msgstr ""
#: I18n.php:578 I18n.php:690
#, php-format
msgid "Fail to open root lang directory (%s)."
msgstr ""
#: I18n.php:606
#, php-format
msgid "Lang alias symlink found: %s -> %s"
msgstr ""
#: I18n.php:613
#, php-format
msgid "JS catalog symlink for %s -> %s created (%s)"
msgstr ""
#: I18n.php:617
#, php-format
msgid "Fail to create JS catalog symlink for %s -> %s (%s)"
msgstr ""
#: I18n.php:623
#, php-format
msgid "JS catalog symlink for %s -> %s already exist (%s)"
msgstr ""
#: I18n.php:628
#, php-format
msgid "JS catalog file for %s already exist, but it's not a symlink to %s (%s)"
msgstr ""
#: I18n.php:663
#, php-format
msgid "Fail to compile messages from %s PO file as MO file using msgfmt (%s)."
msgstr ""
#: I18n.php:673
#, php-format
msgid "Fail to open %s JS catalog file in write mode (%s)."
msgstr ""
#: I18n.php:678
#, php-format
msgid "Fail to write %s JS catalog in file (%s)."
msgstr ""
#: I18n.php:683
#, php-format
msgid "%s JS catalog writed (%s)."
msgstr ""
#: Email.php:101
#, php-format
msgid "</hr><p><small>Mail initialy intended for %s.</small></p>"
msgstr ""
#: Email.php:142
#: Email.php:102
#, php-format
msgid ""
"\n"
@ -144,255 +389,18 @@ msgid ""
"Mail initialy intended for %s."
msgstr ""
#: Email.php:178
#: Email.php:139
#, php-format
msgid "<p><small>%s: %s</small></p>"
msgstr ""
#: Email.php:179
#: Email.php:140
#, php-format
msgid ""
"\n"
"%s: %s"
msgstr ""
#: Tpl.php:405
msgid "No template specified."
msgstr ""
#: Tpl.php:438
msgid "An error occurred while displaying this page."
msgstr ""
#: Url.php:173
msgid "Bad request"
msgstr ""
#: Url.php:174
msgid "Invalid request."
msgstr ""
#: Url.php:178
msgid "You have to be authenticated to access to this page."
msgstr ""
#: Url.php:182
msgid ""
"You do not have access to this application. If you think this is an error, "
"please contact support."
msgstr ""
#: Url.php:185
msgid "Whoops ! Page not found"
msgstr ""
#: Url.php:186
msgid "The requested page can not be found."
msgstr ""
#: Url.php:194
msgid "Error"
msgstr ""
#: Url.php:195
msgid "An unknown error occurred. If problem persist, please contact support."
msgstr ""
#: Url.php:258
msgid ""
"Unable to determine the requested page. If the problem persists, please "
"contact support."
msgstr ""
#: Url.php:412
msgid ""
"Unable to determine the requested page (loop detected). If the problem "
"persists, please contact support."
msgstr ""
#: Url.php:442
msgid "This request cannot be processed."
msgstr ""
#: Url.php:452
msgid "Authentication required but fail to authenticate you."
msgstr ""
#: Url.php:461
msgid "This request could not be processed correctly."
msgstr ""
#: I18n.php:122 App.php:181
msgid "Hello world !"
msgstr ""
#: I18n.php:142
msgid "Extract messages that need to be translated"
msgstr ""
#: I18n.php:144
msgid ""
"This command could be used to generate/update locales/messages.pot file."
msgstr ""
#: I18n.php:150
msgid "Update messages in translation PO lang files"
msgstr ""
#: I18n.php:152
msgid ""
"This command could be used to init/update PO files in locales/*/LC_MESSAGES "
"directories."
msgstr ""
#: I18n.php:159
msgid ""
"Compile messages from existing translation PO lang files to corresponding MO "
"files and JS catalogs"
msgstr ""
#: I18n.php:164
msgid ""
"This command could be used to compile PO files in locales/*/LC_MESSAGES "
"directories to MO files and as JS catalogs in locales directory."
msgstr ""
#: I18n.php:340
msgid "Fail to list EesyPHP PHP files."
msgstr ""
#: I18n.php:360
msgid "Fail to extract messages from EesyPHP PHP files using xgettext."
msgstr ""
#: I18n.php:377
msgid "Fail to list application PHP files."
msgstr ""
#: I18n.php:397
msgid "Fail to extract messages from PHP files using xgettext."
msgstr ""
#: I18n.php:413
#, php-format
msgid "Fail to list JS files in the directory of static files '%s'."
msgstr ""
#: I18n.php:435
#, php-format
msgid ""
"Fail to extract messages from JS files in the directory of static files '%s' "
"using xgettext."
msgstr ""
#: I18n.php:457
#, php-format
msgid ""
"Fail to extract messages from templates directory '%s' using tsmarty2c.php "
"script."
msgstr ""
#: I18n.php:493
msgid "Fail to merge messages using msgcat."
msgstr ""
#: I18n.php:507
#, php-format
msgid "Compendium file %s not found."
msgstr ""
#: I18n.php:518
#, php-format
msgid "POT file not found (%s). Please run extract_messages first."
msgstr ""
#: I18n.php:530 I18n.php:640
#, php-format
msgid "Lang directory '%s' found"
msgstr ""
#: I18n.php:536 I18n.php:646
#, php-format
msgid "LC_MESSAGES directory not found in lang '%s' directory, ignore it."
msgstr ""
#: I18n.php:551
#, php-format
msgid "Fail to init messages in %s PO file using msginit (%s)."
msgstr ""
#: I18n.php:569
#, php-format
msgid "Fail to update messages in %s PO file using msgmerge (%s)."
msgstr ""
#: I18n.php:575 I18n.php:654
#, php-format
msgid "PO file not found in lang '%s' directory, ignore it."
msgstr ""
#: I18n.php:582 I18n.php:694
#, php-format
msgid "Fail to open root lang directory (%s)."
msgstr ""
#: I18n.php:610
#, php-format
msgid "Lang alias symlink found: %s -> %s"
msgstr ""
#: I18n.php:617
#, php-format
msgid "JS catalog symlink for %s -> %s created (%s)"
msgstr ""
#: I18n.php:621
#, php-format
msgid "Fail to create JS catalog symlink for %s -> %s (%s)"
msgstr ""
#: I18n.php:627
#, php-format
msgid "JS catalog symlink for %s -> %s already exist (%s)"
msgstr ""
#: I18n.php:632
#, php-format
msgid "JS catalog file for %s already exist, but it's not a symlink to %s (%s)"
msgstr ""
#: I18n.php:667
#, php-format
msgid "Fail to compile messages from %s PO file as MO file using msgfmt (%s)."
msgstr ""
#: I18n.php:677
#, php-format
msgid "Fail to open %s JS catalog file in write mode (%s)."
msgstr ""
#: I18n.php:682
#, php-format
msgid "Fail to write %s JS catalog in file (%s)."
msgstr ""
#: I18n.php:687
#, php-format
msgid "%s JS catalog writed (%s)."
msgstr ""
#: App.php:183
msgid "Hello world!"
msgstr ""
#: App.php:194
msgid "Disconnected"
msgstr ""
#: App.php:196
msgid "You are now disconnected."
msgstr ""
#: static/js/myconfirm.js:4 static/js/myconfirm.js:171
#: static/js/myconfirm.js:200
msgid "Confirmation"
@ -434,6 +442,18 @@ msgstr ""
msgid "Are you sure?"
msgstr ""
#: templates/login.tpl:9
msgid "Username"
msgstr ""
#: templates/login.tpl:13
msgid "Password"
msgstr ""
#: templates/login.tpl:16
msgid "Submit"
msgstr ""
#: templates/fatal_error.tpl:3
msgid "Oops..."
msgstr ""
@ -452,6 +472,10 @@ msgstr ""
msgid "Back"
msgstr ""
#: templates/empty.tpl:60
msgid "Sign out"
msgstr ""
#: templates/homepage.tpl:5
msgid "Hello, world!"
msgstr ""
@ -463,19 +487,3 @@ msgid ""
"it. You could also overwrite the URL handler for the root of the web "
"application."
msgstr ""
#: templates/empty.tpl:60
msgid "Sign out"
msgstr ""
#: templates/login.tpl:9
msgid "Username"
msgstr ""
#: templates/login.tpl:13
msgid "Password"
msgstr ""
#: templates/login.tpl:16
msgid "Submit"
msgstr ""

View file

@ -139,7 +139,8 @@ class App {
Config::loaded()?Config::get($key, $default, $cast, $split):$default,
$cast,
$split,
self :: $options
self :: $options,
array(self :: class, 'get')
);
}

View file

@ -127,6 +127,8 @@ class Cli {
echo I18n::_(" -h Show this message\n");
echo I18n::_(" -q / -d Quiet/Debug mode\n");
echo I18n::_(" --trace Trace mode (the most verbose)\n");
echo I18n::_(" -l / --log-file Overwrite log file specified in configuration\n");
echo I18n::_(" -C / --console Enable log on console\n");
echo I18n::_(" command Command to run\n");
echo "\n";
echo I18n::_("Available commands:\n");
@ -201,6 +203,15 @@ class Cli {
Log :: set_level('TRACE');
$log_level_set = true;
break;
case '-l':
case '--log-file':
$i++;
Log :: change_filepath($args[$i]);
break;
case '-C':
case '--console':
App :: set('log.cli_console', true);
break;
default:
if (self :: $command)
$command_args[] = $args[$i];

View file

@ -138,49 +138,63 @@ Class Config {
* @param bool $split If true, $cast=='array' and $value is a string, split
* the value by comma (optional, default: false)
* @param array|null $config Optional configuration to use instead of current loaded configuration
* @param callable|null $get Optional callable to get another value that will be used to replace
* variables references found in retreived value.
* @return mixed The configuration variable value
**/
public static function get($key, $default=null, $cast=null, $split=false, &$config=null) {
public static function get($key, $default=null, $cast=null, $split=false, &$config=null, $get=null) {
if (array_key_exists($key, self :: $extra_variables)) {
$value = self :: $extra_variables[$key];
}
else if (!is_array($config) && !self :: loaded()) {
Log :: fatal('Configuration not loaded (on getting %s)', $key);
Log :: fatal(
"Configuration not loaded (on getting %s):\n%s",
$key, Log :: get_debug_backtrace_context()
);
exit(1);
}
else {
$exploded_key = explode('.', $key);
if (!is_array($exploded_key)) return self :: replace_variables($default);
if (!is_array($exploded_key)) return self :: replace_variables($default, $get?$get:$config);
$value = is_array($config)?$config:self :: $config;
foreach ($exploded_key as $k) {
if (!is_array($value) || !isset($value[$k]))
return self :: replace_variables($default);
return self :: replace_variables($default, $get?$get:$config);
$value = $value[$k];
}
}
return self :: replace_variables(cast($value, $cast, $split));
return self :: replace_variables(cast($value, $cast, $split), $get?$get:$config);
}
/**
* Replace variable in specified value
* @param mixed $value
* @param array|callable|null $config Optional configuration to use to retreive variable reference
* value instead of current loaded configuration. Could be an
* array of configuration data or a callable that could be used
* as Config::get() to retreive the desired variable reference.
* @return mixed
*/
public static function replace_variables($value) {
public static function replace_variables($value, $config=null) {
if (is_array($value)) {
foreach(array_keys($value) as $key) {
if (is_string($value[$key]) || is_array($value[$key]))
$value[$key] = self :: replace_variables($value[$key]);
$value[$key] = self :: replace_variables($value[$key], $config);
}
}
else if (is_string($value)) {
$config = is_null($config)?self :: $config:$config;
$iteration = 0;
while (preg_match('/\$\{([^\}]+)\}/', $value, $m)) {
if ($iteration > 20) {
Log::fatal('Config::replace_variables(%s): max iteration reached');
return $value;
}
$value = str_replace($m[0], self :: get($m[1], '', 'string'), $value);
if (is_callable($config))
$replace_by = call_user_func($config, $m[1], '', 'string', false);
else
$replace_by = self :: get($m[1], '', 'string', false, $config);
$value = str_replace($m[0], $replace_by, $value);
$iteration++;
}
}
@ -221,7 +235,7 @@ Class Config {
}
for ($i=0; $i < count($exploded_key) - 1; $i++) {
$k = $exploded_key[$i];
if (!array_key_exists($k, $config))
if (!array_key_exists($k, $parent))
$parent[$k] = array();
$parent = &$parent[$k];
}

View file

@ -67,13 +67,14 @@ class Log {
'level' => 'WARNING',
'file_path' => null,
'cli_file_path' => '${log.file_path}',
'cli_console' => false,
'default_locale' => null,
'error_log_fallback' => true,
'php_errors_levels' => array(), // Depend of effective log level, see below
)
);
self :: $filepath = App::get(
php_sapi_name() == 'cli'?'log.cli_logfile_path':'log.file_path'
php_sapi_name() == 'cli'?'log.cli_file_path':'log.file_path'
);
// PHP error_log() fallback
@ -161,6 +162,12 @@ class Log {
);
$level = 'WARNING';
}
if (!self :: $level)
self :: $level = (
App::initialized()?
App::get('log.level', 'WARNING', 'string'):
'WARNING'
);
if (self :: $levels[$level] < self :: $levels[self :: $level]) return true;
if(self :: $filepath && is_null(self :: $file_fd)) {
self :: $file_fd = fopen(self :: $filepath, 'a');
@ -208,7 +215,12 @@ class Log {
fatal_error($message);
else
die("\n$message\n\n");
elseif (php_sapi_name() == "cli")
elseif (
self :: $file_fd // When no log file, message already printed on console by error_log()
&& php_sapi_name() == "cli"
&& App::initialized()
&& App::get('log.cli_console', null, 'bool')
)
echo $msg;
return true;