diff options
-rw-r--r-- | Dockerfile.armhf | 8 | ||||
-rw-r--r-- | application/bookmark/BookmarkIO.php | 22 | ||||
-rw-r--r-- | application/front/controller/admin/ServerController.php | 7 | ||||
-rw-r--r-- | application/front/controller/visitor/InstallController.php | 7 | ||||
-rw-r--r-- | application/helper/ApplicationUtils.php | 16 | ||||
-rw-r--r-- | inc/languages/fr/LC_MESSAGES/shaarli.po | 186 | ||||
-rw-r--r-- | yarn.lock | 6 |
7 files changed, 152 insertions, 100 deletions
diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 5bbf6680..471f2397 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf | |||
@@ -1,7 +1,7 @@ | |||
1 | # Stage 1: | 1 | # Stage 1: |
2 | # - Copy Shaarli sources | 2 | # - Copy Shaarli sources |
3 | # - Build documentation | 3 | # - Build documentation |
4 | FROM arm32v6/alpine:3.8 as docs | 4 | FROM arm32v6/alpine:3.10 as docs |
5 | ADD . /usr/src/app/shaarli | 5 | ADD . /usr/src/app/shaarli |
6 | RUN apk --update --no-cache add py2-pip \ | 6 | RUN apk --update --no-cache add py2-pip \ |
7 | && cd /usr/src/app/shaarli \ | 7 | && cd /usr/src/app/shaarli \ |
@@ -10,7 +10,7 @@ RUN apk --update --no-cache add py2-pip \ | |||
10 | 10 | ||
11 | # Stage 2: | 11 | # Stage 2: |
12 | # - Resolve PHP dependencies with Composer | 12 | # - Resolve PHP dependencies with Composer |
13 | FROM arm32v6/alpine:3.8 as composer | 13 | FROM arm32v6/alpine:3.10 as composer |
14 | COPY --from=docs /usr/src/app/shaarli /app/shaarli | 14 | COPY --from=docs /usr/src/app/shaarli /app/shaarli |
15 | RUN apk --update --no-cache add php7-curl php7-mbstring php7-simplexml composer \ | 15 | RUN apk --update --no-cache add php7-curl php7-mbstring php7-simplexml composer \ |
16 | && cd /app/shaarli \ | 16 | && cd /app/shaarli \ |
@@ -18,7 +18,7 @@ RUN apk --update --no-cache add php7-curl php7-mbstring php7-simplexml composer | |||
18 | 18 | ||
19 | # Stage 3: | 19 | # Stage 3: |
20 | # - Frontend dependencies | 20 | # - Frontend dependencies |
21 | FROM arm32v6/alpine:3.8 as node | 21 | FROM arm32v6/alpine:3.10 as node |
22 | COPY --from=composer /app/shaarli /shaarli | 22 | COPY --from=composer /app/shaarli /shaarli |
23 | RUN apk --update --no-cache add yarn nodejs-current python2 build-base \ | 23 | RUN apk --update --no-cache add yarn nodejs-current python2 build-base \ |
24 | && cd /shaarli \ | 24 | && cd /shaarli \ |
@@ -28,7 +28,7 @@ RUN apk --update --no-cache add yarn nodejs-current python2 build-base \ | |||
28 | 28 | ||
29 | # Stage 4: | 29 | # Stage 4: |
30 | # - Shaarli image | 30 | # - Shaarli image |
31 | FROM arm32v6/alpine:3.8 | 31 | FROM arm32v6/alpine:3.10 |
32 | LABEL maintainer="Shaarli Community" | 32 | LABEL maintainer="Shaarli Community" |
33 | 33 | ||
34 | RUN apk --update --no-cache add \ | 34 | RUN apk --update --no-cache add \ |
diff --git a/application/bookmark/BookmarkIO.php b/application/bookmark/BookmarkIO.php index c78dbe41..8439d470 100644 --- a/application/bookmark/BookmarkIO.php +++ b/application/bookmark/BookmarkIO.php | |||
@@ -4,6 +4,7 @@ declare(strict_types=1); | |||
4 | 4 | ||
5 | namespace Shaarli\Bookmark; | 5 | namespace Shaarli\Bookmark; |
6 | 6 | ||
7 | use malkusch\lock\exception\LockAcquireException; | ||
7 | use malkusch\lock\mutex\Mutex; | 8 | use malkusch\lock\mutex\Mutex; |
8 | use malkusch\lock\mutex\NoMutex; | 9 | use malkusch\lock\mutex\NoMutex; |
9 | use Shaarli\Bookmark\Exception\DatastoreNotInitializedException; | 10 | use Shaarli\Bookmark\Exception\DatastoreNotInitializedException; |
@@ -80,7 +81,7 @@ class BookmarkIO | |||
80 | } | 81 | } |
81 | 82 | ||
82 | $content = null; | 83 | $content = null; |
83 | $this->mutex->synchronized(function () use (&$content) { | 84 | $this->synchronized(function () use (&$content) { |
84 | $content = file_get_contents($this->datastore); | 85 | $content = file_get_contents($this->datastore); |
85 | }); | 86 | }); |
86 | 87 | ||
@@ -119,11 +120,28 @@ class BookmarkIO | |||
119 | 120 | ||
120 | $data = self::$phpPrefix . base64_encode(gzdeflate(serialize($links))) . self::$phpSuffix; | 121 | $data = self::$phpPrefix . base64_encode(gzdeflate(serialize($links))) . self::$phpSuffix; |
121 | 122 | ||
122 | $this->mutex->synchronized(function () use ($data) { | 123 | $this->synchronized(function () use ($data) { |
123 | file_put_contents( | 124 | file_put_contents( |
124 | $this->datastore, | 125 | $this->datastore, |
125 | $data | 126 | $data |
126 | ); | 127 | ); |
127 | }); | 128 | }); |
128 | } | 129 | } |
130 | |||
131 | /** | ||
132 | * Wrapper applying mutex to provided function. | ||
133 | * If the lock can't be acquired (e.g. some shared hosting provider), we execute the function without mutex. | ||
134 | * | ||
135 | * @see https://github.com/shaarli/Shaarli/issues/1650 | ||
136 | * | ||
137 | * @param callable $function | ||
138 | */ | ||
139 | protected function synchronized(callable $function): void | ||
140 | { | ||
141 | try { | ||
142 | $this->mutex->synchronized($function); | ||
143 | } catch (LockAcquireException $exception) { | ||
144 | $function(); | ||
145 | } | ||
146 | } | ||
129 | } | 147 | } |
diff --git a/application/front/controller/admin/ServerController.php b/application/front/controller/admin/ServerController.php index fabeaf2f..4b74f4a9 100644 --- a/application/front/controller/admin/ServerController.php +++ b/application/front/controller/admin/ServerController.php | |||
@@ -39,11 +39,16 @@ class ServerController extends ShaarliAdminController | |||
39 | $currentVersion = $currentVersion === 'dev' ? $currentVersion : 'v' . $currentVersion; | 39 | $currentVersion = $currentVersion === 'dev' ? $currentVersion : 'v' . $currentVersion; |
40 | $phpEol = new \DateTimeImmutable(ApplicationUtils::getPhpEol(PHP_VERSION)); | 40 | $phpEol = new \DateTimeImmutable(ApplicationUtils::getPhpEol(PHP_VERSION)); |
41 | 41 | ||
42 | $permissions = array_merge( | ||
43 | ApplicationUtils::checkResourcePermissions($this->container->conf), | ||
44 | ApplicationUtils::checkDatastoreMutex() | ||
45 | ); | ||
46 | |||
42 | $this->assignView('php_version', PHP_VERSION); | 47 | $this->assignView('php_version', PHP_VERSION); |
43 | $this->assignView('php_eol', format_date($phpEol, false)); | 48 | $this->assignView('php_eol', format_date($phpEol, false)); |
44 | $this->assignView('php_has_reached_eol', $phpEol < new \DateTimeImmutable()); | 49 | $this->assignView('php_has_reached_eol', $phpEol < new \DateTimeImmutable()); |
45 | $this->assignView('php_extensions', ApplicationUtils::getPhpExtensionsRequirement()); | 50 | $this->assignView('php_extensions', ApplicationUtils::getPhpExtensionsRequirement()); |
46 | $this->assignView('permissions', ApplicationUtils::checkResourcePermissions($this->container->conf)); | 51 | $this->assignView('permissions', $permissions); |
47 | $this->assignView('release_url', $releaseUrl); | 52 | $this->assignView('release_url', $releaseUrl); |
48 | $this->assignView('latest_version', $latestVersion); | 53 | $this->assignView('latest_version', $latestVersion); |
49 | $this->assignView('current_version', $currentVersion); | 54 | $this->assignView('current_version', $currentVersion); |
diff --git a/application/front/controller/visitor/InstallController.php b/application/front/controller/visitor/InstallController.php index bf965929..418d4a49 100644 --- a/application/front/controller/visitor/InstallController.php +++ b/application/front/controller/visitor/InstallController.php | |||
@@ -56,11 +56,16 @@ class InstallController extends ShaarliVisitorController | |||
56 | 56 | ||
57 | $phpEol = new \DateTimeImmutable(ApplicationUtils::getPhpEol(PHP_VERSION)); | 57 | $phpEol = new \DateTimeImmutable(ApplicationUtils::getPhpEol(PHP_VERSION)); |
58 | 58 | ||
59 | $permissions = array_merge( | ||
60 | ApplicationUtils::checkResourcePermissions($this->container->conf), | ||
61 | ApplicationUtils::checkDatastoreMutex() | ||
62 | ); | ||
63 | |||
59 | $this->assignView('php_version', PHP_VERSION); | 64 | $this->assignView('php_version', PHP_VERSION); |
60 | $this->assignView('php_eol', format_date($phpEol, false)); | 65 | $this->assignView('php_eol', format_date($phpEol, false)); |
61 | $this->assignView('php_has_reached_eol', $phpEol < new \DateTimeImmutable()); | 66 | $this->assignView('php_has_reached_eol', $phpEol < new \DateTimeImmutable()); |
62 | $this->assignView('php_extensions', ApplicationUtils::getPhpExtensionsRequirement()); | 67 | $this->assignView('php_extensions', ApplicationUtils::getPhpExtensionsRequirement()); |
63 | $this->assignView('permissions', ApplicationUtils::checkResourcePermissions($this->container->conf)); | 68 | $this->assignView('permissions', $permissions); |
64 | 69 | ||
65 | $this->assignView('pagetitle', t('Install Shaarli')); | 70 | $this->assignView('pagetitle', t('Install Shaarli')); |
66 | 71 | ||
diff --git a/application/helper/ApplicationUtils.php b/application/helper/ApplicationUtils.php index 212dd8e2..a6c03aae 100644 --- a/application/helper/ApplicationUtils.php +++ b/application/helper/ApplicationUtils.php | |||
@@ -3,6 +3,8 @@ | |||
3 | namespace Shaarli\Helper; | 3 | namespace Shaarli\Helper; |
4 | 4 | ||
5 | use Exception; | 5 | use Exception; |
6 | use malkusch\lock\exception\LockAcquireException; | ||
7 | use malkusch\lock\mutex\FlockMutex; | ||
6 | use Shaarli\Config\ConfigManager; | 8 | use Shaarli\Config\ConfigManager; |
7 | 9 | ||
8 | /** | 10 | /** |
@@ -252,6 +254,20 @@ class ApplicationUtils | |||
252 | return $errors; | 254 | return $errors; |
253 | } | 255 | } |
254 | 256 | ||
257 | public static function checkDatastoreMutex(): array | ||
258 | { | ||
259 | $mutex = new FlockMutex(fopen(SHAARLI_MUTEX_FILE, 'r'), 2); | ||
260 | try { | ||
261 | $mutex->synchronized(function () { | ||
262 | return true; | ||
263 | }); | ||
264 | } catch (LockAcquireException $e) { | ||
265 | $errors[] = t('Lock can not be acquired on the datastore. You might encounter concurrent access issues.'); | ||
266 | } | ||
267 | |||
268 | return $errors ?? []; | ||
269 | } | ||
270 | |||
255 | /** | 271 | /** |
256 | * Returns a salted hash representing the current Shaarli version. | 272 | * Returns a salted hash representing the current Shaarli version. |
257 | * | 273 | * |
diff --git a/inc/languages/fr/LC_MESSAGES/shaarli.po b/inc/languages/fr/LC_MESSAGES/shaarli.po index 26dede4e..01492af4 100644 --- a/inc/languages/fr/LC_MESSAGES/shaarli.po +++ b/inc/languages/fr/LC_MESSAGES/shaarli.po | |||
@@ -1,8 +1,8 @@ | |||
1 | msgid "" | 1 | msgid "" |
2 | msgstr "" | 2 | msgstr "" |
3 | "Project-Id-Version: Shaarli\n" | 3 | "Project-Id-Version: Shaarli\n" |
4 | "POT-Creation-Date: 2020-11-09 14:39+0100\n" | 4 | "POT-Creation-Date: 2020-11-24 13:13+0100\n" |
5 | "PO-Revision-Date: 2020-11-09 14:42+0100\n" | 5 | "PO-Revision-Date: 2020-11-24 13:14+0100\n" |
6 | "Last-Translator: \n" | 6 | "Last-Translator: \n" |
7 | "Language-Team: Shaarli\n" | 7 | "Language-Team: Shaarli\n" |
8 | "Language: fr_FR\n" | 8 | "Language: fr_FR\n" |
@@ -20,31 +20,31 @@ msgstr "" | |||
20 | "X-Poedit-SearchPath-3: init.php\n" | 20 | "X-Poedit-SearchPath-3: init.php\n" |
21 | "X-Poedit-SearchPath-4: plugins\n" | 21 | "X-Poedit-SearchPath-4: plugins\n" |
22 | 22 | ||
23 | #: application/History.php:180 | 23 | #: application/History.php:181 |
24 | msgid "History file isn't readable or writable" | 24 | msgid "History file isn't readable or writable" |
25 | msgstr "Le fichier d'historique n'est pas accessible en lecture ou en écriture" | 25 | msgstr "Le fichier d'historique n'est pas accessible en lecture ou en écriture" |
26 | 26 | ||
27 | #: application/History.php:191 | 27 | #: application/History.php:192 |
28 | msgid "Could not parse history file" | 28 | msgid "Could not parse history file" |
29 | msgstr "Format incorrect pour le fichier d'historique" | 29 | msgstr "Format incorrect pour le fichier d'historique" |
30 | 30 | ||
31 | #: application/Languages.php:181 | 31 | #: application/Languages.php:184 |
32 | msgid "Automatic" | 32 | msgid "Automatic" |
33 | msgstr "Automatique" | 33 | msgstr "Automatique" |
34 | 34 | ||
35 | #: application/Languages.php:182 | 35 | #: application/Languages.php:185 |
36 | msgid "German" | 36 | msgid "German" |
37 | msgstr "Allemand" | 37 | msgstr "Allemand" |
38 | 38 | ||
39 | #: application/Languages.php:183 | 39 | #: application/Languages.php:186 |
40 | msgid "English" | 40 | msgid "English" |
41 | msgstr "Anglais" | 41 | msgstr "Anglais" |
42 | 42 | ||
43 | #: application/Languages.php:184 | 43 | #: application/Languages.php:187 |
44 | msgid "French" | 44 | msgid "French" |
45 | msgstr "Français" | 45 | msgstr "Français" |
46 | 46 | ||
47 | #: application/Languages.php:185 | 47 | #: application/Languages.php:188 |
48 | msgid "Japanese" | 48 | msgid "Japanese" |
49 | msgstr "Japonais" | 49 | msgstr "Japonais" |
50 | 50 | ||
@@ -56,46 +56,46 @@ msgstr "" | |||
56 | "l'extension php-gd doit être chargée pour utiliser les miniatures. Les " | 56 | "l'extension php-gd doit être chargée pour utiliser les miniatures. Les " |
57 | "miniatures sont désormais désactivées. Rechargez la page." | 57 | "miniatures sont désormais désactivées. Rechargez la page." |
58 | 58 | ||
59 | #: application/Utils.php:402 | 59 | #: application/Utils.php:405 |
60 | msgid "Setting not set" | 60 | msgid "Setting not set" |
61 | msgstr "Paramètre non défini" | 61 | msgstr "Paramètre non défini" |
62 | 62 | ||
63 | #: application/Utils.php:409 | 63 | #: application/Utils.php:412 |
64 | msgid "Unlimited" | 64 | msgid "Unlimited" |
65 | msgstr "Illimité" | 65 | msgstr "Illimité" |
66 | 66 | ||
67 | #: application/Utils.php:412 | 67 | #: application/Utils.php:415 |
68 | msgid "B" | 68 | msgid "B" |
69 | msgstr "o" | 69 | msgstr "o" |
70 | 70 | ||
71 | #: application/Utils.php:412 | 71 | #: application/Utils.php:415 |
72 | msgid "kiB" | 72 | msgid "kiB" |
73 | msgstr "ko" | 73 | msgstr "ko" |
74 | 74 | ||
75 | #: application/Utils.php:412 | 75 | #: application/Utils.php:415 |
76 | msgid "MiB" | 76 | msgid "MiB" |
77 | msgstr "Mo" | 77 | msgstr "Mo" |
78 | 78 | ||
79 | #: application/Utils.php:412 | 79 | #: application/Utils.php:415 |
80 | msgid "GiB" | 80 | msgid "GiB" |
81 | msgstr "Go" | 81 | msgstr "Go" |
82 | 82 | ||
83 | #: application/bookmark/BookmarkFileService.php:183 | 83 | #: application/bookmark/BookmarkFileService.php:185 |
84 | #: application/bookmark/BookmarkFileService.php:205 | 84 | #: application/bookmark/BookmarkFileService.php:207 |
85 | #: application/bookmark/BookmarkFileService.php:227 | 85 | #: application/bookmark/BookmarkFileService.php:229 |
86 | #: application/bookmark/BookmarkFileService.php:241 | 86 | #: application/bookmark/BookmarkFileService.php:243 |
87 | msgid "You're not authorized to alter the datastore" | 87 | msgid "You're not authorized to alter the datastore" |
88 | msgstr "Vous n'êtes pas autorisé à modifier les données" | 88 | msgstr "Vous n'êtes pas autorisé à modifier les données" |
89 | 89 | ||
90 | #: application/bookmark/BookmarkFileService.php:208 | 90 | #: application/bookmark/BookmarkFileService.php:210 |
91 | msgid "This bookmarks already exists" | 91 | msgid "This bookmarks already exists" |
92 | msgstr "Ce marque-page existe déjà" | 92 | msgstr "Ce marque-page existe déjà" |
93 | 93 | ||
94 | #: application/bookmark/BookmarkInitializer.php:39 | 94 | #: application/bookmark/BookmarkInitializer.php:42 |
95 | msgid "(private bookmark with thumbnail demo)" | 95 | msgid "(private bookmark with thumbnail demo)" |
96 | msgstr "(marque page privé avec une miniature)" | 96 | msgstr "(marque page privé avec une miniature)" |
97 | 97 | ||
98 | #: application/bookmark/BookmarkInitializer.php:42 | 98 | #: application/bookmark/BookmarkInitializer.php:45 |
99 | msgid "" | 99 | msgid "" |
100 | "Shaarli will automatically pick up the thumbnail for links to a variety of " | 100 | "Shaarli will automatically pick up the thumbnail for links to a variety of " |
101 | "websites.\n" | 101 | "websites.\n" |
@@ -118,11 +118,11 @@ msgstr "" | |||
118 | "\n" | 118 | "\n" |
119 | "Maintenant, vous pouvez modifier ou supprimer les shaares créés par défaut.\n" | 119 | "Maintenant, vous pouvez modifier ou supprimer les shaares créés par défaut.\n" |
120 | 120 | ||
121 | #: application/bookmark/BookmarkInitializer.php:55 | 121 | #: application/bookmark/BookmarkInitializer.php:58 |
122 | msgid "Note: Shaare descriptions" | 122 | msgid "Note: Shaare descriptions" |
123 | msgstr "Note : Description des Shaares" | 123 | msgstr "Note : Description des Shaares" |
124 | 124 | ||
125 | #: application/bookmark/BookmarkInitializer.php:57 | 125 | #: application/bookmark/BookmarkInitializer.php:60 |
126 | msgid "" | 126 | msgid "" |
127 | "Adding a shaare without entering a URL creates a text-only \"note\" post " | 127 | "Adding a shaare without entering a URL creates a text-only \"note\" post " |
128 | "such as this one.\n" | 128 | "such as this one.\n" |
@@ -186,7 +186,7 @@ msgstr "" | |||
186 | "| Citron | Fruit | Jaune | 30 |\n" | 186 | "| Citron | Fruit | Jaune | 30 |\n" |
187 | "| Carotte | Légume | Orange | 14 |\n" | 187 | "| Carotte | Légume | Orange | 14 |\n" |
188 | 188 | ||
189 | #: application/bookmark/BookmarkInitializer.php:91 | 189 | #: application/bookmark/BookmarkInitializer.php:94 |
190 | #: application/legacy/LegacyLinkDB.php:246 | 190 | #: application/legacy/LegacyLinkDB.php:246 |
191 | #: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 | 191 | #: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 |
192 | #: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 | 192 | #: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 |
@@ -198,7 +198,7 @@ msgstr "" | |||
198 | "Le gestionnaire de marque-pages personnel, minimaliste, et sans base de " | 198 | "Le gestionnaire de marque-pages personnel, minimaliste, et sans base de " |
199 | "données" | 199 | "données" |
200 | 200 | ||
201 | #: application/bookmark/BookmarkInitializer.php:94 | 201 | #: application/bookmark/BookmarkInitializer.php:97 |
202 | msgid "" | 202 | msgid "" |
203 | "Welcome to Shaarli!\n" | 203 | "Welcome to Shaarli!\n" |
204 | "\n" | 204 | "\n" |
@@ -247,11 +247,11 @@ msgstr "" | |||
247 | "issues) si vous avez une suggestion ou si vous rencontrez un problème.\n" | 247 | "issues) si vous avez une suggestion ou si vous rencontrez un problème.\n" |
248 | " \n" | 248 | " \n" |
249 | 249 | ||
250 | #: application/bookmark/exception/BookmarkNotFoundException.php:13 | 250 | #: application/bookmark/exception/BookmarkNotFoundException.php:14 |
251 | msgid "The link you are trying to reach does not exist or has been deleted." | 251 | msgid "The link you are trying to reach does not exist or has been deleted." |
252 | msgstr "Le lien que vous essayez de consulter n'existe pas ou a été supprimé." | 252 | msgstr "Le lien que vous essayez de consulter n'existe pas ou a été supprimé." |
253 | 253 | ||
254 | #: application/config/ConfigJson.php:52 application/config/ConfigPhp.php:129 | 254 | #: application/config/ConfigJson.php:52 application/config/ConfigPhp.php:131 |
255 | msgid "" | 255 | msgid "" |
256 | "Shaarli could not create the config file. Please make sure Shaarli has the " | 256 | "Shaarli could not create the config file. Please make sure Shaarli has the " |
257 | "right to write in the folder is it installed in." | 257 | "right to write in the folder is it installed in." |
@@ -259,12 +259,12 @@ msgstr "" | |||
259 | "Shaarli n'a pas pu créer le fichier de configuration. Merci de vérifier que " | 259 | "Shaarli n'a pas pu créer le fichier de configuration. Merci de vérifier que " |
260 | "Shaarli a les droits d'écriture dans le dossier dans lequel il est installé." | 260 | "Shaarli a les droits d'écriture dans le dossier dans lequel il est installé." |
261 | 261 | ||
262 | #: application/config/ConfigManager.php:136 | 262 | #: application/config/ConfigManager.php:137 |
263 | #: application/config/ConfigManager.php:163 | 263 | #: application/config/ConfigManager.php:164 |
264 | msgid "Invalid setting key parameter. String expected, got: " | 264 | msgid "Invalid setting key parameter. String expected, got: " |
265 | msgstr "Clé de paramétrage invalide. Chaîne de caractères obtenue, attendu : " | 265 | msgstr "Clé de paramétrage invalide. Chaîne de caractères obtenue, attendu : " |
266 | 266 | ||
267 | #: application/config/exception/MissingFieldConfigException.php:21 | 267 | #: application/config/exception/MissingFieldConfigException.php:20 |
268 | #, php-format | 268 | #, php-format |
269 | msgid "Configuration value is required for %s" | 269 | msgid "Configuration value is required for %s" |
270 | msgstr "Le paramètre %s est obligatoire" | 270 | msgstr "Le paramètre %s est obligatoire" |
@@ -274,48 +274,48 @@ msgid "An error occurred while trying to save plugins loading order." | |||
274 | msgstr "" | 274 | msgstr "" |
275 | "Une erreur s'est produite lors de la sauvegarde de l'ordre des extensions." | 275 | "Une erreur s'est produite lors de la sauvegarde de l'ordre des extensions." |
276 | 276 | ||
277 | #: application/config/exception/UnauthorizedConfigException.php:16 | 277 | #: application/config/exception/UnauthorizedConfigException.php:15 |
278 | msgid "You are not authorized to alter config." | 278 | msgid "You are not authorized to alter config." |
279 | msgstr "Vous n'êtes pas autorisé à modifier la configuration." | 279 | msgstr "Vous n'êtes pas autorisé à modifier la configuration." |
280 | 280 | ||
281 | #: application/exceptions/IOException.php:22 | 281 | #: application/exceptions/IOException.php:23 |
282 | msgid "Error accessing" | 282 | msgid "Error accessing" |
283 | msgstr "Une erreur s'est produite en accédant à" | 283 | msgstr "Une erreur s'est produite en accédant à" |
284 | 284 | ||
285 | #: application/feed/FeedBuilder.php:179 | 285 | #: application/feed/FeedBuilder.php:180 |
286 | msgid "Direct link" | 286 | msgid "Direct link" |
287 | msgstr "Liens directs" | 287 | msgstr "Liens directs" |
288 | 288 | ||
289 | #: application/feed/FeedBuilder.php:181 | 289 | #: application/feed/FeedBuilder.php:182 |
290 | #: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:103 | 290 | #: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:103 |
291 | #: tmp/dailyrss.b91ef64efc3688266305ea9b42e5017e.rtpl.php:26 | 291 | #: tmp/dailyrss.b91ef64efc3688266305ea9b42e5017e.rtpl.php:26 |
292 | #: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:179 | 292 | #: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:179 |
293 | msgid "Permalink" | 293 | msgid "Permalink" |
294 | msgstr "Permalien" | 294 | msgstr "Permalien" |
295 | 295 | ||
296 | #: application/front/controller/admin/ConfigureController.php:54 | 296 | #: application/front/controller/admin/ConfigureController.php:56 |
297 | #: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 | 297 | #: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 |
298 | msgid "Configure" | 298 | msgid "Configure" |
299 | msgstr "Configurer" | 299 | msgstr "Configurer" |
300 | 300 | ||
301 | #: application/front/controller/admin/ConfigureController.php:102 | 301 | #: application/front/controller/admin/ConfigureController.php:106 |
302 | #: application/legacy/LegacyUpdater.php:537 | 302 | #: application/legacy/LegacyUpdater.php:539 |
303 | msgid "You have enabled or changed thumbnails mode." | 303 | msgid "You have enabled or changed thumbnails mode." |
304 | msgstr "Vous avez activé ou changé le mode de miniatures." | 304 | msgstr "Vous avez activé ou changé le mode de miniatures." |
305 | 305 | ||
306 | #: application/front/controller/admin/ConfigureController.php:103 | 306 | #: application/front/controller/admin/ConfigureController.php:108 |
307 | #: application/front/controller/admin/ServerController.php:75 | 307 | #: application/front/controller/admin/ServerController.php:76 |
308 | #: application/legacy/LegacyUpdater.php:538 | 308 | #: application/legacy/LegacyUpdater.php:540 |
309 | msgid "Please synchronize them." | 309 | msgid "Please synchronize them." |
310 | msgstr "Merci de les synchroniser." | 310 | msgstr "Merci de les synchroniser." |
311 | 311 | ||
312 | #: application/front/controller/admin/ConfigureController.php:113 | 312 | #: application/front/controller/admin/ConfigureController.php:119 |
313 | #: application/front/controller/visitor/InstallController.php:146 | 313 | #: application/front/controller/visitor/InstallController.php:149 |
314 | msgid "Error while writing config file after configuration update." | 314 | msgid "Error while writing config file after configuration update." |
315 | msgstr "" | 315 | msgstr "" |
316 | "Une erreur s'est produite lors de la sauvegarde du fichier de configuration." | 316 | "Une erreur s'est produite lors de la sauvegarde du fichier de configuration." |
317 | 317 | ||
318 | #: application/front/controller/admin/ConfigureController.php:122 | 318 | #: application/front/controller/admin/ConfigureController.php:128 |
319 | msgid "Configuration was saved." | 319 | msgid "Configuration was saved." |
320 | msgstr "La configuration a été sauvegardée." | 320 | msgstr "La configuration a été sauvegardée." |
321 | 321 | ||
@@ -433,7 +433,7 @@ msgstr "Administration serveur" | |||
433 | msgid "Thumbnails cache has been cleared." | 433 | msgid "Thumbnails cache has been cleared." |
434 | msgstr "Le cache des miniatures a été vidé." | 434 | msgstr "Le cache des miniatures a été vidé." |
435 | 435 | ||
436 | #: application/front/controller/admin/ServerController.php:83 | 436 | #: application/front/controller/admin/ServerController.php:85 |
437 | msgid "Shaarli's cache folder has been cleared!" | 437 | msgid "Shaarli's cache folder has been cleared!" |
438 | msgstr "Le dossier de cache de Shaarli a été vidé !" | 438 | msgstr "Le dossier de cache de Shaarli a été vidé !" |
439 | 439 | ||
@@ -459,18 +459,18 @@ msgstr "Le lien avec l'identifiant %s n'a pas pu être trouvé." | |||
459 | msgid "Invalid visibility provided." | 459 | msgid "Invalid visibility provided." |
460 | msgstr "Visibilité du lien non valide." | 460 | msgstr "Visibilité du lien non valide." |
461 | 461 | ||
462 | #: application/front/controller/admin/ShaarePublishController.php:171 | 462 | #: application/front/controller/admin/ShaarePublishController.php:173 |
463 | #: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:171 | 463 | #: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:171 |
464 | msgid "Edit" | 464 | msgid "Edit" |
465 | msgstr "Modifier" | 465 | msgstr "Modifier" |
466 | 466 | ||
467 | #: application/front/controller/admin/ShaarePublishController.php:174 | 467 | #: application/front/controller/admin/ShaarePublishController.php:176 |
468 | #: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28 | 468 | #: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28 |
469 | #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:28 | 469 | #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:28 |
470 | msgid "Shaare" | 470 | msgid "Shaare" |
471 | msgstr "Shaare" | 471 | msgstr "Shaare" |
472 | 472 | ||
473 | #: application/front/controller/admin/ShaarePublishController.php:205 | 473 | #: application/front/controller/admin/ShaarePublishController.php:208 |
474 | msgid "Note: " | 474 | msgid "Note: " |
475 | msgstr "Note : " | 475 | msgstr "Note : " |
476 | 476 | ||
@@ -485,7 +485,7 @@ msgstr "Mise à jour des miniatures" | |||
485 | msgid "Tools" | 485 | msgid "Tools" |
486 | msgstr "Outils" | 486 | msgstr "Outils" |
487 | 487 | ||
488 | #: application/front/controller/visitor/BookmarkListController.php:120 | 488 | #: application/front/controller/visitor/BookmarkListController.php:121 |
489 | msgid "Search: " | 489 | msgid "Search: " |
490 | msgstr "Recherche : " | 490 | msgstr "Recherche : " |
491 | 491 | ||
@@ -535,12 +535,12 @@ msgstr "Une erreur inattendue s'est produite." | |||
535 | msgid "Requested page could not be found." | 535 | msgid "Requested page could not be found." |
536 | msgstr "La page demandée n'a pas pu être trouvée." | 536 | msgstr "La page demandée n'a pas pu être trouvée." |
537 | 537 | ||
538 | #: application/front/controller/visitor/InstallController.php:64 | 538 | #: application/front/controller/visitor/InstallController.php:65 |
539 | #: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:22 | 539 | #: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:22 |
540 | msgid "Install Shaarli" | 540 | msgid "Install Shaarli" |
541 | msgstr "Installation de Shaarli" | 541 | msgstr "Installation de Shaarli" |
542 | 542 | ||
543 | #: application/front/controller/visitor/InstallController.php:83 | 543 | #: application/front/controller/visitor/InstallController.php:85 |
544 | #, php-format | 544 | #, php-format |
545 | msgid "" | 545 | msgid "" |
546 | "<pre>Sessions do not seem to work correctly on your server.<br>Make sure the " | 546 | "<pre>Sessions do not seem to work correctly on your server.<br>Make sure the " |
@@ -559,14 +559,14 @@ msgstr "" | |||
559 | "des cookies. Nous vous recommandons d'accéder à votre serveur depuis son " | 559 | "des cookies. Nous vous recommandons d'accéder à votre serveur depuis son " |
560 | "adresse IP ou un <em>Fully Qualified Domain Name</em>.<br>" | 560 | "adresse IP ou un <em>Fully Qualified Domain Name</em>.<br>" |
561 | 561 | ||
562 | #: application/front/controller/visitor/InstallController.php:154 | 562 | #: application/front/controller/visitor/InstallController.php:157 |
563 | msgid "" | 563 | msgid "" |
564 | "Shaarli is now configured. Please login and start shaaring your bookmarks!" | 564 | "Shaarli is now configured. Please login and start shaaring your bookmarks!" |
565 | msgstr "" | 565 | msgstr "" |
566 | "Shaarli est maintenant configuré. Vous pouvez vous connecter et commencez à " | 566 | "Shaarli est maintenant configuré. Vous pouvez vous connecter et commencez à " |
567 | "shaare vos liens !" | 567 | "shaare vos liens !" |
568 | 568 | ||
569 | #: application/front/controller/visitor/InstallController.php:168 | 569 | #: application/front/controller/visitor/InstallController.php:171 |
570 | msgid "Insufficient permissions:" | 570 | msgid "Insufficient permissions:" |
571 | msgstr "Permissions insuffisantes :" | 571 | msgstr "Permissions insuffisantes :" |
572 | 572 | ||
@@ -580,7 +580,7 @@ msgstr "Permissions insuffisantes :" | |||
580 | msgid "Login" | 580 | msgid "Login" |
581 | msgstr "Connexion" | 581 | msgstr "Connexion" |
582 | 582 | ||
583 | #: application/front/controller/visitor/LoginController.php:77 | 583 | #: application/front/controller/visitor/LoginController.php:78 |
584 | msgid "Wrong login/password." | 584 | msgid "Wrong login/password." |
585 | msgstr "Nom d'utilisateur ou mot de passe incorrect(s)." | 585 | msgstr "Nom d'utilisateur ou mot de passe incorrect(s)." |
586 | 586 | ||
@@ -620,7 +620,7 @@ msgstr "" | |||
620 | msgid "Wrong token." | 620 | msgid "Wrong token." |
621 | msgstr "Jeton invalide." | 621 | msgstr "Jeton invalide." |
622 | 622 | ||
623 | #: application/helper/ApplicationUtils.php:162 | 623 | #: application/helper/ApplicationUtils.php:165 |
624 | #, php-format | 624 | #, php-format |
625 | msgid "" | 625 | msgid "" |
626 | "Your PHP version is obsolete! Shaarli requires at least PHP %s, and thus " | 626 | "Your PHP version is obsolete! Shaarli requires at least PHP %s, and thus " |
@@ -631,52 +631,60 @@ msgstr "" | |||
631 | "peut donc pas fonctionner. Votre version de PHP a des failles de sécurités " | 631 | "peut donc pas fonctionner. Votre version de PHP a des failles de sécurités " |
632 | "connues et devrait être mise à jour au plus tôt." | 632 | "connues et devrait être mise à jour au plus tôt." |
633 | 633 | ||
634 | #: application/helper/ApplicationUtils.php:195 | 634 | #: application/helper/ApplicationUtils.php:200 |
635 | #: application/helper/ApplicationUtils.php:215 | 635 | #: application/helper/ApplicationUtils.php:220 |
636 | msgid "directory is not readable" | 636 | msgid "directory is not readable" |
637 | msgstr "le répertoire n'est pas accessible en lecture" | 637 | msgstr "le répertoire n'est pas accessible en lecture" |
638 | 638 | ||
639 | #: application/helper/ApplicationUtils.php:218 | 639 | #: application/helper/ApplicationUtils.php:223 |
640 | msgid "directory is not writable" | 640 | msgid "directory is not writable" |
641 | msgstr "le répertoire n'est pas accessible en écriture" | 641 | msgstr "le répertoire n'est pas accessible en écriture" |
642 | 642 | ||
643 | #: application/helper/ApplicationUtils.php:240 | 643 | #: application/helper/ApplicationUtils.php:247 |
644 | msgid "file is not readable" | 644 | msgid "file is not readable" |
645 | msgstr "le fichier n'est pas accessible en lecture" | 645 | msgstr "le fichier n'est pas accessible en lecture" |
646 | 646 | ||
647 | #: application/helper/ApplicationUtils.php:243 | 647 | #: application/helper/ApplicationUtils.php:250 |
648 | msgid "file is not writable" | 648 | msgid "file is not writable" |
649 | msgstr "le fichier n'est pas accessible en écriture" | 649 | msgstr "le fichier n'est pas accessible en écriture" |
650 | 650 | ||
651 | #: application/helper/ApplicationUtils.php:277 | 651 | #: application/helper/ApplicationUtils.php:260 |
652 | msgid "" | ||
653 | "Lock can not be acquired on the datastore. You might encounter concurrent " | ||
654 | "access issues." | ||
655 | msgstr "" | ||
656 | "Le fichier datastore ne peut pas être verrouillé. Vous pourriez rencontrer " | ||
657 | "des problèmes d'accès concurrents." | ||
658 | |||
659 | #: application/helper/ApplicationUtils.php:293 | ||
652 | msgid "Configuration parsing" | 660 | msgid "Configuration parsing" |
653 | msgstr "Chargement de la configuration" | 661 | msgstr "Chargement de la configuration" |
654 | 662 | ||
655 | #: application/helper/ApplicationUtils.php:278 | 663 | #: application/helper/ApplicationUtils.php:294 |
656 | msgid "Slim Framework (routing, etc.)" | 664 | msgid "Slim Framework (routing, etc.)" |
657 | msgstr "Slim Framwork (routage, etc.)" | 665 | msgstr "Slim Framwork (routage, etc.)" |
658 | 666 | ||
659 | #: application/helper/ApplicationUtils.php:279 | 667 | #: application/helper/ApplicationUtils.php:295 |
660 | msgid "Multibyte (Unicode) string support" | 668 | msgid "Multibyte (Unicode) string support" |
661 | msgstr "Support des chaînes de caractère multibytes (Unicode)" | 669 | msgstr "Support des chaînes de caractère multibytes (Unicode)" |
662 | 670 | ||
663 | #: application/helper/ApplicationUtils.php:280 | 671 | #: application/helper/ApplicationUtils.php:296 |
664 | msgid "Required to use thumbnails" | 672 | msgid "Required to use thumbnails" |
665 | msgstr "Obligatoire pour utiliser les miniatures" | 673 | msgstr "Obligatoire pour utiliser les miniatures" |
666 | 674 | ||
667 | #: application/helper/ApplicationUtils.php:281 | 675 | #: application/helper/ApplicationUtils.php:297 |
668 | msgid "Localized text sorting (e.g. e->è->f)" | 676 | msgid "Localized text sorting (e.g. e->è->f)" |
669 | msgstr "Tri des textes traduits (ex : e->è->f)" | 677 | msgstr "Tri des textes traduits (ex : e->è->f)" |
670 | 678 | ||
671 | #: application/helper/ApplicationUtils.php:282 | 679 | #: application/helper/ApplicationUtils.php:298 |
672 | msgid "Better retrieval of bookmark metadata and thumbnail" | 680 | msgid "Better retrieval of bookmark metadata and thumbnail" |
673 | msgstr "Meilleure récupération des meta-données des marque-pages et minatures" | 681 | msgstr "Meilleure récupération des meta-données des marque-pages et minatures" |
674 | 682 | ||
675 | #: application/helper/ApplicationUtils.php:283 | 683 | #: application/helper/ApplicationUtils.php:299 |
676 | msgid "Use the translation system in gettext mode" | 684 | msgid "Use the translation system in gettext mode" |
677 | msgstr "Utiliser le système de traduction en mode gettext" | 685 | msgstr "Utiliser le système de traduction en mode gettext" |
678 | 686 | ||
679 | #: application/helper/ApplicationUtils.php:284 | 687 | #: application/helper/ApplicationUtils.php:300 |
680 | msgid "Login using LDAP server" | 688 | msgid "Login using LDAP server" |
681 | msgstr "Authentification via un serveur LDAP" | 689 | msgstr "Authentification via un serveur LDAP" |
682 | 690 | ||
@@ -750,7 +758,7 @@ msgstr "" | |||
750 | msgid "Couldn't retrieve updater class methods." | 758 | msgid "Couldn't retrieve updater class methods." |
751 | msgstr "Impossible de récupérer les méthodes de la classe Updater." | 759 | msgstr "Impossible de récupérer les méthodes de la classe Updater." |
752 | 760 | ||
753 | #: application/legacy/LegacyUpdater.php:538 | 761 | #: application/legacy/LegacyUpdater.php:540 |
754 | msgid "<a href=\"./admin/thumbnails\">" | 762 | msgid "<a href=\"./admin/thumbnails\">" |
755 | msgstr "<a href=\"./admin/thumbnails\">" | 763 | msgstr "<a href=\"./admin/thumbnails\">" |
756 | 764 | ||
@@ -776,11 +784,11 @@ msgstr "" | |||
776 | "a été importé avec succès en %d secondes : %d liens importés, %d liens " | 784 | "a été importé avec succès en %d secondes : %d liens importés, %d liens " |
777 | "écrasés, %d liens ignorés." | 785 | "écrasés, %d liens ignorés." |
778 | 786 | ||
779 | #: application/plugin/PluginManager.php:124 | 787 | #: application/plugin/PluginManager.php:125 |
780 | msgid " [plugin incompatibility]: " | 788 | msgid " [plugin incompatibility]: " |
781 | msgstr " [incompatibilité de l'extension] : " | 789 | msgstr " [incompatibilité de l'extension] : " |
782 | 790 | ||
783 | #: application/plugin/exception/PluginFileNotFoundException.php:21 | 791 | #: application/plugin/exception/PluginFileNotFoundException.php:22 |
784 | #, php-format | 792 | #, php-format |
785 | msgid "Plugin \"%s\" files not found." | 793 | msgid "Plugin \"%s\" files not found." |
786 | msgstr "Les fichiers de l'extension \"%s\" sont introuvables." | 794 | msgstr "Les fichiers de l'extension \"%s\" sont introuvables." |
@@ -794,7 +802,7 @@ msgstr "Impossible de purger %s : le répertoire n'existe pas" | |||
794 | msgid "An error occurred while running the update " | 802 | msgid "An error occurred while running the update " |
795 | msgstr "Une erreur s'est produite lors de l'exécution de la mise à jour " | 803 | msgstr "Une erreur s'est produite lors de l'exécution de la mise à jour " |
796 | 804 | ||
797 | #: index.php:80 | 805 | #: index.php:81 |
798 | msgid "Shared bookmarks on " | 806 | msgid "Shared bookmarks on " |
799 | msgstr "Liens partagés sur " | 807 | msgstr "Liens partagés sur " |
800 | 808 | ||
@@ -811,11 +819,11 @@ msgstr "Shaare" | |||
811 | msgid "Adds the addlink input on the linklist page." | 819 | msgid "Adds the addlink input on the linklist page." |
812 | msgstr "Ajoute le formulaire d'ajout de liens sur la page principale." | 820 | msgstr "Ajoute le formulaire d'ajout de liens sur la page principale." |
813 | 821 | ||
814 | #: plugins/archiveorg/archiveorg.php:28 | 822 | #: plugins/archiveorg/archiveorg.php:29 |
815 | msgid "View on archive.org" | 823 | msgid "View on archive.org" |
816 | msgstr "Voir sur archive.org" | 824 | msgstr "Voir sur archive.org" |
817 | 825 | ||
818 | #: plugins/archiveorg/archiveorg.php:41 | 826 | #: plugins/archiveorg/archiveorg.php:42 |
819 | msgid "For each link, add an Archive.org icon." | 827 | msgid "For each link, add an Archive.org icon." |
820 | msgstr "Pour chaque lien, ajoute une icône pour Archive.org." | 828 | msgstr "Pour chaque lien, ajoute une icône pour Archive.org." |
821 | 829 | ||
@@ -845,7 +853,7 @@ msgstr "Couleur de fond (gris léger)" | |||
845 | msgid "Dark main color (e.g. visited links)" | 853 | msgid "Dark main color (e.g. visited links)" |
846 | msgstr "Couleur principale sombre (ex : les liens visités)" | 854 | msgstr "Couleur principale sombre (ex : les liens visités)" |
847 | 855 | ||
848 | #: plugins/demo_plugin/demo_plugin.php:477 | 856 | #: plugins/demo_plugin/demo_plugin.php:478 |
849 | msgid "" | 857 | msgid "" |
850 | "A demo plugin covering all use cases for template designers and plugin " | 858 | "A demo plugin covering all use cases for template designers and plugin " |
851 | "developers." | 859 | "developers." |
@@ -853,11 +861,11 @@ msgstr "" | |||
853 | "Une extension de démonstration couvrant tous les cas d'utilisation pour les " | 861 | "Une extension de démonstration couvrant tous les cas d'utilisation pour les " |
854 | "designers de thèmes et les développeurs d'extensions." | 862 | "designers de thèmes et les développeurs d'extensions." |
855 | 863 | ||
856 | #: plugins/demo_plugin/demo_plugin.php:478 | 864 | #: plugins/demo_plugin/demo_plugin.php:479 |
857 | msgid "This is a parameter dedicated to the demo plugin. It'll be suffixed." | 865 | msgid "This is a parameter dedicated to the demo plugin. It'll be suffixed." |
858 | msgstr "Ceci est un paramètre dédié au plugin de démo. Il sera suffixé." | 866 | msgstr "Ceci est un paramètre dédié au plugin de démo. Il sera suffixé." |
859 | 867 | ||
860 | #: plugins/demo_plugin/demo_plugin.php:479 | 868 | #: plugins/demo_plugin/demo_plugin.php:480 |
861 | msgid "Other demo parameter" | 869 | msgid "Other demo parameter" |
862 | msgstr "Un autre paramètre de démo" | 870 | msgstr "Un autre paramètre de démo" |
863 | 871 | ||
@@ -879,7 +887,7 @@ msgstr "" | |||
879 | msgid "Isso server URL (without 'http://')" | 887 | msgid "Isso server URL (without 'http://')" |
880 | msgstr "URL du serveur Isso (sans 'http://')" | 888 | msgstr "URL du serveur Isso (sans 'http://')" |
881 | 889 | ||
882 | #: plugins/piwik/piwik.php:23 | 890 | #: plugins/piwik/piwik.php:24 |
883 | msgid "" | 891 | msgid "" |
884 | "Piwik plugin error: Please define PIWIK_URL and PIWIK_SITEID in the plugin " | 892 | "Piwik plugin error: Please define PIWIK_URL and PIWIK_SITEID in the plugin " |
885 | "administration page." | 893 | "administration page." |
@@ -887,27 +895,27 @@ msgstr "" | |||
887 | "Erreur de l'extension Piwik : Merci de définir les paramètres PIWIK_URL et " | 895 | "Erreur de l'extension Piwik : Merci de définir les paramètres PIWIK_URL et " |
888 | "PIWIK_SITEID dans la page d'administration des extensions." | 896 | "PIWIK_SITEID dans la page d'administration des extensions." |
889 | 897 | ||
890 | #: plugins/piwik/piwik.php:72 | 898 | #: plugins/piwik/piwik.php:73 |
891 | msgid "A plugin that adds Piwik tracking code to Shaarli pages." | 899 | msgid "A plugin that adds Piwik tracking code to Shaarli pages." |
892 | msgstr "Ajoute le code de traçage de Piwik sur les pages de Shaarli." | 900 | msgstr "Ajoute le code de traçage de Piwik sur les pages de Shaarli." |
893 | 901 | ||
894 | #: plugins/piwik/piwik.php:73 | 902 | #: plugins/piwik/piwik.php:74 |
895 | msgid "Piwik URL" | 903 | msgid "Piwik URL" |
896 | msgstr "URL de Piwik" | 904 | msgstr "URL de Piwik" |
897 | 905 | ||
898 | #: plugins/piwik/piwik.php:74 | 906 | #: plugins/piwik/piwik.php:75 |
899 | msgid "Piwik site ID" | 907 | msgid "Piwik site ID" |
900 | msgstr "Site ID de Piwik" | 908 | msgstr "Site ID de Piwik" |
901 | 909 | ||
902 | #: plugins/playvideos/playvideos.php:25 | 910 | #: plugins/playvideos/playvideos.php:26 |
903 | msgid "Video player" | 911 | msgid "Video player" |
904 | msgstr "Lecteur vidéo" | 912 | msgstr "Lecteur vidéo" |
905 | 913 | ||
906 | #: plugins/playvideos/playvideos.php:28 | 914 | #: plugins/playvideos/playvideos.php:29 |
907 | msgid "Play Videos" | 915 | msgid "Play Videos" |
908 | msgstr "Jouer les vidéos" | 916 | msgstr "Jouer les vidéos" |
909 | 917 | ||
910 | #: plugins/playvideos/playvideos.php:59 | 918 | #: plugins/playvideos/playvideos.php:60 |
911 | msgid "Add a button in the toolbar allowing to watch all videos." | 919 | msgid "Add a button in the toolbar allowing to watch all videos." |
912 | msgstr "" | 920 | msgstr "" |
913 | "Ajoute un bouton dans la barre de menu pour regarder toutes les vidéos." | 921 | "Ajoute un bouton dans la barre de menu pour regarder toutes les vidéos." |
@@ -935,11 +943,11 @@ msgstr "Mauvaise réponse du hub %s" | |||
935 | msgid "Enable PubSubHubbub feed publishing." | 943 | msgid "Enable PubSubHubbub feed publishing." |
936 | msgstr "Active la publication de flux vers PubSubHubbub." | 944 | msgstr "Active la publication de flux vers PubSubHubbub." |
937 | 945 | ||
938 | #: plugins/qrcode/qrcode.php:73 plugins/wallabag/wallabag.php:71 | 946 | #: plugins/qrcode/qrcode.php:74 plugins/wallabag/wallabag.php:72 |
939 | msgid "For each link, add a QRCode icon." | 947 | msgid "For each link, add a QRCode icon." |
940 | msgstr "Pour chaque lien, ajouter une icône de QRCode." | 948 | msgstr "Pour chaque lien, ajouter une icône de QRCode." |
941 | 949 | ||
942 | #: plugins/wallabag/wallabag.php:21 | 950 | #: plugins/wallabag/wallabag.php:22 |
943 | msgid "" | 951 | msgid "" |
944 | "Wallabag plugin error: Please define the \"WALLABAG_URL\" setting in the " | 952 | "Wallabag plugin error: Please define the \"WALLABAG_URL\" setting in the " |
945 | "plugin administration page." | 953 | "plugin administration page." |
@@ -947,15 +955,15 @@ msgstr "" | |||
947 | "Erreur de l'extension Wallabag : Merci de définir le paramètre « " | 955 | "Erreur de l'extension Wallabag : Merci de définir le paramètre « " |
948 | "WALLABAG_URL » dans la page d'administration des extensions." | 956 | "WALLABAG_URL » dans la page d'administration des extensions." |
949 | 957 | ||
950 | #: plugins/wallabag/wallabag.php:48 | 958 | #: plugins/wallabag/wallabag.php:49 |
951 | msgid "Save to wallabag" | 959 | msgid "Save to wallabag" |
952 | msgstr "Sauvegarder dans Wallabag" | 960 | msgstr "Sauvegarder dans Wallabag" |
953 | 961 | ||
954 | #: plugins/wallabag/wallabag.php:72 | 962 | #: plugins/wallabag/wallabag.php:73 |
955 | msgid "Wallabag API URL" | 963 | msgid "Wallabag API URL" |
956 | msgstr "URL de l'API Wallabag" | 964 | msgstr "URL de l'API Wallabag" |
957 | 965 | ||
958 | #: plugins/wallabag/wallabag.php:73 | 966 | #: plugins/wallabag/wallabag.php:74 |
959 | msgid "Wallabag API version (1 or 2)" | 967 | msgid "Wallabag API version (1 or 2)" |
960 | msgstr "Version de l'API Wallabag (1 ou 2)" | 968 | msgstr "Version de l'API Wallabag (1 ou 2)" |
961 | 969 | ||
@@ -3052,9 +3052,9 @@ inherits@2.0.3: | |||
3052 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= | 3052 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= |
3053 | 3053 | ||
3054 | ini@^1.3.4, ini@^1.3.5: | 3054 | ini@^1.3.4, ini@^1.3.5: |
3055 | version "1.3.5" | 3055 | version "1.3.7" |
3056 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" | 3056 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" |
3057 | integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== | 3057 | integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== |
3058 | 3058 | ||
3059 | interpret@^1.4.0: | 3059 | interpret@^1.4.0: |
3060 | version "1.4.0" | 3060 | version "1.4.0" |