Add language selection in the configure page of the default theme

This commit is contained in:
ArthurHoaro 2017-05-25 13:26:05 +02:00
parent d637976329
commit f39580c6fd
10 changed files with 383 additions and 223 deletions

View file

@ -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'),
];
}
}

View file

@ -36,7 +36,6 @@ class NetscapeBookmarkUtils
}
$bookmarkLinks = array();
7
foreach ($linkDb as $link) {
if ($link['private'] != 0 && $selection == 'public') {
continue;

104
composer.lock generated
View file

@ -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",

View file

@ -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
#, php-format
msgid "Tag was removed from %d links."
msgstr "Le tag a été supprimé de %d liens."
#: index.php:1225
#, php-format
msgid "Tag was renamed in %d links."
msgstr "Le tag a été renommé dans %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:1544
#: index.php:1226
#, php-format
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: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 ""
"<pre>Sessions do not seem to work correctly on your server.<br>Make sure the "
@ -301,7 +329,7 @@ msgstr ""
"cookies. Nous vous recommandons d'accéder à votre serveur depuis son adresse "
"IP ou un <em>Fully Qualified Domain Name</em>.<br>"
#: 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.<br><strong>Warning</"
"strong>:\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 <strong>HTTPS</strong> to use this "
"functionality."
@ -1162,25 +1262,25 @@ msgstr ""
"Vous devez utiliser Shaarli en <strong>HTTPS</strong> 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"

View file

@ -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 '<script>alert("'. $alert .'");document.location=\'?'. $redirect .'\';</script>';
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;
}

View file

@ -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'));
}
}

View file

@ -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'));
}
}

View file

@ -32,7 +32,7 @@
</div>
</form>
<p>You can also edit tags in the <a href="?do=taglist&sort=usage">tag list</a>.</p>
<p>{'You can also edit tags in the'|t} <a href="?do=taglist&sort=usage">{'tag list'|t}</a>.</p>
</div>
</div>
{include="page.footer"}

View file

@ -69,6 +69,30 @@
</div>
</div>
</div>
<div class="pure-g">
<div class="pure-u-lg-{$ratioLabel} pure-u-1">
<div class="form-label">
<label for="language">
<span class="label-name">{'Language'|t}</span>
</label>
</div>
</div>
<div class="pure-u-lg-{$ratioInput} pure-u-1">
<div class="form-input">
<select name="language" id="language" class="align">
{loop="$languages"}
<option value="{$key}"
{if="$key===$language"}
selected="selected"
{/if}
>
{$value}
</option>
{/loop}
</select>
</div>
</div>
</div>
<div class="pure-g">
<div class="pure-u-lg-{$ratioLabel} pure-u-1 ">
<div class="form-label">

View file

@ -65,6 +65,27 @@
</div>
</div>
<div class="pure-g">
<div class="pure-u-lg-{$ratioLabel} pure-u-1">
<div class="form-label">
<label for="language">
<span class="label-name">{'Language'|t}</span>
</label>
</div>
</div>
<div class="pure-u-lg-{$ratioInput} pure-u-1">
<div class="form-input">
<select name="language" id="language" class="align">
{loop="$languages"}
<option value="{$key}">
{$value}
</option>
{/loop}
</select>
</div>
</div>
</div>
<div class="pure-g">
<div class="pure-u-lg-{$ratioLabel} pure-u-1">
<div class="form-label">