From 5bd930c838e827b838f2417593eba34149d11550 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Mon, 13 Feb 2023 02:48:37 +0100 Subject: [PATCH] I18n: fix locles JS file path in compile_messages CLI command --- example/locales/fr_FR.UTF8.js | 2 +- src/I18n.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/example/locales/fr_FR.UTF8.js b/example/locales/fr_FR.UTF8.js index 3cbf294..ed05d8d 100644 --- a/example/locales/fr_FR.UTF8.js +++ b/example/locales/fr_FR.UTF8.js @@ -1 +1 @@ -translations_data = {"messages":{"Invalid element identifier.":"Identifiant d'\u00e9l\u00e9ment invalide.","Item #% s not found.":"L'\u00e9l\u00e9ment #%s est introuvable.","Smarty version not supported.":"Une erreur est survenue en affichant cette page.","No template specified.":"Aucun template sp\u00e9cifi\u00e9.","An error occurred while viewing this page.":"Une erreur est survenue en affichant cette page.","Hello world !":"Bonjour tout le monde !","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.","Unable to connect to the database.":"Impossible de se connecter \u00e0 la base de donn\u00e9es.","Pending":"En attente","Validated":"Valid\u00e9","Refused":"Refus\u00e9","Archived":"Archiv\u00e9","Fail to list PHP files.":"Impossible de lister les fichiers PHP.","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.":"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.","Fail to merge messages using msgcat.":"Impossible de fusionner les messages en utilisant msgcat.","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.","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).","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.","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).","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.","\n\n\nMail initialy intended for %s.":"\n\n\nMail originalement destin\u00e9 \u00e0 %s.","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.","This request could not be processed correctly.":"Cette requ\u00eate n'a put \u00eatre trait\u00e9e correctement.","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","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)","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","Status":"Statut","Description":"Description","Back":"Retour","Save":"Enregistrer","Add":"Ajouter","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","Pattern":"Mot cl\u00e9","Nb by page":"Nb par page","Reset":"R\u00e9initialiser","Date":"Date","Actions":"Actions","View":"Voir","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","No item found.":"Aucun \u00e9l\u00e9ment trouv\u00e9.","%3 element":[null,"Elements %1 to %2 on %3"],"Creation date":"Date de cr\u00e9ation","Unspecified.":"Non-sp\u00e9cifi\u00e9.","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","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 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 diff --git a/src/I18n.php b/src/I18n.php index 28fd96a..4e4088c 100644 --- a/src/I18n.php +++ b/src/I18n.php @@ -531,7 +531,7 @@ class I18n { Log :: debug(_("Lang alias symlink found: %s -> %s"), $lang, $real_lang_dir); // Create JSON catalog symlink (if not exists) - $js_link = App :: root_directory_path()."/public_html/translations/$lang.js"; + $js_link = self :: $root_path."/$lang.js"; $link_target = "$real_lang_dir.js"; if (!file_exists($js_link)) { if (symlink($link_target, $js_link)) { @@ -593,7 +593,7 @@ class I18n { // Compile messages from PO file to JSON catalog file $json_catalog = self :: po2json($lang, $po_file); - $js_file = App :: root_directory_path()."/public_html/translations/$lang.js"; + $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)."), $lang, $js_file);