diff --git a/example/locales/eesyphp-messages.pot b/example/locales/eesyphp-messages.pot index 7bd55b3..46b5503 100644 --- a/example/locales/eesyphp-messages.pot +++ b/example/locales/eesyphp-messages.pot @@ -163,7 +163,8 @@ msgid "Extract messages that need to be translated" msgstr "" #: I18n.php:132 -msgid "This command could be used to generate/update lang/messages.pot file." +msgid "" +"This command could be used to generate/update locales/messages.pot file." msgstr "" #: I18n.php:138 @@ -172,20 +173,20 @@ msgstr "" #: I18n.php:140 msgid "" -"This command could be used to init/update PO files in lang/*/LC_MESSAGES " +"This command could be used to init/update PO files in locales/*/LC_MESSAGES " "directories." msgstr "" #: I18n.php:147 msgid "" "Compile messages from existing translation PO lang files to corresponding MO " -"files and JSON catalogs" +"files and JS catalogs" msgstr "" #: I18n.php:152 msgid "" -"This command could be used to compile PO files in lang/*/LC_MESSAGES " -"directories to MO files and as JSON catalogs in public_html/translations." +"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:277 @@ -274,23 +275,22 @@ msgstr "" #: I18n.php:538 #, php-format -msgid "JSON catalog symlink for %s -> %s created (%s)" +msgid "JS catalog symlink for %s -> %s created (%s)" msgstr "" #: I18n.php:542 #, php-format -msgid "Fail to create JSON catalog symlink for %s -> %s (%s)" +msgid "Fail to create JS catalog symlink for %s -> %s (%s)" msgstr "" #: I18n.php:548 #, php-format -msgid "JSON catalog symlink for %s -> %s already exist (%s)" +msgid "JS catalog symlink for %s -> %s already exist (%s)" msgstr "" #: I18n.php:553 #, php-format -msgid "" -"JSON catalog file for %s already exist, but it's not a symlink to %s (%s)" +msgid "JS catalog file for %s already exist, but it's not a symlink to %s (%s)" msgstr "" #: I18n.php:588 @@ -300,17 +300,17 @@ msgstr "" #: I18n.php:598 #, php-format -msgid "Fail to open %s JSON catalog file in write mode (%s)." +msgid "Fail to open %s JS catalog file in write mode (%s)." msgstr "" #: I18n.php:603 #, php-format -msgid "Fail to write %s JSON catalog in file (%s)." +msgid "Fail to write %s JS catalog in file (%s)." msgstr "" #: I18n.php:608 #, php-format -msgid "%s JSON catalog writed (%s)." +msgid "%s JS catalog writed (%s)." msgstr "" #: App.php:122 diff --git a/example/locales/fr_FR.UTF8.js b/example/locales/fr_FR.UTF8.js index ed05d8d..39337bf 100644 --- a/example/locales/fr_FR.UTF8.js +++ b/example/locales/fr_FR.UTF8.js @@ -1 +1 @@ -translations_data = {"messages":{"The CLI command '%s' already exists.":"La commande CLI '%s' n'existe pas.","The CLI command '%s' handler is not callable !":"La fonction impl\u00e9mentant la commande CLI '%s' n'est pas ex\u00e9cutable !","Usage: %s [-h] [-qd] command\n":"Utilisation: %s [-h] [-qd] commande\n"," -h Show this message\n":" -h Affiche ce message\n"," -q \/ -d Quiet\/Debug mode\n":" -q \/ -d Mode silencieux\/debug\n"," --trace Trace mode (the most verbose)\n":" --trace Mode trace (le plus verbeux)\n"," command Command to run\n":" command La commande \u00e0 ex\u00e9cuter\n","Available commands:\n":"Commandes disponibles:\n","Only one command could be executed !":"Une seul commande peut-\u00eatre ex\u00e9cut\u00e9e !","Invalid parameter \"%s\".\nNote: Command's parameter\/argument must be place after the command.":"Param\u00e8tre \"%s\" invalide.\nNote : Les param\u00e8tres\/arguments de la requ\u00eate doivent \u00eatre plac\u00e9s apr\u00e8s celle-ci.","An exception occured running command %s":"Une exception est survenue en ex\u00e9cutant la commande %s","Unable to connect to the database.":"Impossible de se connecter \u00e0 la base de donn\u00e9es.","<\/hr>

Mail initialy intended for %s.<\/small><\/p>":"<\/hr>

Email initialement destin\u00e9 \u00e0 %s.<\/small><\/p>","\n\n\nMail initialy intended for %s.":"\n\n\nMail originalement destin\u00e9 \u00e0 %s.","

%s: %s<\/small><\/p>":"

