diff options
20 files changed, 423 insertions, 201 deletions
diff --git a/app/DoctrineMigrations/Version20170719231144.php b/app/DoctrineMigrations/Version20170719231144.php new file mode 100644 index 00000000..0f5fa75a --- /dev/null +++ b/app/DoctrineMigrations/Version20170719231144.php | |||
@@ -0,0 +1,103 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Application\Migrations; | ||
4 | |||
5 | use Doctrine\DBAL\Migrations\AbstractMigration; | ||
6 | use Doctrine\DBAL\Schema\Schema; | ||
7 | use Symfony\Component\DependencyInjection\ContainerAwareInterface; | ||
8 | use Symfony\Component\DependencyInjection\ContainerInterface; | ||
9 | |||
10 | /** | ||
11 | * Changed tags to lowercase. | ||
12 | */ | ||
13 | class Version20170719231144 extends AbstractMigration implements ContainerAwareInterface | ||
14 | { | ||
15 | /** | ||
16 | * @var ContainerInterface | ||
17 | */ | ||
18 | private $container; | ||
19 | |||
20 | public function setContainer(ContainerInterface $container = null) | ||
21 | { | ||
22 | $this->container = $container; | ||
23 | } | ||
24 | |||
25 | /** | ||
26 | * @param Schema $schema | ||
27 | */ | ||
28 | public function up(Schema $schema) | ||
29 | { | ||
30 | $this->skipIf($this->connection->getDatabasePlatform()->getName() === 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.'); | ||
31 | |||
32 | // Find tags which need to be merged | ||
33 | $dupTags = $this->connection->query(' | ||
34 | SELECT LOWER(label) | ||
35 | FROM ' . $this->getTable('tag') . ' | ||
36 | GROUP BY LOWER(label) | ||
37 | HAVING COUNT(*) > 1' | ||
38 | ); | ||
39 | $dupTags->execute(); | ||
40 | |||
41 | foreach ($dupTags->fetchAll() as $duplicates) { | ||
42 | $label = $duplicates['LOWER(label)']; | ||
43 | |||
44 | // Retrieve all duplicate tags for a given tag | ||
45 | $tags = $this->connection->query(' | ||
46 | SELECT id | ||
47 | FROM ' . $this->getTable('tag') . " | ||
48 | WHERE LOWER(label) = '" . $label . "' | ||
49 | ORDER BY id ASC" | ||
50 | ); | ||
51 | $tags->execute(); | ||
52 | |||
53 | $first = true; | ||
54 | $newId = null; | ||
55 | $ids = []; | ||
56 | |||
57 | foreach ($tags->fetchAll() as $tag) { | ||
58 | // Ignore the first tag as we use it as the new reference tag | ||
59 | if ($first) { | ||
60 | $first = false; | ||
61 | $newId = $tag['id']; | ||
62 | } else { | ||
63 | $ids[] = $tag['id']; | ||
64 | } | ||
65 | } | ||
66 | |||
67 | // Just in case... | ||
68 | if (count($ids) > 0) { | ||
69 | // Merge tags | ||
70 | $this->addSql(' | ||
71 | UPDATE ' . $this->getTable('entry_tag') . ' | ||
72 | SET tag_id = ' . $newId . ' | ||
73 | WHERE tag_id IN (' . implode(',', $ids) . ')' | ||
74 | ); | ||
75 | |||
76 | // Delete unused tags | ||
77 | $this->addSql(' | ||
78 | DELETE FROM ' . $this->getTable('tag') . ' | ||
79 | WHERE id IN (' . implode(',', $ids) . ')' | ||
80 | ); | ||
81 | } | ||
82 | } | ||
83 | |||
84 | // Iterate over all tags to lowercase them | ||
85 | $this->addSql(' | ||
86 | UPDATE ' . $this->getTable('tag') . ' | ||
87 | SET label = LOWER(label)' | ||
88 | ); | ||
89 | } | ||
90 | |||
91 | /** | ||
92 | * @param Schema $schema | ||
93 | */ | ||
94 | public function down(Schema $schema) | ||
95 | { | ||
96 | throw new SkipMigrationException('Too complex ...'); | ||
97 | } | ||
98 | |||
99 | private function getTable($tableName) | ||
100 | { | ||
101 | return $this->container->getParameter('database_table_prefix') . $tableName; | ||
102 | } | ||
103 | } | ||
diff --git a/app/DoctrineMigrations/Version20170824113337.php b/app/DoctrineMigrations/Version20170824113337.php new file mode 100644 index 00000000..7393d683 --- /dev/null +++ b/app/DoctrineMigrations/Version20170824113337.php | |||
@@ -0,0 +1,63 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Application\Migrations; | ||
4 | |||
5 | use Doctrine\DBAL\Migrations\AbstractMigration; | ||
6 | use Doctrine\DBAL\Schema\Schema; | ||
7 | use Symfony\Component\DependencyInjection\ContainerAwareInterface; | ||
8 | use Symfony\Component\DependencyInjection\ContainerInterface; | ||
9 | |||
10 | /** | ||
11 | * Add starred_at column and set its value to updated_at for is_starred entries. | ||
12 | */ | ||
13 | class Version20170824113337 extends AbstractMigration implements ContainerAwareInterface | ||
14 | { | ||
15 | /** | ||
16 | * @var ContainerInterface | ||
17 | */ | ||
18 | private $container; | ||
19 | |||
20 | public function setContainer(ContainerInterface $container = null) | ||
21 | { | ||
22 | $this->container = $container; | ||
23 | } | ||
24 | |||
25 | /** | ||
26 | * @param Schema $schema | ||
27 | */ | ||
28 | public function up(Schema $schema) | ||
29 | { | ||
30 | $entryTable = $schema->getTable($this->getTable('entry')); | ||
31 | |||
32 | $this->skipIf($entryTable->hasColumn('starred_at'), 'It seems that you already played this migration.'); | ||
33 | |||
34 | $entryTable->addColumn('starred_at', 'datetime', [ | ||
35 | 'notnull' => false, | ||
36 | ]); | ||
37 | } | ||
38 | |||
39 | public function postUp(Schema $schema) | ||
40 | { | ||
41 | $entryTable = $schema->getTable($this->getTable('entry')); | ||
42 | $this->skipIf(!$entryTable->hasColumn('starred_at'), 'Unable to add starred_at colum'); | ||
43 | |||
44 | $this->connection->executeQuery('UPDATE ' . $this->getTable('entry') . ' SET starred_at = updated_at WHERE is_starred = true'); | ||
45 | } | ||
46 | |||
47 | /** | ||
48 | * @param Schema $schema | ||
49 | */ | ||
50 | public function down(Schema $schema) | ||
51 | { | ||
52 | $entryTable = $schema->getTable($this->getTable('entry')); | ||
53 | |||
54 | $this->skipIf(!$entryTable->hasColumn('starred_at'), 'It seems that you already played this migration.'); | ||
55 | |||
56 | $entryTable->dropColumn('starred_at'); | ||
57 | } | ||
58 | |||
59 | private function getTable($tableName) | ||
60 | { | ||
61 | return $this->container->getParameter('database_table_prefix') . $tableName; | ||
62 | } | ||
63 | } | ||
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml index f57db303..a066c8e3 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml | |||
@@ -1,36 +1,36 @@ | |||
1 | # settings_changed: Configuration updated | 1 | settings_changed: 'Konfiguration aktualisiert' |
2 | download_pictures: Bilder auf den Server herunterladen | 2 | download_pictures: 'Bilder auf den Server herunterladen' |
3 | carrot: Teilen zu Carrot aktivieren | 3 | carrot: 'Teilen zu Carrot aktivieren' |
4 | diaspora_url: Diaspora-URL, sofern der Service aktiviert ist | 4 | diaspora_url: 'Diaspora-URL, sofern der Service aktiviert ist' |
5 | export_epub: ePUB-Export aktivieren | 5 | export_epub: 'ePUB-Export aktivieren' |
6 | export_mobi: mobi-Export aktivieren | 6 | export_mobi: 'mobi-Export aktivieren' |
7 | export_pdf: PDF-Export aktivieren | 7 | export_pdf: 'PDF-Export aktivieren' |
8 | export_csv: CSV-Export aktivieren | 8 | export_csv: 'CSV-Export aktivieren' |
9 | export_json: JSON-Export aktivieren | 9 | export_json: 'JSON-Export aktivieren' |
10 | export_txt: TXT-Export aktivieren | 10 | export_txt: 'TXT-Export aktivieren' |
11 | export_xml: XML-Export aktivieren | 11 | export_xml: 'XML-Export aktivieren' |
12 | import_with_rabbitmq: Aktiviere RabbitMQ, um Artikel asynchron zu importieren | 12 | import_with_rabbitmq: 'Aktiviere RabbitMQ, um Artikel asynchron zu importieren' |
13 | import_with_redis: Aktiviere Redis, um Artikel asynchron zu importieren | 13 | import_with_redis: 'Aktiviere Redis, um Artikel asynchron zu importieren' |
14 | shaarli_url: Shaarli-URL, sofern der Service aktiviert ist | 14 | shaarli_url: 'Shaarli-URL, sofern der Service aktiviert ist' |
15 | share_diaspora: Teilen zu Diaspora aktiveren | 15 | share_diaspora: 'Teilen zu Diaspora aktiveren' |
16 | share_mail: Teilen via E-Mail aktiveren | 16 | share_mail: 'Teilen via E-Mail aktiveren' |
17 | share_shaarli: Teilen zu Shaarli aktiveren | 17 | share_shaarli: 'Teilen zu Shaarli aktiveren' |
18 | share_scuttle: Teilen zu Scuttle aktiveren | 18 | share_twitter: 'Teilen zu Twitter aktiveren' |
19 | share_twitter: Teilen zu Twitter aktiveren | 19 | share_unmark: 'Teilen zu Unmark.it aktiveren' |
20 | share_unmark: Teilen zu Unmark.it aktiveren | 20 | show_printlink: 'Link anzeigen, um den Inhalt auszudrucken' |
21 | show_printlink: Link anzeigen, um den Inhalt auszudrucken | 21 | wallabag_support_url: 'Support-URL für wallabag' |
22 | wallabag_support_url: Support-URL für wallabag | 22 | wallabag_url: 'URL von *deiner* wallabag-Instanz' |
23 | entry: "Artikel" | 23 | entry: 'Artikel' |
24 | export: "Export" | 24 | export: 'Export' |
25 | import: "Import" | 25 | import: 'Import' |
26 | misc: "Verschiedenes" | 26 | misc: 'Verschiedenes' |
27 | modify_settings: "Übernehmen" | 27 | modify_settings: 'Übernehmen' |
28 | piwik_host: Host deiner Webseite in Piwik (ohne http:// oder https://) | 28 | piwik_host: 'Host deiner Webseite in Piwik (ohne http:// oder https://)' |
29 | piwik_site_id: ID deiner Webseite in Piwik | 29 | piwik_site_id: 'ID deiner Webseite in Piwik' |
30 | piwik_enabled: Piwik aktivieren | 30 | piwik_enabled: 'Piwik aktivieren' |
31 | demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)" | 31 | demo_mode_enabled: 'Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)' |
32 | demo_mode_username: "Test-Benutzer" | 32 | demo_mode_username: 'Test-Benutzer' |
33 | share_public: Erlaube eine öffentliche URL für Einträge | 33 | share_public: 'Erlaube eine öffentliche URL für Einträge' |
34 | # download_images_enabled: Download images locally | 34 | download_images_enabled: 'Bilder lokal herunterladen' |
35 | # restricted_access: Enable authentication for websites with paywall | 35 | restricted_access: 'Authentifizierung für Webseiten mit Paywall aktivieren' |
36 | # api_user_registration: Enable user to be registered using the API | 36 | api_user_registration: 'Registrierung eines Benutzers über die API ermöglichen' |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml index 0861d59c..fb163ce7 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml | |||
@@ -12,7 +12,7 @@ export_xml: Activar l'expòrt XML | |||
12 | import_with_rabbitmq: Activar RabbitMQ per importar de donadas de manièra asincròna | 12 | import_with_rabbitmq: Activar RabbitMQ per importar de donadas de manièra asincròna |
13 | import_with_redis: Activar Redis per importar de donadas de manièra asincròna | 13 | import_with_redis: Activar Redis per importar de donadas de manièra asincròna |
14 | shaarli_url: URL de Shaarli, se lo servici Shaarli es activat | 14 | shaarli_url: URL de Shaarli, se lo servici Shaarli es activat |
15 | share_diaspora: Activar lo partatge cap a Diaspora | 15 | share_diaspora: Activar lo partatge cap a Diaspora* |
16 | share_mail: Activar lo partatge per corrièl | 16 | share_mail: Activar lo partatge per corrièl |
17 | share_shaarli: Activar lo partatge cap a Shaarli | 17 | share_shaarli: Activar lo partatge cap a Shaarli |
18 | share_scuttle: Activar lo partatge cap a Scuttle | 18 | share_scuttle: Activar lo partatge cap a Scuttle |
diff --git a/src/Wallabag/ApiBundle/Controller/EntryRestController.php b/src/Wallabag/ApiBundle/Controller/EntryRestController.php index bc1b6f92..6db97731 100644 --- a/src/Wallabag/ApiBundle/Controller/EntryRestController.php +++ b/src/Wallabag/ApiBundle/Controller/EntryRestController.php | |||
@@ -361,7 +361,7 @@ class EntryRestController extends WallabagRestController | |||
361 | } | 361 | } |
362 | 362 | ||
363 | if (null !== $data['isStarred']) { | 363 | if (null !== $data['isStarred']) { |
364 | $entry->setStarred((bool) $data['isStarred']); | 364 | $entry->updateStar((bool) $data['isStarred']); |
365 | } | 365 | } |
366 | 366 | ||
367 | if (!empty($data['tags'])) { | 367 | if (!empty($data['tags'])) { |
@@ -464,7 +464,7 @@ class EntryRestController extends WallabagRestController | |||
464 | } | 464 | } |
465 | 465 | ||
466 | if (null !== $data['isStarred']) { | 466 | if (null !== $data['isStarred']) { |
467 | $entry->setStarred((bool) $data['isStarred']); | 467 | $entry->updateStar((bool) $data['isStarred']); |
468 | } | 468 | } |
469 | 469 | ||
470 | if (!empty($data['tags'])) { | 470 | if (!empty($data['tags'])) { |
diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php index 3dcfbebe..b0b74c38 100644 --- a/src/Wallabag/CoreBundle/Controller/EntryController.php +++ b/src/Wallabag/CoreBundle/Controller/EntryController.php | |||
@@ -333,6 +333,7 @@ class EntryController extends Controller | |||
333 | $this->checkUserAction($entry); | 333 | $this->checkUserAction($entry); |
334 | 334 | ||
335 | $entry->toggleStar(); | 335 | $entry->toggleStar(); |
336 | $entry->updateStar($entry->isStarred()); | ||
336 | $this->getDoctrine()->getManager()->flush(); | 337 | $this->getDoctrine()->getManager()->flush(); |
337 | 338 | ||
338 | $message = 'flashes.entry.notice.entry_unstarred'; | 339 | $message = 'flashes.entry.notice.entry_unstarred'; |
diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index 61d01bdc..4367902e 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php | |||
@@ -143,6 +143,15 @@ class Entry | |||
143 | private $publishedBy; | 143 | private $publishedBy; |
144 | 144 | ||
145 | /** | 145 | /** |
146 | * @var \DateTime | ||
147 | * | ||
148 | * @ORM\Column(name="starred_at", type="datetime", nullable=true) | ||
149 | * | ||
150 | * @Groups({"entries_for_user", "export_all"}) | ||
151 | */ | ||
152 | private $starredAt = null; | ||
153 | |||
154 | /** | ||
146 | * @ORM\OneToMany(targetEntity="Wallabag\AnnotationBundle\Entity\Annotation", mappedBy="entry", cascade={"persist", "remove"}) | 155 | * @ORM\OneToMany(targetEntity="Wallabag\AnnotationBundle\Entity\Annotation", mappedBy="entry", cascade={"persist", "remove"}) |
147 | * @ORM\JoinTable | 156 | * @ORM\JoinTable |
148 | * | 157 | * |
@@ -476,6 +485,44 @@ class Entry | |||
476 | } | 485 | } |
477 | 486 | ||
478 | /** | 487 | /** |
488 | * @return \DateTime|null | ||
489 | */ | ||
490 | public function getStarredAt() | ||
491 | { | ||
492 | return $this->starredAt; | ||
493 | } | ||
494 | |||
495 | /** | ||
496 | * @param \DateTime|null $starredAt | ||
497 | * | ||
498 | * @return Entry | ||
499 | */ | ||
500 | public function setStarredAt($starredAt = null) | ||
501 | { | ||
502 | $this->starredAt = $starredAt; | ||
503 | |||
504 | return $this; | ||
505 | } | ||
506 | |||
507 | /** | ||
508 | * update isStarred and starred_at fields. | ||
509 | * | ||
510 | * @param bool $isStarred | ||
511 | * | ||
512 | * @return Entry | ||
513 | */ | ||
514 | public function updateStar($isStarred = false) | ||
515 | { | ||
516 | $this->setStarred($isStarred); | ||
517 | $this->setStarredAt(null); | ||
518 | if ($this->isStarred()) { | ||
519 | $this->setStarredAt(new \DateTime()); | ||
520 | } | ||
521 | |||
522 | return $this; | ||
523 | } | ||
524 | |||
525 | /** | ||
479 | * @return ArrayCollection<Annotation> | 526 | * @return ArrayCollection<Annotation> |
480 | */ | 527 | */ |
481 | public function getAnnotations() | 528 | public function getAnnotations() |
diff --git a/src/Wallabag/CoreBundle/Entity/Tag.php b/src/Wallabag/CoreBundle/Entity/Tag.php index c19023af..a6dc8c50 100644 --- a/src/Wallabag/CoreBundle/Entity/Tag.php +++ b/src/Wallabag/CoreBundle/Entity/Tag.php | |||
@@ -78,7 +78,7 @@ class Tag | |||
78 | */ | 78 | */ |
79 | public function setLabel($label) | 79 | public function setLabel($label) |
80 | { | 80 | { |
81 | $this->label = $label; | 81 | $this->label = mb_convert_case($label, MB_CASE_LOWER); |
82 | 82 | ||
83 | return $this; | 83 | return $this; |
84 | } | 84 | } |
diff --git a/src/Wallabag/CoreBundle/Helper/TagsAssigner.php b/src/Wallabag/CoreBundle/Helper/TagsAssigner.php index a2fb0b9a..0bfe5c57 100644 --- a/src/Wallabag/CoreBundle/Helper/TagsAssigner.php +++ b/src/Wallabag/CoreBundle/Helper/TagsAssigner.php | |||
@@ -45,7 +45,7 @@ class TagsAssigner | |||
45 | } | 45 | } |
46 | 46 | ||
47 | foreach ($tags as $label) { | 47 | foreach ($tags as $label) { |
48 | $label = trim($label); | 48 | $label = trim(mb_convert_case($label, MB_CASE_LOWER)); |
49 | 49 | ||
50 | // avoid empty tag | 50 | // avoid empty tag |
51 | if (0 === strlen($label)) { | 51 | if (0 === strlen($label)) { |
diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index eb5e3205..ecc159fc 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php | |||
@@ -65,7 +65,7 @@ class EntryRepository extends EntityRepository | |||
65 | public function getBuilderForStarredByUser($userId) | 65 | public function getBuilderForStarredByUser($userId) |
66 | { | 66 | { |
67 | return $this | 67 | return $this |
68 | ->getBuilderByUser($userId) | 68 | ->getBuilderByUser($userId, 'starredAt', 'desc') |
69 | ->andWhere('e.isStarred = true') | 69 | ->andWhere('e.isStarred = true') |
70 | ; | 70 | ; |
71 | } | 71 | } |
@@ -401,15 +401,16 @@ class EntryRepository extends EntityRepository | |||
401 | /** | 401 | /** |
402 | * Return a query builder to used by other getBuilderFor* method. | 402 | * Return a query builder to used by other getBuilderFor* method. |
403 | * | 403 | * |
404 | * @param int $userId | 404 | * @param int $userId |
405 | * @param string $sortBy | ||
406 | * @param string $direction | ||
405 | * | 407 | * |
406 | * @return QueryBuilder | 408 | * @return QueryBuilder |
407 | */ | 409 | */ |
408 | private function getBuilderByUser($userId) | 410 | private function getBuilderByUser($userId, $sortBy = 'createdAt', $direction = 'desc') |
409 | { | 411 | { |
410 | return $this->createQueryBuilder('e') | 412 | return $this->createQueryBuilder('e') |
411 | ->andWhere('e.user = :userId')->setParameter('userId', $userId) | 413 | ->andWhere('e.user = :userId')->setParameter('userId', $userId) |
412 | ->orderBy('e.createdAt', 'desc') | 414 | ->orderBy(sprintf('e.%s', $sortBy), $direction); |
413 | ; | ||
414 | } | 415 | } |
415 | } | 416 | } |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml index 48f8a535..360bf571 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml | |||
@@ -32,7 +32,7 @@ menu: | |||
32 | save_link: 'Link speichern' | 32 | save_link: 'Link speichern' |
33 | back_to_unread: 'Zurück zu ungelesenen Artikeln' | 33 | back_to_unread: 'Zurück zu ungelesenen Artikeln' |
34 | users_management: 'Benutzerverwaltung' | 34 | users_management: 'Benutzerverwaltung' |
35 | # site_credentials: 'Site credentials' | 35 | site_credentials: 'Zugangsdaten' |
36 | top: | 36 | top: |
37 | add_new_entry: 'Neuen Artikel hinzufügen' | 37 | add_new_entry: 'Neuen Artikel hinzufügen' |
38 | search: 'Suche' | 38 | search: 'Suche' |
@@ -47,7 +47,7 @@ footer: | |||
47 | social: 'Soziales' | 47 | social: 'Soziales' |
48 | powered_by: 'angetrieben von' | 48 | powered_by: 'angetrieben von' |
49 | about: 'Über' | 49 | about: 'Über' |
50 | stats: Seit %user_creation% hast du %nb_archives% Artikel gelesen. Das sind ungefähr %per_day% pro Tag! | 50 | stats: 'Seit %user_creation% hast du %nb_archives% Artikel gelesen. Das sind ungefähr %per_day% pro Tag!' |
51 | 51 | ||
52 | config: | 52 | config: |
53 | page_title: 'Einstellungen' | 53 | page_title: 'Einstellungen' |
@@ -75,9 +75,9 @@ config: | |||
75 | label: 'Wohin soll nach dem Gelesenmarkieren eines Artikels weitergeleitet werden?' | 75 | label: 'Wohin soll nach dem Gelesenmarkieren eines Artikels weitergeleitet werden?' |
76 | redirect_homepage: 'Zur Homepage' | 76 | redirect_homepage: 'Zur Homepage' |
77 | redirect_current_page: 'Zur aktuellen Seite' | 77 | redirect_current_page: 'Zur aktuellen Seite' |
78 | pocket_consumer_key_label: Consumer-Key für Pocket, um Inhalte zu importieren | 78 | pocket_consumer_key_label: 'Consumer-Key für Pocket, um Inhalte zu importieren' |
79 | android_configuration: Konfiguriere deine Android Application | 79 | android_configuration: 'Konfiguriere deine Android-App' |
80 | # android_instruction: "Touch here to prefill your Android application" | 80 | android_instruction: "Klicke hier, um deine Android-App auszufüllen" |
81 | help_theme: "wallabag ist anpassbar. Du kannst dein bevorzugtes Theme hier auswählen." | 81 | help_theme: "wallabag ist anpassbar. Du kannst dein bevorzugtes Theme hier auswählen." |
82 | help_items_per_page: "Du kannst die Nummer von Artikeln pro Seite anpassen." | 82 | help_items_per_page: "Du kannst die Nummer von Artikeln pro Seite anpassen." |
83 | help_reading_speed: "wallabag berechnet eine Lesezeit pro Artikel. Hier kannst du definieren, ob du ein schneller oder langsamer Leser bist. wallabag wird die Lesezeiten danach neu berechnen." | 83 | help_reading_speed: "wallabag berechnet eine Lesezeit pro Artikel. Hier kannst du definieren, ob du ein schneller oder langsamer Leser bist. wallabag wird die Lesezeiten danach neu berechnen." |
@@ -94,7 +94,7 @@ config: | |||
94 | unread: 'Ungelesene' | 94 | unread: 'Ungelesene' |
95 | starred: 'Favoriten' | 95 | starred: 'Favoriten' |
96 | archive: 'Archivierte' | 96 | archive: 'Archivierte' |
97 | # all: 'All' | 97 | all: 'Alle' |
98 | rss_limit: 'Anzahl der Einträge pro Feed' | 98 | rss_limit: 'Anzahl der Einträge pro Feed' |
99 | form_user: | 99 | form_user: |
100 | two_factor_description: "Wenn du die Zwei-Faktor-Authentifizierung aktivierst, erhältst du eine E-Mail mit einem Code bei jeder nicht vertrauenswürdigen Verbindung" | 100 | two_factor_description: "Wenn du die Zwei-Faktor-Authentifizierung aktivierst, erhältst du eine E-Mail mit einem Code bei jeder nicht vertrauenswürdigen Verbindung" |
@@ -103,18 +103,18 @@ config: | |||
103 | twoFactorAuthentication_label: 'Zwei-Faktor-Authentifizierung' | 103 | twoFactorAuthentication_label: 'Zwei-Faktor-Authentifizierung' |
104 | help_twoFactorAuthentication: "Wenn du 2FA aktivierst, wirst du bei jedem Login einen Code per E-Mail bekommen." | 104 | help_twoFactorAuthentication: "Wenn du 2FA aktivierst, wirst du bei jedem Login einen Code per E-Mail bekommen." |
105 | delete: | 105 | delete: |
106 | title: Lösche mein Konto (a.k.a Gefahrenzone) | 106 | title: 'Lösche mein Konto (a.k.a Gefahrenzone)' |
107 | description: Wenn du dein Konto löschst, werden ALL deine Artikel, ALL deine Tags, ALL deine Anmerkungen und dein Konto dauerhaft gelöscht (kann NICHT RÜCKGÄNGIG gemacht werden). Du wirst anschließend ausgeloggt. | 107 | description: 'Wenn du dein Konto löschst, werden ALL deine Artikel, ALL deine Tags, ALL deine Anmerkungen und dein Konto dauerhaft gelöscht (kann NICHT RÜCKGÄNGIG gemacht werden). Du wirst anschließend ausgeloggt.' |
108 | confirm: Bist du wirklich sicher? (DIES KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN) | 108 | confirm: 'Bist du wirklich sicher? (DIES KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN)' |
109 | button: Lösche mein Konto | 109 | button: 'Lösche mein Konto' |
110 | reset: | 110 | reset: |
111 | title: Zurücksetzen (a.k.a Gefahrenzone) | 111 | title: 'Zurücksetzen (a.k.a Gefahrenzone)' |
112 | description: Beim Nutzen der folgenden Schaltflächenhast du die Möglichkeit, einige Informationen von deinem Konto zu entfernen. Sei dir bewusst, dass dies NICHT RÜCKGÄNGIG zu machen ist. | 112 | description: 'Beim Nutzen der folgenden Schaltflächenhast du die Möglichkeit, einige Informationen von deinem Konto zu entfernen. Sei dir bewusst, dass dies NICHT RÜCKGÄNGIG zu machen ist.' |
113 | annotations: Entferne ALLE Annotationen | 113 | annotations: 'Entferne ALLE Annotationen' |
114 | tags: Entferne ALLE Tags | 114 | tags: 'Entferne ALLE Tags' |
115 | entries: Entferne ALLE Einträge | 115 | entries: 'Entferne ALLE Einträge' |
116 | archived: Entferne ALLE archivierten Einträge | 116 | archived: 'Entferne ALLE archivierten Einträge' |
117 | confirm: Bist du wirklich sicher? (DIES KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN) | 117 | confirm: 'Bist du wirklich sicher? (DIES KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN)' |
118 | form_password: | 118 | form_password: |
119 | description: "Hier kannst du dein Kennwort ändern. Dieses sollte mindestens acht Zeichen enthalten." | 119 | description: "Hier kannst du dein Kennwort ändern. Dieses sollte mindestens acht Zeichen enthalten." |
120 | old_password_label: 'Altes Kennwort' | 120 | old_password_label: 'Altes Kennwort' |
@@ -178,7 +178,7 @@ entry: | |||
178 | number_of_tags: '{1}und ein anderer Tag|]1,Inf[und %count% andere Tags' | 178 | number_of_tags: '{1}und ein anderer Tag|]1,Inf[und %count% andere Tags' |
179 | reading_time_minutes_short: '%readingTime% min' | 179 | reading_time_minutes_short: '%readingTime% min' |
180 | reading_time_less_one_minute_short: '< 1 min' | 180 | reading_time_less_one_minute_short: '< 1 min' |
181 | original_article: 'Original' | 181 | original_article: 'Originalartikel' |
182 | toogle_as_read: 'Gelesen-Status ändern' | 182 | toogle_as_read: 'Gelesen-Status ändern' |
183 | toogle_as_star: 'Favoriten-Status ändern' | 183 | toogle_as_star: 'Favoriten-Status ändern' |
184 | delete: 'Löschen' | 184 | delete: 'Löschen' |
@@ -191,8 +191,8 @@ entry: | |||
191 | unread_label: 'Ungelesene' | 191 | unread_label: 'Ungelesene' |
192 | preview_picture_label: 'Vorschaubild vorhanden' | 192 | preview_picture_label: 'Vorschaubild vorhanden' |
193 | preview_picture_help: 'Vorschaubild' | 193 | preview_picture_help: 'Vorschaubild' |
194 | # is_public_label: 'Has a public link' | 194 | is_public_label: 'Hat einen öffentlichen Link' |
195 | # is_public_help: 'Public link' | 195 | is_public_help: 'Öffentlicher Link' |
196 | language_label: 'Sprache' | 196 | language_label: 'Sprache' |
197 | http_status_label: 'HTTP-Status' | 197 | http_status_label: 'HTTP-Status' |
198 | reading_time: | 198 | reading_time: |
@@ -228,7 +228,7 @@ entry: | |||
228 | label: 'Probleme?' | 228 | label: 'Probleme?' |
229 | description: 'Erscheint dieser Artikel falsch?' | 229 | description: 'Erscheint dieser Artikel falsch?' |
230 | edit_title: 'Titel ändern' | 230 | edit_title: 'Titel ändern' |
231 | original_article: 'original' | 231 | original_article: 'Originalartikel' |
232 | annotations_on_the_entry: '{0} Keine Anmerkungen|{1} Eine Anmerkung|]1,Inf[ %count% Anmerkungen' | 232 | annotations_on_the_entry: '{0} Keine Anmerkungen|{1} Eine Anmerkung|]1,Inf[ %count% Anmerkungen' |
233 | created_at: 'Erstellungsdatum' | 233 | created_at: 'Erstellungsdatum' |
234 | published_at: 'Erscheinungsdatum' | 234 | published_at: 'Erscheinungsdatum' |
@@ -246,10 +246,10 @@ entry: | |||
246 | url_label: 'URL' | 246 | url_label: 'URL' |
247 | save_label: 'Speichern' | 247 | save_label: 'Speichern' |
248 | public: | 248 | public: |
249 | shared_by_wallabag: "Dieser Artikel wurde von %username% mittels <a href='%wallabag_instance%'>wallabag</a> geteilt" | 249 | shared_by_wallabag: 'Dieser Artikel wurde von %username% mittels <a href="%wallabag_instance%">wallabag</a> geteilt' |
250 | confirm: | 250 | confirm: |
251 | delete: "Bist du sicher, dass du diesen Artikel löschen möchtest?" | 251 | delete: 'Bist du sicher, dass du diesen Artikel löschen möchtest?' |
252 | delete_tag: "Bist du sicher, dass du diesen Tag vom Artikel entfernen möchtest?" | 252 | delete_tag: 'Bist du sicher, dass du diesen Tag vom Artikel entfernen möchtest?' |
253 | 253 | ||
254 | about: | 254 | about: |
255 | page_title: 'Über' | 255 | page_title: 'Über' |
@@ -307,32 +307,32 @@ howto: | |||
307 | bookmarklet: | 307 | bookmarklet: |
308 | description: 'Ziehe diesen Link in deine Lesezeichenleiste:' | 308 | description: 'Ziehe diesen Link in deine Lesezeichenleiste:' |
309 | shortcuts: | 309 | shortcuts: |
310 | page_description: Dies sind die verfügbaren Tastenkürzel in wallabag. | 310 | page_description: 'Dies sind die verfügbaren Tastenkürzel in wallabag.' |
311 | shortcut: Tastenkürzel | 311 | shortcut: 'Tastenkürzel' |
312 | action: Aktion | 312 | action: 'Aktion' |
313 | all_pages_title: Tastenkürzel auf allen Seiten | 313 | all_pages_title: 'Tastenkürzel auf allen Seiten' |
314 | go_unread: Zu ungelesen gehen | 314 | go_unread: 'Zu ungelesen gehen' |
315 | go_starred: Zu Favoriten gehen | 315 | go_starred: 'Zu Favoriten gehen' |
316 | go_archive: Zu archivierten gehen | 316 | go_archive: 'Zu archivierten gehen' |
317 | go_all: Zu allen Artikel gehen | 317 | go_all: 'Zu allen Artikel gehen' |
318 | go_tags: Zu den Tags gehen | 318 | go_tags: 'Zu den Tags gehen' |
319 | go_config: Einstellungen öffnen | 319 | go_config: 'Einstellungen öffnen' |
320 | go_import: Import-Sektion öffnen | 320 | go_import: 'Import-Sektion öffnen' |
321 | go_developers: Zur Entwickler-Seite gehen | 321 | go_developers: 'Zur Entwickler-Seite gehen' |
322 | go_howto: Zum Howto gehen (diese Seite!) | 322 | go_howto: 'Zum Howto gehen (diese Seite!)' |
323 | go_logout: Abmelden | 323 | go_logout: 'Abmelden' |
324 | list_title: Tastenkürzel verfügbar auf den Listen-Seiten | 324 | list_title: 'Tastenkürzel verfügbar auf den Listen-Seiten' |
325 | search: Suche | 325 | search: 'Suche' |
326 | article_title: Tastenkürzel verfügbar auf der Artikel-Seite | 326 | article_title: 'Tastenkürzel verfügbar auf der Artikel-Seite' |
327 | open_original: Original-Artikel öffnen | 327 | open_original: 'Original-Artikel öffnen' |
328 | toggle_favorite: Favorit-Status für den Artikel ändern | 328 | toggle_favorite: 'Favorit-Status für den Artikel ändern' |
329 | toggle_archive: Archiviert-Status für den Artikel ändern | 329 | toggle_archive: 'Archiviert-Status für den Artikel ändern' |
330 | delete: Artikel löschen | 330 | delete: 'Artikel löschen' |
331 | material_title: Tastenkürzel des Material-Theme | 331 | material_title: 'Tastenkürzel des Material-Theme' |
332 | add_link: Neuen Link hinzufügen | 332 | add_link: 'Neuen Link hinzufügen' |
333 | hide_form: Aktuelles Formular verstecken (Suche oder neuer Link) | 333 | hide_form: 'Aktuelles Formular verstecken (Suche oder neuer Link)' |
334 | arrows_navigation: Durch Artikel navigieren | 334 | arrows_navigation: 'Durch Artikel navigieren' |
335 | open_article: Gewählten Artikel anzeigen | 335 | open_article: 'Gewählten Artikel anzeigen' |
336 | 336 | ||
337 | quickstart: | 337 | quickstart: |
338 | page_title: 'Schnelleinstieg' | 338 | page_title: 'Schnelleinstieg' |
@@ -483,7 +483,7 @@ developer: | |||
483 | field_id: 'Client-ID' | 483 | field_id: 'Client-ID' |
484 | field_secret: 'Client-Secret' | 484 | field_secret: 'Client-Secret' |
485 | back: 'Zurück' | 485 | back: 'Zurück' |
486 | read_howto: 'Lese des How-To zu "Wie erstelle ich meine erste Anwendung"' | 486 | read_howto: 'Lese das How-To zu "Wie erstelle ich meine erste Anwendung"' |
487 | howto: | 487 | howto: |
488 | page_title: 'API-Client-Verwaltung > Wie erstelle ich meine erste Anwendung' | 488 | page_title: 'API-Client-Verwaltung > Wie erstelle ich meine erste Anwendung' |
489 | description: | 489 | description: |
@@ -498,16 +498,16 @@ developer: | |||
498 | back: 'Zurück' | 498 | back: 'Zurück' |
499 | 499 | ||
500 | user: | 500 | user: |
501 | page_title: Benutzerverwaltung | 501 | page_title: 'Benutzerverwaltung' |
502 | new_user: Erstelle einen neuen Benutzer | 502 | new_user: 'Erstelle einen neuen Benutzer' |
503 | edit_user: Bearbeite einen existierenden Benutzer | 503 | edit_user: 'Bearbeite einen existierenden Benutzer' |
504 | description: "Hier kannst du alle Benutzer verwalten (erstellen, bearbeiten und löschen)" | 504 | description: "Hier kannst du alle Benutzer verwalten (erstellen, bearbeiten und löschen)" |
505 | list: | 505 | list: |
506 | actions: Aktionen | 506 | actions: 'Aktionen' |
507 | edit_action: Bearbeiten | 507 | edit_action: 'Bearbeiten' |
508 | yes: Ja | 508 | yes: 'Ja' |
509 | no: Nein | 509 | no: 'Nein' |
510 | create_new_one: Erstelle einen neuen Benutzer | 510 | create_new_one: 'Erstelle einen neuen Benutzer' |
511 | form: | 511 | form: |
512 | username_label: 'Benutzername' | 512 | username_label: 'Benutzername' |
513 | name_label: 'Name' | 513 | name_label: 'Name' |
@@ -517,52 +517,52 @@ user: | |||
517 | email_label: 'E-Mail-Adresse' | 517 | email_label: 'E-Mail-Adresse' |
518 | enabled_label: 'Aktiviert' | 518 | enabled_label: 'Aktiviert' |
519 | last_login_label: 'Letzter Login' | 519 | last_login_label: 'Letzter Login' |
520 | twofactor_label: Zwei-Faktor-Authentifizierung | 520 | twofactor_label: 'Zwei-Faktor-Authentifizierung' |
521 | save: Speichern | 521 | save: 'Speichern' |
522 | delete: Löschen | 522 | delete: 'Löschen' |
523 | delete_confirm: Bist du sicher? | 523 | delete_confirm: 'Bist du sicher?' |
524 | back_to_list: Zurück zur Liste | 524 | back_to_list: 'Zurück zur Liste' |
525 | search: | 525 | search: |
526 | placeholder: Filtere nach Benutzer oder E-Mail-Adresse | 526 | placeholder: 'Filtere nach Benutzer oder E-Mail-Adresse' |
527 | 527 | ||
528 | site_credential: | 528 | site_credential: |
529 | # page_title: Site credentials management | 529 | page_title: 'Verwaltung Zugangsdaten' |
530 | # new_site_credential: Create a credential | 530 | new_site_credential: 'Zugangsdaten anlegen' |
531 | # edit_site_credential: Edit an existing credential | 531 | edit_site_credential: 'Bestehende Zugangsdaten bearbeiten' |
532 | # description: "Here you can manage all credentials for sites which required them (create, edit and delete), like a paywall, an authentication, etc." | 532 | description: 'Hier kannst du alle Zugangsdaten für Webseiten verwalten, die diese benötigen (anlegen, bearbeiten und löschen), wie z. B. eine Paywall, eine Authentifizierung, etc.' |
533 | list: | 533 | list: |
534 | actions: Aktionen | 534 | actions: 'Aktionen' |
535 | edit_action: Bearbeiten | 535 | edit_action: 'Bearbeiten' |
536 | yes: Ja | 536 | yes: 'Ja' |
537 | no: Nein | 537 | no: 'Nein' |
538 | # create_new_one: Create a new credential | 538 | create_new_one: 'Einen neuen Seitenzugang anlegen' |
539 | form: | 539 | form: |
540 | # username_label: 'Username' | 540 | username_label: 'Benutzername' |
541 | # host_label: 'Host' | 541 | host_label: 'Host' |
542 | # password_label: 'Password' | 542 | password_label: 'Passwort' |
543 | save: Speichern | 543 | save: 'Speichern' |
544 | delete: Löschen | 544 | delete: 'Löschen' |
545 | delete_confirm: Bist du sicher? | 545 | delete_confirm: 'Bist du sicher?' |
546 | back_to_list: Zurück zur Liste | 546 | back_to_list: 'Zurück zur Liste' |
547 | 547 | ||
548 | error: | 548 | error: |
549 | page_title: Ein Fehler ist aufgetreten | 549 | page_title: 'Ein Fehler ist aufgetreten' |
550 | 550 | ||
551 | flashes: | 551 | flashes: |
552 | config: | 552 | config: |
553 | notice: | 553 | notice: |
554 | config_saved: 'Konfiguration gespeichert.' | 554 | config_saved: 'Konfiguration gespeichert.' |
555 | password_updated: 'Kennwort aktualisiert' | 555 | password_updated: 'Kennwort aktualisiert' |
556 | password_not_updated_demo: "Im Testmodus kannst du das Kennwort nicht ändern." | 556 | password_not_updated_demo: 'Im Testmodus kannst du das Kennwort nicht ändern.' |
557 | user_updated: 'Information aktualisiert' | 557 | user_updated: 'Information aktualisiert' |
558 | rss_updated: 'RSS-Informationen aktualisiert' | 558 | rss_updated: 'RSS-Informationen aktualisiert' |
559 | tagging_rules_updated: 'Tagging-Regeln aktualisiert' | 559 | tagging_rules_updated: 'Tagging-Regeln aktualisiert' |
560 | tagging_rules_deleted: 'Tagging-Regel gelöscht' | 560 | tagging_rules_deleted: 'Tagging-Regel gelöscht' |
561 | rss_token_updated: 'RSS-Token aktualisiert' | 561 | rss_token_updated: 'RSS-Token aktualisiert' |
562 | annotations_reset: Anmerkungen zurücksetzen | 562 | annotations_reset: 'Anmerkungen zurücksetzen' |
563 | tags_reset: Tags zurücksetzen | 563 | tags_reset: 'Tags zurücksetzen' |
564 | entries_reset: Einträge zurücksetzen | 564 | entries_reset: 'Einträge zurücksetzen' |
565 | archived_reset: Archiverte Einträge zurücksetzen | 565 | archived_reset: 'Archiverte Einträge zurücksetzen' |
566 | entry: | 566 | entry: |
567 | notice: | 567 | notice: |
568 | entry_already_saved: 'Eintrag bereits am %date% gespeichert' | 568 | entry_already_saved: 'Eintrag bereits am %date% gespeichert' |
@@ -599,6 +599,6 @@ flashes: | |||
599 | deleted: 'Benutzer "%username%" gelöscht' | 599 | deleted: 'Benutzer "%username%" gelöscht' |
600 | site_credential: | 600 | site_credential: |
601 | notice: | 601 | notice: |
602 | # added: 'Site credential for "%host%" added' | 602 | added: 'Zugangsdaten für "%host%" hinzugefügt' |
603 | # updated: 'Site credential for "%host%" updated' | 603 | updated: 'Zugangsdaten für "%host%" aktualisiert' |
604 | # deleted: 'Site credential for "%host%" deleted' | 604 | deleted: 'Zugangsdaten für "%host%" gelöscht' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml index c2b49247..5e1f692e 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml | |||
@@ -1,8 +1,8 @@ | |||
1 | security: | 1 | security: |
2 | login: | 2 | login: |
3 | page_title: 'Benvenguda sus wallabag !' | 3 | page_title: 'Vos desirem la benvenguda a wallabag !' |
4 | keep_logged_in: 'Demorar connectat' | 4 | keep_logged_in: 'Demorar connectat' |
5 | forgot_password: 'Senhal oblidat ?' | 5 | forgot_password: 'Senhal oblidat ?' |
6 | submit: 'Se connectar' | 6 | submit: 'Se connectar' |
7 | register: 'Crear un compte' | 7 | register: 'Crear un compte' |
8 | username: "Nom d'utilizaire" | 8 | username: "Nom d'utilizaire" |
@@ -11,7 +11,7 @@ security: | |||
11 | resetting: | 11 | resetting: |
12 | description: "Picatz vòstra adreça de corrièl çai-jos, vos mandarem las instruccions per reïnicializar vòstre senhal." | 12 | description: "Picatz vòstra adreça de corrièl çai-jos, vos mandarem las instruccions per reïnicializar vòstre senhal." |
13 | register: | 13 | register: |
14 | page_title: 'Se crear un compte' | 14 | page_title: 'Crear un compte' |
15 | go_to_account: 'Anar a vòstre compte' | 15 | go_to_account: 'Anar a vòstre compte' |
16 | 16 | ||
17 | menu: | 17 | menu: |
@@ -47,7 +47,7 @@ footer: | |||
47 | social: 'Social' | 47 | social: 'Social' |
48 | powered_by: 'propulsat per' | 48 | powered_by: 'propulsat per' |
49 | about: 'A prepaus' | 49 | about: 'A prepaus' |
50 | stats: "Dempuèi %user_creation% avètz legit %nb_archives% articles. Es a l'entorn de %per_day% per jorn !" | 50 | stats: "Dempuèi %user_creation% avètz legit %nb_archives% articles. Es a l'entorn de %per_day% per jorn !" |
51 | 51 | ||
52 | config: | 52 | config: |
53 | page_title: 'Configuracion' | 53 | page_title: 'Configuracion' |
@@ -66,16 +66,16 @@ config: | |||
66 | language_label: 'Lenga' | 66 | language_label: 'Lenga' |
67 | reading_speed: | 67 | reading_speed: |
68 | label: 'Velocitat de lectura' | 68 | label: 'Velocitat de lectura' |
69 | help_message: 'Podètz utilizar una aisina en linha per estimar vòstra velocitat de lectura :' | 69 | help_message: 'Podètz utilizar una aisina en linha per estimar vòstra velocitat de lectura :' |
70 | 100_word: "Legissi a l'entorn de 100 mots per minuta" | 70 | 100_word: "Legissi a l'entorn de 100 mots per minuta" |
71 | 200_word: "Legissi a l'entorn de 200 mots per minuta" | 71 | 200_word: "Legissi a l'entorn de 200 mots per minuta" |
72 | 300_word: "Legissi a l'entorn de 300 mots per minuta" | 72 | 300_word: "Legissi a l'entorn de 300 mots per minuta" |
73 | 400_word: "Legissi a l'entorn de 400 mots per minuta" | 73 | 400_word: "Legissi a l'entorn de 400 mots per minuta" |
74 | action_mark_as_read: | 74 | action_mark_as_read: |
75 | label: 'Ont volètz èsser menat aprèp aver marcat un article coma legit ?' | 75 | label: 'Ont volètz èsser menat aprèp aver marcat un article coma legit ?' |
76 | redirect_homepage: "A la pagina d'acuèlh" | 76 | redirect_homepage: "A la pagina d’acuèlh" |
77 | redirect_current_page: 'A la pagina actuala' | 77 | redirect_current_page: 'A la pagina actuala' |
78 | pocket_consumer_key_label: Clau d'autentificacion Pocket per importar las donadas | 78 | pocket_consumer_key_label: Clau d’autentificacion Pocket per importar las donadas |
79 | android_configuration: Configuratz vòstra aplicacion Android | 79 | android_configuration: Configuratz vòstra aplicacion Android |
80 | android_instruction: "Tocatz aquí per garnir las informacions de l'aplicacion Android" | 80 | android_instruction: "Tocatz aquí per garnir las informacions de l'aplicacion Android" |
81 | help_theme: "wallabag es personalizable. Podètz causir vòstre tèma preferit aquí." | 81 | help_theme: "wallabag es personalizable. Podètz causir vòstre tèma preferit aquí." |
@@ -105,7 +105,7 @@ config: | |||
105 | delete: | 105 | delete: |
106 | title: Suprimir mon compte (Mèfi zòna perilhosa) | 106 | title: Suprimir mon compte (Mèfi zòna perilhosa) |
107 | description: Se confirmatz la supression de vòstre compte, TOTES vòstres articles, TOTAS vòstras etiquetas, TOTAS vòstras anotacions e vòstre compte seràn suprimits per totjorn. E aquò es IRREVERSIBLE. Puèi seretz desconnectat. | 107 | description: Se confirmatz la supression de vòstre compte, TOTES vòstres articles, TOTAS vòstras etiquetas, TOTAS vòstras anotacions e vòstre compte seràn suprimits per totjorn. E aquò es IRREVERSIBLE. Puèi seretz desconnectat. |
108 | confirm: Sètz vertadièrament segur ? (ES IRREVERSIBLE) | 108 | confirm: Sètz vertadièrament segur ? (AQUÒ ES IRREVERSIBLE) |
109 | button: Suprimir mon compte | 109 | button: Suprimir mon compte |
110 | reset: | 110 | reset: |
111 | title: Zòna de reïnicializacion (Mèfi zòna perilhosa) | 111 | title: Zòna de reïnicializacion (Mèfi zòna perilhosa) |
@@ -114,7 +114,7 @@ config: | |||
114 | tags: Levar TOTAS las etiquetas | 114 | tags: Levar TOTAS las etiquetas |
115 | entries: Levar TOTES los articles | 115 | entries: Levar TOTES los articles |
116 | archived: Levar TOTES los articles archivats | 116 | archived: Levar TOTES los articles archivats |
117 | confirm: Sètz vertadièrament segur ? (ES IRREVERSIBLE) | 117 | confirm: Sètz vertadièrament segur ? (AQUÒ ES IRREVERSIBLE) |
118 | form_password: | 118 | form_password: |
119 | description: "Podètz cambiar vòstre senhal aquí. Vòstre senhal deu èsser long d'almens 8 caractèrs." | 119 | description: "Podètz cambiar vòstre senhal aquí. Vòstre senhal deu èsser long d'almens 8 caractèrs." |
120 | old_password_label: 'Senhal actual' | 120 | old_password_label: 'Senhal actual' |
@@ -129,12 +129,12 @@ config: | |||
129 | tags_label: 'Etiquetas' | 129 | tags_label: 'Etiquetas' |
130 | faq: | 130 | faq: |
131 | title: 'FAQ' | 131 | title: 'FAQ' |
132 | tagging_rules_definition_title: "Qué significa las règlas d'etiquetas automaticas ?" | 132 | tagging_rules_definition_title: "Qué significa las règlas d'etiquetas automaticas ?" |
133 | tagging_rules_definition_description: "Son de règlas utilizadas per wallabad per classar automaticament vòstres novèls articles.<br />Cada còp qu'un novèl article es apondut, totas las règlas d'etiquetas automaticas seràn utilizadas per ajustar d'etiquetas qu'avètz configuradas, en vos esparnhant l'esfòrç de classificar vòstres articles manualament." | 133 | tagging_rules_definition_description: "Son de règlas utilizadas per wallabad per classar automaticament vòstres novèls articles.<br />Cada còp qu'un novèl article es apondut, totas las règlas d'etiquetas automaticas seràn utilizadas per ajustar d'etiquetas qu'avètz configuradas, en vos esparnhant l'esfòrç de classificar vòstres articles manualament." |
134 | how_to_use_them_title: 'Cossí las utilizar ?' | 134 | how_to_use_them_title: 'Cossí las utilizar ?' |
135 | how_to_use_them_description: "Imaginem que volètz atribuir als novèls article l'etiqueta « <i>lectura corta</i> » quand lo temps per legir es inferior a 3 minutas.<br />Dins aquel cas, deuriatz metre « readingTime <= 3 » dins lo camp <i>Règla</i> e « <i>lectura corta</i> » dins lo camp <i>Etiqueta</i>.<br />Mai d'una etiquetas pòdon èsser apondudas simultanèament ne las separant amb de virgulas : « <i>lectura corta, per ligir</i> »<br />De règlas complèxas pòdon èsser creadas en emplegant d'operators predefinits : se « <i>readingTime >= 5 AND domainName = \"github.com\"</i> » alara atribuir las etiquetas « <i>lectura longa, github </i> »" | 135 | how_to_use_them_description: "Imaginem que volètz atribuir als novèls article l'etiqueta « <i>lectura corta</i> » quand lo temps per legir es inferior a 3 minutas.<br />Dins aquel cas, deuriatz metre « readingTime <= 3 » dins lo camp <i>Règla</i> e « <i>lectura corta</i> » dins lo camp <i>Etiqueta</i>.<br />Mai d'una etiquetas pòdon èsser apondudas simultanèament ne las separant amb de virgulas : « <i>lectura corta, per ligir</i> »<br />De règlas complèxas pòdon èsser creadas n'emplegant d'operators predefinits : se « <i>readingTime >= 5 AND domainName = \"github.com\"</i> » alara atribuir las etiquetas « <i>lectura longa, github </i> »" |
136 | variables_available_title: 'Quinas variablas e operators pòdi utilizar per escriure de règlas ?' | 136 | variables_available_title: 'Quinas variablas e operators pòdi utilizar per escriure de règlas ?' |
137 | variables_available_description: "Las variablas e operators seguents pòdon èsser utilizats per escriure de règlas d'etiquetas automaticas :" | 137 | variables_available_description: "Las variablas e operators seguents pòdon èsser utilizats per escriure de règlas d'etiquetas automaticas : " |
138 | meaning: 'Significacion' | 138 | meaning: 'Significacion' |
139 | variable_description: | 139 | variable_description: |
140 | label: 'Variabla' | 140 | label: 'Variabla' |
@@ -157,8 +157,8 @@ config: | |||
157 | not_equal_to: 'Diferent de…' | 157 | not_equal_to: 'Diferent de…' |
158 | or: "Una règla O l'autra" | 158 | or: "Una règla O l'autra" |
159 | and: "Una règla E l'autra" | 159 | and: "Una règla E l'autra" |
160 | matches: 'Teste se un <i>subjècte</i> correspond a una <i>recèrca</i> (non sensibla a la cassa).<br />Exemple : <code>title matches \"football\"</code>' | 160 | matches: 'Teste se un <i>subjècte</i> correspond a una <i>recèrca</i> (non sensibla a la cassa).<br />Exemple : <code>title matches \"football\"</code>' |
161 | notmatches: 'Teste se <i>subjècte</i> correspond pas a una <i>recèrca</i> (sensibla a la cassa).<br />Example : <code>title notmatches "football"</code>' | 161 | notmatches: 'Teste se <i>subjècte</i> correspond pas a una <i>recèrca</i> (sensibla a la cassa).<br />Example : <code>title notmatches "football"</code>' |
162 | 162 | ||
163 | entry: | 163 | entry: |
164 | page_titles: | 164 | page_titles: |
@@ -166,15 +166,15 @@ entry: | |||
166 | starred: 'Articles favorits' | 166 | starred: 'Articles favorits' |
167 | archived: 'Articles legits' | 167 | archived: 'Articles legits' |
168 | filtered: 'Articles filtrats' | 168 | filtered: 'Articles filtrats' |
169 | filtered_tags: 'Articles filtrats per etiquetas :' | 169 | filtered_tags: 'Articles filtrats per etiquetas :' |
170 | filtered_search: 'Articles filtrats per recèrca :' | 170 | filtered_search: 'Articles filtrats per recèrca :' |
171 | untagged: 'Articles sens etiqueta' | 171 | untagged: 'Articles sens etiqueta' |
172 | all: 'Totes los articles' | 172 | all: 'Totes los articles' |
173 | list: | 173 | list: |
174 | number_on_the_page: "{0} I a pas cap d'article.|{1} I a un article.|]1,Inf[ I a %count% articles." | 174 | number_on_the_page: "{0} I a pas cap d'article.|{1} I a un article.|]1,Inf[ I a %count% articles." |
175 | reading_time: 'durada de lectura' | 175 | reading_time: 'durada de lectura' |
176 | reading_time_minutes: 'durada de lectura : %readingTime% min' | 176 | reading_time_minutes: 'durada de lectura : %readingTime% min' |
177 | reading_time_less_one_minute: 'durada de lectura : < 1 min' | 177 | reading_time_less_one_minute: 'durada de lectura : < 1 min' |
178 | number_of_tags: '{1}e una autra etiqueta|]1,Inf[e %count% autras etiquetas' | 178 | number_of_tags: '{1}e una autra etiqueta|]1,Inf[e %count% autras etiquetas' |
179 | reading_time_minutes_short: '%readingTime% min' | 179 | reading_time_minutes_short: '%readingTime% min' |
180 | reading_time_less_one_minute_short: '< 1 min' | 180 | reading_time_less_one_minute_short: '< 1 min' |
@@ -225,8 +225,8 @@ entry: | |||
225 | export: 'Exportar' | 225 | export: 'Exportar' |
226 | print: 'Imprimir' | 226 | print: 'Imprimir' |
227 | problem: | 227 | problem: |
228 | label: 'Un problèma ?' | 228 | label: 'Un problèma ?' |
229 | description: "Marca mal la presentacion d'aqueste article ?" | 229 | description: "Marca mal la presentacion d'aqueste article ?" |
230 | edit_title: 'Modificar lo títol' | 230 | edit_title: 'Modificar lo títol' |
231 | original_article: 'original' | 231 | original_article: 'original' |
232 | annotations_on_the_entry: "{0} Pas cap d'anotacion|{1} Una anotacion|]1,Inf[ %count% anotacions" | 232 | annotations_on_the_entry: "{0} Pas cap d'anotacion|{1} Una anotacion|]1,Inf[ %count% anotacions" |
@@ -239,7 +239,7 @@ entry: | |||
239 | form_new: | 239 | form_new: |
240 | url_label: Url | 240 | url_label: Url |
241 | search: | 241 | search: |
242 | placeholder: 'Qué cercatz ?' | 242 | placeholder: 'Qué cercatz ?' |
243 | edit: | 243 | edit: |
244 | page_title: 'Modificar un article' | 244 | page_title: 'Modificar un article' |
245 | title_label: 'Títol' | 245 | title_label: 'Títol' |
@@ -248,8 +248,8 @@ entry: | |||
248 | public: | 248 | public: |
249 | shared_by_wallabag: "Aqueste article es estat partejat per <a href='%wallabag_instance%'>wallabag</a>" | 249 | shared_by_wallabag: "Aqueste article es estat partejat per <a href='%wallabag_instance%'>wallabag</a>" |
250 | confirm: | 250 | confirm: |
251 | delete: "Sètz segur de voler suprimir aqueste article ?" | 251 | delete: "Sètz segur de voler suprimir aqueste article ?" |
252 | delete_tag: "Sètz segur de voler levar aquesta etiqueta de l'article ?" | 252 | delete_tag: "Sètz segur de voler levar aquesta etiqueta de l'article ?" |
253 | 253 | ||
254 | about: | 254 | about: |
255 | page_title: 'A prepaus' | 255 | page_title: 'A prepaus' |
@@ -271,27 +271,27 @@ about: | |||
271 | bug_reports: 'Rapòrt de bugs' | 271 | bug_reports: 'Rapòrt de bugs' |
272 | support: "<a href=\"https://github.com/wallabag/wallabag/issues\">sur GitHub</a>" | 272 | support: "<a href=\"https://github.com/wallabag/wallabag/issues\">sur GitHub</a>" |
273 | helping: | 273 | helping: |
274 | description: 'wallabag es a gratuit e opensource. Nos podètz ajudar :' | 274 | description: 'wallabag es a gratuit e opensource. Nos podètz ajudar : ' |
275 | by_contributing: 'en ajudant lo projècte :' | 275 | by_contributing: 'en participant lo projècte : ' |
276 | by_contributing_2: 'un bilhet recensa totes nòstres besonhs' | 276 | by_contributing_2: 'un bilhet recensa totes nòstres besonhs' |
277 | by_paypal: 'via Paypal' | 277 | by_paypal: 'via Paypal' |
278 | contributors: | 278 | contributors: |
279 | description: "Mercés als contributors de l'aplicacion web de wallabag" | 279 | description: "Mercés als contributors de l'aplicacion web de wallabag" |
280 | third_party: | 280 | third_party: |
281 | description: 'Aquí la lista de las dependéncias utilizadas dins wallabag (e lor licéncia) :' | 281 | description: 'Aquí la lista de las dependéncias utilizadas dins wallabag (e lor licéncia) :' |
282 | package: 'Dependéncia' | 282 | package: 'Dependéncia' |
283 | license: 'Licéncia' | 283 | license: 'Licéncia' |
284 | 284 | ||
285 | howto: | 285 | howto: |
286 | page_title: 'Ajuda' | 286 | page_title: 'Ajuda' |
287 | page_description: "I a mai d'un biais d'enregistrar un article :" | 287 | page_description: "I a mai d'un biais d'enregistrar un article :" |
288 | tab_menu: | 288 | tab_menu: |
289 | add_link: "Ajustar un ligam" | 289 | add_link: "Ajustar un ligam" |
290 | shortcuts: "Utilizar d'acorchis" | 290 | shortcuts: "Utilizar d'acorchis" |
291 | top_menu: | 291 | top_menu: |
292 | browser_addons: 'Extensions de navigator' | 292 | browser_addons: 'Extensions de navigator' |
293 | mobile_apps: 'Aplicacions mobil' | 293 | mobile_apps: 'Aplicacions mobil' |
294 | bookmarklet: 'Bookmarklet' | 294 | bookmarklet: 'Marcapaginas' |
295 | form: | 295 | form: |
296 | description: 'Gràcias a aqueste formulari' | 296 | description: 'Gràcias a aqueste formulari' |
297 | browser_addons: | 297 | browser_addons: |
@@ -305,7 +305,7 @@ howto: | |||
305 | ios: 'sus iTunes Store' | 305 | ios: 'sus iTunes Store' |
306 | windows: 'sus Microsoft Store' | 306 | windows: 'sus Microsoft Store' |
307 | bookmarklet: | 307 | bookmarklet: |
308 | description: 'Lisatz-depausatz aqueste ligam dins vòstra barra de favorits :' | 308 | description: 'Lisatz-depausatz aqueste ligam dins vòstra barra de favorits :' |
309 | shortcuts: | 309 | shortcuts: |
310 | page_description: Aquí son los acorchis disponibles dins wallabag. | 310 | page_description: Aquí son los acorchis disponibles dins wallabag. |
311 | shortcut: Acorchis | 311 | shortcut: Acorchis |
@@ -319,7 +319,7 @@ howto: | |||
319 | go_config: Anar a la config | 319 | go_config: Anar a la config |
320 | go_import: Anar per importar | 320 | go_import: Anar per importar |
321 | go_developers: Anar al canton desvolopaires | 321 | go_developers: Anar al canton desvolopaires |
322 | go_howto: Anar a l'ajuda (aquesta quita pagina !) | 322 | go_howto: Anar a l'ajuda (aquesta quita pagina !) |
323 | go_logout: Desconnexion | 323 | go_logout: Desconnexion |
324 | list_title: Acorchis disponibles dins las paginas de lista | 324 | list_title: Acorchis disponibles dins las paginas de lista |
325 | search: Afichar lo formulari de recèrca | 325 | search: Afichar lo formulari de recèrca |
@@ -338,9 +338,9 @@ quickstart: | |||
338 | page_title: 'Per ben començar' | 338 | page_title: 'Per ben començar' |
339 | more: 'Mai…' | 339 | more: 'Mai…' |
340 | intro: | 340 | intro: |
341 | title: 'Benvenguda sus wallabag !' | 341 | title: 'Benvenguda sus wallabag !' |
342 | paragraph_1: "Anem vos guidar per far lo torn de la proprietat e vos presentar unas foncionalitats que vos poirián interessar per vos apropriar aquesta aisina." | 342 | paragraph_1: "Anem vos guidar per far lo torn de la proprietat e vos presentar unas foncionalitats que vos poirián interessar per vos apropriar aquesta aisina." |
343 | paragraph_2: 'Seguètz-nos !' | 343 | paragraph_2: 'Seguètz-nos !' |
344 | configure: | 344 | configure: |
345 | title: "Configuratz l'aplicacion" | 345 | title: "Configuratz l'aplicacion" |
346 | description: "Per fin d'aver una aplicacion que vos va ben, anatz veire la configuracion de wallabag." | 346 | description: "Per fin d'aver una aplicacion que vos va ben, anatz veire la configuracion de wallabag." |
@@ -349,7 +349,7 @@ quickstart: | |||
349 | tagging_rules: 'Escrivètz de règlas per classar automaticament vòstres articles' | 349 | tagging_rules: 'Escrivètz de règlas per classar automaticament vòstres articles' |
350 | admin: | 350 | admin: |
351 | title: 'Administracion' | 351 | title: 'Administracion' |
352 | description: "En qualitat d'adminitrastor sus wallabag, avètz de privilègis que vos permeton de :" | 352 | description: "En qualitat d'adminitrastor sus wallabag, avètz de privilègis que vos permeton de :" |
353 | new_user: 'Crear un novèl utilizaire' | 353 | new_user: 'Crear un novèl utilizaire' |
354 | analytics: 'Configurar las estadisticas' | 354 | analytics: 'Configurar las estadisticas' |
355 | sharing: 'Activar de paramètres de partatge' | 355 | sharing: 'Activar de paramètres de partatge' |
@@ -359,10 +359,10 @@ quickstart: | |||
359 | title: 'Primièrs passes' | 359 | title: 'Primièrs passes' |
360 | description: "Ara wallabag es ben configurat, es lo moment d'archivar lo web. Podètz clicar sul signe + a man drecha amont per ajustar un ligam." | 360 | description: "Ara wallabag es ben configurat, es lo moment d'archivar lo web. Podètz clicar sul signe + a man drecha amont per ajustar un ligam." |
361 | new_article: 'Ajustatz vòstre primièr article' | 361 | new_article: 'Ajustatz vòstre primièr article' |
362 | unread_articles: 'E recaptatz-lo !' | 362 | unread_articles: 'E recaptatz-lo !' |
363 | migrate: | 363 | migrate: |
364 | title: 'Migrar dempuèi un servici existent' | 364 | title: 'Migrar dempuèi un servici existent' |
365 | description: "Sètz un ancian utilizaire d'un servici existent ? Vos ajudarem a trapar vòstras donadas sus wallabag." | 365 | description: "Sètz un ancian utilizaire d'un servici existent ? Vos ajudarem a trapar vòstras donadas sus wallabag." |
366 | pocket: 'Migrar dempuèi Pocket' | 366 | pocket: 'Migrar dempuèi Pocket' |
367 | wallabag_v1: 'Migrar dempuèi wallabag v1' | 367 | wallabag_v1: 'Migrar dempuèi wallabag v1' |
368 | wallabag_v2: 'Migrar dempuèi wallabag v2' | 368 | wallabag_v2: 'Migrar dempuèi wallabag v2' |
@@ -370,7 +370,7 @@ quickstart: | |||
370 | instapaper: 'Migrar dempuèi Instapaper' | 370 | instapaper: 'Migrar dempuèi Instapaper' |
371 | developer: | 371 | developer: |
372 | title: 'Pels desvolopaires' | 372 | title: 'Pels desvolopaires' |
373 | description: 'Avèm tanben pensat als desvolopaires : Docker, API, traduccions, etc.' | 373 | description: 'Avèm tanben pensat als desvolopaires : Docker, API, traduccions, etc.' |
374 | create_application: 'Crear vòstra aplicacion tèrça' | 374 | create_application: 'Crear vòstra aplicacion tèrça' |
375 | use_docker: 'Utilizar Docker per installar wallabag' | 375 | use_docker: 'Utilizar Docker per installar wallabag' |
376 | docs: | 376 | docs: |
@@ -379,8 +379,8 @@ quickstart: | |||
379 | annotate: 'Anotar vòstre article' | 379 | annotate: 'Anotar vòstre article' |
380 | export: 'Convertissètz vòstres articles en ePub o en PDF' | 380 | export: 'Convertissètz vòstres articles en ePub o en PDF' |
381 | search_filters: "Aprenètz a utilizar lo motor de recèrca e los filtres per retrobar l'article que vos interèssa" | 381 | search_filters: "Aprenètz a utilizar lo motor de recèrca e los filtres per retrobar l'article que vos interèssa" |
382 | fetching_errors: "Qué far se mon article es pas recuperat coma cal ?" | 382 | fetching_errors: "Qué far se mon article es pas recuperat coma cal ?" |
383 | all_docs: "E encara plen de causas mai !" | 383 | all_docs: "E encara plen de causas mai !" |
384 | support: | 384 | support: |
385 | title: 'Assisténcia' | 385 | title: 'Assisténcia' |
386 | description: 'Perque avètz benlèu besonh de nos pausar una question, sèm disponibles per vosautres.' | 386 | description: 'Perque avètz benlèu besonh de nos pausar una question, sèm disponibles per vosautres.' |
@@ -401,10 +401,10 @@ import: | |||
401 | page_title: 'Importar' | 401 | page_title: 'Importar' |
402 | page_description: "Benvenguda sus l'aisina de migracion de wallabag. Causissètz çai-jos lo servici dempuèi lo qual volètz migrar." | 402 | page_description: "Benvenguda sus l'aisina de migracion de wallabag. Causissètz çai-jos lo servici dempuèi lo qual volètz migrar." |
403 | action: | 403 | action: |
404 | import_contents: 'Importar los contenguts' | 404 | import_contents: 'Importar lo contengut' |
405 | form: | 405 | form: |
406 | mark_as_read_title: 'Tot marcar coma legit ?' | 406 | mark_as_read_title: 'O marcar tot coma legit ?' |
407 | mark_as_read_label: 'Marcar tot los contenguts importats coma legits' | 407 | mark_as_read_label: 'Marcar tot lo contengut importats coma legit' |
408 | file_label: 'Fichièr' | 408 | file_label: 'Fichièr' |
409 | save_label: 'Importar lo fichièr' | 409 | save_label: 'Importar lo fichièr' |
410 | pocket: | 410 | pocket: |
@@ -428,7 +428,7 @@ import: | |||
428 | description: "Aquesta aisina importarà totas vòstres articles de Readability. Sus la pagina de l'aisina (https://www.readability.com/tools/), clicatz sus \"Export your data\" dins la seccion \"Data Export\". Recebretz un corrièl per telecargar un json (qu'acaba pas amb un .json de fach)." | 428 | description: "Aquesta aisina importarà totas vòstres articles de Readability. Sus la pagina de l'aisina (https://www.readability.com/tools/), clicatz sus \"Export your data\" dins la seccion \"Data Export\". Recebretz un corrièl per telecargar un json (qu'acaba pas amb un .json de fach)." |
429 | how_to: "Mercés de seleccionar vòstre Readability fichièr e de clicar sul boton dejós per lo telecargar e l'importar." | 429 | how_to: "Mercés de seleccionar vòstre Readability fichièr e de clicar sul boton dejós per lo telecargar e l'importar." |
430 | worker: | 430 | worker: |
431 | enabled: "L'importacion se fa de manièra asincròna. Un còp l'importacion lançada, una aisina extèrna s'ocuparà dels messatges un per un. Lo servici actual es : " | 431 | enabled: "L'importacion se fa de manièra asincròna. Un còp l'importacion lançada, una aisina extèrna s'ocuparà dels articles un per un. Lo servici actual es : " |
432 | download_images_warning: "Avètz activat lo telecargament de los imatges de vòstres articles. Combinat amb l'importacion classica, aquò pòt tardar un long moment (o benlèu fracassar). <strong>Recomandem fòrtament</strong> l'activacion de l'importacion asincròna per evitar las errors." | 432 | download_images_warning: "Avètz activat lo telecargament de los imatges de vòstres articles. Combinat amb l'importacion classica, aquò pòt tardar un long moment (o benlèu fracassar). <strong>Recomandem fòrtament</strong> l'activacion de l'importacion asincròna per evitar las errors." |
433 | firefox: | 433 | firefox: |
434 | page_title: 'Importar > Firefox' | 434 | page_title: 'Importar > Firefox' |
@@ -436,7 +436,7 @@ import: | |||
436 | how_to: "Mercés de causir lo fichièr de salvagarda e de clicar sul boton dejós per l'importar. Notatz que lo tractament pòt durar un moment ja que totes los articles an d'èsser recuperats." | 436 | how_to: "Mercés de causir lo fichièr de salvagarda e de clicar sul boton dejós per l'importar. Notatz que lo tractament pòt durar un moment ja que totes los articles an d'èsser recuperats." |
437 | chrome: | 437 | chrome: |
438 | page_title: 'Importar > Chrome' | 438 | page_title: 'Importar > Chrome' |
439 | description: "Aquesta aisina importarà totas vòstres favorits de Chrome. L'emplaçament del fichièr depend de vòstre sistèma operatiu : <ul><li>Sus Linux, anatz al dorsièr <code>~/.config/chromium/Default/</code></li><li>Sus Windows, deu èsser dins <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code></li><li>sus OS X, deu èsser dins <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Un còp enlà, copiatz lo fichièr de favorits dins un endrech que volètz.<em><br>Notatz que s'avètz Chromium al lòc de Chrome, vos cal cambiar lo camin segon aquesta situacion.</em></p>" | 439 | description: "Aquesta aisina importarà totas vòstres favorits de Chrome. L'emplaçament del fichièr depend de vòstre sistèma operatiu : <ul><li>Sus Linux, anatz al dorsièr <code>~/.config/chromium/Default/</code></li><li>Sus Windows, deu èsser dins <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code></li><li>sus OS X, deu èsser dins <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Un còp enlà, copiatz lo fichièr de favorits dins un endrech que volètz.<em><br>Notatz que s'avètz Chromium al lòc de Chrome, vos cal cambiar lo camin segon aquesta situacion.</em></p>" |
440 | how_to: "Mercés de causir lo fichièr de salvagarda e de clicar sul boton dejós per l'importar. Notatz que lo tractament pòt durar un moment ja que totes los articles an d'èsser recuperats." | 440 | how_to: "Mercés de causir lo fichièr de salvagarda e de clicar sul boton dejós per l'importar. Notatz que lo tractament pòt durar un moment ja que totes los articles an d'èsser recuperats." |
441 | instapaper: | 441 | instapaper: |
442 | page_title: 'Importar > Instapaper' | 442 | page_title: 'Importar > Instapaper' |
@@ -449,7 +449,7 @@ import: | |||
449 | 449 | ||
450 | developer: | 450 | developer: |
451 | page_title: 'Gestion dels clients API' | 451 | page_title: 'Gestion dels clients API' |
452 | welcome_message: "Benvenguda sus l'API de wallabag" | 452 | welcome_message: "Vos desirem la benvenguda sus l'API de wallabag" |
453 | documentation: 'Documentacion' | 453 | documentation: 'Documentacion' |
454 | how_to_first_app: 'Cossí crear vòstra primièra aplicacion' | 454 | how_to_first_app: 'Cossí crear vòstra primièra aplicacion' |
455 | full_documentation: "Veire la documentacion completa de l'API" | 455 | full_documentation: "Veire la documentacion completa de l'API" |
@@ -465,7 +465,7 @@ developer: | |||
465 | field_grant_types: 'Tipe de privilègi acordat' | 465 | field_grant_types: 'Tipe de privilègi acordat' |
466 | no_client: 'Pas cap de client pel moment.' | 466 | no_client: 'Pas cap de client pel moment.' |
467 | remove: | 467 | remove: |
468 | warn_message_1: 'Avètz la possibilitat de suprimir un client. Aquesta accion es IRREVERSIBLA !' | 468 | warn_message_1: 'Avètz la possibilitat de suprimir un client. Aquesta accion es IRREVERSIBLA !' |
469 | warn_message_2: "Se suprimissètz un client, totas las aplicacions que l'emplegan foncionaràn pas mai amb vòstre compte wallabag." | 469 | warn_message_2: "Se suprimissètz un client, totas las aplicacions que l'emplegan foncionaràn pas mai amb vòstre compte wallabag." |
470 | action: 'Suprimir aqueste client' | 470 | action: 'Suprimir aqueste client' |
471 | client: | 471 | client: |
@@ -489,10 +489,10 @@ developer: | |||
489 | description: | 489 | description: |
490 | paragraph_1: "Las comandas seguentas utilizan la <a href=\"https://github.com/jkbrzt/httpie\">bibliotèca HTTPie</a>. Asseguratz-vos que siasqueòu installadas abans de l'utilizar." | 490 | paragraph_1: "Las comandas seguentas utilizan la <a href=\"https://github.com/jkbrzt/httpie\">bibliotèca HTTPie</a>. Asseguratz-vos que siasqueòu installadas abans de l'utilizar." |
491 | paragraph_2: "Vos cal un geton per escambiar entre vòstra aplicacion e l'API de wallabar." | 491 | paragraph_2: "Vos cal un geton per escambiar entre vòstra aplicacion e l'API de wallabar." |
492 | paragraph_3: 'Per crear un geton, vos cal crear <a href=\"%link%\">crear un novèl client</a>.' | 492 | paragraph_3: 'Per crear un geton, vos cal <a href=\"%link%\">crear un novèl client</a>.' |
493 | paragraph_4: 'Ara creatz un geton (remplaçar client_id, client_secret, username e password amb las bonas valors) :' | 493 | paragraph_4: 'Ara creatz un geton (remplaçar client_id, client_secret, username e password amb las bonas valors) :' |
494 | paragraph_5: "L'API vos tornarà una responsa coma aquò :" | 494 | paragraph_5: "L'API vos tornarà una responsa coma aquò :" |
495 | paragraph_6: "L'access_token deu èsser emplegat per far una requèsta a l'API. Per exemple :" | 495 | paragraph_6: "L'access_token deu èsser emplegat per far una requèsta a l'API. Per exemple :" |
496 | paragraph_7: "Aquesta requèsta tornarà totes los articles de l'utilizaire." | 496 | paragraph_7: "Aquesta requèsta tornarà totes los articles de l'utilizaire." |
497 | paragraph_8: "Se volètz totas las adreças d'accès de l'API, donatz un còp d’uèlh <a href=\"%link%\">a la documentacion de l'API</a>." | 497 | paragraph_8: "Se volètz totas las adreças d'accès de l'API, donatz un còp d’uèlh <a href=\"%link%\">a la documentacion de l'API</a>." |
498 | back: 'Retorn' | 498 | back: 'Retorn' |
@@ -520,7 +520,7 @@ user: | |||
520 | twofactor_label: 'Autentificacion doble-factor' | 520 | twofactor_label: 'Autentificacion doble-factor' |
521 | save: 'Enregistrar' | 521 | save: 'Enregistrar' |
522 | delete: 'Suprimir' | 522 | delete: 'Suprimir' |
523 | delete_confirm: 'Sètz segur ?' | 523 | delete_confirm: 'Sètz segur ?' |
524 | back_to_list: 'Tornar a la lista' | 524 | back_to_list: 'Tornar a la lista' |
525 | search: | 525 | search: |
526 | placeholder: "Filtrar per nom d'utilizaire o corrièl" | 526 | placeholder: "Filtrar per nom d'utilizaire o corrièl" |
@@ -542,7 +542,7 @@ site_credential: | |||
542 | password_label: 'Senhal' | 542 | password_label: 'Senhal' |
543 | save: 'Enregistrar' | 543 | save: 'Enregistrar' |
544 | delete: 'Suprimir' | 544 | delete: 'Suprimir' |
545 | delete_confirm: 'Sètz segur ?' | 545 | delete_confirm: 'Sètz segur ?' |
546 | back_to_list: 'Tornar a la lista' | 546 | back_to_list: 'Tornar a la lista' |
547 | 547 | ||
548 | error: | 548 | error: |
@@ -584,7 +584,7 @@ flashes: | |||
584 | failed: "L'importacion a fracassat, mercés de tornar ensajar." | 584 | failed: "L'importacion a fracassat, mercés de tornar ensajar." |
585 | failed_on_file: "Error en tractar l'impòrt. Mercés de verificar vòstre fichièr." | 585 | failed_on_file: "Error en tractar l'impòrt. Mercés de verificar vòstre fichièr." |
586 | summary: "Rapòrt d'impòrt: %imported% importats, %skipped% ja presents." | 586 | summary: "Rapòrt d'impòrt: %imported% importats, %skipped% ja presents." |
587 | summary_with_queue: "Rapòrt d'impòrt : %queued% en espèra de tractament." | 587 | summary_with_queue: "Rapòrt d'impòrt : %queued% en espèra de tractament." |
588 | error: | 588 | error: |
589 | redis_enabled_not_installed: "Redis es capable d'importar de manièra asincròna mai sembla que <u>podèm pas nos conectar amb el</u>. Mercés de verificar la configuracion de Redis." | 589 | redis_enabled_not_installed: "Redis es capable d'importar de manièra asincròna mai sembla que <u>podèm pas nos conectar amb el</u>. Mercés de verificar la configuracion de Redis." |
590 | rabbit_enabled_not_installed: "RabbitMQ es capable d'importar de manièra asincròna mai sembla que <u>podèm pas nos conectar amb el</u>. Mercés de verificar la configuracion de RabbitMQ." | 590 | rabbit_enabled_not_installed: "RabbitMQ es capable d'importar de manièra asincròna mai sembla que <u>podèm pas nos conectar amb el</u>. Mercés de verificar la configuracion de RabbitMQ." |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.oc.yml index fb4aa592..87f00f10 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/validators.oc.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/validators.oc.yml | |||
@@ -1,7 +1,7 @@ | |||
1 | validator: | 1 | validator: |
2 | password_must_match: 'Cal que los dos senhals siasquen los meteisses' | 2 | password_must_match: 'Cal que los dos senhals correspondan' |
3 | password_too_short: 'Lo senhal deu aver almens 8 caractèrs' | 3 | password_too_short: 'Lo senhal deu aver almens 8 caractèrs' |
4 | password_wrong_value: 'Vòstre senhal actual es pas bon' | 4 | password_wrong_value: 'Vòstre senhal actual es pas bon' |
5 | item_per_page_too_high: "Aquò li agradarà pas a l'aplicacion" | 5 | item_per_page_too_high: "Aquò li agradarà pas a l'aplicacion" |
6 | rss_limit_too_high: "Aquò li agradarà pas a l'aplicacion" | 6 | rss_limit_too_high: "Aquò li agradarà pas a l'aplicacion" |
7 | # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.' | 7 | quote_length_too_high: 'Aquesta citacion es tròpa longa. Cal que faga {{ limit }} caractèrs o mens.' |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig index 6424df8d..12cead48 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig | |||
@@ -86,7 +86,7 @@ | |||
86 | 86 | ||
87 | <!-- Export --> | 87 | <!-- Export --> |
88 | <aside id="download-form"> | 88 | <aside id="download-form"> |
89 | {% set currentTag = '' %} | 89 | {% set currentTag = null %} |
90 | {% if tag is defined %} | 90 | {% if tag is defined %} |
91 | {% set currentTag = tag %} | 91 | {% set currentTag = tag %} |
92 | {% endif %} | 92 | {% endif %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig index 0c4dc80b..9d6fb3f5 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig | |||
@@ -57,7 +57,7 @@ | |||
57 | 57 | ||
58 | <!-- Export --> | 58 | <!-- Export --> |
59 | <div id="export" class="side-nav right-aligned"> | 59 | <div id="export" class="side-nav right-aligned"> |
60 | {% set currentTag = '' %} | 60 | {% set currentTag = null %} |
61 | {% if tag is defined %} | 61 | {% if tag is defined %} |
62 | {% set currentTag = tag.slug %} | 62 | {% set currentTag = tag.slug %} |
63 | {% endif %} | 63 | {% endif %} |
diff --git a/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml b/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml index cebf8f28..e62ea2bc 100644 --- a/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml +++ b/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml | |||
@@ -6,6 +6,6 @@ auth_code: | |||
6 | body: | 6 | body: |
7 | hello: "Bonjorn %user%," | 7 | hello: "Bonjorn %user%," |
8 | first_para: "Estant qu'avètz activat l'autentificacion en dos temps sus vòstre compte wallabag e que venètz de vos connectar dempuèi un novèl periferic (ordinador, mobil, etc.) vos mandem un còdi per validar la connexion." | 8 | first_para: "Estant qu'avètz activat l'autentificacion en dos temps sus vòstre compte wallabag e que venètz de vos connectar dempuèi un novèl periferic (ordinador, mobil, etc.) vos mandem un còdi per validar la connexion." |
9 | second_para: "Vaquí lo còdi per dintrar :" | 9 | second_para: "Vaquí lo còdi per dintrar : " |
10 | support: "S'avètz un problèma de connexion, dobtetz pas a contactar l'assisténcia : " | 10 | support: "S'avètz un problèma de connexion, dobtetz pas a contactar l'assisténcia : " |
11 | signature: "La còla de wallabag" | 11 | signature: "La còla de wallabag" |
diff --git a/tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php b/tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php index 2dc08be2..f4c8a630 100644 --- a/tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php +++ b/tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php | |||
@@ -407,6 +407,7 @@ class EntryRestControllerTest extends WallabagApiTestCase | |||
407 | $this->assertSame('http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', $content['url']); | 407 | $this->assertSame('http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', $content['url']); |
408 | $this->assertSame(0, $content['is_archived']); | 408 | $this->assertSame(0, $content['is_archived']); |
409 | $this->assertSame(0, $content['is_starred']); | 409 | $this->assertSame(0, $content['is_starred']); |
410 | $this->assertNull($content['starred_at']); | ||
410 | $this->assertSame('New title for my article', $content['title']); | 411 | $this->assertSame('New title for my article', $content['title']); |
411 | $this->assertSame(1, $content['user_id']); | 412 | $this->assertSame(1, $content['user_id']); |
412 | $this->assertCount(2, $content['tags']); | 413 | $this->assertCount(2, $content['tags']); |
@@ -483,6 +484,7 @@ class EntryRestControllerTest extends WallabagApiTestCase | |||
483 | 484 | ||
484 | public function testPostArchivedAndStarredEntry() | 485 | public function testPostArchivedAndStarredEntry() |
485 | { | 486 | { |
487 | $now = new \DateTime(); | ||
486 | $this->client->request('POST', '/api/entries.json', [ | 488 | $this->client->request('POST', '/api/entries.json', [ |
487 | 'url' => 'http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', | 489 | 'url' => 'http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', |
488 | 'archive' => '1', | 490 | 'archive' => '1', |
@@ -497,6 +499,7 @@ class EntryRestControllerTest extends WallabagApiTestCase | |||
497 | $this->assertSame('http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', $content['url']); | 499 | $this->assertSame('http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', $content['url']); |
498 | $this->assertSame(1, $content['is_archived']); | 500 | $this->assertSame(1, $content['is_archived']); |
499 | $this->assertSame(1, $content['is_starred']); | 501 | $this->assertSame(1, $content['is_starred']); |
502 | $this->assertGreaterThanOrEqual($now->getTimestamp(), (new \DateTime($content['starred_at']))->getTimestamp()); | ||
500 | $this->assertSame(1, $content['user_id']); | 503 | $this->assertSame(1, $content['user_id']); |
501 | } | 504 | } |
502 | 505 | ||
@@ -753,6 +756,7 @@ class EntryRestControllerTest extends WallabagApiTestCase | |||
753 | 756 | ||
754 | public function testSaveIsStarredAfterPatch() | 757 | public function testSaveIsStarredAfterPatch() |
755 | { | 758 | { |
759 | $now = new \DateTime(); | ||
756 | $entry = $this->client->getContainer() | 760 | $entry = $this->client->getContainer() |
757 | ->get('doctrine.orm.entity_manager') | 761 | ->get('doctrine.orm.entity_manager') |
758 | ->getRepository('WallabagCoreBundle:Entry') | 762 | ->getRepository('WallabagCoreBundle:Entry') |
@@ -770,6 +774,7 @@ class EntryRestControllerTest extends WallabagApiTestCase | |||
770 | $content = json_decode($this->client->getResponse()->getContent(), true); | 774 | $content = json_decode($this->client->getResponse()->getContent(), true); |
771 | 775 | ||
772 | $this->assertSame(1, $content['is_starred']); | 776 | $this->assertSame(1, $content['is_starred']); |
777 | $this->assertGreaterThanOrEqual($now->getTimestamp(), (new \DateTime($content['starred_at']))->getTimestamp()); | ||
773 | } | 778 | } |
774 | 779 | ||
775 | public function dataForEntriesExistWithUrl() | 780 | public function dataForEntriesExistWithUrl() |
diff --git a/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php b/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php index be25a8b5..5a973a7e 100644 --- a/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php | |||
@@ -9,6 +9,7 @@ use Wallabag\CoreBundle\Entity\Tag; | |||
9 | class TagControllerTest extends WallabagCoreTestCase | 9 | class TagControllerTest extends WallabagCoreTestCase |
10 | { | 10 | { |
11 | public $tagName = 'opensource'; | 11 | public $tagName = 'opensource'; |
12 | public $caseTagName = 'OpenSource'; | ||
12 | 13 | ||
13 | public function testList() | 14 | public function testList() |
14 | { | 15 | { |
@@ -36,7 +37,7 @@ class TagControllerTest extends WallabagCoreTestCase | |||
36 | $form = $crawler->filter('form[name=tag]')->form(); | 37 | $form = $crawler->filter('form[name=tag]')->form(); |
37 | 38 | ||
38 | $data = [ | 39 | $data = [ |
39 | 'tag[label]' => $this->tagName, | 40 | 'tag[label]' => $this->caseTagName, |
40 | ]; | 41 | ]; |
41 | 42 | ||
42 | $client->submit($form, $data); | 43 | $client->submit($form, $data); |
@@ -45,6 +46,7 @@ class TagControllerTest extends WallabagCoreTestCase | |||
45 | // be sure to reload the entry | 46 | // be sure to reload the entry |
46 | $entry = $this->getEntityManager()->getRepository(Entry::class)->find($entry->getId()); | 47 | $entry = $this->getEntityManager()->getRepository(Entry::class)->find($entry->getId()); |
47 | $this->assertCount(1, $entry->getTags()); | 48 | $this->assertCount(1, $entry->getTags()); |
49 | $this->assertContains($this->tagName, $entry->getTags()); | ||
48 | 50 | ||
49 | // tag already exists and already assigned | 51 | // tag already exists and already assigned |
50 | $client->submit($form, $data); | 52 | $client->submit($form, $data); |
@@ -80,7 +82,7 @@ class TagControllerTest extends WallabagCoreTestCase | |||
80 | $form = $crawler->filter('form[name=tag]')->form(); | 82 | $form = $crawler->filter('form[name=tag]')->form(); |
81 | 83 | ||
82 | $data = [ | 84 | $data = [ |
83 | 'tag[label]' => 'foo2, bar2', | 85 | 'tag[label]' => 'foo2, Bar2', |
84 | ]; | 86 | ]; |
85 | 87 | ||
86 | $client->submit($form, $data); | 88 | $client->submit($form, $data); |
diff --git a/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php b/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php index c307f96c..9bb59766 100644 --- a/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php +++ b/tests/Wallabag/ImportBundle/Controller/PinboardControllerTest.php | |||
@@ -125,7 +125,7 @@ class PinboardControllerTest extends WallabagCoreTestCase | |||
125 | $tags = $content->getTags(); | 125 | $tags = $content->getTags(); |
126 | $this->assertContains('foot', $tags, 'It includes the "foot" tag'); | 126 | $this->assertContains('foot', $tags, 'It includes the "foot" tag'); |
127 | $this->assertContains('varnish', $tags, 'It includes the "varnish" tag'); | 127 | $this->assertContains('varnish', $tags, 'It includes the "varnish" tag'); |
128 | $this->assertContains('PHP', $tags, 'It includes the "PHP" tag'); | 128 | $this->assertContains('php', $tags, 'It includes the "php" tag'); |
129 | $this->assertSame(3, count($tags)); | 129 | $this->assertSame(3, count($tags)); |
130 | 130 | ||
131 | $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt()); | 131 | $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt()); |
diff --git a/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php b/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php index 25625c35..4bc982e0 100644 --- a/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php +++ b/tests/Wallabag/ImportBundle/Controller/WallabagV1ControllerTest.php | |||
@@ -125,7 +125,7 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase | |||
125 | 125 | ||
126 | $tags = $content->getTags(); | 126 | $tags = $content->getTags(); |
127 | $this->assertContains('foot', $tags, 'It includes the "foot" tag'); | 127 | $this->assertContains('foot', $tags, 'It includes the "foot" tag'); |
128 | $this->assertContains('Framabag', $tags, 'It includes the "Framabag" tag'); | 128 | $this->assertContains('framabag', $tags, 'It includes the "framabag" tag'); |
129 | $this->assertSame(2, count($tags)); | 129 | $this->assertSame(2, count($tags)); |
130 | 130 | ||
131 | $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt()); | 131 | $this->assertInstanceOf(\DateTime::class, $content->getCreatedAt()); |