Merge remote-tracking branch 'origin/master' into 2.2

This commit is contained in:
Jeremy Benoist 2016-10-24 12:03:17 +02:00
commit 64a8781e45
No known key found for this signature in database
GPG key ID: BCA73962457ACC3C
82 changed files with 654 additions and 1569 deletions

View file

@ -1,3 +1,5 @@
:warning: If your issue is about an error during fetching a link, please read: http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that
### Issue details
Please provide issue details here.

File diff suppressed because it is too large Load diff

View file

@ -10,10 +10,6 @@ module.exports = function (grunt) {
postcss: {
material: {
options: {
map: {
inline: false,
},
processors: [
require('pixrem')(),
require('autoprefixer')({ browsers: 'last 2 versions' }),
@ -25,10 +21,6 @@ module.exports = function (grunt) {
},
baggy: {
options: {
map: {
inline: false,
},
processors: [
require('pixrem')(),
require('autoprefixer')({ browsers: 'last 2 versions' }),
@ -95,19 +87,13 @@ module.exports = function (grunt) {
files: {
'<%= releaseDir %>/themes/material/js/material.min.js':
['<%= buildDir %>/material.browser.js'],
},
options: {
sourceMap: true,
},
}
},
baggy: {
files: {
'<%= releaseDir %>/themes/baggy/js/baggy.min.js':
['<%= buildDir %>/baggy.browser.js'],
},
options: {
sourceMap: true,
},
}
},
},
copy: {

View file

@ -17,6 +17,9 @@ install: ## Install wallabag with the latest version
update: ## Update the wallabag installation to the latest version
@sh scripts/update.sh $(ENV)
dev: ## Install the latest dev version
@sh scripts/dev.sh
run: ## Run the wallabag built-in server
@php bin/console server:run --env=$(ENV)

View file

@ -9,7 +9,7 @@ During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE`.
#### Files to edit
- `app/config/config.yml` (`wallabag_core.version`)
- `CHANGELOG.md` (by using this command `github_changelog_generator --no-compare-link`. [github-changelog-generator is available here](https://github.com/skywinder/github-changelog-generator))
- `CHANGELOG.md` (by using this command `github_changelog_generator --no-compare-link --header-label="# Changelog" --no-issues --no-pr-wo-labels --since-tag="1.9.2"`. [github-changelog-generator is available here](https://github.com/skywinder/github-changelog-generator))
#### Create release on GitHub

View file

@ -30,11 +30,12 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
public function up(Schema $schema)
{
if ($this->connection->getDatabasePlatform()->getName() == 'postgresql') {
$this->addSql('ALTER TABLE '.$this->getTable('entry').' ADD uuid UUID DEFAULT NULL');
$this->addSql('ALTER TABLE "'.$this->getTable('entry').'" ADD uuid UUID DEFAULT NULL');
} else {
$this->addSql('ALTER TABLE '.$this->getTable('entry').' ADD uuid LONGTEXT DEFAULT NULL');
$this->addSql('ALTER TABLE "'.$this->getTable('entry').'" ADD uuid LONGTEXT DEFAULT NULL');
}
$this->addSql("INSERT INTO ".$this->getTable('craue_config_setting')." (name, value, section) VALUES ('share_public', '1', 'entry')");
$this->addSql("INSERT INTO \"".$this->getTable('craue_config_setting')."\" (name, value, section) VALUES ('share_public', '1', 'entry')");
}
/**
@ -44,7 +45,7 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
{
$this->abortIf($this->connection->getDatabasePlatform()->getName() != 'sqlite', 'This down migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.');
$this->addSql('ALTER TABLE '.$this->getTable('entry').' DROP uuid');
$this->addSql("DELETE FROM ".$this->getTable('craue_config_setting')." WHERE name = 'share_public'");
$this->addSql('ALTER TABLE "'.$this->getTable('entry').'" DROP uuid');
$this->addSql("DELETE FROM \"".$this->getTable('craue_config_setting')."\" WHERE name = 'share_public'");
}
}

View file

@ -29,8 +29,8 @@ class Version20160911214952 extends AbstractMigration implements ContainerAwareI
*/
public function up(Schema $schema)
{
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting').' (name, value, section) VALUES (\'import_with_redis\', \'0\', \'import\')');
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting').' (name, value, section) VALUES (\'import_with_rabbitmq\', \'0\', \'import\')');
$this->addSql('INSERT INTO "'.$this->getTable('craue_config_setting').'" (name, value, section) VALUES (\'import_with_redis\', \'0\', \'import\')');
$this->addSql('INSERT INTO "'.$this->getTable('craue_config_setting').'" (name, value, section) VALUES (\'import_with_rabbitmq\', \'0\', \'import\')');
}
/**

View file

@ -29,8 +29,8 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI
*/
public function up(Schema $schema)
{
$this->addSql('ALTER TABLE '.$this->getTable('config').' ADD pocket_consumer_key VARCHAR(255) DEFAULT NULL');
$this->addSql("DELETE FROM ".$this->getTable('craue_config_setting')." WHERE name = 'pocket_consumer_key';");
$this->addSql('ALTER TABLE "'.$this->getTable('config').'" ADD pocket_consumer_key VARCHAR(255) DEFAULT NULL');
$this->addSql("DELETE FROM \"".$this->getTable('craue_config_setting')."\" WHERE name = 'pocket_consumer_key';");
}
/**
@ -40,7 +40,7 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI
{
$this->abortIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
$this->addSql('ALTER TABLE '.$this->getTable('config').' DROP pocket_consumer_key');
$this->addSql("INSERT INTO ".$this->getTable('craue_config_setting')." (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')");
$this->addSql('ALTER TABLE "'.$this->getTable('config').'" DROP pocket_consumer_key');
$this->addSql("INSERT INTO \"".$this->getTable('craue_config_setting')."\" (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')");
}
}

View file

@ -23,7 +23,7 @@ export: "eksport"
import: "import"
misc: "misc"
modify_settings: "Gem ændring"
piwik_host: Hosting af din side hos Piwik
piwik_host: Hosting af din side hos Piwik (uden http:// eller https://)
piwik_site_id: ID for din side hos Piwik
piwik_enabled: Aktiver Piwik
demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"

View file

@ -2,14 +2,14 @@ download_pictures: Bilder auf den Server herunterladen
carrot: Teilen zu Carrot aktivieren
diaspora_url: Diaspora-URL, sofern der Service aktiviert ist
export_epub: ePUB-Export aktivieren
export_mobi: .mobi-Export aktivieren
export_mobi: mobi-Export aktivieren
export_pdf: PDF-Export aktivieren
export_csv: CSV-Export aktivieren
export_json: JSON-Export aktivieren
export_txt: TXT-Export aktivieren
export_xml: XML-Export aktivieren
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
# import_with_redis: Enable Redis to import data asynchronously
import_with_rabbitmq: Aktiviere RabbitMQ, um Artikel asynchron zu importieren
import_with_redis: Aktiviere Redis, um Artikel asynchron zu importieren
shaarli_url: Shaarli-URL, sofern der Service aktiviert ist
share_diaspora: Teilen zu Diaspora aktiveren
share_mail: Teilen via E-Mail aktiveren
@ -23,9 +23,9 @@ export: "Export"
import: "Import"
misc: "Verschiedenes"
modify_settings: "Übernehmen"
piwik_host: Host deiner Webseite in Piwik
piwik_host: Host deiner Webseite in Piwik (ohne http:// oder https://)
piwik_site_id: ID deiner Webseite in Piwik
piwik_enabled: Piwik aktivieren
demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)"
demo_mode_username: "Test-Benutzer"
# share_public: Allow public url for entries
share_public: Erlaube eine öffentliche URL für Einträge

View file

@ -23,7 +23,7 @@ export: "export"
import: "import"
misc: "misc"
modify_settings: "apply"
piwik_host: Host of your website in Piwik
piwik_host: Host of your website in Piwik (without http:// ou https://)
piwik_site_id: ID of your website in Piwik
piwik_enabled: Enable Piwik
demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"

View file

@ -23,7 +23,7 @@ export: "exportar"
import: "importar"
misc: "misc"
modify_settings: "modificar configuración"
piwik_host: Host de tu website de Piwik
piwik_host: Host de tu website de Piwik (sin http:// o https://)
piwik_site_id: ID de tu website de Piwik
piwik_enabled: Activar Piwik
demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)"

View file

@ -23,7 +23,7 @@ export: "برون‌سپاری"
import: "درون‌ریزی"
misc: "غیره"
modify_settings: "اعمال"
# piwik_host: Host of your website in Piwik
# piwik_host: Host of your website in Piwik (without http:// or https://)
# piwik_site_id: ID of your website in Piwik
# piwik_enabled: Enable Piwik
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"

View file

@ -23,7 +23,7 @@ export: "export"
import: "import"
misc: "divers"
modify_settings: "appliquer"
piwik_host: URL de votre site dans Piwik
piwik_host: URL de votre site dans Piwik (sans http:// ou https://)
piwik_site_id: ID de votre site dans Piwik
piwik_enabled: Activer Piwik
demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)"

View file

@ -23,7 +23,7 @@ export: "esporta"
import: "importa"
misc: "misc"
modify_settings: "applica"
piwik_host: Host del tuo sito in Piwik
piwik_host: Host del tuo sito in Piwik (senza http:// o https://)
piwik_site_id: ID del tuo sito in Piwik
piwik_enabled: Abilita Piwik
demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)"

View file

@ -23,7 +23,7 @@ export: "expòrt"
import: "impòrt"
misc: "divèrs"
modify_settings: "aplicar"
piwik_host: URL de vòstre site dins Piwik
piwik_host: URL de vòstre site dins Piwik (sense http:// o https://)
piwik_site_id: ID de vòstre site dins Piwik
piwik_enabled: Activar Piwik
demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)"

View file

@ -23,7 +23,7 @@ export: "eksport"
import: "import"
misc: "różne"
modify_settings: "zatwierdz"
piwik_host: Host twojej strony Piwik
piwik_host: Host twojej strony Piwik (bez http:// lub https://)
piwik_site_id: ID twojej strony Piwik
piwik_enabled: Włacz Piwik
demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)"

View file

@ -23,7 +23,7 @@ export: "exportă"
import: "importă"
misc: "diverse"
modify_settings: "aplică"
# piwik_host: Host of your website in Piwik
# piwik_host: Host of your website in Piwik (without http:// or https://)
# piwik_site_id: ID of your website in Piwik
# piwik_enabled: Enable Piwik
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"

View file

@ -23,7 +23,7 @@
# import: "import"
# misc: "misc"
# modify_settings: "apply"
# piwik_host: Host of your website in Piwik
# piwik_host: Host of your website in Piwik (without http:// or https://)
# piwik_site_id: ID of your website in Piwik
# piwik_enabled: Enable Piwik
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"

View file

@ -1,6 +1,6 @@
{% extends "WallabagCoreBundle::layout.html.twig" %}
{% block title %}{% trans %}internal settings{% endtrans %}{% endblock %}
{% block title %}{{ 'menu.left.internal_settings'|trans }}{% endblock %}
{% block content %}
<div class="row">
@ -13,7 +13,7 @@
<div class="div_tabs col s12">
<ul class="tabs">
{% for section in sections | craue_sortSections %}
<li class="tab col s3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
{% endfor %}
</ul>
</div>

View file

@ -1192,6 +1192,14 @@ pre code {
}
}
@media screen and (max-height: 770px) {
.menu.users,
.menu.internal,
.menu.developer {
display: none;
}
}
@media screen and (max-width: 500px) {
.entry {
width: 100%;

View file

@ -360,6 +360,10 @@ span.numberItems {
float: right;
}
nav ul a:hover {
background-color: initial;
}
/* ==========================================================================
* 3 = Filters slider
* ========================================================================== */
@ -522,7 +526,7 @@ main ul.row {
}
#article > header > h1 {
font-size: 2em;
font-size: 1.6em;
}
.reader-mode {
@ -603,6 +607,18 @@ main ul.row {
width: auto;
}
#article {
padding: 15px;
max-width: 35em;
margin-left: auto;
margin-right: auto;
font-size: 18px;
}
#article > header > h1 {
font-size: 1.33em;
}
.reader-mode {
width: 240px !important;
}
@ -760,3 +776,7 @@ div.settings div.file-field div {
.input-field label.active {
font-size: 1rem;
}
nav .input-field input {
margin: 0;
}

View file

@ -30,7 +30,7 @@ framework:
assets: ~
wallabag_core:
version: 2.1.2-dev
version: 2.1.3-dev
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
languages:
en: 'English'
@ -50,6 +50,7 @@ wallabag_core:
rss_limit: 50
reading_speed: 1
cache_lifetime: 10
fetching_error_message: "wallabag can't retrieve contents for this article. Please report this issue to us."
wallabag_user:
registration_enabled: "%fosuser_registration%"

View file

@ -30,8 +30,8 @@ Die Dokumentation ist in anderen Sprachen verfügbar :
user/faq
user/installation
user/upgrade-2.0.x-2.1.y
user/upgrade-2.0.x-2.0.y
user/upgrade-2.0.x-2.1.1
user/upgrade-2.0.x-2.1.1
user/migration
user/import
user/create_account
@ -44,6 +44,8 @@ Die Dokumentation ist in anderen Sprachen verfügbar :
user/filters
user/tags
user/android
user/parameters
user/backup
.. _dev-docs:

25
docs/de/user/backup.rst Normal file
View file

@ -0,0 +1,25 @@
wallabag sichern
================
Da es manchmal vorkommen kann, dass dir ein Fehler mit deiner wallabag unterläuft und du Daten verlierst oder deine wallabag auf einen anderen Server verschieben willst, ist eine Sicherung der Daten sicher ratsam.
Dieser Artikel beschreibt, was du für die Sicherung benötigst.
Grundlegende Einstellungen
--------------------------
wallabag speichert grundlegende Parameter (etwa der SMTP-Server oder das Datenbank-Backend) in der Datei `app/config/parameters.yml`.
Datenbank
---------
Da wallabag verschiedene Datenbank-Typen unterstützt, hängt der Weg der Sicherung von dem verwendeten Typ ab. Daher verweisen wir an dieser Stelle auf die entsprechenden Dokumentationen:
Hier sind einige Beispiele:
- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
SQLite
~~~~~~
Um die SQLite-Datenbank zu sichern, ist es lediglich notwendig, das Verzeichnis `data/db` aus dem wallabag-Installations-Ordner zu kopieren.
Bilder
------
Die Bilder, die von wallabag empfangen worden, sind unter `data/assets/images` gespeichert (der Bilder-Speicher wird in wallabag 2.2 implementiert).

View file

@ -102,7 +102,7 @@ Wenn *readingTime >= 5 AND domainName = "github.com"*, dann tagge als *lange zu
Welche Variablen und Operatoren kann ich zum Regeln schreiben nutzen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Die folgenden Variabel und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen:
Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen (sei vorsichtig, denn bei einigen Werten musst du Anführungszeichen hinzufügen, z.B. ``language = "de"``):
=========== ============================================== ======== ==========
Variable Bedeutung Operator Bedeutung

View file

@ -0,0 +1,50 @@
Was bedeuten die Parameter?
===========================
.. csv-table:: Datenbankparameter
:header: "Name", "Standardwert", "Beschreibung"
"database_driver", "pdo_sqlite", "Sollte pdo_sqlite oder pdo_mysql oder pdo_pgsql sein"
"database_host", "127.0.0.1", "Hostadresse deiner Datenbank (normalerweise localhost oder 127.0.0.1)"
"database_port", "~", "Port deiner Datenbank (Du kannst ``~`` stehen lassen, um den Standardport zu nutzen)"
"database_name", "symfony", "Benenne deine Datenbank"
"database_user", "root", "Benutzer, der Schreibrecht in der Datenbank hat"
"database_password", "~", "Passwort des Benutzers"
"database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "nur für SQLite, definiere, wo die Datenbankdatei abgelegt werden soll. Lass den Parameter leer für andere Datenbanktypen."
"database_table_prefix", "wallabag_", "alle wallabag Tabellen erhalten diesen Präfix im Namen. Du kannst einen ``_`` dafür im Präfix nutzen, um das zu verdeutlichen."
"database_socket", "null", "Wenn deine Datenbank einen Socket statt TCP nutzt, schreibe hier den Pfad zum Socket hin (andere Verbindungsparameter werden dann ignoriert."
.. csv-table:: Konfiguration, um mit wallabag E-Mails senden zu können
:header: "Name", "Standardwert", "Beschreibung"
"mailer_transport", "smtp", "Die exakte Transportmethode, um E-Mails zuzustellen. Gültige Werte sind: smtp, gmail, mail, sendmail, null (was das Mailen deaktivert)"
"mailer_host", "127.0.0.1", "Der Host, zu dem sich verbunden wird, wenn SMTP als Transport genutzt wird."
"mailer_user", "~", "Der Benutzername, wenn SMTP als Transport genutzt wird."
"mailer_password", "~", "Das Passwort, wenn SMTP als Transport genutzt wird."
.. csv-table:: Andere wallabag Optionen
:header: "Name", "Standardwert", "Beschreibung"
"locale", "en", "Standardsprache deiner wallabag Instanz (wie z.B. en, fr, es, etc.)"
"secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "Dieser String sollte einzigartig für deine Applikation sein und er wird genutzt, um sicherheitsrelevanten Operationen mehr Entropie hinzuzufügen."
"twofactor_auth", "true", "true, um Zwei-Faktor-Authentifizierung zu aktivieren"
"twofactor_sender", "no-reply@wallabag.org", "E-Mail-Adresse des Senders der Mails mit dem Code für die Zwei-Faktor-Authentifizierung"
"fosuser_registration", "true", "true, um die Registrierung für jedermann zu aktivieren"
"fosuser_confirmation", "true", "true, um eine Bestätigungsmail für jede Registrierung zu senden"
"from_email", "no-reply@wallabag.org", "E-Mail-Adresse, die im Absenderfeld jeder Mail genutzt wird"
"rss_limit", "50", "Artikellimit für RSS Feeds"
.. csv-table:: RabbitMQ Konfiguration
:header: "Name", "Standardwert", "Beschreibung"
"rabbitmq_host", "localhost", "Host deines RabbitMQ"
"rabbitmq_port", "5672", "Port deines RabbitMQ"
"rabbitmq_user", "guest", "Benutzer, der die Queue lesen kann"
"rabbitmq_password", "guest", "Passwort dieses Benutzers"
.. csv-table:: Redis Konfiguration
:header: "Name", "Standardwert", "Beschreibung"
"redis_scheme", "tcp", "Bestimmt das Protokoll, dass genutzt wird, um mit Redis zu kommunizieren. Gültige Werte sind: tcp, unix, http"
"redis_host", "localhost", "IP oder Hostname des Zielservers (ignoriert bei Unix Schema)"
"redis_port", "6379", "TCP/IP Port des Zielservers (ignoriert bei Unix Schema)"
"redis_path", "null", "Pfad zur Unix Domain Socket Datei, wenn Redis Unix Domain Sockets nutzt"

View file

@ -1,5 +1,5 @@
Wallabag updaten
================
Wallabag von 2.0.x auf 2.1.1 updaten
====================================
.. warning::
Wenn du den Import von Pocket durch das Hinzufügen des Consumer Key in den internen Einstellungen konfiguriert hast, fertige bitte ein Backup deines Keys an, bevor du auf das neue Release migrierst: Du wirst den Key nach dem Update in der Konfiguration erneut eintragen müssen.
@ -30,23 +30,43 @@ Lade das neueste Release von wallabag herunter:
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
(2.1.1 md5 hash: ``9584a3b60a2b2a4de87f536548caac93``)
(2.1.1 md5 Hashsumme: ``9584a3b60a2b2a4de87f536548caac93``)
Entpacke das Archiv in deinen wallabag-Ordner und ersetze ``app/config/parameters.yml`` mit deiner Datei.
Bitte beachte, dass wir in dieser Version neue Parameter hinzugefügt haben. Du musst die Datei ``app/config/parameters.yml`` bearbeiten und die folgenden Zeilen hinzufügen (ersetze die Werte mit deiner Konfiguration):
.. code-block:: bash
.. code-block:: yml
# RabbitMQ processing
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: null
database_name: symfony
database_user: root
database_password: null
database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
database_table_prefix: wallabag_
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
fosuser_registration: true
fosuser_confirmation: true
from_email: no-reply@wallabag.org
rss_limit: 50
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
redis_host: localhost
redis_port: 6379
# Redis processing
redis_host: localhost
redis_port: 6379
Du kannst `hier eine Dokumentation über die Parameter finden <http://doc.wallabag.org/en/master/user/parameters.html>`_.
Wenn du SQLite nutzt, musst auch das ``data/`` Verzeichnis in die neue Installation kopieren.

View file

@ -1,17 +1,17 @@
Wallabag updaten 2.0.x -> 2.1.x
===============================
Wallabag von 2.1.x auf 2.1.y updaten
====================================
Update auf einem dedizierten Webserver
--------------------------------------
Das neueste Release ist auf https://www.wallabag.org/pages/download-wallabag.html veröffentlicht. Um deine wallabag Installation auf die neueste Version upzudaten, führe die folgenden Kommandos in deinem wallabag Ordner aus (ersetze ``2.0.8`` mit der neuesten Releasenummer):
Das neueste Release ist auf https://www.wallabag.org/pages/download-wallabag.html veröffentlicht. Um deine wallabag Installation auf die neueste Version upzudaten, führe die folgenden Kommandos in deinem wallabag Ordner aus (ersetze ``2.1.2`` mit der neuesten Releasenummer):
::
rm -rf var/cache/*
git fetch origin
git fetch --tags
git checkout 2.0.8
git checkout 2.1.2 --force
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console cache:clear --env=prod
@ -26,7 +26,7 @@ Lade das neueste Release von wallabag herunter:
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
(md5 hash: ``4f84c725d1d6e3345eae0a406115e5ff``)
Du findest die `md5 Hashsumme des neuesten Pakets auf unserer Website <https://www.wallabag.org/pages/download-wallabag.html>`_.
Entpacke das Archiv in deinen wallabag Ordner und ersetze ``app/config/parameters.yml`` mit deiner Datei.

View file

@ -8,7 +8,7 @@ Requirements
* wallabag freshly (or not) installed on http://localhost:8000
* ``httpie`` installed on your computer (`see project website <https://github.com/jkbrzt/httpie>`__). Note that you can also adapt the commands using curl or wget.
* all the API methods are documented here http://localhost:8000/api/doc
* all the API methods are documented here http://localhost:8000/api/doc (on your instance) and `on our example instance <http://v2.wallabag.org/api/doc>`_
Creating a new API client
-------------------------

View file

@ -35,7 +35,7 @@ Edit your ``parameters.yml`` file to edit Redis configuration. The default one s
redis_host: localhost
redis_port: 6379
Enable Redos in wallabag
Enable Redis in wallabag
------------------------
In internal settings, in the **Import** section, enable Redis (with the value 1).

View file

@ -45,6 +45,8 @@ The documentation is available in other languages:
user/filters
user/tags
user/android
user/parameters
user/backup
.. _dev-docs:

View file

@ -79,7 +79,7 @@ Known limitations
2FA
~~~
Currently the does not support two-factor authentication. You should disable that to get the app working.
Currently the Android application does not support two-factor authentication. You should disable that to get the application working.
Limited amount of articles with wallabag v2

25
docs/en/user/backup.rst Normal file
View file

@ -0,0 +1,25 @@
Backup wallabag
===============
Because sometimes you may do a mistake with your wallabag and lose data or in case you need to move your wallabag to another server you want to backup your data.
This articles describes what you need to backup.
Basic settings
--------------
wallabag stores some basic parameters (like SMTP server or database backend) in the file `app/config/parameters.yml`.
Database
--------
As wallabag supports different kinds of database, the way to perform the backup depends on the database you use, so you need to refer to the vendor documentation.
Here's some examples:
- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
SQLite
~~~~~~
To backup the SQLite database, you just need to copy the directory `data/db` from the wallabag application directory.
Images
------
The images retrieved by wallabag are stored under `data/assets/images` (the images storage will be implemented in wallabag 2.2).

View file

@ -102,7 +102,7 @@ if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long r
Which variables and operators can I use to write rules?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following variables and operators can be used to create tagging rules:
The following variables and operators can be used to create tagging rules (be careful, for some values, you need to add quotes, for example ``language = "en"``):
=========== ============================================== ======== ==========
Variable Meaning Operator Meaning

View file

@ -8,7 +8,7 @@ wallabag is compatible with PHP >= 5.5, including PHP 7.
.. note::
To install wallabag easily, we create a ``Makefile``, so you need to have the ``make`` tool.
To install wallabag easily, we provide a ``Makefile``, so you need to have the ``make`` tool.
wallabag uses a large number of PHP libraries in order to function. These libraries must be installed with a tool called Composer. You need to install it if you have not already done so and be sure to use the 1.2 version (if you already have Composer, run a ``composer selfupdate``).
@ -95,7 +95,7 @@ If you changed the database configuration to use MySQL or PostgreSQL, you need t
Installation with Docker
~~~~~~~~~~~~~~~~~~~~~~~~
We provide you a Docker image to install wallabag easily. Have a look to our repository on `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__ to have more information.
We provide you a Docker image to install wallabag easily. Have a look at our repository on `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__ for more information.
Command to launch container
^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -194,12 +194,12 @@ After reloading or restarting nginx, you should now be able to access wallabag a
.. tip::
When you want to import large file into wallabag, you need to add this line in your nginx configuration ``client_max_body_size XM; # allows file uploads up to X megabytes``.
When you want to import large files into wallabag, you need to add this line in your nginx configuration ``client_max_body_size XM; # allows file uploads up to X megabytes``.
Configuration on lighttpd
~~~~~~~~~~~~~~~~~~~~~~~~~
Assuming you install wallabag in the /var/www/wallabag folder, here's the recipe for wallabag (edit your ``lighttpd.conf`` file and paste this configuration into it):
Assuming you install wallabag in the ``/var/www/wallabag`` folder, here's the recipe for wallabag (edit your ``lighttpd.conf`` file and paste this configuration into it):
::
@ -249,7 +249,7 @@ As soon as we use Apache or Nginx to access to our wallabag instance, and not fr
To do so, the folder name, known as ``DocumentRoot`` (for apache) or ``root`` (for Nginx), has to be absolutely accessible by the Apache/Nginx user. Its name is generally ``www-data``, ``apache`` or ``nobody`` (depending on linux system used).
So the folder ``/var/www/wallabag/web`` has to be accessible by this last one. But this could be not enough if we just care about this folder, because we could meet a blank page or get an error 500 when trying to access to the homepage of the project.
So the folder ``/var/www/wallabag/web`` has to be accessible by this last one. But this may not be enough if we just care about this folder, because we could meet a blank page or get an error 500 when trying to access to the homepage of the project.
This is due to the fact that we will need to grant the same rights access on the folder ``/var/www/wallabag/var`` like those we gave on the folder ``/var/www/wallabag/web``. Thus, we fix this problem with the following command:

View file

@ -9,7 +9,7 @@ What is the meaning of the parameters?
"database_name", "symfony", "name of your database"
"database_user", "root", "user that can write to this database"
"database_password", "~", "password of that user"
"database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "only for SQLite, define where to put the database file. Leave it for other database"
"database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "only for SQLite, define where to put the database file. Leave it empty for other database"
"database_table_prefix", "wallabag_", "all wallabag's tables will be prefixed with that string. You can include a ``_`` for clarity"
"database_socket", "null", "If your database is using a socket instead of tcp, put the path of the socket (other connection parameters will then be ignored)"
"database_charset", "utf8mb4", "For PostgreSQL & SQLite you should use utf8, for MySQL use utf8mb4 which handle emoji"
@ -39,7 +39,7 @@ What is the meaning of the parameters?
"rabbitmq_host", "localhost", "Host of your RabbitMQ"
"rabbitmq_port", "5672", "Port of your RabbitMQ"
"rabbitmq_user", "guest", "Usee that can read queues"
"rabbitmq_user", "guest", "User that can read queues"
"rabbitmq_password", "guest", "Password of that user"
.. csv-table:: Redis configuration

View file

@ -2,7 +2,8 @@ Upgrade from 2.0.x to 2.1.1
===========================
.. warning::
Before this migration, if you configured the Pocket import by adding your consumer key in Internal settings, please do a backup of it: you'll have to add it into the Config page after the upgrade.
Before this migration, if you configured the Pocket import by adding your consumer key in Internal settings, please do a backup of it: you'll have to add it into the Config page after the upgrade.
Upgrade on a dedicated web server
---------------------------------
@ -64,6 +65,8 @@ Please check that your ``app/config/parameters.yml`` contains all the required p
redis_host: localhost
redis_port: 6379
You can find `here a documentation about parameters <http://doc.wallabag.org/en/master/user/parameters.html>`_.
If you use SQLite, you must also copy your ``data/`` folder inside the new installation.
Empty ``var/cache`` folder.

View file

@ -26,7 +26,7 @@ Download the last release of wallabag:
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``)
You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_.
Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.

View file

@ -31,8 +31,8 @@ La documentation est disponible dans d'autres langues :
user/faq
user/installation
user/upgrade-2.0.x-2.1.y
user/upgrade-2.0.x-2.0.y
user/upgrade-2.0.x-2.1.1
user/upgrade-2.0.x-2.1.1
user/migration
user/import
user/create_account
@ -45,6 +45,8 @@ La documentation est disponible dans d'autres langues :
user/share
user/filters
user/tags
user/parameters
user/backup
.. _dev-docs:

26
docs/fr/user/backup.rst Normal file
View file

@ -0,0 +1,26 @@
Sauvegarde de wallabag
======================
Parce que des fois vous faites des erreurs avec votre installation de wallabag et vous perdez des données ou parce que vous souhaitez migrer votre installation sur un autre serveur, vous souhaitez faire une sauvegarde de vos données.
Cette documentation décrit ce que vous devez sauvegarder.
Configuration
-------------
wallabag stocke quelques paramètres (comme la configuration SMTP ou les infos de bases de données) dans le fichier `app/config/parameters.yml`.
Base de données
---------------
Comme wallabag supporte différentes sortes de bases de données, la manière de sauvegarder dépend du type de base de données que vous utilisez, donc vous devez vous en référez à la documentation correspondante.
Quelques exemples :
- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
SQLite
~~~~~~
Pour sauvegarder une base SQLite, vous devez juste copier le répertoire `data/db` de votre installation wallabag.
Images
------
Les images sauvegardées par wallabag sont stockées dans `data/assets/images` (le stockage des images sera implémenté dans wallabag 2.2).

View file

@ -104,7 +104,7 @@ if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long r
Quels variables et opérateurs puis-je utiliser pour écrire mes règles ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Les variables et opérateurs suivants peuvent être utilisés lors de la création de vos règles :
Les variables et opérateurs suivants peuvent être utilisés lors de la création de vos règles (attention, pour certaines valeurs, vous devez ajouter des guillemets, par exemple ``language = "en"``) :
=========== ============================================== ========== ==========
Variable Sens Opérateur Sens

View file

@ -66,7 +66,7 @@ Pour démarrer le serveur interne à php et vérifier que tout s'est installé c
Et accéder wallabag à l'adresse http://lipdevotreserveur:8000
.. tip::
Pour définir des paramètres via des variables d'environnement, vous pouvez les spécifier avec le préfixe ``SYMFONY__``. Par exemple, ``SYMFONY__DATABASE_DRIVER``. Vous pouvez lire `documentation Symfony <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ pour en savoir plus.
Pour définir des paramètres via des variables d'environnement, vous pouvez les spécifier avec le préfixe ``SYMFONY__``. Par exemple, ``SYMFONY__DATABASE_DRIVER``. Vous pouvez lire la `documentation Symfony <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ pour en savoir plus.
Sur un serveur mutualisé
~~~~~~~~~~~~~~~~~~~~~~~~

View file

@ -0,0 +1,50 @@
À quoi servent les paramètres ?
===============================
.. csv-table:: Paramètres de base de données
:header: "name", "default", "description"
"database_driver", "pdo_sqlite", "Doit être pdo_sqlite ou pdo_mysql ou pdo_pgsql"
"database_host", "127.0.0.1", "Hôte de votre base de données (généralement localhost ou 127.0.0.1)"
"database_port", "~", "Port de votre base de données (vous pouvez laisser ``~`` pour utiliser celui par défaut)"
"database_name", "symfony", "Nom de votre base de données"
"database_user", "root", "Utilisateur de votre base de données"
"database_password", "~", "Mot de passe de cet utilisateur"
"database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "Uniquement pour SQLite. Chemin du fichier de base de données. Laissez vide pour les autres bases de données."
"database_table_prefix", "wallabag_", "Toutes les tables de wallabag seront préfixées par cette chaine. Vous pouvez ajouter un ``_`` pour plus de clarté"
"database_socket", "null", "Si votre base de données utilise un socket plutôt que tcp, spécifiez le chemin du socket (les autres paramètres de connexion seront alors ignorés)"
.. csv-table:: Configuration pour envoyer des emails depuis wallabag
:header: "name", "default", "description"
"mailer_transport", "smtp", "Méthode de transport exacte utilisée pour envoyer des emails. Les valeurs correctes sont : smtp, gmail, mail, sendmail, null (ce qui désactivera l'envoi des emails)"
"mailer_host", "127.0.0.1", "Hôte sur lequel se connecter quand on utilise smtp comme transport."
"mailer_user", "~", "Utilisateur smtp."
"mailer_password", "~", "Mot de passe de cet utilisateur."
.. csv-table:: Autres options de wallabag
:header: "name", "default", "description"
"locale", "en", "Langue par défaut de votre instance wallabag (comme en, fr, es, etc.)"
"secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "C'est une chaine qui doit être unique à votre application et qui est couramment utilisée pour ajouter plus d'entropie aux opérations relatives à la sécurité."
"twofactor_auth", "true", "true pour activer l'authentification à deux facteurs"
"twofactor_sender", "no-reply@wallabag.org", "Email de l'expéditeur du code de l'authentification à deux facteurs"
"fosuser_registration", "true", "true pour activer l'inscription publique"
"fosuser_confirmation", "true", "true pour envoyer un email de confirmation pour chaque création de compte"
"from_email", "no-reply@wallabag.org", "Email de l'expéditeur pour chaque email envoyé"
"rss_limit", "50", "Limite pour les flux RSS"
.. csv-table:: Configuration RabbitMQ
:header: "name", "default", "description"
"rabbitmq_host", "localhost", "Hôte de votre instance RabbitMQ"
"rabbitmq_port", "5672", "Port de votre instance RabbitMQ"
"rabbitmq_user", "guest", "Utilisateur de votre instance RabbitMQ"
"rabbitmq_password", "guest", "Mot de passe de cet utilisateur"
.. csv-table:: Configuration Redis
:header: "name", "default", "description"
"redis_scheme", "tcp", "Définit le protocole utilisé pour commuiquer avec l'instance Redis. Les valeurs correctes sont : tcp, unix, http"
"redis_host", "localhost", "IP ou hôte du serveur cible (ignoré pour un schéma unix)"
"redis_port", "6379", "Port TCP/IP du serveur cible (ignoré pour un schéma unix)"
"redis_path", "null", "Chemin du fichier de socket du domaine UNIX utilisé quand on se connecte à Redis en utilisant les sockets du domaine UNIX"

View file

@ -1,4 +1,4 @@
Mettre à jour de la 2.0.x à la 2.1.y
Mettre à jour de la 2.0.x à la 2.1.1
====================================
.. warning::
@ -7,8 +7,6 @@ Avant cette migration, si vous aviez configuré l'import depuis Pocket en ajouta
Mise à jour sur un serveur dédié
--------------------------------
La dernière version de wallabag est publiée à cette adresse : https://www.wallabag.org/pages/download-wallabag.html. Pour mettre à jour votre installation de wallabag, exécutez les commandes suivantes dans votre répertoire d'installation (remplacez ``2.1.1`` par le numéro de la dernière version) :
::
rm -rf var/cache/*
@ -28,25 +26,45 @@ Téléchargez la dernière version de wallabag :
.. code-block:: bash
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
(hash md5 de l'archive 2.1.1 : ``9584a3b60a2b2a4de87f536548caac93``)
Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre.
Nous avons ajouté de nouveaux paramètres dans cette nouvelle version. Vous devez donc éditer le fichier ``app/config/parameters.yml`` en ajoutant ces lignes (et en remplaçant par votre configuration) :
Vérifiez que votre fichier ``app/config/parameters.yml`` contient tous les paramètres requis. Voici un fichier ``parameters.yml`` par défaut. Si vous ne savez pas quelle valeur mettre à un paramètre, laissez la valeur par défaut.
.. code-block:: bash
.. code-block:: yml
# RabbitMQ processing
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: null
database_name: symfony
database_user: root
database_password: null
database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
database_table_prefix: wallabag_
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
fosuser_registration: true
fosuser_confirmation: true
from_email: no-reply@wallabag.org
rss_limit: 50
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
redis_host: localhost
redis_port: 6379
# Redis processing
redis_host: localhost
redis_port: 6379
Vous trouverez `ici une documentation détaillée concernant les paramètres <http://doc.wallabag.org/fr/master/user/parameters.html>`_.
Si vous utilisez SQLite, vous devez également conserver le contenu du répertoire ``data/``.

View file

@ -1,17 +1,17 @@
Mettre à jour de la 2.0.x à la 2.0.y
Mettre à jour de la 2.1.x à la 2.1.y
====================================
Mise à jour sur un serveur dédié
--------------------------------
La dernière version de wallabag est publiée à cette adresse : https://www.wallabag.org/pages/download-wallabag.html. Pour mettre à jour votre installation de wallabag, exécutez les commandes suivantes dans votre répertoire d'installation (remplacez ``2.0.8`` par le numéro de la dernière version) :
La dernière version de wallabag est publiée à cette adresse : https://www.wallabag.org/pages/download-wallabag.html. Pour mettre à jour votre installation de wallabag, exécutez les commandes suivantes dans votre répertoire d'installation (remplacez ``2.1.2`` par le numéro de la dernière version) :
::
rm -rf var/cache/*
git fetch origin
git fetch --tags
git checkout 2.0.8
git checkout 2.1.2 --force
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console cache:clear --env=prod
@ -26,7 +26,7 @@ Téléchargez la dernière version de wallabag :
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
(hash md5 de l'archive 2.0.8 : ``4f84c725d1d6e3345eae0a406115e5ff``)
Vous trouverez `le hash md5 du dernier package sur notre site <https://www.wallabag.org/pages/download-wallabag.html>`_.
Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre.

7
scripts/dev.sh Normal file
View file

@ -0,0 +1,7 @@
#! /usr/bin/env bash
# You can execute this file to install wallabag dev environmnet
# eg: `sh install.sh prod`
composer install
php bin/console wallabag:install
php bin/console server:run

View file

@ -380,7 +380,7 @@ class InstallCommand extends ContainerAwareCommand
],
[
'name' => 'piwik_host',
'value' => 'http://v2.wallabag.org',
'value' => 'v2.wallabag.org',
'section' => 'analytics',
],
[

View file

@ -330,6 +330,15 @@ class EntryController extends Controller
$this->updateEntry($entry, 'entry_reloaded');
// if refreshing entry failed, don't save it
if ($this->getParameter('wallabag_core.fetching_error_message') === $entry->getContent()) {
$bag = $this->get('session')->getFlashBag();
$bag->clear();
$bag->add('notice', 'flashes.entry.notice.entry_reloaded_failed');
return $this->redirect($this->generateUrl('view', ['id' => $entry->getId()]));
}
$em = $this->getDoctrine()->getManager();
$em->persist($entry);
$em->flush();

View file

@ -122,7 +122,7 @@ class LoadSettingData extends AbstractFixture implements OrderedFixtureInterface
],
[
'name' => 'piwik_host',
'value' => 'http://v2.wallabag.org',
'value' => 'v2.wallabag.org',
'section' => 'analytics',
],
[

View file

@ -39,6 +39,8 @@ class Configuration implements ConfigurationInterface
->integerNode('cache_lifetime')
->defaultValue(10)
->end()
->scalarNode('fetching_error_message')
->end()
->end()
;

View file

@ -23,6 +23,7 @@ class WallabagCoreExtension extends Extension
$container->setParameter('wallabag_core.version', $config['version']);
$container->setParameter('wallabag_core.paypal_url', $config['paypal_url']);
$container->setParameter('wallabag_core.cache_lifetime', $config['cache_lifetime']);
$container->setParameter('wallabag_core.fetching_error_message', $config['fetching_error_message']);
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');

View file

@ -40,7 +40,7 @@ services:
class: Graby\Graby
arguments:
-
error_message: "wallabag can't retrieve contents for this article. Please report this issue to us."
error_message: '%wallabag_core.fetching_error_message%'
http_client:
user_agents:
'lifehacker.com': 'PHP/5.2'

View file

@ -457,6 +457,9 @@ user:
# delete_confirm: Are you sure?
# back_to_list: Back to list
error:
# page_title: An error occurred
flashes:
config:
notice:

View file

@ -11,8 +11,8 @@ security:
resetting:
description: "Gib unten deine E-Mail-Adresse ein und wir senden dir eine Anleitung für das Zurücksetzen deines Kennworts."
register:
page_title: 'Account erstellen'
go_to_account: 'Gehe zu deinem Account'
page_title: 'Konto erstellen'
go_to_account: 'Gehe zu deinem Konto'
menu:
left:
@ -53,7 +53,7 @@ config:
tab_menu:
settings: 'Einstellungen'
rss: 'RSS'
user_info: 'Benutzer-Information'
user_info: 'Benutzerinformation'
password: 'Kennwort'
rules: 'Tagging-Regeln'
new_user: 'Benutzer hinzufügen'
@ -73,18 +73,18 @@ config:
pocket_consumer_key_label: Consumer-Key für Pocket, um Inhalte zu importieren
form_rss:
description: 'Die RSS-Feeds von wallabag erlauben es dir, deine gespeicherten Artikel mit deinem bevorzugten RSS-Reader zu lesen. Vorher musst du jedoch einen Token erstellen.'
token_label: 'RSS-token'
token_label: 'RSS-Token'
no_token: 'Kein Token'
token_create: 'Token erstellen'
token_reset: 'Token zurücksetzen'
rss_links: 'RSS-Links'
rss_link:
unread: 'ungelesen'
starred: 'favoriten'
archive: 'archiv'
rss_limit: 'Anzahl der Einträge im Feed'
unread: 'Ungelesene'
starred: 'Favoriten'
archive: 'Archivierte'
rss_limit: 'Anzahl der Einträge pro Feed'
form_user:
two_factor_description: "Wenn du die Zwei-Faktor-Authentifizierung aktivierst, erhältst du eine E-Mail mit einem Code bei jeder nicht vertraulichen Verbindung"
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"
name_label: 'Name'
email_label: 'E-Mail-Adresse'
twoFactorAuthentication_label: 'Zwei-Faktor-Authentifizierung'
@ -114,10 +114,10 @@ config:
faq:
title: 'FAQ'
tagging_rules_definition_title: 'Was bedeuten die "Tagging-Regeln"?'
tagging_rules_definition_description: 'Dies sind Regeln von wallabag, um neu hinzugefügte Einträge autmatisch zu taggen.<br />Jedes Mal, wenn ein neuer Eintrag hinzufügt wird, werden die Tagging-Regeln angewandt. Dies erleichtert dir die Arbeit, deine Einträge manuell zu klassifizieren.'
tagging_rules_definition_description: 'Dies sind Regeln von wallabag, um neu hinzugefügte Einträge automatisch zu taggen.<br />Jedes Mal, wenn ein neuer Eintrag hinzugefügt wird, werden die Tagging-Regeln angewandt. Dies erleichtert dir die Arbeit, deine Einträge manuell zu kategorisieren.'
how_to_use_them_title: 'Wie nutze ich sie?'
how_to_use_them_description: 'Nehmen wir an, du möchtest deine Einträge als "<i>schnell lesbar</i>" taggen, wenn die Lesezeit kürzer als drei Minuten ist.<br />In diesem Falle solltest du "readingTime &lt;= 3" in das <i>Regel</i>-Feld und "<i>schnell lesbar</i>" in das <i>Tags</i>-Feld schreiben.<br />Mehrere Tags können gleichzeitig hinzugefügt werden, indem sie durch ein Kommata getrennt werden: "<i>schnell lesbar, interessant</i>"<br />Komplexe Regeln können durch vordefinierte Operatoren geschrieben werden: if "<i>readingTime &gt;= 5 AND domainName = "github.com"</i>" then tag as "<i>long reading, github </i>"'
variables_available_title: 'Welche Variablen und Operatoren kann ich nutzen, um Regeln zu schreiben?'
how_to_use_them_description: 'Nehmen wir an, du möchtest deine Einträge als "<i>schnell lesbar</i>" taggen, wenn die Lesezeit kürzer als drei Minuten ist.<br />In diesem Fall solltest du "readingTime &lt;= 3" in das Feld <i>Regel</i> und "<i>schnell lesbar</i>" in das Feld <i>Tags</i> schreiben.<br />Mehrere Tags können gleichzeitig hinzugefügt werden, indem sie durch ein Komma getrennt werden: "<i>schnell lesbar, interessant</i>".<br />Komplexe Regeln können durch vordefinierte Operatoren geschrieben werden: if "<i>readingTime &gt;= 5 AND domainName = "github.com"</i>" dann tagge als "<i>länger lesen, github</i>".'
variables_available_title: 'Welche Variablen und Operatoren kann ich benutzen, um Regeln zu schreiben?'
variables_available_description: 'Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen:'
meaning: 'Bedeutung'
variable_description:
@ -130,7 +130,7 @@ config:
language: "Sprache des Eintrags"
mimetype: "MIME-Typ des Eintrags"
readingTime: "Die geschätzte Lesezeit in Minuten"
domainName: 'Der Domain-Name des Eintrags'
domainName: 'Der Domainname des Eintrags'
operator_description:
label: 'Operator'
less_than: 'Weniger oder gleich als…'
@ -141,7 +141,7 @@ config:
not_equal_to: 'ungleich'
or: 'Eine Regel ODER die andere'
and: 'Eine Regel UND eine andere'
matches: 'Tests, ob eine <i>Variable</i> auf eine <i>Suche</i> zutrifft (Groß- und Kleinschreibung wird nicht berücksichtigt).<br />Beispiel: <code>title matches "Fußball"</code>'
matches: 'Testet, ob eine <i>Variable</i> auf eine <i>Suche</i> zutrifft (Groß- und Kleinschreibung wird nicht berücksichtigt).<br />Beispiel: <code>title matches "Fußball"</code>'
entry:
page_titles:
@ -159,13 +159,13 @@ entry:
number_of_tags: '{1}und ein anderer Tag|]1,Inf[und %count% andere Tags'
reading_time_minutes_short: '%readingTime% min'
reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
original_article: 'original'
original_article: 'Original'
toogle_as_read: 'Gelesen-Status ändern'
toogle_as_star: 'Favoriten-Status ändern'
delete: 'Löschen'
export_title: 'Exportieren'
filters:
title: 'Filters'
title: 'Filter'
status_label: 'Status'
archived_label: 'Archiviert'
starred_label: 'Favorisiert'
@ -177,14 +177,14 @@ entry:
label: 'Lesezeit in Minuten'
from: 'von'
to: 'bis'
domain_label: 'Domain-Name'
domain_label: 'Domainname'
created_at:
label: 'Erstellungsdatum'
from: 'von'
to: 'bis'
action:
clear: 'Zurücksetzen'
filter: 'Filter'
filter: 'Filtern'
view:
left_menu:
back_to_top: 'Nach oben'
@ -192,7 +192,7 @@ entry:
set_as_read: 'Als gelesen markieren'
set_as_unread: 'Als ungelesen markieren'
set_as_starred: 'Favorisieren'
view_original_article: 'Original-Artikel'
view_original_article: 'Originalartikel'
re_fetch_content: 'Inhalt neu laden'
delete: 'Löschen'
add_a_tag: 'Tag hinzufügen'
@ -221,7 +221,7 @@ entry:
is_public_label: 'Öffentlich'
save_label: 'Speichern'
public:
# shared_by_wallabag: "This article has been shared by <a href='%wallabag_instance%'>wallabag</a>"
shared_by_wallabag: "Dieser Artikel wurde mittels <a href='%wallabag_instance%'>wallabag</a> geteilt"
about:
page_title: 'Über'
@ -230,7 +230,7 @@ about:
getting_help: 'Hilfe bekommen'
helping: 'wallabag unterstützen'
contributors: 'Unterstützer'
third_party: 'Third-party libraries'
third_party: 'Bibliotheken von Drittanbietern'
who_behind_wallabag:
developped_by: 'Entwickelt von'
website: 'Webseite'
@ -240,12 +240,12 @@ about:
version: 'Version'
getting_help:
documentation: 'Dokumentation'
bug_reports: 'Bugs'
bug_reports: 'Fehlerberichte'
support: '<a href="https://support.wallabag.org">Auf unserer Support-Webseite</a> oder <a href="https://github.com/wallabag/wallabag/issues">auf GitHub</a>'
helping:
description: 'wallabag ist kostenlos und Open-Source. Du kannst uns helfen:'
description: 'wallabag ist frei und Open Source. Du kannst uns helfen:'
by_contributing: 'indem du zu dem Projekt beiträgst:'
by_contributing_2: 'ein Issue listet alle unsere Bedürfnisse:'
by_contributing_2: 'ein Ticket listet alle unsere Bedürfnisse:'
by_paypal: 'via PayPal'
contributors:
description: 'Ein Dankeschön an die Unterstützer von wallabag'
@ -258,11 +258,11 @@ howto:
page_title: 'How-To'
page_description: 'Es gibt mehrere Möglichkeiten, einen Artikel zu speichern:'
top_menu:
browser_addons: 'Browser-Addons'
browser_addons: 'Browser-Erweiterungen'
mobile_apps: 'Apps'
bookmarklet: 'Bookmarklet'
bookmarklet: 'Lesezeichen'
form:
description: 'Danke an dieses Formular'
description: 'Dank dieses Formulars'
browser_addons:
firefox: 'Firefox-Erweiterung'
chrome: 'Chrome-Erweiterung'
@ -291,16 +291,16 @@ quickstart:
admin:
title: 'Administration'
description: 'Als Adminstrator hast du einige Privilegien. Du kannst:'
new_user: 'Einen neuen Nutzer anlegen'
new_user: 'Einen neuen Benutzer anlegen'
analytics: 'das Tracking konfigurieren'
sharing: 'Einige Parameter für das Teilen von Artikel setzen'
export: 'Export-Einstellungen ändern'
import: 'Import-Einstellungen ändern'
first_steps:
title: 'Erste Schritte'
description: "Jetzt ist wallabag gut konfiguriert, es ist Zeit das Web zu archivieren. Du kannst auf das Plussymbol + oben rechts klicken, um einen Link hinzuzufügen"
description: "Jetzt ist wallabag gut konfiguriert, es ist Zeit, das Web zu archivieren. Du kannst auf das Plussymbol + oben rechts klicken, um einen Link hinzuzufügen"
new_article: 'Speichere deinen ersten Artikel'
unread_articles: 'Und klassifiziere ihn!'
unread_articles: 'Und kategorisiere ihn!'
migrate:
title: 'Von einem anderen Dienst migrieren'
description: "Du nutzt einen anderen Dienst? Wir helfen dir, um deine Daten zu wallabag zu transportieren."
@ -333,7 +333,7 @@ tag:
page_title: 'Tags'
list:
number_on_the_page: '{0} Es gibt keine Tags.|{1} Es gibt einen Tag.|]1,Inf[ Es gibt %count% Tags.'
see_untagged_entries: 'Siehe nicht getaggte Einträge'
see_untagged_entries: 'Zeige nicht getaggte Einträge'
import:
page_title: 'Importieren'
@ -350,14 +350,14 @@ import:
description: "Dieser Importer wird all deine Pocket-Daten importieren. Pocket erlaubt es uns nicht, den Inhalt zu migrieren, daher wird der lesbare Inhalt erneut von wallabag heruntergeladen."
config_missing:
description: "Pocket-Import ist nicht konfiguriert."
admin_message: 'Du musst noch den %keyurls%a pocket_consumer_key%keyurle% definieren.'
user_message: 'Der Server-Administrator muss noch einen API-Key für Pocket konfigurieren.'
authorize_message: 'Du kannst deine Daten von deinem Pocket-Account importieren. Dazu musst du nur den nachfolgenden Button klicken und die Anwendung authentifizieren, sich mit getpocket.com zu verbinden.'
admin_message: 'Du musst noch den %keyurls%pocket_consumer_key%keyurle% eintragen.'
user_message: 'Der Administrator des Servers muss noch einen API-Schlüssel für Pocket konfigurieren.'
authorize_message: 'Du kannst deine Daten von deinem Pocket-Konto importieren. Dazu musst du nur den nachfolgenden Button klicken und die Anwendung authentifizieren, sich mit getpocket.com zu verbinden zu dürfen.'
connect_to_pocket: 'Mit Pocket verbinden und Daten importieren'
wallabag_v1:
page_title: 'Aus wallabag v1 importieren'
description: 'Dieser Import wird all deine Artikel aus wallabag v1 importieren. Klicke auf der Konfigurations-Seite auf "JSON-Export" im "wallabag-Daten exportieren"-Abschnitt. Du erhältst eine "wallabag-export-1-xxxx-xx-xx.json"-Datei.'
how_to: 'Wähle die Export-Datei aus und klicke den nachfolgenden Button, um diese hochzuladen und zu importieren.'
description: 'Dieser Import wird all deine Artikel aus wallabag v1 importieren. Klicke in der Konfigurationsseite auf "JSON-Export" im "wallabag-Daten exportieren"-Abschnitt. Du erhältst eine "wallabag-export-1-xxxx-xx-xx.json"-Datei.'
how_to: 'Wähle die exportierte Datei aus und klicke den nachfolgenden Button, um diese hochzuladen und zu importieren.'
wallabag_v2:
page_title: 'Aus wallabag v2 importieren'
description: 'Dieser Import wird all deine Artikel aus wallabag v2 importieren. Gehe auf "Alle Artikel" und dann, in der Exportieren-Seitenleiste auf "JSON". Dabei erhältst du eine "All articles.json"-Datei.'
@ -369,11 +369,11 @@ import:
enabled: "Der Import erfolgt asynchron. Sobald der Import gestartet ist, wird diese Aufgabe extern abgearbeitet. Der aktuelle Service dafür ist:"
firefox:
page_title: 'Aus Firefox importieren'
description: "Dieser Import wird all deine Firefox Lesezeichen importieren. Gehe zu deinen Lesezeichen (Strg+Shift+O), dann auf \"Importen und Sichern\", wähle \"Sichern…\". Du erhälst eine .json Datei."
description: "Dieser Import wird all deine Lesezeichen aus Firefox importieren. Gehe zu deinen Lesezeichen (Strg+Shift+O), dann auf \"Importen und Sichern\", wähle \"Sichern…\". Du erhälst eine .json Datei."
how_to: "Bitte wähle deine Lesezeichensicherungsdatei aus und klicke den nachfolgenden Button zum Importieren. Beachte, dass dieser Prozess eine lange Zeit in Anspruch nehmen kann, da alle Artikel geladen werden müssen."
chrome:
page_title: 'Aus Chrome importieren'
description: "Dieser Import wird all deine Chrome Lesezeichen importieren. Der Pfad zu der Datei hängt von deinem Betriebssystem ab: <ul><li>In Linux gehst du zu dem <code>~/.config/chromium/Default/</code> Verzeichnis</li><li>In Windows sollte es unter <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code> sein</li><li>In OS X sollte es unter <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code> sein</li></ul>Wenn du dort angekommen bist, kopiere die Lesezeichendatei zu einem Ort, den du später wiederfindest.<em><br>Beachte falls du Chromium statt Chrome hast, dass du den zuvor genannten Pfad entsprechend anpasst.</em></p>"
description: "Dieser Import wird all deine Lesezeichen aus Chrome importieren. Der Pfad zu der Datei hängt von deinem Betriebssystem ab: <ul><li>In Linux gehst du zu dem <code>~/.config/chromium/Default/</code> Verzeichnis</li><li>In Windows sollte es unter <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code> sein</li><li>In OS X sollte es unter <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code> sein</li></ul>Wenn du dort angekommen bist, kopiere die Lesezeichendatei <code>Bookmarks</code> zu einem Ort, den du später wiederfindest.<em><br>Beachte falls du Chromium statt Chrome hast, dass du den zuvor genannten Pfad entsprechend anpasst.</em></p>"
how_to: "Bitte wähle deine Lesezeichensicherungsdatei aus und klicke den nachfolgenden Button zum Importieren. Beachte, dass dieser Prozess eine lange Zeit in Anspruch nehmen kann, da alle Artikel geladen werden müssen."
instapaper:
page_title: 'Aus Instapaper importieren'
@ -382,7 +382,7 @@ import:
developer:
page_title: 'Entwickler'
welcome_message: 'Willkomen zur wallabag-API'
welcome_message: 'Willkomen zur wallabag API'
documentation: 'Dokumentation'
how_to_first_app: 'Wie erstelle ich meine erste Anwendung'
full_documentation: 'Komplette API-Dokumentation einsehen'
@ -399,7 +399,7 @@ developer:
no_client: 'Bisher kein Client.'
remove:
warn_message_1: 'Du hast die Möglichkeit, diesen Client zu entfernen. DIESE AKTION IST NICHT WIDERRUFBAR!'
warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Account anzumelden."
warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Konto anzumelden."
action: 'Client entfernen'
client:
page_title: 'Entwickler > Neuer Client'
@ -457,12 +457,15 @@ user:
delete_confirm: Bist du sicher?
back_to_list: Zurück zur Liste
error:
# page_title: An error occurred
flashes:
config:
notice:
config_saved: 'Konfiguration gespeichert. Einige Einstellungen werden erst nach einer erneuten Anmeldung übernommen.'
password_updated: 'Kennwort aktualisiert'
password_not_updated_demo: "Im Test-Modus kannst du das Kennwort nicht ändern."
password_not_updated_demo: "Im Testmodus kannst du das Kennwort nicht ändern."
user_updated: 'Information aktualisiert'
rss_updated: 'RSS-Informationen aktualisiert'
tagging_rules_updated: 'Tagging-Regeln aktualisiert'
@ -480,11 +483,11 @@ flashes:
entry_updated: 'Eintrag aktualisiert'
entry_reloaded: 'Eintrag neugeladen'
entry_reloaded_failed: 'Eintrag neugeladen, aber das Abrufen des Inhalts ist fehlgeschlagen'
entry_archived: 'Artikel archiviert'
entry_unarchived: 'Artikel dearchiviert'
entry_starred: 'Artikel favorisiert'
entry_unstarred: 'Artikel defavorisiert'
entry_deleted: 'Artikel gelöscht'
entry_archived: 'Eintrag archiviert'
entry_unarchived: 'Eintrag dearchiviert'
entry_starred: 'Eintrag favorisiert'
entry_unstarred: 'Eintrag defavorisiert'
entry_deleted: 'Eintrag gelöscht'
tag:
notice:
tag_added: 'Tag hinzugefügt'
@ -492,8 +495,8 @@ flashes:
notice:
failed: 'Import fehlgeschlagen, bitte erneut probieren.'
failed_on_file: 'Fehler während des Imports. Bitte überprüfe deine Import-Datei.'
summary: 'Import-Zusammenfassung: %imported% importiert, %skipped% bereits gespeichert.'
summary_with_queue: 'Import-Zusammenfassung: %queued% eingereiht.'
summary: 'Importzusammenfassung: %imported% importiert, %skipped% bereits gespeichert.'
summary_with_queue: 'Importzusammenfassung: %queued% eingereiht.'
error:
redis_enabled_not_installed: 'Redis ist aktiviert, um den asynchronen Import zu bewerkstelligen, aber es sieht so aus, dass <u>wir keine Verbindung herstellen können</u>. Bitte prüfe deine Redis-Konfiguration.'
rabbit_enabled_not_installed: 'RabbitMQ ist aktiviert, um den asynchronen Import zu bewerkstelligen, aber es sieht so aus, dass <u>wir keine Verbindung herstellen können</u>. Bitte prüfe deine RabbitMQ-Konfiguration.'

View file

@ -373,7 +373,7 @@ import:
how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
chrome:
page_title: 'Import > Chrome'
description: "This importer will import all your Chrome bookmarks. The location of the file depends on your operating system : <ul><li>On Linux, go into the <code>~/.config/chromium/Default/</code> directory</li><li>On Windows, it should be at <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code></li><li>On OS X, it should be at <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Once you got there, copy the Bookmarks file someplace you'll find.<em><br>Note that if you have Chromium instead of Chrome, you'll have to correct paths accordingly.</em></p>"
description: "This importer will import all your Chrome bookmarks. The location of the file depends on your operating system : <ul><li>On Linux, go into the <code>~/.config/chromium/Default/</code> directory</li><li>On Windows, it should be at <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code></li><li>On OS X, it should be at <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Once you got there, copy the <code>Bookmarks</code> file someplace you'll find.<em><br>Note that if you have Chromium instead of Chrome, you'll have to correct paths accordingly.</em></p>"
how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
instapaper:
page_title: 'Import > Instapaper'
@ -457,6 +457,9 @@ user:
delete_confirm: Are you sure?
back_to_list: Back to list
error:
page_title: An error occurred
flashes:
config:
notice:

View file

@ -457,6 +457,9 @@ user:
# delete_confirm: Are you sure?
# back_to_list: Back to list
error:
# page_title: An error occurred
flashes:
config:
notice:

View file

@ -456,6 +456,9 @@ user:
# delete_confirm: Are you sure?
# back_to_list: Back to list
error:
# page_title: An error occurred
flashes:
config:
notice:

View file

@ -377,7 +377,7 @@ import:
how_to: "Choisissez le fichier de sauvegarde de vos marques-page et cliquez sur le bouton pour l'importer. Soyez avertis que le processus peut prendre un temps assez long car tous les articles doivent être récupérés en ligne."
instapaper:
page_title: 'Import > Instapaper'
description: 'Sur la page des paramètres (`https://www.instapaper.com/user<https://www.instapaper.com/user>`_), cliquez sur "Download .CSV file" dans la section "Export". Un fichier CSV se téléchargera ("instapaper-export.csv").'
description: 'Sur la page des paramètres (https://www.instapaper.com/user), cliquez sur "Download .CSV file" dans la section "Export". Un fichier CSV se téléchargera ("instapaper-export.csv").'
how_to: "Choisissez le fichier de votre export Instapaper et cliquez sur le bouton ci-dessous pour l'importer."
developer:
@ -457,6 +457,9 @@ user:
delete_confirm: Êtes-vous sûr?
back_to_list: Revenir à la liste
error:
page_title: Une erreur est survenue
flashes:
config:
notice:

View file

@ -457,6 +457,9 @@ user:
# delete_confirm: Are you sure?
# back_to_list: Back to list
error:
# page_title: An error occurred
flashes:
config:
notice:

View file

@ -457,6 +457,9 @@ user:
delete_confirm: 'Sètz segur ?'
back_to_list: 'Tornar a la lista'
error:
# page_title: An error occurred
flashes:
config:
notice:

View file

@ -457,6 +457,9 @@ user:
delete_confirm: Jesteś pewien?
back_to_list: Powrót do listy
error:
# page_title: An error occurred
flashes:
config:
notice:

View file

@ -457,6 +457,9 @@ user:
# delete_confirm: Are you sure?
# back_to_list: Back to list
error:
# page_title: An error occurred
flashes:
config:
notice:

View file

@ -456,6 +456,9 @@ user:
# delete_confirm: Are you sure?
# back_to_list: Back to list
error:
# page_title: An error occurred
flashes:
config:
notice:

View file

@ -23,12 +23,12 @@
{% block menu %}
<button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button>
<ul id="links" class="links">
<li><a href="{{ path('unread') }}">{{ 'menu.left.unread'|trans }}</a></li>
<li><a href="{{ path('starred') }}">{{ 'menu.left.starred'|trans }}</a></li>
<li><a href="{{ path('archive') }}">{{ 'menu.left.archive'|trans }}</a></li>
<li><a href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }}</a></li>
<li><a href="{{ path('tag') }}">{{ 'menu.left.tags'|trans }}</a></li>
<li><a href="{{ path('new') }}">{{ 'menu.left.save_link'|trans }}</a></li>
<li class="menu unread"><a href="{{ path('unread') }}">{{ 'menu.left.unread'|trans }}</a></li>
<li class="menu starred"><a href="{{ path('starred') }}">{{ 'menu.left.starred'|trans }}</a></li>
<li class="menu archive"><a href="{{ path('archive') }}">{{ 'menu.left.archive'|trans }}</a></li>
<li class="menu all"><a href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }}</a></li>
<li class="menu tag"><a href="{{ path('tag') }}">{{ 'menu.left.tags'|trans }}</a></li>
<li class="menu new"><a href="{{ path('new') }}">{{ 'menu.left.save_link'|trans }}</a></li>
<!--<li style="position: relative;"><a href="javascript: void(null);" id="search">{{ 'menu.left.search'|trans }}</a>
<div id="search-form" class="messages info popup-form">
<form method="get" action="index.php">
@ -40,16 +40,16 @@
</form>
</div>
</li>-->
<li><a href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a></li>
<li class="menu config"><a href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a></li>
{% if is_granted('ROLE_SUPER_ADMIN') %}
<li><a href="{{ path('user_index') }}">{{ 'menu.left.users_management'|trans }}</a></li>
<li><a href="{{ path('craue_config_settings_modify') }}">{{ 'menu.left.internal_settings'|trans }}</a></li>
<li class="menu users"><a href="{{ path('user_index') }}">{{ 'menu.left.users_management'|trans }}</a></li>
<li class="menu internal"><a href="{{ path('craue_config_settings_modify') }}">{{ 'menu.left.internal_settings'|trans }}</a></li>
{% endif %}
<li><a href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a></li>
<li><a href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a></li>
<li><a href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a></li>
<li><a href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a></li>
<li><a class="icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a></li>
<li class="menu import"><a href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a></li>
<li class="menu howto"><a href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a></li>
<li class="menu developer"><a href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a></li>
<li class="menu about"><a href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a></li>
<li class="menu logout"><a class="icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a></li>
</ul>
{% endblock %}

View file

@ -39,7 +39,7 @@
<meta name="twitter:image" content="{{ picturePath }}" />
<meta name="twitter:site" content="@wallabagapp" />
<meta name="twitter:title" content="{{ entry.title | raw }}" />
<meta name="twitter:description" content="{{ entry.title | raw }}" />
<meta name="twitter:description" content="{{ entry.content|striptags|slice(0, 300)|raw }}&hellip;" />
</head>
<body>
<header>

View file

@ -11,11 +11,11 @@
<div class="row">
<div class="div_tabs col s12">
<ul class="tabs">
<li class="tab col s3"><a class="active" href="#set1">{{ 'about.top_menu.who_behind_wallabag'|trans }}</a></li>
<li class="tab col s3"><a href="#set2">{{ 'about.top_menu.getting_help'|trans }}</a></li>
<li class="tab col s3"><a href="#set3">{{ 'about.top_menu.helping'|trans }}</a></li>
<li class="tab col s3"><a href="#set4">{{ 'about.top_menu.contributors'|trans }}</a></li>
<li class="tab col s3"><a href="#set5">{{ 'about.top_menu.third_party'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a class="active" href="#set1">{{ 'about.top_menu.who_behind_wallabag'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set2">{{ 'about.top_menu.getting_help'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set3">{{ 'about.top_menu.helping'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set4">{{ 'about.top_menu.contributors'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set5">{{ 'about.top_menu.third_party'|trans }}</a></li>
</ul>
</div>
@ -36,6 +36,7 @@
<dt>{{ 'about.getting_help.documentation'|trans }}</dt>
<dd><a href="http://doc.wallabag.org/en/master/">english</a></dd>
<dd><a href="http://doc.wallabag.org/fr/master/">français</a></dd>
<dd><a href="http://doc.wallabag.org/de/master/">deutsch</a></dd>
<dt>{{ 'about.getting_help.bug_reports'|trans }}</dt>
<dd>{{ 'about.getting_help.support'|trans|raw }}</dd>

View file

@ -11,11 +11,11 @@
<div class="row">
<div class="div_tabs col s12">
<ul class="tabs">
<li class="tab col s3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li>
<li class="tab col s3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li>
<li class="tab col s3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li>
<li class="tab col s3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li>
<li class="tab col s3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li>
</ul>
</div>

View file

@ -138,8 +138,11 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
$interval = $user->getCreatedAt()->diff(new \DateTime('now'));
$nbDays = (int) $interval->format('%a') ?: 1;
// force setlocale for date translation
setlocale(LC_TIME, strtolower($user->getConfig()->getLanguage()).'_'.strtoupper(strtolower($user->getConfig()->getLanguage())));
return $this->translator->trans('footer.stats', [
'%user_creation%' => $user->getCreatedAt()->format('F jS, Y'),
'%user_creation%' => strftime('%e %B %Y', $user->getCreatedAt()->getTimestamp()),
'%nb_archives%' => $nbArchives,
'%per_day%' => round($nbArchives / $nbDays, 2),
]);

View file

@ -50,9 +50,10 @@ abstract class AbstractConsumer
$entry = $this->import->parseEntry($storedEntry);
if (null === $entry) {
$this->logger->warning('Unable to parse entry', ['entry' => $storedEntry]);
$this->logger->warning('Entry already exists', ['entry' => $storedEntry]);
return false;
// return true to skip message
return true;
}
try {

View file

@ -139,12 +139,24 @@ abstract class BrowserImport extends AbstractImport
public function parseEntry(array $importedEntry)
{
if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && is_array(reset($importedEntry))) {
if ($this->producer) {
$this->parseEntriesForProducer($importedEntry);
return;
}
$this->parseEntries($importedEntry);
return;
}
if (array_key_exists('children', $importedEntry)) {
if ($this->producer) {
$this->parseEntriesForProducer($importedEntry['children']);
return;
}
$this->parseEntries($importedEntry['children']);
return;

View file

@ -5,11 +5,11 @@
<div class="card-content">
{% if error %}
<span class="black-text">{{ error.message }}</span>
<script>Materialize.toast('{{ error.message }}', 4000)</script>
{% endif %}
{% for flashMessage in app.session.flashbag.get('notice') %}
<span class="black-text"><p>{{ flashMessage }}</p></span>
<script>Materialize.toast('{{ flashMessage }}')</script>
{% endfor %}
<div class="row">
@ -41,7 +41,7 @@
<i class="material-icons right">send</i>
</button>
</div>
<div class="row center">
<div class="card-action center">
<a href="{{ path('fos_user_resetting_request') }}">{{ 'security.login.forgot_password'|trans }}</a>
</div>
</form>

View file

@ -359,11 +359,49 @@ class EntryControllerTest extends WallabagCoreTestCase
$content = $em
->getRepository('WallabagCoreBundle:Entry')
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
->find($content->getId());
$this->assertNotEmpty($content->getContent());
}
/**
* @depends testPostNewOk
*/
public function testReloadWithFetchingFailed()
{
$this->logInAs('admin');
$client = $this->getClient();
$em = $client->getContainer()
->get('doctrine.orm.entity_manager');
$content = $em
->getRepository('WallabagCoreBundle:Entry')
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
// put a known failed url
$content->setUrl('http://0.0.0.0/failed.html');
$em->persist($content);
$em->flush();
$client->request('GET', '/reload/'.$content->getId());
$this->assertEquals(302, $client->getResponse()->getStatusCode());
// force EntityManager to clear previous entity
// otherwise, retrieve the same entity will retrieve change from the previous request :0
$em->clear();
$newContent = $em
->getRepository('WallabagCoreBundle:Entry')
->find($content->getId());
$newContent->setUrl($this->url);
$em->persist($newContent);
$em->flush();
$this->assertNotEquals($client->getContainer()->getParameter('wallabag_core.fetching_error_message'), $newContent->getContent());
}
public function testEdit()
{
$this->logInAs('admin');

View file

@ -219,7 +219,7 @@ JSON;
$res = $consumer->manage($body);
$this->assertFalse($res);
$this->assertTrue($res);
$this->assertFalse($consumer->isStopJob($body));
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long