%s: %s<\/small><\/p>","\n%s: %s":"\n%s: %s","No template specified.":"Aucun template sp\u00e9cifi\u00e9.","An error occurred while displaying this page.":"Une erreur est survenue en affichant cette page.","Bad request":"Mauvaise requ\u00eate","Invalid request.":"Requ\u00eate invalide.","Authentication required":"Authentification requise","You have to be authenticated to access to this page.":"Vous devez \u00eatre authentifi\u00e9 pour acc\u00e9der \u00e0 cette page.","Access denied":"Acc\u00e8s interdit","You do not have access to this application. If you think this is an error, please contact support.":"Vous n'avez pas acc\u00e8s \u00e0 cette application. Si vous pensez qu'il s'agit d'une erreur, merci de prendre contact avec le support.","Whoops ! Page not found":"Oups ! Page introuvable","The requested page can not be found.":"La page demand\u00e9e est introuvable.","Error":"Erreur","An unknown error occurred. If problem persist, please contact support.":"Une erreur inconnue est survenue. Si le probl\u00e8me persiste, merci de prendre contact avec le support.","Unable to determine the requested page. If the problem persists, please contact support.":"Impossible de d\u00e9terminer la page demand\u00e9e. Si le probl\u00e8me persiste, merci de prendre contact avec le support.","Unable to determine the requested page (loop detected). If the problem persists, please contact support.":"Impossible de d\u00e9terminer la page demand\u00e9e (boucle d\u00e9tect\u00e9e). Si le probl\u00e8me persiste, merci de prendre contact avec le support.","This request cannot be processed.":"Cette requ\u00eate ne peut \u00eatre trait\u00e9e.","Authentication required but force_authentication function is not defined.":"Authentification requise mais la fonction force_authentication n'est pas d\u00e9finie.","This request could not be processed correctly.":"Cette requ\u00eate n'a put \u00eatre trait\u00e9e correctement.","Hello world !":"Bonjour tout le monde !","Extract messages that need to be translated":"Extraire les messages devant \u00eatre traduit","This command could be used to generate\/update lang\/messages.pot file.":"Cette commande peut-\u00eatre utilis\u00e9e pour g\u00e9n\u00e9rer\/mettre \u00e0 jour le fichier lang\/messages.pot.","Update messages in translation PO lang files":"Mettre \u00e0 jour les messages dans les fichiers de traduction PO existants","This command could be used to init\/update PO files in lang\/*\/LC_MESSAGES directories.":"Cette commande peut-\u00eatre utilis\u00e9e pour initialiser\/mettre \u00e0 jour les fichiers PO les dossiers lang\/*\/LC_MESSAGES.","Compile messages from existing translation PO lang files to corresponding MO files and JSON catalogs":"Compiler les messages depuis les fichiers PO de traduction existants vers les fichiers MO et les catalogues JSON correspondant","This command could be used to compile PO files in lang\/*\/LC_MESSAGES directories to MO files and as JSON catalogs in public_html\/translations.":"Cette commande peut-\u00eatre utilis\u00e9e pour compiler les fichiers PO dans les dossiers lang\/*\/LC_MESSAGES en fichiers MO and en tant que catalogues JSON dans public_html\/translations.","Fail to list EesyPHP PHP files.":"Une erreur est survenue en listant les fichiers PHP d'EesyPHP.","Fail to extract messages from EesyPHP PHP files using xgettext.":"Une erreur est survenue en extrayant les messages depuis les fichiers PHP d'EesyPHP en utilisant xgettext.","Fail to list application PHP files.":"Une erreur est survenue en listant les fichiers PHP de l'application.","Fail to extract messages from PHP files using xgettext.":"Impossible d'extraire les messages depuis les fichiers PHP en utilisant xgettext.","Fail to list JS files in the directory of static files '%s'.":"Une erreur est survenue en listant les fichiers JS dans le dossier des fichiers statiques '%s'.","Fail to extract messages from JS files in the directory of static files '%s' using xgettext.":"Une erreur est survenue en extrayant les messages depuis les fichiers JS du dossier des fichiers statiques '%s' en utilisant xgettext.","Fail to extract messages from templates directory '%s' using tsmarty2c.php script.":"Impossible d'extraire les messages depuis le dossier de templates '%s' en utilisant le script tsmarty2c.php.","Fail to merge messages using msgcat.":"Impossible de fusionner les messages en utilisant msgcat.","Compendium file %s not found.":"Fichier compendium %s introuvable.","POT file not found (%s). Please run extract_messages first.":"Fichier POT introuvable (%s). Merci de lancer la commande extract_messages pour commencer.","Lang directory '%s' found":"Dossier de langue '%s' trouv\u00e9","LC_MESSAGES directory not found in lang '%s' directory, ignore it.":"Le dossier LC_MESSAGES est introuvable dans le dossier de langue '%s', on l'ignore.","Fail to init messages in %s PO file using msginit (%s).":"Impossible d'initialiser les messages dans le fichier PO %s en utilisant msginit (%s).","Fail to update messages in %s PO file using msgmerge (%s).":"Impossible de mettre \u00e0 jour les messages dans les fichiers PO %s en utilisant msgmerge (%s).","PO file not found in lang '%s' directory, ignore it.":"Le fichier PO est introuvable dans le dossier de langue '%s', on l'ignore.","Fail to open root lang directory (%s).":"Impossible d'ouvrir le dossier racine des langues (%s).","Lang alias symlink found: %s -> %s":"Lien symbolique d'alias de langue trouv\u00e9 : %s -> %s","JSON catalog symlink for %s -> %s created (%s)":"Lien symbolique de catalogue JSON pour %s -> %s cr\u00e9\u00e9 (%s)","Fail to create JSON catalog symlink for %s -> %s (%s)":"Impossible de cr\u00e9er le lien symbolique de catalogue JSON pour %s -> %s (%s)","JSON catalog symlink for %s -> %s already exist (%s)":"Le lien symbolique du catalogue JSON pour %s -> %s existe d\u00e9j\u00e0 (%s)","JSON catalog file for %s already exist, but it's not a symlink to %s (%s)":"Le catalogue JSON pour %s existe, mais il ne s'agit par d'un lien symbolique vers %s (%s)","Fail to compile messages from %s PO file as MO file using msgfmt (%s).":"Impossible de compiler les messages depuis le fichier PO %s en tant que fichier MO en utilisant msgfmt (%s).","Fail to open %s JSON catalog file in write mode (%s).":"Impossible d'ouvrir le catalogue JSON %s en mode \u00e9criture (%s).","Fail to write %s JSON catalog in file (%s).":"Impossible d'\u00e9crire le fichier du catalogue JSON %s (%s).","%s JSON catalog writed (%s).":"Catalogue JSON %s cr\u00e9\u00e9 (%s).","Hello world!":"Salut tout le monde !","Item #%s:\n":"\u00c9l\u00e9ment #%s :\n","ID: %s":"ID : %s","Name: '%s'":"Nom : %s","Date: %s":"Date : %s","Description: %s":"Description : %s","Not set":"Non-d\u00e9fini","Status: %s":"Statut : %s","No item.\n":"Aucun \u00e9l\u00e9ment.\n","%d item(s)":"%d \u00e9l\u00e9ment(s)","List\/search items":"Lister\/rechercher les \u00e9l\u00e9ments","[patterns]":"[mots cl\u00e9s]","-o|--orderby Ordering list criterion. Possible values:":"-o|--orderby Crit\u00e8re de tri de la liste. Valeurs possibles :","-r|--reverse Reverse order":"-r|--reverse Ordre inverse","-s|--status Filter on status. Possible values:":"-s|--status Filtrer sur le statut. Valeurs possibles :","You must provide a valid ID.":"Vous devez fournir un ID valide.","Item #%s not found.":"\u00c9l\u00e9ment #%s introuvable.","Show item":"Voir un \u00e9l\u00e9ment","[ID]":"[ID]","You must provide item ID.":"Vous devez fournir un ID valide.","Invalid item ID":"ID d'\u00e9l\u00e9ment invalide","Are you sure you want to delete this item? Type 'yes' to continue: ":"\u00cates-vous s\u00fbre de vouloir supprimer cet \u00e9l\u00e9ment ? Taper 'yes' pour continuer : ","User cancel":"L'utilisateur a annul\u00e9","An error occured deleting item #%d.":"Une erreur est survenue en supprimant l'\u00e9l\u00e9ment #%d.","Delete item":"Supprimer un \u00e9l\u00e9ment","[item ID]":"[ID de l'\u00e9l\u00e9ment]","Export items (as CSV)":"Exporter les \u00e9l\u00e9ments (au format CSV)","[output file path]":"[chemin du fichier de sortie]","Restore items (from CSV)":"Restaurer les \u00e9l\u00e9ments (depuis un fichier CSV)","[input file path]":"[chemin du fichier d'entr\u00e9e]","Cron to handle item expiration":"Cron g\u00e9rant l'expiration des \u00e9l\u00e9ments","-j\/--just-try Just-try mode : do not really removed expired item(s)":"-j\/--just-try Mode just-try : Ne supprime pas r\u00e9ellement les \u00e9l\u00e9ments expir\u00e9s","-m\/--max-age Item expiration limit (in days, optional)":"-m\/--max-age Limite d'expiration des \u00e9l\u00e9ments (en secondes, optionnel)","Invalid element identifier.":"Identifiant d'\u00e9l\u00e9ment invalide.","Item #% s not found.":"L'\u00e9l\u00e9ment #%s est introuvable.","Pending":"En attente","Validated":"Valid\u00e9","Refused":"Refus\u00e9","Archived":"Archiv\u00e9","Any":"Peu importe","An error occurred while listing the items. If the problem persists, please contact support.":"Une erreur est survenue en listant les \u00e9l\u00e9ments. Si le probl\u00e8me persiste, merci de prendre contact avec le support.","Search":"Rechercher","Element %s":"\u00c9l\u00e9ment %s","The element '% s' has been created.":"L'\u00e9l\u00e9ment '%s' a bien \u00e9t\u00e9 cr\u00e9\u00e9.","An error occurred while saving this item.":"Une erreur est survenue en enregistrant cet \u00e9l\u00e9ment.","There are errors preventing this item from being saved. Please correct them before attempting to add this item.":"Des erreurs emp\u00eachent l'enregistrement de cet \u00e9l\u00e9ment. Merci de les corriger avant de tenter d'ajouter cet \u00e9l\u00e9ment.","New":"Nouveau","You cannot edit this item.":"Vous ne pouvez pas modifier cet \u00e9l\u00e9ment.","You have not made any changes to element '% s'.":"Vous n'avez apport\u00e9 aucune modification \u00e0 l'\u00e9l\u00e9ment '%s'.","The element '% s' has been updated successfully.":"L'\u00e9l\u00e9ment '%s' a bien \u00e9t\u00e9 mise \u00e0 jour.","An error occurred while updating this item.":"Une erreur est survenue en mettant \u00e0 jour cet \u00e9l\u00e9ment.","There are errors preventing this item from being saved. Please correct them before attempting to save your changes.":"Des erreurs emp\u00eachent l'enregistrement de cet \u00e9l\u00e9ment. Merci de les corriger avant de tenter d'enregistrer vos modifications.","Element %s: Modification":"\u00c9l\u00e9ment %s : Modification","This item is already archived.":"Cet \u00e9l\u00e9ment est d\u00e9j\u00e0 archiv\u00e9.","You cannot archive this item.":"Vous ne pouvez pas archiver cet \u00e9l\u00e9ment.","The element '% s' has been archived successfully.":"L'\u00e9l\u00e9ment '%s' a bien \u00e9t\u00e9 archiv\u00e9.","An error occurred while archiving this item.":"Une erreur est survenue en archivant cet \u00e9l\u00e9ment.","You cannot delete this item.":"Vous ne pouvez pas supprimer cet \u00e9l\u00e9ment.","The element '% s' has been deleted successfully.":"L'\u00e9l\u00e9ment '%s' a bien \u00e9t\u00e9 supprim\u00e9.","An error occurred while deleting this item.":"Une erreur est survenue en supprimant cet \u00e9l\u00e9ment.","Confirmation":"Confirmation","Do you confirm?":"Confirmez-vous ?","Cancel":"Annuler","Validate":"Valider","OK":"OK","Question":"Question","Please enter your answer below:":"Merci de saisir vos r\u00e9ponses ci-dessous :","Please wait":"Merci de patienter","Please wait while your request is being processed.":"Merci de patienter pendant le traitement de votre requ\u00eate.","Are you sure?":"\u00cates-vous sure ?","Name":"Nom","Creation date":"Date de cr\u00e9ation","Status":"Statut","Description":"Description","Unspecified.":"Non-sp\u00e9cifi\u00e9.","Back":"Retour","Modify":"Modifier","Are you sure you want to archive this item?":"\u00cates-vous s\u00fbre de vouloir archiver cet \u00e9l\u00e9ment ?","Archive":"Archiver","Are you sure you want to delete this item?":"\u00cates-vous s\u00fbre de vouloir supprimer cet \u00e9l\u00e9ment ?","Delete":"Supprimer","Pattern":"Mot cl\u00e9","Nb by page":"Nb par page","Reset":"R\u00e9initialiser","Add":"Ajouter","Date":"Date","Actions":"Actions","View":"Voir","No item found.":"Aucun \u00e9l\u00e9ment trouv\u00e9.","%3 element":[null,"Elements %1 to %2 on %3"],"Hello, world!":"Bonjour tout le monde !","This is a simple app to show the different possibilities and basic functionality.":"Ceci est une simple application pour montrer les diff\u00e9rentes possibilit\u00e9s et les fonctionnalit\u00e9s de base.","This app contains some demo pages:":"Cette application contient quelques pages de d\u00e9mo :","Search page":"Page de recherche","Save":"Enregistrer","A fatal error has occurred and it is preventing this application from working properly. Please try again later or contact support.":"Une erreur fatale est survenue et celle-ci emp\u00eache cette application de fonctionner correctement. Merci de r\u00e9essayer ult\u00e9rieurement ou de prendre contact avec le service support.","Error: %1":"Erreur : %1","This is the default page of a new app using EesyPHP framework. Register your own templates directory and create a homepage.tpl<\/em> file to overwrite it. You could also overwrite the URL handler for the root of the web application.":"Il s'agit de la page par d\u00e9faut d'une nouvelle application utilisant le framework EesyPHP. Configurez votre propre dossier de templates et cr\u00e9er le fichier homepage.tpl<\/em> pour l'\u00e9craser. Vous pouvez \u00e9galement \u00e9craser le gestionnaire de l'URL racine de l'application web.","Fail to list JS files in '%s' static directory.":"Une erreur est survenue en listant les fichiers JS dans le dossier des fichiers statiques '%s'.","Fail to extract messages from JS files in '%s' static directory using xgettext.":"Impossible d'extraire les messages depuis les fichiers JS dans le dossier des fichiers statiques '%s' en utilisant xgettext.","Smarty version not supported.":"Une erreur est survenue en affichant cette page.","An error occurred while viewing this page.":"Une erreur est survenue en affichant cette page.","Fail to list PHP files.":"Impossible de lister les fichiers PHP.","Fail to list JS files.":"Impossible de lister les fichiers JS.","Fail to extract messages from JS files using xgettext.":"Impossible d'extraire les messages depuis les fichiers JS en utilisant xgettext.","Fail to extract messages from template files using tsmarty2c.php script.":"Impossible d'extraire les messages depuis les fichiers template en utilisant le script tsmarty2c.php.","Update messages in existing translation PO lang files":"Mettre \u00e0 jour les messages dans les fichiers de traduction PO existants","This command could be used to update PO files in lang\/*\/LC_MESSAGES directories.":"Cette commande peut-\u00eatre utilis\u00e9e pour mettre \u00e0 jour les fichiers PO les dossiers lang\/*\/LC_MESSAGES.","Compile messages from existing translation PO lang files to corresponding MO files":"Compiler les messages depuis les fichiers PO de traduction existants vers les fichiers MO correspondant","This command could be used to compile PO files in lang\/*\/LC_MESSAGES directories to MO files.":"Cette commande peut-\u00eatre utilis\u00e9e pour compiler les fichiers PO dans les dossiers lang\/*\/LC_MESSAGES en fichiers MO.","Element(s) %1 to %2 on %3":"\u00c9l\u00e9ment(s) %1 \u00e0 %2 sur %3"},"locale":"fr_FR.UTF8","domain":"DEFAULT","plural_expr":"(n > 1)"}; \ No newline at end of file +translations_data = {"messages":{"The CLI command '%s' already exists.":"La commande CLI '%s' n'existe pas.","The CLI command '%s' handler is not callable !":"La fonction impl\u00e9mentant la commande CLI '%s' n'est pas ex\u00e9cutable !","Usage: %s [-h] [-qd] command\n":"Utilisation: %s [-h] [-qd] commande\n"," -h Show this message\n":" -h Affiche ce message\n"," -q \/ -d Quiet\/Debug mode\n":" -q \/ -d Mode silencieux\/debug\n"," --trace Trace mode (the most verbose)\n":" --trace Mode trace (le plus verbeux)\n"," command Command to run\n":" command La commande \u00e0 ex\u00e9cuter\n","Available commands:\n":"Commandes disponibles:\n","Only one command could be executed !":"Une seul commande peut-\u00eatre ex\u00e9cut\u00e9e !","Invalid parameter \"%s\".\nNote: Command's parameter\/argument must be place after the command.":"Param\u00e8tre \"%s\" invalide.\nNote : Les param\u00e8tres\/arguments de la requ\u00eate doivent \u00eatre plac\u00e9s apr\u00e8s celle-ci.","An exception occured running command %s":"Une exception est survenue en ex\u00e9cutant la commande %s","Unable to connect to the database.":"Impossible de se connecter \u00e0 la base de donn\u00e9es.","<\/hr>

Mail initialy intended for %s.<\/small><\/p>":"<\/hr>

Email initialement destin\u00e9 \u00e0 %s.<\/small><\/p>","\n\n\nMail initialy intended for %s.":"\n\n\nMail originalement destin\u00e9 \u00e0 %s.","

%s: %s<\/small><\/p>":"

%s: %s<\/small><\/p>","\n%s: %s":"\n%s: %s","No template specified.":"Aucun template sp\u00e9cifi\u00e9.","An error occurred while displaying this page.":"Une erreur est survenue en affichant cette page.","Bad request":"Mauvaise requ\u00eate","Invalid request.":"Requ\u00eate invalide.","Authentication required":"Authentification requise","You have to be authenticated to access to this page.":"Vous devez \u00eatre authentifi\u00e9 pour acc\u00e9der \u00e0 cette page.","Access denied":"Acc\u00e8s interdit","You do not have access to this application. If you think this is an error, please contact support.":"Vous n'avez pas acc\u00e8s \u00e0 cette application. Si vous pensez qu'il s'agit d'une erreur, merci de prendre contact avec le support.","Whoops ! Page not found":"Oups ! Page introuvable","The requested page can not be found.":"La page demand\u00e9e est introuvable.","Error":"Erreur","An unknown error occurred. If problem persist, please contact support.":"Une erreur inconnue est survenue. Si le probl\u00e8me persiste, merci de prendre contact avec le support.","Unable to determine the requested page. If the problem persists, please contact support.":"Impossible de d\u00e9terminer la page demand\u00e9e. Si le probl\u00e8me persiste, merci de prendre contact avec le support.","Unable to determine the requested page (loop detected). If the problem persists, please contact support.":"Impossible de d\u00e9terminer la page demand\u00e9e (boucle d\u00e9tect\u00e9e). Si le probl\u00e8me persiste, merci de prendre contact avec le support.","This request cannot be processed.":"Cette requ\u00eate ne peut \u00eatre trait\u00e9e.","Authentication required but force_authentication function is not defined.":"Authentification requise mais la fonction force_authentication n'est pas d\u00e9finie.","This request could not be processed correctly.":"Cette requ\u00eate n'a put \u00eatre trait\u00e9e correctement.","Hello world !":"Bonjour tout le monde !","Extract messages that need to be translated":"Extraire les messages devant \u00eatre traduit","This command could be used to generate\/update locales\/messages.pot file.":"Cette commande peut-\u00eatre utilis\u00e9e pour g\u00e9n\u00e9rer\/mettre \u00e0 jour le fichier locales\/messages.pot.","Update messages in translation PO lang files":"Mettre \u00e0 jour les messages dans les fichiers de traduction PO existants","This command could be used to init\/update PO files in locales\/*\/LC_MESSAGES directories.":"Cette commande peut-\u00eatre utilis\u00e9e pour initialiser\/mettre \u00e0 jour les fichiers PO dans les dossiers locales\/*\/LC_MESSAGES.","Compile messages from existing translation PO lang files to corresponding MO files and JS catalogs":"Compiler les messages depuis les fichiers PO de traduction existants vers les fichiers MO et les catalogues JS correspondant","This command could be used to compile PO files in locales\/*\/LC_MESSAGES directories to MO files and as JS catalogs in locales directory.":"Cette commande peut-\u00eatre utilis\u00e9e pour compiler les fichiers PO dans les dossiers locales\/*\/LC_MESSAGES and les catalogues JS dans le dossier locales.","Fail to list EesyPHP PHP files.":"Une erreur est survenue en listant les fichiers PHP d'EesyPHP.","Fail to extract messages from EesyPHP PHP files using xgettext.":"Une erreur est survenue en extrayant les messages depuis les fichiers PHP d'EesyPHP en utilisant xgettext.","Fail to list application PHP files.":"Une erreur est survenue en listant les fichiers PHP de l'application.","Fail to extract messages from PHP files using xgettext.":"Impossible d'extraire les messages depuis les fichiers PHP en utilisant xgettext.","Fail to list JS files in the directory of static files '%s'.":"Une erreur est survenue en listant les fichiers JS dans le dossier des fichiers statiques '%s'.","Fail to extract messages from JS files in the directory of static files '%s' using xgettext.":"Une erreur est survenue en extrayant les messages depuis les fichiers JS du dossier des fichiers statiques '%s' en utilisant xgettext.","Fail to extract messages from templates directory '%s' using tsmarty2c.php script.":"Impossible d'extraire les messages depuis le dossier de templates '%s' en utilisant le script tsmarty2c.php.","Fail to merge messages using msgcat.":"Impossible de fusionner les messages en utilisant msgcat.","Compendium file %s not found.":"Fichier compendium %s introuvable.","POT file not found (%s). Please run extract_messages first.":"Fichier POT introuvable (%s). Merci de lancer la commande extract_messages pour commencer.","Lang directory '%s' found":"Dossier de langue '%s' trouv\u00e9","LC_MESSAGES directory not found in lang '%s' directory, ignore it.":"Le dossier LC_MESSAGES est introuvable dans le dossier de langue '%s', on l'ignore.","Fail to init messages in %s PO file using msginit (%s).":"Impossible d'initialiser les messages dans le fichier PO %s en utilisant msginit (%s).","Fail to update messages in %s PO file using msgmerge (%s).":"Impossible de mettre \u00e0 jour les messages dans les fichiers PO %s en utilisant msgmerge (%s).","PO file not found in lang '%s' directory, ignore it.":"Le fichier PO est introuvable dans le dossier de langue '%s', on l'ignore.","Fail to open root lang directory (%s).":"Impossible d'ouvrir le dossier racine des langues (%s).","Lang alias symlink found: %s -> %s":"Lien symbolique d'alias de langue trouv\u00e9 : %s -> %s","JS catalog symlink for %s -> %s created (%s)":"Lien symbolique de catalogue JS pour %s -> %s cr\u00e9\u00e9 (%s)","Fail to create JS catalog symlink for %s -> %s (%s)":"Impossible de cr\u00e9er le lien symbolique de catalogue JS pour %s -> %s (%s)","JS catalog symlink for %s -> %s already exist (%s)":"Le lien symbolique du catalogue JS pour %s -> %s existe d\u00e9j\u00e0 (%s)","JS catalog file for %s already exist, but it's not a symlink to %s (%s)":"Le catalogue JS pour %s existe, mais il ne s'agit par d'un lien symbolique vers %s (%s)","Fail to compile messages from %s PO file as MO file using msgfmt (%s).":"Impossible de compiler les messages depuis le fichier PO %s en tant que fichier MO en utilisant msgfmt (%s).","Fail to open %s JS catalog file in write mode (%s).":"Impossible d'ouvrir le catalogue JS %s en mode \u00e9criture (%s).","Fail to write %s JS catalog in file (%s).":"Impossible d'\u00e9crire le fichier du catalogue JS %s (%s).","%s JS catalog writed (%s).":"Catalogue JS %s cr\u00e9\u00e9 (%s).","Hello world!":"Salut tout le monde !","Item #%s:\n":"\u00c9l\u00e9ment #%s :\n","ID: %s":"ID : %s","Name: '%s'":"Nom : %s","Date: %s":"Date : %s","Description: %s":"Description : %s","Not set":"Non-d\u00e9fini","Status: %s":"Statut : %s","No item.\n":"Aucun \u00e9l\u00e9ment.\n","%d item(s)":"%d \u00e9l\u00e9ment(s)","List\/search items":"Lister\/rechercher les \u00e9l\u00e9ments","[patterns]":"[mots cl\u00e9s]","-o|--orderby Ordering list criterion. Possible values:":"-o|--orderby Crit\u00e8re de tri de la liste. Valeurs possibles :","-r|--reverse Reverse order":"-r|--reverse Ordre inverse","-s|--status Filter on status. Possible values:":"-s|--status Filtrer sur le statut. Valeurs possibles :","You must provide a valid ID.":"Vous devez fournir un ID valide.","Item #%s not found.":"\u00c9l\u00e9ment #%s introuvable.","Show item":"Voir un \u00e9l\u00e9ment","[ID]":"[ID]","You must provide item ID.":"Vous devez fournir un ID valide.","Invalid item ID":"ID d'\u00e9l\u00e9ment invalide","Are you sure you want to delete this item? Type 'yes' to continue: ":"\u00cates-vous s\u00fbre de vouloir supprimer cet \u00e9l\u00e9ment ? Taper 'yes' pour continuer : ","User cancel":"L'utilisateur a annul\u00e9","An error occured deleting item #%d.":"Une erreur est survenue en supprimant l'\u00e9l\u00e9ment #%d.","Delete item":"Supprimer un \u00e9l\u00e9ment","[item ID]":"[ID de l'\u00e9l\u00e9ment]","Export items (as CSV)":"Exporter les \u00e9l\u00e9ments (au format CSV)","[output file path]":"[chemin du fichier de sortie]","Restore items (from CSV)":"Restaurer les \u00e9l\u00e9ments (depuis un fichier CSV)","[input file path]":"[chemin du fichier d'entr\u00e9e]","Cron to handle item expiration":"Cron g\u00e9rant l'expiration des \u00e9l\u00e9ments","-j\/--just-try Just-try mode : do not really removed expired item(s)":"-j\/--just-try Mode just-try : Ne supprime pas r\u00e9ellement les \u00e9l\u00e9ments expir\u00e9s","-m\/--max-age Item expiration limit (in days, optional)":"-m\/--max-age Limite d'expiration des \u00e9l\u00e9ments (en secondes, optionnel)","Invalid element identifier.":"Identifiant d'\u00e9l\u00e9ment invalide.","Item #% s not found.":"L'\u00e9l\u00e9ment #%s est introuvable.","Pending":"En attente","Validated":"Valid\u00e9","Refused":"Refus\u00e9","Archived":"Archiv\u00e9","Any":"Peu importe","An error occurred while listing the items. If the problem persists, please contact support.":"Une erreur est survenue en listant les \u00e9l\u00e9ments. Si le probl\u00e8me persiste, merci de prendre contact avec le support.","Search":"Rechercher","Element %s":"\u00c9l\u00e9ment %s","The element '% s' has been created.":"L'\u00e9l\u00e9ment '%s' a bien \u00e9t\u00e9 cr\u00e9\u00e9.","An error occurred while saving this item.":"Une erreur est survenue en enregistrant cet \u00e9l\u00e9ment.","There are errors preventing this item from being saved. Please correct them before attempting to add this item.":"Des erreurs emp\u00eachent l'enregistrement de cet \u00e9l\u00e9ment. Merci de les corriger avant de tenter d'ajouter cet \u00e9l\u00e9ment.","New":"Nouveau","You cannot edit this item.":"Vous ne pouvez pas modifier cet \u00e9l\u00e9ment.","You have not made any changes to element '% s'.":"Vous n'avez apport\u00e9 aucune modification \u00e0 l'\u00e9l\u00e9ment '%s'.","The element '% s' has been updated successfully.":"L'\u00e9l\u00e9ment '%s' a bien \u00e9t\u00e9 mise \u00e0 jour.","An error occurred while updating this item.":"Une erreur est survenue en mettant \u00e0 jour cet \u00e9l\u00e9ment.","There are errors preventing this item from being saved. Please correct them before attempting to save your changes.":"Des erreurs emp\u00eachent l'enregistrement de cet \u00e9l\u00e9ment. Merci de les corriger avant de tenter d'enregistrer vos modifications.","Element %s: Modification":"\u00c9l\u00e9ment %s : Modification","This item is already archived.":"Cet \u00e9l\u00e9ment est d\u00e9j\u00e0 archiv\u00e9.","You cannot archive this item.":"Vous ne pouvez pas archiver cet \u00e9l\u00e9ment.","The element '% s' has been archived successfully.":"L'\u00e9l\u00e9ment '%s' a bien \u00e9t\u00e9 archiv\u00e9.","An error occurred while archiving this item.":"Une erreur est survenue en archivant cet \u00e9l\u00e9ment.","You cannot delete this item.":"Vous ne pouvez pas supprimer cet \u00e9l\u00e9ment.","The element '% s' has been deleted successfully.":"L'\u00e9l\u00e9ment '%s' a bien \u00e9t\u00e9 supprim\u00e9.","An error occurred while deleting this item.":"Une erreur est survenue en supprimant cet \u00e9l\u00e9ment.","Confirmation":"Confirmation","Do you confirm?":"Confirmez-vous ?","Cancel":"Annuler","Validate":"Valider","OK":"OK","Question":"Question","Please enter your answer below:":"Merci de saisir vos r\u00e9ponses ci-dessous :","Please wait":"Merci de patienter","Please wait while your request is being processed.":"Merci de patienter pendant le traitement de votre requ\u00eate.","Are you sure?":"\u00cates-vous sure ?","Name":"Nom","Creation date":"Date de cr\u00e9ation","Status":"Statut","Description":"Description","Unspecified.":"Non-sp\u00e9cifi\u00e9.","Back":"Retour","Modify":"Modifier","Are you sure you want to archive this item?":"\u00cates-vous s\u00fbre de vouloir archiver cet \u00e9l\u00e9ment ?","Archive":"Archiver","Are you sure you want to delete this item?":"\u00cates-vous s\u00fbre de vouloir supprimer cet \u00e9l\u00e9ment ?","Delete":"Supprimer","Pattern":"Mot cl\u00e9","Nb by page":"Nb par page","Reset":"R\u00e9initialiser","Add":"Ajouter","Date":"Date","Actions":"Actions","View":"Voir","No item found.":"Aucun \u00e9l\u00e9ment trouv\u00e9.","%3 element":[null,"Elements %1 to %2 on %3"],"Hello, world!":"Bonjour tout le monde !","This is a simple app to show the different possibilities and basic functionality.":"Ceci est une simple application pour montrer les diff\u00e9rentes possibilit\u00e9s et les fonctionnalit\u00e9s de base.","This app contains some demo pages:":"Cette application contient quelques pages de d\u00e9mo :","Search page":"Page de recherche","Save":"Enregistrer","A fatal error has occurred and it is preventing this application from working properly. Please try again later or contact support.":"Une erreur fatale est survenue et celle-ci emp\u00eache cette application de fonctionner correctement. Merci de r\u00e9essayer ult\u00e9rieurement ou de prendre contact avec le service support.","Error: %1":"Erreur : %1","This is the default page of a new app using EesyPHP framework. Register your own templates directory and create a homepage.tpl<\/em> file to overwrite it. You could also overwrite the URL handler for the root of the web application.":"Il s'agit de la page par d\u00e9faut d'une nouvelle application utilisant le framework EesyPHP. Configurez votre propre dossier de templates et cr\u00e9er le fichier homepage.tpl<\/em> pour l'\u00e9craser. Vous pouvez \u00e9galement \u00e9craser le gestionnaire de l'URL racine de l'application web.","This command could be used to generate\/update lang\/messages.pot file.":"Cette commande peut-\u00eatre utilis\u00e9e pour g\u00e9n\u00e9rer\/mettre \u00e0 jour le fichier lang\/messages.pot.","This command could be used to init\/update PO files in lang\/*\/LC_MESSAGES directories.":"Cette commande peut-\u00eatre utilis\u00e9e pour initialiser\/mettre \u00e0 jour les fichiers PO les dossiers lang\/*\/LC_MESSAGES.","This command could be used to compile PO files in lang\/*\/LC_MESSAGES directories to MO files and as JS catalogs in public_html\/translations.":"Cette commande peut-\u00eatre utilis\u00e9e pour compiler les fichiers PO dans les dossiers lang\/*\/LC_MESSAGES en fichiers MO and en tant que catalogues JS dans public_html\/translations.","Fail to list JS files in '%s' static directory.":"Une erreur est survenue en listant les fichiers JS dans le dossier des fichiers statiques '%s'.","Fail to extract messages from JS files in '%s' static directory using xgettext.":"Impossible d'extraire les messages depuis les fichiers JS dans le dossier des fichiers statiques '%s' en utilisant xgettext.","Smarty version not supported.":"Une erreur est survenue en affichant cette page.","An error occurred while viewing this page.":"Une erreur est survenue en affichant cette page.","Fail to list PHP files.":"Impossible de lister les fichiers PHP.","Fail to list JS files.":"Impossible de lister les fichiers JS.","Fail to extract messages from JS files using xgettext.":"Impossible d'extraire les messages depuis les fichiers JS en utilisant xgettext.","Fail to extract messages from template files using tsmarty2c.php script.":"Impossible d'extraire les messages depuis les fichiers template en utilisant le script tsmarty2c.php.","Update messages in existing translation PO lang files":"Mettre \u00e0 jour les messages dans les fichiers de traduction PO existants","This command could be used to update PO files in lang\/*\/LC_MESSAGES directories.":"Cette commande peut-\u00eatre utilis\u00e9e pour mettre \u00e0 jour les fichiers PO les dossiers lang\/*\/LC_MESSAGES.","Compile messages from existing translation PO lang files to corresponding MO files":"Compiler les messages depuis les fichiers PO de traduction existants vers les fichiers MO correspondant","This command could be used to compile PO files in lang\/*\/LC_MESSAGES directories to MO files.":"Cette commande peut-\u00eatre utilis\u00e9e pour compiler les fichiers PO dans les dossiers lang\/*\/LC_MESSAGES en fichiers MO.","Element(s) %1 to %2 on %3":"\u00c9l\u00e9ment(s) %1 \u00e0 %2 sur %3"},"locale":"fr_FR.UTF8","domain":"DEFAULT","plural_expr":"(n > 1)"}; \ No newline at end of file diff --git a/example/locales/fr_FR.UTF8/LC_MESSAGES/DEFAULT.mo b/example/locales/fr_FR.UTF8/LC_MESSAGES/DEFAULT.mo index f1fcb67..29bff47 100644 Binary files a/example/locales/fr_FR.UTF8/LC_MESSAGES/DEFAULT.mo and b/example/locales/fr_FR.UTF8/LC_MESSAGES/DEFAULT.mo differ diff --git a/example/locales/fr_FR.UTF8/LC_MESSAGES/DEFAULT.po b/example/locales/fr_FR.UTF8/LC_MESSAGES/DEFAULT.po index 46f3e28..c8e840f 100644 --- a/example/locales/fr_FR.UTF8/LC_MESSAGES/DEFAULT.po +++ b/example/locales/fr_FR.UTF8/LC_MESSAGES/DEFAULT.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2023-02-13 02:32+0100\n" +"POT-Creation-Date: 2023-02-13 02:58+0100\n" "PO-Revision-Date: \n" "Last-Translator: Benjamin Renard \n" "Language-Team: \n" @@ -196,10 +196,11 @@ msgid "Extract messages that need to be translated" msgstr "Extraire les messages devant être traduit" #: I18n.php:132 -msgid "This command could be used to generate/update lang/messages.pot file." +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 lang/" -"messages.pot." +"Cette commande peut-être utilisée pour générer/mettre à jour le fichier " +"locales/messages.pot." #: I18n.php:138 msgid "Update messages in translation PO lang files" @@ -208,28 +209,27 @@ msgstr "" #: I18n.php:140 msgid "" -"This command could be used to init/update PO files in lang/*/LC_MESSAGES " +"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 les dossiers lang/*/LC_MESSAGES." +"fichiers PO dans les dossiers locales/*/LC_MESSAGES." #: I18n.php:147 msgid "" "Compile messages from existing translation PO lang files to corresponding MO " -"files and JSON catalogs" +"files and JS catalogs" msgstr "" "Compiler les messages depuis les fichiers PO de traduction existants vers " -"les fichiers MO et les catalogues JSON correspondant" +"les fichiers MO et les catalogues JS correspondant" #: I18n.php:152 msgid "" -"This command could be used to compile PO files in lang/*/LC_MESSAGES " -"directories to MO files and as JSON catalogs in public_html/translations." +"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 lang/*/LC_MESSAGES en fichiers MO and en tant que catalogues JSON " -"dans public_html/translations." +"dossiers locales/*/LC_MESSAGES and les catalogues JS dans le dossier locales." #: I18n.php:277 msgid "Fail to list EesyPHP PHP files." @@ -336,26 +336,25 @@ msgstr "Lien symbolique d'alias de langue trouvé : %s -> %s" #: I18n.php:538 #, php-format -msgid "JSON catalog symlink for %s -> %s created (%s)" -msgstr "Lien symbolique de catalogue JSON pour %s -> %s créé (%s)" +msgid "JS catalog symlink for %s -> %s created (%s)" +msgstr "Lien symbolique de catalogue JS pour %s -> %s créé (%s)" #: I18n.php:542 #, php-format -msgid "Fail to create JSON catalog symlink for %s -> %s (%s)" +msgid "Fail to create JS catalog symlink for %s -> %s (%s)" msgstr "" -"Impossible de créer le lien symbolique de catalogue JSON pour %s -> %s (%s)" +"Impossible de créer le lien symbolique de catalogue JS pour %s -> %s (%s)" #: I18n.php:548 #, php-format -msgid "JSON catalog symlink for %s -> %s already exist (%s)" -msgstr "Le lien symbolique du catalogue JSON pour %s -> %s existe déjà (%s)" +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:553 #, php-format -msgid "" -"JSON catalog file for %s already exist, but it's not a symlink to %s (%s)" +msgid "JS catalog file for %s already exist, but it's not a symlink to %s (%s)" msgstr "" -"Le catalogue JSON pour %s existe, mais il ne s'agit par d'un lien symbolique " +"Le catalogue JS pour %s existe, mais il ne s'agit par d'un lien symbolique " "vers %s (%s)" #: I18n.php:588 @@ -367,18 +366,18 @@ msgstr "" #: I18n.php:598 #, php-format -msgid "Fail to open %s JSON catalog file in write mode (%s)." -msgstr "Impossible d'ouvrir le catalogue JSON %s en mode écriture (%s)." +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:603 #, php-format -msgid "Fail to write %s JSON catalog in file (%s)." -msgstr "Impossible d'écrire le fichier du catalogue JSON %s (%s)." +msgid "Fail to write %s JS catalog in file (%s)." +msgstr "Impossible d'écrire le fichier du catalogue JS %s (%s)." #: I18n.php:608 #, php-format -msgid "%s JSON catalog writed (%s)." -msgstr "Catalogue JSON %s créé (%s)." +msgid "%s JS catalog writed (%s)." +msgstr "Catalogue JS %s créé (%s)." #: App.php:122 msgid "Hello world!" @@ -530,8 +529,8 @@ msgstr "" msgid "Invalid element identifier." msgstr "Identifiant d'élément invalide." -#: includes/url-helpers.php:13 includes/url-public.php:220 -#: includes/url-public.php:242 +#: includes/url-helpers.php:13 includes/url-public.php:236 +#: includes/url-public.php:263 #, php-format msgid "Item #% s not found." msgstr "L'élément #%s est introuvable." @@ -552,11 +551,11 @@ msgstr "Refusé" msgid "Archived" msgstr "Archivé" -#: includes/url-public.php:33 +#: includes/url-public.php:38 msgid "Any" msgstr "Peu importe" -#: includes/url-public.php:91 +#: includes/url-public.php:96 msgid "" "An error occurred while listing the items. If the problem persists, please " "contact support." @@ -564,25 +563,25 @@ msgstr "" "Une erreur est survenue en listant les éléments. Si le problème persiste, " "merci de prendre contact avec le support." -#: includes/url-public.php:106 +#: includes/url-public.php:111 msgid "Search" msgstr "Rechercher" -#: includes/url-public.php:128 +#: includes/url-public.php:134 #, php-format msgid "Element %s" msgstr "Élément %s" -#: includes/url-public.php:142 +#: includes/url-public.php:153 #, php-format msgid "The element '% s' has been created." msgstr "L'élément '%s' a bien été créé." -#: includes/url-public.php:146 +#: includes/url-public.php:157 msgid "An error occurred while saving this item." msgstr "Une erreur est survenue en enregistrant cet élément." -#: includes/url-public.php:153 +#: includes/url-public.php:164 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to add this item." @@ -590,29 +589,29 @@ msgstr "" "Des erreurs empêchent l'enregistrement de cet élément. Merci de les corriger " "avant de tenter d'ajouter cet élément." -#: includes/url-public.php:160 +#: includes/url-public.php:171 msgid "New" msgstr "Nouveau" -#: includes/url-public.php:170 +#: includes/url-public.php:181 msgid "You cannot edit this item." msgstr "Vous ne pouvez pas modifier cet élément." -#: includes/url-public.php:183 +#: includes/url-public.php:194 #, php-format msgid "You have not made any changes to element '% s'." msgstr "Vous n'avez apporté aucune modification à l'élément '%s'." -#: includes/url-public.php:187 +#: includes/url-public.php:198 #, php-format msgid "The element '% s' has been updated successfully." msgstr "L'élément '%s' a bien été mise à jour." -#: includes/url-public.php:191 +#: includes/url-public.php:202 msgid "An error occurred while updating this item." msgstr "Une erreur est survenue en mettant à jour cet élément." -#: includes/url-public.php:199 +#: includes/url-public.php:210 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to save your changes." @@ -620,38 +619,38 @@ msgstr "" "Des erreurs empêchent l'enregistrement de cet élément. Merci de les corriger " "avant de tenter d'enregistrer vos modifications." -#: includes/url-public.php:211 +#: includes/url-public.php:222 #, php-format msgid "Element %s: Modification" msgstr "Élément %s : Modification" -#: includes/url-public.php:224 +#: includes/url-public.php:240 msgid "This item is already archived." msgstr "Cet élément est déjà archivé." -#: includes/url-public.php:227 +#: includes/url-public.php:243 msgid "You cannot archive this item." msgstr "Vous ne pouvez pas archiver cet élément." -#: includes/url-public.php:230 +#: includes/url-public.php:246 #, php-format msgid "The element '% s' has been archived successfully." msgstr "L'élément '%s' a bien été archivé." -#: includes/url-public.php:233 +#: includes/url-public.php:249 msgid "An error occurred while archiving this item." msgstr "Une erreur est survenue en archivant cet élément." -#: includes/url-public.php:245 +#: includes/url-public.php:266 msgid "You cannot delete this item." msgstr "Vous ne pouvez pas supprimer cet élément." -#: includes/url-public.php:248 +#: includes/url-public.php:269 #, php-format msgid "The element '% s' has been deleted successfully." msgstr "L'élément '%s' a bien été supprimé." -#: includes/url-public.php:251 +#: includes/url-public.php:272 msgid "An error occurred while deleting this item." msgstr "Une erreur est survenue en supprimant cet élément." @@ -827,6 +826,27 @@ msgstr "" "fichier homepage.tpl pour l'écraser. Vous pouvez également écraser " "le gestionnaire de l'URL racine de l'application web." +#~ msgid "" +#~ "This command could be used to generate/update lang/messages.pot file." +#~ msgstr "" +#~ "Cette commande peut-être utilisée pour générer/mettre à jour le fichier " +#~ "lang/messages.pot." + +#~ msgid "" +#~ "This command could be used to init/update PO files in lang/*/LC_MESSAGES " +#~ "directories." +#~ msgstr "" +#~ "Cette commande peut-être utilisée pour initialiser/mettre à jour les " +#~ "fichiers PO les dossiers lang/*/LC_MESSAGES." + +#~ msgid "" +#~ "This command could be used to compile PO files in lang/*/LC_MESSAGES " +#~ "directories to MO files and as JS catalogs in public_html/translations." +#~ msgstr "" +#~ "Cette commande peut-être utilisée pour compiler les fichiers PO dans les " +#~ "dossiers lang/*/LC_MESSAGES en fichiers MO and en tant que catalogues JS " +#~ "dans public_html/translations." + #, php-format #~ msgid "Fail to list JS files in '%s' static directory." #~ msgstr "" diff --git a/example/locales/headers.pot b/example/locales/headers.pot index 7da20a6..c4477c1 100644 --- a/example/locales/headers.pot +++ b/example/locales/headers.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" -"POT-Creation-Date: 2023-02-13 02:32+0100\n" -"PO-Revision-Date: 2023-02-13 02:32+0100\n" +"POT-Creation-Date: 2023-02-13 03:00+0100\n" +"PO-Revision-Date: 2023-02-13 03:00+0100\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" \ No newline at end of file diff --git a/example/locales/js-messages.pot b/example/locales/js-messages.pot deleted file mode 100644 index 936dcef..0000000 --- a/example/locales/js-messages.pot +++ /dev/null @@ -1,48 +0,0 @@ -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:4 -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:171 -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:200 -msgid "Confirmation" -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:5 -msgid "Do you confirm?" -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:11 -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:108 -msgid "Cancel" -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:17 -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:114 -msgid "Validate" -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:44 -msgid "Error" -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:52 -msgid "OK" -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:91 -msgid "Question" -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:92 -msgid "Please enter your answer below:" -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:143 -msgid "Please wait" -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:144 -msgid "Please wait while your request is being processed." -msgstr "" - -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:172 -#: /home/brenard/dev/eesyphp/public_html/js/myconfirm.js:201 -msgid "Are you sure?" -msgstr "" diff --git a/example/locales/messages.pot b/example/locales/messages.pot index ebb3a9b..2d43a66 100644 --- a/example/locales/messages.pot +++ b/example/locales/messages.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" -"POT-Creation-Date: 2023-02-13 02:32+0100\n" -"PO-Revision-Date: 2023-02-13 02:32+0100\n" +"POT-Creation-Date: 2023-02-13 03:00+0100\n" +"PO-Revision-Date: 2023-02-13 03:00+0100\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -171,7 +171,8 @@ msgid "Extract messages that need to be translated" msgstr "" #: I18n.php:132 -msgid "This command could be used to generate/update lang/messages.pot file." +msgid "" +"This command could be used to generate/update locales/messages.pot file." msgstr "" #: I18n.php:138 @@ -180,20 +181,20 @@ msgstr "" #: I18n.php:140 msgid "" -"This command could be used to init/update PO files in lang/*/LC_MESSAGES " +"This command could be used to init/update PO files in locales/*/LC_MESSAGES " "directories." msgstr "" #: I18n.php:147 msgid "" "Compile messages from existing translation PO lang files to corresponding MO " -"files and JSON catalogs" +"files and JS catalogs" msgstr "" #: I18n.php:152 msgid "" -"This command could be used to compile PO files in lang/*/LC_MESSAGES " -"directories to MO files and as JSON catalogs in public_html/translations." +"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:277 @@ -282,23 +283,22 @@ msgstr "" #: I18n.php:538 #, php-format -msgid "JSON catalog symlink for %s -> %s created (%s)" +msgid "JS catalog symlink for %s -> %s created (%s)" msgstr "" #: I18n.php:542 #, php-format -msgid "Fail to create JSON catalog symlink for %s -> %s (%s)" +msgid "Fail to create JS catalog symlink for %s -> %s (%s)" msgstr "" #: I18n.php:548 #, php-format -msgid "JSON catalog symlink for %s -> %s already exist (%s)" +msgid "JS catalog symlink for %s -> %s already exist (%s)" msgstr "" #: I18n.php:553 #, php-format -msgid "" -"JSON catalog file for %s already exist, but it's not a symlink to %s (%s)" +msgid "JS catalog file for %s already exist, but it's not a symlink to %s (%s)" msgstr "" #: I18n.php:588 @@ -308,17 +308,17 @@ msgstr "" #: I18n.php:598 #, php-format -msgid "Fail to open %s JSON catalog file in write mode (%s)." +msgid "Fail to open %s JS catalog file in write mode (%s)." msgstr "" #: I18n.php:603 #, php-format -msgid "Fail to write %s JSON catalog in file (%s)." +msgid "Fail to write %s JS catalog in file (%s)." msgstr "" #: I18n.php:608 #, php-format -msgid "%s JSON catalog writed (%s)." +msgid "%s JS catalog writed (%s)." msgstr "" #: App.php:122 @@ -466,8 +466,8 @@ msgstr "" msgid "Invalid element identifier." msgstr "" -#: includes/url-helpers.php:13 includes/url-public.php:220 -#: includes/url-public.php:242 +#: includes/url-helpers.php:13 includes/url-public.php:236 +#: includes/url-public.php:263 #, php-format msgid "Item #% s not found." msgstr "" @@ -488,100 +488,100 @@ msgstr "" msgid "Archived" msgstr "" -#: includes/url-public.php:33 +#: includes/url-public.php:38 msgid "Any" msgstr "" -#: includes/url-public.php:91 +#: includes/url-public.php:96 msgid "" "An error occurred while listing the items. If the problem persists, please " "contact support." msgstr "" -#: includes/url-public.php:106 +#: includes/url-public.php:111 msgid "Search" msgstr "" -#: includes/url-public.php:128 +#: includes/url-public.php:134 #, php-format msgid "Element %s" msgstr "" -#: includes/url-public.php:142 +#: includes/url-public.php:153 #, php-format msgid "The element '% s' has been created." msgstr "" -#: includes/url-public.php:146 +#: includes/url-public.php:157 msgid "An error occurred while saving this item." msgstr "" -#: includes/url-public.php:153 +#: includes/url-public.php:164 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to add this item." msgstr "" -#: includes/url-public.php:160 +#: includes/url-public.php:171 msgid "New" msgstr "" -#: includes/url-public.php:170 +#: includes/url-public.php:181 msgid "You cannot edit this item." msgstr "" -#: includes/url-public.php:183 +#: includes/url-public.php:194 #, php-format msgid "You have not made any changes to element '% s'." msgstr "" -#: includes/url-public.php:187 +#: includes/url-public.php:198 #, php-format msgid "The element '% s' has been updated successfully." msgstr "" -#: includes/url-public.php:191 +#: includes/url-public.php:202 msgid "An error occurred while updating this item." msgstr "" -#: includes/url-public.php:199 +#: includes/url-public.php:210 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to save your changes." msgstr "" -#: includes/url-public.php:211 +#: includes/url-public.php:222 #, php-format msgid "Element %s: Modification" msgstr "" -#: includes/url-public.php:224 +#: includes/url-public.php:240 msgid "This item is already archived." msgstr "" -#: includes/url-public.php:227 +#: includes/url-public.php:243 msgid "You cannot archive this item." msgstr "" -#: includes/url-public.php:230 +#: includes/url-public.php:246 #, php-format msgid "The element '% s' has been archived successfully." msgstr "" -#: includes/url-public.php:233 +#: includes/url-public.php:249 msgid "An error occurred while archiving this item." msgstr "" -#: includes/url-public.php:245 +#: includes/url-public.php:266 msgid "You cannot delete this item." msgstr "" -#: includes/url-public.php:248 +#: includes/url-public.php:269 #, php-format msgid "The element '% s' has been deleted successfully." msgstr "" -#: includes/url-public.php:251 +#: includes/url-public.php:272 msgid "An error occurred while deleting this item." msgstr "" diff --git a/example/locales/php-messages.pot b/example/locales/php-messages.pot index 20c277d..34d36c1 100644 --- a/example/locales/php-messages.pot +++ b/example/locales/php-messages.pot @@ -139,8 +139,8 @@ msgstr "" msgid "Invalid element identifier." msgstr "" -#: includes/url-helpers.php:13 includes/url-public.php:220 -#: includes/url-public.php:242 +#: includes/url-helpers.php:13 includes/url-public.php:236 +#: includes/url-public.php:263 #, php-format msgid "Item #% s not found." msgstr "" @@ -161,99 +161,99 @@ msgstr "" msgid "Archived" msgstr "" -#: includes/url-public.php:33 +#: includes/url-public.php:38 msgid "Any" msgstr "" -#: includes/url-public.php:91 +#: includes/url-public.php:96 msgid "" "An error occurred while listing the items. If the problem persists, please " "contact support." msgstr "" -#: includes/url-public.php:106 +#: includes/url-public.php:111 msgid "Search" msgstr "" -#: includes/url-public.php:128 +#: includes/url-public.php:134 #, php-format msgid "Element %s" msgstr "" -#: includes/url-public.php:142 +#: includes/url-public.php:153 #, php-format msgid "The element '% s' has been created." msgstr "" -#: includes/url-public.php:146 +#: includes/url-public.php:157 msgid "An error occurred while saving this item." msgstr "" -#: includes/url-public.php:153 +#: includes/url-public.php:164 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to add this item." msgstr "" -#: includes/url-public.php:160 +#: includes/url-public.php:171 msgid "New" msgstr "" -#: includes/url-public.php:170 +#: includes/url-public.php:181 msgid "You cannot edit this item." msgstr "" -#: includes/url-public.php:183 +#: includes/url-public.php:194 #, php-format msgid "You have not made any changes to element '% s'." msgstr "" -#: includes/url-public.php:187 +#: includes/url-public.php:198 #, php-format msgid "The element '% s' has been updated successfully." msgstr "" -#: includes/url-public.php:191 +#: includes/url-public.php:202 msgid "An error occurred while updating this item." msgstr "" -#: includes/url-public.php:199 +#: includes/url-public.php:210 msgid "" "There are errors preventing this item from being saved. Please correct them " "before attempting to save your changes." msgstr "" -#: includes/url-public.php:211 +#: includes/url-public.php:222 #, php-format msgid "Element %s: Modification" msgstr "" -#: includes/url-public.php:224 +#: includes/url-public.php:240 msgid "This item is already archived." msgstr "" -#: includes/url-public.php:227 +#: includes/url-public.php:243 msgid "You cannot archive this item." msgstr "" -#: includes/url-public.php:230 +#: includes/url-public.php:246 #, php-format msgid "The element '% s' has been archived successfully." msgstr "" -#: includes/url-public.php:233 +#: includes/url-public.php:249 msgid "An error occurred while archiving this item." msgstr "" -#: includes/url-public.php:245 +#: includes/url-public.php:266 msgid "You cannot delete this item." msgstr "" -#: includes/url-public.php:248 +#: includes/url-public.php:269 #, php-format msgid "The element '% s' has been deleted successfully." msgstr "" -#: includes/url-public.php:251 +#: includes/url-public.php:272 msgid "An error occurred while deleting this item." msgstr "" diff --git a/example/locales/templates-messages.pot b/example/locales/templates-messages.pot deleted file mode 100644 index 8498c78..0000000 --- a/example/locales/templates-messages.pot +++ /dev/null @@ -1,134 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8\n" - -#: /home/brenard/dev/eesyphp/templates/form.tpl:7 -#: /home/brenard/dev/eesyphp/templates/search.tpl:36 -#: /home/brenard/dev/eesyphp/templates/show.tpl:5 -msgid "Name" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/form.tpl:15 -#: /home/brenard/dev/eesyphp/templates/search.tpl:11 -#: /home/brenard/dev/eesyphp/templates/show.tpl:23 -msgid "Status" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/form.tpl:25 -#: /home/brenard/dev/eesyphp/templates/show.tpl:32 -msgid "Description" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/form.tpl:33 -#: /home/brenard/dev/eesyphp/templates/fatal_error.tpl:9 -#: /home/brenard/dev/eesyphp/templates/show.tpl:42 -msgid "Back" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/form.tpl:36 -msgid "Save" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/form.tpl:38 -#: /home/brenard/dev/eesyphp/templates/search.tpl:28 -msgid "Add" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/fatal_error.tpl:5 -msgid "" -"A fatal error has occurred and it is preventing this application from " -"working properly. Please try again later or contact support." -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/fatal_error.tpl:7 -msgid "Error: %1" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:8 -msgid "Pattern" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:16 -msgid "Nb by page" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:22 -msgid "Search" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:23 -msgid "Reset" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:35 -msgid "Date" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:37 -msgid "Actions" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:47 -#: /home/brenard/dev/eesyphp/templates/search.tpl:50 -msgid "View" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:51 -#: /home/brenard/dev/eesyphp/templates/show.tpl:43 -msgid "Modify" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:52 -#: /home/brenard/dev/eesyphp/templates/show.tpl:44 -msgid "Are you sure you want to archive this item?" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:52 -#: /home/brenard/dev/eesyphp/templates/show.tpl:44 -msgid "Archive" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:53 -#: /home/brenard/dev/eesyphp/templates/show.tpl:45 -msgid "Are you sure you want to delete this item?" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:53 -#: /home/brenard/dev/eesyphp/templates/show.tpl:45 -msgid "Delete" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:59 -msgid "No item found." -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/search.tpl:68 -msgid "%3 element" -msgid_plural "Elements %1 to %2 on %3" -msgstr[0] "" -msgstr[1] "" - -#: /home/brenard/dev/eesyphp/templates/show.tpl:14 -msgid "Creation date" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/show.tpl:35 -msgid "Unspecified." -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/homepage.tpl:5 -msgid "Hello, world!" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/homepage.tpl:6 -msgid "" -"This is a simple app to show the different possibilities and basic " -"functionality." -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/homepage.tpl:8 -msgid "This app contains some demo pages:" -msgstr "" - -#: /home/brenard/dev/eesyphp/templates/homepage.tpl:9 -msgid "Search page" -msgstr "" diff --git a/src/I18n.php b/src/I18n.php index 4e4088c..451ab5b 100644 --- a/src/I18n.php +++ b/src/I18n.php @@ -129,7 +129,7 @@ class I18n { array('\\EesyPHP\\I18n', 'cli_extract_messages'), self :: ___("Extract messages that need to be translated"), null, - self :: ___("This command could be used to generate/update lang/messages.pot file.") + self :: ___("This command could be used to generate/update locales/messages.pot file.") ); Cli :: add_command( @@ -137,7 +137,7 @@ class I18n { array('\\EesyPHP\\I18n', 'cli_update_messages'), self :: ___("Update messages in translation PO lang files"), null, - self :: ___("This command could be used to init/update PO files in lang/*/LC_MESSAGES directories.") + self :: ___("This command could be used to init/update PO files in locales/*/LC_MESSAGES directories.") ); Cli :: add_command( @@ -145,12 +145,12 @@ class I18n { array('\\EesyPHP\\I18n', 'cli_compile_messages'), self :: ___( "Compile messages from existing translation PO lang files to ". - "corresponding MO files and JSON catalogs" + "corresponding MO files and JS catalogs" ), null, self :: ___( - "This command could be used to compile PO files in lang/*/LC_MESSAGES ". - "directories to MO files and as JSON catalogs in public_html/translations." + "This command could be used to compile PO files in locales/*/LC_MESSAGES ". + "directories to MO files and as JS catalogs in locales directory." ) ); } @@ -508,7 +508,7 @@ class I18n { /** * Command to compile messages from existing translation PO lang files - * to corresponding MO files and as JSON catalog (for translation in JS). + * to corresponding MO files and as JS catalog (for translation in JS). * * @param array $command_args The command arguments * @return bool @@ -530,27 +530,27 @@ class I18n { $lang = $file; Log :: debug(_("Lang alias symlink found: %s -> %s"), $lang, $real_lang_dir); - // Create JSON catalog symlink (if not exists) + // Create JS catalog symlink (if not exists) $js_link = self :: $root_path."/$lang.js"; $link_target = "$real_lang_dir.js"; if (!file_exists($js_link)) { if (symlink($link_target, $js_link)) { - Log :: info(_("JSON catalog symlink for %s -> %s created (%s)"), + Log :: info(_("JS catalog symlink for %s -> %s created (%s)"), $lang, $real_lang_dir, $js_link); } else { - Log :: error(_("Fail to create JSON catalog symlink for %s -> %s (%s)"), + Log :: error(_("Fail to create JS catalog symlink for %s -> %s (%s)"), $lang, $real_lang_dir, $js_link); $error = True; } } elseif (readlink($js_link) == $link_target) { - Log :: debug(_("JSON catalog symlink for %s -> %s already exist (%s)"), + Log :: debug(_("JS catalog symlink for %s -> %s already exist (%s)"), $lang, $real_lang_dir, $js_link); } else { Log :: warning( - _("JSON catalog file for %s already exist, but it's not a symlink to %s (%s)"), + _("JS catalog file for %s already exist, but it's not a symlink to %s (%s)"), $lang, $real_lang_dir, $js_link ); $error = True; @@ -591,21 +591,21 @@ class I18n { $error = True; } - // Compile messages from PO file to JSON catalog file - $json_catalog = self :: po2json($lang, $po_file); + // Compile messages from PO file to JS catalog file + $js_catalog = self :: po2json($lang, $po_file); $js_file = self :: $root_path."/$lang.js"; if(!$fd = fopen($js_file, 'w')) { - Log :: error(_("Fail to open %s JSON catalog file in write mode (%s)."), + Log :: error(_("Fail to open %s JS catalog file in write mode (%s)."), $lang, $js_file); $error = True; } - elseif (fwrite($fd, sprintf("translations_data = %s;", $json_catalog)) === false) { - Log :: error(_("Fail to write %s JSON catalog in file (%s)."), + elseif (fwrite($fd, sprintf("translations_data = %s;", $js_catalog)) === false) { + Log :: error(_("Fail to write %s JS catalog in file (%s)."), $lang, $js_file); $error = True; } else { - Log :: info(_("%s JSON catalog writed (%s)."), $lang, $js_file); + Log :: info(_("%s JS catalog writed (%s)."), $lang, $js_file); } } closedir($dh);