Translations : Working demo example of translation extension
This commit is contained in:
parent
f39580c6fd
commit
6a65bc5798
5 changed files with 86 additions and 35 deletions
|
@ -480,7 +480,7 @@ function alphabetical_sort(&$data, $reverse = false, $byKeys = false)
|
||||||
* @param int $nb The number of items for plural forms.
|
* @param int $nb The number of items for plural forms.
|
||||||
* @param string $domain The domain where the translation is stored (default: shaarli).
|
* @param string $domain The domain where the translation is stored (default: shaarli).
|
||||||
*
|
*
|
||||||
* @return String Text translated.
|
* @return string Text translated.
|
||||||
*/
|
*/
|
||||||
function t($text, $nText = '', $nb = 1, $domain = 'shaarli') {
|
function t($text, $nText = '', $nb = 1, $domain = 'shaarli') {
|
||||||
return dn__($domain, $text, $nText, $nb);
|
return dn__($domain, $text, $nText, $nb);
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Shaarli\n"
|
"Project-Id-Version: Shaarli\n"
|
||||||
"POT-Creation-Date: 2017-09-01 19:21+0200\n"
|
"POT-Creation-Date: 2017-10-22 13:13+0200\n"
|
||||||
"PO-Revision-Date: 2017-09-01 19:21+0200\n"
|
"PO-Revision-Date: 2017-10-22 13:14+0200\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Shaarli\n"
|
"Language-Team: Shaarli\n"
|
||||||
"Language: fr_FR\n"
|
"Language: fr_FR\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Poedit 2.0.3\n"
|
"X-Generator: Poedit 2.0.4\n"
|
||||||
"X-Poedit-Basepath: ../../../..\n"
|
"X-Poedit-Basepath: ../../../..\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
"X-Poedit-SourceCharset: UTF-8\n"
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
|
@ -27,19 +27,19 @@ msgstr ""
|
||||||
"peut donc pas fonctionner. Votre version de PHP a des failles de sécurités "
|
"peut donc pas fonctionner. Votre version de PHP a des failles de sécurités "
|
||||||
"connues et devrait être mise à jour au plus tôt."
|
"connues et devrait être mise à jour au plus tôt."
|
||||||
|
|
||||||
#: application/ApplicationUtils.php:182 application/ApplicationUtils.php:194
|
#: application/ApplicationUtils.php:183 application/ApplicationUtils.php:195
|
||||||
msgid "directory is not readable"
|
msgid "directory is not readable"
|
||||||
msgstr "le répertoire n'est pas accessible en lecture"
|
msgstr "le répertoire n'est pas accessible en lecture"
|
||||||
|
|
||||||
#: application/ApplicationUtils.php:197
|
#: application/ApplicationUtils.php:198
|
||||||
msgid "directory is not writable"
|
msgid "directory is not writable"
|
||||||
msgstr "le répertoire n'est pas accessible en écriture"
|
msgstr "le répertoire n'est pas accessible en écriture"
|
||||||
|
|
||||||
#: application/ApplicationUtils.php:215
|
#: application/ApplicationUtils.php:216
|
||||||
msgid "file is not readable"
|
msgid "file is not readable"
|
||||||
msgstr "le fichier n'est pas accessible en lecture"
|
msgstr "le fichier n'est pas accessible en lecture"
|
||||||
|
|
||||||
#: application/ApplicationUtils.php:218
|
#: application/ApplicationUtils.php:219
|
||||||
msgid "file is not writable"
|
msgid "file is not writable"
|
||||||
msgstr "le fichier n'est pas accessible en écriture"
|
msgstr "le fichier n'est pas accessible en écriture"
|
||||||
|
|
||||||
|
@ -58,11 +58,11 @@ msgstr "Liens directs"
|
||||||
msgid "Permalink"
|
msgid "Permalink"
|
||||||
msgstr "Permalien"
|
msgstr "Permalien"
|
||||||
|
|
||||||
#: application/History.php:158
|
#: application/History.php:174
|
||||||
msgid "History file isn't readable or writable"
|
msgid "History file isn't readable or writable"
|
||||||
msgstr "Le fichier d'historique n'est pas accessible en lecture ou en écriture"
|
msgstr "Le fichier d'historique n'est pas accessible en lecture ou en écriture"
|
||||||
|
|
||||||
#: application/History.php:169
|
#: application/History.php:185
|
||||||
msgid "Could not parse history file"
|
msgid "Could not parse history file"
|
||||||
msgstr "Format incorrect pour le fichier d'historique"
|
msgstr "Format incorrect pour le fichier d'historique"
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ msgstr ""
|
||||||
"Pssst ! Je suis un lien privé que VOUS êtes le seul à voir. Vous pouvez me "
|
"Pssst ! Je suis un lien privé que VOUS êtes le seul à voir. Vous pouvez me "
|
||||||
"supprimer aussi."
|
"supprimer aussi."
|
||||||
|
|
||||||
#: application/LinkFilter.php:415
|
#: application/LinkFilter.php:452
|
||||||
msgid "The link you are trying to reach does not exist or has been deleted."
|
msgid "The link you are trying to reach does not exist or has been deleted."
|
||||||
msgstr "Le lien que vous essayez de consulter n'existe pas ou a été supprimé."
|
msgstr "Le lien que vous essayez de consulter n'existe pas ou a été supprimé."
|
||||||
|
|
||||||
|
@ -143,29 +143,29 @@ msgstr "Le lien que vous essayez de consulter n'existe pas ou a été supprimé.
|
||||||
msgid "Invalid export selection:"
|
msgid "Invalid export selection:"
|
||||||
msgstr "Sélection d'export invalide :"
|
msgstr "Sélection d'export invalide :"
|
||||||
|
|
||||||
#: application/NetscapeBookmarkUtils.php:80
|
#: application/NetscapeBookmarkUtils.php:81
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "File %s (%d bytes) "
|
msgid "File %s (%d bytes) "
|
||||||
msgstr "Le fichier %s (%d octets) "
|
msgstr "Le fichier %s (%d octets) "
|
||||||
|
|
||||||
#: application/NetscapeBookmarkUtils.php:82
|
#: application/NetscapeBookmarkUtils.php:83
|
||||||
msgid "has an unknown file format. Nothing was imported."
|
msgid "has an unknown file format. Nothing was imported."
|
||||||
msgstr "a un format inconnu. Rien n'a été importé."
|
msgstr "a un format inconnu. Rien n'a été importé."
|
||||||
|
|
||||||
#: application/NetscapeBookmarkUtils.php:85
|
#: application/NetscapeBookmarkUtils.php:86
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"was successfully processed: %d links imported, %d links overwritten, %d "
|
"was successfully processed in %d seconds: %d links imported, %d links "
|
||||||
"links skipped."
|
"overwritten, %d links skipped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"a été importé avec succès : %d liens importés, %d liens écrasés, %d liens "
|
"a été importé avec succès en %d secondes : %d liens importés, %d liens "
|
||||||
"ignorés."
|
"écrasés, %d liens ignorés."
|
||||||
|
|
||||||
#: application/PageBuilder.php:160
|
#: application/PageBuilder.php:165
|
||||||
msgid "The page you are trying to reach does not exist or has been deleted."
|
msgid "The page you are trying to reach does not exist or has been deleted."
|
||||||
msgstr "La page que vous essayez de consulter n'existe pas ou a été supprimée."
|
msgstr "La page que vous essayez de consulter n'existe pas ou a été supprimée."
|
||||||
|
|
||||||
#: application/PageBuilder.php:162
|
#: application/PageBuilder.php:167
|
||||||
msgid "404 Not Found"
|
msgid "404 Not Found"
|
||||||
msgstr "404 Introuvable"
|
msgstr "404 Introuvable"
|
||||||
|
|
||||||
|
@ -249,58 +249,62 @@ msgstr "Vous n'êtes pas autorisé à modifier la configuration."
|
||||||
msgid "Error accessing"
|
msgid "Error accessing"
|
||||||
msgstr "Une erreur s'est produite en accédant à"
|
msgstr "Une erreur s'est produite en accédant à"
|
||||||
|
|
||||||
#: index.php:134
|
#: index.php:133
|
||||||
msgid "Shared links on "
|
msgid "Shared links on "
|
||||||
msgstr "Liens partagés sur "
|
msgstr "Liens partagés sur "
|
||||||
|
|
||||||
#: index.php:156
|
#: index.php:155
|
||||||
msgid "Insufficient permissions:"
|
msgid "Insufficient permissions:"
|
||||||
msgstr "Permissions insuffisantes :"
|
msgstr "Permissions insuffisantes :"
|
||||||
|
|
||||||
#: index.php:383
|
#: index.php:382
|
||||||
msgid "I said: NO. You are banned for the moment. Go away."
|
msgid "I said: NO. You are banned for the moment. Go away."
|
||||||
msgstr "NON. Vous êtes banni pour le moment. Revenez plus tard."
|
msgstr "NON. Vous êtes banni pour le moment. Revenez plus tard."
|
||||||
|
|
||||||
#: index.php:448
|
#: index.php:447
|
||||||
msgid "Wrong login/password."
|
msgid "Wrong login/password."
|
||||||
msgstr "Nom d'utilisateur ou mot de passe incorrects."
|
msgstr "Nom d'utilisateur ou mot de passe incorrects."
|
||||||
|
|
||||||
#: index.php:1091
|
#: index.php:1107
|
||||||
msgid "You are not supposed to change a password on an Open Shaarli."
|
msgid "You are not supposed to change a password on an Open Shaarli."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous n'êtes pas censé modifier le mot de passe d'un Shaarli en mode ouvert."
|
"Vous n'êtes pas censé modifier le mot de passe d'un Shaarli en mode ouvert."
|
||||||
|
|
||||||
#: index.php:1096 index.php:1137 index.php:1213 index.php:1243 index.php:1343
|
#: index.php:1112 index.php:1153 index.php:1229 index.php:1259 index.php:1359
|
||||||
msgid "Wrong token."
|
msgid "Wrong token."
|
||||||
msgstr "Jeton invalide."
|
msgstr "Jeton invalide."
|
||||||
|
|
||||||
#: index.php:1101
|
#: index.php:1117
|
||||||
msgid "The old password is not correct."
|
msgid "The old password is not correct."
|
||||||
msgstr "L'ancien mot de passe est incorrect."
|
msgstr "L'ancien mot de passe est incorrect."
|
||||||
|
|
||||||
#: index.php:1121
|
#: index.php:1137
|
||||||
msgid "Your password has been changed"
|
msgid "Your password has been changed"
|
||||||
msgstr "Votre mot de passe a été modifié"
|
msgstr "Votre mot de passe a été modifié"
|
||||||
|
|
||||||
#: index.php:1174
|
#: index.php:1190
|
||||||
msgid "Configuration was saved."
|
msgid "Configuration was saved."
|
||||||
msgstr "La configuration a été sauvegardé."
|
msgstr "La configuration a été sauvegardé."
|
||||||
|
|
||||||
#: index.php:1225
|
#: index.php:1241
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "The tag was removed from %d link."
|
msgid "The tag was removed from %d link."
|
||||||
msgid_plural "The tag was removed from %d links."
|
msgid_plural "The tag was removed from %d links."
|
||||||
msgstr[0] "Le tag a été supprimé de %d lien."
|
msgstr[0] "Le tag a été supprimé de %d lien."
|
||||||
msgstr[1] "Le tag a été supprimé de %d liens."
|
msgstr[1] "Le tag a été supprimé de %d liens."
|
||||||
|
|
||||||
#: index.php:1226
|
#: index.php:1242
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "The tag was renamed in %d link."
|
msgid "The tag was renamed in %d link."
|
||||||
msgid_plural "The tag was renamed in %d links."
|
msgid_plural "The tag was renamed in %d links."
|
||||||
msgstr[0] "Le tag a été renommé dans %d lien."
|
msgstr[0] "Le tag a été renommé dans %d lien."
|
||||||
msgstr[1] "Le tag a été renommé dans %d liens."
|
msgstr[1] "Le tag a été renommé dans %d liens."
|
||||||
|
|
||||||
#: index.php:1551
|
#: index.php:1458
|
||||||
|
msgid "Note: "
|
||||||
|
msgstr "Note : "
|
||||||
|
|
||||||
|
#: index.php:1567
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The file you are trying to upload is probably bigger than what this "
|
"The file you are trying to upload is probably bigger than what this "
|
||||||
|
@ -310,7 +314,7 @@ msgstr ""
|
||||||
"le serveur web peut accepter (%s). Merci de l'envoyer en parties plus "
|
"le serveur web peut accepter (%s). Merci de l'envoyer en parties plus "
|
||||||
"légères."
|
"légères."
|
||||||
|
|
||||||
#: index.php:1967
|
#: index.php:1983
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"<pre>Sessions do not seem to work correctly on your server.<br>Make sure the "
|
"<pre>Sessions do not seem to work correctly on your server.<br>Make sure the "
|
||||||
|
@ -329,7 +333,7 @@ msgstr ""
|
||||||
"cookies. Nous vous recommandons d'accéder à votre serveur depuis son adresse "
|
"cookies. Nous vous recommandons d'accéder à votre serveur depuis son adresse "
|
||||||
"IP ou un <em>Fully Qualified Domain Name</em>.<br>"
|
"IP ou un <em>Fully Qualified Domain Name</em>.<br>"
|
||||||
|
|
||||||
#: index.php:1977
|
#: index.php:1993
|
||||||
msgid "Click to try again."
|
msgid "Click to try again."
|
||||||
msgstr "Cliquer ici pour réessayer."
|
msgstr "Cliquer ici pour réessayer."
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,26 @@
|
||||||
* and check user status with _LOGGEDIN_.
|
* and check user status with _LOGGEDIN_.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Shaarli\Config\ConfigManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In the footer hook, there is a working example of a translation extension for Shaarli.
|
||||||
|
*
|
||||||
|
* The extension must be attached to a new translation domain (i.e. NOT 'shaarli').
|
||||||
|
* Use case: any custom theme or non official plugin can use the translation system.
|
||||||
|
*
|
||||||
|
* See the documentation for more information.
|
||||||
|
*/
|
||||||
|
const EXT_TRANSLATION_DOMAIN = 'demo';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is not necessary, but it's easier if you don't want Poedit to mix up your translations.
|
||||||
|
*/
|
||||||
|
function demo_plugin_t($text, $nText = '', $nb = 1)
|
||||||
|
{
|
||||||
|
return t($text, $nText, $nb, EXT_TRANSLATION_DOMAIN);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialization function.
|
* Initialization function.
|
||||||
* It will be called when the plugin is loaded.
|
* It will be called when the plugin is loaded.
|
||||||
|
@ -27,6 +47,12 @@ function demo_plugin_init($conf)
|
||||||
{
|
{
|
||||||
$conf->get('toto', 'nope');
|
$conf->get('toto', 'nope');
|
||||||
|
|
||||||
|
if (! $conf->exists('translation.extensions.demo')) {
|
||||||
|
// Custom translation with the domain 'demo'
|
||||||
|
$conf->set('translation.extensions.demo', 'plugins/demo_plugin/languages/');
|
||||||
|
$conf->write(true);
|
||||||
|
}
|
||||||
|
|
||||||
$errors[] = 'This a demo init error.';
|
$errors[] = 'This a demo init error.';
|
||||||
return $errors;
|
return $errors;
|
||||||
}
|
}
|
||||||
|
@ -160,7 +186,7 @@ function hook_demo_plugin_render_includes($data)
|
||||||
function hook_demo_plugin_render_footer($data)
|
function hook_demo_plugin_render_footer($data)
|
||||||
{
|
{
|
||||||
// footer text
|
// footer text
|
||||||
$data['text'][] = 'Shaarli is now enhanced by the awesome demo_plugin.';
|
$data['text'][] = '<br>'. demo_plugin_t('Shaarli is now enhanced by the awesome demo_plugin.');
|
||||||
|
|
||||||
// Free elements at the end of the page.
|
// Free elements at the end of the page.
|
||||||
$data['endofpage'][] = '<marquee id="demo_marquee">' .
|
$data['endofpage'][] = '<marquee id="demo_marquee">' .
|
||||||
|
|
BIN
plugins/demo_plugin/languages/fr/LC_MESSAGES/demo.mo
Normal file
BIN
plugins/demo_plugin/languages/fr/LC_MESSAGES/demo.mo
Normal file
Binary file not shown.
21
plugins/demo_plugin/languages/fr/LC_MESSAGES/demo.po
Normal file
21
plugins/demo_plugin/languages/fr/LC_MESSAGES/demo.po
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Demo plugin\n"
|
||||||
|
"POT-Creation-Date: 2017-08-19 10:45+0200\n"
|
||||||
|
"PO-Revision-Date: 2017-08-19 11:28+0200\n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: demo\n"
|
||||||
|
"Language: fr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: Poedit 2.0.2\n"
|
||||||
|
"X-Poedit-Basepath: ../../..\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
|
"X-Poedit-KeywordsList: ;demo_plugin_t:1,2;demo_plugin_t\n"
|
||||||
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
|
"X-Poedit-SearchPath-0: .\n"
|
||||||
|
|
||||||
|
#: demo_plugin.php:173
|
||||||
|
msgid "Shaarli is now enhanced by the awesome demo_plugin."
|
||||||
|
msgstr "Shaarli est maintenant amélioré avec le fantastique demo_plugin."
|
Loading…
Reference in a new issue