From: ArthurHoaro Date: Thu, 25 May 2017 11:26:05 +0000 (+0200) Subject: Add language selection in the configure page of the default theme X-Git-Tag: v0.9.4~41^2~2 X-Git-Url: https://git.immae.eu/?p=github%2Fshaarli%2FShaarli.git;a=commitdiff_plain;h=f39580c6fd171b849cec5832b4912182696341f2 Add language selection in the configure page of the default theme --- diff --git a/application/Languages.php b/application/Languages.php index 4ba32f29..357c7524 100644 --- a/application/Languages.php +++ b/application/Languages.php @@ -62,7 +62,7 @@ class Languages /** * Languages constructor. * - * @param string $language lang determined by autoLocale(), can be override. + * @param string $language lang determined by autoLocale(), can be overridden. * @param ConfigManager $conf instance. */ public function __construct($language, $conf) @@ -147,4 +147,18 @@ class Languages { return preg_match('/^[a-z]{2}(_[A-Z]{2})?/', $language) === 1; } + + /** + * Get the list of available languages for Shaarli. + * + * @return array List of available languages, with their label. + */ + public static function getAvailableLanguages() + { + return [ + 'auto' => t('Automatic'), + 'en' => t('English'), + 'fr' => t('French'), + ]; + } } diff --git a/application/NetscapeBookmarkUtils.php b/application/NetscapeBookmarkUtils.php index 31a14537..dd7057f8 100644 --- a/application/NetscapeBookmarkUtils.php +++ b/application/NetscapeBookmarkUtils.php @@ -36,7 +36,6 @@ class NetscapeBookmarkUtils } $bookmarkLinks = array(); -7 foreach ($linkDb as $link) { if ($link['private'] != 0 && $selection == 'public') { continue; diff --git a/composer.lock b/composer.lock index ea20025d..39909b8f 100644 --- a/composer.lock +++ b/composer.lock @@ -494,12 +494,12 @@ "source": { "type": "git", "url": "https://github.com/pubsubhubbub/php-publisher.git", - "reference": "a5d6a0e1cc9d49101c3904480e5b06cbb8addba7" + "reference": "0d224daebd504ab61c22fee4db58f8d1fc18945f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pubsubhubbub/php-publisher/zipball/a5d6a0e1cc9d49101c3904480e5b06cbb8addba7", - "reference": "a5d6a0e1cc9d49101c3904480e5b06cbb8addba7", + "url": "https://api.github.com/repos/pubsubhubbub/php-publisher/zipball/0d224daebd504ab61c22fee4db58f8d1fc18945f", + "reference": "0d224daebd504ab61c22fee4db58f8d1fc18945f", "shasum": "" }, "require": { @@ -529,7 +529,7 @@ "publishers", "pubsubhubbub" ], - "time": "2016-11-15T06:24:01+00:00" + "time": "2017-10-08T10:59:41+00:00" }, { "name": "shaarli/netscape-bookmark-parser", @@ -755,16 +755,16 @@ }, { "name": "phpdocumentor/reflection-common", - "version": "1.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "shasum": "" }, "require": { @@ -805,7 +805,7 @@ "reflection", "static analysis" ], - "time": "2015-12-27T11:43:31+00:00" + "time": "2017-09-11T18:02:19+00:00" }, { "name": "phpdocumentor/reflection-docblock", @@ -967,22 +967,22 @@ }, { "name": "phpspec/prophecy", - "version": "v1.7.0", + "version": "v1.7.2", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" + "reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6", + "reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", "sebastian/comparator": "^1.1|^2.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, @@ -993,7 +993,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6.x-dev" + "dev-master": "1.7.x-dev" } }, "autoload": { @@ -1026,7 +1026,7 @@ "spy", "stub" ], - "time": "2017-03-02T20:05:34+00:00" + "time": "2017-09-04T11:05:03+00:00" }, { "name": "phpunit/php-code-coverage", @@ -1998,16 +1998,16 @@ }, { "name": "symfony/config", - "version": "v3.3.8", + "version": "v3.3.10", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "6ac0cc1f047c1dbc058fc25b7a4d91b068ed4488" + "reference": "4ab62407bff9cd97c410a7feaef04c375aaa5cfd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/6ac0cc1f047c1dbc058fc25b7a4d91b068ed4488", - "reference": "6ac0cc1f047c1dbc058fc25b7a4d91b068ed4488", + "url": "https://api.github.com/repos/symfony/config/zipball/4ab62407bff9cd97c410a7feaef04c375aaa5cfd", + "reference": "4ab62407bff9cd97c410a7feaef04c375aaa5cfd", "shasum": "" }, "require": { @@ -2056,20 +2056,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2017-08-03T08:59:45+00:00" + "time": "2017-10-04T18:56:58+00:00" }, { "name": "symfony/console", - "version": "v2.8.27", + "version": "v2.8.28", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c0807a2ca978e64d8945d373a9221a5c35d1a253" + "reference": "f81549d2c5fdee8d711c9ab3c7e7362353ea5853" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c0807a2ca978e64d8945d373a9221a5c35d1a253", - "reference": "c0807a2ca978e64d8945d373a9221a5c35d1a253", + "url": "https://api.github.com/repos/symfony/console/zipball/f81549d2c5fdee8d711c9ab3c7e7362353ea5853", + "reference": "f81549d2c5fdee8d711c9ab3c7e7362353ea5853", "shasum": "" }, "require": { @@ -2117,7 +2117,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2017-08-27T14:29:03+00:00" + "time": "2017-10-01T21:00:16+00:00" }, { "name": "symfony/debug", @@ -2178,16 +2178,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v3.3.8", + "version": "v3.3.10", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "2ac658972626c75cbde7b0067c84b988170a6907" + "reference": "8ebad929aee3ca185b05f55d9cc5521670821ad1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2ac658972626c75cbde7b0067c84b988170a6907", - "reference": "2ac658972626c75cbde7b0067c84b988170a6907", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8ebad929aee3ca185b05f55d9cc5521670821ad1", + "reference": "8ebad929aee3ca185b05f55d9cc5521670821ad1", "shasum": "" }, "require": { @@ -2244,20 +2244,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2017-08-28T22:20:37+00:00" + "time": "2017-10-04T17:15:30+00:00" }, { "name": "symfony/filesystem", - "version": "v3.3.8", + "version": "v3.3.10", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b32a0e5f928d0fa3d1dd03c78d020777e50c10cb" + "reference": "90bc45abf02ae6b7deb43895c1052cb0038506f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b32a0e5f928d0fa3d1dd03c78d020777e50c10cb", - "reference": "b32a0e5f928d0fa3d1dd03c78d020777e50c10cb", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/90bc45abf02ae6b7deb43895c1052cb0038506f1", + "reference": "90bc45abf02ae6b7deb43895c1052cb0038506f1", "shasum": "" }, "require": { @@ -2293,20 +2293,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2017-07-29T21:54:42+00:00" + "time": "2017-10-03T13:33:10+00:00" }, { "name": "symfony/finder", - "version": "v3.3.8", + "version": "v3.3.10", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "b2260dbc80f3c4198f903215f91a1ac7fe9fe09e" + "reference": "773e19a491d97926f236942484cb541560ce862d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/b2260dbc80f3c4198f903215f91a1ac7fe9fe09e", - "reference": "b2260dbc80f3c4198f903215f91a1ac7fe9fe09e", + "url": "https://api.github.com/repos/symfony/finder/zipball/773e19a491d97926f236942484cb541560ce862d", + "reference": "773e19a491d97926f236942484cb541560ce862d", "shasum": "" }, "require": { @@ -2342,20 +2342,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2017-07-29T21:54:42+00:00" + "time": "2017-10-02T06:42:24+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.5.0", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803" + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7c8fae0ac1d216eb54349e6a8baa57d515fe8803", - "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", "shasum": "" }, "require": { @@ -2367,7 +2367,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5-dev" + "dev-master": "1.6-dev" } }, "autoload": { @@ -2401,20 +2401,20 @@ "portable", "shim" ], - "time": "2017-06-14T15:44:48+00:00" + "time": "2017-10-11T12:05:26+00:00" }, { "name": "symfony/yaml", - "version": "v3.3.8", + "version": "v3.3.10", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "1d8c2a99c80862bdc3af94c1781bf70f86bccac0" + "reference": "8c7bf1e7d5d6b05a690b715729cb4cd0c0a99c46" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/1d8c2a99c80862bdc3af94c1781bf70f86bccac0", - "reference": "1d8c2a99c80862bdc3af94c1781bf70f86bccac0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/8c7bf1e7d5d6b05a690b715729cb4cd0c0a99c46", + "reference": "8c7bf1e7d5d6b05a690b715729cb4cd0c0a99c46", "shasum": "" }, "require": { @@ -2456,7 +2456,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2017-07-29T21:54:42+00:00" + "time": "2017-10-05T14:43:42+00:00" }, { "name": "theseer/fdomdocument", diff --git a/inc/languages/fr/LC_MESSAGES/shaarli.po b/inc/languages/fr/LC_MESSAGES/shaarli.po index 46b457e4..cb9161db 100644 --- a/inc/languages/fr/LC_MESSAGES/shaarli.po +++ b/inc/languages/fr/LC_MESSAGES/shaarli.po @@ -1,34 +1,45 @@ msgid "" msgstr "" "Project-Id-Version: Shaarli\n" -"POT-Creation-Date: 2017-05-20 15:36+0200\n" -"PO-Revision-Date: 2017-05-20 15:40+0200\n" +"POT-Creation-Date: 2017-09-01 19:21+0200\n" +"PO-Revision-Date: 2017-09-01 19:21+0200\n" "Last-Translator: \n" "Language-Team: Shaarli\n" "Language: fr_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.1\n" +"X-Generator: Poedit 2.0.3\n" "X-Poedit-Basepath: ../../../..\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: t:1,2;t\n" "X-Poedit-SearchPath-0: .\n" -#: application/ApplicationUtils.php:180 application/ApplicationUtils.php:192 +#: application/ApplicationUtils.php:153 +#, php-format +msgid "" +"Your PHP version is obsolete! Shaarli requires at least PHP %s, and thus " +"cannot run. Your PHP version has known security vulnerabilities and should " +"be updated as soon as possible." +msgstr "" +"Votre version de PHP est obsolète ! Shaarli nécessite au moins PHP %s, et ne " +"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." + +#: application/ApplicationUtils.php:182 application/ApplicationUtils.php:194 msgid "directory is not readable" msgstr "le répertoire n'est pas accessible en lecture" -#: application/ApplicationUtils.php:195 +#: application/ApplicationUtils.php:197 msgid "directory is not writable" msgstr "le répertoire n'est pas accessible en écriture" -#: application/ApplicationUtils.php:213 +#: application/ApplicationUtils.php:215 msgid "file is not readable" msgstr "le fichier n'est pas accessible en lecture" -#: application/ApplicationUtils.php:216 +#: application/ApplicationUtils.php:218 msgid "file is not writable" msgstr "le fichier n'est pas accessible en écriture" @@ -37,14 +48,13 @@ msgstr "le fichier n'est pas accessible en écriture" msgid "Cannot purge %s: no directory" msgstr "Impossible de purger %s: le répertoire n'existe pas" -#: application/FeedBuilder.php:146 +#: application/FeedBuilder.php:151 msgid "Direct link" msgstr "Liens directs" -#: application/FeedBuilder.php:148 +#: application/FeedBuilder.php:153 #: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:88 -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:177 -#: tmp/paper.b91ef64efc3688266305ea9b42e5017e.rtpl.php:88 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:178 msgid "Permalink" msgstr "Permalien" @@ -56,6 +66,18 @@ msgstr "Le fichier d'historique n'est pas accessible en lecture ou en écriture" msgid "Could not parse history file" msgstr "Format incorrect pour le fichier d'historique" +#: application/Languages.php:159 +msgid "Automatic" +msgstr "Automatique" + +#: application/Languages.php:160 +msgid "English" +msgstr "Anglais" + +#: application/Languages.php:161 +msgid "French" +msgstr "Français" + #: application/LinkDB.php:136 msgid "You are not authorized to add a link." msgstr "Vous n'êtes pas autorisé à ajouter un lien." @@ -73,8 +95,10 @@ msgid "Array offset and link ID must be equal." msgstr "La clé du tableau et l'ID du lien doivent être égaux." #: application/LinkDB.php:251 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 #: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:14 -#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:45 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:48 msgid "" "The personal, minimalist, super-fast, database free, bookmarking service" msgstr "" @@ -111,7 +135,7 @@ msgstr "" "Pssst ! Je suis un lien privé que VOUS êtes le seul à voir. Vous pouvez me " "supprimer aussi." -#: application/LinkFilter.php:376 +#: application/LinkFilter.php:415 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é." @@ -137,11 +161,11 @@ msgstr "" "a été importé avec succès : %d liens importés, %d liens écrasés, %d liens " "ignorés." -#: application/PageBuilder.php:159 +#: application/PageBuilder.php:160 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." -#: application/PageBuilder.php:161 +#: application/PageBuilder.php:162 msgid "404 Not Found" msgstr "404 Introuvable" @@ -154,44 +178,44 @@ msgstr "Les fichiers de l'extension \"%s\" sont introuvables." msgid "Couldn't retrieve Updater class methods." msgstr "Impossible de récupérer les méthodes de la classe Updater." -#: application/Updater.php:500 +#: application/Updater.php:485 msgid "An error occurred while running the update " msgstr "Une erreur s'est produite lors de l'exécution de la mise à jour " -#: application/Updater.php:540 +#: application/Updater.php:525 msgid "Updates file path is not set, can't write updates." msgstr "" "Le chemin vers le fichier de mise à jour n'est pas défini, impossible " "d'écrire les mises à jour." -#: application/Updater.php:545 +#: application/Updater.php:530 msgid "Unable to write updates in " msgstr "Impossible d'écrire les mises à jour dans " -#: application/Utils.php:402 tests/UtilsTest.php:398 +#: application/Utils.php:406 tests/UtilsTest.php:398 msgid "Setting not set" msgstr "Paramètre non défini" -#: application/Utils.php:409 tests/UtilsTest.php:396 tests/UtilsTest.php:397 +#: application/Utils.php:413 tests/UtilsTest.php:396 tests/UtilsTest.php:397 msgid "Unlimited" msgstr "Illimité" -#: application/Utils.php:412 tests/UtilsTest.php:393 tests/UtilsTest.php:394 +#: application/Utils.php:416 tests/UtilsTest.php:393 tests/UtilsTest.php:394 #: tests/UtilsTest.php:408 msgid "B" msgstr "o" -#: application/Utils.php:412 tests/UtilsTest.php:387 tests/UtilsTest.php:388 +#: application/Utils.php:416 tests/UtilsTest.php:387 tests/UtilsTest.php:388 #: tests/UtilsTest.php:395 msgid "kiB" msgstr "ko" -#: application/Utils.php:412 tests/UtilsTest.php:389 tests/UtilsTest.php:390 +#: application/Utils.php:416 tests/UtilsTest.php:389 tests/UtilsTest.php:390 #: tests/UtilsTest.php:406 tests/UtilsTest.php:407 msgid "MiB" msgstr "Mo" -#: application/Utils.php:412 tests/UtilsTest.php:391 tests/UtilsTest.php:392 +#: application/Utils.php:416 tests/UtilsTest.php:391 tests/UtilsTest.php:392 msgid "GiB" msgstr "Go" @@ -205,7 +229,7 @@ msgstr "" #: application/config/ConfigManager.php:135 msgid "Invalid setting key parameter. String expected, got: " -msgstr "Clé de paramétrage invalide. Chaîne de caractères obtenue, attendu :" +msgstr "Clé de paramétrage invalide. Chaîne de caractères obtenue, attendu : " #: application/config/exception/MissingFieldConfigException.php:21 #, php-format @@ -225,54 +249,58 @@ msgstr "Vous n'êtes pas autorisé à modifier la configuration." msgid "Error accessing" msgstr "Une erreur s'est produite en accédant à" -#: index.php:137 +#: index.php:134 msgid "Shared links on " msgstr "Liens partagés sur " -#: index.php:168 +#: index.php:156 msgid "Insufficient permissions:" msgstr "Permissions insuffisantes :" -#: index.php:415 +#: index.php:383 msgid "I said: NO. You are banned for the moment. Go away." msgstr "NON. Vous êtes banni pour le moment. Revenez plus tard." -#: index.php:479 +#: index.php:448 msgid "Wrong login/password." msgstr "Nom d'utilisateur ou mot de passe incorrects." -#: index.php:1072 +#: index.php:1091 msgid "You are not supposed to change a password on an Open Shaarli." msgstr "" "Vous n'êtes pas censé modifier le mot de passe d'un Shaarli en mode ouvert." -#: index.php:1077 index.php:1118 index.php:1189 index.php:1243 index.php:1350 +#: index.php:1096 index.php:1137 index.php:1213 index.php:1243 index.php:1343 msgid "Wrong token." msgstr "Jeton invalide." -#: index.php:1082 +#: index.php:1101 msgid "The old password is not correct." msgstr "L'ancien mot de passe est incorrect." -#: index.php:1102 +#: index.php:1121 msgid "Your password has been changed" msgstr "Votre mot de passe a été modifié" -#: index.php:1153 +#: index.php:1174 msgid "Configuration was saved." msgstr "La configuration a été sauvegardé." -#: index.php:1206 +#: index.php:1225 #, php-format -msgid "Tag was removed from %d links." -msgstr "Le tag a été supprimé de %d liens." +msgid "The tag was removed from %d link." +msgid_plural "The tag was removed from %d links." +msgstr[0] "Le tag a été supprimé de %d lien." +msgstr[1] "Le tag a été supprimé de %d liens." -#: index.php:1225 +#: index.php:1226 #, php-format -msgid "Tag was renamed in %d links." -msgstr "Le tag a été renommé dans %d liens." +msgid "The tag was renamed in %d link." +msgid_plural "The tag was renamed in %d links." +msgstr[0] "Le tag a été renommé dans %d lien." +msgstr[1] "Le tag a été renommé dans %d liens." -#: index.php:1544 +#: index.php:1551 #, php-format msgid "" "The file you are trying to upload is probably bigger than what this " @@ -282,7 +310,7 @@ msgstr "" "le serveur web peut accepter (%s). Merci de l'envoyer en parties plus " "légères." -#: index.php:1941 +#: index.php:1967 #, php-format msgid "" "
Sessions do not seem to work correctly on your server.
Make sure the " @@ -301,7 +329,7 @@ msgstr "" "cookies. Nous vous recommandons d'accéder à votre serveur depuis son adresse " "IP ou un Fully Qualified Domain Name.
" -#: index.php:1951 +#: index.php:1977 msgid "Click to try again." msgstr "Cliquer ici pour réessayer." @@ -326,7 +354,7 @@ msgstr "Voir sur archive.org" msgid "For each link, add an Archive.org icon." msgstr "Pour chaque lien, ajoute une icône pour Archive.org." -#: plugins/demo_plugin/demo_plugin.php:443 +#: plugins/demo_plugin/demo_plugin.php:469 msgid "" "A demo plugin covering all use cases for template designers and plugin " "developers." @@ -351,19 +379,19 @@ msgstr "" msgid "Isso server URL (without 'http://')" msgstr "URL du serveur Isso (sans 'http://')" -#: plugins/markdown/markdown.php:150 +#: plugins/markdown/markdown.php:159 msgid "Description will be rendered with" msgstr "La description sera générée avec" -#: plugins/markdown/markdown.php:151 +#: plugins/markdown/markdown.php:160 msgid "Markdown syntax documentation" msgstr "Documentation sur la syntaxe Markdown" -#: plugins/markdown/markdown.php:152 +#: plugins/markdown/markdown.php:161 msgid "Markdown syntax" msgstr "la syntaxe Markdown" -#: plugins/markdown/markdown.php:311 +#: plugins/markdown/markdown.php:340 msgid "" "Render shaare description with Markdown syntax.
Warning:\n" @@ -435,7 +463,7 @@ msgstr "Mauvaise réponse du hub %s" #: plugins/pubsubhubbub/pubsubhubbub.php:110 msgid "Enable PubSubHubbub feed publishing." -msgstr "Active la publication de flux vers PubSubHubbub" +msgstr "Active la publication de flux vers PubSubHubbub." #: plugins/qrcode/qrcode.php:69 plugins/wallabag/wallabag.php:68 msgid "For each link, add a QRCode icon." @@ -455,29 +483,26 @@ msgstr "Sauvegarder dans Wallabag" #: plugins/wallabag/wallabag.php:69 msgid "Wallabag API URL" -msgstr "URL de l'API Wallabag " +msgstr "URL de l'API Wallabag" #: plugins/wallabag/wallabag.php:70 msgid "Wallabag API version (1 or 2)" msgstr "Version de l'API Wallabag (1 ou 2)" -#: tests/LanguagesTest.php:186 tests/LanguagesTest.php:198 -#: tests/languages/fr/LanguagesFrTest.php:148 +#: tests/LanguagesTest.php:188 tests/LanguagesTest.php:201 #: tests/languages/fr/LanguagesFrTest.php:160 -msgid "car" -msgid_plural "car" -msgstr[0] "" -msgstr[1] "" - -#: tests/LanguagesTest.php:187 tests/LanguagesTest.php:199 -#: tests/languages/fr/LanguagesFrTest.php:149 -#: tests/languages/fr/LanguagesFrTest.php:161 +#: tests/languages/fr/LanguagesFrTest.php:173 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:81 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:81 msgid "Search" msgid_plural "Search" msgstr[0] "Rechercher" msgstr[1] "Rechercher" +#: tmp/404.b91ef64efc3688266305ea9b42e5017e.rtpl.php:12 +msgid "Sorry, nothing to see here." +msgstr "Désolé, il y a rien à voir ici." + #: tmp/addlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:13 msgid "Shaare a new link" msgstr "Partager un nouveau lien" @@ -497,7 +522,7 @@ msgstr "Mot de passe actuel" #: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 msgid "New password" -msgstr "Nouveau mot de passe\t" +msgstr "Nouveau mot de passe" #: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:23 msgid "Change" @@ -526,12 +551,19 @@ msgid "Rename" msgstr "Renommer" #: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:35 -#: tmp/editlink.90100d2eaf5d3705e14b9b4f78ecddc9.rtpl.php:60 -#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:71 -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:171 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:79 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:172 msgid "Delete" msgstr "Supprimer" +#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 +msgid "You can also edit tags in the" +msgstr "Vous pouvez aussi modifier les tags dans la" + +#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 +msgid "tag list" +msgstr "liste des tags" + #: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 msgid "Configure" msgstr "Configurer" @@ -553,138 +585,150 @@ msgid "Theme" msgstr "Thème" #: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:87 -#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:63 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:78 +msgid "Language" +msgstr "Langue" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:116 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:102 msgid "Timezone" msgstr "Fuseau horaire" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:88 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:103 msgid "Continent" msgstr "Continent" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:88 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:103 msgid "City" msgstr "Ville" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:134 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:163 msgid "Redirector" msgstr "Redirecteur" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:135 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:164 msgid "e. g." msgstr "ex :" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:135 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:164 msgid "will mask the HTTP_REFERER" msgstr "masque le HTTP_REFERER" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:150 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:179 msgid "Disable session cookie hijacking protection" msgstr "Désactiver la protection contre le détournement de cookies" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:152 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:181 msgid "Check this if you get disconnected or if your IP address changes often" msgstr "" "Cocher cette case si vous êtes souvent déconnecté ou si votre adresse IP " "change souvent" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:169 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:198 msgid "Private links by default" msgstr "Liens privés par défaut" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:170 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:199 msgid "All new links are private by default" msgstr "Tous les nouveaux liens sont privés par défaut" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:185 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:214 msgid "RSS direct links" msgstr "Liens directs dans le flux RSS" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:186 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:215 msgid "Check this to use direct URL instead of permalink in feeds" msgstr "" "Cocher cette case pour utiliser des liens directs au lieu des permaliens " "dans le flux RSS" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:201 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:230 msgid "Hide public links" msgstr "Cacher les liens publics" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:202 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:231 msgid "Do not show any links if the user is not logged in" msgstr "N'afficher aucun lien sans être connecté" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:217 -#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:95 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:246 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:150 msgid "Check updates" msgstr "Vérifier les mises à jour" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:218 -#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:97 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:247 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:152 msgid "Notify me when a new release is ready" msgstr "Me notifier lorsqu'une nouvelle version est disponible" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:233 -#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:114 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:262 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:169 msgid "Enable REST API" msgstr "Activer l'API REST" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:234 -#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:115 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:263 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:170 msgid "Allow third party software to use Shaarli such as mobile application" msgstr "" "Permets aux applications tierces d'utiliser Shaarli, par exemple les " "applications mobiles" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:249 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:278 msgid "API secret" msgstr "Clé d'API secrète" -#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:260 -#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:66 +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:289 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74 #: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:139 #: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:192 msgid "Save" msgstr "Enregistrer" #: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 -#: tmp/paper.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 msgid "The Daily Shaarli" msgstr "Le Quotidien Shaarli" #: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:17 -#: tmp/paper.b91ef64efc3688266305ea9b42e5017e.rtpl.php:17 msgid "1 RSS entry per day" msgstr "1 entrée RSS par jour" #: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:37 -#: tmp/paper.b91ef64efc3688266305ea9b42e5017e.rtpl.php:37 msgid "Previous day" msgstr "Jour précédent" #: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44 -#: tmp/paper.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44 msgid "All links of one day in a single page." msgstr "Tous les liens d'un jour sur une page." #: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:51 -#: tmp/paper.b91ef64efc3688266305ea9b42e5017e.rtpl.php:51 msgid "Next day" msgstr "Jour suivant" -#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:13 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:170 +msgid "Edit" +msgstr "Modifier" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:26 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:26 msgid "Shaare" msgstr "Shaare" -#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:21 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:25 +msgid "Created:" +msgstr "Création :" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28 msgid "URL" msgstr "URL" -#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:27 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34 msgid "Title" msgstr "Titre" -#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:33 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:40 #: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 #: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:75 #: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:99 @@ -692,16 +736,20 @@ msgstr "Titre" msgid "Description" msgstr "Description" -#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:46 msgid "Tags" msgstr "Tags" -#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:52 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:59 #: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:167 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:168 msgid "Private" msgstr "Privé" +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74 +msgid "Apply Changes" +msgstr "Appliquer les changements" + #: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 msgid "Export Database" msgstr "Exporter les données" @@ -783,114 +831,135 @@ msgstr "" #: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:33 #: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:30 -#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:149 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:147 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:147 msgid "Username" msgstr "Nom d'utilisateur" #: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 #: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34 -#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:150 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:148 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:148 msgid "Password" msgstr "Mot de passe" -#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:80 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:63 msgid "Shaarli title" msgstr "Titre du Shaarli" -#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:86 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:69 msgid "My links" msgstr "Mes liens" -#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:127 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:182 msgid "Install" msgstr "Installer" #: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:87 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:80 msgid "shaare" msgid_plural "shaares" msgstr[0] "shaare" msgstr[1] "shaares" #: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:18 -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:91 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:84 msgid "private link" msgid_plural "private links" msgstr[0] "lien privé" msgstr[1] "liens privés" #: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31 -#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:119 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:117 msgid "Search text" msgstr "Recherche texte" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:43 -#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:131 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:38 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:124 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:124 +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:33 +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:61 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:33 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:71 msgid "Filter by tag" msgstr "Filtrer par tag" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:118 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:111 msgid "Nothing found." msgstr "Aucun résultat." -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:126 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:119 #, php-format msgid "%s result" msgid_plural "%s results" msgstr[0] "%s résultat" msgstr[1] "%s résultats" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:130 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:123 msgid "for" msgstr "pour" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:137 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:130 msgid "tagged" msgstr "taggé" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:141 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:134 msgid "Remove tag" msgstr "Retirer le tag" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:150 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:143 msgid "with status" msgstr "avec le statut" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:169 -msgid "Edit" -msgstr "Modifier" +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:154 +msgid "without any tag" +msgstr "sans tag" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:173 -#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:39 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:174 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:42 msgid "Fold" msgstr "Replier" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:175 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:176 msgid "Edited: " -msgstr "Modifié :" +msgstr "Modifié : " -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:179 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:180 msgid "permalink" msgstr "permalien" -#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:181 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:182 msgid "Add tag" msgstr "Ajouter un tag" +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:7 #: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:7 msgid "Filters" msgstr "Filtres" +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:12 #: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:12 msgid "Filter private links" msgstr "Filtrer par liens privés" +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:18 #: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:18 -#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:40 +msgid "Filter untagged links" +msgstr "Filtrer par liens privés" + +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:22 +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:22 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:74 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:43 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:43 msgid "Fold all" msgstr "Replier tout" -#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:63 +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:67 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:67 msgid "Links per page" msgstr "Liens par page" @@ -902,71 +971,89 @@ msgstr "" "réessayer plus tard." #: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28 -#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 +#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:71 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:95 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:71 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:95 msgid "Login" msgstr "Connexion" -#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 -#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:153 +#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:151 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:151 msgid "Remember me" msgstr "Rester connecté" +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 #: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:14 -#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:45 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:48 msgid "by the Shaarli community" msgstr "par la communauté Shaarli" +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 #: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:15 msgid "Documentation" msgstr "Documentation" -#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:41 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:44 msgid "Expand" msgstr "Déplier" -#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:42 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:45 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:45 msgid "Expand all" msgstr "Déplier tout" -#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:43 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:46 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:46 msgid "Are you sure you want to delete this link?" msgstr "Êtes-vous sûr de vouloir supprimer ce lien ?" +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:31 msgid "Tools" msgstr "Outils" +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:36 #: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 -#: tmp/tagcloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 msgid "Tag cloud" msgstr "Nuage de tags" +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:39 msgid "Picture wall" msgstr "Mur d'images" +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:42 msgid "Daily" msgstr "Quotidien" +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:61 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:86 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:61 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:86 msgid "RSS Feed" msgstr "Flux RSS" +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:66 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:102 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:66 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:102 msgid "Logout" msgstr "Déconnexion" -#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:171 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:169 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:169 msgid "is available" msgstr "est disponible" -#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:178 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:176 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:176 msgid "Error" msgstr "Erreur" @@ -1041,26 +1128,34 @@ msgstr "Configuration des extensions" #: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 #: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 -#: tmp/tagcloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 msgid "tags" msgstr "tags" +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:23 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:23 +msgid "List all links with those tags" +msgstr "Lister tous les liens avec ces tags" + #: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 msgid "Tag list" msgstr "List des tags" +#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:3 #: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:3 msgid "Sort by:" msgstr "Trier par :" +#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:5 #: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:5 msgid "Cloud" msgstr "Nuage" +#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:6 #: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:6 msgid "Most used" msgstr "Plus utilisés" +#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:7 #: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:7 msgid "Alphabetical" msgstr "Alphabétique" @@ -1127,7 +1222,7 @@ msgstr "" "puis cliquer sur le marque page depuis un site que vous souhaitez partager." #: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:76 -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:95 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:100 msgid "" "Drag this link to your bookmarks toolbar or right-click it and Bookmark This " "Link" @@ -1139,22 +1234,27 @@ msgstr "" msgid "then click ✚Shaare link button in any page you want to share" msgstr "puis cliquer sur ✚Shaare depuis un site que vous souhaitez partager" -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:91 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:86 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:108 +msgid "The selected text is too long, it will be truncated." +msgstr "Le texte sélectionné est trop long, il sera tronqué." + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:96 msgid "Shaare link" msgstr "Shaare" -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:96 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:101 msgid "" "Then click ✚Add Note button anytime to start composing a private Note (text " "post) to your Shaarli" msgstr "" "Puis cliquer sur ✚Add Note pour commencer à rédiger une Note sur Shaarli" -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:99 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117 msgid "Add Note" msgstr "Ajouter une Note" -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:111 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:129 msgid "" "You need to browse your Shaarli over HTTPS to use this " "functionality." @@ -1162,25 +1262,25 @@ msgstr "" "Vous devez utiliser Shaarli en HTTPS pour utiliser cette " "fonctionalité." -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:116 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:134 msgid "Add to" msgstr "Ajouter à" -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:127 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:145 msgid "3rd party" msgstr "Applications tierces" -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:129 -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:135 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:147 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:153 msgid "Plugin" msgstr "Extension" -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:130 -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:136 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:148 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:154 msgid "plugin" msgstr "extension" -#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:157 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:175 msgid "" "Drag this link to your bookmarks toolbar, or right-click it and choose " "Bookmark This Link" @@ -1188,15 +1288,6 @@ msgstr "" "Glisser ce lien dans votre barre de favoris ou cliquer droit dessus et « " "Ajouter aux favoris »" -#~ msgid "" -#~ "Your PHP version is obsolete! Shaarli requires at least PHP %s, and thus " -#~ "cannot run. Your PHP version has known security vulnerabilities and " -#~ "should be updated as soon as possible." -#~ msgstr "" -#~ "Votre version de PHP est obsolète ! Shaarli nécessite au moins PHP %s, et " -#~ "ne 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." - #~ msgid "" #~ "An error occurred while parsing JSON configuration file (%s): error code #" #~ "%d" diff --git a/index.php b/index.php index 98171d78..1dc81843 100644 --- a/index.php +++ b/index.php @@ -1170,6 +1170,8 @@ function renderPage($conf, $pluginManager, $LINKSDB, $history) $conf->set('privacy.hide_public_links', !empty($_POST['hidePublicLinks'])); $conf->set('api.enabled', !empty($_POST['enableApi'])); $conf->set('api.secret', escape($_POST['apiSecret'])); + $conf->set('translation.language', escape($_POST['language'])); + try { $conf->write(isLoggedIn()); $history->updateSettings(); @@ -1207,6 +1209,8 @@ function renderPage($conf, $pluginManager, $LINKSDB, $history) $PAGE->assign('hide_public_links', $conf->get('privacy.hide_public_links', false)); $PAGE->assign('api_enabled', $conf->get('api.enabled', true)); $PAGE->assign('api_secret', $conf->get('api.secret')); + $PAGE->assign('languages', Languages::getAvailableLanguages()); + $PAGE->assign('language', $conf->get('translation.language')); $PAGE->renderPage('configure'); exit; } @@ -1232,9 +1236,10 @@ function renderPage($conf, $pluginManager, $LINKSDB, $history) } $delete = empty($_POST['totag']); $redirect = $delete ? 'do=changetag' : 'searchtags='. urlencode(escape($_POST['totag'])); + $count = count($alteredLinks); $alert = $delete - ? sprintf(t('The tag was removed from %d links.'), count($alteredLinks)) - : sprintf(t('The tag was renamed in %d links.'), count($alteredLinks)); + ? sprintf(t('The tag was removed from %d link.', 'The tag was removed from %d links.', $count), $count) + : sprintf(t('The tag was renamed in %d link.', 'The tag was renamed in %d links.', $count), $count); echo ''; exit; } @@ -1450,7 +1455,7 @@ function renderPage($conf, $pluginManager, $LINKSDB, $history) if ($url == '') { $url = '?' . smallHash($linkdate . $LINKSDB->getNextId()); - $title = $conf->get('general.default_note_title', 'Note: '); + $title = $conf->get('general.default_note_title', t('Note: ')); } $url = escape($url); $title = escape($title); @@ -2018,6 +2023,7 @@ function install($conf) } else { $conf->set('general.title', 'Shared links on '.escape(index_url($_SERVER))); } + $conf->set('translation.language', escape($_POST['language'])); $conf->set('updates.check_updates', !empty($_POST['updateCheck'])); $conf->set('api.enabled', !empty($_POST['enableApi'])); $conf->set( @@ -2049,6 +2055,7 @@ function install($conf) list($continents, $cities) = generateTimeZoneData(timezone_identifiers_list(), date_default_timezone_get()); $PAGE->assign('continents', $continents); $PAGE->assign('cities', $cities); + $PAGE->assign('languages', Languages::getAvailableLanguages()); $PAGE->renderPage('install'); exit; } diff --git a/tests/LanguagesTest.php b/tests/LanguagesTest.php index 46bfcd72..864ce630 100644 --- a/tests/LanguagesTest.php +++ b/tests/LanguagesTest.php @@ -183,7 +183,8 @@ class LanguagesTest extends \PHPUnit_Framework_TestCase $this->conf->set('translation.mode', 'gettext'); $this->conf->set('translation.extensions.test', 'tests/utils/languages/'); new Languages('en', $this->conf); - $this->assertEquals('car', t('car', 'car', 1, 'test')); + $txt = 'car'; // ignore me poedit + $this->assertEquals('car', t($txt, $txt, 1, 'test')); $this->assertEquals('Search', t('Search', 'Search', 1, 'test')); } @@ -195,7 +196,8 @@ class LanguagesTest extends \PHPUnit_Framework_TestCase $this->conf->set('translation.mode', 'php'); $this->conf->set('translation.extensions.test', 'tests/utils/languages/'); new Languages('en', $this->conf); - $this->assertEquals('car', t('car', 'car', 1, 'test')); + $txt = 'car'; // ignore me poedit + $this->assertEquals('car', t($txt, $txt, 1, 'test')); $this->assertEquals('Search', t('Search', 'Search', 1, 'test')); } } diff --git a/tests/languages/fr/LanguagesFrTest.php b/tests/languages/fr/LanguagesFrTest.php index c05a0f98..79d05172 100644 --- a/tests/languages/fr/LanguagesFrTest.php +++ b/tests/languages/fr/LanguagesFrTest.php @@ -155,7 +155,8 @@ class LanguagesFrTest extends \PHPUnit_Framework_TestCase $this->conf->set('translation.mode', 'gettext'); $this->conf->set('translation.extensions.test', 'tests/utils/languages/'); new Languages('en', $this->conf); - $this->assertEquals('voiture', t('car', 'car', 1, 'test')); + $txt = 'car'; // ignore me poedit + $this->assertEquals('voiture', t($txt, $txt, 1, 'test')); $this->assertEquals('Fouille', t('Search', 'Search', 1, 'test')); } @@ -167,7 +168,8 @@ class LanguagesFrTest extends \PHPUnit_Framework_TestCase $this->conf->set('translation.mode', 'php'); $this->conf->set('translation.extensions.test', 'tests/utils/languages/'); new Languages('en', $this->conf); - $this->assertEquals('voiture', t('car', 'car', 1, 'test')); + $txt = 'car'; // ignore me poedit + $this->assertEquals('voiture', t($txt, $txt, 1, 'test')); $this->assertEquals('Fouille', t('Search', 'Search', 1, 'test')); } } diff --git a/tpl/default/changetag.html b/tpl/default/changetag.html index 49dd20d9..6606c4fa 100644 --- a/tpl/default/changetag.html +++ b/tpl/default/changetag.html @@ -32,7 +32,7 @@ -

You can also edit tags in the tag list.

+

{'You can also edit tags in the'|t} {'tag list'|t}.

{include="page.footer"} diff --git a/tpl/default/configure.html b/tpl/default/configure.html index 76a1b9fd..cc3b299b 100644 --- a/tpl/default/configure.html +++ b/tpl/default/configure.html @@ -69,6 +69,30 @@ +
+
+
+ +
+
+
+
+ +
+
+
diff --git a/tpl/default/install.html b/tpl/default/install.html index 164d453b..6199b33d 100644 --- a/tpl/default/install.html +++ b/tpl/default/install.html @@ -65,6 +65,27 @@
+
+
+
+ +
+
+
+
+ +
+
+
+