aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--application/bookmark/Bookmark.php46
-rw-r--r--application/bookmark/BookmarkFileService.php2
-rw-r--r--application/bookmark/BookmarkFilter.php111
-rw-r--r--application/formatter/BookmarkDefaultFormatter.php132
-rw-r--r--application/formatter/BookmarkFormatter.php79
-rw-r--r--application/formatter/BookmarkMarkdownFormatter.php6
-rw-r--r--application/front/controller/visitor/ShaarliVisitorController.php1
-rw-r--r--application/plugin/PluginManager.php1
-rw-r--r--application/render/PageBuilder.php4
-rw-r--r--assets/default/js/base.js2
-rw-r--r--assets/default/scss/shaarli.scss4
-rw-r--r--doc/md/Server-configuration.md16
-rw-r--r--doc/md/dev/Plugin-system.md11
-rw-r--r--inc/languages/fr/LC_MESSAGES/shaarli.po88
-rw-r--r--inc/languages/jp/LC_MESSAGES/shaarli.po2038
-rw-r--r--plugins/archiveorg/archiveorg.php2
-rw-r--r--plugins/isso/isso.php2
-rw-r--r--plugins/qrcode/qrcode.php2
-rw-r--r--plugins/wallabag/wallabag.php2
-rw-r--r--tests/api/controllers/links/GetLinksTest.php2
-rw-r--r--tests/bookmark/BookmarkFileServiceTest.php20
-rw-r--r--tests/bookmark/BookmarkFilterTest.php40
-rw-r--r--tests/formatter/BookmarkDefaultFormatterTest.php115
-rw-r--r--tests/legacy/LegacyLinkDBTest.php12
-rw-r--r--tests/utils/ReferenceLinkDB.php2
-rw-r--r--tpl/default/changetag.html4
-rw-r--r--tpl/default/daily.html2
-rw-r--r--tpl/default/includes.html4
-rw-r--r--tpl/default/linklist.html8
-rw-r--r--tpl/default/page.footer.html6
-rw-r--r--tpl/default/picwall.html2
-rw-r--r--tpl/default/pluginsadmin.html2
32 files changed, 1665 insertions, 1103 deletions
diff --git a/application/bookmark/Bookmark.php b/application/bookmark/Bookmark.php
index fa45d2fc..ea565d1f 100644
--- a/application/bookmark/Bookmark.php
+++ b/application/bookmark/Bookmark.php
@@ -54,6 +54,9 @@ class Bookmark
54 /** @var bool True if the bookmark can only be seen while logged in */ 54 /** @var bool True if the bookmark can only be seen while logged in */
55 protected $private; 55 protected $private;
56 56
57 /** @var mixed[] Available to store any additional content for a bookmark. Currently used for search highlight. */
58 protected $additionalContent = [];
59
57 /** 60 /**
58 * Initialize a link from array data. Especially useful to create a Bookmark from former link storage format. 61 * Initialize a link from array data. Especially useful to create a Bookmark from former link storage format.
59 * 62 *
@@ -95,6 +98,8 @@ class Bookmark
95 * - the URL with the permalink 98 * - the URL with the permalink
96 * - the title with the URL 99 * - the title with the URL
97 * 100 *
101 * Also make sure that we do not save search highlights in the datastore.
102 *
98 * @throws InvalidBookmarkException 103 * @throws InvalidBookmarkException
99 */ 104 */
100 public function validate(): void 105 public function validate(): void
@@ -112,6 +117,9 @@ class Bookmark
112 if (empty($this->title)) { 117 if (empty($this->title)) {
113 $this->title = $this->url; 118 $this->title = $this->url;
114 } 119 }
120 if (array_key_exists('search_highlight', $this->additionalContent)) {
121 unset($this->additionalContent['search_highlight']);
122 }
115 } 123 }
116 124
117 /** 125 /**
@@ -436,6 +444,44 @@ class Bookmark
436 } 444 }
437 445
438 /** 446 /**
447 * Get entire additionalContent array.
448 *
449 * @return mixed[]
450 */
451 public function getAdditionalContent(): array
452 {
453 return $this->additionalContent;
454 }
455
456 /**
457 * Set a single entry in additionalContent, by key.
458 *
459 * @param string $key
460 * @param mixed|null $value Any type of value can be set.
461 *
462 * @return $this
463 */
464 public function addAdditionalContentEntry(string $key, $value): self
465 {
466 $this->additionalContent[$key] = $value;
467
468 return $this;
469 }
470
471 /**
472 * Get a single entry in additionalContent, by key.
473 *
474 * @param string $key
475 * @param mixed|null $default
476 *
477 * @return mixed|null can be any type or even null.
478 */
479 public function getAdditionalContentEntry(string $key, $default = null)
480 {
481 return array_key_exists($key, $this->additionalContent) ? $this->additionalContent[$key] : $default;
482 }
483
484 /**
439 * Rename a tag in tags list. 485 * Rename a tag in tags list.
440 * 486 *
441 * @param string $fromTag 487 * @param string $fromTag
diff --git a/application/bookmark/BookmarkFileService.php b/application/bookmark/BookmarkFileService.php
index 804b2520..eb7899bf 100644
--- a/application/bookmark/BookmarkFileService.php
+++ b/application/bookmark/BookmarkFileService.php
@@ -349,7 +349,7 @@ class BookmarkFileService implements BookmarkServiceInterface
349 $bookmarkDays = array_keys($bookmarkDays); 349 $bookmarkDays = array_keys($bookmarkDays);
350 sort($bookmarkDays); 350 sort($bookmarkDays);
351 351
352 return $bookmarkDays; 352 return array_map('strval', $bookmarkDays);
353 } 353 }
354 354
355 /** 355 /**
diff --git a/application/bookmark/BookmarkFilter.php b/application/bookmark/BookmarkFilter.php
index 4232f114..c79386ea 100644
--- a/application/bookmark/BookmarkFilter.php
+++ b/application/bookmark/BookmarkFilter.php
@@ -201,7 +201,7 @@ class BookmarkFilter
201 return $this->noFilter($visibility); 201 return $this->noFilter($visibility);
202 } 202 }
203 203
204 $filtered = array(); 204 $filtered = [];
205 $search = mb_convert_case(html_entity_decode($searchterms), MB_CASE_LOWER, 'UTF-8'); 205 $search = mb_convert_case(html_entity_decode($searchterms), MB_CASE_LOWER, 'UTF-8');
206 $exactRegex = '/"([^"]+)"/'; 206 $exactRegex = '/"([^"]+)"/';
207 // Retrieve exact search terms. 207 // Retrieve exact search terms.
@@ -213,8 +213,8 @@ class BookmarkFilter
213 $explodedSearchAnd = array_values(array_filter($explodedSearchAnd)); 213 $explodedSearchAnd = array_values(array_filter($explodedSearchAnd));
214 214
215 // Filter excluding terms and update andSearch. 215 // Filter excluding terms and update andSearch.
216 $excludeSearch = array(); 216 $excludeSearch = [];
217 $andSearch = array(); 217 $andSearch = [];
218 foreach ($explodedSearchAnd as $needle) { 218 foreach ($explodedSearchAnd as $needle) {
219 if ($needle[0] == '-' && strlen($needle) > 1) { 219 if ($needle[0] == '-' && strlen($needle) > 1) {
220 $excludeSearch[] = substr($needle, 1); 220 $excludeSearch[] = substr($needle, 1);
@@ -234,33 +234,38 @@ class BookmarkFilter
234 } 234 }
235 } 235 }
236 236
237 // Concatenate link fields to search across fields. 237 $lengths = [];
238 // Adds a '\' separator for exact search terms. 238 $content = $this->buildFullTextSearchableLink($link, $lengths);
239 $content = mb_convert_case($link->getTitle(), MB_CASE_LOWER, 'UTF-8') .'\\';
240 $content .= mb_convert_case($link->getDescription(), MB_CASE_LOWER, 'UTF-8') .'\\';
241 $content .= mb_convert_case($link->getUrl(), MB_CASE_LOWER, 'UTF-8') .'\\';
242 $content .= mb_convert_case($link->getTagsString(), MB_CASE_LOWER, 'UTF-8') .'\\';
243 239
244 // Be optimistic 240 // Be optimistic
245 $found = true; 241 $found = true;
242 $foundPositions = [];
246 243
247 // First, we look for exact term search 244 // First, we look for exact term search
248 for ($i = 0; $i < count($exactSearch) && $found; $i++) { 245 // Then iterate over keywords, if keyword is not found,
249 $found = strpos($content, $exactSearch[$i]) !== false;
250 }
251
252 // Iterate over keywords, if keyword is not found,
253 // no need to check for the others. We want all or nothing. 246 // no need to check for the others. We want all or nothing.
254 for ($i = 0; $i < count($andSearch) && $found; $i++) { 247 foreach ([$exactSearch, $andSearch] as $search) {
255 $found = strpos($content, $andSearch[$i]) !== false; 248 for ($i = 0; $i < count($search) && $found !== false; $i++) {
249 $found = mb_strpos($content, $search[$i]);
250 if ($found === false) {
251 break;
252 }
253
254 $foundPositions[] = ['start' => $found, 'end' => $found + mb_strlen($search[$i])];
255 }
256 } 256 }
257 257
258 // Exclude terms. 258 // Exclude terms.
259 for ($i = 0; $i < count($excludeSearch) && $found; $i++) { 259 for ($i = 0; $i < count($excludeSearch) && $found !== false; $i++) {
260 $found = strpos($content, $excludeSearch[$i]) === false; 260 $found = strpos($content, $excludeSearch[$i]) === false;
261 } 261 }
262 262
263 if ($found) { 263 if ($found !== false) {
264 $link->addAdditionalContentEntry(
265 'search_highlight',
266 $this->postProcessFoundPositions($lengths, $foundPositions)
267 );
268
264 $filtered[$id] = $link; 269 $filtered[$id] = $link;
265 } 270 }
266 } 271 }
@@ -477,4 +482,74 @@ class BookmarkFilter
477 482
478 return preg_split('/\s+/', $tagsOut, -1, PREG_SPLIT_NO_EMPTY); 483 return preg_split('/\s+/', $tagsOut, -1, PREG_SPLIT_NO_EMPTY);
479 } 484 }
485
486 /**
487 * This method finalize the content of the foundPositions array,
488 * by associated all search results to their associated bookmark field,
489 * making sure that there is no overlapping results, etc.
490 *
491 * @param array $fieldLengths Start and end positions of every bookmark fields in the aggregated bookmark content.
492 * @param array $foundPositions Positions where the search results were found in the aggregated content.
493 *
494 * @return array Updated $foundPositions, by bookmark field.
495 */
496 protected function postProcessFoundPositions(array $fieldLengths, array $foundPositions): array
497 {
498 // Sort results by starting position ASC.
499 usort($foundPositions, function (array $entryA, array $entryB): int {
500 return $entryA['start'] > $entryB['start'] ? 1 : -1;
501 });
502
503 $out = [];
504 $currentMax = -1;
505 foreach ($foundPositions as $foundPosition) {
506 // we do not allow overlapping highlights
507 if ($foundPosition['start'] < $currentMax) {
508 continue;
509 }
510
511 $currentMax = $foundPosition['end'];
512 foreach ($fieldLengths as $part => $length) {
513 if ($foundPosition['start'] < $length['start'] || $foundPosition['start'] > $length['end']) {
514 continue;
515 }
516
517 $out[$part][] = [
518 'start' => $foundPosition['start'] - $length['start'],
519 'end' => $foundPosition['end'] - $length['start'],
520 ];
521 break;
522 }
523 }
524
525 return $out;
526 }
527
528 /**
529 * Concatenate link fields to search across fields. Adds a '\' separator for exact search terms.
530 * Also populate $length array with starting and ending positions of every bookmark field
531 * inside concatenated content.
532 *
533 * @param Bookmark $link
534 * @param array $lengths (by reference)
535 *
536 * @return string Lowercase concatenated fields content.
537 */
538 protected function buildFullTextSearchableLink(Bookmark $link, array &$lengths): string
539 {
540 $content = mb_convert_case($link->getTitle(), MB_CASE_LOWER, 'UTF-8') .'\\';
541 $content .= mb_convert_case($link->getDescription(), MB_CASE_LOWER, 'UTF-8') .'\\';
542 $content .= mb_convert_case($link->getUrl(), MB_CASE_LOWER, 'UTF-8') .'\\';
543 $content .= mb_convert_case($link->getTagsString(), MB_CASE_LOWER, 'UTF-8') .'\\';
544
545 $lengths['title'] = ['start' => 0, 'end' => mb_strlen($link->getTitle())];
546 $nextField = $lengths['title']['end'] + 1;
547 $lengths['description'] = ['start' => $nextField, 'end' => $nextField + mb_strlen($link->getDescription())];
548 $nextField = $lengths['description']['end'] + 1;
549 $lengths['url'] = ['start' => $nextField, 'end' => $nextField + mb_strlen($link->getUrl())];
550 $nextField = $lengths['url']['end'] + 1;
551 $lengths['tags'] = ['start' => $nextField, 'end' => $nextField + mb_strlen($link->getTagsString())];
552
553 return $content;
554 }
480} 555}
diff --git a/application/formatter/BookmarkDefaultFormatter.php b/application/formatter/BookmarkDefaultFormatter.php
index 9d4a0fa0..d58a5e39 100644
--- a/application/formatter/BookmarkDefaultFormatter.php
+++ b/application/formatter/BookmarkDefaultFormatter.php
@@ -12,10 +12,13 @@ namespace Shaarli\Formatter;
12 */ 12 */
13class BookmarkDefaultFormatter extends BookmarkFormatter 13class BookmarkDefaultFormatter extends BookmarkFormatter
14{ 14{
15 const SEARCH_HIGHLIGHT_OPEN = '|@@HIGHLIGHT';
16 const SEARCH_HIGHLIGHT_CLOSE = 'HIGHLIGHT@@|';
17
15 /** 18 /**
16 * @inheritdoc 19 * @inheritdoc
17 */ 20 */
18 public function formatTitle($bookmark) 21 protected function formatTitle($bookmark)
19 { 22 {
20 return escape($bookmark->getTitle()); 23 return escape($bookmark->getTitle());
21 } 24 }
@@ -23,10 +26,28 @@ class BookmarkDefaultFormatter extends BookmarkFormatter
23 /** 26 /**
24 * @inheritdoc 27 * @inheritdoc
25 */ 28 */
26 public function formatDescription($bookmark) 29 protected function formatTitleHtml($bookmark)
30 {
31 $title = $this->tokenizeSearchHighlightField(
32 $bookmark->getTitle() ?? '',
33 $bookmark->getAdditionalContentEntry('search_highlight')['title'] ?? []
34 );
35
36 return $this->replaceTokens(escape($title));
37 }
38
39 /**
40 * @inheritdoc
41 */
42 protected function formatDescription($bookmark)
27 { 43 {
28 $indexUrl = ! empty($this->contextData['index_url']) ? $this->contextData['index_url'] : ''; 44 $indexUrl = ! empty($this->contextData['index_url']) ? $this->contextData['index_url'] : '';
29 return format_description(escape($bookmark->getDescription()), $indexUrl); 45 $description = $this->tokenizeSearchHighlightField(
46 $bookmark->getDescription() ?? '',
47 $bookmark->getAdditionalContentEntry('search_highlight')['description'] ?? []
48 );
49
50 return $this->replaceTokens(format_description(escape($description), $indexUrl));
30 } 51 }
31 52
32 /** 53 /**
@@ -40,7 +61,27 @@ class BookmarkDefaultFormatter extends BookmarkFormatter
40 /** 61 /**
41 * @inheritdoc 62 * @inheritdoc
42 */ 63 */
43 public function formatTagString($bookmark) 64 protected function formatTagListHtml($bookmark)
65 {
66 if (empty($bookmark->getAdditionalContentEntry('search_highlight')['tags'])) {
67 return $this->formatTagList($bookmark);
68 }
69
70 $tags = $this->tokenizeSearchHighlightField(
71 $bookmark->getTagsString(),
72 $bookmark->getAdditionalContentEntry('search_highlight')['tags']
73 );
74 $tags = $this->filterTagList(explode(' ', $tags));
75 $tags = escape($tags);
76 $tags = $this->replaceTokensArray($tags);
77
78 return $tags;
79 }
80
81 /**
82 * @inheritdoc
83 */
84 protected function formatTagString($bookmark)
44 { 85 {
45 return implode(' ', $this->formatTagList($bookmark)); 86 return implode(' ', $this->formatTagList($bookmark));
46 } 87 }
@@ -48,7 +89,7 @@ class BookmarkDefaultFormatter extends BookmarkFormatter
48 /** 89 /**
49 * @inheritdoc 90 * @inheritdoc
50 */ 91 */
51 public function formatUrl($bookmark) 92 protected function formatUrl($bookmark)
52 { 93 {
53 if ($bookmark->isNote() && isset($this->contextData['index_url'])) { 94 if ($bookmark->isNote() && isset($this->contextData['index_url'])) {
54 return rtrim($this->contextData['index_url'], '/') . '/' . escape(ltrim($bookmark->getUrl(), '/')); 95 return rtrim($this->contextData['index_url'], '/') . '/' . escape(ltrim($bookmark->getUrl(), '/'));
@@ -80,8 +121,89 @@ class BookmarkDefaultFormatter extends BookmarkFormatter
80 /** 121 /**
81 * @inheritdoc 122 * @inheritdoc
82 */ 123 */
124 protected function formatUrlHtml($bookmark)
125 {
126 $url = $this->tokenizeSearchHighlightField(
127 $bookmark->getUrl() ?? '',
128 $bookmark->getAdditionalContentEntry('search_highlight')['url'] ?? []
129 );
130
131 return $this->replaceTokens(escape($url));
132 }
133
134 /**
135 * @inheritdoc
136 */
83 protected function formatThumbnail($bookmark) 137 protected function formatThumbnail($bookmark)
84 { 138 {
85 return escape($bookmark->getThumbnail()); 139 return escape($bookmark->getThumbnail());
86 } 140 }
141
142 /**
143 * Insert search highlight token in provided field content based on a list of search result positions
144 *
145 * @param string $fieldContent
146 * @param array|null $positions List of of search results with 'start' and 'end' positions.
147 *
148 * @return string Updated $fieldContent.
149 */
150 protected function tokenizeSearchHighlightField(string $fieldContent, ?array $positions): string
151 {
152 if (empty($positions)) {
153 return $fieldContent;
154 }
155
156 $insertedTokens = 0;
157 $tokenLength = strlen(static::SEARCH_HIGHLIGHT_OPEN);
158 foreach ($positions as $position) {
159 $position = [
160 'start' => $position['start'] + ($insertedTokens * $tokenLength),
161 'end' => $position['end'] + ($insertedTokens * $tokenLength),
162 ];
163
164 $content = mb_substr($fieldContent, 0, $position['start']);
165 $content .= static::SEARCH_HIGHLIGHT_OPEN;
166 $content .= mb_substr($fieldContent, $position['start'], $position['end'] - $position['start']);
167 $content .= static::SEARCH_HIGHLIGHT_CLOSE;
168 $content .= mb_substr($fieldContent, $position['end']);
169
170 $fieldContent = $content;
171
172 $insertedTokens += 2;
173 }
174
175 return $fieldContent;
176 }
177
178 /**
179 * Replace search highlight tokens with HTML highlighted span.
180 *
181 * @param string $fieldContent
182 *
183 * @return string updated content.
184 */
185 protected function replaceTokens(string $fieldContent): string
186 {
187 return str_replace(
188 [static::SEARCH_HIGHLIGHT_OPEN, static::SEARCH_HIGHLIGHT_CLOSE],
189 ['<span class="search-highlight">', '</span>'],
190 $fieldContent
191 );
192 }
193
194 /**
195 * Apply replaceTokens to an array of content strings.
196 *
197 * @param string[] $fieldContents
198 *
199 * @return array
200 */
201 protected function replaceTokensArray(array $fieldContents): array
202 {
203 foreach ($fieldContents as &$entry) {
204 $entry = $this->replaceTokens($entry);
205 }
206
207 return $fieldContents;
208 }
87} 209}
diff --git a/application/formatter/BookmarkFormatter.php b/application/formatter/BookmarkFormatter.php
index 0042dafe..e1b7f705 100644
--- a/application/formatter/BookmarkFormatter.php
+++ b/application/formatter/BookmarkFormatter.php
@@ -2,7 +2,7 @@
2 2
3namespace Shaarli\Formatter; 3namespace Shaarli\Formatter;
4 4
5use DateTime; 5use DateTimeInterface;
6use Shaarli\Bookmark\Bookmark; 6use Shaarli\Bookmark\Bookmark;
7use Shaarli\Config\ConfigManager; 7use Shaarli\Config\ConfigManager;
8 8
@@ -11,6 +11,29 @@ use Shaarli\Config\ConfigManager;
11 * 11 *
12 * Abstract class processing all bookmark attributes through methods designed to be overridden. 12 * Abstract class processing all bookmark attributes through methods designed to be overridden.
13 * 13 *
14 * List of available formatted fields:
15 * - id ID
16 * - shorturl Unique identifier, used in permalinks
17 * - url URL, can be altered in some way, e.g. passing through an HTTP reverse proxy
18 * - real_url (legacy) same as `url`
19 * - url_html URL to be displayed in HTML content (it can contain HTML tags)
20 * - title Title
21 * - title_html Title to be displayed in HTML content (it can contain HTML tags)
22 * - description Description content. It most likely contains HTML tags
23 * - thumbnail Thumbnail: path to local cache file, false if there is none, null if hasn't been retrieved
24 * - taglist List of tags (array)
25 * - taglist_urlencoded List of tags (array) URL encoded: it must be used to create a link to a URL containing a tag
26 * - taglist_html List of tags (array) to be displayed in HTML content (it can contain HTML tags)
27 * - tags Tags separated by a single whitespace
28 * - tags_urlencoded Tags separated by a single whitespace, URL encoded: must be used to create a link
29 * - sticky Is sticky (bool)
30 * - private Is private (bool)
31 * - class Additional CSS class
32 * - created Creation DateTime
33 * - updated Last edit DateTime
34 * - timestamp Creation timestamp
35 * - updated_timestamp Last edit timestamp
36 *
14 * @package Shaarli\Formatter 37 * @package Shaarli\Formatter
15 */ 38 */
16abstract class BookmarkFormatter 39abstract class BookmarkFormatter
@@ -55,13 +78,16 @@ abstract class BookmarkFormatter
55 $out['shorturl'] = $this->formatShortUrl($bookmark); 78 $out['shorturl'] = $this->formatShortUrl($bookmark);
56 $out['url'] = $this->formatUrl($bookmark); 79 $out['url'] = $this->formatUrl($bookmark);
57 $out['real_url'] = $this->formatRealUrl($bookmark); 80 $out['real_url'] = $this->formatRealUrl($bookmark);
81 $out['url_html'] = $this->formatUrlHtml($bookmark);
58 $out['title'] = $this->formatTitle($bookmark); 82 $out['title'] = $this->formatTitle($bookmark);
83 $out['title_html'] = $this->formatTitleHtml($bookmark);
59 $out['description'] = $this->formatDescription($bookmark); 84 $out['description'] = $this->formatDescription($bookmark);
60 $out['thumbnail'] = $this->formatThumbnail($bookmark); 85 $out['thumbnail'] = $this->formatThumbnail($bookmark);
61 $out['urlencoded_taglist'] = $this->formatUrlEncodedTagList($bookmark);
62 $out['taglist'] = $this->formatTagList($bookmark); 86 $out['taglist'] = $this->formatTagList($bookmark);
63 $out['urlencoded_tags'] = $this->formatUrlEncodedTagString($bookmark); 87 $out['taglist_urlencoded'] = $this->formatTagListUrlEncoded($bookmark);
88 $out['taglist_html'] = $this->formatTagListHtml($bookmark);
64 $out['tags'] = $this->formatTagString($bookmark); 89 $out['tags'] = $this->formatTagString($bookmark);
90 $out['tags_urlencoded'] = $this->formatTagStringUrlEncoded($bookmark);
65 $out['sticky'] = $bookmark->isSticky(); 91 $out['sticky'] = $bookmark->isSticky();
66 $out['private'] = $bookmark->isPrivate(); 92 $out['private'] = $bookmark->isPrivate();
67 $out['class'] = $this->formatClass($bookmark); 93 $out['class'] = $this->formatClass($bookmark);
@@ -69,6 +95,7 @@ abstract class BookmarkFormatter
69 $out['updated'] = $this->formatUpdated($bookmark); 95 $out['updated'] = $this->formatUpdated($bookmark);
70 $out['timestamp'] = $this->formatCreatedTimestamp($bookmark); 96 $out['timestamp'] = $this->formatCreatedTimestamp($bookmark);
71 $out['updated_timestamp'] = $this->formatUpdatedTimestamp($bookmark); 97 $out['updated_timestamp'] = $this->formatUpdatedTimestamp($bookmark);
98
72 return $out; 99 return $out;
73 } 100 }
74 101
@@ -136,6 +163,18 @@ abstract class BookmarkFormatter
136 } 163 }
137 164
138 /** 165 /**
166 * Format Url Html: to be displayed in HTML content, it can contains HTML tags.
167 *
168 * @param Bookmark $bookmark instance
169 *
170 * @return string formatted Url HTML
171 */
172 protected function formatUrlHtml($bookmark)
173 {
174 return $this->formatUrl($bookmark);
175 }
176
177 /**
139 * Format Title 178 * Format Title
140 * 179 *
141 * @param Bookmark $bookmark instance 180 * @param Bookmark $bookmark instance
@@ -148,6 +187,18 @@ abstract class BookmarkFormatter
148 } 187 }
149 188
150 /** 189 /**
190 * Format Title HTML: to be displayed in HTML content, it can contains HTML tags.
191 *
192 * @param Bookmark $bookmark instance
193 *
194 * @return string formatted Title
195 */
196 protected function formatTitleHtml($bookmark)
197 {
198 return $bookmark->getTitle();
199 }
200
201 /**
151 * Format Description 202 * Format Description
152 * 203 *
153 * @param Bookmark $bookmark instance 204 * @param Bookmark $bookmark instance
@@ -190,12 +241,24 @@ abstract class BookmarkFormatter
190 * 241 *
191 * @return array formatted Tags 242 * @return array formatted Tags
192 */ 243 */
193 protected function formatUrlEncodedTagList($bookmark) 244 protected function formatTagListUrlEncoded($bookmark)
194 { 245 {
195 return array_map('urlencode', $this->filterTagList($bookmark->getTags())); 246 return array_map('urlencode', $this->filterTagList($bookmark->getTags()));
196 } 247 }
197 248
198 /** 249 /**
250 * Format Tags HTML: to be displayed in HTML content, it can contains HTML tags.
251 *
252 * @param Bookmark $bookmark instance
253 *
254 * @return array formatted Tags
255 */
256 protected function formatTagListHtml($bookmark)
257 {
258 return $this->formatTagList($bookmark);
259 }
260
261 /**
199 * Format TagString 262 * Format TagString
200 * 263 *
201 * @param Bookmark $bookmark instance 264 * @param Bookmark $bookmark instance
@@ -214,9 +277,9 @@ abstract class BookmarkFormatter
214 * 277 *
215 * @return string formatted TagString 278 * @return string formatted TagString
216 */ 279 */
217 protected function formatUrlEncodedTagString($bookmark) 280 protected function formatTagStringUrlEncoded($bookmark)
218 { 281 {
219 return implode(' ', $this->formatUrlEncodedTagList($bookmark)); 282 return implode(' ', $this->formatTagListUrlEncoded($bookmark));
220 } 283 }
221 284
222 /** 285 /**
@@ -237,7 +300,7 @@ abstract class BookmarkFormatter
237 * 300 *
238 * @param Bookmark $bookmark instance 301 * @param Bookmark $bookmark instance
239 * 302 *
240 * @return DateTime instance 303 * @return DateTimeInterface instance
241 */ 304 */
242 protected function formatCreated(Bookmark $bookmark) 305 protected function formatCreated(Bookmark $bookmark)
243 { 306 {
@@ -249,7 +312,7 @@ abstract class BookmarkFormatter
249 * 312 *
250 * @param Bookmark $bookmark instance 313 * @param Bookmark $bookmark instance
251 * 314 *
252 * @return DateTime instance 315 * @return DateTimeInterface instance
253 */ 316 */
254 protected function formatUpdated(Bookmark $bookmark) 317 protected function formatUpdated(Bookmark $bookmark)
255 { 318 {
diff --git a/application/formatter/BookmarkMarkdownFormatter.php b/application/formatter/BookmarkMarkdownFormatter.php
index 5d244d4c..f7714be9 100644
--- a/application/formatter/BookmarkMarkdownFormatter.php
+++ b/application/formatter/BookmarkMarkdownFormatter.php
@@ -56,7 +56,10 @@ class BookmarkMarkdownFormatter extends BookmarkDefaultFormatter
56 return parent::formatDescription($bookmark); 56 return parent::formatDescription($bookmark);
57 } 57 }
58 58
59 $processedDescription = $bookmark->getDescription(); 59 $processedDescription = $this->tokenizeSearchHighlightField(
60 $bookmark->getDescription() ?? '',
61 $bookmark->getAdditionalContentEntry('search_highlight')['description'] ?? []
62 );
60 $processedDescription = $this->filterProtocols($processedDescription); 63 $processedDescription = $this->filterProtocols($processedDescription);
61 $processedDescription = $this->formatHashTags($processedDescription); 64 $processedDescription = $this->formatHashTags($processedDescription);
62 $processedDescription = $this->reverseEscapedHtml($processedDescription); 65 $processedDescription = $this->reverseEscapedHtml($processedDescription);
@@ -65,6 +68,7 @@ class BookmarkMarkdownFormatter extends BookmarkDefaultFormatter
65 ->setBreaksEnabled(true) 68 ->setBreaksEnabled(true)
66 ->text($processedDescription); 69 ->text($processedDescription);
67 $processedDescription = $this->sanitizeHtml($processedDescription); 70 $processedDescription = $this->sanitizeHtml($processedDescription);
71 $processedDescription = $this->replaceTokens($processedDescription);
68 72
69 if (!empty($processedDescription)) { 73 if (!empty($processedDescription)) {
70 $processedDescription = '<div class="markdown">'. $processedDescription . '</div>'; 74 $processedDescription = '<div class="markdown">'. $processedDescription . '</div>';
diff --git a/application/front/controller/visitor/ShaarliVisitorController.php b/application/front/controller/visitor/ShaarliVisitorController.php
index 55c075a2..54f9fe03 100644
--- a/application/front/controller/visitor/ShaarliVisitorController.php
+++ b/application/front/controller/visitor/ShaarliVisitorController.php
@@ -106,6 +106,7 @@ abstract class ShaarliVisitorController
106 'target' => $template, 106 'target' => $template,
107 'loggedin' => $this->container->loginManager->isLoggedIn(), 107 'loggedin' => $this->container->loginManager->isLoggedIn(),
108 'basePath' => $this->container->basePath, 108 'basePath' => $this->container->basePath,
109 'rootPath' => preg_replace('#/index\.php$#', '', $this->container->basePath),
109 'bookmarkService' => $this->container->bookmarkService 110 'bookmarkService' => $this->container->bookmarkService
110 ]; 111 ];
111 } 112 }
diff --git a/application/plugin/PluginManager.php b/application/plugin/PluginManager.php
index 1b2197c9..da66dea3 100644
--- a/application/plugin/PluginManager.php
+++ b/application/plugin/PluginManager.php
@@ -104,6 +104,7 @@ class PluginManager
104 'target' => '_PAGE_', 104 'target' => '_PAGE_',
105 'loggedin' => '_LOGGEDIN_', 105 'loggedin' => '_LOGGEDIN_',
106 'basePath' => '_BASE_PATH_', 106 'basePath' => '_BASE_PATH_',
107 'rootPath' => '_ROOT_PATH_',
107 'bookmarkService' => '_BOOKMARK_SERVICE_', 108 'bookmarkService' => '_BOOKMARK_SERVICE_',
108 ]; 109 ];
109 110
diff --git a/application/render/PageBuilder.php b/application/render/PageBuilder.php
index 41b357dd..2d6d2dbe 100644
--- a/application/render/PageBuilder.php
+++ b/application/render/PageBuilder.php
@@ -174,10 +174,12 @@ class PageBuilder
174 } 174 }
175 } 175 }
176 176
177 $rootPath = preg_replace('#/index\.php$#', '', $basePath);
177 $this->assign('base_path', $basePath); 178 $this->assign('base_path', $basePath);
179 $this->assign('root_path', $rootPath);
178 $this->assign( 180 $this->assign(
179 'asset_path', 181 'asset_path',
180 $basePath . '/' . 182 $rootPath . '/' .
181 rtrim($this->conf->get('resource.raintpl_tpl', 'tpl'), '/') . '/' . 183 rtrim($this->conf->get('resource.raintpl_tpl', 'tpl'), '/') . '/' .
182 $this->conf->get('resource.theme', 'default') 184 $this->conf->get('resource.theme', 'default')
183 ); 185 );
diff --git a/assets/default/js/base.js b/assets/default/js/base.js
index 31688815..7f6b9637 100644
--- a/assets/default/js/base.js
+++ b/assets/default/js/base.js
@@ -294,7 +294,7 @@ function init(description) {
294 const deleteLinks = document.querySelectorAll('.confirm-delete'); 294 const deleteLinks = document.querySelectorAll('.confirm-delete');
295 [...deleteLinks].forEach((deleteLink) => { 295 [...deleteLinks].forEach((deleteLink) => {
296 deleteLink.addEventListener('click', (event) => { 296 deleteLink.addEventListener('click', (event) => {
297 if (!confirm(document.getElementById('translation-delete-link').innerHTML)) { 297 if (!confirm(document.getElementById('translation-delete-tag').innerHTML)) {
298 event.preventDefault(); 298 event.preventDefault();
299 } 299 }
300 }); 300 });
diff --git a/assets/default/scss/shaarli.scss b/assets/default/scss/shaarli.scss
index df9c867b..286ac83b 100644
--- a/assets/default/scss/shaarli.scss
+++ b/assets/default/scss/shaarli.scss
@@ -671,6 +671,10 @@ body,
671 content: ''; 671 content: '';
672 } 672 }
673 } 673 }
674
675 .search-highlight {
676 background-color: yellow;
677 }
674} 678}
675 679
676.linklist-item-buttons { 680.linklist-item-buttons {
diff --git a/doc/md/Server-configuration.md b/doc/md/Server-configuration.md
index 14070c8a..8cb39934 100644
--- a/doc/md/Server-configuration.md
+++ b/doc/md/Server-configuration.md
@@ -362,7 +362,23 @@ sudo systemctl reload nginx
362 362
363If Shaarli is hosted on a server behind a [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy) (i.e. there is a proxy server between clients and the web server hosting Shaarli), configure it accordingly. See [Reverse proxy](Reverse-proxy.md) configuration. 363If Shaarli is hosted on a server behind a [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy) (i.e. there is a proxy server between clients and the web server hosting Shaarli), configure it accordingly. See [Reverse proxy](Reverse-proxy.md) configuration.
364 364
365## Using Shaarli without URL rewriting
365 366
367By default, Shaarli uses Slim framework's URL, which requires
368URL rewriting.
369
370If you can't use URL rewriting for any reason (not supported by
371your web server, shared hosting, etc.), you *can* use Shaarli
372without URL rewriting.
373
374You just need to prefix your URL by `/index.php/`.
375Example: instead of accessing `https://shaarli.mydomain.org/`,
376use `https://shaarli.mydomain.org/index.php/`.
377
378**Recommended:**
379 * after installation, in the configuration page, set your header link to `/index.php/`.
380 * in your configuration file `config.json.php` set `general.root_url` to
381 `https://shaarli.mydomain.org/index.php/`.
366 382
367## Allow import of large browser bookmarks export 383## Allow import of large browser bookmarks export
368 384
diff --git a/doc/md/dev/Plugin-system.md b/doc/md/dev/Plugin-system.md
index c29774de..f09fadc2 100644
--- a/doc/md/dev/Plugin-system.md
+++ b/doc/md/dev/Plugin-system.md
@@ -148,11 +148,16 @@ If a file needs to be included in server end, use simple relative path:
148`PluginManager::$PLUGINS_PATH . '/mything/template.html'`. 148`PluginManager::$PLUGINS_PATH . '/mything/template.html'`.
149 149
150If it needs to be included in front end side (e.g. an image), 150If it needs to be included in front end side (e.g. an image),
151the relative path must be prefixed with special data `_BASE_PATH_`: 151the relative path must be prefixed with special data:
152`($data['_BASE_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH . '/mything/picture.png`. 152
153 * if it's a link that will need to be processed by Shaarli, use `_BASE_PATH_`:
154 for e.g. `$data['_BASE_PATH_'] . '/admin/tools`.
155 * if you want to include an asset, you need to add the root URL (base path without `/index.php`, for people using Shaarli without URL rewriting), then use `_ROOT_PATH_`:
156 for e.g
157`$['_ROOT_PATH_'] . '/' . PluginManager::$PLUGINS_PATH . '/mything/picture.png`.
153 158
154Note that special placeholders for CSS and JS files (respectively `css_files` and `js_files`) are already prefixed 159Note that special placeholders for CSS and JS files (respectively `css_files` and `js_files`) are already prefixed
155with the base path in template files. 160with the root path in template files.
156 161
157### It's not working! 162### It's not working!
158 163
diff --git a/inc/languages/fr/LC_MESSAGES/shaarli.po b/inc/languages/fr/LC_MESSAGES/shaarli.po
index 9a6e3958..f7baedfb 100644
--- a/inc/languages/fr/LC_MESSAGES/shaarli.po
+++ b/inc/languages/fr/LC_MESSAGES/shaarli.po
@@ -1,8 +1,8 @@
1msgid "" 1msgid ""
2msgstr "" 2msgstr ""
3"Project-Id-Version: Shaarli\n" 3"Project-Id-Version: Shaarli\n"
4"POT-Creation-Date: 2020-09-10 16:06+0200\n" 4"POT-Creation-Date: 2020-10-16 20:01+0200\n"
5"PO-Revision-Date: 2020-09-10 16:07+0200\n" 5"PO-Revision-Date: 2020-10-16 20:02+0200\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"
@@ -107,28 +107,22 @@ msgstr "Mo"
107msgid "GiB" 107msgid "GiB"
108msgstr "Go" 108msgstr "Go"
109 109
110#: application/bookmark/BookmarkFileService.php:174 110#: application/bookmark/BookmarkFileService.php:180
111#: application/bookmark/BookmarkFileService.php:199 111#: application/bookmark/BookmarkFileService.php:202
112#: application/bookmark/BookmarkFileService.php:224 112#: application/bookmark/BookmarkFileService.php:224
113#: application/bookmark/BookmarkFileService.php:241 113#: application/bookmark/BookmarkFileService.php:238
114msgid "You're not authorized to alter the datastore" 114msgid "You're not authorized to alter the datastore"
115msgstr "Vous n'êtes pas autorisé à modifier les données" 115msgstr "Vous n'êtes pas autorisé à modifier les données"
116 116
117#: application/bookmark/BookmarkFileService.php:177
118#: application/bookmark/BookmarkFileService.php:202
119#: application/bookmark/BookmarkFileService.php:244
120msgid "Provided data is invalid"
121msgstr "Les informations fournies ne sont pas valides"
122
123#: application/bookmark/BookmarkFileService.php:205 117#: application/bookmark/BookmarkFileService.php:205
124msgid "This bookmarks already exists" 118msgid "This bookmarks already exists"
125msgstr "Ce marque-page existe déjà." 119msgstr "Ce marque-page existe déjà."
126 120
127#: application/bookmark/BookmarkInitializer.php:37 121#: application/bookmark/BookmarkInitializer.php:39
128msgid "(private bookmark with thumbnail demo)" 122msgid "(private bookmark with thumbnail demo)"
129msgstr "(marque page privé avec une miniature)" 123msgstr "(marque page privé avec une miniature)"
130 124
131#: application/bookmark/BookmarkInitializer.php:40 125#: application/bookmark/BookmarkInitializer.php:42
132msgid "" 126msgid ""
133"Shaarli will automatically pick up the thumbnail for links to a variety of " 127"Shaarli will automatically pick up the thumbnail for links to a variety of "
134"websites.\n" 128"websites.\n"
@@ -151,11 +145,11 @@ msgstr ""
151"\n" 145"\n"
152"Maintenant, vous pouvez modifier ou supprimer les shaares créés par défaut.\n" 146"Maintenant, vous pouvez modifier ou supprimer les shaares créés par défaut.\n"
153 147
154#: application/bookmark/BookmarkInitializer.php:53 148#: application/bookmark/BookmarkInitializer.php:55
155msgid "Note: Shaare descriptions" 149msgid "Note: Shaare descriptions"
156msgstr "Note : Description des Shaares" 150msgstr "Note : Description des Shaares"
157 151
158#: application/bookmark/BookmarkInitializer.php:55 152#: application/bookmark/BookmarkInitializer.php:57
159msgid "" 153msgid ""
160"Adding a shaare without entering a URL creates a text-only \"note\" post " 154"Adding a shaare without entering a URL creates a text-only \"note\" post "
161"such as this one.\n" 155"such as this one.\n"
@@ -219,7 +213,7 @@ msgstr ""
219"| Citron | Fruit | Jaune | 30 |\n" 213"| Citron | Fruit | Jaune | 30 |\n"
220"| Carotte | Légume | Orange | 14 |\n" 214"| Carotte | Légume | Orange | 14 |\n"
221 215
222#: application/bookmark/BookmarkInitializer.php:89 216#: application/bookmark/BookmarkInitializer.php:91
223#: application/legacy/LegacyLinkDB.php:246 217#: application/legacy/LegacyLinkDB.php:246
224#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 218#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15
225#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:49 219#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:49
@@ -231,7 +225,7 @@ msgstr ""
231"Le gestionnaire de marque-pages personnel, minimaliste, et sans base de " 225"Le gestionnaire de marque-pages personnel, minimaliste, et sans base de "
232"données" 226"données"
233 227
234#: application/bookmark/BookmarkInitializer.php:92 228#: application/bookmark/BookmarkInitializer.php:94
235msgid "" 229msgid ""
236"Welcome to Shaarli!\n" 230"Welcome to Shaarli!\n"
237"\n" 231"\n"
@@ -463,11 +457,11 @@ msgstr "Votre mot de passe a été modifié"
463msgid "Plugin Administration" 457msgid "Plugin Administration"
464msgstr "Administration des plugins" 458msgstr "Administration des plugins"
465 459
466#: application/front/controller/admin/PluginsController.php:75 460#: application/front/controller/admin/PluginsController.php:76
467msgid "Setting successfully saved." 461msgid "Setting successfully saved."
468msgstr "Les paramètres ont été sauvegardés avec succès." 462msgstr "Les paramètres ont été sauvegardés avec succès."
469 463
470#: application/front/controller/admin/PluginsController.php:78 464#: application/front/controller/admin/PluginsController.php:79
471msgid "Error while saving plugin configuration: " 465msgid "Error while saving plugin configuration: "
472msgstr "" 466msgstr ""
473"Une erreur s'est produite lors de la sauvegarde de la configuration des " 467"Une erreur s'est produite lors de la sauvegarde de la configuration des "
@@ -484,7 +478,7 @@ msgstr "Mise à jour des miniatures"
484msgid "Tools" 478msgid "Tools"
485msgstr "Outils" 479msgstr "Outils"
486 480
487#: application/front/controller/visitor/BookmarkListController.php:115 481#: application/front/controller/visitor/BookmarkListController.php:116
488msgid "Search: " 482msgid "Search: "
489msgstr "Recherche : " 483msgstr "Recherche : "
490 484
@@ -506,6 +500,10 @@ msgstr "Quotidien"
506msgid "An unexpected error occurred." 500msgid "An unexpected error occurred."
507msgstr "Une erreur inattendue s'est produite." 501msgstr "Une erreur inattendue s'est produite."
508 502
503#: application/front/controller/visitor/ErrorNotFoundController.php:25
504msgid "Requested page could not be found."
505msgstr ""
506
509#: application/front/controller/visitor/InstallController.php:73 507#: application/front/controller/visitor/InstallController.php:73
510#, php-format 508#, php-format
511msgid "" 509msgid ""
@@ -556,11 +554,9 @@ msgstr "Nom d'utilisateur ou mot de passe incorrect(s)."
556msgid "Picture wall" 554msgid "Picture wall"
557msgstr "Mur d'images" 555msgstr "Mur d'images"
558 556
559#: application/front/controller/visitor/TagCloudController.php:80 557#: application/front/controller/visitor/TagCloudController.php:88
560#, fuzzy
561#| msgid "Tag list"
562msgid "Tag " 558msgid "Tag "
563msgstr "Liste des tags" 559msgstr "Tag"
564 560
565#: application/front/exceptions/AlreadyInstalledException.php:11 561#: application/front/exceptions/AlreadyInstalledException.php:11
566msgid "Shaarli has already been installed. Login to edit the configuration." 562msgid "Shaarli has already been installed. Login to edit the configuration."
@@ -664,7 +660,7 @@ msgstr ""
664"a été importé avec succès en %d secondes : %d liens importés, %d liens " 660"a été importé avec succès en %d secondes : %d liens importés, %d liens "
665"écrasés, %d liens ignorés." 661"écrasés, %d liens ignorés."
666 662
667#: application/plugin/PluginManager.php:122 663#: application/plugin/PluginManager.php:124
668msgid " [plugin incompatibility]: " 664msgid " [plugin incompatibility]: "
669msgstr " [incompatibilité de l'extension] : " 665msgstr " [incompatibilité de l'extension] : "
670 666
@@ -682,7 +678,7 @@ msgstr "Impossible de purger %s : le répertoire n'existe pas"
682msgid "An error occurred while running the update " 678msgid "An error occurred while running the update "
683msgstr "Une erreur s'est produite lors de l'exécution de la mise à jour " 679msgstr "Une erreur s'est produite lors de l'exécution de la mise à jour "
684 680
685#: index.php:62 681#: index.php:65
686msgid "Shared bookmarks on " 682msgid "Shared bookmarks on "
687msgstr "Liens partagés sur " 683msgstr "Liens partagés sur "
688 684
@@ -699,11 +695,11 @@ msgstr "Shaare"
699msgid "Adds the addlink input on the linklist page." 695msgid "Adds the addlink input on the linklist page."
700msgstr "Ajoute le formulaire d'ajout de liens sur la page principale." 696msgstr "Ajoute le formulaire d'ajout de liens sur la page principale."
701 697
702#: plugins/archiveorg/archiveorg.php:26 698#: plugins/archiveorg/archiveorg.php:28
703msgid "View on archive.org" 699msgid "View on archive.org"
704msgstr "Voir sur archive.org" 700msgstr "Voir sur archive.org"
705 701
706#: plugins/archiveorg/archiveorg.php:39 702#: plugins/archiveorg/archiveorg.php:41
707msgid "For each link, add an Archive.org icon." 703msgid "For each link, add an Archive.org icon."
708msgstr "Pour chaque lien, ajoute une icône pour Archive.org." 704msgstr "Pour chaque lien, ajoute une icône pour Archive.org."
709 705
@@ -881,17 +877,13 @@ msgid "Case sensitive"
881msgstr "Sensible à la casse" 877msgstr "Sensible à la casse"
882 878
883#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34 879#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34
884msgid "Rename" 880#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:68
885msgstr "Renommer" 881msgid "Rename tag"
882msgstr "Renommer le tag"
886 883
887#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:35 884#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:35
888#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:93 885msgid "Delete tag"
889#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:173 886msgstr "Supprimer le tag"
890#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:147
891#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:147
892#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:67
893msgid "Delete"
894msgstr "Supprimer"
895 887
896#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 888#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39
897msgid "You can also edit tags in the" 889msgid "You can also edit tags in the"
@@ -1122,6 +1114,14 @@ msgstr "la syntaxe Markdown"
1122msgid "Apply Changes" 1114msgid "Apply Changes"
1123msgstr "Appliquer les changements" 1115msgstr "Appliquer les changements"
1124 1116
1117#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:93
1118#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:173
1119#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:147
1120#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:147
1121#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:67
1122msgid "Delete"
1123msgstr "Supprimer"
1124
1125#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 1125#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16
1126msgid "Export Database" 1126msgid "Export Database"
1127msgstr "Exporter les données" 1127msgstr "Exporter les données"
@@ -1382,8 +1382,8 @@ msgstr "Déplier tout"
1382 1382
1383#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:47 1383#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:47
1384#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:47 1384#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:47
1385msgid "Are you sure you want to delete this link?" 1385msgid "Are you sure you want to delete this tag?"
1386msgstr "Êtes-vous sûr de vouloir supprimer ce lien ?" 1386msgstr "Êtes-vous sûr de vouloir supprimer ce tag ?"
1387 1387
1388#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:11 1388#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:11
1389#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:11 1389#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:11
@@ -1525,10 +1525,6 @@ msgstr "Lister tous les liens avec ces tags"
1525msgid "Tag list" 1525msgid "Tag list"
1526msgstr "Liste des tags" 1526msgstr "Liste des tags"
1527 1527
1528#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:68
1529msgid "Rename tag"
1530msgstr "Renommer le tag"
1531
1532#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:3 1528#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:3
1533#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:3 1529#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:3
1534msgid "Sort by:" 1530msgid "Sort by:"
@@ -1664,6 +1660,12 @@ msgstr ""
1664"Glisser ce lien dans votre barre de favoris ou cliquer droit dessus et « " 1660"Glisser ce lien dans votre barre de favoris ou cliquer droit dessus et « "
1665"Ajouter aux favoris »" 1661"Ajouter aux favoris »"
1666 1662
1663#~ msgid "Provided data is invalid"
1664#~ msgstr "Les informations fournies ne sont pas valides"
1665
1666#~ msgid "Rename"
1667#~ msgstr "Renommer"
1668
1667#, fuzzy 1669#, fuzzy
1668#~| msgid "Selection" 1670#~| msgid "Selection"
1669#~ msgid ".ui-selecting" 1671#~ msgid ".ui-selecting"
diff --git a/inc/languages/jp/LC_MESSAGES/shaarli.po b/inc/languages/jp/LC_MESSAGES/shaarli.po
index b420bb51..57f42fc2 100644
--- a/inc/languages/jp/LC_MESSAGES/shaarli.po
+++ b/inc/languages/jp/LC_MESSAGES/shaarli.po
@@ -2,15 +2,15 @@ msgid ""
2msgstr "" 2msgstr ""
3"Project-Id-Version: Shaarli\n" 3"Project-Id-Version: Shaarli\n"
4"Report-Msgid-Bugs-To: \n" 4"Report-Msgid-Bugs-To: \n"
5"POT-Creation-Date: 2020-02-11 09:31+0900\n" 5"POT-Creation-Date: 2020-10-19 10:19+0900\n"
6"PO-Revision-Date: 2020-02-11 10:54+0900\n" 6"PO-Revision-Date: 2020-10-19 10:25+0900\n"
7"Last-Translator: yude <yudesleepy@gmail.com>\n" 7"Last-Translator: yude <yudesleepy@gmail.com>\n"
8"Language-Team: Shaarli\n" 8"Language-Team: Shaarli\n"
9"Language: ja\n" 9"Language: ja\n"
10"MIME-Version: 1.0\n" 10"MIME-Version: 1.0\n"
11"Content-Type: text/plain; charset=UTF-8\n" 11"Content-Type: text/plain; charset=UTF-8\n"
12"Content-Transfer-Encoding: 8bit\n" 12"Content-Transfer-Encoding: 8bit\n"
13"X-Generator: Poedit 2.3\n" 13"X-Generator: Poedit 2.2.3\n"
14"X-Poedit-Basepath: ../../../..\n" 14"X-Poedit-Basepath: ../../../..\n"
15"Plural-Forms: nplurals=2; plural=(n != 1);\n" 15"Plural-Forms: nplurals=2; plural=(n != 1);\n"
16"X-Poedit-SourceCharset: UTF-8\n" 16"X-Poedit-SourceCharset: UTF-8\n"
@@ -19,7 +19,7 @@ msgstr ""
19"X-Poedit-SearchPathExcluded-0: node_modules\n" 19"X-Poedit-SearchPathExcluded-0: node_modules\n"
20"X-Poedit-SearchPathExcluded-1: vendor\n" 20"X-Poedit-SearchPathExcluded-1: vendor\n"
21 21
22#: application/ApplicationUtils.php:153 22#: application/ApplicationUtils.php:161
23#, php-format 23#, php-format
24msgid "" 24msgid ""
25"Your PHP version is obsolete! Shaarli requires at least PHP %s, and thus " 25"Your PHP version is obsolete! Shaarli requires at least PHP %s, and thus "
@@ -30,200 +30,250 @@ msgstr ""
30"ãŒå¿…è¦ã§ã™ã€‚ ç¾åœ¨ä½¿ç”¨ã—ã¦ã„ã‚‹ PHP ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¯è„†å¼±æ€§ãŒã‚ã‚Šã€ã§ãã‚‹ã ã‘速" 30"ãŒå¿…è¦ã§ã™ã€‚ ç¾åœ¨ä½¿ç”¨ã—ã¦ã„ã‚‹ PHP ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¯è„†å¼±æ€§ãŒã‚ã‚Šã€ã§ãã‚‹ã ã‘速"
31"ã‚„ã‹ã«ã‚¢ãƒƒãƒ—デートã™ã‚‹ã¹ãã§ã™ã€‚" 31"ã‚„ã‹ã«ã‚¢ãƒƒãƒ—デートã™ã‚‹ã¹ãã§ã™ã€‚"
32 32
33#: application/ApplicationUtils.php:183 application/ApplicationUtils.php:195 33#: application/ApplicationUtils.php:192 application/ApplicationUtils.php:204
34msgid "directory is not readable" 34msgid "directory is not readable"
35msgstr "ディレクトリを読ã¿è¾¼ã‚ã¾ã›ã‚“" 35msgstr "ディレクトリを読ã¿è¾¼ã‚ã¾ã›ã‚“"
36 36
37#: application/ApplicationUtils.php:198 37#: application/ApplicationUtils.php:207
38msgid "directory is not writable" 38msgid "directory is not writable"
39msgstr "ディレクトリã«æ›¸ãè¾¼ã‚ã¾ã›ã‚“" 39msgstr "ディレクトリã«æ›¸ãè¾¼ã‚ã¾ã›ã‚“"
40 40
41#: application/ApplicationUtils.php:216 41#: application/ApplicationUtils.php:225
42msgid "file is not readable" 42msgid "file is not readable"
43msgstr "ファイルを読ã¿å–る権é™ãŒã‚ã‚Šã¾ã›ã‚“" 43msgstr "ファイルを読ã¿å–る権é™ãŒã‚ã‚Šã¾ã›ã‚“"
44 44
45#: application/ApplicationUtils.php:219 45#: application/ApplicationUtils.php:228
46msgid "file is not writable" 46msgid "file is not writable"
47msgstr "ファイルを書ã込む権é™ãŒã‚ã‚Šã¾ã›ã‚“" 47msgstr "ファイルを書ã込む権é™ãŒã‚ã‚Šã¾ã›ã‚“"
48 48
49#: application/Cache.php:16 49#: application/History.php:179
50#, php-format
51msgid "Cannot purge %s: no directory"
52msgstr "%s を削除ã§ãã¾ã›ã‚“: ディレクトリãŒå­˜åœ¨ã—ã¾ã›ã‚“"
53
54#: application/FeedBuilder.php:151
55msgid "Direct link"
56msgstr "ダイレクトリンク"
57
58#: application/FeedBuilder.php:153
59#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:88
60#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:178
61msgid "Permalink"
62msgstr "パーマリンク"
63
64#: application/History.php:174
65msgid "History file isn't readable or writable" 50msgid "History file isn't readable or writable"
66msgstr "履歴ファイルを読ã¿è¾¼ã‚€ã€ã¾ãŸã¯æ›¸ã込むãŸã‚ã®æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“" 51msgstr "履歴ファイルを読ã¿è¾¼ã‚€ã€ã¾ãŸã¯æ›¸ã込むãŸã‚ã®æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“"
67 52
68#: application/History.php:185 53#: application/History.php:190
69msgid "Could not parse history file" 54msgid "Could not parse history file"
70msgstr "履歴ファイルを正常ã«å¾©å…ƒã§ãã¾ã›ã‚“ã§ã—ãŸ" 55msgstr "履歴ファイルを正常ã«å¾©å…ƒã§ãã¾ã›ã‚“ã§ã—ãŸ"
71 56
72#: application/Languages.php:177 57#: application/Languages.php:181
73msgid "Automatic" 58msgid "Automatic"
74msgstr "自動" 59msgstr "自動"
75 60
76#: application/Languages.php:178 61#: application/Languages.php:182
62msgid "German"
63msgstr "ドイツ語"
64
65#: application/Languages.php:183
77msgid "English" 66msgid "English"
78msgstr "英語" 67msgstr "英語"
79 68
80#: application/Languages.php:179 69#: application/Languages.php:184
81msgid "French" 70msgid "French"
82msgstr "フランス語" 71msgstr "フランス語"
83 72
84#: application/Languages.php:180 73#: application/Languages.php:185
85msgid "German" 74msgid "Japanese"
86msgstr "ドイツ語" 75msgstr "日本語"
87
88#: application/LinkDB.php:136
89msgid "You are not authorized to add a link."
90msgstr "リンクを追加ã™ã‚‹ã«ã¯ã€ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
91
92#: application/LinkDB.php:139
93msgid "Internal Error: A link should always have an id and URL."
94msgstr "エラー: リンクã«ã¯IDã¨URLを登録ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
95
96#: application/LinkDB.php:142
97msgid "You must specify an integer as a key."
98msgstr "正常ãªã‚­ãƒ¼ã®å€¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
99
100#: application/LinkDB.php:145
101msgid "Array offset and link ID must be equal."
102msgstr "Array オフセットã¨ãƒªãƒ³ã‚¯ã®IDã¯åŒã˜ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
103
104#: application/LinkDB.php:251
105#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14
106#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48
107#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:14
108#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:48
109msgid ""
110"The personal, minimalist, super-fast, database free, bookmarking service"
111msgstr ""
112"個人å‘ã‘ã®ã€ãƒŸãƒ‹ãƒžãƒ ã§é«˜é€Ÿã§ã‹ã¤ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã„らãªã„ブックマークサービス"
113
114#: application/LinkDB.php:253
115msgid ""
116"Welcome to Shaarli! This is your first public bookmark. To edit or delete "
117"me, you must first login.\n"
118"\n"
119"To learn how to use Shaarli, consult the link \"Documentation\" at the "
120"bottom of this page.\n"
121"\n"
122"You use the community supported version of the original Shaarli project, by "
123"Sebastien Sauvage."
124msgstr ""
125"Shaarli ã¸ã‚ˆã†ã“ãï¼ ã“ã‚Œã¯ã‚ãªãŸã®æœ€åˆã®å…¬é–‹ãƒ–ックマークã§ã™ã€‚ã“れを編集ã—ãŸ"
126"り削除ã—ãŸã‚Šã™ã‚‹ã«ã¯ã€ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚\n"
127"\n"
128"Shaarli ã®ä½¿ã„方を知るã«ã¯ã€ã“ã®ãƒšãƒ¼ã‚¸ã®ä¸‹ã«ã‚る「ドキュメントã€ã®ãƒªãƒ³ã‚¯ã‚’é–‹"
129"ã„ã¦ãã ã•ã„。\n"
130"\n"
131"ã‚ãªãŸã¯ Sebastien Sauvage ã«ã‚ˆã‚‹ã€ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ãƒ¼ã‚µãƒãƒ¼ãƒˆã®ã‚ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚ª"
132"リジナルã®Shaarli プロジェクトを使用ã—ã¦ã„ã¾ã™ã€‚"
133
134#: application/LinkDB.php:267
135msgid "My secret stuff... - Pastebin.com"
136msgstr "ã‚ãŸã—ã®ã²ðŸ’—ã¿ðŸ’—ã¤ðŸ’— - Pastebin.com"
137
138#: application/LinkDB.php:269
139msgid "Shhhh! I'm a private link only YOU can see. You can delete me too."
140msgstr ""
141"ã‚·ãƒ¼ãƒƒï¼ ã“ã‚Œã¯ã‚ãªãŸã—ã‹è¦‹ã‚‰ã‚Œãªã„プライベートリンクã§ã™ã€‚消ã™ã“ã¨ã‚‚ã§ãã¾"
142"ã™ã€‚"
143
144#: application/LinkFilter.php:452
145msgid "The link you are trying to reach does not exist or has been deleted."
146msgstr "é–‹ã“ã†ã¨ã—ãŸãƒªãƒ³ã‚¯ã¯å­˜åœ¨ã—ãªã„ã‹ã€å‰Šé™¤ã•ã‚Œã¦ã„ã¾ã™ã€‚"
147
148#: application/NetscapeBookmarkUtils.php:35
149msgid "Invalid export selection:"
150msgstr "ä¸æ­£ãªã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã®é¸æŠž:"
151
152#: application/NetscapeBookmarkUtils.php:81
153#, php-format
154msgid "File %s (%d bytes) "
155msgstr "ファイル %s (%d ãƒã‚¤ãƒˆ) "
156
157#: application/NetscapeBookmarkUtils.php:83
158msgid "has an unknown file format. Nothing was imported."
159msgstr "ã¯ä¸æ˜Žãªãƒ•ã‚¡ã‚¤ãƒ«å½¢å¼ã§ã™ã€‚インãƒãƒ¼ãƒˆã¯ä¸­æ­¢ã•ã‚Œã¾ã—ãŸã€‚"
160 76
161#: application/NetscapeBookmarkUtils.php:86 77#: application/Thumbnailer.php:62
162#, php-format
163msgid "" 78msgid ""
164"was successfully processed in %d seconds: %d links imported, %d links " 79"php-gd extension must be loaded to use thumbnails. Thumbnails are now "
165"overwritten, %d links skipped." 80"disabled. Please reload the page."
166msgstr "" 81msgstr ""
167"㌠%d 秒ã§å‡¦ç†ã•ã‚Œã€%d 件ã®ãƒªãƒ³ã‚¯ãŒã‚¤ãƒ³ãƒãƒ¼ãƒˆã•ã‚Œã€%d 件ã®ãƒªãƒ³ã‚¯ãŒä¸Šæ›¸ãã•" 82"サムãƒã‚¤ãƒ«ã‚’使用ã™ã‚‹ã«ã¯ã€php-gd エクステンションãŒèª­ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Š"
168"ã‚Œã€%d 件ã®ãƒªãƒ³ã‚¯ãŒã‚¹ã‚­ãƒƒãƒ—ã•ã‚Œã¾ã—ãŸã€‚" 83"ã¾ã™ã€‚サムãƒã‚¤ãƒ«ã¯ç„¡åŠ¹åŒ–ã•ã‚Œã¾ã—ãŸã€‚ページをå†èª­è¾¼ã—ã¦ãã ã•ã„。"
169
170#: application/PageBuilder.php:168
171msgid "The page you are trying to reach does not exist or has been deleted."
172msgstr "ã‚ãªãŸãŒé–‹ã“ã†ã¨ã—ãŸãƒšãƒ¼ã‚¸ã¯å­˜åœ¨ã—ãªã„ã‹ã€å‰Šé™¤ã•ã‚Œã¦ã„ã¾ã™ã€‚"
173
174#: application/PageBuilder.php:170
175msgid "404 Not Found"
176msgstr "404 ページãŒå­˜åœ¨ã—ã¾ã›ã‚“"
177
178#: application/PluginManager.php:243
179#, php-format
180msgid "Plugin \"%s\" files not found."
181msgstr "プラグイン「%sã€ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
182
183#: application/Updater.php:76
184msgid "Couldn't retrieve Updater class methods."
185msgstr "アップデーターã®ã‚¯ãƒ©ã‚¹ãƒ¡ã‚¾ãƒƒãƒˆã‚’å—ä¿¡ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
186
187#: application/Updater.php:532
188msgid "An error occurred while running the update "
189msgstr "更新中ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—㟠"
190
191#: application/Updater.php:572
192msgid "Updates file path is not set, can't write updates."
193msgstr "æ›´æ–°ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘スãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ãŸã‚ã€æ›´æ–°ã‚’書ãè¾¼ã‚ã¾ã›ã‚“。"
194 84
195#: application/Updater.php:577 85#: application/Utils.php:383 tests/UtilsTest.php:343
196msgid "Unable to write updates in "
197msgstr "更新を次ã®é …ç›®ã«æ›¸ãè¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ: "
198
199#: application/Utils.php:376 tests/UtilsTest.php:340
200msgid "Setting not set" 86msgid "Setting not set"
201msgstr "未設定" 87msgstr "未設定"
202 88
203#: application/Utils.php:383 tests/UtilsTest.php:338 tests/UtilsTest.php:339 89#: application/Utils.php:390 tests/UtilsTest.php:341 tests/UtilsTest.php:342
204msgid "Unlimited" 90msgid "Unlimited"
205msgstr "無制é™" 91msgstr "無制é™"
206 92
207#: application/Utils.php:386 tests/UtilsTest.php:335 tests/UtilsTest.php:336 93#: application/Utils.php:393 tests/UtilsTest.php:338 tests/UtilsTest.php:339
208#: tests/UtilsTest.php:350 94#: tests/UtilsTest.php:353
209msgid "B" 95msgid "B"
210msgstr "B" 96msgstr "B"
211 97
212#: application/Utils.php:386 tests/UtilsTest.php:329 tests/UtilsTest.php:330 98#: application/Utils.php:393 tests/UtilsTest.php:332 tests/UtilsTest.php:333
213#: tests/UtilsTest.php:337 99#: tests/UtilsTest.php:340
214msgid "kiB" 100msgid "kiB"
215msgstr "kiB" 101msgstr "kiB"
216 102
217#: application/Utils.php:386 tests/UtilsTest.php:331 tests/UtilsTest.php:332 103#: application/Utils.php:393 tests/UtilsTest.php:334 tests/UtilsTest.php:335
218#: tests/UtilsTest.php:348 tests/UtilsTest.php:349 104#: tests/UtilsTest.php:351 tests/UtilsTest.php:352
219msgid "MiB" 105msgid "MiB"
220msgstr "MiB" 106msgstr "MiB"
221 107
222#: application/Utils.php:386 tests/UtilsTest.php:333 tests/UtilsTest.php:334 108#: application/Utils.php:393 tests/UtilsTest.php:336 tests/UtilsTest.php:337
223msgid "GiB" 109msgid "GiB"
224msgstr "GiB" 110msgstr "GiB"
225 111
226#: application/config/ConfigJson.php:52 application/config/ConfigPhp.php:121 112#: application/bookmark/BookmarkFileService.php:180
113#: application/bookmark/BookmarkFileService.php:202
114#: application/bookmark/BookmarkFileService.php:224
115#: application/bookmark/BookmarkFileService.php:238
116msgid "You're not authorized to alter the datastore"
117msgstr "設定を変更ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“"
118
119#: application/bookmark/BookmarkFileService.php:205
120msgid "This bookmarks already exists"
121msgstr "ã“ã®ãƒ–ックマークã¯æ—¢ã«å­˜åœ¨ã—ã¾ã™ã€‚"
122
123#: application/bookmark/BookmarkInitializer.php:39
124msgid "(private bookmark with thumbnail demo)"
125msgstr "(サムãƒã‚¤ãƒ«ãƒ‡ãƒ¢ãŒä»˜å±žã—ã¦ã„るプライベートブックマーク)"
126
127#: application/bookmark/BookmarkInitializer.php:42
128msgid ""
129"Shaarli will automatically pick up the thumbnail for links to a variety of "
130"websites.\n"
131"\n"
132"Explore your new Shaarli instance by trying out controls and menus.\n"
133"Visit the project on [Github](https://github.com/shaarli/Shaarli) or [the "
134"documentation](https://shaarli.readthedocs.io/en/master/) to learn more "
135"about Shaarli.\n"
136"\n"
137"Now you can edit or delete the default shaares.\n"
138msgstr ""
139"Shaarli ã¯è‡ªå‹•çš„ã«å¤šæ§˜ãªã‚¦ã‚§ãƒ–サイトã®ã‚µãƒ ãƒã‚¤ãƒ«ã‚’å–å¾—ã—ã¾ã™ã€‚\n"
140"\n"
141"ã‚ãªãŸã®æ–°ã—ã„ Shaarli インスタンスをコントロールやメニューを試ã—ãŸã‚Šã—ã¦ã€æŽ¢"
142"検ã—ã¦ãã ã•ã„。\n"
143" [Github](https://github.com/shaarli/Shaarli) ã¾ãŸã¯ [the documentation]"
144"(https://shaarli.readthedocs.io/en/master/) ã§ãƒ—ロジェクトを訪å•ã—ã¦ã€"
145"Shaarli ã‚’ã‚‚ã£ã¨ã‚ˆã知るã“ã¨ãŒã§ãã¾ã™ã€‚\n"
146"\n"
147"今ã‹ã‚‰ã€æ—¢å®šã® shaares を編集ã—ãŸã‚Šã€å‰Šé™¤ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
148
149#: application/bookmark/BookmarkInitializer.php:55
150msgid "Note: Shaare descriptions"
151msgstr "説明: Shaare ã®æ¦‚è¦"
152
153#: application/bookmark/BookmarkInitializer.php:57
154msgid ""
155"Adding a shaare without entering a URL creates a text-only \"note\" post "
156"such as this one.\n"
157"This note is private, so you are the only one able to see it while logged "
158"in.\n"
159"\n"
160"You can use this to keep notes, post articles, code snippets, and much "
161"more.\n"
162"\n"
163"The Markdown formatting setting allows you to format your notes and bookmark "
164"description:\n"
165"\n"
166"### Title headings\n"
167"\n"
168"#### Multiple headings levels\n"
169" * bullet lists\n"
170" * _italic_ text\n"
171" * **bold** text\n"
172" * ~~strike through~~ text\n"
173" * `code` blocks\n"
174" * images\n"
175" * [links](https://en.wikipedia.org/wiki/Markdown)\n"
176"\n"
177"Markdown also supports tables:\n"
178"\n"
179"| Name | Type | Color | Qty |\n"
180"| ------- | --------- | ------ | ----- |\n"
181"| Orange | Fruit | Orange | 126 |\n"
182"| Apple | Fruit | Any | 62 |\n"
183"| Lemon | Fruit | Yellow | 30 |\n"
184"| Carrot | Vegetable | Red | 14 |\n"
185msgstr ""
186"URL を追加ã›ãšã« shaare を作æˆã™ã‚‹ã¨ã€ãƒ†ã‚­ã‚¹ãƒˆã®ã¿ã®ã“ã®ã‚ˆã†ãª \"ノート\" ãŒ"
187"作æˆã•ã‚Œã¾ã™ã€‚\n"
188"ã“ã®ãƒŽãƒ¼ãƒˆã¯ãƒ—ライベートãªã®ã§ã€ãƒ­ã‚°ã‚¤ãƒ³ä¸­ã®ã‚ãªãŸã—ã‹è¦‹ã‚‹ã“ã¨ã¯ã§ãã¾ã›"
189"ん。\n"
190"\n"
191"ã‚ãªãŸã¯ã“れをメモ帳ã¨ã—ã¦ä½¿ã£ãŸã‚Šã€è¨˜äº‹ã‚’投稿ã—ãŸã‚Šã€ã‚³ãƒ¼ãƒ‰ スニペットã¨ã—ãŸ"
192"ã‚Šã™ã‚‹ãªã©ã¨ã„ã£ãŸã“ã¨ã«ä½¿ãˆã¾ã™ã€‚\n"
193"\n"
194"Markdown フォーマットã®è¨­å®šã«ã‚ˆã‚Šã€ãƒŽãƒ¼ãƒˆã‚„ブックマークã®æ¦‚è¦ã‚’以下ã®ã‚ˆã†ã«"
195"フォーマットã§ãã¾ã™:\n"
196"\n"
197"### タイトル ヘッダー\n"
198"\n"
199"#### 複数ã®è¦‹å‡ºã—\n"
200" * 箇æ¡æ›¸ãリスト\n"
201" * _イタリック_ 文字\n"
202" * **ボールド** 文字\n"
203" * ~~打ã¡æ¶ˆã—~~ 文字\n"
204" * `コード` ブロック\n"
205" * ç”»åƒ\n"
206" * [リンク](https://en.wikipedia.org/wiki/Markdown)\n"
207"\n"
208"Markdown ã¯è¡¨ã‚‚サãƒãƒ¼ãƒˆã—ã¾ã™:\n"
209"\n"
210"| åå‰ | 種類 | 色 | æ•°é‡ |\n"
211"| ------- | --------- | ------ | ----- |\n"
212"| オレンジ | 果物 | 橙 | 126 |\n"
213"| リンゴ | 果物 | ä»»æ„ | 62 |\n"
214"| レモン | 果物 | 黄 | 30 |\n"
215"| äººå‚ | é‡Žèœ | 赤 | 14 |\n"
216
217#: application/bookmark/BookmarkInitializer.php:91
218#: application/legacy/LegacyLinkDB.php:246
219msgid ""
220"The personal, minimalist, super-fast, database free, bookmarking service"
221msgstr ""
222"個人å‘ã‘ã®ã€ãƒŸãƒ‹ãƒžãƒ ã§é«˜é€Ÿã§ã‹ã¤ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã„らãªã„ブックマークサービス"
223
224#: application/bookmark/BookmarkInitializer.php:94
225msgid ""
226"Welcome to Shaarli!\n"
227"\n"
228"Shaarli allows you to bookmark your favorite pages, and share them with "
229"others or store them privately.\n"
230"You can add a description to your bookmarks, such as this one, and tag "
231"them.\n"
232"\n"
233"Create a new shaare by clicking the `+Shaare` button, or using any of the "
234"recommended tools (browser extension, mobile app, bookmarklet, REST API, "
235"etc.).\n"
236"\n"
237"You can easily retrieve your links, even with thousands of them, using the "
238"internal search engine, or search through tags (e.g. this Shaare is tagged "
239"with `shaarli` and `help`).\n"
240"Hashtags such as #shaarli #help are also supported.\n"
241"You can also filter the available [RSS feed](/feed/atom) and picture wall by "
242"tag or plaintext search.\n"
243"\n"
244"We hope that you will enjoy using Shaarli, maintained with â¤ï¸ by the "
245"community!\n"
246"Feel free to open [an issue](https://github.com/shaarli/Shaarli/issues) if "
247"you have a suggestion or encounter an issue.\n"
248msgstr ""
249"Shaarli ã¸ã‚ˆã†ã“ãï¼\n"
250"\n"
251"Shaarli ã§ã¯ã€ã‚ãªãŸã®ãŠæ°—ã«å…¥ã‚Šã®ãƒšãƒ¼ã‚¸ã‚’ブックマークã—ãŸã‚Šã€ãれを他ã®äººã¨"
252"共有ã™ã‚‹ã‹ã€ã¾ãŸã¯ãƒ—ライベートãªã‚‚ã®ã¨ã—ã¦ä¿ç®¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
253"加ãˆã¦ã€ã‚ãªãŸã®ãƒ–ックマークã«ã“ã®é …ç›®ã®ã‚ˆã†ã«æ¦‚è¦ã‚’追加ã—ãŸã‚Šã€ã‚¿ã‚°ä»˜ã‘ã—ãŸ"
254"ã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
255"\n"
256"`+Shaare` ボタンをクリックã™ã‚‹ã“ã¨ã§æ–°ã—ã„ shaare を作æˆã§ãã¾ã™ã€‚ã¾ãŸã€æŽ¨å¥¨"
257"ã•ã‚ŒãŸãƒ„ールを使ã†ã“ã¨ã‚‚ã§ãã¾ã™ (ブラウザー 拡張機能ã€ãƒ¢ãƒã‚¤ãƒ« アプリã€ãƒ–ッ"
258"クマークレットã€REST API ãªã©...)。\n"
259"\n"
260"ã¾ãŸã€ç°¡å˜ã«ã‚ãªãŸã®ãƒªãƒ³ã‚¯ã‚’å–å¾—ã§ãã¾ã™ã€‚ãã‚ŒãŒä½•åƒã¨ç™»ã‚‹æ•°ã§ã‚ã£ã¦ã‚‚ã€å†…部"
261"ã®æ¤œç´¢ã‚¨ãƒ³ã‚¸ãƒ³ã‚„ã€ã‚¿ã‚°ã‚’使ã£ã¦æ¤œç´¢ã§ãã¾ã™ (例ãˆã°ã€ã“ã® Shaare 㯠`shaarli` "
262"㨠`help` ã¨ã„ã†ã‚¿ã‚°ãŒä»˜ã„ã¦ã„ã¾ã™)。\n"
263"#shaarli ã‚„ #help ã¨ã„ã£ãŸãƒãƒƒã‚·ãƒ¥ã‚¿ã‚°ã‚‚サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚\n"
264"タグやテキスト検索ã«ã‚ˆã‚‹ [RSS フィード](/feed/atom) ã‚„ ピクãƒãƒ£ãƒ¼ ウォール ã§"
265"項目を絞るã“ã¨ã‚‚ã§ãã¾ã™ã€‚\n"
266"\n"
267"ç§ãŸã¡ã¯ã‚ãªãŸãŒ Shaarli を楽ã—ã‚“ã§ãれるã“ã¨ã‚’願ã£ã¦ã„ã¾ã™ã€‚Shaarli ã¯ã‚³ãƒŸãƒ¥"
268"ニティーã«ã‚ˆã£ã¦ ♡ ã¨å…±ã«ãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹ã•ã‚Œã¦ã„ã¾ã™ï¼\n"
269"何ã‹å•é¡Œã«é­é‡ã—ãŸã‚Šã€æ案ãŒã‚ã‚Œã°ã€æ°—軽㫠[Issue](https://github.com/"
270"shaarli/Shaarli/issues) ã‚’é–‹ã„ã¦ãã ã•ã„。\n"
271
272#: application/bookmark/exception/BookmarkNotFoundException.php:13
273msgid "The link you are trying to reach does not exist or has been deleted."
274msgstr "é–‹ã“ã†ã¨ã—ãŸãƒªãƒ³ã‚¯ã¯å­˜åœ¨ã—ãªã„ã‹ã€å‰Šé™¤ã•ã‚Œã¦ã„ã¾ã™ã€‚"
275
276#: application/config/ConfigJson.php:52 application/config/ConfigPhp.php:129
227msgid "" 277msgid ""
228"Shaarli could not create the config file. Please make sure Shaarli has the " 278"Shaarli could not create the config file. Please make sure Shaarli has the "
229"right to write in the folder is it installed in." 279"right to write in the folder is it installed in."
@@ -232,7 +282,8 @@ msgstr ""
232"ã¦ã„ã¦ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„るディレクトリã«æ›¸ãè¾¼ã¿ã§ãã‚‹ã“ã¨ã‚’確èªã—ã¦ãã " 282"ã¦ã„ã¦ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„るディレクトリã«æ›¸ãè¾¼ã¿ã§ãã‚‹ã“ã¨ã‚’確èªã—ã¦ãã "
233"ã•ã„。" 283"ã•ã„。"
234 284
235#: application/config/ConfigManager.php:135 285#: application/config/ConfigManager.php:136
286#: application/config/ConfigManager.php:163
236msgid "Invalid setting key parameter. String expected, got: " 287msgid "Invalid setting key parameter. String expected, got: "
237msgstr "" 288msgstr ""
238"ä¸æ­£ãªã‚­ãƒ¼ã®å€¤ã§ã™ã€‚文字列ãŒæƒ³å®šã•ã‚Œã¦ã„ã¾ã™ãŒã€æ¬¡ã®ã‚ˆã†ã«å…¥åŠ›ã•ã‚Œã¾ã—ãŸ: " 289"ä¸æ­£ãªã‚­ãƒ¼ã®å€¤ã§ã™ã€‚文字列ãŒæƒ³å®šã•ã‚Œã¦ã„ã¾ã™ãŒã€æ¬¡ã®ã‚ˆã†ã«å…¥åŠ›ã•ã‚Œã¾ã—ãŸ: "
@@ -250,159 +301,185 @@ msgstr "プラグインã®èª­è¾¼é †ã‚’変更ã™ã‚‹éš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾
250msgid "You are not authorized to alter config." 301msgid "You are not authorized to alter config."
251msgstr "設定を変更ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。" 302msgstr "設定を変更ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。"
252 303
253#: application/exceptions/IOException.php:19 304#: application/exceptions/IOException.php:22
254msgid "Error accessing" 305msgid "Error accessing"
255msgstr "読込中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" 306msgstr "読込中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
256 307
257#: index.php:142 308#: application/feed/FeedBuilder.php:179
258msgid "Shared links on " 309msgid "Direct link"
259msgstr "次ã«ãŠãã¦å…±æœ‰ã•ãŒãŸãƒªãƒ³ã‚¯:" 310msgstr "ダイレクトリンク"
260 311
261#: index.php:164 312#: application/feed/FeedBuilder.php:181
262msgid "Insufficient permissions:" 313msgid "Permalink"
263msgstr "権é™ãŒãã‚Šã¾ãã‚“:" 314msgstr "パーマリンク"
264 315
265#: index.php:303 316#: application/front/controller/admin/ConfigureController.php:54
266msgid "I said: NO. You are banned for the moment. Go away." 317msgid "Configure"
267msgstr "ã‚ãªãŸã¯ã“ã®ã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰BANã•ã‚Œã¦ã„ã¾ã™ã€‚" 318msgstr "設定"
268 319
269#: index.php:368 320#: application/front/controller/admin/ConfigureController.php:102
270msgid "Wrong login/password." 321#: application/legacy/LegacyUpdater.php:537
271msgstr "ä¸æ­£ãªãƒ¦ãƒ¼ã‚¶ãƒ¼åã€ã¾ãŸã¯ãƒ‘スワードã§ã™ã€‚" 322msgid "You have enabled or changed thumbnails mode."
323msgstr "サムãƒã‚¤ãƒ«ã®ãƒ¢ãƒ¼ãƒ‰ã‚’有効化ã€ã¾ãŸã¯å¤‰æ›´ã—ã¾ã—ãŸã€‚"
272 324
273#: index.php:576 tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 325#: application/front/controller/admin/ConfigureController.php:103
274#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:42 326#: application/legacy/LegacyUpdater.php:538
275msgid "Daily" 327msgid "Please synchronize them."
276msgstr "デイリー" 328msgstr "ãれらをåŒæœŸã—ã¦ãã ã•ã„。"
277 329
278#: index.php:681 tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28 330#: application/front/controller/admin/ConfigureController.php:113
279#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44 331#: application/front/controller/visitor/InstallController.php:136
280#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:71 332msgid "Error while writing config file after configuration update."
281#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:95 333msgstr "設定ファイルを更新ã—ãŸå¾Œã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
282#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:71
283#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:95
284msgid "Login"
285msgstr "ログイン"
286 334
287#: index.php:722 tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 335#: application/front/controller/admin/ConfigureController.php:122
288#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:39 336msgid "Configuration was saved."
289msgid "Picture wall" 337msgstr "設定ã¯ä¿å­˜ã•ã‚Œã¾ã—ãŸã€‚"
290msgstr "ピクãƒãƒ£ã‚¦ã‚©ãƒ¼ãƒ«"
291 338
292#: index.php:770 tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 339#: application/front/controller/admin/ExportController.php:26
293#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:36 340msgid "Export"
294#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 341msgstr "エクスãƒãƒ¼ãƒˆ"
295msgid "Tag cloud"
296msgstr "タグクラウド"
297 342
298#: index.php:803 tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 343#: application/front/controller/admin/ExportController.php:42
299msgid "Tag list" 344msgid "Please select an export mode."
300msgstr "タグ一覧" 345msgstr "エクスãƒãƒ¼ãƒˆ モードを指定ã—ã¦ãã ã•ã„。"
301 346
302#: index.php:1028 tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31 347#: application/front/controller/admin/ImportController.php:41
303#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:31 348msgid "Import"
304msgid "Tools" 349msgstr "インãƒãƒ¼ãƒˆ"
305msgstr "ツール"
306 350
307#: index.php:1037 351#: application/front/controller/admin/ImportController.php:55
308msgid "You are not supposed to change a password on an Open Shaarli." 352msgid "No import file provided."
353msgstr "何ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆå…ƒãƒ•ã‚¡ã‚¤ãƒ«ã‚‚指定ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚"
354
355#: application/front/controller/admin/ImportController.php:66
356#, php-format
357msgid ""
358"The file you are trying to upload is probably bigger than what this "
359"webserver can accept (%s). Please upload in smaller chunks."
309msgstr "" 360msgstr ""
310"公開ã•ã‚Œã¦ã„ã‚‹ Shaarli ã«ãŠã„ã¦ã€ãƒ‘スワードを変更ã™ã‚‹ã“ã¨ã¯æƒ³å®šã•ã‚Œã¦ã„ã¾ã›" 361"ã‚ãªãŸãŒã‚¢ãƒƒãƒ—ロードã—よã†ã¨ã—ã¦ã„るファイルã¯ã€ã‚µãƒ¼ãƒãƒ¼ãŒè¨±å¯ã—ã¦ã„るファイ"
311"ん。" 362"ルサイズ (%s) よりも大ãã„ã§ã™ã€‚ã‚‚ã†å°‘ã—å°ã•ã„ã‚‚ã®ã‚’アップロードã—ã¦ãã ã•"
363"ã„。"
312 364
313#: index.php:1042 index.php:1084 index.php:1160 index.php:1191 index.php:1291 365#: application/front/controller/admin/ManageShaareController.php:29
314msgid "Wrong token." 366msgid "Shaare a new link"
315msgstr "ä¸æ­£ãªãƒˆãƒ¼ã‚¯ãƒ³ã§ã™ã€‚" 367msgstr "æ–°ããリンクを追加"
316 368
317#: index.php:1047 369#: application/front/controller/admin/ManageShaareController.php:78
318msgid "The old password is not correct." 370msgid "Note: "
319msgstr "å…ƒã®ãƒ‘スワードãŒæ­£ã—ãã‚ã‚Šã¾ã›ã‚“。" 371msgstr "注: "
320 372
321#: index.php:1067 373#: application/front/controller/admin/ManageShaareController.php:109
322msgid "Your password has been changed" 374#: application/front/controller/admin/ManageShaareController.php:206
323msgstr "ã‚ãªãŸã®ãƒ‘スワードã¯å¤‰æ›´ã•ã‚Œã¾ã—ãŸ" 375#: application/front/controller/admin/ManageShaareController.php:275
376#: application/front/controller/admin/ManageShaareController.php:315
377#, php-format
378msgid "Bookmark with identifier %s could not be found."
379msgstr "%s ã¨ã„ã†è­˜åˆ¥å­ã‚’æŒã£ãŸãƒ–ックマークã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚"
324 380
325#: index.php:1072 381#: application/front/controller/admin/ManageShaareController.php:194
326#: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:13 382#: application/front/controller/admin/ManageShaareController.php:252
327#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:29 383msgid "Invalid bookmark ID provided."
328msgid "Change password" 384msgstr "ä¸æ­£ãªãƒ–ックマーク ID ãŒå…¥åŠ›ã•ã‚Œã¾ã—ãŸã€‚"
329msgstr "パスワードを変更"
330 385
331#: index.php:1120 386#: application/front/controller/admin/ManageShaareController.php:260
332msgid "Configuration was saved." 387msgid "Invalid visibility provided."
333msgstr "設定ã¯ä¿å­˜ã•ã‚Œã¾ã—ãŸã€‚" 388msgstr "ä¸æ­£ãªå…¬é–‹è¨­å®šãŒå…¥åŠ›ã•ã‚Œã¾ã—ãŸã€‚"
334 389
335#: index.php:1143 tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 390#: application/front/controller/admin/ManageShaareController.php:363
336msgid "Configure" 391msgid "Edit"
337msgstr "設定" 392msgstr "共有"
393
394#: application/front/controller/admin/ManageShaareController.php:366
395msgid "Shaare"
396msgstr "Shaare"
338 397
339#: index.php:1154 tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:13 398#: application/front/controller/admin/ManageTagController.php:29
340#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36
341msgid "Manage tags" 399msgid "Manage tags"
342msgstr "タグを設定" 400msgstr "タグを設定"
343 401
344#: index.php:1172 402#: application/front/controller/admin/ManageTagController.php:48
403msgid "Invalid tags provided."
404msgstr "ä¸æ­£ãªã‚¿ã‚°ãŒå…¥åŠ›ã•ã‚Œã¾ã—ãŸã€‚"
405
406#: application/front/controller/admin/ManageTagController.php:72
345#, php-format 407#, php-format
346msgid "The tag was removed from %d link." 408msgid "The tag was removed from %d bookmark."
347msgid_plural "The tag was removed from %d links." 409msgid_plural "The tag was removed from %d bookmarks."
348msgstr[0] "%d 件ã®ãƒªãƒ³ã‚¯ã‹ã‚‰ã‚¿ã‚°ãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸã€‚" 410msgstr[0] "%d 件ã®ãƒªãƒ³ã‚¯ã‹ã‚‰ã‚¿ã‚°ãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸã€‚"
349msgstr[1] "The tag was removed from %d links." 411msgstr[1] "%d 件ã®ãƒªãƒ³ã‚¯ã‹ã‚‰ã‚¿ã‚°ãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸã€‚"
350 412
351#: index.php:1173 413#: application/front/controller/admin/ManageTagController.php:77
352#, php-format 414#, php-format
353msgid "The tag was renamed in %d link." 415msgid "The tag was renamed in %d bookmark."
354msgid_plural "The tag was renamed in %d links." 416msgid_plural "The tag was renamed in %d bookmarks."
355msgstr[0] "タグ㌠%d 件ã®ãƒªãƒ³ã‚¯ã«ãŠã„ã¦ã€åå‰ãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚" 417msgstr[0] "ã“ã®ã‚¿ã‚°ã‚’æŒã¤ %d 件ã®ãƒªãƒ³ã‚¯ã«ãŠã„ã¦ã€åå‰ãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚"
356msgstr[1] "タグ㌠%d 件ã®ãƒªãƒ³ã‚¯ã«ãŠã„ã¦ã€åå‰ãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚" 418msgstr[1] "ã“ã®ã‚¿ã‚°ã‚’æŒã¤ %d 件ã®ãƒªãƒ³ã‚¯ã«ãŠã„ã¦ã€åå‰ãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚"
357 419
358#: index.php:1181 tmp/addlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:13 420#: application/front/controller/admin/PasswordController.php:28
359msgid "Shaare a new link" 421msgid "Change password"
360msgstr "æ–°ããリンクを追加" 422msgstr "パスワードを変更"
361 423
362#: index.php:1351 tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 424#: application/front/controller/admin/PasswordController.php:55
363#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:170 425msgid "You must provide the current and new password to change it."
364msgid "Edit" 426msgstr ""
365msgstr "共有" 427"パスワードを変更ã™ã‚‹ã«ã¯ã€ç¾åœ¨ã®ãƒ‘スワードã¨ã€æ–°ã—ã„パスワードを入力ã™ã‚‹å¿…è¦"
428"ãŒã‚ã‚Šã¾ã™ã€‚"
366 429
367#: index.php:1351 index.php:1421 430#: application/front/controller/admin/PasswordController.php:71
368#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 431msgid "The old password is not correct."
369#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:26 432msgstr "å…ƒã®ãƒ‘スワードãŒæ­£ã—ãã‚ã‚Šã¾ã›ã‚“。"
370#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:26
371msgid "Shaare"
372msgstr "Shaare"
373 433
374#: index.php:1390 434#: application/front/controller/admin/PasswordController.php:97
375msgid "Note: " 435msgid "Your password has been changed"
376msgstr "注: " 436msgstr "ã‚ãªãŸã®ãƒ‘スワードã¯å¤‰æ›´ã•ã‚Œã¾ã—ãŸ"
377 437
378#: index.php:1430 tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:65 438#: application/front/controller/admin/PluginsController.php:45
379msgid "Export" 439msgid "Plugin Administration"
380msgstr "エクスãƒãƒ¼ãƒˆ" 440msgstr "プラグイン管ç†"
381 441
382#: index.php:1492 tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:83 442#: application/front/controller/admin/PluginsController.php:76
383msgid "Import" 443msgid "Setting successfully saved."
384msgstr "インãƒãƒ¼ãƒˆ" 444msgstr "設定ãŒæ­£å¸¸ã«ä¿å­˜ã•ãŒã¾ããŸã€‚"
385 445
386#: index.php:1502 446#: application/front/controller/admin/PluginsController.php:79
387#, php-format 447msgid "Error while saving plugin configuration: "
388msgid "" 448msgstr "プラグインã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’ä¿å­˜ã™ã‚‹ã¨ãã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: "
389"The file you are trying to upload is probably bigger than what this "
390"webserver can accept (%s). Please upload in smaller chunks."
391msgstr ""
392"ã‚ãªãŸãŒã‚¢ãƒƒãƒ—ロードã—よã†ã¨ã—ã¦ã„るファイルã¯ã€ã‚µãƒ¼ãƒãƒ¼ãŒè¨±å¯ã—ã¦ã„るファイ"
393"ルサイズ (%s) よりも大ãã„ã§ã™ã€‚ã‚‚ã†å°‘ã—å°ã•ã„ã‚‚ã®ã‚’アップロードã—ã¦ãã ã•"
394"ã„。"
395 449
396#: index.php:1541 tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:26 450#: application/front/controller/admin/ThumbnailsController.php:37
397#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:22 451msgid "Thumbnails update"
398msgid "Plugin administration" 452msgstr "サムãƒã‚¤ãƒ«ã®æ›´æ–°"
399msgstr "プラグイン管ç†" 453
454#: application/front/controller/admin/ToolsController.php:31
455msgid "Tools"
456msgstr "ツール"
400 457
401#: index.php:1706 458#: application/front/controller/visitor/BookmarkListController.php:116
402msgid "Search: " 459msgid "Search: "
403msgstr "検索: " 460msgstr "検索: "
404 461
405#: index.php:1933 462#: application/front/controller/visitor/DailyController.php:45
463msgid "Today"
464msgstr "今日"
465
466#: application/front/controller/visitor/DailyController.php:47
467msgid "Yesterday"
468msgstr "昨日"
469
470#: application/front/controller/visitor/DailyController.php:85
471msgid "Daily"
472msgstr "デイリー"
473
474#: application/front/controller/visitor/ErrorController.php:36
475msgid "An unexpected error occurred."
476msgstr "予期ã—ãªã„エラーãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
477
478#: application/front/controller/visitor/ErrorNotFoundController.php:25
479msgid "Requested page could not be found."
480msgstr "リクエストã•ã‚ŒãŸãƒšãƒ¼ã‚¸ã¯å­˜åœ¨ã—ã¾ã›ã‚“。"
481
482#: application/front/controller/visitor/InstallController.php:73
406#, php-format 483#, php-format
407msgid "" 484msgid ""
408"<pre>Sessions do not seem to work correctly on your server.<br>Make sure the " 485"<pre>Sessions do not seem to work correctly on your server.<br>Make sure the "
@@ -420,32 +497,205 @@ msgstr ""
420"ã‚Šã¾ã™ã€‚IP アドレスや完全ãªãƒ‰ãƒ¡ã‚¤ãƒ³åã§ã‚µãƒ¼ãƒãƒ¼ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã‚’ãŠã™ã™ã‚ã—" 497"ã‚Šã¾ã™ã€‚IP アドレスや完全ãªãƒ‰ãƒ¡ã‚¤ãƒ³åã§ã‚µãƒ¼ãƒãƒ¼ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã‚’ãŠã™ã™ã‚ã—"
421"ã¾ã™ã€‚<br>" 498"ã¾ã™ã€‚<br>"
422 499
423#: index.php:1943 500#: application/front/controller/visitor/InstallController.php:144
424msgid "Click to try again." 501msgid ""
425msgstr "クリックã—ã¦å†åº¦è©¦ã—ã¾ã™ã€‚" 502"Shaarli is now configured. Please login and start shaaring your bookmarks!"
503msgstr ""
504"Shaarli ã®è¨­å®šãŒå®Œäº†ã—ã¾ã—ãŸã€‚ログインã—ã¦ã€ã‚ãªãŸã®ãƒ–ックマークを登録ã—ã¾"
505"ã—ょã†ï¼"
506
507#: application/front/controller/visitor/InstallController.php:158
508msgid "Insufficient permissions:"
509msgstr "権é™ãŒã‚ã‚Šã¾ã›ã‚“:"
510
511#: application/front/controller/visitor/LoginController.php:46
512msgid "Login"
513msgstr "ログイン"
514
515#: application/front/controller/visitor/LoginController.php:78
516msgid "Wrong login/password."
517msgstr "ä¸æ­£ãªãƒ¦ãƒ¼ã‚¶ãƒ¼åã€ã¾ãŸã¯ãƒ‘スワードã§ã™ã€‚"
518
519#: application/front/controller/visitor/PictureWallController.php:29
520msgid "Picture wall"
521msgstr "ピクãƒãƒ£ã‚¦ã‚©ãƒ¼ãƒ«"
522
523#: application/front/controller/visitor/TagCloudController.php:88
524msgid "Tag "
525msgstr "ã‚¿ã‚° "
526
527#: application/front/exceptions/AlreadyInstalledException.php:11
528msgid "Shaarli has already been installed. Login to edit the configuration."
529msgstr "Shaarli ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã—ãŸã€‚ログインã—ã¦è¨­å®šã‚’変更ã§ãã¾ã™ã€‚"
530
531#: application/front/exceptions/LoginBannedException.php:11
532msgid ""
533"You have been banned after too many failed login attempts. Try again later."
534msgstr "複数回ã«æ¸¡ã‚‹ãƒ­ã‚°ã‚¤ãƒ³ã¸ã®å¤±æ•—を検出ã—ã¾ã—ãŸã€‚後ã§ã¾ãŸè©¦ã—ã¦ãã ã•ã„。"
535
536#: application/front/exceptions/OpenShaarliPasswordException.php:16
537msgid "You are not supposed to change a password on an Open Shaarli."
538msgstr ""
539"公開ã•ã‚Œã¦ã„ã‚‹ Shaarli ã«ãŠã„ã¦ã€ãƒ‘スワードを変更ã™ã‚‹ã“ã¨ã¯æƒ³å®šã•ã‚Œã¦ã„ã¾ã›"
540"ん。"
541
542#: application/front/exceptions/ThumbnailsDisabledException.php:11
543msgid "Picture wall unavailable (thumbnails are disabled)."
544msgstr "ピクãƒãƒ£ ウォールã¯åˆ©ç”¨ã§ãã¾ã›ã‚“ (サムãƒã‚¤ãƒ«ãŒç„¡åŠ¹åŒ–ã•ã‚Œã¦ã„ã¾ã™)。"
545
546#: application/front/exceptions/WrongTokenException.php:16
547msgid "Wrong token."
548msgstr "ä¸æ­£ãªãƒˆãƒ¼ã‚¯ãƒ³ã§ã™ã€‚"
549
550#: application/legacy/LegacyLinkDB.php:131
551msgid "You are not authorized to add a link."
552msgstr "リンクを追加ã™ã‚‹ã«ã¯ã€ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
553
554#: application/legacy/LegacyLinkDB.php:134
555msgid "Internal Error: A link should always have an id and URL."
556msgstr "エラー: リンクã«ã¯IDã¨URLを登録ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
557
558#: application/legacy/LegacyLinkDB.php:137
559msgid "You must specify an integer as a key."
560msgstr "正常ãªã‚­ãƒ¼ã®å€¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
561
562#: application/legacy/LegacyLinkDB.php:140
563msgid "Array offset and link ID must be equal."
564msgstr "Array オフセットã¨ãƒªãƒ³ã‚¯ã®IDã¯åŒã˜ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
565
566#: application/legacy/LegacyLinkDB.php:249
567msgid ""
568"Welcome to Shaarli! This is your first public bookmark. To edit or delete "
569"me, you must first login.\n"
570"\n"
571"To learn how to use Shaarli, consult the link \"Documentation\" at the "
572"bottom of this page.\n"
573"\n"
574"You use the community supported version of the original Shaarli project, by "
575"Sebastien Sauvage."
576msgstr ""
577"Shaarli ã¸ã‚ˆã†ã“ãï¼ ã“ã‚Œã¯ã‚ãªãŸã®æœ€åˆã®å…¬é–‹ãƒ–ックマークã§ã™ã€‚ã“れを編集ã—ãŸ"
578"り削除ã—ãŸã‚Šã™ã‚‹ã«ã¯ã€ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚\n"
579"\n"
580"Shaarli ã®ä½¿ã„方を知るã«ã¯ã€ã“ã®ãƒšãƒ¼ã‚¸ã®ä¸‹ã«ã‚る「ドキュメントã€ã®ãƒªãƒ³ã‚¯ã‚’é–‹"
581"ã„ã¦ãã ã•ã„。\n"
582"\n"
583"ã‚ãªãŸã¯ Sebastien Sauvage ã«ã‚ˆã‚‹ã€ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ãƒ¼ã‚µãƒãƒ¼ãƒˆã®ã‚ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚ª"
584"リジナルã®Shaarli プロジェクトを使用ã—ã¦ã„ã¾ã™ã€‚"
585
586#: application/legacy/LegacyLinkDB.php:266
587msgid "My secret stuff... - Pastebin.com"
588msgstr "ã‚ãŸã—ã®ã²ðŸ’—ã¿ðŸ’—ã¤ðŸ’— - Pastebin.com"
589
590#: application/legacy/LegacyLinkDB.php:268
591msgid "Shhhh! I'm a private link only YOU can see. You can delete me too."
592msgstr ""
593"ã‚·ãƒ¼ãƒƒï¼ ã“ã‚Œã¯ã‚ãªãŸã—ã‹è¦‹ã‚‰ã‚Œãªã„プライベートリンクã§ã™ã€‚消ã™ã“ã¨ã‚‚ã§ãã¾"
594"ã™ã€‚"
595
596#: application/legacy/LegacyUpdater.php:104
597#, fuzzy
598#| msgid "Couldn't retrieve Updater class methods."
599msgid "Couldn't retrieve updater class methods."
600msgstr "アップデーターã®ã‚¯ãƒ©ã‚¹ãƒ¡ã‚¾ãƒƒãƒˆã‚’å—ä¿¡ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
601
602#: application/legacy/LegacyUpdater.php:538
603msgid "<a href=\"./admin/thumbnails\">"
604msgstr "<a href=\"./admin/thumbnails\">"
605
606#: application/netscape/NetscapeBookmarkUtils.php:63
607msgid "Invalid export selection:"
608msgstr "ä¸æ­£ãªã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã®é¸æŠž:"
609
610#: application/netscape/NetscapeBookmarkUtils.php:215
611#, php-format
612msgid "File %s (%d bytes) "
613msgstr "ファイル %s (%d ãƒã‚¤ãƒˆ) "
614
615#: application/netscape/NetscapeBookmarkUtils.php:217
616msgid "has an unknown file format. Nothing was imported."
617msgstr "ã¯ä¸æ˜Žãªãƒ•ã‚¡ã‚¤ãƒ«å½¢å¼ã§ã™ã€‚インãƒãƒ¼ãƒˆã¯ä¸­æ­¢ã•ã‚Œã¾ã—ãŸã€‚"
618
619#: application/netscape/NetscapeBookmarkUtils.php:221
620#, fuzzy, php-format
621#| msgid ""
622#| "was successfully processed in %d seconds: %d links imported, %d links "
623#| "overwritten, %d links skipped."
624msgid ""
625"was successfully processed in %d seconds: %d bookmarks imported, %d "
626"bookmarks overwritten, %d bookmarks skipped."
627msgstr ""
628"㌠%d 秒ã§å‡¦ç†ã•ã‚Œã€%d 件ã®ãƒªãƒ³ã‚¯ãŒã‚¤ãƒ³ãƒãƒ¼ãƒˆã•ã‚Œã€%d 件ã®ãƒªãƒ³ã‚¯ãŒä¸Šæ›¸ãã•"
629"ã‚Œã€%d 件ã®ãƒªãƒ³ã‚¯ãŒã‚¹ã‚­ãƒƒãƒ—ã•ã‚Œã¾ã—ãŸã€‚"
630
631#: application/plugin/PluginManager.php:124
632msgid " [plugin incompatibility]: "
633msgstr "[éžå¯¾å¿œã®ãƒ—ラグイン]: "
634
635#: application/plugin/exception/PluginFileNotFoundException.php:21
636#, php-format
637msgid "Plugin \"%s\" files not found."
638msgstr "プラグイン「%sã€ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
639
640#: application/render/PageCacheManager.php:32
641#, php-format
642msgid "Cannot purge %s: no directory"
643msgstr "%s を削除ã§ãã¾ã›ã‚“: ディレクトリãŒå­˜åœ¨ã—ã¾ã›ã‚“"
644
645#: application/updater/exception/UpdaterException.php:51
646msgid "An error occurred while running the update "
647msgstr "更新中ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—㟠"
648
649#: index.php:65
650msgid "Shared bookmarks on "
651msgstr "次ã«ãŠã„ã¦å…±æœ‰ã•ã‚ŒãŸãƒªãƒ³ã‚¯ "
426 652
427#: plugins/addlink_toolbar/addlink_toolbar.php:29 653#: plugins/addlink_toolbar/addlink_toolbar.php:31
428msgid "URI" 654msgid "URI"
429msgstr "URI" 655msgstr "URI"
430 656
431#: plugins/addlink_toolbar/addlink_toolbar.php:33 657#: plugins/addlink_toolbar/addlink_toolbar.php:35
432#: tmp/addlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19
433msgid "Add link" 658msgid "Add link"
434msgstr "リンクを追加" 659msgstr "リンクを追加"
435 660
436#: plugins/addlink_toolbar/addlink_toolbar.php:50 661#: plugins/addlink_toolbar/addlink_toolbar.php:52
437msgid "Adds the addlink input on the linklist page." 662msgid "Adds the addlink input on the linklist page."
438msgstr "リンク一覧ã®ãƒšãƒ¼ã‚¸ã«ã€ãƒªãƒ³ã‚¯ã‚’追加ã™ã‚‹ãŸã‚ã®ãƒ•ã‚©ãƒ¼ãƒ ã‚’表示ã™ã‚‹ã€‚" 663msgstr "リンク一覧ã®ãƒšãƒ¼ã‚¸ã«ã€ãƒªãƒ³ã‚¯ã‚’追加ã™ã‚‹ãŸã‚ã®ãƒ•ã‚©ãƒ¼ãƒ ã‚’表示ã™ã‚‹ã€‚"
439 664
440#: plugins/archiveorg/archiveorg.php:23 665#: plugins/archiveorg/archiveorg.php:28
441msgid "View on archive.org" 666msgid "View on archive.org"
442msgstr "archive.org 上ã§è¡¨ç¤ºã™ã‚‹" 667msgstr "archive.org 上ã§è¡¨ç¤ºã™ã‚‹"
443 668
444#: plugins/archiveorg/archiveorg.php:36 669#: plugins/archiveorg/archiveorg.php:41
445msgid "For each link, add an Archive.org icon." 670msgid "For each link, add an Archive.org icon."
446msgstr "ãã‚Œãžã‚Œã®ãƒªãƒ³ã‚¯ã«ã€Archive.org ã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’追加ã™ã‚‹ã€‚" 671msgstr "ãã‚Œãžã‚Œã®ãƒªãƒ³ã‚¯ã«ã€Archive.org ã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’追加ã™ã‚‹ã€‚"
447 672
448#: plugins/demo_plugin/demo_plugin.php:465 673#: plugins/default_colors/default_colors.php:38
674msgid ""
675"Default colors plugin error: This plugin is active and no custom color is "
676"configured."
677msgstr ""
678"既定ã®è‰²ã®ãƒ—ラグインã«ãŠã‘るエラー: ã“ã®ãƒ—ラグインã¯æœ‰åŠ¹ãªã®ã§ã€ã‚«ã‚¹ã‚¿ãƒ  ã‚«"
679"ラーã¯é©ç”¨ã•ã‚Œã¾ã›ã‚“。"
680
681#: plugins/default_colors/default_colors.php:113
682msgid "Override default theme colors. Use any CSS valid color."
683msgstr ""
684"既定ã®ãƒ†ãƒ¼ãƒžã®è‰²ã‚’上書ãã—ã¾ã™ã€‚ã©ã®ã‚ˆã†ãª CSS カラーコードã§ã‚‚使ãˆã¾ã™ã€‚"
685
686#: plugins/default_colors/default_colors.php:114
687msgid "Main color (navbar green)"
688msgstr "メイン カラー (ナビãƒãƒ¼ã®ç·‘)"
689
690#: plugins/default_colors/default_colors.php:115
691msgid "Background color (light grey)"
692msgstr "背景色 (ç°è‰²)"
693
694#: plugins/default_colors/default_colors.php:116
695msgid "Dark main color (e.g. visited links)"
696msgstr "æš—ã„方㮠メイン カラー (例: 閲覧済ã¿ãƒªãƒ³ã‚¯)"
697
698#: plugins/demo_plugin/demo_plugin.php:477
449msgid "" 699msgid ""
450"A demo plugin covering all use cases for template designers and plugin " 700"A demo plugin covering all use cases for template designers and plugin "
451"developers." 701"developers."
@@ -453,7 +703,15 @@ msgstr ""
453"テンプレートã®ãƒ‡ã‚¶ã‚¤ãƒŠãƒ¼ã‚„ã€ãƒ—ラグインã®é–‹ç™ºè€…ã®ãŸã‚ã®ã™ã¹ã¦ã®çŠ¶æ³ã«å¯¾å¿œã§ã" 703"テンプレートã®ãƒ‡ã‚¶ã‚¤ãƒŠãƒ¼ã‚„ã€ãƒ—ラグインã®é–‹ç™ºè€…ã®ãŸã‚ã®ã™ã¹ã¦ã®çŠ¶æ³ã«å¯¾å¿œã§ã"
454"るデモプラグインã§ã™ã€‚" 704"るデモプラグインã§ã™ã€‚"
455 705
456#: plugins/isso/isso.php:20 706#: plugins/demo_plugin/demo_plugin.php:478
707msgid "This is a parameter dedicated to the demo plugin. It'll be suffixed."
708msgstr "ã“ã‚Œã¯ãƒ‡ãƒ¢ãƒ—ラグイン専用ã®ãƒ‘ラメーターã§ã™ã€‚末尾ã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚"
709
710#: plugins/demo_plugin/demo_plugin.php:479
711msgid "Other demo parameter"
712msgstr "ä»–ã®ãƒ‡ãƒ¢ パラメーター"
713
714#: plugins/isso/isso.php:22
457msgid "" 715msgid ""
458"Isso plugin error: Please define the \"ISSO_SERVER\" setting in the plugin " 716"Isso plugin error: Please define the \"ISSO_SERVER\" setting in the plugin "
459"administration page." 717"administration page."
@@ -461,45 +719,17 @@ msgstr ""
461"Isso プラグインエラー: \"ISSO_SERVER\" ã®å€¤ã‚’プラグイン管ç†ãƒšãƒ¼ã‚¸ã«ã¦æŒ‡å®šã—ã¦" 719"Isso プラグインエラー: \"ISSO_SERVER\" ã®å€¤ã‚’プラグイン管ç†ãƒšãƒ¼ã‚¸ã«ã¦æŒ‡å®šã—ã¦"
462"ãã ã•ã„。" 720"ãã ã•ã„。"
463 721
464#: plugins/isso/isso.php:63 722#: plugins/isso/isso.php:92
465msgid "Let visitor comment your shaares on permalinks with Isso." 723msgid "Let visitor comment your shaares on permalinks with Isso."
466msgstr "" 724msgstr ""
467"Isso を使ã£ã¦ã€ã‚ãªãŸã®ãƒ‘ーマリンク上ã®ãƒªãƒ³ã‚¯ã«ç¬¬ä¸‰è€…ãŒã‚³ãƒ¡ãƒ³ãƒˆã‚’残ã™ã“ã¨ãŒã§" 725"Isso を使ã£ã¦ã€ã‚ãªãŸã®ãƒ‘ーマリンク上ã®ãƒªãƒ³ã‚¯ã«ç¬¬ä¸‰è€…ãŒã‚³ãƒ¡ãƒ³ãƒˆã‚’残ã™ã“ã¨ãŒã§"
468"ãã¾ã™ã€‚" 726"ãã¾ã™ã€‚"
469 727
470#: plugins/isso/isso.php:64 728#: plugins/isso/isso.php:93
471msgid "Isso server URL (without 'http://')" 729msgid "Isso server URL (without 'http://')"
472msgstr "Isso server URL ('http://' 抜ã)" 730msgstr "Isso server URL ('http://' 抜ã)"
473 731
474#: plugins/markdown/markdown.php:158 732#: plugins/piwik/piwik.php:23
475msgid "Description will be rendered with"
476msgstr "説明ã¯æ¬¡ã®æ–¹æ³•ã§æç”»ã•ã‚Œã¾ã™:"
477
478#: plugins/markdown/markdown.php:159
479msgid "Markdown syntax documentation"
480msgstr "マークダウン形å¼ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ"
481
482#: plugins/markdown/markdown.php:160
483msgid "Markdown syntax"
484msgstr "マークダウン形å¼"
485
486#: plugins/markdown/markdown.php:339
487msgid ""
488"Render shaare description with Markdown syntax.<br><strong>Warning</"
489"strong>:\n"
490"If your shaared descriptions contained HTML tags before enabling the "
491"markdown plugin,\n"
492"enabling it might break your page.\n"
493"See the <a href=\"https://github.com/shaarli/Shaarli/tree/master/plugins/"
494"markdown#html-rendering\">README</a>."
495msgstr ""
496"リンクã®èª¬æ˜Žã‚’マークダウン形å¼ã§è¡¨ç¤ºã—ã¾ã™ã€‚<br><strong>警告</strong>:\n"
497"リンクã®èª¬æ˜Žã«HTMLã‚¿ã‚°ãŒã“ã®ãƒ—ラグインを有効ã«ã™ã‚‹å‰ã«å«ã¾ã‚Œã¦ã„ãŸå ´åˆã€\n"
498"正常ã«ãƒšãƒ¼ã‚¸ã‚’表示ã§ããªããªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。\n"
499"詳ã—ã㯠<a href=\"https://github.com/shaarli/Shaarli/tree/master/plugins/"
500"markdown#html-rendering\">README</a> ã‚’ã”覧ãã ã•ã„。"
501
502#: plugins/piwik/piwik.php:21
503msgid "" 733msgid ""
504"Piwik plugin error: Please define PIWIK_URL and PIWIK_SITEID in the plugin " 734"Piwik plugin error: Please define PIWIK_URL and PIWIK_SITEID in the plugin "
505"administration page." 735"administration page."
@@ -507,27 +737,27 @@ msgstr ""
507"Piwik プラグインエラー: PIWIK_URL 㨠PIWIK_SITEID ã®å€¤ã‚’プラグイン管ç†ãƒšãƒ¼ã‚¸" 737"Piwik プラグインエラー: PIWIK_URL 㨠PIWIK_SITEID ã®å€¤ã‚’プラグイン管ç†ãƒšãƒ¼ã‚¸"
508"ã§æŒ‡å®šã—ã¦ãã ã•ã„。" 738"ã§æŒ‡å®šã—ã¦ãã ã•ã„。"
509 739
510#: plugins/piwik/piwik.php:70 740#: plugins/piwik/piwik.php:72
511msgid "A plugin that adds Piwik tracking code to Shaarli pages." 741msgid "A plugin that adds Piwik tracking code to Shaarli pages."
512msgstr "Piwik ã®ãƒˆãƒ©ãƒƒã‚­ãƒ³ã‚°ã‚³ãƒ¼ãƒ‰ã‚’Shaarliã«è¿½åŠ ã™ã‚‹ãƒ—ラグインã§ã™ã€‚" 742msgstr "Piwik ã®ãƒˆãƒ©ãƒƒã‚­ãƒ³ã‚°ã‚³ãƒ¼ãƒ‰ã‚’Shaarliã«è¿½åŠ ã™ã‚‹ãƒ—ラグインã§ã™ã€‚"
513 743
514#: plugins/piwik/piwik.php:71 744#: plugins/piwik/piwik.php:73
515msgid "Piwik URL" 745msgid "Piwik URL"
516msgstr "Piwik URL" 746msgstr "Piwik URL"
517 747
518#: plugins/piwik/piwik.php:72 748#: plugins/piwik/piwik.php:74
519msgid "Piwik site ID" 749msgid "Piwik site ID"
520msgstr "Piwik サイトID" 750msgstr "Piwik サイトID"
521 751
522#: plugins/playvideos/playvideos.php:22 752#: plugins/playvideos/playvideos.php:25
523msgid "Video player" 753msgid "Video player"
524msgstr "動画プレイヤー" 754msgstr "動画プレイヤー"
525 755
526#: plugins/playvideos/playvideos.php:25 756#: plugins/playvideos/playvideos.php:28
527msgid "Play Videos" 757msgid "Play Videos"
528msgstr "動画をå†ç”Ÿ" 758msgstr "動画をå†ç”Ÿ"
529 759
530#: plugins/playvideos/playvideos.php:56 760#: plugins/playvideos/playvideos.php:59
531msgid "Add a button in the toolbar allowing to watch all videos." 761msgid "Add a button in the toolbar allowing to watch all videos."
532msgstr "ã™ã¹ã¦ã®å‹•ç”»ã‚’閲覧ã™ã‚‹ãƒœã‚¿ãƒ³ã‚’ツールãƒãƒ¼ã«è¿½åŠ ã—ã¾ã™ã€‚" 762msgstr "ã™ã¹ã¦ã®å‹•ç”»ã‚’閲覧ã™ã‚‹ãƒœã‚¿ãƒ³ã‚’ツールãƒãƒ¼ã«è¿½åŠ ã—ã¾ã™ã€‚"
533 763
@@ -535,26 +765,26 @@ msgstr "ã™ã¹ã¦ã®å‹•ç”»ã‚’閲覧ã™ã‚‹ãƒœã‚¿ãƒ³ã‚’ツールãƒãƒ¼ã«è¿½åŠ ã—
535msgid "plugins/playvideos/jquery-1.11.2.min.js" 765msgid "plugins/playvideos/jquery-1.11.2.min.js"
536msgstr "plugins/playvideos/jquery-1.11.2.min.js" 766msgstr "plugins/playvideos/jquery-1.11.2.min.js"
537 767
538#: plugins/pubsubhubbub/pubsubhubbub.php:69 768#: plugins/pubsubhubbub/pubsubhubbub.php:72
539#, php-format 769#, php-format
540msgid "Could not publish to PubSubHubbub: %s" 770msgid "Could not publish to PubSubHubbub: %s"
541msgstr "PubSubHubbub ã«ç™»éŒ²ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s" 771msgstr "PubSubHubbub ã«ç™»éŒ²ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s"
542 772
543#: plugins/pubsubhubbub/pubsubhubbub.php:95 773#: plugins/pubsubhubbub/pubsubhubbub.php:99
544#, php-format 774#, php-format
545msgid "Could not post to %s" 775msgid "Could not post to %s"
546msgstr "%s ã«ç™»éŒ²ã§ãã¾ã›ã‚“ã§ã—ãŸ" 776msgstr "%s ã«ç™»éŒ²ã§ãã¾ã›ã‚“ã§ã—ãŸ"
547 777
548#: plugins/pubsubhubbub/pubsubhubbub.php:99 778#: plugins/pubsubhubbub/pubsubhubbub.php:103
549#, php-format 779#, php-format
550msgid "Bad response from the hub %s" 780msgid "Bad response from the hub %s"
551msgstr "ãƒãƒ– %s ã‹ã‚‰ã®ä¸æ­£ãªãƒ¬ã‚¹ãƒãƒ³ã‚¹" 781msgstr "ãƒãƒ– %s ã‹ã‚‰ã®ä¸æ­£ãªãƒ¬ã‚¹ãƒãƒ³ã‚¹"
552 782
553#: plugins/pubsubhubbub/pubsubhubbub.php:110 783#: plugins/pubsubhubbub/pubsubhubbub.php:114
554msgid "Enable PubSubHubbub feed publishing." 784msgid "Enable PubSubHubbub feed publishing."
555msgstr "PubSubHubbub ã¸ã®ãƒ•ã‚£ãƒ¼ãƒ‰ã‚’公開ã™ã‚‹ã€‚" 785msgstr "PubSubHubbub ã¸ã®ãƒ•ã‚£ãƒ¼ãƒ‰ã‚’公開ã™ã‚‹ã€‚"
556 786
557#: plugins/qrcode/qrcode.php:69 plugins/wallabag/wallabag.php:68 787#: plugins/qrcode/qrcode.php:73 plugins/wallabag/wallabag.php:70
558msgid "For each link, add a QRCode icon." 788msgid "For each link, add a QRCode icon."
559msgstr "ãã‚Œãžã‚Œã®ãƒªãƒ³ã‚¯ã«ã¤ã„ã¦ã€QRコードã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’追加ã™ã‚‹ã€‚" 789msgstr "ãã‚Œãžã‚Œã®ãƒªãƒ³ã‚¯ã«ã¤ã„ã¦ã€QRコードã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’追加ã™ã‚‹ã€‚"
560 790
@@ -570,724 +800,534 @@ msgstr ""
570msgid "Save to wallabag" 800msgid "Save to wallabag"
571msgstr "Wallabag ã«ä¿å­˜" 801msgstr "Wallabag ã«ä¿å­˜"
572 802
573#: plugins/wallabag/wallabag.php:69 803#: plugins/wallabag/wallabag.php:71
574msgid "Wallabag API URL" 804msgid "Wallabag API URL"
575msgstr "Wallabag ã®APIã®URL" 805msgstr "Wallabag ã®APIã®URL"
576 806
577#: plugins/wallabag/wallabag.php:70 807#: plugins/wallabag/wallabag.php:72
578msgid "Wallabag API version (1 or 2)" 808msgid "Wallabag API version (1 or 2)"
579msgstr "Wallabag ã®APIã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ (1 ã¾ãŸã¯ 2)" 809msgstr "Wallabag ã®APIã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ (1 ã¾ãŸã¯ 2)"
580 810
581#: tests/LanguagesTest.php:214 tests/LanguagesTest.php:227 811#: tests/LanguagesTest.php:214 tests/LanguagesTest.php:227
582#: tests/languages/fr/LanguagesFrTest.php:160 812#: tests/languages/fr/LanguagesFrTest.php:159
583#: tests/languages/fr/LanguagesFrTest.php:173 813#: tests/languages/fr/LanguagesFrTest.php:172
584#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:81
585#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:81
586msgid "Search" 814msgid "Search"
587msgid_plural "Search" 815msgid_plural "Search"
588msgstr[0] "検索" 816msgstr[0] "検索"
589msgstr[1] "検索" 817msgstr[1] "検索"
590 818
591#: tmp/404.b91ef64efc3688266305ea9b42e5017e.rtpl.php:12 819#~ msgid "The page you are trying to reach does not exist or has been deleted."
592msgid "Sorry, nothing to see here." 820#~ msgstr "ã‚ãªãŸãŒé–‹ã“ã†ã¨ã—ãŸãƒšãƒ¼ã‚¸ã¯å­˜åœ¨ã—ãªã„ã‹ã€å‰Šé™¤ã•ã‚Œã¦ã„ã¾ã™ã€‚"
593msgstr "ã™ã¿ã¾ã›ã‚“ãŒã€ã“ã“ã«ã¯ä½•ã‚‚ã‚ã‚Šã¾ã›ã‚“。"
594
595#: tmp/addlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16
596msgid "URL or leave empty to post a note"
597msgstr "URL を入力ã™ã‚‹ã‹ã€ç©ºæ¬„ã«ã™ã‚‹ã¨ãƒŽãƒ¼ãƒˆã‚’投稿ã—ã¾ã™"
598
599#: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16
600msgid "Current password"
601msgstr "ç¾åœ¨ã®ãƒ‘スワード"
602
603#: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19
604msgid "New password"
605msgstr "æ–°ã—ã„パスワード"
606
607#: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:23
608msgid "Change"
609msgstr "変更"
610
611#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16
612#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:77
613msgid "Tag"
614msgstr "ã‚¿ã‚°"
615
616#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24
617msgid "New name"
618msgstr "変更先ã®åå‰"
619
620#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31
621msgid "Case sensitive"
622msgstr "大文字ã¨å°æ–‡å­—を区別"
623
624#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34
625msgid "Rename"
626msgstr "åå‰ã‚’変更"
627
628#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:35
629#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:79
630#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:172
631msgid "Delete"
632msgstr "削除"
633
634#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39
635msgid "You can also edit tags in the"
636msgstr "次ã«å«ã¾ã‚Œã‚‹ã‚¿ã‚°ã‚’編集ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™:"
637
638#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39
639msgid "tag list"
640msgstr "タグ一覧"
641
642#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:29
643msgid "title"
644msgstr "タイトル"
645
646#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:43
647msgid "Home link"
648msgstr "ホームã®ãƒªãƒ³ã‚¯å…ˆ"
649
650#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44
651msgid "Default value"
652msgstr "既定ã®å€¤"
653
654#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:58
655msgid "Theme"
656msgstr "テーマ"
657
658#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:87
659#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:78
660msgid "Language"
661msgstr "言語"
662
663#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:116
664#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:102
665msgid "Timezone"
666msgstr "タイムゾーン"
667
668#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117
669#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:103
670msgid "Continent"
671msgstr "大陸"
672
673#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117
674#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:103
675msgid "City"
676msgstr "町"
677
678#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:164
679msgid "Disable session cookie hijacking protection"
680msgstr "ä¸æ­£ãƒ­ã‚°ã‚¤ãƒ³é˜²æ­¢ã®ãŸã‚ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚¯ãƒƒã‚­ãƒ¼ã‚’無効化"
681
682#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:166
683msgid "Check this if you get disconnected or if your IP address changes often"
684msgstr ""
685"ã‚ãªãŸãŒåˆ‡æ–­ã•ã‚ŒãŸã‚Šã€IPアドレスãŒé »ç¹ã«å¤‰ã‚る環境下ã§ã‚ã‚‹ãªã‚‰ãƒã‚§ãƒƒã‚¯ã‚’入れ"
686"ã¦ãã ã•ã„"
687
688#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:183
689msgid "Private links by default"
690msgstr "既定ã§ãƒ—ライベートリンク"
691
692#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:184
693msgid "All new links are private by default"
694msgstr "ã™ã¹ã¦ã®æ–°è¦ãƒªãƒ³ã‚¯ã‚’プライベートã§ä½œæˆ"
695
696#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:199
697msgid "RSS direct links"
698msgstr "RSS 直リンク"
699
700#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:200
701msgid "Check this to use direct URL instead of permalink in feeds"
702msgstr "フィードã§ãƒ‘ーマリンクã®ä»£ã‚ã‚Šã«ç›´ãƒªãƒ³ã‚¯ã‚’使ã†"
703
704#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:215
705msgid "Hide public links"
706msgstr "公開リンクを隠ã™"
707
708#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:216
709msgid "Do not show any links if the user is not logged in"
710msgstr "ログインã—ã¦ã„ãªã„ユーザーã«ã¯ä½•ã®ãƒªãƒ³ã‚¯ã‚‚表示ã—ãªã„"
711
712#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:231
713#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:150
714msgid "Check updates"
715msgstr "更新を確èª"
716
717#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:232
718#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:152
719msgid "Notify me when a new release is ready"
720msgstr "æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒãƒªãƒªãƒ¼ã‚¹ã•ã‚ŒãŸã¨ãã«é€šçŸ¥"
721
722#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:247
723#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:169
724msgid "Enable REST API"
725msgstr "REST API を有効化"
726
727#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:248
728#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:170
729msgid "Allow third party software to use Shaarli such as mobile application"
730msgstr ""
731"モãƒã‚¤ãƒ«ã‚¢ãƒ—リã¨ã„ã£ãŸã‚µãƒ¼ãƒ‰ãƒ‘ーティーã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã«Shaarliを使用ã™ã‚‹ã“ã¨ã‚’"
732"許å¯"
733
734#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:263
735msgid "API secret"
736msgstr "API シークレット"
737
738#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:274
739#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74
740#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:139
741#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:199
742msgid "Save"
743msgstr "ä¿å­˜"
744
745#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15
746msgid "The Daily Shaarli"
747msgstr "デイリーSharli"
748
749#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:17
750msgid "1 RSS entry per day"
751msgstr "å„æ—¥1ã¤ãšã¤ã®RSSé …ç›®"
752
753#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:37
754msgid "Previous day"
755msgstr "å‰æ—¥"
756
757#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44
758msgid "All links of one day in a single page."
759msgstr "1æ—¥ã«ä½œæˆã•ã‚ŒãŸã™ã¹ã¦ã®ãƒªãƒ³ã‚¯ã§ã™ã€‚"
760
761#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:51
762msgid "Next day"
763msgstr "翌日"
764
765#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:25
766msgid "Created:"
767msgstr "作æˆ:"
768
769#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28
770msgid "URL"
771msgstr "URL"
772
773#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34
774msgid "Title"
775msgstr "タイトル"
776
777#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:40
778#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42
779#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:75
780#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:99
781#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:124
782msgid "Description"
783msgstr "説明"
784
785#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:46
786msgid "Tags"
787msgstr "ã‚¿ã‚°"
788
789#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:59
790#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36
791#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:168
792msgid "Private"
793msgstr "プライベート"
794
795#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74
796msgid "Apply Changes"
797msgstr "変更をé©ç”¨"
798
799#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16
800msgid "Export Database"
801msgstr "データベースをエクスãƒãƒ¼ãƒˆ"
802
803#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24
804msgid "Selection"
805msgstr "é¸æŠžæ¸ˆã¿"
806
807#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31
808msgid "All"
809msgstr "ã™ã¹ã¦"
810
811#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41
812msgid "Public"
813msgstr "公開"
814
815#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:52
816msgid "Prepend note permalinks with this Shaarli instance's URL"
817msgstr "ã“ã® Shaarli ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®URL ã«ãƒŽãƒ¼ãƒˆã¸ã®ãƒ‘ーマリンクを付ã‘加ãˆã‚‹"
818
819#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:53
820msgid "Useful to import bookmarks in a web browser"
821msgstr "ウェブブラウザーã®ãƒªãƒ³ã‚¯ã‚’インãƒãƒ¼ãƒˆã™ã‚‹ã®ã«æœ‰åŠ¹ã§ã™"
822
823#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16
824msgid "Import Database"
825msgstr "データベースをインãƒãƒ¼ãƒˆ"
826
827#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:23
828msgid "Maximum size allowed:"
829msgstr "最大サイズ:"
830
831#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:29
832msgid "Visibility"
833msgstr "å¯è¦–性"
834
835#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36
836msgid "Use values from the imported file, default to public"
837msgstr "インãƒãƒ¼ãƒˆå…ƒã®ãƒ•ã‚¡ã‚¤ãƒ«ã®å€¤ã‚’使用 (既定ã¯å…¬é–‹ãƒªãƒ³ã‚¯ã¨ãªã‚Šã¾ã™)"
838
839#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41
840msgid "Import all bookmarks as private"
841msgstr "ã™ã¹ã¦ã®ãƒ–ックマーク項目をプライベートリンクã¨ã—ã¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
842
843#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:46
844msgid "Import all bookmarks as public"
845msgstr "ã™ã¹ã¦ã®ãƒ–ックマーク項目を公開リンクã¨ã—ã¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
846
847#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:57
848msgid "Overwrite existing bookmarks"
849msgstr "æ—¢ã«å­˜åœ¨ã—ã¦ã„るブックマークを上書ã"
850
851#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:58
852msgid "Duplicates based on URL"
853msgstr "URL ã«ã‚ˆã‚‹é‡è¤‡"
854
855#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:72
856msgid "Add default tags"
857msgstr "既定ã®ã‚¿ã‚°ã‚’追加"
858
859#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:22
860msgid "Install Shaarli"
861msgstr "Shaarli をインストール"
862
863#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:25
864msgid "It looks like it's the first time you run Shaarli. Please configure it."
865msgstr "ã©ã†ã‚„ら Shaarli ã‚’åˆã‚ã¦èµ·å‹•ã—ã¦ã„るよã†ã§ã™ã€‚設定ã—ã¦ãã ã•ã„。"
866
867#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:33
868#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:30
869#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:147
870#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:147
871msgid "Username"
872msgstr "ユーザーå"
873
874#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48
875#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34
876#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:148
877#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:148
878msgid "Password"
879msgstr "パスワード"
880
881#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:63
882msgid "Shaarli title"
883msgstr "Shaarli ã®ã‚¿ã‚¤ãƒˆãƒ«"
884
885#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:69
886msgid "My links"
887msgstr "自分ã®ãƒªãƒ³ã‚¯"
888
889#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:182
890msgid "Install"
891msgstr "インストール"
892
893#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14
894#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:80
895msgid "shaare"
896msgid_plural "shaares"
897msgstr[0] "共有"
898msgstr[1] "共有"
899
900#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:18
901#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:84
902msgid "private link"
903msgid_plural "private links"
904msgstr[0] "プライベートリンク"
905msgstr[1] "プライベートリンク"
906
907#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31
908#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117
909#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:117
910msgid "Search text"
911msgstr "文字列ã§æ¤œç´¢"
912
913#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:38
914#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:124
915#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:124
916#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36
917#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:64
918#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36
919#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74
920msgid "Filter by tag"
921msgstr "ã‚¿ã‚°ã«ã‚ˆã£ã¦åˆ†é¡ž"
922
923#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:111
924msgid "Nothing found."
925msgstr "何も見ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚"
926
927#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:119
928#, php-format
929msgid "%s result"
930msgid_plural "%s results"
931msgstr[0] "%s 件ã®çµæžœ"
932msgstr[1] "%s 件ã®çµæžœ"
933
934#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:123
935msgid "for"
936msgstr "for"
937
938#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:130
939msgid "tagged"
940msgstr "タグ付ã‘ã•ã‚ŒãŸ"
941
942#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:134
943msgid "Remove tag"
944msgstr "タグを削除"
945
946#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:143
947msgid "with status"
948msgstr "with status"
949
950#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:154
951msgid "without any tag"
952msgstr "ã‚¿ã‚°ãªã—"
953
954#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:174
955#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42
956#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:42
957msgid "Fold"
958msgstr "畳む"
959
960#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:176
961msgid "Edited: "
962msgstr "編集済ã¿: "
963
964#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:180
965msgid "permalink"
966msgstr "パーマリンク"
967 821
968#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:182 822#~ msgid "404 Not Found"
969msgid "Add tag" 823#~ msgstr "404 ページãŒå­˜åœ¨ã—ã¾ã›ã‚“"
970msgstr "タグを追加"
971
972#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:7
973#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:7
974msgid "Filters"
975msgstr "分類"
976
977#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:12
978#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:12
979msgid "Only display private links"
980msgstr "プライベートリンクã®ã¿ã‚’表示"
981
982#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15
983#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:15
984msgid "Only display public links"
985msgstr "公開リンクã®ã¿ã‚’表示"
986
987#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:20
988#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:20
989msgid "Filter untagged links"
990msgstr "タグ付ã‘ã•ã‚Œã¦ã„ãªã„リンクã§åˆ†é¡ž"
991
992#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24
993#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:76
994#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:24
995#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:76
996#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:43
997#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:43
998msgid "Fold all"
999msgstr "ã™ã¹ã¦ç•³ã‚€"
1000
1001#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:69
1002#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:69
1003msgid "Links per page"
1004msgstr "å„ページをリンク"
1005
1006#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15
1007msgid ""
1008"You have been banned after too many failed login attempts. Try again later."
1009msgstr "複数回ã«æ¸¡ã‚‹ãƒ­ã‚°ã‚¤ãƒ³ã¸ã®å¤±æ•—を検出ã—ã¾ã—ãŸã€‚後ã§ã¾ãŸè©¦ã—ã¦ãã ã•ã„。"
1010 824
1011#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41 825#~ msgid "Updates file path is not set, can't write updates."
1012#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:151 826#~ msgstr ""
1013#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:151 827#~ "æ›´æ–°ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘スãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ãŸã‚ã€æ›´æ–°ã‚’書ãè¾¼ã‚ã¾ã›ã‚“。"
1014msgid "Remember me"
1015msgstr "パスワードをä¿å­˜"
1016
1017#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14
1018#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48
1019#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:14
1020#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:48
1021msgid "by the Shaarli community"
1022msgstr "by Shaarli コミュニティ"
1023
1024#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15
1025#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:15
1026msgid "Documentation"
1027msgstr "ドキュメント"
1028
1029#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44
1030#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:44
1031msgid "Expand"
1032msgstr "展開ã™ã‚‹"
1033
1034#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:45
1035#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:45
1036msgid "Expand all"
1037msgstr "ã™ã¹ã¦å±•é–‹ã™ã‚‹"
1038
1039#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:46
1040#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:46
1041msgid "Are you sure you want to delete this link?"
1042msgstr "本当ã«ã“ã®ãƒªãƒ³ã‚¯ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ"
1043
1044#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:61
1045#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:86
1046#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:61
1047#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:86
1048msgid "RSS Feed"
1049msgstr "RSS フィード"
1050
1051#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:66
1052#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:102
1053#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:66
1054#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:102
1055msgid "Logout"
1056msgstr "ログアウト"
1057
1058#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:169
1059#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:169
1060msgid "is available"
1061msgstr "ãŒåˆ©ç”¨å¯èƒ½"
1062
1063#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:176
1064#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:176
1065msgid "Error"
1066msgstr "エラー"
1067
1068#: tmp/picwall.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16
1069msgid "Picture Wall"
1070msgstr "ピクãƒãƒ£ãƒ¼ã‚¦ã‚©ãƒ¼ãƒ«"
1071
1072#: tmp/picwall.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16
1073msgid "pics"
1074msgstr "ç”»åƒ"
1075
1076#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15
1077msgid "You need to enable Javascript to change plugin loading order."
1078msgstr ""
1079"プラグインを読ã¿è¾¼ã‚€é †ç•ªã‚’変更ã™ã‚‹ã«ã¯ã€Javascriptを有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾"
1080"ã™ã€‚"
1081 828
1082#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:29 829#~ msgid "Unable to write updates in "
1083msgid "Enabled Plugins" 830#~ msgstr "更新を次ã®é …ç›®ã«æ›¸ãè¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ: "
1084msgstr "有効ãªãƒ—ラグイン"
1085
1086#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34
1087#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:155
1088msgid "No plugin enabled."
1089msgstr "有効ãªãƒ—ラグインã¯ã‚ã‚Šã¾ã›ã‚“。"
1090
1091#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:40
1092#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:73
1093msgid "Disable"
1094msgstr "無効化"
1095
1096#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41
1097#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74
1098#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:98
1099#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:123
1100msgid "Name"
1101msgstr "åå‰"
1102
1103#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:43
1104#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:76
1105msgid "Order"
1106msgstr "é †åº"
1107
1108#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:86
1109msgid "Disabled Plugins"
1110msgstr "無効ãªãƒ—ラグイン"
1111
1112#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:91
1113msgid "No plugin disabled."
1114msgstr "無効ãªãƒ—ラグインã¯ã‚ã‚Šã¾ã›ã‚“。"
1115
1116#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:97
1117#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:122
1118msgid "Enable"
1119msgstr "有効化"
1120
1121#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:134
1122msgid "More plugins available"
1123msgstr "ã•ã‚‰ã«åˆ©ç”¨ã§ãるプラグインãŒã‚ã‚Šã¾ã™"
1124
1125#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:136
1126msgid "in the documentation"
1127msgstr "ドキュメント内"
1128
1129#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:150
1130msgid "Plugin configuration"
1131msgstr "プラグイン設定"
1132
1133#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:195
1134msgid "No parameter available."
1135msgstr "利用å¯èƒ½ãªè¨­å®šé …ç›®ã¯ã‚ã‚Šã¾ã›ã‚“。"
1136
1137#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19
1138#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19
1139msgid "tags"
1140msgstr "ã‚¿ã‚°"
1141
1142#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24
1143#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24
1144msgid "List all links with those tags"
1145msgstr "ã“ã®ã‚¿ã‚°ãŒä»˜ã„ã¦ã„るリンクをリスト化ã™ã‚‹"
1146
1147#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:3
1148#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:3
1149msgid "Sort by:"
1150msgstr "分類:"
1151
1152#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:5
1153#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:5
1154msgid "Cloud"
1155msgstr "クラウド"
1156
1157#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:6
1158#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:6
1159msgid "Most used"
1160msgstr "ã‚‚ã£ã¨ã‚‚使ã‚ã‚ŒãŸ"
1161
1162#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:7
1163#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:7
1164msgid "Alphabetical"
1165msgstr "アルファベット順"
1166
1167#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14
1168msgid "Settings"
1169msgstr "設定"
1170 831
1171#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 832#~ msgid "I said: NO. You are banned for the moment. Go away."
1172msgid "Change Shaarli settings: title, timezone, etc." 833#~ msgstr "ã‚ãªãŸã¯ã“ã®ã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰BANã•ã‚Œã¦ã„ã¾ã™ã€‚"
1173msgstr "Shaarli ã®è¨­å®šã‚’変更: タイトルã€ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ãªã©ã€‚"
1174 834
1175#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:17 835#~ msgid "Tag cloud"
1176msgid "Configure your Shaarli" 836#~ msgstr "タグクラウド"
1177msgstr "ã‚ãªãŸã® Shaarli を設定"
1178 837
1179#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:21 838#~ msgid "Click to try again."
1180msgid "Enable, disable and configure plugins" 839#~ msgstr "クリックã—ã¦å†åº¦è©¦ã—ã¾ã™ã€‚"
1181msgstr "プラグインを有効化ã€ç„¡åŠ¹åŒ–ã€è¨­å®šã™ã‚‹"
1182 840
1183#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28 841#~ msgid "Description will be rendered with"
1184msgid "Change your password" 842#~ msgstr "説明ã¯æ¬¡ã®æ–¹æ³•ã§æç”»ã•ã‚Œã¾ã™:"
1185msgstr "パスワードを変更"
1186 843
1187#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:35 844#~ msgid "Markdown syntax documentation"
1188msgid "Rename or delete a tag in all links" 845#~ msgstr "マークダウン形å¼ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ"
1189msgstr "ã™ã¹ã¦ã®ãƒªãƒ³ã‚¯ã®ã‚¿ã‚°ã®åå‰ã‚’変更ã™ã‚‹ã€ã¾ãŸã¯å‰Šé™¤ã™ã‚‹"
1190 846
1191#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41 847#~ msgid "Markdown syntax"
1192msgid "" 848#~ msgstr "マークダウン形å¼"
1193"Import Netscape HTML bookmarks (as exported from Firefox, Chrome, Opera, "
1194"delicious...)"
1195msgstr ""
1196"Netscape HTML å½¢å¼ã®ãƒ–ックマークをインãƒãƒ¼ãƒˆã™ã‚‹ (Firefoxã€Chromeã€Operaã¨"
1197"ã„ã£ãŸãƒ–ラウザーãŒå«ã¾ã‚Œã¾ã™)"
1198 849
1199#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 850#~ msgid ""
1200msgid "Import links" 851#~ "Render shaare description with Markdown syntax.<br><strong>Warning</"
1201msgstr "リンクをインãƒãƒ¼ãƒˆ" 852#~ "strong>:\n"
853#~ "If your shaared descriptions contained HTML tags before enabling the "
854#~ "markdown plugin,\n"
855#~ "enabling it might break your page.\n"
856#~ "See the <a href=\"https://github.com/shaarli/Shaarli/tree/master/plugins/"
857#~ "markdown#html-rendering\">README</a>."
858#~ msgstr ""
859#~ "リンクã®èª¬æ˜Žã‚’マークダウン形å¼ã§è¡¨ç¤ºã—ã¾ã™ã€‚<br><strong>警告</strong>:\n"
860#~ "リンクã®èª¬æ˜Žã«HTMLã‚¿ã‚°ãŒã“ã®ãƒ—ラグインを有効ã«ã™ã‚‹å‰ã«å«ã¾ã‚Œã¦ã„ãŸå ´åˆã€\n"
861#~ "正常ã«ãƒšãƒ¼ã‚¸ã‚’表示ã§ããªããªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。\n"
862#~ "詳ã—ã㯠<a href=\"https://github.com/shaarli/Shaarli/tree/master/plugins/"
863#~ "markdown#html-rendering\">README</a> ã‚’ã”覧ãã ã•ã„。"
1202 864
1203#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:47 865#~ msgid "Sorry, nothing to see here."
1204msgid "" 866#~ msgstr "ã™ã¿ã¾ã›ã‚“ãŒã€ã“ã“ã«ã¯ä½•ã‚‚ã‚ã‚Šã¾ã›ã‚“。"
1205"Export Netscape HTML bookmarks (which can be imported in Firefox, Chrome, "
1206"Opera, delicious...)"
1207msgstr ""
1208"Netscape HTML å½¢å¼ã®ãƒ–ックマークをエクスãƒãƒ¼ãƒˆã™ã‚‹ (Firefoxã€Chromeã€Operaã¨"
1209"ã„ã£ãŸãƒ–ラウザーãŒå«ã¾ã‚Œã¾ã™)"
1210 867
1211#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 868#~ msgid "URL or leave empty to post a note"
1212msgid "Export database" 869#~ msgstr "URL を入力ã™ã‚‹ã‹ã€ç©ºæ¬„ã«ã™ã‚‹ã¨ãƒŽãƒ¼ãƒˆã‚’投稿ã—ã¾ã™"
1213msgstr "リンクをエクスãƒãƒ¼ãƒˆ"
1214 870
1215#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:71 871#~ msgid "Current password"
1216msgid "" 872#~ msgstr "ç¾åœ¨ã®ãƒ‘スワード"
1217"Drag one of these button to your bookmarks toolbar or right-click it and "
1218"\"Bookmark This Link\""
1219msgstr ""
1220"ã“れらã®ãƒœã‚¿ãƒ³ã®ã†ã¡1ã¤ã‚’をブックマークãƒãƒ¼ã«ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹ã‹ã€å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦"
1221"「ã“ã®ãƒªãƒ³ã‚¯ã‚’ブックマークã«è¿½åŠ ã€ã—ã¦ãã ã•ã„"
1222 873
1223#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:72 874#~ msgid "New password"
1224msgid "then click on the bookmarklet in any page you want to share." 875#~ msgstr "æ–°ã—ã„パスワード"
1225msgstr "共有ã—ãŸã„ページã§ãƒ–ックマークレットをクリックã—ã¦ãã ã•ã„。"
1226 876
1227#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:76 877#~ msgid "Change"
1228#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:100 878#~ msgstr "変更"
1229msgid ""
1230"Drag this link to your bookmarks toolbar or right-click it and Bookmark This "
1231"Link"
1232msgstr ""
1233"ã“ã®ãƒªãƒ³ã‚¯ã‚’ブックマークãƒãƒ¼ã«ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹ã‹ã€å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œã“ã®ãƒªãƒ³ã‚¯ã‚’"
1234"ブックマークã«è¿½åŠ ã€ã—ã¦ãã ã•ã„"
1235 879
1236#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:77 880#~ msgid "Tag"
1237msgid "then click ✚Shaare link button in any page you want to share" 881#~ msgstr "タグ"
1238msgstr "✚リンクを共有 ボタンをクリックã™ã‚‹ã“ã¨ã§ã€ã©ã“ã§ã‚‚リンクを共有ã§ãã¾ã™"
1239 882
1240#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:86 883#~ msgid "New name"
1241#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:108 884#~ msgstr "変更先ã®åå‰"
1242msgid "The selected text is too long, it will be truncated."
1243msgstr "é¸æŠžã•ã‚ŒãŸæ–‡å­—列ã¯é•·ã™ãŽã‚‹ã®ã§ã€ä¸€éƒ¨ãŒåˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™ã€‚"
1244 885
1245#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:96 886#~ msgid "Case sensitive"
1246msgid "Shaare link" 887#~ msgstr "大文字ã¨å°æ–‡å­—を区別"
1247msgstr "共有リンク"
1248 888
1249#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:101 889#~ msgid "Rename"
1250msgid "" 890#~ msgstr "åå‰ã‚’変更"
1251"Then click ✚Add Note button anytime to start composing a private Note (text "
1252"post) to your Shaarli"
1253msgstr ""
1254"✚ノートを追加 ボタンをクリックã™ã‚‹ã“ã¨ã§ã€ã„ã¤ã§ã‚‚プライベートノート(テキスト"
1255"å½¢å¼)ã‚’Shaarli上ã«ä½œæˆã§ãã¾ã™"
1256 891
1257#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117 892#~ msgid "Delete"
1258msgid "Add Note" 893#~ msgstr "削除"
1259msgstr "ノートを追加"
1260 894
1261#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:129 895#~ msgid "You can also edit tags in the"
1262msgid "" 896#~ msgstr "次ã«å«ã¾ã‚Œã‚‹ã‚¿ã‚°ã‚’編集ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™:"
1263"You need to browse your Shaarli over <strong>HTTPS</strong> to use this "
1264"functionality."
1265msgstr ""
1266"ã“ã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹ã«ã¯ã€<strong>HTTPS</strong> 経由ã§Shaarliã«æŽ¥ç¶šã—ã¦ãã ã•"
1267"ã„。"
1268 897
1269#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:134 898#~ msgid "tag list"
1270msgid "Add to" 899#~ msgstr "タグ一覧"
1271msgstr "次ã«è¿½åŠ :"
1272 900
1273#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:145 901#~ msgid "title"
1274msgid "3rd party" 902#~ msgstr "タイトル"
1275msgstr "サードパーティー"
1276 903
1277#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:147 904#~ msgid "Home link"
1278#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:153 905#~ msgstr "ホームã®ãƒªãƒ³ã‚¯å…ˆ"
1279msgid "Plugin"
1280msgstr "プラグイン"
1281 906
1282#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:148 907#~ msgid "Default value"
1283#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:154 908#~ msgstr "既定ã®å€¤"
1284msgid "plugin"
1285msgstr "プラグイン"
1286 909
1287#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:175 910#~ msgid "Theme"
1288msgid "" 911#~ msgstr "テーマ"
1289"Drag this link to your bookmarks toolbar, or right-click it and choose " 912
1290"Bookmark This Link" 913#~ msgid "Language"
1291msgstr "" 914#~ msgstr "言語"
1292"ã“ã®ãƒªãƒ³ã‚¯ã‚’ブックマークãƒãƒ¼ã«ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹ã‹ã€å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œã“ã®ãƒªãƒ³ã‚¯ã‚’" 915
1293"ブックマークã«è¿½åŠ ã€ã—ã¦ãã ã•ã„" 916#~ msgid "Timezone"
917#~ msgstr "タイムゾーン"
918
919#~ msgid "Continent"
920#~ msgstr "大陸"
921
922#~ msgid "City"
923#~ msgstr "町"
924
925#~ msgid "Disable session cookie hijacking protection"
926#~ msgstr "ä¸æ­£ãƒ­ã‚°ã‚¤ãƒ³é˜²æ­¢ã®ãŸã‚ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚¯ãƒƒã‚­ãƒ¼ã‚’無効化"
927
928#~ msgid ""
929#~ "Check this if you get disconnected or if your IP address changes often"
930#~ msgstr ""
931#~ "ã‚ãªãŸãŒåˆ‡æ–­ã•ã‚ŒãŸã‚Šã€IPアドレスãŒé »ç¹ã«å¤‰ã‚る環境下ã§ã‚ã‚‹ãªã‚‰ãƒã‚§ãƒƒã‚¯ã‚’å…¥"
932#~ "ã‚Œã¦ãã ã•ã„"
933
934#~ msgid "Private links by default"
935#~ msgstr "既定ã§ãƒ—ライベートリンク"
936
937#~ msgid "All new links are private by default"
938#~ msgstr "ã™ã¹ã¦ã®æ–°è¦ãƒªãƒ³ã‚¯ã‚’プライベートã§ä½œæˆ"
939
940#~ msgid "RSS direct links"
941#~ msgstr "RSS 直リンク"
942
943#~ msgid "Check this to use direct URL instead of permalink in feeds"
944#~ msgstr "フィードã§ãƒ‘ーマリンクã®ä»£ã‚ã‚Šã«ç›´ãƒªãƒ³ã‚¯ã‚’使ã†"
945
946#~ msgid "Hide public links"
947#~ msgstr "公開リンクを隠ã™"
948
949#~ msgid "Do not show any links if the user is not logged in"
950#~ msgstr "ログインã—ã¦ã„ãªã„ユーザーã«ã¯ä½•ã®ãƒªãƒ³ã‚¯ã‚‚表示ã—ãªã„"
951
952#~ msgid "Check updates"
953#~ msgstr "更新を確èª"
954
955#~ msgid "Notify me when a new release is ready"
956#~ msgstr "æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒãƒªãƒªãƒ¼ã‚¹ã•ã‚ŒãŸã¨ãã«é€šçŸ¥"
957
958#~ msgid "Enable REST API"
959#~ msgstr "REST API を有効化"
960
961#~ msgid "Allow third party software to use Shaarli such as mobile application"
962#~ msgstr ""
963#~ "モãƒã‚¤ãƒ«ã‚¢ãƒ—リã¨ã„ã£ãŸã‚µãƒ¼ãƒ‰ãƒ‘ーティーã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã«Shaarliを使用ã™ã‚‹ã“"
964#~ "ã¨ã‚’許å¯"
965
966#~ msgid "API secret"
967#~ msgstr "API シークレット"
968
969#~ msgid "Save"
970#~ msgstr "ä¿å­˜"
971
972#~ msgid "The Daily Shaarli"
973#~ msgstr "デイリーSharli"
974
975#~ msgid "1 RSS entry per day"
976#~ msgstr "å„æ—¥1ã¤ãšã¤ã®RSSé …ç›®"
977
978#~ msgid "Previous day"
979#~ msgstr "å‰æ—¥"
980
981#~ msgid "All links of one day in a single page."
982#~ msgstr "1æ—¥ã«ä½œæˆã•ã‚ŒãŸã™ã¹ã¦ã®ãƒªãƒ³ã‚¯ã§ã™ã€‚"
983
984#~ msgid "Next day"
985#~ msgstr "翌日"
986
987#~ msgid "Created:"
988#~ msgstr "作æˆ:"
989
990#~ msgid "URL"
991#~ msgstr "URL"
992
993#~ msgid "Title"
994#~ msgstr "タイトル"
995
996#~ msgid "Description"
997#~ msgstr "説明"
998
999#~ msgid "Tags"
1000#~ msgstr "ã‚¿ã‚°"
1001
1002#~ msgid "Private"
1003#~ msgstr "プライベート"
1004
1005#~ msgid "Apply Changes"
1006#~ msgstr "変更をé©ç”¨"
1007
1008#~ msgid "Export Database"
1009#~ msgstr "データベースをエクスãƒãƒ¼ãƒˆ"
1010
1011#~ msgid "Selection"
1012#~ msgstr "é¸æŠžæ¸ˆã¿"
1013
1014#~ msgid "All"
1015#~ msgstr "ã™ã¹ã¦"
1016
1017#~ msgid "Public"
1018#~ msgstr "公開"
1019
1020#~ msgid "Prepend note permalinks with this Shaarli instance's URL"
1021#~ msgstr ""
1022#~ "ã“ã® Shaarli ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®URL ã«ãƒŽãƒ¼ãƒˆã¸ã®ãƒ‘ーマリンクを付ã‘加ãˆã‚‹"
1023
1024#~ msgid "Useful to import bookmarks in a web browser"
1025#~ msgstr "ウェブブラウザーã®ãƒªãƒ³ã‚¯ã‚’インãƒãƒ¼ãƒˆã™ã‚‹ã®ã«æœ‰åŠ¹ã§ã™"
1026
1027#~ msgid "Import Database"
1028#~ msgstr "データベースをインãƒãƒ¼ãƒˆ"
1029
1030#~ msgid "Maximum size allowed:"
1031#~ msgstr "最大サイズ:"
1032
1033#~ msgid "Visibility"
1034#~ msgstr "å¯è¦–性"
1035
1036#~ msgid "Use values from the imported file, default to public"
1037#~ msgstr "インãƒãƒ¼ãƒˆå…ƒã®ãƒ•ã‚¡ã‚¤ãƒ«ã®å€¤ã‚’使用 (既定ã¯å…¬é–‹ãƒªãƒ³ã‚¯ã¨ãªã‚Šã¾ã™)"
1038
1039#~ msgid "Import all bookmarks as public"
1040#~ msgstr "ã™ã¹ã¦ã®ãƒ–ックマーク項目を公開リンクã¨ã—ã¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
1041
1042#~ msgid "Overwrite existing bookmarks"
1043#~ msgstr "æ—¢ã«å­˜åœ¨ã—ã¦ã„るブックマークを上書ã"
1044
1045#~ msgid "Duplicates based on URL"
1046#~ msgstr "URL ã«ã‚ˆã‚‹é‡è¤‡"
1047
1048#~ msgid "Add default tags"
1049#~ msgstr "既定ã®ã‚¿ã‚°ã‚’追加"
1050
1051#~ msgid "Install Shaarli"
1052#~ msgstr "Shaarli をインストール"
1053
1054#~ msgid ""
1055#~ "It looks like it's the first time you run Shaarli. Please configure it."
1056#~ msgstr "ã©ã†ã‚„ら Shaarli ã‚’åˆã‚ã¦èµ·å‹•ã—ã¦ã„るよã†ã§ã™ã€‚設定ã—ã¦ãã ã•ã„。"
1057
1058#~ msgid "Username"
1059#~ msgstr "ユーザーå"
1060
1061#~ msgid "Password"
1062#~ msgstr "パスワード"
1063
1064#~ msgid "Shaarli title"
1065#~ msgstr "Shaarli ã®ã‚¿ã‚¤ãƒˆãƒ«"
1066
1067#~ msgid "My links"
1068#~ msgstr "自分ã®ãƒªãƒ³ã‚¯"
1069
1070#~ msgid "Install"
1071#~ msgstr "インストール"
1072
1073#~ msgid "shaare"
1074#~ msgid_plural "shaares"
1075#~ msgstr[0] "共有"
1076#~ msgstr[1] "共有"
1077
1078#~ msgid "private link"
1079#~ msgid_plural "private links"
1080#~ msgstr[0] "プライベートリンク"
1081#~ msgstr[1] "プライベートリンク"
1082
1083#~ msgid "Search text"
1084#~ msgstr "文字列ã§æ¤œç´¢"
1085
1086#~ msgid "Filter by tag"
1087#~ msgstr "ã‚¿ã‚°ã«ã‚ˆã£ã¦åˆ†é¡ž"
1088
1089#~ msgid "Nothing found."
1090#~ msgstr "何も見ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚"
1091
1092#~ msgid "%s result"
1093#~ msgid_plural "%s results"
1094#~ msgstr[0] "%s 件ã®çµæžœ"
1095#~ msgstr[1] "%s 件ã®çµæžœ"
1096
1097#~ msgid "for"
1098#~ msgstr "for"
1099
1100#~ msgid "tagged"
1101#~ msgstr "タグ付ã‘ã•ã‚ŒãŸ"
1102
1103#~ msgid "Remove tag"
1104#~ msgstr "タグを削除"
1105
1106#~ msgid "with status"
1107#~ msgstr "with status"
1108
1109#~ msgid "without any tag"
1110#~ msgstr "ã‚¿ã‚°ãªã—"
1111
1112#~ msgid "Fold"
1113#~ msgstr "畳む"
1114
1115#~ msgid "Edited: "
1116#~ msgstr "編集済ã¿: "
1117
1118#~ msgid "permalink"
1119#~ msgstr "パーマリンク"
1120
1121#~ msgid "Add tag"
1122#~ msgstr "タグを追加"
1123
1124#~ msgid "Filters"
1125#~ msgstr "分類"
1126
1127#~ msgid "Only display private links"
1128#~ msgstr "プライベートリンクã®ã¿ã‚’表示"
1129
1130#~ msgid "Only display public links"
1131#~ msgstr "公開リンクã®ã¿ã‚’表示"
1132
1133#~ msgid "Filter untagged links"
1134#~ msgstr "タグ付ã‘ã•ã‚Œã¦ã„ãªã„リンクã§åˆ†é¡ž"
1135
1136#~ msgid "Fold all"
1137#~ msgstr "ã™ã¹ã¦ç•³ã‚€"
1138
1139#~ msgid "Links per page"
1140#~ msgstr "å„ページをリンク"
1141
1142#~ msgid "Remember me"
1143#~ msgstr "パスワードをä¿å­˜"
1144
1145#~ msgid "by the Shaarli community"
1146#~ msgstr "by Shaarli コミュニティ"
1147
1148#~ msgid "Documentation"
1149#~ msgstr "ドキュメント"
1150
1151#~ msgid "Expand"
1152#~ msgstr "展開ã™ã‚‹"
1153
1154#~ msgid "Expand all"
1155#~ msgstr "ã™ã¹ã¦å±•é–‹ã™ã‚‹"
1156
1157#~ msgid "Are you sure you want to delete this link?"
1158#~ msgstr "本当ã«ã“ã®ãƒªãƒ³ã‚¯ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ"
1159
1160#~ msgid "RSS Feed"
1161#~ msgstr "RSS フィード"
1162
1163#~ msgid "Logout"
1164#~ msgstr "ログアウト"
1165
1166#~ msgid "is available"
1167#~ msgstr "ãŒåˆ©ç”¨å¯èƒ½"
1168
1169#~ msgid "Error"
1170#~ msgstr "エラー"
1171
1172#~ msgid "Picture Wall"
1173#~ msgstr "ピクãƒãƒ£ãƒ¼ã‚¦ã‚©ãƒ¼ãƒ«"
1174
1175#~ msgid "pics"
1176#~ msgstr "ç”»åƒ"
1177
1178#~ msgid "You need to enable Javascript to change plugin loading order."
1179#~ msgstr ""
1180#~ "プラグインを読ã¿è¾¼ã‚€é †ç•ªã‚’変更ã™ã‚‹ã«ã¯ã€Javascriptを有効ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾"
1181#~ "ã™ã€‚"
1182
1183#~ msgid "Enabled Plugins"
1184#~ msgstr "有効ãªãƒ—ラグイン"
1185
1186#~ msgid "No plugin enabled."
1187#~ msgstr "有効ãªãƒ—ラグインã¯ã‚ã‚Šã¾ã›ã‚“。"
1188
1189#~ msgid "Disable"
1190#~ msgstr "無効化"
1191
1192#~ msgid "Name"
1193#~ msgstr "åå‰"
1194
1195#~ msgid "Order"
1196#~ msgstr "é †åº"
1197
1198#~ msgid "Disabled Plugins"
1199#~ msgstr "無効ãªãƒ—ラグイン"
1200
1201#~ msgid "No plugin disabled."
1202#~ msgstr "無効ãªãƒ—ラグインã¯ã‚ã‚Šã¾ã›ã‚“。"
1203
1204#~ msgid "Enable"
1205#~ msgstr "有効化"
1206
1207#~ msgid "More plugins available"
1208#~ msgstr "ã•ã‚‰ã«åˆ©ç”¨ã§ãるプラグインãŒã‚ã‚Šã¾ã™"
1209
1210#~ msgid "in the documentation"
1211#~ msgstr "ドキュメント内"
1212
1213#~ msgid "No parameter available."
1214#~ msgstr "利用å¯èƒ½ãªè¨­å®šé …ç›®ã¯ã‚ã‚Šã¾ã›ã‚“。"
1215
1216#~ msgid "tags"
1217#~ msgstr "ã‚¿ã‚°"
1218
1219#~ msgid "List all links with those tags"
1220#~ msgstr "ã“ã®ã‚¿ã‚°ãŒä»˜ã„ã¦ã„るリンクをリスト化ã™ã‚‹"
1221
1222#~ msgid "Sort by:"
1223#~ msgstr "分類:"
1224
1225#~ msgid "Cloud"
1226#~ msgstr "クラウド"
1227
1228#~ msgid "Most used"
1229#~ msgstr "ã‚‚ã£ã¨ã‚‚使ã‚ã‚ŒãŸ"
1230
1231#~ msgid "Alphabetical"
1232#~ msgstr "アルファベット順"
1233
1234#~ msgid "Settings"
1235#~ msgstr "設定"
1236
1237#~ msgid "Change Shaarli settings: title, timezone, etc."
1238#~ msgstr "Shaarli ã®è¨­å®šã‚’変更: タイトルã€ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³ãªã©ã€‚"
1239
1240#~ msgid "Configure your Shaarli"
1241#~ msgstr "ã‚ãªãŸã® Shaarli を設定"
1242
1243#~ msgid "Enable, disable and configure plugins"
1244#~ msgstr "プラグインを有効化ã€ç„¡åŠ¹åŒ–ã€è¨­å®šã™ã‚‹"
1245
1246#~ msgid "Change your password"
1247#~ msgstr "パスワードを変更"
1248
1249#~ msgid "Rename or delete a tag in all links"
1250#~ msgstr "ã™ã¹ã¦ã®ãƒªãƒ³ã‚¯ã®ã‚¿ã‚°ã®åå‰ã‚’変更ã™ã‚‹ã€ã¾ãŸã¯å‰Šé™¤ã™ã‚‹"
1251
1252#~ msgid ""
1253#~ "Import Netscape HTML bookmarks (as exported from Firefox, Chrome, Opera, "
1254#~ "delicious...)"
1255#~ msgstr ""
1256#~ "Netscape HTML å½¢å¼ã®ãƒ–ックマークをインãƒãƒ¼ãƒˆã™ã‚‹ (Firefoxã€Chromeã€Operaã¨"
1257#~ "ã„ã£ãŸãƒ–ラウザーãŒå«ã¾ã‚Œã¾ã™)"
1258
1259#~ msgid "Import links"
1260#~ msgstr "リンクをインãƒãƒ¼ãƒˆ"
1261
1262#~ msgid ""
1263#~ "Export Netscape HTML bookmarks (which can be imported in Firefox, Chrome, "
1264#~ "Opera, delicious...)"
1265#~ msgstr ""
1266#~ "Netscape HTML å½¢å¼ã®ãƒ–ックマークをエクスãƒãƒ¼ãƒˆã™ã‚‹ (Firefoxã€Chromeã€Opera"
1267#~ "ã¨ã„ã£ãŸãƒ–ラウザーãŒå«ã¾ã‚Œã¾ã™)"
1268
1269#~ msgid "Export database"
1270#~ msgstr "リンクをエクスãƒãƒ¼ãƒˆ"
1271
1272#~ msgid ""
1273#~ "Drag one of these button to your bookmarks toolbar or right-click it and "
1274#~ "\"Bookmark This Link\""
1275#~ msgstr ""
1276#~ "ã“れらã®ãƒœã‚¿ãƒ³ã®ã†ã¡1ã¤ã‚’をブックマークãƒãƒ¼ã«ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹ã‹ã€å³ã‚¯ãƒªãƒƒã‚¯ã—"
1277#~ "ã¦ã€Œã“ã®ãƒªãƒ³ã‚¯ã‚’ブックマークã«è¿½åŠ ã€ã—ã¦ãã ã•ã„"
1278
1279#~ msgid "then click on the bookmarklet in any page you want to share."
1280#~ msgstr "共有ã—ãŸã„ページã§ãƒ–ックマークレットをクリックã—ã¦ãã ã•ã„。"
1281
1282#~ msgid ""
1283#~ "Drag this link to your bookmarks toolbar or right-click it and Bookmark "
1284#~ "This Link"
1285#~ msgstr ""
1286#~ "ã“ã®ãƒªãƒ³ã‚¯ã‚’ブックマークãƒãƒ¼ã«ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹ã‹ã€å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œã“ã®ãƒªãƒ³ã‚¯ã‚’"
1287#~ "ブックマークã«è¿½åŠ ã€ã—ã¦ãã ã•ã„"
1288
1289#~ msgid "then click ✚Shaare link button in any page you want to share"
1290#~ msgstr ""
1291#~ "✚リンクを共有 ボタンをクリックã™ã‚‹ã“ã¨ã§ã€ã©ã“ã§ã‚‚リンクを共有ã§ãã¾ã™"
1292
1293#~ msgid "The selected text is too long, it will be truncated."
1294#~ msgstr "é¸æŠžã•ã‚ŒãŸæ–‡å­—列ã¯é•·ã™ãŽã‚‹ã®ã§ã€ä¸€éƒ¨ãŒåˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™ã€‚"
1295
1296#~ msgid "Shaare link"
1297#~ msgstr "共有リンク"
1298
1299#~ msgid ""
1300#~ "Then click ✚Add Note button anytime to start composing a private Note "
1301#~ "(text post) to your Shaarli"
1302#~ msgstr ""
1303#~ "✚ノートを追加 ボタンをクリックã™ã‚‹ã“ã¨ã§ã€ã„ã¤ã§ã‚‚プライベートノート(テキ"
1304#~ "スト形å¼)ã‚’Shaarli上ã«ä½œæˆã§ãã¾ã™"
1305
1306#~ msgid "Add Note"
1307#~ msgstr "ノートを追加"
1308
1309#~ msgid ""
1310#~ "You need to browse your Shaarli over <strong>HTTPS</strong> to use this "
1311#~ "functionality."
1312#~ msgstr ""
1313#~ "ã“ã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹ã«ã¯ã€<strong>HTTPS</strong> 経由ã§Shaarliã«æŽ¥ç¶šã—ã¦ãã "
1314#~ "ã•ã„。"
1315
1316#~ msgid "Add to"
1317#~ msgstr "次ã«è¿½åŠ :"
1318
1319#~ msgid "3rd party"
1320#~ msgstr "サードパーティー"
1321
1322#~ msgid "Plugin"
1323#~ msgstr "プラグイン"
1324
1325#~ msgid "plugin"
1326#~ msgstr "プラグイン"
1327
1328#~ msgid ""
1329#~ "Drag this link to your bookmarks toolbar, or right-click it and choose "
1330#~ "Bookmark This Link"
1331#~ msgstr ""
1332#~ "ã“ã®ãƒªãƒ³ã‚¯ã‚’ブックマークãƒãƒ¼ã«ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹ã‹ã€å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œã“ã®ãƒªãƒ³ã‚¯ã‚’"
1333#~ "ブックマークã«è¿½åŠ ã€ã—ã¦ãã ã•ã„"
diff --git a/plugins/archiveorg/archiveorg.php b/plugins/archiveorg/archiveorg.php
index 922b5966..ed271532 100644
--- a/plugins/archiveorg/archiveorg.php
+++ b/plugins/archiveorg/archiveorg.php
@@ -17,7 +17,7 @@ use Shaarli\Plugin\PluginManager;
17function hook_archiveorg_render_linklist($data) 17function hook_archiveorg_render_linklist($data)
18{ 18{
19 $archive_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/archiveorg/archiveorg.html'); 19 $archive_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/archiveorg/archiveorg.html');
20 $path = ($data['_BASE_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH; 20 $path = ($data['_ROOT_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH;
21 21
22 foreach ($data['links'] as &$value) { 22 foreach ($data['links'] as &$value) {
23 $isNote = startsWith($value['real_url'], '/shaare/'); 23 $isNote = startsWith($value['real_url'], '/shaare/');
diff --git a/plugins/isso/isso.php b/plugins/isso/isso.php
index 79e7380b..d4632163 100644
--- a/plugins/isso/isso.php
+++ b/plugins/isso/isso.php
@@ -54,7 +54,7 @@ function hook_isso_render_linklist($data, $conf)
54 if ($conf->get('resource.theme') === 'default') { 54 if ($conf->get('resource.theme') === 'default') {
55 $button .= '<i class="linklist-plugin-icon fa fa-comment"></i>'; 55 $button .= '<i class="linklist-plugin-icon fa fa-comment"></i>';
56 } else { 56 } else {
57 $button .= '<img class="linklist-plugin-icon" src="plugins/isso/comment.png" '; 57 $button .= '<img class="linklist-plugin-icon" src="'. $data['_ROOT_PATH_'].'/plugins/isso/comment.png" ';
58 $button .= 'title="Comment on this shaare" alt="Comments" />'; 58 $button .= 'title="Comment on this shaare" alt="Comments" />';
59 } 59 }
60 $button .= '</a></span>'; 60 $button .= '</a></span>';
diff --git a/plugins/qrcode/qrcode.php b/plugins/qrcode/qrcode.php
index 95499e39..24fd18ba 100644
--- a/plugins/qrcode/qrcode.php
+++ b/plugins/qrcode/qrcode.php
@@ -19,7 +19,7 @@ function hook_qrcode_render_linklist($data)
19{ 19{
20 $qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html'); 20 $qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html');
21 21
22 $path = ($data['_BASE_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH; 22 $path = ($data['_ROOT_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH;
23 foreach ($data['links'] as &$value) { 23 foreach ($data['links'] as &$value) {
24 $qrcode = sprintf( 24 $qrcode = sprintf(
25 $qrcode_html, 25 $qrcode_html,
diff --git a/plugins/wallabag/wallabag.php b/plugins/wallabag/wallabag.php
index 805c1ad9..d0df3501 100644
--- a/plugins/wallabag/wallabag.php
+++ b/plugins/wallabag/wallabag.php
@@ -45,7 +45,7 @@ function hook_wallabag_render_linklist($data, $conf)
45 $wallabagHtml = file_get_contents(PluginManager::$PLUGINS_PATH . '/wallabag/wallabag.html'); 45 $wallabagHtml = file_get_contents(PluginManager::$PLUGINS_PATH . '/wallabag/wallabag.html');
46 46
47 $linkTitle = t('Save to wallabag'); 47 $linkTitle = t('Save to wallabag');
48 $path = ($data['_BASE_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH; 48 $path = ($data['_ROOT_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH;
49 49
50 foreach ($data['links'] as &$value) { 50 foreach ($data['links'] as &$value) {
51 $wallabag = sprintf( 51 $wallabag = sprintf(
diff --git a/tests/api/controllers/links/GetLinksTest.php b/tests/api/controllers/links/GetLinksTest.php
index 0f5073b4..b1c46ee2 100644
--- a/tests/api/controllers/links/GetLinksTest.php
+++ b/tests/api/controllers/links/GetLinksTest.php
@@ -398,7 +398,7 @@ class GetLinksTest extends \Shaarli\TestCase
398 $response = $this->controller->getLinks($request, new Response()); 398 $response = $this->controller->getLinks($request, new Response());
399 $this->assertEquals(200, $response->getStatusCode()); 399 $this->assertEquals(200, $response->getStatusCode());
400 $data = json_decode((string) $response->getBody(), true); 400 $data = json_decode((string) $response->getBody(), true);
401 $this->assertEquals(4, count($data)); 401 $this->assertEquals(5, count($data));
402 $this->assertEquals(6, $data[0]['id']); 402 $this->assertEquals(6, $data[0]['id']);
403 403
404 // wildcard: placeholder at the middle 404 // wildcard: placeholder at the middle
diff --git a/tests/bookmark/BookmarkFileServiceTest.php b/tests/bookmark/BookmarkFileServiceTest.php
index 59c0608c..daafd250 100644
--- a/tests/bookmark/BookmarkFileServiceTest.php
+++ b/tests/bookmark/BookmarkFileServiceTest.php
@@ -690,12 +690,12 @@ class BookmarkFileServiceTest extends TestCase
690 */ 690 */
691 public function testDays() 691 public function testDays()
692 { 692 {
693 $this->assertEquals( 693 $this->assertSame(
694 ['20100309', '20100310', '20121206', '20121207', '20130614', '20150310'], 694 ['20100309', '20100310', '20121206', '20121207', '20130614', '20150310'],
695 $this->publicLinkDB->days() 695 $this->publicLinkDB->days()
696 ); 696 );
697 697
698 $this->assertEquals( 698 $this->assertSame(
699 ['20100309', '20100310', '20121206', '20121207', '20130614', '20141125', '20150310'], 699 ['20100309', '20100310', '20121206', '20121207', '20130614', '20141125', '20150310'],
700 $this->privateLinkDB->days() 700 $this->privateLinkDB->days()
701 ); 701 );
@@ -748,6 +748,10 @@ class BookmarkFileServiceTest extends TestCase
748 // They need to be grouped with the first case found - order by date DESC: `sTuff`. 748 // They need to be grouped with the first case found - order by date DESC: `sTuff`.
749 'sTuff' => 2, 749 'sTuff' => 2,
750 'ut' => 1, 750 'ut' => 1,
751 'assurance' => 1,
752 'coding-style' => 1,
753 'quality' => 1,
754 'standards' => 1,
751 ], 755 ],
752 $this->publicLinkDB->bookmarksCountPerTag() 756 $this->publicLinkDB->bookmarksCountPerTag()
753 ); 757 );
@@ -776,6 +780,10 @@ class BookmarkFileServiceTest extends TestCase
776 'tag3' => 1, 780 'tag3' => 1,
777 'tag4' => 1, 781 'tag4' => 1,
778 'ut' => 1, 782 'ut' => 1,
783 'assurance' => 1,
784 'coding-style' => 1,
785 'quality' => 1,
786 'standards' => 1,
779 ], 787 ],
780 $this->privateLinkDB->bookmarksCountPerTag() 788 $this->privateLinkDB->bookmarksCountPerTag()
781 ); 789 );
@@ -918,6 +926,10 @@ class BookmarkFileServiceTest extends TestCase
918 'tag4' => 1, 926 'tag4' => 1,
919 'ut' => 1, 927 'ut' => 1,
920 'w3c' => 1, 928 'w3c' => 1,
929 'assurance' => 1,
930 'coding-style' => 1,
931 'quality' => 1,
932 'standards' => 1,
921 ]; 933 ];
922 $tags = $this->privateLinkDB->bookmarksCountPerTag(); 934 $tags = $this->privateLinkDB->bookmarksCountPerTag();
923 935
@@ -1016,6 +1028,10 @@ class BookmarkFileServiceTest extends TestCase
1016 'stallman' => 1, 1028 'stallman' => 1,
1017 'ut' => 1, 1029 'ut' => 1,
1018 'w3c' => 1, 1030 'w3c' => 1,
1031 'assurance' => 1,
1032 'coding-style' => 1,
1033 'quality' => 1,
1034 'standards' => 1,
1019 ]; 1035 ];
1020 $bookmark = new Bookmark(); 1036 $bookmark = new Bookmark();
1021 $bookmark->setTags(['newTagToCount', BookmarkMarkdownFormatter::NO_MD_TAG]); 1037 $bookmark->setTags(['newTagToCount', BookmarkMarkdownFormatter::NO_MD_TAG]);
diff --git a/tests/bookmark/BookmarkFilterTest.php b/tests/bookmark/BookmarkFilterTest.php
index 644abbc8..574d8e3f 100644
--- a/tests/bookmark/BookmarkFilterTest.php
+++ b/tests/bookmark/BookmarkFilterTest.php
@@ -2,7 +2,6 @@
2 2
3namespace Shaarli\Bookmark; 3namespace Shaarli\Bookmark;
4 4
5use Exception;
6use malkusch\lock\mutex\NoMutex; 5use malkusch\lock\mutex\NoMutex;
7use ReferenceLinkDB; 6use ReferenceLinkDB;
8use Shaarli\Config\ConfigManager; 7use Shaarli\Config\ConfigManager;
@@ -525,4 +524,43 @@ class BookmarkFilterTest extends TestCase
525 )) 524 ))
526 ); 525 );
527 } 526 }
527
528 /**
529 * Test search result highlights in every field of bookmark reference #9.
530 */
531 public function testFullTextSearchHighlight(): void
532 {
533 $bookmarks = self::$linkFilter->filter(
534 BookmarkFilter::$FILTER_TEXT,
535 '"psr-2" coding guide http fig "psr-2/" "This guide" basic standard. coding-style quality assurance'
536 );
537
538 static::assertCount(1, $bookmarks);
539 static::assertArrayHasKey(9, $bookmarks);
540
541 $bookmark = $bookmarks[9];
542 $expectedHighlights = [
543 'title' => [
544 ['start' => 0, 'end' => 5], // "psr-2"
545 ['start' => 7, 'end' => 13], // coding
546 ['start' => 20, 'end' => 25], // guide
547 ],
548 'description' => [
549 ['start' => 0, 'end' => 10], // "This guide"
550 ['start' => 45, 'end' => 50], // basic
551 ['start' => 58, 'end' => 67], // standard.
552 ],
553 'url' => [
554 ['start' => 0, 'end' => 4], // http
555 ['start' => 15, 'end' => 18], // fig
556 ['start' => 27, 'end' => 33], // "psr-2/"
557 ],
558 'tags' => [
559 ['start' => 0, 'end' => 12], // coding-style
560 ['start' => 23, 'end' => 30], // quality
561 ['start' => 31, 'end' => 40], // assurance
562 ],
563 ];
564 static::assertSame($expectedHighlights, $bookmark->getAdditionalContentEntry('search_highlight'));
565 }
528} 566}
diff --git a/tests/formatter/BookmarkDefaultFormatterTest.php b/tests/formatter/BookmarkDefaultFormatterTest.php
index 9534436e..3fc6f8dc 100644
--- a/tests/formatter/BookmarkDefaultFormatterTest.php
+++ b/tests/formatter/BookmarkDefaultFormatterTest.php
@@ -174,4 +174,119 @@ class BookmarkDefaultFormatterTest extends TestCase
174 $this->assertSame($tags, $link['taglist']); 174 $this->assertSame($tags, $link['taglist']);
175 $this->assertSame(implode(' ', $tags), $link['tags']); 175 $this->assertSame(implode(' ', $tags), $link['tags']);
176 } 176 }
177
178 /**
179 * Test formatTitleHtml with search result highlight.
180 */
181 public function testFormatTitleHtmlWithSearchHighlight(): void
182 {
183 $this->formatter = new BookmarkDefaultFormatter($this->conf, false);
184
185 $bookmark = new Bookmark();
186 $bookmark->setTitle('PSR-2: Coding Style Guide');
187 $bookmark->addAdditionalContentEntry(
188 'search_highlight',
189 ['title' => [
190 ['start' => 0, 'end' => 5], // "psr-2"
191 ['start' => 7, 'end' => 13], // coding
192 ['start' => 20, 'end' => 25], // guide
193 ]]
194 );
195
196 $link = $this->formatter->format($bookmark);
197
198 $this->assertSame(
199 '<span class="search-highlight">PSR-2</span>: ' .
200 '<span class="search-highlight">Coding</span> Style ' .
201 '<span class="search-highlight">Guide</span>',
202 $link['title_html']
203 );
204 }
205
206 /**
207 * Test formatDescription with search result highlight.
208 */
209 public function testFormatDescriptionWithSearchHighlight(): void
210 {
211 $this->formatter = new BookmarkDefaultFormatter($this->conf, false);
212
213 $bookmark = new Bookmark();
214 $bookmark->setDescription('This guide extends and expands on PSR-1, the basic coding standard.');
215 $bookmark->addAdditionalContentEntry(
216 'search_highlight',
217 ['description' => [
218 ['start' => 0, 'end' => 10], // "This guide"
219 ['start' => 45, 'end' => 50], // basic
220 ['start' => 58, 'end' => 67], // standard.
221 ]]
222 );
223
224 $link = $this->formatter->format($bookmark);
225
226 $this->assertSame(
227 '<span class="search-highlight">This guide</span> extends and expands on PSR-1, the ' .
228 '<span class="search-highlight">basic</span> coding ' .
229 '<span class="search-highlight">standard.</span>',
230 $link['description']
231 );
232 }
233
234 /**
235 * Test formatUrlHtml with search result highlight.
236 */
237 public function testFormatUrlHtmlWithSearchHighlight(): void
238 {
239 $this->formatter = new BookmarkDefaultFormatter($this->conf, false);
240
241 $bookmark = new Bookmark();
242 $bookmark->setUrl('http://www.php-fig.org/psr/psr-2/');
243 $bookmark->addAdditionalContentEntry(
244 'search_highlight',
245 ['url' => [
246 ['start' => 0, 'end' => 4], // http
247 ['start' => 15, 'end' => 18], // fig
248 ['start' => 27, 'end' => 33], // "psr-2/"
249 ]]
250 );
251
252 $link = $this->formatter->format($bookmark);
253
254 $this->assertSame(
255 '<span class="search-highlight">http</span>://www.php-' .
256 '<span class="search-highlight">fig</span>.org/psr/' .
257 '<span class="search-highlight">psr-2/</span>',
258 $link['url_html']
259 );
260 }
261
262 /**
263 * Test formatTagListHtml with search result highlight.
264 */
265 public function testFormatTagListHtmlWithSearchHighlight(): void
266 {
267 $this->formatter = new BookmarkDefaultFormatter($this->conf, false);
268
269 $bookmark = new Bookmark();
270 $bookmark->setTagsString('coding-style standards quality assurance');
271 $bookmark->addAdditionalContentEntry(
272 'search_highlight',
273 ['tags' => [
274 ['start' => 0, 'end' => 12], // coding-style
275 ['start' => 23, 'end' => 30], // quality
276 ['start' => 31, 'end' => 40], // assurance
277 ],]
278 );
279
280 $link = $this->formatter->format($bookmark);
281
282 $this->assertSame(
283 [
284 '<span class="search-highlight">coding-style</span>',
285 'standards',
286 '<span class="search-highlight">quality</span>',
287 '<span class="search-highlight">assurance</span>',
288 ],
289 $link['taglist_html']
290 );
291 }
177} 292}
diff --git a/tests/legacy/LegacyLinkDBTest.php b/tests/legacy/LegacyLinkDBTest.php
index df2cad62..5c3fd425 100644
--- a/tests/legacy/LegacyLinkDBTest.php
+++ b/tests/legacy/LegacyLinkDBTest.php
@@ -296,6 +296,10 @@ class LegacyLinkDBTest extends \Shaarli\TestCase
296 // They need to be grouped with the first case found - order by date DESC: `sTuff`. 296 // They need to be grouped with the first case found - order by date DESC: `sTuff`.
297 'sTuff' => 2, 297 'sTuff' => 2,
298 'ut' => 1, 298 'ut' => 1,
299 'assurance' => 1,
300 'coding-style' => 1,
301 'quality' => 1,
302 'standards' => 1,
299 ), 303 ),
300 self::$publicLinkDB->linksCountPerTag() 304 self::$publicLinkDB->linksCountPerTag()
301 ); 305 );
@@ -324,6 +328,10 @@ class LegacyLinkDBTest extends \Shaarli\TestCase
324 'tag3' => 1, 328 'tag3' => 1,
325 'tag4' => 1, 329 'tag4' => 1,
326 'ut' => 1, 330 'ut' => 1,
331 'assurance' => 1,
332 'coding-style' => 1,
333 'quality' => 1,
334 'standards' => 1,
327 ), 335 ),
328 self::$privateLinkDB->linksCountPerTag() 336 self::$privateLinkDB->linksCountPerTag()
329 ); 337 );
@@ -544,6 +552,10 @@ class LegacyLinkDBTest extends \Shaarli\TestCase
544 'tag4' => 1, 552 'tag4' => 1,
545 'ut' => 1, 553 'ut' => 1,
546 'w3c' => 1, 554 'w3c' => 1,
555 'assurance' => 1,
556 'coding-style' => 1,
557 'quality' => 1,
558 'standards' => 1,
547 ]; 559 ];
548 $tags = self::$privateLinkDB->linksCountPerTag(); 560 $tags = self::$privateLinkDB->linksCountPerTag();
549 561
diff --git a/tests/utils/ReferenceLinkDB.php b/tests/utils/ReferenceLinkDB.php
index fc3cb109..1f53dc3c 100644
--- a/tests/utils/ReferenceLinkDB.php
+++ b/tests/utils/ReferenceLinkDB.php
@@ -82,7 +82,7 @@ class ReferenceLinkDB
82 'This guide extends and expands on PSR-1, the basic coding standard.', 82 'This guide extends and expands on PSR-1, the basic coding standard.',
83 0, 83 0,
84 DateTime::createFromFormat(Bookmark::LINK_DATE_FORMAT, '20121206_152312'), 84 DateTime::createFromFormat(Bookmark::LINK_DATE_FORMAT, '20121206_152312'),
85 '' 85 'coding-style standards quality assurance'
86 ); 86 );
87 87
88 $this->addLink( 88 $this->addLink(
diff --git a/tpl/default/changetag.html b/tpl/default/changetag.html
index 16c55896..89d08e2c 100644
--- a/tpl/default/changetag.html
+++ b/tpl/default/changetag.html
@@ -27,8 +27,8 @@
27 <div><i class="fa fa-info-circle" aria-hidden="true"></i> {'Case sensitive'|t}</div> 27 <div><i class="fa fa-info-circle" aria-hidden="true"></i> {'Case sensitive'|t}</div>
28 <input type="hidden" name="token" value="{$token}"> 28 <input type="hidden" name="token" value="{$token}">
29 <div> 29 <div>
30 <input type="submit" value="{'Rename'|t}" name="renametag"> 30 <input type="submit" value="{'Rename tag'|t}" name="renametag">
31 <input type="submit" value="{'Delete'|t}" name="deletetag" class="button button-red confirm-delete"> 31 <input type="submit" value="{'Delete tag'|t}" name="deletetag" class="button button-red confirm-delete">
32 </div> 32 </div>
33 </form> 33 </form>
34 34
diff --git a/tpl/default/daily.html b/tpl/default/daily.html
index 3ab8053f..3749bffb 100644
--- a/tpl/default/daily.html
+++ b/tpl/default/daily.html
@@ -76,7 +76,7 @@
76 </div> 76 </div>
77 {if="$thumbnails_enabled && !empty($link.thumbnail)"} 77 {if="$thumbnails_enabled && !empty($link.thumbnail)"}
78 <div class="daily-entry-thumbnail"> 78 <div class="daily-entry-thumbnail">
79 <img data-src="{$link.thumbnail}#" class="b-lazy" 79 <img data-src="{$root_path}/{$link.thumbnail}#" class="b-lazy"
80 src="" 80 src=""
81 alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" /> 81 alt="thumbnail" width="{$thumbnails_width}" height="{$thumbnails_height}" />
82 </div> 82 </div>
diff --git a/tpl/default/includes.html b/tpl/default/includes.html
index 09768ac4..3e3fb664 100644
--- a/tpl/default/includes.html
+++ b/tpl/default/includes.html
@@ -12,10 +12,10 @@
12 <link type="text/css" rel="stylesheet" href="{$asset_path}/css/markdown.min.css?v={$version_hash}#" /> 12 <link type="text/css" rel="stylesheet" href="{$asset_path}/css/markdown.min.css?v={$version_hash}#" />
13{/if} 13{/if}
14{loop="$plugins_includes.css_files"} 14{loop="$plugins_includes.css_files"}
15 <link type="text/css" rel="stylesheet" href="{$base_path}/{$value}?v={$version_hash}#"/> 15 <link type="text/css" rel="stylesheet" href="{$root_path}/{$value}?v={$version_hash}#"/>
16{/loop} 16{/loop}
17{if="is_file('data/user.css')"} 17{if="is_file('data/user.css')"}
18 <link type="text/css" rel="stylesheet" href="{$base_path}/data/user.css#" /> 18 <link type="text/css" rel="stylesheet" href="{$root_path}/data/user.css#" />
19{/if} 19{/if}
20<link rel="search" type="application/opensearchdescription+xml" href="{$base_path}/open-search#" 20<link rel="search" type="application/opensearchdescription+xml" href="{$base_path}/open-search#"
21 title="Shaarli search - {$shaarlititle}" /> 21 title="Shaarli search - {$shaarlititle}" />
diff --git a/tpl/default/linklist.html b/tpl/default/linklist.html
index b08773d8..beab0eac 100644
--- a/tpl/default/linklist.html
+++ b/tpl/default/linklist.html
@@ -140,7 +140,7 @@
140 <div class="thumbnail"> 140 <div class="thumbnail">
141 {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore} 141 {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore}
142 <a href="{$value.real_url}" aria-hidden="true" tabindex="-1"> 142 <a href="{$value.real_url}" aria-hidden="true" tabindex="-1">
143 <img data-src="{$base_path}/{$value.thumbnail}#" class="b-lazy" 143 <img data-src="{$root_path}/{$value.thumbnail}#" class="b-lazy"
144 src="" 144 src=""
145 alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" /> 145 alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" />
146 </a> 146 </a>
@@ -165,7 +165,7 @@
165 <i class="fa fa-sticky-note" aria-hidden="true"></i> 165 <i class="fa fa-sticky-note" aria-hidden="true"></i>
166 {/if} 166 {/if}
167 167
168 <span class="linklist-link">{$value.title}</span> 168 <span class="linklist-link">{$value.title_html}</span>
169 </a> 169 </a>
170 </h2> 170 </h2>
171 </div> 171 </div>
@@ -183,7 +183,7 @@
183 {$tag_counter=count($value.taglist)} 183 {$tag_counter=count($value.taglist)}
184 {loop="value.taglist"} 184 {loop="value.taglist"}
185 <span class="label label-tag" title="{$strAddTag}"> 185 <span class="label label-tag" title="{$strAddTag}">
186 <a href="{$base_path}/add-tag/{$value1.urlencoded_taglist.$key2}">{$value}</a> 186 <a href="{$base_path}/add-tag/{$value1.taglist_urlencoded.$key2}">{$value1.taglist_html.$key2}</a>
187 </span> 187 </span>
188 {if="$tag_counter - 1 != $counter"}&middot;{/if} 188 {if="$tag_counter - 1 != $counter"}&middot;{/if}
189 {/loop} 189 {/loop}
@@ -251,7 +251,7 @@
251 {ignore}do not add space or line break between these div - Firefox issue{/ignore} 251 {ignore}do not add space or line break between these div - Firefox issue{/ignore}
252 class="linklist-item-infos-url pure-u-lg-5-12 pure-u-1"> 252 class="linklist-item-infos-url pure-u-lg-5-12 pure-u-1">
253 <a href="{$value.real_url}" aria-label="{$value.title}" title="{$value.title}"> 253 <a href="{$value.real_url}" aria-label="{$value.title}" title="{$value.title}">
254 <i class="fa fa-link" aria-hidden="true"></i> {$value.url} 254 <i class="fa fa-link" aria-hidden="true"></i> {$value.url_html}
255 </a> 255 </a>
256 <div class="linklist-item-buttons pure-u-0 pure-u-lg-visible"> 256 <div class="linklist-item-buttons pure-u-0 pure-u-lg-visible">
257 <a href="#" aria-label="{$strFold}" title="{$strFold}" class="fold-button"><i class="fa fa-chevron-up" aria-hidden="true"></i></a> 257 <a href="#" aria-label="{$strFold}" title="{$strFold}" class="fold-button"><i class="fa fa-chevron-up" aria-hidden="true"></i></a>
diff --git a/tpl/default/page.footer.html b/tpl/default/page.footer.html
index 51bdb2f0..c153def0 100644
--- a/tpl/default/page.footer.html
+++ b/tpl/default/page.footer.html
@@ -10,7 +10,7 @@
10 {/if} 10 {/if}
11 &middot; 11 &middot;
12 {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t} &middot; 12 {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t} &middot;
13 <a href="{$base_path}/doc/html/index.html" rel="nofollow">{'Documentation'|t}</a> 13 <a href="{$root_path}/doc/html/index.html" rel="nofollow">{'Documentation'|t}</a>
14 {loop="$plugins_footer.text"} 14 {loop="$plugins_footer.text"}
15 {$value} 15 {$value}
16 {/loop} 16 {/loop}
@@ -25,7 +25,7 @@
25{/loop} 25{/loop}
26 26
27{loop="$plugins_footer.js_files"} 27{loop="$plugins_footer.js_files"}
28 <script src="{$base_path}/{$value}#"></script> 28 <script src="{$root_path}/{$value}#"></script>
29{/loop} 29{/loop}
30 30
31<div id="js-translations" class="hidden"> 31<div id="js-translations" class="hidden">
@@ -33,7 +33,7 @@
33 <span id="translation-fold-all">{'Fold all'|t}</span> 33 <span id="translation-fold-all">{'Fold all'|t}</span>
34 <span id="translation-expand">{'Expand'|t}</span> 34 <span id="translation-expand">{'Expand'|t}</span>
35 <span id="translation-expand-all">{'Expand all'|t}</span> 35 <span id="translation-expand-all">{'Expand all'|t}</span>
36 <span id="translation-delete-link">{'Are you sure you want to delete this link?'|t}</span> 36 <span id="translation-delete-link">{'Are you sure you want to delete this tag?'|t}</span>
37 <span id="translation-shaarli-desc"> 37 <span id="translation-shaarli-desc">
38 {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t} 38 {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t}
39 </span> 39 </span>
diff --git a/tpl/default/picwall.html b/tpl/default/picwall.html
index b7a56c89..ac613b35 100644
--- a/tpl/default/picwall.html
+++ b/tpl/default/picwall.html
@@ -31,7 +31,7 @@
31 {loop="$linksToDisplay"} 31 {loop="$linksToDisplay"}
32 <div class="picwall-pictureframe" role="listitem"> 32 <div class="picwall-pictureframe" role="listitem">
33 {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore} 33 {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore}
34 <img data-src="{$value.thumbnail}#" class="b-lazy" 34 <img data-src="{$root_path}/{$value.thumbnail}#" class="b-lazy"
35 src="" 35 src=""
36 alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" /> 36 alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" />
37 <a href="{$value.real_url}"><span class="info">{$value.title}</span></a> 37 <a href="{$value.real_url}"><span class="info">{$value.title}</span></a>
diff --git a/tpl/default/pluginsadmin.html b/tpl/default/pluginsadmin.html
index 05d13556..5c073da6 100644
--- a/tpl/default/pluginsadmin.html
+++ b/tpl/default/pluginsadmin.html
@@ -117,7 +117,7 @@
117 117
118 <div class="center more"> 118 <div class="center more">
119 {"More plugins available"|t} 119 {"More plugins available"|t}
120 <a href="doc/html/Community-&-Related-software/#third-party-plugins">{"in the documentation"|t}</a>. 120 <a href="{$root_path}/doc/html/Community-&-Related-software/#third-party-plugins">{"in the documentation"|t}</a>.
121 </div> 121 </div>
122 <div class="center"> 122 <div class="center">
123 <input type="submit" value="{'Save'|t}" name="save"> 123 <input type="submit" value="{'Save'|t}" name="save">