forked from wallabag/wallabag
Compare commits
1 Commits
2.0.0
...
2.0.0-beta
| Author | SHA1 | Date | |
|---|---|---|---|
| 94314e14ee |
1
.github/ISSUE_TEMPLATE.md
vendored
1
.github/ISSUE_TEMPLATE.md
vendored
@ -6,7 +6,6 @@ Remember, this is _not_ a place to ask questions. For that, go to http://gitter.
|
|||||||
### Environment
|
### Environment
|
||||||
|
|
||||||
* wallabag version (or git revision) that exhibits the issue:
|
* wallabag version (or git revision) that exhibits the issue:
|
||||||
* How did you install wallabag? Via `composer create-project` or by downloading the package?
|
|
||||||
* Last wallabag version that did not exhibit the issue (if applicable):
|
* Last wallabag version that did not exhibit the issue (if applicable):
|
||||||
* php version:
|
* php version:
|
||||||
* OS:
|
* OS:
|
||||||
|
|||||||
14
.travis.yml
14
.travis.yml
@ -11,7 +11,6 @@ addons:
|
|||||||
|
|
||||||
# cache vendor dirs
|
# cache vendor dirs
|
||||||
cache:
|
cache:
|
||||||
apt: true
|
|
||||||
directories:
|
directories:
|
||||||
- vendor
|
- vendor
|
||||||
- $HOME/.composer/cache
|
- $HOME/.composer/cache
|
||||||
@ -23,15 +22,12 @@ php:
|
|||||||
- hhvm
|
- hhvm
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- DB=mysql
|
- DB=mysql
|
||||||
- DB=pgsql
|
- DB=pgsql
|
||||||
- DB=sqlite
|
- DB=sqlite
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
include:
|
|
||||||
- php: 7.0
|
|
||||||
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run DB=sqlite
|
|
||||||
exclude:
|
exclude:
|
||||||
- php: hhvm
|
- php: hhvm
|
||||||
env: DB=pgsql # driver for PostgreSQL currently unsupported by HHVM, requires 3rd party dependency
|
env: DB=pgsql # driver for PostgreSQL currently unsupported by HHVM, requires 3rd party dependency
|
||||||
@ -54,8 +50,6 @@ before_install:
|
|||||||
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
|
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- travis_wait composer install --no-interaction --no-progress --prefer-dist -o
|
- travis_wait composer update --no-interaction --no-progress
|
||||||
- ant prepare-$DB
|
- ant prepare-$DB
|
||||||
- bin/phpunit -v
|
- bin/phpunit -v
|
||||||
- if [ "$CS_FIXER" = "run" ]; then php bin/php-cs-fixer fix src/ --verbose --dry-run ; fi;
|
|
||||||
- if [ "$VALIDATE_TRANSLATION_FILE" = "run" ]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations ; fi;
|
|
||||||
|
|||||||
15
README.md
15
README.md
@ -8,18 +8,15 @@ Click, save and read it when you can. It extracts content so that you can read i
|
|||||||
|
|
||||||
More informations on our website: [wallabag.org](https://wallabag.org)
|
More informations on our website: [wallabag.org](https://wallabag.org)
|
||||||
|
|
||||||
# Install wallabag
|
# Want to test the v2?
|
||||||
|
Keep in mind it's an **unstable** branch, everything can be broken :)
|
||||||
|
|
||||||
If you don't have it yet, please [install composer](https://getcomposer.org/download/).
|
If you don't have it yet, please [install composer](https://getcomposer.org/download/). Then you can install wallabag by executing the following commands:
|
||||||
Then you can install wallabag by executing the following commands:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/wallabag/wallabag.git
|
SYMFONY_ENV=prod composer create-project wallabag/wallabag wallabag "2.0.0-beta.1" --no-dev
|
||||||
cd wallabag
|
php bin/console wallabag:install --env=prod
|
||||||
git checkout 2.0.0
|
php bin/console server:run --env=prod
|
||||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
|
||||||
php bin/console wallabag:install --env=prod
|
|
||||||
php bin/console server:run --env=prod
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|||||||
@ -1,67 +0,0 @@
|
|||||||
## Definition
|
|
||||||
|
|
||||||
A release is mostly a git tag of http://github.com/wallabag/wallabag, following [semantic versioning](http://semver.org).
|
|
||||||
The last release at the time of writing is 2.0.0-alpha.2, from the v2 branch.
|
|
||||||
|
|
||||||
### Steps to release
|
|
||||||
|
|
||||||
During this documentation, we assume the release is `release-2.0.0-beta.1`.
|
|
||||||
|
|
||||||
#### Files to edit
|
|
||||||
|
|
||||||
- `app/config/config.yml` (`wallabag_core.version`)
|
|
||||||
- `README.md` (`composer create-project` command)
|
|
||||||
- `docs/en/user/installation.rst` and its translations (`composer create-project` command)
|
|
||||||
|
|
||||||
#### Create release on GitHub
|
|
||||||
|
|
||||||
- Run these commands to create the tag:
|
|
||||||
|
|
||||||
```
|
|
||||||
git checkout v2
|
|
||||||
git pull origin v2
|
|
||||||
git checkout -b release-2.0.0-beta.1
|
|
||||||
SYMFONY_ENV=prod composer up --no-dev
|
|
||||||
git add --force composer.lock
|
|
||||||
git add README.md
|
|
||||||
git commit -m "Release wallabag 2.0.0-beta.1"
|
|
||||||
git push origin release-2.0.0-beta.1
|
|
||||||
```
|
|
||||||
|
|
||||||
- Create a new pull request with this title `DON'T MERGE Release wallabag 2.0.0-beta.1`. This pull request is used to launch builds on Travis-CI.
|
|
||||||
- Run these commands to create the package:
|
|
||||||
|
|
||||||
```
|
|
||||||
git clone git@github.com:wallabag/wallabag.git -b release-2.0.0-beta.1 release-2.0.0-beta.1
|
|
||||||
SYMFONY_ENV=prod composer up -d=release-2.0.0-beta.1 --no-dev
|
|
||||||
tar czf wallabag-release-2.0.0-beta.1.tar.gz --exclude="var/*" --exclude=".git" release-2.0.0-beta.1
|
|
||||||
```
|
|
||||||
|
|
||||||
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new). You have to upload on this page the package.
|
|
||||||
- Delete the `release-2.0.0-beta.1` branch and close the pull request (**DO NOT MERGE IT**).
|
|
||||||
- Update the URL shortener (used on `wllbg.org` to generate links like `http://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`)
|
|
||||||
- Update [the downloads page](https://github.com/wallabag/wallabag.org/blob/master/content/pages/download.md) on the website (MD5 sum, release date)
|
|
||||||
- Drink a beer!
|
|
||||||
|
|
||||||
### `composer.lock`
|
|
||||||
A release tag must contain a `composer.lock` file. It sets which dependencies were available at the time a release was done,
|
|
||||||
making it easier to fix issues after the release. It also speeds up `composer install` on stable versions a LOT, by skipping the
|
|
||||||
dependencies resolution part.
|
|
||||||
|
|
||||||
Since `composer.lock` is ignored by default, either it must be removed from `.gitignore` _in the release branch_,
|
|
||||||
or it must be added using `git add --force composer.lock`.
|
|
||||||
|
|
||||||
### Target PHP version
|
|
||||||
`composer.lock` is _always_ built for a particular version, by default the one it is generated (with `composer update`).
|
|
||||||
|
|
||||||
If the PHP version used to generate the .lock isn't a widely available one (like PHP 7), a more common one should
|
|
||||||
be locally specified in `composer.lock`:
|
|
||||||
|
|
||||||
```json
|
|
||||||
"config": {
|
|
||||||
"platform": {
|
|
||||||
"php": "5.5.9",
|
|
||||||
"ext-something": "4.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
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_pdf: PDF-Export aktivieren
|
|
||||||
export_csv: CSV-Export aktivieren
|
|
||||||
export_json: JSON-Export aktivieren
|
|
||||||
export_txt: TXT-Export aktivieren
|
|
||||||
export_xml: XML-Export aktivieren
|
|
||||||
pocket_consumer_key: Consumer-Key für Pocket, um Inhalte zu importieren (https://getpocket.com/developer/docs/authentication)
|
|
||||||
shaarli_url: Shaarli-URL, sofern der Service aktiviert ist
|
|
||||||
share_diaspora: Teilen zu Diaspora aktiveren
|
|
||||||
share_mail: Teilen via E-Mail aktiveren
|
|
||||||
share_shaarli: Teilen zu Shaarli aktiveren
|
|
||||||
share_twitter: Teilen zu Twitter aktiveren
|
|
||||||
show_printlink: Link anzeigen, um den Inhalt auszudrucken
|
|
||||||
wallabag_support_url: Support-URL für wallabag
|
|
||||||
wallabag_url: URL von *deiner* wallabag-Instanz
|
|
||||||
entry: "Artikel"
|
|
||||||
export: "Export"
|
|
||||||
import: "Import"
|
|
||||||
misc: "Verschiedenes"
|
|
||||||
modify_settings: "Übernehmen"
|
|
||||||
piwik_host: Host deiner Webseite in Piwik
|
|
||||||
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"
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
download_pictures: Descagar imagenes
|
|
||||||
carrot: Activar compartir con Carrot
|
|
||||||
diaspora_url: Diaspora URL, si el servicio esta activado
|
|
||||||
export_epub: Activar exportación a ePub
|
|
||||||
export_mobi: Activar exportación a .mobi
|
|
||||||
export_pdf: Activar exportación a PDF
|
|
||||||
export_csv: Activar exportación a CSV
|
|
||||||
export_json: Activar exportación a JSON
|
|
||||||
export_txt: Activar exportación a TXT
|
|
||||||
export_xml: Activar exportación a XML
|
|
||||||
pocket_consumer_key: Consumer key for Pocket to import contents (https://getpocket.com/developer/docs/authentication)
|
|
||||||
shaarli_url: Shaarli URL, si el servicio está activado
|
|
||||||
share_diaspora: Activar compartir con Diaspora
|
|
||||||
share_mail: Activar compartir con email
|
|
||||||
share_shaarli: Activar compartir con Shaarli
|
|
||||||
share_twitter: Activar compartir con Twitter
|
|
||||||
show_printlink: Mostrar un link para imprimir contenido
|
|
||||||
wallabag_support_url: URL de soporte de wallabag
|
|
||||||
wallabag_url: URL de *tu* instancia de wallabag
|
|
||||||
entry: "artículo"
|
|
||||||
export: "exportar"
|
|
||||||
import: "importar"
|
|
||||||
misc: "misc"
|
|
||||||
modify_settings: "modificar configuración"
|
|
||||||
piwik_host: Host de tu website de Piwik
|
|
||||||
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)"
|
|
||||||
demo_mode_username: "Nombre de usuario demo"
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
download_pictures: Telecargar los imatges sul servidor
|
|
||||||
carrot: Activar lo partatge cap a Carrot
|
|
||||||
diaspora_url: URL de Diaspora, se lo servici Diaspora es activat
|
|
||||||
export_epub: Activar l'expòrt ePub
|
|
||||||
export_mobi: Activar l'expòrt .mobi
|
|
||||||
export_pdf: Activar l'expòrt PDF
|
|
||||||
export_csv: Activar l'expòrt CSV
|
|
||||||
export_json: Activar l'expòrt JSON
|
|
||||||
export_txt: Activar l'expòrt TXT
|
|
||||||
export_xml: Activar l'expòrt XML
|
|
||||||
pocket_consumer_key: Clau d'autentificacion Pocket per importar las donadas (https://getpocket.com/developer/docs/authentication)
|
|
||||||
shaarli_url: URL de Shaarli, se lo servici Shaarli es activat
|
|
||||||
share_diaspora: Activar lo partatge cap a Diaspora
|
|
||||||
share_mail: Activar lo partatge per corrièl
|
|
||||||
share_shaarli: Activar lo partatge cap a Shaarli
|
|
||||||
share_twitter: Activar lo partatge cap a Twitter
|
|
||||||
show_printlink: Afichar un ligam per imprimir
|
|
||||||
wallabag_support_url: URL d'assisténcia de wallabag
|
|
||||||
wallabag_url: URL de *vòstra* instància de wallabag
|
|
||||||
entry: "article"
|
|
||||||
export: "expòrt"
|
|
||||||
import: "impòrt"
|
|
||||||
misc: "divèrs"
|
|
||||||
modify_settings: "aplicar"
|
|
||||||
piwik_host: URL de vòstre site dins Piwik
|
|
||||||
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)"
|
|
||||||
demo_mode_username: "Utilizaire de la demostracion"
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
Login: "Anmelden"
|
|
||||||
Enter your email address below and we'll send you password reset instructions.: "Tippe deine E-Mail-Adresse unten ein und wir senden dir die Anweisungen, wie du dein Kennwort zurücksetzen kannst."
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
Login: "Logearse"
|
|
||||||
Enter your email address below and we'll send you password reset instructions.: "Introduzca su dirección de email y le enviaremos las instrucciones para resetear su contraseña."
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
Login: "Se connectar"
|
|
||||||
Enter your email address below and we'll send you password reset instructions.: "Picatz vòstra adreça de corrièl çai-jos, vos mandarem las instruccions per reïnicializar vòstre senhal."
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
Login: "Logowanie"
|
|
||||||
Enter your email address below and we'll send you password reset instructions.: "Wpisz poniżej swój adres email, abyśmy mogli wysłać ci instrukcję resetowania hasła."
|
|
||||||
@ -28,7 +28,7 @@ framework:
|
|||||||
assets: ~
|
assets: ~
|
||||||
|
|
||||||
wallabag_core:
|
wallabag_core:
|
||||||
version: 2.0.0
|
version: 2.0.0-beta.1
|
||||||
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
|
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
|
||||||
languages:
|
languages:
|
||||||
en: 'English'
|
en: 'English'
|
||||||
@ -39,13 +39,10 @@ wallabag_core:
|
|||||||
ro: 'Română'
|
ro: 'Română'
|
||||||
pl: 'Polish'
|
pl: 'Polish'
|
||||||
da: 'Dansk'
|
da: 'Dansk'
|
||||||
es: 'Español'
|
|
||||||
oc: 'Occitan'
|
|
||||||
items_on_page: 12
|
items_on_page: 12
|
||||||
theme: material
|
theme: material
|
||||||
language: en
|
language: en
|
||||||
rss_limit: 50
|
rss_limit: 50
|
||||||
reading_speed: 1
|
|
||||||
|
|
||||||
wallabag_import:
|
wallabag_import:
|
||||||
allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain']
|
allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain']
|
||||||
|
|||||||
@ -7,8 +7,6 @@ framework:
|
|||||||
storage_id: session.storage.mock_file
|
storage_id: session.storage.mock_file
|
||||||
profiler:
|
profiler:
|
||||||
collect: false
|
collect: false
|
||||||
translator:
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
web_profiler:
|
web_profiler:
|
||||||
toolbar: false
|
toolbar: false
|
||||||
|
|||||||
@ -53,7 +53,6 @@ security:
|
|||||||
|
|
||||||
access_control:
|
access_control:
|
||||||
- { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
|
||||||
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
../vendor/fabpot/php-cs-fixer/php-cs-fixer
|
|
||||||
@ -86,8 +86,7 @@
|
|||||||
"doctrine/doctrine-fixtures-bundle": "~2.2",
|
"doctrine/doctrine-fixtures-bundle": "~2.2",
|
||||||
"sensio/generator-bundle": "^3.0",
|
"sensio/generator-bundle": "^3.0",
|
||||||
"phpunit/phpunit": "~4.4",
|
"phpunit/phpunit": "~4.4",
|
||||||
"symfony/phpunit-bridge": "^2.7",
|
"symfony/phpunit-bridge": "^2.7"
|
||||||
"fabpot/php-cs-fixer": "~1.9"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build-parameters": [
|
"build-parameters": [
|
||||||
|
|||||||
6033
composer.lock
generated
Normal file
6033
composer.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,48 +1,42 @@
|
|||||||
version: '2'
|
nginx:
|
||||||
services:
|
image: nginx
|
||||||
nginx:
|
ports:
|
||||||
image: nginx
|
- "8080:80"
|
||||||
ports:
|
volumes:
|
||||||
- "8080:80"
|
- ./docker/nginx/nginx.conf:/nginx.conf
|
||||||
volumes:
|
- ./docker/logs/nginx:/var/log/nginx
|
||||||
- ./docker/nginx/nginx.conf:/nginx.conf
|
- .:/var/www/html
|
||||||
- ./docker/logs/nginx:/var/log/nginx
|
links:
|
||||||
- .:/var/www/html
|
- php:php
|
||||||
links:
|
command: nginx -c /nginx.conf
|
||||||
- php:php
|
php:
|
||||||
command: nginx -c /nginx.conf
|
build: docker/php
|
||||||
php:
|
ports:
|
||||||
build:
|
- "9000:9000"
|
||||||
context: docker/php
|
volumes:
|
||||||
args:
|
- .:/var/www/html
|
||||||
# Set here your timezone using one of this: http://php.net/manual/en/timezones.php
|
#links:
|
||||||
timezone: 'Europe/Monaco'
|
# - "postgres:rdbms"
|
||||||
ports:
|
# - "mariadb:rdbms"
|
||||||
- "9000:9000"
|
env_file:
|
||||||
volumes:
|
- ./docker/php/env
|
||||||
- .:/var/www/html
|
# Comment non-used DBMS lines
|
||||||
#links:
|
# If all DBMS are commented out, sqlite will be used as default
|
||||||
# - "postgres:rdbms"
|
# - ./docker/postgres/env
|
||||||
# - "mariadb:rdbms"
|
# - ./docker/mariadb/env
|
||||||
env_file:
|
#postgres:
|
||||||
- ./docker/php/env
|
# image: postgres:9
|
||||||
# Comment non-used DBMS lines
|
# ports:
|
||||||
# If all DBMS are commented out, sqlite will be used as default
|
# - "5432:5432"
|
||||||
# - ./docker/postgres/env
|
# volumes:
|
||||||
# - ./docker/mariadb/env
|
# - ./docker/data/pgsql:/var/lib/postgresql/data
|
||||||
#postgres:
|
# env_file:
|
||||||
# image: postgres:9
|
# - ./docker/postgres/env
|
||||||
# ports:
|
#mariadb:
|
||||||
# - "5432:5432"
|
# image: mariadb:10
|
||||||
# volumes:
|
# ports:
|
||||||
# - ./docker/data/pgsql:/var/lib/postgresql/data
|
# - "3306:3306"
|
||||||
# env_file:
|
# volumes:
|
||||||
# - ./docker/postgres/env
|
# - ./docker/data/mariadb:/var/lib/mysql
|
||||||
#mariadb:
|
# env_file:
|
||||||
# image: mariadb:10
|
# - ./docker/mariadb/env
|
||||||
# ports:
|
|
||||||
# - "3306:3306"
|
|
||||||
# volumes:
|
|
||||||
# - ./docker/data/mariadb:/var/lib/mysql
|
|
||||||
# env_file:
|
|
||||||
# - ./docker/mariadb/env
|
|
||||||
|
|||||||
@ -1,15 +1,10 @@
|
|||||||
FROM php:fpm
|
FROM php:fpm
|
||||||
|
|
||||||
# Default timezone. To change it, use the argument in the docker-compose.yml file
|
|
||||||
ARG timezone='Europe/Paris'
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
libmcrypt-dev libicu-dev libpq-dev libxml2-dev \
|
libmcrypt-dev libicu-dev libpq-dev libxml2-dev \
|
||||||
&& docker-php-ext-install \
|
&& docker-php-ext-install \
|
||||||
iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql
|
iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql
|
||||||
|
|
||||||
RUN echo "date.timezone="$timezone > /usr/local/etc/php/conf.d/date_timezone.ini
|
|
||||||
|
|
||||||
RUN usermod -u 1000 www-data
|
RUN usermod -u 1000 www-data
|
||||||
|
|
||||||
CMD ["php-fpm"]
|
CMD ["php-fpm"]
|
||||||
|
|||||||
@ -14,7 +14,7 @@ Translation files
|
|||||||
|
|
||||||
You can find translation files here: https://github.com/wallabag/wallabag/tree/v2/src/Wallabag/CoreBundle/Resources/translations.
|
You can find translation files here: https://github.com/wallabag/wallabag/tree/v2/src/Wallabag/CoreBundle/Resources/translations.
|
||||||
|
|
||||||
You have to create ``messages.CODE.yml``, where CODE
|
You have to create ``messages.CODE.yml`` and ``validators.CODE.yml``, where CODE
|
||||||
is the ISO 639-1 code of your language (`see wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).
|
is the ISO 639-1 code of your language (`see wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).
|
||||||
|
|
||||||
Other files to translate:
|
Other files to translate:
|
||||||
|
|||||||
@ -44,4 +44,3 @@ The main documentation for this application is organized into a couple sections:
|
|||||||
developer/docker
|
developer/docker
|
||||||
developer/translate
|
developer/translate
|
||||||
developer/maintenance
|
developer/maintenance
|
||||||
developer/releasing
|
|
||||||
|
|||||||
@ -21,12 +21,6 @@ Items per page
|
|||||||
|
|
||||||
You can change the number of articles displayed on each page.
|
You can change the number of articles displayed on each page.
|
||||||
|
|
||||||
Reading speed
|
|
||||||
~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are
|
|
||||||
a fast or a slow reader. wallabag will recalculate the reading time for each article.
|
|
||||||
|
|
||||||
Language
|
Language
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@ -1,49 +1,2 @@
|
|||||||
Filters
|
Filters
|
||||||
=======
|
=======
|
||||||
|
|
||||||
To retrieve articles easier, you can use filters.
|
|
||||||
Click on the third icon in the top bar.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/topbar.png
|
|
||||||
:alt: Top bar
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
All these filters can be combined.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/filters.png
|
|
||||||
:alt: Combine all filters
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
Status
|
|
||||||
------
|
|
||||||
|
|
||||||
Use these checkboxes to find archived or starred articles.
|
|
||||||
|
|
||||||
Preview picture
|
|
||||||
---------------
|
|
||||||
|
|
||||||
Check this filter if you want to retrieve articles with a preview picture.
|
|
||||||
|
|
||||||
Language
|
|
||||||
--------
|
|
||||||
|
|
||||||
wallabag (via graby) can detect article language. It's easy to you to retrieve articles
|
|
||||||
written in a specific language.
|
|
||||||
|
|
||||||
Reading time
|
|
||||||
------------
|
|
||||||
|
|
||||||
wallabag estimates how many time you need to read an article. With this filter,
|
|
||||||
you can for example find the articles with a reading time between 2 and 5 minutes.
|
|
||||||
|
|
||||||
Domain name
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Thanks to this filter, you can retrieve the articles from the same domain name.
|
|
||||||
For example, in this field, type ``bbc.co.uk`` to retrieve the articles of this website.
|
|
||||||
|
|
||||||
Creation date
|
|
||||||
-------------
|
|
||||||
|
|
||||||
When you save an article, wallabag stored the current date. So handful to retrieve articles written
|
|
||||||
between 1st and 31th January for example.
|
|
||||||
|
|||||||
@ -4,14 +4,14 @@ Install wallabag
|
|||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
|
|
||||||
wallabag is compatible with PHP >= 5.5, including PHP 7.
|
wallabag is compatible with php >= 5.5
|
||||||
|
|
||||||
You'll need the following extensions for wallabag to work. Some of these may already activated in your version of PHP, so you may not have to install all corresponding packages.
|
You'll need the following extensions for wallabag to work. Some of these may already activated in your version of php, so you may not have to install all corresponding packages.
|
||||||
|
|
||||||
- php-session
|
- php-session
|
||||||
- php-ctype
|
- php-ctype
|
||||||
- php-dom
|
- php-dom
|
||||||
- php-hash
|
- pĥp-hash
|
||||||
- php-simplexml
|
- php-simplexml
|
||||||
- php-json
|
- php-json
|
||||||
- php-gd
|
- php-gd
|
||||||
@ -25,9 +25,9 @@ You'll need the following extensions for wallabag to work. Some of these may alr
|
|||||||
|
|
||||||
wallabag uses PDO to connect to database, so you'll need one of:
|
wallabag uses PDO to connect to database, so you'll need one of:
|
||||||
|
|
||||||
- pdo_mysql
|
- php-pdo_mysql
|
||||||
- pdo_sqlite
|
- php-pdo_sqlite
|
||||||
- pdo_pgsql
|
- php-pdo_pgsql
|
||||||
|
|
||||||
and it's corresponding database server.
|
and it's corresponding database server.
|
||||||
|
|
||||||
@ -48,10 +48,7 @@ To install wallabag itself, you must run these two commands:
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
git clone https://github.com/wallabag/wallabag.git
|
SYMFONY_ENV=prod composer create-project wallabag/wallabag wallabag "2.0.0-beta.1" --no-dev
|
||||||
cd wallabag
|
|
||||||
git checkout 2.0.0
|
|
||||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
|
||||||
php bin/console wallabag:install --env=prod
|
php bin/console wallabag:install --env=prod
|
||||||
|
|
||||||
To start php's build-in server and test if everything did install correctly, you can do:
|
To start php's build-in server and test if everything did install correctly, you can do:
|
||||||
|
|||||||
@ -1,40 +0,0 @@
|
|||||||
Migrate wallabag
|
|
||||||
================
|
|
||||||
|
|
||||||
From wallabag 1.x
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
If you were using wallabag v1.x, you need to export your data before migrating to wallabag v2.x, because the application and its database changed a lot. In your old wallabag installation, you can export your data, which can be done on the Config page of your old wallabag installation.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/export_v1.png
|
|
||||||
:alt: Exporting from wallabag v1
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
If you have multiple accounts on the same instance of wallabag, each user must export from v1 and import into v2 its data.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
If you encounter issues during the export or the import, don't hesitate to `ask for support <https://www.wallabag.org/pages/support.html>`__.
|
|
||||||
|
|
||||||
When you have retrieved the json file containing your entries, you can install wallabag v2 if needed by following `the standard procedure <http://doc.wallabag.org/en/v2/user/installation.html>`__.
|
|
||||||
|
|
||||||
After creating an user account on your new wallabag v2 instance, you must head over to the `Import` section and select `Import from wallabag v1`. Select your json file and upload it.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/import_wallabagv1.png
|
|
||||||
:alt: Import from wallabag v1
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
|
|
||||||
From wallabag 2.x
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
From the previous wallabag instance on which you were before, go to `All articles`, then export these articles as json.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/export_v2.png
|
|
||||||
:alt: Export depuis wallabag v2
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
From your new wallabag instance, create your user account and click on the link in the menu to proceed to import. Choose import from wallabag v2 and select your json file to upload it.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
If you encounter issues during the export or the import, don't hesitate to `ask for support <https://www.wallabag.org/pages/support.html>`__.
|
|
||||||
@ -15,7 +15,7 @@ Fichiers de traductions
|
|||||||
|
|
||||||
Les principaux fichiers de traduction se trouvent ici : https://github.com/wallabag/wallabag/tree/v2/src/Wallabag/CoreBundle/Resources/translations.
|
Les principaux fichiers de traduction se trouvent ici : https://github.com/wallabag/wallabag/tree/v2/src/Wallabag/CoreBundle/Resources/translations.
|
||||||
|
|
||||||
Vous devez créer le fichier ``messages.CODE.yml``,
|
Vous devez créer les fichiers ``messages.CODE.yml`` et ``validators.CODE.yml``,
|
||||||
où CODE est le code ISO 639-1 de votre langue (`cf wikipedia <https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1>`__).
|
où CODE est le code ISO 639-1 de votre langue (`cf wikipedia <https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1>`__).
|
||||||
|
|
||||||
Autres fichiers à traduire :
|
Autres fichiers à traduire :
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Maintenant que vous êtes connecté, il est temps de configurer votre compte.
|
Maintenant que vous êtes connecté, il est temps de confirurer votre compte.
|
||||||
|
|
||||||
Cliquez sur le menu ``Configuration``. Vous avez accès à 5 onglets :
|
Cliquez sur le menu ``Configuration``. Vous avez accès à 5 onglets:
|
||||||
``Paramètres``, ``RSS``, ``Mon compte``, ``Mot de passe`` and ``Règles de tag automatiques``.
|
``Paramètres``, ``RSS``, ``Mon compte``, ``Mot de passe`` and ``Règles de tag automatiques``.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
@ -14,7 +14,7 @@ Thème
|
|||||||
|
|
||||||
L'affichage de wallabag est personnalisable. C'est ici que vous choisissez le thème
|
L'affichage de wallabag est personnalisable. C'est ici que vous choisissez le thème
|
||||||
que vous préférez. Vous pouvez aussi en créer un nouveau, une documentation sera
|
que vous préférez. Vous pouvez aussi en créer un nouveau, une documentation sera
|
||||||
disponible pour guider. Le thème par défaut est ``Material``, c'est celui
|
disponible pour apprendre comment. Le thème par défaut ``Material``, c'est ce thème
|
||||||
qui est utilisé dans les captures d'écran de la documentation.
|
qui est utilisé dans les captures d'écran de la documentation.
|
||||||
|
|
||||||
Nombre d'articles par page
|
Nombre d'articles par page
|
||||||
@ -22,11 +22,6 @@ Nombre d'articles par page
|
|||||||
|
|
||||||
Vous pouvez définir le nombre d'articles affichés sur chaque page.
|
Vous pouvez définir le nombre d'articles affichés sur chaque page.
|
||||||
|
|
||||||
Vitesse de lecture
|
|
||||||
~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
wallabag calcule une durée de lecture pour chaque article. Vous pouvez définir ici, grâce à cette liste déroulante, si vous lisez plus ou moins vite. wallabag recalculera la durée de lecture de chaque article.
|
|
||||||
|
|
||||||
Langue
|
Langue
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
@ -36,12 +31,12 @@ pour que la nouvelle langue soit prise en compte.
|
|||||||
RSS
|
RSS
|
||||||
---
|
---
|
||||||
|
|
||||||
wallabag propose un flux RSS pour chaque statut d'article : non lus, favoris et lus.
|
wallabag propose un flux RSS for chaque statut d'article : non lus, favoris and lus.
|
||||||
|
|
||||||
Tout d'abord, vous devez vous créer un jeton personnel : cliquez sur ``Créez votre jeton``.
|
Tout d'abord, vous devez vous créer un jeton personnel : cliquez sur ``Créez votre jeton``.
|
||||||
Il est possible de regénérer votre jeton en cliquant sur ``Réinitialisez votre jeton``.
|
C'est possible de regénérer votre jeton en cliquant sur ``Réinitialisez votre jeton``.
|
||||||
|
|
||||||
Vous avez maintenant trois liens, un par statut : ajoutez-les dans votre agrégateur de flux RSS préféré.
|
Vous avez maintenant trois liens, un par statut : ajoutez les dans votre agrégateur de flux RSS préféré.
|
||||||
|
|
||||||
Vous pouvez aussi définir combien d'articles vous souhaitez dans vos flux RSS
|
Vous pouvez aussi définir combien d'articles vous souhaitez dans vos flux RSS
|
||||||
(50 est la valeur par défaut).
|
(50 est la valeur par défaut).
|
||||||
@ -54,16 +49,16 @@ Vous pouvez ici modifier votre nom, votre adresse email et activer la ``Double a
|
|||||||
Double authentification (2FA)
|
Double authentification (2FA)
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
L'authentification à deux facteurs (également appelée 2FA) est une technologie brevetée en 1984
|
Two-factor authentication (also known as 2FA) is a technology patented in
|
||||||
qui fournit l'identification des utilisateurs au moyen de la combinaison de deux composants différents .
|
1984 that provides identification of users by means of the combination of two different components.
|
||||||
|
|
||||||
https://fr.wikipedia.org/wiki/Authentification_forte
|
https://en.wikipedia.org/wiki/Two-factor_authentication
|
||||||
|
|
||||||
Si vous activez 2FA, à chaque tentative de connexion à wallabag, vous recevrez
|
Si vous activer 2FA, à chaque tentative de connexion à wallabag, vous recevrez
|
||||||
un code par email. Vous devez renseigner ce code dans le formulaire suivant :
|
un code par email. Vous devez renseigner ce code dans le formulaire suivant :
|
||||||
|
|
||||||
.. image:: ../../img/user/2FA_form.png
|
.. image:: ../../img/user/2FA_form.png
|
||||||
:alt: Authentification à deux facteurs
|
:alt: Two factor authentication
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Si vous ne souhaitez pas recevoir un code à chaque fois que vous vous connectez,
|
Si vous ne souhaitez pas recevoir un code à chaque fois que vous vous connectez,
|
||||||
@ -94,15 +89,15 @@ Comment les utiliser ?
|
|||||||
|
|
||||||
Admettons que vous voulez ajouter comme tag *« lecture rapide »* quand le temps de lecture
|
Admettons que vous voulez ajouter comme tag *« lecture rapide »* quand le temps de lecture
|
||||||
d'un article est inférieur à 3 minutes.
|
d'un article est inférieur à 3 minutes.
|
||||||
Dans ce cas, vous devez ajouter « readingTime <= 3 » dans le champ **Règle** et *« lecture rapide »* dans le champ **Tags**.
|
Dans ce cas, vous devez ajouter « readingTime <= 3 » dans le champ **Règle** et *« lecture rapide »* dans le champ **Tags**.
|
||||||
Plusieurs tags peuvent être ajoutés en même temps en les séparant par une virgule : *« lecture rapide, à lire »*.
|
Plusieurs tags peuvent être ajoutés en même temps en les séparant par une virgule : *« lecture rapide, à lire »*.
|
||||||
Des règles complexes peuvent être écrites en utilisant les opérateurs pré-définis :
|
Des règles complexes peuvent être écrites en utilisant les opérateurs pré-définis :
|
||||||
if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long reading, github »*.
|
if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long reading, github »*.
|
||||||
|
|
||||||
Quels variables et opérateurs puis-je utiliser pour écrire mes règles ?
|
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 :
|
||||||
|
|
||||||
=========== ============================================== ========== ==========
|
=========== ============================================== ========== ==========
|
||||||
Variable Sens Opérateur Sens
|
Variable Sens Opérateur Sens
|
||||||
@ -115,5 +110,5 @@ content Le contenu de l'article = Égal
|
|||||||
language La langue de l'article != Différent de …
|
language La langue de l'article != Différent de …
|
||||||
mimetype The type MIME de l'article OR Telle règle ou telle autre règle
|
mimetype The type MIME de l'article OR Telle règle ou telle autre règle
|
||||||
readingTime Le temps de lecture de l'article, en minutes AND Telle règle et telle règle
|
readingTime Le temps de lecture de l'article, en minutes AND Telle règle et telle règle
|
||||||
domainName Le nom de domaine de l'article matches Contient telle chaîne de caractère (insensible à la casse). Exemple : title matches "football"
|
domainName Le nom de domaine de l'article matches Contient telle chaine de caractère (insensible à la casse). Exemple : title matches "football"
|
||||||
=========== ============================================== ========== ==========
|
=========== ============================================== ========== ==========
|
||||||
|
|||||||
@ -4,14 +4,14 @@ Se créer un compte
|
|||||||
Sur la page de connexion, cliquez sur le bouton ``Créer un compte``.
|
Sur la page de connexion, cliquez sur le bouton ``Créer un compte``.
|
||||||
|
|
||||||
.. image:: ../../img/user/registration_form.png
|
.. image:: ../../img/user/registration_form.png
|
||||||
:alt: Formulaire de création de compte
|
:alt: Registration form
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Vous devez renseigner le formulaire. Faites attention de bien renseigner une adresse
|
Vous devez renseigner le formulaire. Faites attention de bien renseigner une adresse
|
||||||
email valide, nous allons vous envoyer un email d'activation.
|
email valide, nous allons vous envoyer un email d'activation.
|
||||||
|
|
||||||
.. image:: ../../img/user/sent_email.png
|
.. image:: ../../img/user/sent_email.png
|
||||||
:alt: Un email a été envoyé pour activer votre compte
|
:alt: Email was sent to activate account
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Vérifiez votre boite de réception, vous avez un nouvel email avec un lien comme celui-ci
|
Vérifiez votre boite de réception, vous avez un nouvel email avec un lien comme celui-ci
|
||||||
@ -21,7 +21,7 @@ Cliquez dessus pour activer votre compte.
|
|||||||
Votre compte est maintenant actif.
|
Votre compte est maintenant actif.
|
||||||
|
|
||||||
.. image:: ../../img/user/activated_account.png
|
.. image:: ../../img/user/activated_account.png
|
||||||
:alt: Bienvenue à bord !
|
:alt: Welcome on board!
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Foire aux questions
|
Foire aux questions
|
||||||
|
|||||||
@ -6,12 +6,12 @@ Vous pouvez télécharger chaque article dans plusieurs formats : ePUB, MOBI, PD
|
|||||||
Lorsque vous lisez un article, cliquez sur cette icône dans la barre latérale :
|
Lorsque vous lisez un article, cliquez sur cette icône dans la barre latérale :
|
||||||
|
|
||||||
.. image:: ../../img/user/download_article.png
|
.. image:: ../../img/user/download_article.png
|
||||||
:alt: Télécharger l'article
|
:alt: download article
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Vous pouvez aussi télécharger une catégorie (non lus, favoris, lus) dans ces formats.
|
Vous pouvez aussi télécharger une catégorie (non lus, favoris, lus) dans ces formats.
|
||||||
Par exemple, dans la vue **Non lus**, cliquez sur cette icône dans la barre supérieure :
|
Par exemple, dans la vue **Non lus**, cliquez sur cette icône dans la barre supérieure :
|
||||||
|
|
||||||
.. image:: ../../img/user/download_articles.png
|
.. image:: ../../img/user/download_articles.png
|
||||||
:alt: Télécharger l'article
|
:alt: download articles
|
||||||
:align: center
|
:align: center
|
||||||
|
|||||||
@ -23,5 +23,5 @@ Si wallabag échoue en récupérant l'article, vous pouvez cliquer sur le bouton
|
|||||||
(le troisième sur l'image ci-dessous).
|
(le troisième sur l'image ci-dessous).
|
||||||
|
|
||||||
.. image:: ../../img/user/refetch.png
|
.. image:: ../../img/user/refetch.png
|
||||||
:alt: Réessayer de récupérer le contenu
|
:alt: Refetch content
|
||||||
:align: center
|
:align: center
|
||||||
|
|||||||
@ -1,50 +1,2 @@
|
|||||||
Filtres
|
Filtres
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Pour retrouver plus facilement vos articles, vous pouvez utiliser les filtres.
|
|
||||||
Cliquez sur la troisième icône de la barre supérieure.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/topbar.png
|
|
||||||
:alt: Barre supérieure
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
Tous ces filtres peuvent être combinés.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/filters.png
|
|
||||||
:alt: Combine all filters
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
Statut
|
|
||||||
------
|
|
||||||
|
|
||||||
Utilisez ces cases à cocher pour retrouver les articles lus ou mis en favori.
|
|
||||||
|
|
||||||
Image de prévisualisation
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
Cochez ce filtre si vous voulez retrouver les articles avec une image de prévisualisation.
|
|
||||||
|
|
||||||
Langage
|
|
||||||
-------
|
|
||||||
|
|
||||||
wallabag (via graby) peut détecter la langue dans laquelle l'article est écrit.
|
|
||||||
C'est ainsi facile pour vous de retrouver des articles écrits dans une langue spécifique.
|
|
||||||
|
|
||||||
Temps de lecture
|
|
||||||
----------------
|
|
||||||
|
|
||||||
wallabag estime combien de temps vous avez besoin pour lire un article.
|
|
||||||
Avec ce filtre, vous pouvez par exemple retrouver les articles qui ont une estimation
|
|
||||||
entre 2 et 5 minutes.
|
|
||||||
|
|
||||||
Nom de domaine
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Grâce à ce filtre, vous pouvez retrouver les articles venant d'un même nom de domaine.
|
|
||||||
Par exemple, dans ce champ, saisissez ``lemonde.fr`` pour retrouver les articles de ce site.
|
|
||||||
|
|
||||||
Date de création
|
|
||||||
----------------
|
|
||||||
|
|
||||||
Quand vous ajoutez un article, wallabag stocke la date courante.
|
|
||||||
C'est très pratique pour retrouver les articles ajoutés entre le 1er et le 31 janvier par exemple.
|
|
||||||
|
|||||||
@ -25,7 +25,7 @@ Dans la barre haut de wallabag, vous avez trois icônes. Avec la première icôn
|
|||||||
un signe plus, vous pouvez facilement ajouter un nouvel article.
|
un signe plus, vous pouvez facilement ajouter un nouvel article.
|
||||||
|
|
||||||
.. image:: ../../img/user/topbar.png
|
.. image:: ../../img/user/topbar.png
|
||||||
:alt: Barre supérieure
|
:alt: Top bar
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Cliquez dessus pour afficher un nouveau champ, collez-y l'URL de l'article et appuyez
|
Cliquez dessus pour afficher un nouveau champ, collez-y l'URL de l'article et appuyez
|
||||||
|
|||||||
@ -10,7 +10,7 @@ Exportez vos données de wallabag 1.x
|
|||||||
Sur la page de configuration, cliquez sur ``Export JSON`` dans la section ``Exportez vos données wallabag``.
|
Sur la page de configuration, cliquez sur ``Export JSON`` dans la section ``Exportez vos données wallabag``.
|
||||||
|
|
||||||
.. image:: ../../img/user/export_wllbg_1.png
|
.. image:: ../../img/user/export_wllbg_1.png
|
||||||
:alt: Export depuis wallabag 1.x
|
:alt: Export from wallabag 1.x
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Vous obtiendrez un fichier ``wallabag-export-1-1970-01-01.json``.
|
Vous obtiendrez un fichier ``wallabag-export-1-1970-01-01.json``.
|
||||||
@ -21,7 +21,7 @@ Exportez vos données de wallabag 2.x
|
|||||||
Dans la barre latérale de téléchargement, cliquez sur ``JSON``.
|
Dans la barre latérale de téléchargement, cliquez sur ``JSON``.
|
||||||
|
|
||||||
.. image:: ../../img/user/export_wllbg_2.png
|
.. image:: ../../img/user/export_wllbg_2.png
|
||||||
:alt: Export depuis wallabag 2.x
|
:alt: Export from wallabag 2.x
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Vous obtiendrez un fichier ``Unread articles.json``.
|
Vous obtiendrez un fichier ``Unread articles.json``.
|
||||||
@ -33,7 +33,7 @@ Cliquez sur le lien ``Importer`` dans le menu, choisissez la version de wallabag
|
|||||||
sélectionnez votre fichier d'export sur votre ordinateur et importez-le.
|
sélectionnez votre fichier d'export sur votre ordinateur et importez-le.
|
||||||
|
|
||||||
.. image:: ../../img/user/import_wllbg.png
|
.. image:: ../../img/user/import_wllbg.png
|
||||||
:alt: Import depuis wallabag 1.x
|
:alt: Import from wallabag 1.x
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Tous vos articles wallabag seront importés.
|
Tous vos articles wallabag seront importés.
|
||||||
|
|||||||
@ -4,9 +4,9 @@ Installer wallabag
|
|||||||
Pré-requis
|
Pré-requis
|
||||||
------------
|
------------
|
||||||
|
|
||||||
wallabag est compatible avec PHP >= 5.5, PHP 7 inclus.
|
wallabag est compatible avec php >= 5.5
|
||||||
|
|
||||||
Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est possible que certaines de ces extensions soient déjà activées dans votre version de PHP, donc vous n'avez pas forcément besoin d'installer tous les paquets correspondants.
|
Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est possible que certaines de ces extensions soient déjà activées dans votre version de php, donc vous n'avez pas forcément besoin d'installer tous les paquets correspondants.
|
||||||
|
|
||||||
- php-session
|
- php-session
|
||||||
- php-ctype
|
- php-ctype
|
||||||
@ -25,9 +25,9 @@ Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est
|
|||||||
|
|
||||||
wallabag utilise PDO afin de se connecter à une base de données, donc vous aurez besoin d'une extension et d'un système de bases de données parmi :
|
wallabag utilise PDO afin de se connecter à une base de données, donc vous aurez besoin d'une extension et d'un système de bases de données parmi :
|
||||||
|
|
||||||
- pdo_mysql
|
- php-pdo_mysql
|
||||||
- pdo_sqlite
|
- php-pdo_sqlite
|
||||||
- pdo_pgsql
|
- php-pdo_pgsql
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
@ -46,10 +46,7 @@ Pour installer wallabag, vous devez exécuter ces deux commandes :
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
git clone https://github.com/wallabag/wallabag.git
|
SYMFONY_ENV=prod composer create-project wallabag/wallabag wallabag "2.0.0-beta.1" --no-dev
|
||||||
cd wallabag
|
|
||||||
git checkout 2.0.0
|
|
||||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
|
||||||
php bin/console wallabag:install --env=prod
|
php bin/console wallabag:install --env=prod
|
||||||
|
|
||||||
Pour démarrer le serveur interne à php et vérifier que tout s'est installé correctement, vous pouvez exécuter :
|
Pour démarrer le serveur interne à php et vérifier que tout s'est installé correctement, vous pouvez exécuter :
|
||||||
|
|||||||
@ -9,7 +9,7 @@ Si vous êtes sur un ordinateur de confiance et que vous souhaitez rester connec
|
|||||||
vous pouvez cocher la case ``Restez connecté`` : wallabag se souviendra de vous pour un an.
|
vous pouvez cocher la case ``Restez connecté`` : wallabag se souviendra de vous pour un an.
|
||||||
|
|
||||||
.. image:: ../../img/user/login_form.png
|
.. image:: ../../img/user/login_form.png
|
||||||
:alt: Formulaire de connexion
|
:alt: Login form
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Foire aux questions
|
Foire aux questions
|
||||||
|
|||||||
@ -1,40 +0,0 @@
|
|||||||
Migrer wallabag
|
|
||||||
===============
|
|
||||||
|
|
||||||
Depuis wallabag 1.x
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
Si vous utilisiez wallabag v1.x, vous devez exporter vos données avant de migrer à wallabag v2.x, à cause du changement complet de l'application et de sa base de données. Sur votre ancienne instance de wallabag v1, vous pouvez exporter vos données en allant sur la page de configuration de l'application.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/export_v1.png
|
|
||||||
:alt: Export depuis wallabag v1
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
Si vous avez plusieurs comptes sur la même instance de wallabag, chaque utilisateur doit exporter ses données depuis wallabag v1 et les importer dans la v2.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
S'il vous arrive des problèmes durant l'export ou l'import, n'hésitez pas à `demander de l'aide <https://www.wallabag.org/pages/support.html>`__.
|
|
||||||
|
|
||||||
Une fois que vous avez récupéré le fichier json contenant vos données, vous pouvez installer wallabag v2 si c'est nécessaire en suivant `la procédure standard <http://doc.wallabag.org/fr/v2/user/installation.html>`__.
|
|
||||||
|
|
||||||
Une fois que vous avez créé un compte utilisateur sur votre nouvelle instance de wallabag v2, rendez-vous dans la section `Import`. Vous devez choisir l'import depuis wallabag v1 puis sélectionner votre fichier json récupéré précédemment.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/import_wallabagv1.png
|
|
||||||
:alt: Import depuis wallabag v1
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
|
|
||||||
Depuis wallabag 2.x
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
Depuis l'instance sur laquelle vous étiez, rendez-vous dans la section `Tous les articles`, puis exportez ces articles au format json.
|
|
||||||
|
|
||||||
.. image:: ../../img/user/export_v2.png
|
|
||||||
:alt: Export depuis wallabag v2
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
Depuis votre nouvelle instance de wallabag, créez votre compte utilisateur puis cliquez sur le lien dans le menu pour accéder à l'import. Choisissez l'import depuis wallabag v2 puis sélectionnez votre fichier json pour l'uploader.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
S'il vous arrive des problèmes durant l'export ou l'import, n'hésitez pas à `demander de l'aide <https://www.wallabag.org/pages/support.html>`__.
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 28 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB |
@ -82,7 +82,7 @@ class Annotation
|
|||||||
/*
|
/*
|
||||||
* @param User $user
|
* @param User $user
|
||||||
*/
|
*/
|
||||||
public function __construct(User $user)
|
public function __construct(\Wallabag\UserBundle\Entity\User $user)
|
||||||
{
|
{
|
||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
}
|
}
|
||||||
@ -204,7 +204,7 @@ class Annotation
|
|||||||
/**
|
/**
|
||||||
* Set user.
|
* Set user.
|
||||||
*
|
*
|
||||||
* @param User $user
|
* @param string $user
|
||||||
*
|
*
|
||||||
* @return Annotation
|
* @return Annotation
|
||||||
*/
|
*/
|
||||||
@ -218,7 +218,7 @@ class Annotation
|
|||||||
/**
|
/**
|
||||||
* Get user.
|
* Get user.
|
||||||
*
|
*
|
||||||
* @return User
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getUser()
|
public function getUser()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -88,22 +88,4 @@ class AnnotationRepository extends EntityRepository
|
|||||||
->getQuery()
|
->getQuery()
|
||||||
->getOneOrNullResult();
|
->getOneOrNullResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Used only in test case to get the right annotation associated to the right user.
|
|
||||||
*
|
|
||||||
* @param string $username
|
|
||||||
*
|
|
||||||
* @return Annotation
|
|
||||||
*/
|
|
||||||
public function findOneByUsername($username)
|
|
||||||
{
|
|
||||||
return $this->createQueryBuilder('a')
|
|
||||||
->leftJoin('a.user', 'u')
|
|
||||||
->where('u.username = :username')->setParameter('username', $username)
|
|
||||||
->orderBy('a.id', 'DESC')
|
|
||||||
->setMaxResults(1)
|
|
||||||
->getQuery()
|
|
||||||
->getSingleResult();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,12 +11,11 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
|
|||||||
$annotation = $this->client->getContainer()
|
$annotation = $this->client->getContainer()
|
||||||
->get('doctrine.orm.entity_manager')
|
->get('doctrine.orm.entity_manager')
|
||||||
->getRepository('WallabagAnnotationBundle:Annotation')
|
->getRepository('WallabagAnnotationBundle:Annotation')
|
||||||
->findOneByUsername('admin');
|
->findOneBy(array('user' => 1));
|
||||||
|
|
||||||
if (!$annotation) {
|
if (!$annotation) {
|
||||||
$this->markTestSkipped('No content found in db.');
|
$this->markTestSkipped('No content found in db.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->logInAs('admin');
|
$this->logInAs('admin');
|
||||||
$crawler = $this->client->request('GET', 'annotations/'.$annotation->getEntry()->getId().'.json');
|
$crawler = $this->client->request('GET', 'annotations/'.$annotation->getEntry()->getId().'.json');
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
||||||
@ -33,25 +32,18 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
|
|||||||
$entry = $this->client->getContainer()
|
$entry = $this->client->getContainer()
|
||||||
->get('doctrine.orm.entity_manager')
|
->get('doctrine.orm.entity_manager')
|
||||||
->getRepository('WallabagCoreBundle:Entry')
|
->getRepository('WallabagCoreBundle:Entry')
|
||||||
->findOneByUsernameAndNotArchived('admin');
|
->findOneBy(array('user' => 1));
|
||||||
|
|
||||||
$headers = array('CONTENT_TYPE' => 'application/json');
|
$headers = array('CONTENT_TYPE' => 'application/json');
|
||||||
$content = json_encode(array(
|
$content = json_encode(array(
|
||||||
'text' => 'my annotation',
|
'text' => 'my annotation',
|
||||||
'quote' => 'my quote',
|
'quote' => 'my quote',
|
||||||
'ranges' => array('start' => '', 'startOffset' => 24, 'end' => '', 'endOffset' => 31),
|
'range' => '[{"start":"","startOffset":24,"end":"","endOffset":31}]',
|
||||||
));
|
));
|
||||||
$crawler = $this->client->request('POST', 'annotations/'.$entry->getId().'.json', array(), array(), $headers, $content);
|
$crawler = $this->client->request('POST', 'annotations/'.$entry->getId().'.json', array(), array(), $headers, $content);
|
||||||
|
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
|
||||||
|
|
||||||
$this->assertEquals('Big boss', $content['user']);
|
|
||||||
$this->assertEquals('v1.0', $content['annotator_schema_version']);
|
|
||||||
$this->assertEquals('my annotation', $content['text']);
|
|
||||||
$this->assertEquals('my quote', $content['quote']);
|
|
||||||
|
|
||||||
$annotation = $this->client->getContainer()
|
$annotation = $this->client->getContainer()
|
||||||
->get('doctrine.orm.entity_manager')
|
->get('doctrine.orm.entity_manager')
|
||||||
->getRepository('WallabagAnnotationBundle:Annotation')
|
->getRepository('WallabagAnnotationBundle:Annotation')
|
||||||
@ -65,56 +57,25 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
|
|||||||
$annotation = $this->client->getContainer()
|
$annotation = $this->client->getContainer()
|
||||||
->get('doctrine.orm.entity_manager')
|
->get('doctrine.orm.entity_manager')
|
||||||
->getRepository('WallabagAnnotationBundle:Annotation')
|
->getRepository('WallabagAnnotationBundle:Annotation')
|
||||||
->findOneByUsername('admin');
|
->findOneBy(array('user' => 1));
|
||||||
|
|
||||||
$this->logInAs('admin');
|
$this->logInAs('admin');
|
||||||
|
|
||||||
$headers = array('CONTENT_TYPE' => 'application/json');
|
$headers = array('CONTENT_TYPE' => 'application/json');
|
||||||
$content = json_encode(array(
|
$content = json_encode(array(
|
||||||
'text' => 'a modified annotation',
|
'text' => 'a modified annotation',
|
||||||
));
|
));
|
||||||
$crawler = $this->client->request('PUT', 'annotations/'.$annotation->getId().'.json', array(), array(), $headers, $content);
|
$crawler = $this->client->request('PUT', 'annotations/'.$annotation->getId().'.json', array(), array(), $headers, $content);
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
$content = json_decode($this->client->getResponse()->getContent(), true);
|
||||||
|
|
||||||
$this->assertEquals('Big boss', $content['user']);
|
|
||||||
$this->assertEquals('v1.0', $content['annotator_schema_version']);
|
|
||||||
$this->assertEquals('a modified annotation', $content['text']);
|
$this->assertEquals('a modified annotation', $content['text']);
|
||||||
$this->assertEquals('my quote', $content['quote']);
|
|
||||||
|
|
||||||
$annotationUpdated = $this->client->getContainer()
|
$annotationUpdated = $this->client->getContainer()
|
||||||
->get('doctrine.orm.entity_manager')
|
->get('doctrine.orm.entity_manager')
|
||||||
->getRepository('WallabagAnnotationBundle:Annotation')
|
->getRepository('WallabagAnnotationBundle:Annotation')
|
||||||
->findOneById($annotation->getId());
|
->findAnnotationById($annotation->getId());
|
||||||
$this->assertEquals('a modified annotation', $annotationUpdated->getText());
|
$this->assertEquals('a modified annotation', $annotationUpdated->getText());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testDeleteAnnotation()
|
|
||||||
{
|
|
||||||
$annotation = $this->client->getContainer()
|
|
||||||
->get('doctrine.orm.entity_manager')
|
|
||||||
->getRepository('WallabagAnnotationBundle:Annotation')
|
|
||||||
->findOneByUsername('admin');
|
|
||||||
|
|
||||||
$this->logInAs('admin');
|
|
||||||
|
|
||||||
$headers = array('CONTENT_TYPE' => 'application/json');
|
|
||||||
$content = json_encode(array(
|
|
||||||
'text' => 'a modified annotation',
|
|
||||||
));
|
|
||||||
$crawler = $this->client->request('DELETE', 'annotations/'.$annotation->getId().'.json', array(), array(), $headers, $content);
|
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
|
||||||
|
|
||||||
$this->assertEquals('a modified annotation', $content['text']);
|
|
||||||
|
|
||||||
$annotationDeleted = $this->client->getContainer()
|
|
||||||
->get('doctrine.orm.entity_manager')
|
|
||||||
->getRepository('WallabagAnnotationBundle:Annotation')
|
|
||||||
->findOneById($annotation->getId());
|
|
||||||
|
|
||||||
$this->assertNull($annotationDeleted);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,13 +27,13 @@ class WallabagRestController extends FOSRestController
|
|||||||
*
|
*
|
||||||
* @ApiDoc(
|
* @ApiDoc(
|
||||||
* parameters={
|
* parameters={
|
||||||
* {"name"="archive", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by archived status."},
|
* {"name"="archive", "dataType"="boolean", "required"=false, "format"="true or false, all entries by default", "description"="filter by archived status."},
|
||||||
* {"name"="starred", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by starred status."},
|
* {"name"="star", "dataType"="boolean", "required"=false, "format"="true or false, all entries by default", "description"="filter by starred status."},
|
||||||
* {"name"="sort", "dataType"="string", "required"=false, "format"="'created' or 'updated', default 'created'", "description"="sort entries by date."},
|
* {"name"="sort", "dataType"="string", "required"=false, "format"="'created' or 'updated', default 'created'", "description"="sort entries by date."},
|
||||||
* {"name"="order", "dataType"="string", "required"=false, "format"="'asc' or 'desc', default 'desc'", "description"="order of sort."},
|
* {"name"="order", "dataType"="string", "required"=false, "format"="'asc' or 'desc', default 'desc'", "description"="order of sort."},
|
||||||
* {"name"="page", "dataType"="integer", "required"=false, "format"="default '1'", "description"="what page you want."},
|
* {"name"="page", "dataType"="integer", "required"=false, "format"="default '1'", "description"="what page you want."},
|
||||||
* {"name"="perPage", "dataType"="integer", "required"=false, "format"="default'30'", "description"="results per page."},
|
* {"name"="perPage", "dataType"="integer", "required"=false, "format"="default'30'", "description"="results per page."},
|
||||||
* {"name"="tags", "dataType"="string", "required"=false, "format"="api,rest", "description"="a list of tags url encoded. Will returns entries that matches ALL tags."},
|
* {"name"="tags", "dataType"="string", "required"=false, "format"="api%2Crest", "description"="a list of tags url encoded. Will returns entries that matches ALL tags."},
|
||||||
* }
|
* }
|
||||||
* )
|
* )
|
||||||
*
|
*
|
||||||
@ -43,8 +43,8 @@ class WallabagRestController extends FOSRestController
|
|||||||
{
|
{
|
||||||
$this->validateAuthentication();
|
$this->validateAuthentication();
|
||||||
|
|
||||||
$isArchived = (int) $request->query->get('archive');
|
$isArchived = $request->query->get('archive');
|
||||||
$isStarred = (int) $request->query->get('starred');
|
$isStarred = $request->query->get('star');
|
||||||
$sort = $request->query->get('sort', 'created');
|
$sort = $request->query->get('sort', 'created');
|
||||||
$order = $request->query->get('order', 'desc');
|
$order = $request->query->get('order', 'desc');
|
||||||
$page = (int) $request->query->get('page', 1);
|
$page = (int) $request->query->get('page', 1);
|
||||||
@ -52,7 +52,7 @@ class WallabagRestController extends FOSRestController
|
|||||||
|
|
||||||
$pager = $this->getDoctrine()
|
$pager = $this->getDoctrine()
|
||||||
->getRepository('WallabagCoreBundle:Entry')
|
->getRepository('WallabagCoreBundle:Entry')
|
||||||
->findEntries($this->getUser()->getId(), (bool) $isArchived, (bool) $isStarred, $sort, $order);
|
->findEntries($this->getUser()->getId(), $isArchived, $isStarred, $sort, $order);
|
||||||
|
|
||||||
$pager->setCurrentPage($page);
|
$pager->setCurrentPage($page);
|
||||||
$pager->setMaxPerPage($perPage);
|
$pager->setMaxPerPage($perPage);
|
||||||
@ -97,8 +97,6 @@ class WallabagRestController extends FOSRestController
|
|||||||
* {"name"="url", "dataType"="string", "required"=true, "format"="http://www.test.com/article.html", "description"="Url for the entry."},
|
* {"name"="url", "dataType"="string", "required"=true, "format"="http://www.test.com/article.html", "description"="Url for the entry."},
|
||||||
* {"name"="title", "dataType"="string", "required"=false, "description"="Optional, we'll get the title from the page."},
|
* {"name"="title", "dataType"="string", "required"=false, "description"="Optional, we'll get the title from the page."},
|
||||||
* {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
|
* {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
|
||||||
* {"name"="starred", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="entry already starred"},
|
|
||||||
* {"name"="archive", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="entry already archived"},
|
|
||||||
* }
|
* }
|
||||||
* )
|
* )
|
||||||
*
|
*
|
||||||
@ -109,34 +107,19 @@ class WallabagRestController extends FOSRestController
|
|||||||
$this->validateAuthentication();
|
$this->validateAuthentication();
|
||||||
|
|
||||||
$url = $request->request->get('url');
|
$url = $request->request->get('url');
|
||||||
$isArchived = (int) $request->request->get('archive');
|
|
||||||
$isStarred = (int) $request->request->get('starred');
|
|
||||||
|
|
||||||
$entry = $this->get('wallabag_core.entry_repository')->findByUrlAndUserId($url, $this->getUser()->getId());
|
$entry = $this->get('wallabag_core.content_proxy')->updateEntry(
|
||||||
|
new Entry($this->getUser()),
|
||||||
if (false === $entry) {
|
$url
|
||||||
$entry = $this->get('wallabag_core.content_proxy')->updateEntry(
|
);
|
||||||
new Entry($this->getUser()),
|
|
||||||
$url
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
$tags = $request->request->get('tags', '');
|
$tags = $request->request->get('tags', '');
|
||||||
if (!empty($tags)) {
|
if (!empty($tags)) {
|
||||||
$this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags);
|
$this->get('wallabag_core.content_proxy')->assignTagsToEntry($entry, $tags);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_null($isStarred)) {
|
|
||||||
$entry->setStarred((bool) $isStarred);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!is_null($isArchived)) {
|
|
||||||
$entry->setArchived((bool) $isArchived);
|
|
||||||
}
|
|
||||||
|
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
$em->persist($entry);
|
$em->persist($entry);
|
||||||
|
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
||||||
$json = $this->get('serializer')->serialize($entry, 'json');
|
$json = $this->get('serializer')->serialize($entry, 'json');
|
||||||
@ -154,8 +137,8 @@ class WallabagRestController extends FOSRestController
|
|||||||
* parameters={
|
* parameters={
|
||||||
* {"name"="title", "dataType"="string", "required"=false},
|
* {"name"="title", "dataType"="string", "required"=false},
|
||||||
* {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
|
* {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
|
||||||
* {"name"="archive", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="archived the entry."},
|
* {"name"="archive", "dataType"="boolean", "required"=false, "format"="true or false", "description"="archived the entry."},
|
||||||
* {"name"="starred", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="starred the entry."},
|
* {"name"="star", "dataType"="boolean", "required"=false, "format"="true or false", "description"="starred the entry."},
|
||||||
* }
|
* }
|
||||||
* )
|
* )
|
||||||
*
|
*
|
||||||
@ -167,19 +150,19 @@ class WallabagRestController extends FOSRestController
|
|||||||
$this->validateUserAccess($entry->getUser()->getId());
|
$this->validateUserAccess($entry->getUser()->getId());
|
||||||
|
|
||||||
$title = $request->request->get('title');
|
$title = $request->request->get('title');
|
||||||
$isArchived = (int) $request->request->get('archive');
|
$isArchived = $request->request->get('archive');
|
||||||
$isStarred = (int) $request->request->get('starred');
|
$isStarred = $request->request->get('star');
|
||||||
|
|
||||||
if (!is_null($title)) {
|
if (!is_null($title)) {
|
||||||
$entry->setTitle($title);
|
$entry->setTitle($title);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_null($isArchived)) {
|
if (!is_null($isArchived)) {
|
||||||
$entry->setArchived((bool) $isArchived);
|
$entry->setArchived($isArchived);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_null($isStarred)) {
|
if (!is_null($isStarred)) {
|
||||||
$entry->setStarred((bool) $isStarred);
|
$entry->setStarred($isStarred);
|
||||||
}
|
}
|
||||||
|
|
||||||
$tags = $request->request->get('tags', '');
|
$tags = $request->request->get('tags', '');
|
||||||
@ -344,21 +327,6 @@ class WallabagRestController extends FOSRestController
|
|||||||
|
|
||||||
return $this->renderJsonResponse($json);
|
return $this->renderJsonResponse($json);
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Retrieve version number.
|
|
||||||
*
|
|
||||||
* @ApiDoc()
|
|
||||||
*
|
|
||||||
* @return Response
|
|
||||||
*/
|
|
||||||
public function getVersionAction()
|
|
||||||
{
|
|
||||||
$version = $this->container->getParameter('wallabag_core.version');
|
|
||||||
|
|
||||||
$json = $this->get('serializer')->serialize($version, 'json');
|
|
||||||
|
|
||||||
return $this->renderJsonResponse($json);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validate that the first id is equal to the second one.
|
* Validate that the first id is equal to the second one.
|
||||||
|
|||||||
@ -27,9 +27,6 @@ class WallabagRestControllerTest extends WallabagApiTestCase
|
|||||||
$this->assertEquals($entry->getTitle(), $content['title']);
|
$this->assertEquals($entry->getTitle(), $content['title']);
|
||||||
$this->assertEquals($entry->getUrl(), $content['url']);
|
$this->assertEquals($entry->getUrl(), $content['url']);
|
||||||
$this->assertCount(count($entry->getTags()), $content['tags']);
|
$this->assertCount(count($entry->getTags()), $content['tags']);
|
||||||
$this->assertEquals($entry->getUserName(), $content['user_name']);
|
|
||||||
$this->assertEquals($entry->getUserEmail(), $content['user_email']);
|
|
||||||
$this->assertEquals($entry->getUserId(), $content['user_id']);
|
|
||||||
|
|
||||||
$this->assertTrue(
|
$this->assertTrue(
|
||||||
$this->client->getResponse()->headers->contains(
|
$this->client->getResponse()->headers->contains(
|
||||||
@ -162,66 +159,9 @@ class WallabagRestControllerTest extends WallabagApiTestCase
|
|||||||
$this->assertEquals('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']);
|
$this->assertEquals('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']);
|
||||||
$this->assertEquals(false, $content['is_archived']);
|
$this->assertEquals(false, $content['is_archived']);
|
||||||
$this->assertEquals(false, $content['is_starred']);
|
$this->assertEquals(false, $content['is_starred']);
|
||||||
$this->assertEquals(1, $content['user_id']);
|
|
||||||
$this->assertCount(1, $content['tags']);
|
$this->assertCount(1, $content['tags']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testPostSameEntry()
|
|
||||||
{
|
|
||||||
$this->client->request('POST', '/api/entries.json', array(
|
|
||||||
'url' => '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',
|
|
||||||
'archive' => '1',
|
|
||||||
'tags' => 'google, apple',
|
|
||||||
));
|
|
||||||
|
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
|
||||||
|
|
||||||
$this->assertGreaterThan(0, $content['id']);
|
|
||||||
$this->assertEquals('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']);
|
|
||||||
$this->assertEquals(true, $content['is_archived']);
|
|
||||||
$this->assertEquals(false, $content['is_starred']);
|
|
||||||
$this->assertCount(2, $content['tags']);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testPostArchivedAndStarredEntry()
|
|
||||||
{
|
|
||||||
$this->client->request('POST', '/api/entries.json', array(
|
|
||||||
'url' => 'http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html',
|
|
||||||
'archive' => '1',
|
|
||||||
'starred' => '1',
|
|
||||||
));
|
|
||||||
|
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
|
||||||
|
|
||||||
$this->assertGreaterThan(0, $content['id']);
|
|
||||||
$this->assertEquals('http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', $content['url']);
|
|
||||||
$this->assertEquals(true, $content['is_archived']);
|
|
||||||
$this->assertEquals(true, $content['is_starred']);
|
|
||||||
$this->assertEquals(1, $content['user_id']);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testPostArchivedAndStarredEntryWithoutQuotes()
|
|
||||||
{
|
|
||||||
$this->client->request('POST', '/api/entries.json', array(
|
|
||||||
'url' => 'http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html',
|
|
||||||
'archive' => 0,
|
|
||||||
'starred' => 1,
|
|
||||||
));
|
|
||||||
|
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
|
||||||
|
|
||||||
$this->assertGreaterThan(0, $content['id']);
|
|
||||||
$this->assertEquals('http://www.lemonde.fr/idees/article/2016/02/08/preserver-la-liberte-d-expression-sur-les-reseaux-sociaux_4861503_3232.html', $content['url']);
|
|
||||||
$this->assertEquals(false, $content['is_archived']);
|
|
||||||
$this->assertEquals(true, $content['is_starred']);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testPatchEntry()
|
public function testPatchEntry()
|
||||||
{
|
{
|
||||||
$entry = $this->client->getContainer()
|
$entry = $this->client->getContainer()
|
||||||
@ -239,40 +179,8 @@ class WallabagRestControllerTest extends WallabagApiTestCase
|
|||||||
$this->client->request('PATCH', '/api/entries/'.$entry->getId().'.json', array(
|
$this->client->request('PATCH', '/api/entries/'.$entry->getId().'.json', array(
|
||||||
'title' => 'New awesome title',
|
'title' => 'New awesome title',
|
||||||
'tags' => 'new tag '.uniqid(),
|
'tags' => 'new tag '.uniqid(),
|
||||||
'starred' => '1',
|
'star' => true,
|
||||||
'archive' => '0',
|
'archive' => false,
|
||||||
));
|
|
||||||
|
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
|
||||||
|
|
||||||
$this->assertEquals($entry->getId(), $content['id']);
|
|
||||||
$this->assertEquals($entry->getUrl(), $content['url']);
|
|
||||||
$this->assertEquals('New awesome title', $content['title']);
|
|
||||||
$this->assertGreaterThan($nbTags, count($content['tags']));
|
|
||||||
$this->assertEquals(1, $content['user_id']);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testPatchEntryWithoutQuotes()
|
|
||||||
{
|
|
||||||
$entry = $this->client->getContainer()
|
|
||||||
->get('doctrine.orm.entity_manager')
|
|
||||||
->getRepository('WallabagCoreBundle:Entry')
|
|
||||||
->findOneByUser(1);
|
|
||||||
|
|
||||||
if (!$entry) {
|
|
||||||
$this->markTestSkipped('No content found in db.');
|
|
||||||
}
|
|
||||||
|
|
||||||
// hydrate the tags relations
|
|
||||||
$nbTags = count($entry->getTags());
|
|
||||||
|
|
||||||
$this->client->request('PATCH', '/api/entries/'.$entry->getId().'.json', array(
|
|
||||||
'title' => 'New awesome title',
|
|
||||||
'tags' => 'new tag '.uniqid(),
|
|
||||||
'starred' => 1,
|
|
||||||
'archive' => 0,
|
|
||||||
));
|
));
|
||||||
|
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
||||||
@ -410,15 +318,4 @@ class WallabagRestControllerTest extends WallabagApiTestCase
|
|||||||
|
|
||||||
$this->assertCount(0, $entries);
|
$this->assertCount(0, $entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetVersion()
|
|
||||||
{
|
|
||||||
$this->client->request('GET', '/api/version');
|
|
||||||
|
|
||||||
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
|
||||||
|
|
||||||
$content = json_decode($this->client->getResponse()->getContent(), true);
|
|
||||||
|
|
||||||
$this->assertEquals($this->client->getContainer()->getParameter('wallabag_core.version'), $content);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -73,36 +73,36 @@ class InstallCommand extends ContainerAwareCommand
|
|||||||
|
|
||||||
$fulfilled = true;
|
$fulfilled = true;
|
||||||
|
|
||||||
$label = '<comment>PDO Driver</comment>';
|
$label = '<comment>PDO Drivers</comment>';
|
||||||
$status = '<info>OK!</info>';
|
if (extension_loaded('pdo_sqlite') || extension_loaded('pdo_mysql') || extension_loaded('pdo_pgsql')) {
|
||||||
$help = '';
|
$status = '<info>OK!</info>';
|
||||||
|
$help = '';
|
||||||
if (!extension_loaded($this->getContainer()->getParameter('database_driver'))) {
|
} else {
|
||||||
$fulfilled = false;
|
$fulfilled = false;
|
||||||
$status = '<error>ERROR!</error>';
|
$status = '<error>ERROR!</error>';
|
||||||
$help = 'Database driver "'.$this->getContainer()->getParameter('database_driver').'" is not installed.';
|
$help = 'Needs one of sqlite, mysql or pgsql PDO drivers';
|
||||||
}
|
}
|
||||||
|
|
||||||
$rows = [];
|
$rows[] = array($label, $status, $help);
|
||||||
$rows[] = [$label, $status, $help];
|
|
||||||
|
|
||||||
foreach ($this->functionExists as $functionRequired) {
|
foreach ($this->functionExists as $functionRequired) {
|
||||||
$label = '<comment>'.$functionRequired.'</comment>';
|
$label = '<comment>'.$functionRequired.'</comment>';
|
||||||
$status = '<info>OK!</info>';
|
|
||||||
$help = '';
|
|
||||||
|
|
||||||
if (!function_exists($functionRequired)) {
|
if (function_exists($functionRequired)) {
|
||||||
|
$status = '<info>OK!</info>';
|
||||||
|
$help = '';
|
||||||
|
} else {
|
||||||
$fulfilled = false;
|
$fulfilled = false;
|
||||||
$status = '<error>ERROR!</error>';
|
$status = '<error>ERROR!</error>';
|
||||||
$help = 'You need the '.$functionRequired.' function activated';
|
$help = 'You need the '.$functionRequired.' function activated';
|
||||||
}
|
}
|
||||||
|
|
||||||
$rows[] = [$label, $status, $help];
|
$rows[] = array($label, $status, $help);
|
||||||
}
|
}
|
||||||
|
|
||||||
$table = new Table($this->defaultOutput);
|
$table = new Table($this->defaultOutput);
|
||||||
$table
|
$table
|
||||||
->setHeaders(['Checked', 'Status', 'Recommendation'])
|
->setHeaders(array('Checked', 'Status', 'Recommendation'))
|
||||||
->setRows($rows)
|
->setRows($rows)
|
||||||
->render();
|
->render();
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ class InstallCommand extends ContainerAwareCommand
|
|||||||
$this->defaultOutput->writeln('Droping database, creating database and schema, clearing the cache');
|
$this->defaultOutput->writeln('Droping database, creating database and schema, clearing the cache');
|
||||||
|
|
||||||
$this
|
$this
|
||||||
->runCommand('doctrine:database:drop', ['--force' => true])
|
->runCommand('doctrine:database:drop', array('--force' => true))
|
||||||
->runCommand('doctrine:database:create')
|
->runCommand('doctrine:database:create')
|
||||||
->runCommand('doctrine:schema:create')
|
->runCommand('doctrine:schema:create')
|
||||||
->runCommand('cache:clear')
|
->runCommand('cache:clear')
|
||||||
@ -158,7 +158,7 @@ class InstallCommand extends ContainerAwareCommand
|
|||||||
$this->defaultOutput->writeln('Droping database, creating database and schema');
|
$this->defaultOutput->writeln('Droping database, creating database and schema');
|
||||||
|
|
||||||
$this
|
$this
|
||||||
->runCommand('doctrine:database:drop', ['--force' => true])
|
->runCommand('doctrine:database:drop', array('--force' => true))
|
||||||
->runCommand('doctrine:database:create')
|
->runCommand('doctrine:database:create')
|
||||||
->runCommand('doctrine:schema:create')
|
->runCommand('doctrine:schema:create')
|
||||||
;
|
;
|
||||||
@ -168,7 +168,7 @@ class InstallCommand extends ContainerAwareCommand
|
|||||||
$this->defaultOutput->writeln('Droping schema and creating schema');
|
$this->defaultOutput->writeln('Droping schema and creating schema');
|
||||||
|
|
||||||
$this
|
$this
|
||||||
->runCommand('doctrine:schema:drop', ['--force' => true])
|
->runCommand('doctrine:schema:drop', array('--force' => true))
|
||||||
->runCommand('doctrine:schema:create')
|
->runCommand('doctrine:schema:create')
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@ -222,7 +222,6 @@ class InstallCommand extends ContainerAwareCommand
|
|||||||
$config->setTheme($this->getContainer()->getParameter('wallabag_core.theme'));
|
$config->setTheme($this->getContainer()->getParameter('wallabag_core.theme'));
|
||||||
$config->setItemsPerPage($this->getContainer()->getParameter('wallabag_core.items_on_page'));
|
$config->setItemsPerPage($this->getContainer()->getParameter('wallabag_core.items_on_page'));
|
||||||
$config->setRssLimit($this->getContainer()->getParameter('wallabag_core.rss_limit'));
|
$config->setRssLimit($this->getContainer()->getParameter('wallabag_core.rss_limit'));
|
||||||
$config->setReadingSpeed($this->getContainer()->getParameter('wallabag_core.reading_speed'));
|
|
||||||
$config->setLanguage($this->getContainer()->getParameter('wallabag_core.language'));
|
$config->setLanguage($this->getContainer()->getParameter('wallabag_core.language'));
|
||||||
|
|
||||||
$em->persist($config);
|
$em->persist($config);
|
||||||
@ -388,19 +387,19 @@ class InstallCommand extends ContainerAwareCommand
|
|||||||
* @param string $command
|
* @param string $command
|
||||||
* @param array $parameters Parameters to this command (usually 'force' => true)
|
* @param array $parameters Parameters to this command (usually 'force' => true)
|
||||||
*/
|
*/
|
||||||
protected function runCommand($command, $parameters = [])
|
protected function runCommand($command, $parameters = array())
|
||||||
{
|
{
|
||||||
$parameters = array_merge(
|
$parameters = array_merge(
|
||||||
['command' => $command],
|
array('command' => $command),
|
||||||
$parameters,
|
$parameters,
|
||||||
[
|
array(
|
||||||
'--no-debug' => true,
|
'--no-debug' => true,
|
||||||
'--env' => $this->defaultInput->getOption('env') ?: 'dev',
|
'--env' => $this->defaultInput->getOption('env') ?: 'dev',
|
||||||
]
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($this->defaultInput->getOption('no-interaction')) {
|
if ($this->defaultInput->getOption('no-interaction')) {
|
||||||
$parameters = array_merge($parameters, ['--no-interaction' => true]);
|
$parameters = array_merge($parameters, array('--no-interaction' => true));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->getApplication()->setAutoExit(false);
|
$this->getApplication()->setAutoExit(false);
|
||||||
|
|||||||
@ -16,6 +16,7 @@ use Wallabag\CoreBundle\Form\Type\RssType;
|
|||||||
use Wallabag\CoreBundle\Form\Type\TaggingRuleType;
|
use Wallabag\CoreBundle\Form\Type\TaggingRuleType;
|
||||||
use Wallabag\CoreBundle\Form\Type\UserInformationType;
|
use Wallabag\CoreBundle\Form\Type\UserInformationType;
|
||||||
use Wallabag\CoreBundle\Tools\Utils;
|
use Wallabag\CoreBundle\Tools\Utils;
|
||||||
|
use Wallabag\UserBundle\Entity\User;
|
||||||
|
|
||||||
class ConfigController extends Controller
|
class ConfigController extends Controller
|
||||||
{
|
{
|
||||||
@ -45,7 +46,7 @@ class ConfigController extends Controller
|
|||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.config.notice.config_saved'
|
'Config saved. Some parameters will be considered after disconnection.'
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('config'));
|
return $this->redirect($this->generateUrl('config'));
|
||||||
@ -57,9 +58,9 @@ class ConfigController extends Controller
|
|||||||
|
|
||||||
if ($pwdForm->isValid()) {
|
if ($pwdForm->isValid()) {
|
||||||
if ($this->get('craue_config')->get('demo_mode_enabled') && $this->get('craue_config')->get('demo_mode_username') === $user->getUsername()) {
|
if ($this->get('craue_config')->get('demo_mode_enabled') && $this->get('craue_config')->get('demo_mode_username') === $user->getUsername()) {
|
||||||
$message = 'flashes.config.notice.password_not_updated_demo';
|
$message = 'In demonstration mode, you can\'t change password for this user.';
|
||||||
} else {
|
} else {
|
||||||
$message = 'flashes.config.notice.password_updated';
|
$message = 'Password updated';
|
||||||
|
|
||||||
$user->setPlainPassword($pwdForm->get('new_password')->getData());
|
$user->setPlainPassword($pwdForm->get('new_password')->getData());
|
||||||
$userManager->updateUser($user, true);
|
$userManager->updateUser($user, true);
|
||||||
@ -82,7 +83,7 @@ class ConfigController extends Controller
|
|||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.config.notice.user_updated'
|
'Information updated'
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('config').'#set3');
|
return $this->redirect($this->generateUrl('config').'#set3');
|
||||||
@ -98,7 +99,7 @@ class ConfigController extends Controller
|
|||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.config.notice.rss_updated'
|
'RSS information updated'
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('config').'#set2');
|
return $this->redirect($this->generateUrl('config').'#set2');
|
||||||
@ -116,7 +117,7 @@ class ConfigController extends Controller
|
|||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.config.notice.tagging_rules_updated'
|
'Tagging rules updated'
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('config').'#set5');
|
return $this->redirect($this->generateUrl('config').'#set5');
|
||||||
@ -147,7 +148,7 @@ class ConfigController extends Controller
|
|||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
$this->get('translator')->trans('flashes.config.notice.user_added', array('%username%' => $newUser->getUsername()))
|
$this->get('translator')->trans('User "%username%" added', array('%username%' => $newUser->getUsername()))
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('config').'#set6');
|
return $this->redirect($this->generateUrl('config').'#set6');
|
||||||
@ -192,7 +193,7 @@ class ConfigController extends Controller
|
|||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.config.notice.rss_token_updated'
|
'RSS token updated'
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('config').'#set2');
|
return $this->redirect($this->generateUrl('config').'#set2');
|
||||||
@ -210,7 +211,7 @@ class ConfigController extends Controller
|
|||||||
public function deleteTaggingRuleAction(TaggingRule $rule)
|
public function deleteTaggingRuleAction(TaggingRule $rule)
|
||||||
{
|
{
|
||||||
if ($this->getUser()->getId() != $rule->getConfig()->getUser()->getId()) {
|
if ($this->getUser()->getId() != $rule->getConfig()->getUser()->getId()) {
|
||||||
throw $this->createAccessDeniedException('You can not access this tagging rule.');
|
throw $this->createAccessDeniedException('You can not access this tagging ryle.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
@ -219,7 +220,7 @@ class ConfigController extends Controller
|
|||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.config.notice.tagging_rules_deleted'
|
'Tagging rule deleted'
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('config').'#set5');
|
return $this->redirect($this->generateUrl('config').'#set5');
|
||||||
|
|||||||
@ -1,100 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Wallabag\CoreBundle\Controller;
|
|
||||||
|
|
||||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
|
||||||
use Wallabag\ApiBundle\Entity\Client;
|
|
||||||
use Wallabag\CoreBundle\Form\Type\ClientType;
|
|
||||||
|
|
||||||
class DeveloperController extends Controller
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* List all clients and link to create a new one.
|
|
||||||
*
|
|
||||||
* @Route("/developer", name="developer")
|
|
||||||
*
|
|
||||||
* @return \Symfony\Component\HttpFoundation\Response
|
|
||||||
*/
|
|
||||||
public function indexAction()
|
|
||||||
{
|
|
||||||
$clients = $this->getDoctrine()->getRepository('WallabagApiBundle:Client')->findAll();
|
|
||||||
|
|
||||||
return $this->render('WallabagCoreBundle:Developer:index.html.twig', array(
|
|
||||||
'clients' => $clients,
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a client (an app).
|
|
||||||
*
|
|
||||||
* @param Request $request
|
|
||||||
*
|
|
||||||
* @Route("/developer/client/create", name="developer_create_client")
|
|
||||||
*
|
|
||||||
* @return \Symfony\Component\HttpFoundation\Response
|
|
||||||
*/
|
|
||||||
public function createClientAction(Request $request)
|
|
||||||
{
|
|
||||||
$em = $this->getDoctrine()->getManager();
|
|
||||||
$client = new Client();
|
|
||||||
$clientForm = $this->createForm(ClientType::class, $client);
|
|
||||||
$clientForm->handleRequest($request);
|
|
||||||
|
|
||||||
if ($clientForm->isValid()) {
|
|
||||||
$client->setAllowedGrantTypes(array('token', 'authorization_code', 'password', 'refresh_token'));
|
|
||||||
$em->persist($client);
|
|
||||||
$em->flush();
|
|
||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
|
||||||
'notice',
|
|
||||||
'flashes.developer.notice.client_created'
|
|
||||||
);
|
|
||||||
|
|
||||||
return $this->render('WallabagCoreBundle:Developer:client_parameters.html.twig', array(
|
|
||||||
'client_id' => $client->getPublicId(),
|
|
||||||
'client_secret' => $client->getSecret(),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->render('WallabagCoreBundle:Developer:client.html.twig', array(
|
|
||||||
'form' => $clientForm->createView(),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove a client.
|
|
||||||
*
|
|
||||||
* @param Client $client
|
|
||||||
*
|
|
||||||
* @Route("/developer/client/delete/{id}", requirements={"id" = "\d+"}, name="developer_delete_client")
|
|
||||||
*
|
|
||||||
* @return \Symfony\Component\HttpFoundation\RedirectResponse
|
|
||||||
*/
|
|
||||||
public function deleteClientAction(Client $client)
|
|
||||||
{
|
|
||||||
$em = $this->getDoctrine()->getManager();
|
|
||||||
$em->remove($client);
|
|
||||||
$em->flush();
|
|
||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
|
||||||
'notice',
|
|
||||||
'flashes.developer.notice.client_deleted'
|
|
||||||
);
|
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('developer'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Display developer how to use an existing app.
|
|
||||||
*
|
|
||||||
* @Route("/developer/howto/first-app", name="developer_howto_firstapp")
|
|
||||||
*
|
|
||||||
* @return \Symfony\Component\HttpFoundation\Response
|
|
||||||
*/
|
|
||||||
public function howtoFirstAppAction()
|
|
||||||
{
|
|
||||||
return $this->render('WallabagCoreBundle:Developer:howto_app.html.twig');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -55,7 +55,7 @@ class EntryController extends Controller
|
|||||||
if (false !== $existingEntry) {
|
if (false !== $existingEntry) {
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
$this->get('translator')->trans('flashes.entry.notice.entry_already_saved', array('%date%' => $existingEntry->getCreatedAt()->format('d-m-Y')))
|
'Entry already saved on '.$existingEntry->getCreatedAt()->format('d-m-Y')
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('view', array('id' => $existingEntry->getId())));
|
return $this->redirect($this->generateUrl('view', array('id' => $existingEntry->getId())));
|
||||||
@ -64,7 +64,7 @@ class EntryController extends Controller
|
|||||||
$this->updateEntry($entry);
|
$this->updateEntry($entry);
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.entry.notice.entry_saved'
|
'Entry saved'
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('homepage'));
|
return $this->redirect($this->generateUrl('homepage'));
|
||||||
@ -92,11 +92,13 @@ class EntryController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
*
|
||||||
* @Route("/new", name="new")
|
* @Route("/new", name="new")
|
||||||
*
|
*
|
||||||
* @return \Symfony\Component\HttpFoundation\Response
|
* @return \Symfony\Component\HttpFoundation\Response
|
||||||
*/
|
*/
|
||||||
public function addEntryAction()
|
public function addEntryAction(Request $request)
|
||||||
{
|
{
|
||||||
return $this->render('WallabagCoreBundle:Entry:new.html.twig');
|
return $this->render('WallabagCoreBundle:Entry:new.html.twig');
|
||||||
}
|
}
|
||||||
@ -126,7 +128,7 @@ class EntryController extends Controller
|
|||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.entry.notice.entry_updated'
|
'Entry updated'
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('view', array('id' => $entry->getId())));
|
return $this->redirect($this->generateUrl('view', array('id' => $entry->getId())));
|
||||||
@ -302,9 +304,9 @@ class EntryController extends Controller
|
|||||||
{
|
{
|
||||||
$this->checkUserAction($entry);
|
$this->checkUserAction($entry);
|
||||||
|
|
||||||
$message = 'flashes.entry.notice.entry_reloaded';
|
$message = 'Entry reloaded';
|
||||||
if (false === $this->updateEntry($entry)) {
|
if (false === $this->updateEntry($entry)) {
|
||||||
$message = 'flashes.entry.notice.entry_reload_failed';
|
$message = 'Failed to reload entry';
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
@ -332,14 +334,9 @@ class EntryController extends Controller
|
|||||||
$entry->toggleArchive();
|
$entry->toggleArchive();
|
||||||
$this->getDoctrine()->getManager()->flush();
|
$this->getDoctrine()->getManager()->flush();
|
||||||
|
|
||||||
$message = 'flashes.entry.notice.entry_unarchived';
|
|
||||||
if ($entry->isArchived()) {
|
|
||||||
$message = 'flashes.entry.notice.entry_archived';
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
$message
|
'Entry '.($entry->isArchived() ? 'archived' : 'unarchived')
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($request->headers->get('referer'));
|
return $this->redirect($request->headers->get('referer'));
|
||||||
@ -362,14 +359,9 @@ class EntryController extends Controller
|
|||||||
$entry->toggleStar();
|
$entry->toggleStar();
|
||||||
$this->getDoctrine()->getManager()->flush();
|
$this->getDoctrine()->getManager()->flush();
|
||||||
|
|
||||||
$message = 'flashes.entry.notice.entry_unstarred';
|
|
||||||
if ($entry->isStarred()) {
|
|
||||||
$message = 'flashes.entry.notice.entry_starred';
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
$message
|
'Entry '.($entry->isStarred() ? 'starred' : 'unstarred')
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($request->headers->get('referer'));
|
return $this->redirect($request->headers->get('referer'));
|
||||||
@ -402,7 +394,7 @@ class EntryController extends Controller
|
|||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.entry.notice.entry_deleted'
|
'Entry deleted'
|
||||||
);
|
);
|
||||||
|
|
||||||
// don't redirect user to the deleted entry
|
// don't redirect user to the deleted entry
|
||||||
|
|||||||
@ -20,22 +20,30 @@ class TagController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function addTagFormAction(Request $request, Entry $entry)
|
public function addTagFormAction(Request $request, Entry $entry)
|
||||||
{
|
{
|
||||||
$form = $this->createForm(NewTagType::class, new Tag());
|
$tag = new Tag();
|
||||||
|
$form = $this->createForm(NewTagType::class, $tag);
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
if ($form->isValid()) {
|
if ($form->isValid()) {
|
||||||
$this->get('wallabag_core.content_proxy')->assignTagsToEntry(
|
$existingTag = $this->getDoctrine()
|
||||||
$entry,
|
->getRepository('WallabagCoreBundle:Tag')
|
||||||
$form->get('label')->getData()
|
->findOneByLabel($tag->getLabel());
|
||||||
);
|
|
||||||
|
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
$em->persist($entry);
|
|
||||||
|
if (is_null($existingTag)) {
|
||||||
|
$entry->addTag($tag);
|
||||||
|
$em->persist($tag);
|
||||||
|
} elseif (!$existingTag->hasEntry($entry)) {
|
||||||
|
$entry->addTag($existingTag);
|
||||||
|
$em->persist($existingTag);
|
||||||
|
}
|
||||||
|
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
||||||
$this->get('session')->getFlashBag()->add(
|
$this->get('session')->getFlashBag()->add(
|
||||||
'notice',
|
'notice',
|
||||||
'flashes.tag.notice.tag_added'
|
'Tag added'
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->redirect($this->generateUrl('view', array('id' => $entry->getId())));
|
return $this->redirect($this->generateUrl('view', array('id' => $entry->getId())));
|
||||||
|
|||||||
@ -25,7 +25,6 @@ class LoadConfigData extends AbstractFixture implements OrderedFixtureInterface
|
|||||||
|
|
||||||
$adminConfig->setTheme('material');
|
$adminConfig->setTheme('material');
|
||||||
$adminConfig->setItemsPerPage(30);
|
$adminConfig->setItemsPerPage(30);
|
||||||
$adminConfig->setReadingSpeed(1);
|
|
||||||
$adminConfig->setLanguage('en');
|
$adminConfig->setLanguage('en');
|
||||||
|
|
||||||
$manager->persist($adminConfig);
|
$manager->persist($adminConfig);
|
||||||
@ -35,7 +34,6 @@ class LoadConfigData extends AbstractFixture implements OrderedFixtureInterface
|
|||||||
$bobConfig = new Config($this->getReference('bob-user'));
|
$bobConfig = new Config($this->getReference('bob-user'));
|
||||||
$bobConfig->setTheme('default');
|
$bobConfig->setTheme('default');
|
||||||
$bobConfig->setItemsPerPage(10);
|
$bobConfig->setItemsPerPage(10);
|
||||||
$bobConfig->setReadingSpeed(1);
|
|
||||||
$bobConfig->setLanguage('fr');
|
$bobConfig->setLanguage('fr');
|
||||||
|
|
||||||
$manager->persist($bobConfig);
|
$manager->persist($bobConfig);
|
||||||
@ -45,7 +43,6 @@ class LoadConfigData extends AbstractFixture implements OrderedFixtureInterface
|
|||||||
$emptyConfig = new Config($this->getReference('empty-user'));
|
$emptyConfig = new Config($this->getReference('empty-user'));
|
||||||
$emptyConfig->setTheme('material');
|
$emptyConfig->setTheme('material');
|
||||||
$emptyConfig->setItemsPerPage(10);
|
$emptyConfig->setItemsPerPage(10);
|
||||||
$emptyConfig->setReadingSpeed(1);
|
|
||||||
$emptyConfig->setLanguage('en');
|
$emptyConfig->setLanguage('en');
|
||||||
|
|
||||||
$manager->persist($emptyConfig);
|
$manager->persist($emptyConfig);
|
||||||
|
|||||||
@ -29,9 +29,6 @@ class Configuration implements ConfigurationInterface
|
|||||||
->integerNode('rss_limit')
|
->integerNode('rss_limit')
|
||||||
->defaultValue(50)
|
->defaultValue(50)
|
||||||
->end()
|
->end()
|
||||||
->integerNode('reading_speed')
|
|
||||||
->defaultValue(1)
|
|
||||||
->end()
|
|
||||||
->scalarNode('version')
|
->scalarNode('version')
|
||||||
->end()
|
->end()
|
||||||
->scalarNode('paypal_url')
|
->scalarNode('paypal_url')
|
||||||
|
|||||||
@ -19,7 +19,6 @@ class WallabagCoreExtension extends Extension
|
|||||||
$container->setParameter('wallabag_core.theme', $config['theme']);
|
$container->setParameter('wallabag_core.theme', $config['theme']);
|
||||||
$container->setParameter('wallabag_core.language', $config['language']);
|
$container->setParameter('wallabag_core.language', $config['language']);
|
||||||
$container->setParameter('wallabag_core.rss_limit', $config['rss_limit']);
|
$container->setParameter('wallabag_core.rss_limit', $config['rss_limit']);
|
||||||
$container->setParameter('wallabag_core.reading_speed', $config['reading_speed']);
|
|
||||||
$container->setParameter('wallabag_core.version', $config['version']);
|
$container->setParameter('wallabag_core.version', $config['version']);
|
||||||
$container->setParameter('wallabag_core.paypal_url', $config['paypal_url']);
|
$container->setParameter('wallabag_core.paypal_url', $config['paypal_url']);
|
||||||
|
|
||||||
|
|||||||
@ -40,7 +40,7 @@ class Config
|
|||||||
* @Assert\Range(
|
* @Assert\Range(
|
||||||
* min = 1,
|
* min = 1,
|
||||||
* max = 100000,
|
* max = 100000,
|
||||||
* maxMessage = "validator.item_per_page_too_high"
|
* maxMessage = "This will certainly kill the app"
|
||||||
* )
|
* )
|
||||||
* @ORM\Column(name="items_per_page", type="integer", nullable=false)
|
* @ORM\Column(name="items_per_page", type="integer", nullable=false)
|
||||||
*/
|
*/
|
||||||
@ -68,18 +68,11 @@ class Config
|
|||||||
* @Assert\Range(
|
* @Assert\Range(
|
||||||
* min = 1,
|
* min = 1,
|
||||||
* max = 100000,
|
* max = 100000,
|
||||||
* maxMessage = "validator.rss_limit_too_hight"
|
* maxMessage = "This will certainly kill the app"
|
||||||
* )
|
* )
|
||||||
*/
|
*/
|
||||||
private $rssLimit;
|
private $rssLimit;
|
||||||
|
|
||||||
/**
|
|
||||||
* @var float
|
|
||||||
*
|
|
||||||
* @ORM\Column(name="reading_speed", type="float", nullable=true)
|
|
||||||
*/
|
|
||||||
private $readingSpeed;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\OneToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="config")
|
* @ORM\OneToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="config")
|
||||||
*/
|
*/
|
||||||
@ -254,30 +247,6 @@ class Config
|
|||||||
return $this->rssLimit;
|
return $this->rssLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set readingSpeed.
|
|
||||||
*
|
|
||||||
* @param float $readingSpeed
|
|
||||||
*
|
|
||||||
* @return Config
|
|
||||||
*/
|
|
||||||
public function setReadingSpeed($readingSpeed)
|
|
||||||
{
|
|
||||||
$this->readingSpeed = $readingSpeed;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get readingSpeed.
|
|
||||||
*
|
|
||||||
* @return float
|
|
||||||
*/
|
|
||||||
public function getReadingSpeed()
|
|
||||||
{
|
|
||||||
return $this->readingSpeed;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param TaggingRule $rule
|
* @param TaggingRule $rule
|
||||||
*
|
*
|
||||||
|
|||||||
@ -7,9 +7,6 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
use Hateoas\Configuration\Annotation as Hateoas;
|
use Hateoas\Configuration\Annotation as Hateoas;
|
||||||
use JMS\Serializer\Annotation\Groups;
|
use JMS\Serializer\Annotation\Groups;
|
||||||
use JMS\Serializer\Annotation\XmlRoot;
|
use JMS\Serializer\Annotation\XmlRoot;
|
||||||
use JMS\Serializer\Annotation\Exclude;
|
|
||||||
use JMS\Serializer\Annotation\VirtualProperty;
|
|
||||||
use JMS\Serializer\Annotation\SerializedName;
|
|
||||||
use Symfony\Component\Validator\Constraints as Assert;
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
use Wallabag\UserBundle\Entity\User;
|
use Wallabag\UserBundle\Entity\User;
|
||||||
use Wallabag\AnnotationBundle\Entity\Annotation;
|
use Wallabag\AnnotationBundle\Entity\Annotation;
|
||||||
@ -59,8 +56,6 @@ class Entry
|
|||||||
/**
|
/**
|
||||||
* @var bool
|
* @var bool
|
||||||
*
|
*
|
||||||
* @Exclude
|
|
||||||
*
|
|
||||||
* @ORM\Column(name="is_archived", type="boolean")
|
* @ORM\Column(name="is_archived", type="boolean")
|
||||||
*
|
*
|
||||||
* @Groups({"entries_for_user", "export_all"})
|
* @Groups({"entries_for_user", "export_all"})
|
||||||
@ -70,8 +65,6 @@ class Entry
|
|||||||
/**
|
/**
|
||||||
* @var bool
|
* @var bool
|
||||||
*
|
*
|
||||||
* @Exclude
|
|
||||||
*
|
|
||||||
* @ORM\Column(name="is_starred", type="boolean")
|
* @ORM\Column(name="is_starred", type="boolean")
|
||||||
*
|
*
|
||||||
* @Groups({"entries_for_user", "export_all"})
|
* @Groups({"entries_for_user", "export_all"})
|
||||||
@ -168,8 +161,6 @@ class Entry
|
|||||||
private $isPublic;
|
private $isPublic;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Exclude
|
|
||||||
*
|
|
||||||
* @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="entries")
|
* @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="entries")
|
||||||
*
|
*
|
||||||
* @Groups({"export_all"})
|
* @Groups({"export_all"})
|
||||||
@ -187,7 +178,7 @@ class Entry
|
|||||||
/*
|
/*
|
||||||
* @param User $user
|
* @param User $user
|
||||||
*/
|
*/
|
||||||
public function __construct(User $user)
|
public function __construct(\Wallabag\UserBundle\Entity\User $user)
|
||||||
{
|
{
|
||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
$this->tags = new ArrayCollection();
|
$this->tags = new ArrayCollection();
|
||||||
@ -275,16 +266,6 @@ class Entry
|
|||||||
return $this->isArchived;
|
return $this->isArchived;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @VirtualProperty
|
|
||||||
* @SerializedName("is_archived")
|
|
||||||
* @Groups({"entries_for_user", "export_all"})
|
|
||||||
*/
|
|
||||||
public function is_Archived()
|
|
||||||
{
|
|
||||||
return (int) $this->isArchived();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function toggleArchive()
|
public function toggleArchive()
|
||||||
{
|
{
|
||||||
$this->isArchived = $this->isArchived() ^ 1;
|
$this->isArchived = $this->isArchived() ^ 1;
|
||||||
@ -316,16 +297,6 @@ class Entry
|
|||||||
return $this->isStarred;
|
return $this->isStarred;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @VirtualProperty
|
|
||||||
* @SerializedName("is_starred")
|
|
||||||
* @Groups({"entries_for_user", "export_all"})
|
|
||||||
*/
|
|
||||||
public function is_Starred()
|
|
||||||
{
|
|
||||||
return (int) $this->isStarred();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function toggleStar()
|
public function toggleStar()
|
||||||
{
|
{
|
||||||
$this->isStarred = $this->isStarred() ^ 1;
|
$this->isStarred = $this->isStarred() ^ 1;
|
||||||
@ -365,33 +336,6 @@ class Entry
|
|||||||
return $this->user;
|
return $this->user;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @VirtualProperty
|
|
||||||
* @SerializedName("user_name")
|
|
||||||
*/
|
|
||||||
public function getUserName()
|
|
||||||
{
|
|
||||||
return $this->user->getUserName();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @VirtualProperty
|
|
||||||
* @SerializedName("user_email")
|
|
||||||
*/
|
|
||||||
public function getUserEmail()
|
|
||||||
{
|
|
||||||
return $this->user->getEmail();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @VirtualProperty
|
|
||||||
* @SerializedName("user_id")
|
|
||||||
*/
|
|
||||||
public function getUserId()
|
|
||||||
{
|
|
||||||
return $this->user->getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -16,27 +16,23 @@ class ChangePasswordType extends AbstractType
|
|||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('old_password', PasswordType::class, array(
|
->add('old_password', PasswordType::class, array(
|
||||||
'constraints' => new UserPassword(array('message' => 'validator.password_wrong_value')),
|
'constraints' => new UserPassword(array('message' => 'Wrong value for your current password')),
|
||||||
'label' => 'config.form_password.old_password_label',
|
|
||||||
))
|
))
|
||||||
->add('new_password', RepeatedType::class, array(
|
->add('new_password', RepeatedType::class, array(
|
||||||
'type' => PasswordType::class,
|
'type' => PasswordType::class,
|
||||||
'invalid_message' => 'validator.password_must_match',
|
'invalid_message' => 'The password fields must match.',
|
||||||
'required' => true,
|
'required' => true,
|
||||||
'first_options' => array('label' => 'config.form_password.new_password_label'),
|
'first_options' => array('label' => 'New password'),
|
||||||
'second_options' => array('label' => 'config.form_password.repeat_new_password_label'),
|
'second_options' => array('label' => 'Repeat new password'),
|
||||||
'constraints' => array(
|
'constraints' => array(
|
||||||
new Constraints\Length(array(
|
new Constraints\Length(array(
|
||||||
'min' => 8,
|
'min' => 8,
|
||||||
'minMessage' => 'validator.password_too_short',
|
'minMessage' => 'Password should by at least 8 chars long',
|
||||||
)),
|
)),
|
||||||
new Constraints\NotBlank(),
|
new Constraints\NotBlank(),
|
||||||
),
|
),
|
||||||
'label' => 'config.form_password.new_password_label',
|
|
||||||
))
|
|
||||||
->add('save', SubmitType::class, array(
|
|
||||||
'label' => 'config.form.save',
|
|
||||||
))
|
))
|
||||||
|
->add('save', SubmitType::class)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,44 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Wallabag\CoreBundle\Form\Type;
|
|
||||||
|
|
||||||
use Symfony\Component\Form\AbstractType;
|
|
||||||
use Symfony\Component\Form\CallbackTransformer;
|
|
||||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
|
||||||
use Symfony\Component\Form\Extension\Core\Type\UrlType;
|
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
|
||||||
|
|
||||||
class ClientType extends AbstractType
|
|
||||||
{
|
|
||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
|
||||||
{
|
|
||||||
$builder
|
|
||||||
->add('redirect_uris', UrlType::class, array('required' => true, 'label' => 'developer.client.form.redirect_uris_label'))
|
|
||||||
->add('save', SubmitType::class, array('label' => 'developer.client.form.save_label'))
|
|
||||||
;
|
|
||||||
|
|
||||||
$builder->get('redirect_uris')
|
|
||||||
->addModelTransformer(new CallbackTransformer(
|
|
||||||
function ($originalUri) {
|
|
||||||
return $originalUri;
|
|
||||||
},
|
|
||||||
function ($submittedUri) {
|
|
||||||
return array($submittedUri);
|
|
||||||
}
|
|
||||||
))
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
|
||||||
{
|
|
||||||
$resolver->setDefaults(array(
|
|
||||||
'data_class' => 'Wallabag\ApiBundle\Entity\Client',
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getBlockPrefix()
|
|
||||||
{
|
|
||||||
return 'client';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -33,28 +33,13 @@ class ConfigType extends AbstractType
|
|||||||
->add('theme', ChoiceType::class, array(
|
->add('theme', ChoiceType::class, array(
|
||||||
'choices' => array_flip($this->themes),
|
'choices' => array_flip($this->themes),
|
||||||
'choices_as_values' => true,
|
'choices_as_values' => true,
|
||||||
'label' => 'config.form_settings.theme_label',
|
|
||||||
))
|
|
||||||
->add('items_per_page', null, array(
|
|
||||||
'label' => 'config.form_settings.items_per_page_label',
|
|
||||||
))
|
|
||||||
->add('reading_speed', ChoiceType::class, array(
|
|
||||||
'label' => 'config.form_settings.reading_speed.label',
|
|
||||||
'choices' => array(
|
|
||||||
'config.form_settings.reading_speed.100_word' => '0.5',
|
|
||||||
'config.form_settings.reading_speed.200_word' => '1',
|
|
||||||
'config.form_settings.reading_speed.300_word' => '1.5',
|
|
||||||
'config.form_settings.reading_speed.400_word' => '2',
|
|
||||||
),
|
|
||||||
))
|
))
|
||||||
|
->add('items_per_page')
|
||||||
->add('language', ChoiceType::class, array(
|
->add('language', ChoiceType::class, array(
|
||||||
'choices' => array_flip($this->languages),
|
'choices' => array_flip($this->languages),
|
||||||
'choices_as_values' => true,
|
'choices_as_values' => true,
|
||||||
'label' => 'config.form_settings.language_label',
|
|
||||||
))
|
|
||||||
->add('save', SubmitType::class, array(
|
|
||||||
'label' => 'config.form.save',
|
|
||||||
))
|
))
|
||||||
|
->add('save', SubmitType::class)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,22 +14,9 @@ class EditEntryType extends AbstractType
|
|||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('title', TextType::class, array(
|
->add('title', TextType::class, array('required' => true))
|
||||||
'required' => true,
|
->add('is_public', CheckboxType::class, array('required' => false))
|
||||||
'label' => 'entry.edit.title_label',
|
->add('save', SubmitType::class)
|
||||||
))
|
|
||||||
->add('is_public', CheckboxType::class, array(
|
|
||||||
'required' => false,
|
|
||||||
'label' => 'entry.edit.is_public_label',
|
|
||||||
))
|
|
||||||
->add('url', TextType::class, array(
|
|
||||||
'disabled' => true,
|
|
||||||
'required' => false,
|
|
||||||
'label' => 'entry.edit.url_label',
|
|
||||||
))
|
|
||||||
->add('save', SubmitType::class, array(
|
|
||||||
'label' => 'entry.edit.save_label',
|
|
||||||
))
|
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -34,9 +34,7 @@ class EntryFilterType extends AbstractType
|
|||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('readingTime', NumberRangeFilterType::class, array(
|
->add('readingTime', NumberRangeFilterType::class)
|
||||||
'label' => 'entry.filters.reading_time.label',
|
|
||||||
))
|
|
||||||
->add('createdAt', DateRangeFilterType::class, array(
|
->add('createdAt', DateRangeFilterType::class, array(
|
||||||
'left_date_options' => array(
|
'left_date_options' => array(
|
||||||
'attr' => array(
|
'attr' => array(
|
||||||
@ -52,7 +50,6 @@ class EntryFilterType extends AbstractType
|
|||||||
'format' => 'dd/MM/yyyy',
|
'format' => 'dd/MM/yyyy',
|
||||||
'widget' => 'single_text',
|
'widget' => 'single_text',
|
||||||
),
|
),
|
||||||
'label' => 'entry.filters.created_at.label',
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
->add('domainName', TextFilterType::class, array(
|
->add('domainName', TextFilterType::class, array(
|
||||||
@ -65,14 +62,9 @@ class EntryFilterType extends AbstractType
|
|||||||
|
|
||||||
return $filterQuery->createCondition($expression);
|
return $filterQuery->createCondition($expression);
|
||||||
},
|
},
|
||||||
'label' => 'entry.filters.domain_label',
|
|
||||||
))
|
|
||||||
->add('isArchived', CheckboxFilterType::class, array(
|
|
||||||
'label' => 'entry.filters.archived_label',
|
|
||||||
))
|
|
||||||
->add('isStarred', CheckboxFilterType::class, array(
|
|
||||||
'label' => 'entry.filters.starred_label',
|
|
||||||
))
|
))
|
||||||
|
->add('isArchived', CheckboxFilterType::class)
|
||||||
|
->add('isStarred', CheckboxFilterType::class)
|
||||||
->add('previewPicture', CheckboxFilterType::class, array(
|
->add('previewPicture', CheckboxFilterType::class, array(
|
||||||
'apply_filter' => function (QueryInterface $filterQuery, $field, $values) {
|
'apply_filter' => function (QueryInterface $filterQuery, $field, $values) {
|
||||||
if (false === $values['value']) {
|
if (false === $values['value']) {
|
||||||
@ -83,12 +75,10 @@ class EntryFilterType extends AbstractType
|
|||||||
|
|
||||||
return $filterQuery->createCondition($expression);
|
return $filterQuery->createCondition($expression);
|
||||||
},
|
},
|
||||||
'label' => 'entry.filters.preview_picture_label',
|
|
||||||
))
|
))
|
||||||
->add('language', ChoiceFilterType::class, array(
|
->add('language', ChoiceFilterType::class, array(
|
||||||
'choices' => array_flip($this->repository->findDistinctLanguageByUser($this->user->getId())),
|
'choices' => array_flip($this->repository->findDistinctLanguageByUser($this->user->getId())),
|
||||||
'choices_as_values' => true,
|
'choices_as_values' => true,
|
||||||
'label' => 'entry.filters.language_label',
|
|
||||||
))
|
))
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
namespace Wallabag\CoreBundle\Form\Type;
|
namespace Wallabag\CoreBundle\Form\Type;
|
||||||
|
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\UrlType;
|
use Symfony\Component\Form\Extension\Core\Type\UrlType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
@ -12,10 +13,8 @@ class NewEntryType extends AbstractType
|
|||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('url', UrlType::class, array(
|
->add('url', UrlType::class, array('required' => true))
|
||||||
'required' => true,
|
->add('save', SubmitType::class)
|
||||||
'label' => 'entry.new.form_new.url_label',
|
|
||||||
))
|
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
namespace Wallabag\CoreBundle\Form\Type;
|
namespace Wallabag\CoreBundle\Form\Type;
|
||||||
|
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
@ -13,6 +14,7 @@ class NewTagType extends AbstractType
|
|||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('label', TextType::class, array('required' => true))
|
->add('label', TextType::class, array('required' => true))
|
||||||
|
->add('save', SubmitType::class)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,30 +17,22 @@ class NewUserType extends AbstractType
|
|||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('username', TextType::class, array(
|
->add('username', TextType::class, array('required' => true))
|
||||||
'required' => true,
|
|
||||||
'label' => 'config.form_new_user.username_label',
|
|
||||||
))
|
|
||||||
->add('plainPassword', RepeatedType::class, array(
|
->add('plainPassword', RepeatedType::class, array(
|
||||||
'type' => PasswordType::class,
|
'type' => PasswordType::class,
|
||||||
'invalid_message' => 'validator.password_must_match',
|
'invalid_message' => 'The password fields must match',
|
||||||
'first_options' => array('label' => 'config.form_new_user.password_label'),
|
'first_options' => array('label' => 'Password'),
|
||||||
'second_options' => array('label' => 'config.form_new_user.repeat_new_password_label'),
|
'second_options' => array('label' => 'Repeat new password'),
|
||||||
'constraints' => array(
|
'constraints' => array(
|
||||||
new Constraints\Length(array(
|
new Constraints\Length(array(
|
||||||
'min' => 8,
|
'min' => 8,
|
||||||
'minMessage' => 'validator.password_too_short',
|
'minMessage' => 'Password should by at least 8 chars long',
|
||||||
)),
|
)),
|
||||||
new Constraints\NotBlank(),
|
new Constraints\NotBlank(),
|
||||||
),
|
),
|
||||||
'label' => 'config.form_new_user.plain_password_label',
|
|
||||||
))
|
|
||||||
->add('email', EmailType::class, array(
|
|
||||||
'label' => 'config.form_new_user.email_label',
|
|
||||||
))
|
|
||||||
->add('save', SubmitType::class, array(
|
|
||||||
'label' => 'config.form.save',
|
|
||||||
))
|
))
|
||||||
|
->add('email', EmailType::class)
|
||||||
|
->add('save', SubmitType::class)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,12 +12,8 @@ class RssType extends AbstractType
|
|||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('rss_limit', null, array(
|
->add('rss_limit')
|
||||||
'label' => 'config.form_rss.rss_limit',
|
->add('save', SubmitType::class)
|
||||||
))
|
|
||||||
->add('save', SubmitType::class, array(
|
|
||||||
'label' => 'config.form.save',
|
|
||||||
))
|
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,19 +14,12 @@ class TaggingRuleType extends AbstractType
|
|||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('rule', TextType::class, array(
|
->add('rule', TextType::class, array('required' => true))
|
||||||
'required' => true,
|
->add('save', SubmitType::class)
|
||||||
'label' => 'config.form_rules.rule_label',
|
|
||||||
))
|
|
||||||
->add('save', SubmitType::class, array(
|
|
||||||
'label' => 'config.form.save',
|
|
||||||
))
|
|
||||||
;
|
;
|
||||||
|
|
||||||
$tagsField = $builder
|
$tagsField = $builder
|
||||||
->create('tags', TextType::class, array(
|
->create('tags', TextType::class)
|
||||||
'label' => 'config.form_rules.tags_label',
|
|
||||||
))
|
|
||||||
->addModelTransformer(new StringToListTransformer(','));
|
->addModelTransformer(new StringToListTransformer(','));
|
||||||
|
|
||||||
$builder->add($tagsField);
|
$builder->add($tagsField);
|
||||||
|
|||||||
@ -15,19 +15,10 @@ class UserInformationType extends AbstractType
|
|||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('name', TextType::class, array(
|
->add('name', TextType::class)
|
||||||
'label' => 'config.form_user.name_label',
|
->add('email', EmailType::class)
|
||||||
))
|
->add('twoFactorAuthentication', CheckboxType::class, array('required' => false))
|
||||||
->add('email', EmailType::class, array(
|
->add('save', SubmitType::class)
|
||||||
'label' => 'config.form_user.email_label',
|
|
||||||
))
|
|
||||||
->add('twoFactorAuthentication', CheckboxType::class, array(
|
|
||||||
'required' => false,
|
|
||||||
'label' => 'config.form_user.twoFactorAuthentication_label',
|
|
||||||
))
|
|
||||||
->add('save', SubmitType::class, array(
|
|
||||||
'label' => 'config.form.save',
|
|
||||||
))
|
|
||||||
->remove('username')
|
->remove('username')
|
||||||
->remove('plainPassword')
|
->remove('plainPassword')
|
||||||
;
|
;
|
||||||
|
|||||||
@ -32,21 +32,14 @@ class ContentProxy
|
|||||||
* Fetch content using graby and hydrate given entry with results information.
|
* Fetch content using graby and hydrate given entry with results information.
|
||||||
* In case we couldn't find content, we'll try to use Open Graph data.
|
* In case we couldn't find content, we'll try to use Open Graph data.
|
||||||
*
|
*
|
||||||
* We can also force the content, in case of an import from the v1 for example, so the function won't
|
* @param Entry $entry Entry to update
|
||||||
* fetch the content from the website but rather use information given with the $content parameter.
|
* @param string $url Url to grab content for
|
||||||
*
|
|
||||||
* @param Entry $entry Entry to update
|
|
||||||
* @param string $url Url to grab content for
|
|
||||||
* @param array $content An array with AT LEAST keys title, html, url, language & content_type to skip the fetchContent from the url
|
|
||||||
*
|
*
|
||||||
* @return Entry
|
* @return Entry
|
||||||
*/
|
*/
|
||||||
public function updateEntry(Entry $entry, $url, array $content = [])
|
public function updateEntry(Entry $entry, $url)
|
||||||
{
|
{
|
||||||
// do we have to fetch the content or the provided one is ok?
|
$content = $this->graby->fetchContent($url);
|
||||||
if (empty($content) || false === $this->validateContent($content)) {
|
|
||||||
$content = $this->graby->fetchContent($url);
|
|
||||||
}
|
|
||||||
|
|
||||||
$title = $content['title'];
|
$title = $content['title'];
|
||||||
if (!$title && isset($content['open_graph']['og_title'])) {
|
if (!$title && isset($content['open_graph']['og_title'])) {
|
||||||
@ -69,11 +62,7 @@ class ContentProxy
|
|||||||
$entry->setLanguage($content['language']);
|
$entry->setLanguage($content['language']);
|
||||||
$entry->setMimetype($content['content_type']);
|
$entry->setMimetype($content['content_type']);
|
||||||
$entry->setReadingTime(Utils::getReadingTime($html));
|
$entry->setReadingTime(Utils::getReadingTime($html));
|
||||||
|
$entry->setDomainName(parse_url($entry->getUrl(), PHP_URL_HOST));
|
||||||
$domainName = parse_url($entry->getUrl(), PHP_URL_HOST);
|
|
||||||
if (false !== $domainName) {
|
|
||||||
$entry->setDomainName($domainName);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['open_graph']['og_image'])) {
|
if (isset($content['open_graph']['og_image'])) {
|
||||||
$entry->setPreviewPicture($content['open_graph']['og_image']);
|
$entry->setPreviewPicture($content['open_graph']['og_image']);
|
||||||
@ -124,17 +113,4 @@ class ContentProxy
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Validate that the given content as enough value to be used
|
|
||||||
* instead of fetch the content from the url.
|
|
||||||
*
|
|
||||||
* @param array $content
|
|
||||||
*
|
|
||||||
* @return bool true if valid otherwise false
|
|
||||||
*/
|
|
||||||
private function validateContent(array $content)
|
|
||||||
{
|
|
||||||
return isset($content['title']) && isset($content['html']) && isset($content['url']) && isset($content['language']) && isset($content['content_type']);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,9 +81,27 @@ class EntriesExport
|
|||||||
*/
|
*/
|
||||||
public function exportAs($format)
|
public function exportAs($format)
|
||||||
{
|
{
|
||||||
$functionName = 'produce'.ucfirst($format);
|
switch ($format) {
|
||||||
if (method_exists($this, $functionName)) {
|
case 'epub':
|
||||||
return $this->$functionName();
|
return $this->produceEpub();
|
||||||
|
|
||||||
|
case 'mobi':
|
||||||
|
return $this->produceMobi();
|
||||||
|
|
||||||
|
case 'pdf':
|
||||||
|
return $this->producePDF();
|
||||||
|
|
||||||
|
case 'csv':
|
||||||
|
return $this->produceCSV();
|
||||||
|
|
||||||
|
case 'json':
|
||||||
|
return $this->produceJSON();
|
||||||
|
|
||||||
|
case 'xml':
|
||||||
|
return $this->produceXML();
|
||||||
|
|
||||||
|
case 'txt':
|
||||||
|
return $this->produceTXT();
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new \InvalidArgumentException(sprintf('The format "%s" is not yet supported.', $format));
|
throw new \InvalidArgumentException(sprintf('The format "%s" is not yet supported.', $format));
|
||||||
@ -224,7 +242,7 @@ class EntriesExport
|
|||||||
/**
|
/**
|
||||||
* Use TCPDF to dump a .pdf file.
|
* Use TCPDF to dump a .pdf file.
|
||||||
*/
|
*/
|
||||||
private function producePdf()
|
private function producePDF()
|
||||||
{
|
{
|
||||||
$pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
|
$pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
|
||||||
|
|
||||||
@ -278,7 +296,7 @@ class EntriesExport
|
|||||||
/**
|
/**
|
||||||
* Inspired from CsvFileDumper.
|
* Inspired from CsvFileDumper.
|
||||||
*/
|
*/
|
||||||
private function produceCsv()
|
private function produceCSV()
|
||||||
{
|
{
|
||||||
$delimiter = ';';
|
$delimiter = ';';
|
||||||
$enclosure = '"';
|
$enclosure = '"';
|
||||||
@ -318,7 +336,7 @@ class EntriesExport
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function produceJson()
|
private function produceJSON()
|
||||||
{
|
{
|
||||||
return Response::create(
|
return Response::create(
|
||||||
$this->prepareSerializingContent('json'),
|
$this->prepareSerializingContent('json'),
|
||||||
@ -331,7 +349,7 @@ class EntriesExport
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function produceXml()
|
private function produceXML()
|
||||||
{
|
{
|
||||||
return Response::create(
|
return Response::create(
|
||||||
$this->prepareSerializingContent('xml'),
|
$this->prepareSerializingContent('xml'),
|
||||||
@ -344,7 +362,7 @@ class EntriesExport
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function produceTxt()
|
private function produceTXT()
|
||||||
{
|
{
|
||||||
$content = '';
|
$content = '';
|
||||||
$bar = str_repeat('=', 100);
|
$bar = str_repeat('=', 100);
|
||||||
@ -367,8 +385,6 @@ class EntriesExport
|
|||||||
/**
|
/**
|
||||||
* Return a Serializer object for producing processes that need it (JSON & XML).
|
* Return a Serializer object for producing processes that need it (JSON & XML).
|
||||||
*
|
*
|
||||||
* @param string $format
|
|
||||||
*
|
|
||||||
* @return Serializer
|
* @return Serializer
|
||||||
*/
|
*/
|
||||||
private function prepareSerializingContent($format)
|
private function prepareSerializingContent($format)
|
||||||
|
|||||||
@ -54,6 +54,20 @@ body.login main {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#warning_message {
|
||||||
|
position: fixed;
|
||||||
|
background-color: #ff6347;
|
||||||
|
z-index: 1000;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#warning_message a {
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
||||||
.border-bottom {
|
.border-bottom {
|
||||||
border-bottom: 1px solid #DDD;
|
border-bottom: 1px solid #DDD;
|
||||||
}
|
}
|
||||||
@ -406,17 +420,6 @@ main ul.row {
|
|||||||
.reader-mode span {
|
.reader-mode span {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabs {
|
|
||||||
display: inline-block;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
.tab {
|
|
||||||
min-width: 100%;
|
|
||||||
}
|
|
||||||
.indicator {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width : 400px) {
|
@media only screen and (min-width : 400px) {
|
||||||
|
|||||||
@ -1,424 +1,130 @@
|
|||||||
security:
|
#Login
|
||||||
login:
|
Keep me logged in: 'Forbliv logget ind'
|
||||||
# page_title: 'Welcome to wallabag!'
|
Forgot your password?: 'Glemt adgangskoden?'
|
||||||
keep_logged_in: 'Forbliv logget ind'
|
Login: 'Log ind'
|
||||||
forgot_password: 'Glemt adgangskoden?'
|
Back to login: 'Tilbage til login'
|
||||||
submit: 'Log ind'
|
Send: 'Send'
|
||||||
# register: 'Register'
|
"Enter your email address below and we'll send you password reset instructions.": "Indtast din emailadresse nedenfor, så vil du modtage instrukser om at nulstille adgangskoden."
|
||||||
username: 'Brugernavn'
|
|
||||||
password: 'Adgangskode'
|
|
||||||
# cancel: 'Cancel'
|
|
||||||
resetting:
|
|
||||||
description: "Indtast din emailadresse nedenfor, så vil du modtage instrukser om at nulstille adgangskoden."
|
|
||||||
register:
|
|
||||||
# page_title: 'Create an account'
|
|
||||||
# go_to_account: 'Go to your account'
|
|
||||||
|
|
||||||
menu:
|
# Menu
|
||||||
left:
|
unread: 'ulæst'
|
||||||
unread: 'Ulæst'
|
starred: 'favoritter'
|
||||||
starred: 'Favoritter'
|
archive: 'arkiv'
|
||||||
archive: 'Arkiv'
|
all: 'alle artikler'
|
||||||
all_articles: 'Alle artikler'
|
tags: 'tags'
|
||||||
config: 'Opsætning'
|
config: 'Opsætning'
|
||||||
tags: 'Tags'
|
howto: 'how-to'
|
||||||
# internal_settings: 'Internal Settings'
|
logout: 'log ud'
|
||||||
# import: 'Import'
|
Filtered: 'Filtreret'
|
||||||
howto: 'KUow-to'
|
About: 'Om'
|
||||||
# developer: 'Developer'
|
|
||||||
logout: 'Log ud'
|
|
||||||
about: 'Om'
|
|
||||||
search: 'Søg'
|
|
||||||
# save_link: 'Save a link'
|
|
||||||
back_to_unread: 'Tilbage til de ulæste artikler'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'Tilføj ny artikel'
|
|
||||||
search: 'Søg'
|
|
||||||
filter_entries: 'Filtrer artikler'
|
|
||||||
# export: 'Export'
|
|
||||||
search_form:
|
|
||||||
input_label: 'Indtast søgning'
|
|
||||||
|
|
||||||
footer:
|
# Header
|
||||||
wallabag:
|
Back to unread articles: 'Tilbage til de ulæste artikler'
|
||||||
# elsewhere: 'Take wallabag with you'
|
Add a new entry: 'Tilføj ny artikel'
|
||||||
# social: 'Social'
|
Search: 'Søg'
|
||||||
# powered_by: 'powered by'
|
Filter entries: 'Filtrer artikler'
|
||||||
about: 'Om'
|
Enter your search here: 'Indtast søgning'
|
||||||
|
Save new entry: 'Gem ny artikel'
|
||||||
|
|
||||||
config:
|
# Config screen
|
||||||
page_title: 'Opsætning'
|
Settings: 'Indstillinger'
|
||||||
tab_menu:
|
User information: 'Brugeroplysninger'
|
||||||
settings: 'Indstillinger'
|
Password: 'Adgangskode'
|
||||||
rss: 'RSS'
|
RSS: 'RSS'
|
||||||
user_info: 'Brugeroplysninger'
|
Add a user: 'Tilføj bruger'
|
||||||
password: 'Adgangskode'
|
Theme: 'Tema'
|
||||||
# rules: 'Tagging rules'
|
Items per page: 'Poster pr. side'
|
||||||
new_user: 'Tilføj bruger'
|
Language: 'Sprog'
|
||||||
form:
|
Save: 'Gem'
|
||||||
save: 'Gem'
|
RSS token: 'RSS-Token'
|
||||||
form_settings:
|
Name: 'Navn'
|
||||||
theme_label: 'Tema'
|
Email: 'Emailadresse'
|
||||||
items_per_page_label: 'Poster pr. side'
|
No token: 'Intet token'
|
||||||
language_label: 'Sprog'
|
Reset your token: 'Nulstil token'
|
||||||
reading_speed:
|
Create your token: 'Opret token'
|
||||||
# label: 'Reading speed'
|
Rss limit: 'RSS-grænse'
|
||||||
# help_message: 'You can use online tools to estimate your reading speed:'
|
RSS links: 'RSS-Links'
|
||||||
# 100_word: 'I read ~100 words per minute'
|
'RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.': 'RSS-feeds fra wallabag gør det muligt at læse de artikler, der gemmes i wallabag, med din RSS-læser. Det kræver, at du genererer et token først.'
|
||||||
# 200_word: 'I read ~200 words per minute'
|
Old password: 'Gammel adgangskode'
|
||||||
# 300_word: 'I read ~300 words per minute'
|
New password: 'Ny adgangskode'
|
||||||
# 400_word: 'I read ~400 words per minute'
|
Repeat new password: 'Gentag adgangskode'
|
||||||
form_rss:
|
Username: 'Brugernavn'
|
||||||
description: 'RSS-feeds fra wallabag gør det muligt at læse de artikler, der gemmes i wallabag, med din RSS-læser. Det kræver, at du genererer et token først.'
|
|
||||||
token_label: 'RSS-Token'
|
|
||||||
no_token: 'Intet token'
|
|
||||||
token_create: 'Opret token'
|
|
||||||
token_reset: 'Nulstil token'
|
|
||||||
rss_links: 'RSS-Links'
|
|
||||||
rss_link:
|
|
||||||
unread: 'ulæst'
|
|
||||||
starred: 'favoritter'
|
|
||||||
archive: 'arkiv'
|
|
||||||
# rss_limit: 'Number of items in the feed'
|
|
||||||
form_user:
|
|
||||||
# two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion"
|
|
||||||
name_label: 'Navn'
|
|
||||||
email_label: 'Emailadresse'
|
|
||||||
# twoFactorAuthentication_label: 'Two factor authentication'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'Gammel adgangskode'
|
|
||||||
new_password_label: 'Ny adgangskode'
|
|
||||||
repeat_new_password_label: 'Gentag adgangskode'
|
|
||||||
form_rules:
|
|
||||||
# if_label: 'if'
|
|
||||||
# then_tag_as_label: 'then tag as'
|
|
||||||
# delete_rule_label: 'delete'
|
|
||||||
# rule_label: 'Rule'
|
|
||||||
# tags_label: 'Tags'
|
|
||||||
# faq:
|
|
||||||
# title: 'FAQ'
|
|
||||||
# tagging_rules_definition_title: 'What does « tagging rules » mean?'
|
|
||||||
# tagging_rules_definition_description: 'They are rules used by Wallabag to automatically tag new entries.<br />Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.'
|
|
||||||
# how_to_use_them_title: 'How do I use them?'
|
|
||||||
# how_to_use_them_description: 'Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »'
|
|
||||||
# variables_available_title: 'Which variables and operators can I use to write rules?'
|
|
||||||
# variables_available_description: 'The following variables and operators can be used to create tagging rules:'
|
|
||||||
# meaning: 'Meaning'
|
|
||||||
# variable_description:
|
|
||||||
# label: 'Variable'
|
|
||||||
# title: 'Title of the entry'
|
|
||||||
# url: 'URL of the entry'
|
|
||||||
# isArchived: 'Whether the entry is archived or not'
|
|
||||||
# isStarred: 'Whether the entry is starred or not'
|
|
||||||
# content: "The entry's content"
|
|
||||||
# language: "The entry's language"
|
|
||||||
# mimetype: "The entry's mime-type"
|
|
||||||
# readingTime: "The estimated entry's reading time, in minutes"
|
|
||||||
# domainName: 'The domain name of the entry'
|
|
||||||
# operator_description:
|
|
||||||
# label: 'Operator'
|
|
||||||
# less_than: 'Less than...'
|
|
||||||
# strictly_less_than: 'Strictly less than...'
|
|
||||||
# greater_than: 'Greater than...'
|
|
||||||
# strictly_greater_than: 'Strictly greater than...'
|
|
||||||
# equal_to: 'Equal to...'
|
|
||||||
# not_equal_to: 'Not equal to...'
|
|
||||||
# or: 'One rule OR another'
|
|
||||||
# and: 'One rule AND another'
|
|
||||||
# matches: 'Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: 'Brugernavn'
|
|
||||||
password_label: 'Adgangskode'
|
|
||||||
repeat_new_password_label: 'Gentag adgangskode'
|
|
||||||
plain_password_label: '????'
|
|
||||||
email_label: 'Emailadresse'
|
|
||||||
|
|
||||||
entry:
|
# Entries
|
||||||
page_titles:
|
'estimated reading time': 'estimeret læsetid'
|
||||||
# unread: 'Unread entries'
|
original: original
|
||||||
# starred: 'Starred entries'
|
Toggle mark as read: 'Marker som læst'
|
||||||
# archive: 'Archived entries'
|
Toggle favorite: 'Skift favoritstatus'
|
||||||
# filtered: 'Filtered entries'
|
Delete: 'Slet'
|
||||||
list:
|
|
||||||
# number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
|
|
||||||
reading_time: 'estimeret læsetid'
|
|
||||||
reading_time_minutes: 'estimeret læsetid: %readingTime% min'
|
|
||||||
reading_time_less_one_minute: 'estimeret læsetid: <small class="inferieur"><</small> 1 min'
|
|
||||||
original_article: 'original'
|
|
||||||
toogle_as_read: 'Marker som læst'
|
|
||||||
toogle_as_star: 'Skift favoritstatus'
|
|
||||||
delete: 'Slet'
|
|
||||||
# export_title: 'Export'
|
|
||||||
filters:
|
|
||||||
title: 'Filtre'
|
|
||||||
status_label: 'Status'
|
|
||||||
archived_label: 'Arkiveret'
|
|
||||||
starred_label: 'Favorit'
|
|
||||||
preview_picture_label: 'Har et vist billede'
|
|
||||||
preview_picture_help: 'Forhåndsvis billede'
|
|
||||||
language_label: 'Sprog'
|
|
||||||
reading_time:
|
|
||||||
label: 'Læsetid i minutter'
|
|
||||||
from: 'fra'
|
|
||||||
to: 'til'
|
|
||||||
domain_label: 'Domænenavn'
|
|
||||||
created_at:
|
|
||||||
label: 'Oprettelsesdato'
|
|
||||||
from: 'fra'
|
|
||||||
to: 'til'
|
|
||||||
action:
|
|
||||||
clear: 'Ryd'
|
|
||||||
filter: 'Filter'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
# back_to_top: 'Back to top'
|
|
||||||
back_to_homepage: 'Tilbage'
|
|
||||||
set_as_read: 'Marker som læst'
|
|
||||||
# set_as_unread: 'Mark as unread'
|
|
||||||
set_as_favorite: 'Marker som favorit'
|
|
||||||
view_original_article: 'Originalartikel'
|
|
||||||
# re_fetch_content: 'Re-fetch content'
|
|
||||||
delete: 'Slet'
|
|
||||||
add_a_tag: 'Tliføj et tag'
|
|
||||||
share_content: 'Deling'
|
|
||||||
# share_email_label: 'Email'
|
|
||||||
download: 'Download'
|
|
||||||
# print: 'Print'
|
|
||||||
problem:
|
|
||||||
label: 'Problemer?'
|
|
||||||
description: 'Vises artiklen forkert?'
|
|
||||||
edit_title: 'Rediger titel'
|
|
||||||
original_article: 'original'
|
|
||||||
# annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
|
||||||
new:
|
|
||||||
page_title: 'Gem ny artikel'
|
|
||||||
placeholder: 'http://website.com'
|
|
||||||
form_new:
|
|
||||||
url_label: Url
|
|
||||||
edit:
|
|
||||||
# page_title: 'Edit an entry'
|
|
||||||
# title_label: 'Title'
|
|
||||||
url_label: 'Url'
|
|
||||||
# is_public_label: 'Public'
|
|
||||||
save_label: 'Gem'
|
|
||||||
|
|
||||||
about:
|
# Filters
|
||||||
page_title: 'Om'
|
Filters: 'Filtre'
|
||||||
top_menu:
|
Status: 'Status'
|
||||||
who_behind_wallabag: 'Hvem står bag wallabag'
|
Archived: 'Arkiveret'
|
||||||
getting_help: 'Find hjælp'
|
Starred: 'Favorit'
|
||||||
helping: 'Hjælp wallabag'
|
Preview picture: 'Forhåndsvis billede'
|
||||||
contributors: 'Bidragsydere'
|
Has a preview picture: 'Har et vist billede'
|
||||||
# third_party: 'Third-party libraries'
|
Reading time in minutes: 'Læsetid i minutter'
|
||||||
who_behind_wallabag:
|
from: 'fra'
|
||||||
developped_by: 'Udviklet af'
|
to: 'til'
|
||||||
website: 'Hjemmeside'
|
website.com: 'website.com'
|
||||||
many_contributors: 'Og mange andre bidragsydere ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">på Github</a>'
|
Domain name: 'Domænenavn'
|
||||||
project_website: 'Projektets hjemmeside'
|
Creation date: 'Oprettelsesdato'
|
||||||
license: 'Licens'
|
dd/mm/yyyy: 'dd.mm.åååå'
|
||||||
version: 'Version'
|
Clear: 'Ryd'
|
||||||
getting_help:
|
Filter: 'Filter'
|
||||||
documentation: 'Dokumentation'
|
|
||||||
bug_reports: 'Bugs'
|
|
||||||
support: '<a href="https://support.wallabag.org">På vor support-side</a> eller <a href="https://github.com/wallabag/wallabag/issues">på GitHub</a>'
|
|
||||||
helping:
|
|
||||||
description: 'wallabag er gratis og Open source. Du kan hjælpe os:'
|
|
||||||
by_contributing: 'ved at bidrage til projektet:'
|
|
||||||
by_contributing_2: 'et Github-issue fortæller om alt, hvad vi har brug for:'
|
|
||||||
by_paypal: 'via Paypal'
|
|
||||||
contributors:
|
|
||||||
# description: 'Thank you to contributors on wallabag web application'
|
|
||||||
third_party:
|
|
||||||
# description: 'Here are the list of third-party libraries used in wallabag (with their licenses):'
|
|
||||||
# package: 'Package'
|
|
||||||
license: 'Licens'
|
|
||||||
|
|
||||||
howto:
|
# About
|
||||||
page_title: 'How-to'
|
Who is behind wallabag: "hvem står bag wallabag"
|
||||||
# page_description: 'There are several ways to save an article:'
|
Getting help: "Find hjælp"
|
||||||
top_menu:
|
Helping wallabag: "hjælp wallabag"
|
||||||
browser_addons: 'Browserudvidelser'
|
Developed by: "Udviklet af"
|
||||||
mobile_apps: 'Apps'
|
website: "Hjemmeside"
|
||||||
bookmarklet: 'Bookmarklet'
|
And many others contributors ♥: "Og mange andre bidragsydere ♥"
|
||||||
form:
|
on GitHub: "på GitHub"
|
||||||
description: 'Tak gennem denne formular'
|
Project website: "Projektets hjemmeside"
|
||||||
browser_addons:
|
License: "Licens"
|
||||||
firefox: 'Standardudvidelse til Firefox'
|
Version: "Version"
|
||||||
chrome: 'Chrome-udvidelse'
|
Documentation: "Dokumentation"
|
||||||
mobile_apps:
|
Bug reports: "Bugs"
|
||||||
android:
|
On our support website: "På vor support-side"
|
||||||
via_f_droid: 'via F-Droid'
|
or: "eller"
|
||||||
via_google_play: 'via Google Play'
|
"wallabag is free and opensource. You can help us:": "wallabag er gratis og Open source. Du kan hjælpe os:"
|
||||||
# ios: 'on the iTunes Store'
|
"by contributing to the project:": "ved at bidrage til projektet:"
|
||||||
# windows: 'on the Microsoft Store'
|
an issue lists all our needs: "et Github-issue fortæller om alt, hvad vi har brug for:"
|
||||||
bookmarklet:
|
via Paypal: "via PayPal"
|
||||||
description: 'Træk dette link til din bogmærkeliste:'
|
|
||||||
|
|
||||||
quickstart:
|
# Howto
|
||||||
# page_title: 'Quickstart'
|
Form: Formular
|
||||||
# intro:
|
Thanks to this form: "Tak gennem denne formular"
|
||||||
# title: 'Welcome to wallabag!'
|
Browser addons: "Browserudvidelser"
|
||||||
# paragraph_1: "We'll accompany you to visit wallabag and show you some features which can interest you."
|
Mobile apps: "Apps"
|
||||||
# paragraph_2: 'Follow us!'
|
Bookmarklet: "Bookmarklet"
|
||||||
# configure:
|
Standard Firefox Add-On: "Standardudvidelse til Firefox"
|
||||||
# title: 'Configure the application'
|
Chrome Extension: "Chrome-udvidelse"
|
||||||
# language: 'Change language and design'
|
download the application: "Download"
|
||||||
# rss: 'Enable RSS feeds'
|
"Drag & drop this link to your bookmarks bar:": "Træk dette link til din bogmærkeliste:"
|
||||||
# tagging_rules: 'Write rules to automatically tag your articles'
|
|
||||||
# admin:
|
|
||||||
# title: 'Administration'
|
|
||||||
# description: 'As an administrator, you have privileges on wallabag. You can:'
|
|
||||||
# new_user: 'Create a new user'
|
|
||||||
# analytics: 'Configure analytics'
|
|
||||||
# sharing: 'Enable some parameters about article sharing'
|
|
||||||
# export: 'Configure export'
|
|
||||||
# import: 'Configure import'
|
|
||||||
# first_steps:
|
|
||||||
# title: 'First steps'
|
|
||||||
# new_article: 'Save your first article'
|
|
||||||
# unread_articles: 'And classify it!'
|
|
||||||
# migrate:
|
|
||||||
# title: 'Migrate from an existing service'
|
|
||||||
# description: "Are you using another service? We'll help you to retrieve your data on wallabag."
|
|
||||||
# pocket: 'Migrate from Pocket'
|
|
||||||
# wallabag_v1: 'Migrate from wallabag v1'
|
|
||||||
# wallabag_v2: 'Migrate from wallabag v2'
|
|
||||||
# developer:
|
|
||||||
# title: 'Developers'
|
|
||||||
# create_application: 'Create your third application'
|
|
||||||
# docs:
|
|
||||||
# title: 'Full documentation'
|
|
||||||
# annotate: 'Annotate your article'
|
|
||||||
# export: 'Convert your articles into ePUB or PDF'
|
|
||||||
# search_filters: 'See how you can look for an article by using search engine and filters'
|
|
||||||
# fetching_errors: 'What can I do if an article encounters errors during fetching?'
|
|
||||||
# all_docs: 'And so many other articles!'
|
|
||||||
# support:
|
|
||||||
# title: 'Support'
|
|
||||||
# description: 'If you need some help, we are here for you.'
|
|
||||||
# github: 'On GitHub'
|
|
||||||
# email: 'By email'
|
|
||||||
# gitter: 'On Gitter'
|
|
||||||
|
|
||||||
tag:
|
# Flash messages
|
||||||
page_title: 'Tags'
|
Information updated: "Oplysninger opdateret"
|
||||||
list:
|
"Config saved. Some parameters will be considered after disconnection.": "Opsætning gemt. Visse ændringer vil først fremgå ved næste login."
|
||||||
# number_on_the_page: '{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.'
|
RSS information updated: "RSS-oplysninger opdateret"
|
||||||
|
Password updated: "Adgangskode opdateret"
|
||||||
|
Entry starred: "Artikel markeret som favorit"
|
||||||
|
Entry unstarred: "Artikel ikke længere markeret som favorit"
|
||||||
|
Entry archived: "Artikel arkiveret"
|
||||||
|
Entry unarchived: "Artikel ikke længere arkiveret"
|
||||||
|
Entry deleted: "Artikel slettet"
|
||||||
|
|
||||||
import:
|
# Entry
|
||||||
# page_title: 'Import'
|
Mark as read: 'Marker som læst'
|
||||||
# page_description: 'Welcome to wallabag importer. Please select your previous service that you want to migrate.'
|
Favorite: 'Marker som favorit'
|
||||||
# action:
|
back: 'tilbage'
|
||||||
# import_contents: 'Import contents'
|
original article: 'Originalartikel'
|
||||||
# form:
|
Add a tag: 'Tliføj et tag'
|
||||||
# mark_as_read_title: 'Mark all as read?'
|
Share: 'Deling'
|
||||||
# mark_as_read_label: 'Mark all imported entries as read'
|
Download: 'Download'
|
||||||
# file_label: 'File'
|
Does this article appear wrong?: "Vises artiklen forkert?"
|
||||||
# save_label: 'Upload file'
|
Problems?: 'Problemer?'
|
||||||
# pocket:
|
Edit title: "Rediger titel"
|
||||||
# page_title: 'Import > Pocket'
|
|
||||||
# description: "This importer will import all your Pocket data. Pocket doesn't allow us to retrieve content from their service, so the readable content of each article will be re-fetched by wallabag."
|
|
||||||
# config_missing:
|
|
||||||
# description: "Pocket import isn't configured."
|
|
||||||
# admin_message: 'You need to define %keyurls%a pocket_consumer_key%keyurle%.'
|
|
||||||
# user_message: 'Your server admin needs to define an API Key for Pocket.'
|
|
||||||
# authorize_message: 'You can import your data from your Pocket account. You just have to click on the below button and authorize the application to connect to getpocket.com.'
|
|
||||||
# connect_to_pocket: 'Connect to Pocket and import data'
|
|
||||||
# wallabag_v1:
|
|
||||||
# page_title: 'Import > Wallabag v1'
|
|
||||||
# description: 'This importer will import all your wallabag v1 articles. On your config page, click on "JSON export" in the "Export your wallabag data" section. You will have a "wallabag-export-1-xxxx-xx-xx.json" file.'
|
|
||||||
# how_to: 'Please select your wallabag export and click on the below button to upload and import it.'
|
|
||||||
# wallabag_v2:
|
|
||||||
# page_title: 'Import > Wallabag v2'
|
|
||||||
# description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
|
|
||||||
|
|
||||||
developer:
|
|
||||||
# page_title: 'Developer'
|
|
||||||
# welcome_message: 'Welcome to the wallabag API'
|
|
||||||
# documentation: 'Documentation'
|
|
||||||
# how_to_first_app: 'How to create my first application'
|
|
||||||
# full_documentation: 'View full API documentation'
|
|
||||||
# clients:
|
|
||||||
# title: 'Clients'
|
|
||||||
# create_new: 'Create a new client'
|
|
||||||
# existing_clients:
|
|
||||||
# title: 'Existing clients'
|
|
||||||
# field_id: 'Client ID'
|
|
||||||
# field_secret: 'Client secret'
|
|
||||||
# field_uris: 'Redirect URIs'
|
|
||||||
# field_grant_types: 'Grant type allowed'
|
|
||||||
# no_client: 'No client yet.'
|
|
||||||
# remove:
|
|
||||||
# warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !'
|
|
||||||
# warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
|
|
||||||
# action: 'Remove this client'
|
|
||||||
# client:
|
|
||||||
# page_title: 'Developer > New client'
|
|
||||||
# page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
|
|
||||||
# form:
|
|
||||||
# redirect_uris_label: 'Redirect URIs'
|
|
||||||
# save_label: 'Create a new client'
|
|
||||||
# action_back: 'Back'
|
|
||||||
# client_parameter:
|
|
||||||
# page_title: 'Developer > Client parameters'
|
|
||||||
# page_description: 'Here are your client parameters.'
|
|
||||||
# field_id: 'Client ID'
|
|
||||||
# field_secret: 'Client secret'
|
|
||||||
# back: 'Back'
|
|
||||||
# read_howto: 'Read the howto "Create my first application"'
|
|
||||||
# howto:
|
|
||||||
# page_title: 'Developer > How to create my first application'
|
|
||||||
# description:
|
|
||||||
# paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.'
|
|
||||||
# paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.'
|
|
||||||
# paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.'
|
|
||||||
# paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):'
|
|
||||||
# paragraph_5: 'The API will return a response like this:'
|
|
||||||
# paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:'
|
|
||||||
# paragraph_7: 'This call will return all the entries for your user.'
|
|
||||||
# paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.'
|
|
||||||
# back: 'Back'
|
|
||||||
|
|
||||||
validator:
|
|
||||||
password_must_match: 'De indtastede adgangskoder skal være ens'
|
|
||||||
password_too_short: 'Adgangskoden skal være mindst 8 tegn'
|
|
||||||
# password_wrong_value: 'Wrong value for your current password'
|
|
||||||
# item_per_page_too_high: 'This will certainly kill the app'
|
|
||||||
# rss_limit_too_hight: 'This will certainly kill the app'
|
|
||||||
|
|
||||||
flashes:
|
|
||||||
config:
|
|
||||||
notice:
|
|
||||||
config_saved: 'Opsætning gemt. Visse ændringer vil først fremgå ved næste login.'
|
|
||||||
password_updated: 'Adgangskode opdateret'
|
|
||||||
# password_not_updated_demo: "In demonstration mode, you can't change password for this user."
|
|
||||||
user_updated: 'Oplysninger opdateret'
|
|
||||||
rss_updated: 'RSS-oplysninger opdateret'
|
|
||||||
# tagging_rules_updated: 'Tagging rules updated'
|
|
||||||
# tagging_rules_deleted: 'Tagging rule deleted'
|
|
||||||
# user_added: 'User "%username%" added'
|
|
||||||
# rss_token_updated: 'RSS token updated'
|
|
||||||
entry:
|
|
||||||
notice:
|
|
||||||
# entry_already_saved: 'Entry already saved on %date%'
|
|
||||||
# entry_saved: 'Entry saved'
|
|
||||||
# entry_updated: 'Entry updated'
|
|
||||||
# entry_reloaded: 'Entry reloaded'
|
|
||||||
# entry_reload_failed: 'Failed to reload entry'
|
|
||||||
entry_archived: 'Artikel arkiveret'
|
|
||||||
entry_unarchived: 'Artikel ikke længere arkiveret'
|
|
||||||
entry_starred: 'Artikel markeret som favorit'
|
|
||||||
entry_unstarred: 'Artikel ikke længere markeret som favorit'
|
|
||||||
entry_deleted: 'Artikel slettet'
|
|
||||||
tag:
|
|
||||||
notice:
|
|
||||||
# tag_added: 'Tag added'
|
|
||||||
import:
|
|
||||||
notice:
|
|
||||||
# failed: 'Import failed, please try again.'
|
|
||||||
# failed_on_file: 'Error while processing import. Please verify your import file.'
|
|
||||||
# summary: 'Import summary: %imported% imported, %skipped% already saved.'
|
|
||||||
developer:
|
|
||||||
notice:
|
|
||||||
# client_created: 'New client created.'
|
|
||||||
# client_deleted: 'Client deleted'
|
|
||||||
|
|||||||
@ -1,424 +1,129 @@
|
|||||||
security:
|
#Login
|
||||||
login:
|
Keep me logged in: 'Angemeldet bleiben'
|
||||||
page_title: 'Willkommen bei wallabag!'
|
Forgot your password?: 'Kennwort vergessen?'
|
||||||
keep_logged_in: 'Angemeldet bleiben'
|
Login: 'Anmelden'
|
||||||
forgot_password: 'Kennwort vergessen?'
|
Back to login: 'Zurück zur Anmeldung'
|
||||||
submit: 'Anmelden'
|
Send: 'Senden'
|
||||||
register: 'Registrieren'
|
"Enter your email address below and we'll send you password reset instructions.": "Gib unten deine E-Mail-Adresse ein und wir senden dir eine Anleitung für das Zurücksetzen deines Kennworts."
|
||||||
username: 'Benutzername'
|
|
||||||
password: 'Kennwort'
|
|
||||||
cancel: 'Abbrechen'
|
|
||||||
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'
|
|
||||||
|
|
||||||
menu:
|
# Menu
|
||||||
left:
|
unread: 'ungelesen'
|
||||||
unread: 'Ungelesen'
|
starred: 'favoriten'
|
||||||
starred: 'Favoriten'
|
archive: 'archiv'
|
||||||
archive: 'Archiv'
|
all: 'alle artikel'
|
||||||
all_articles: 'Alle Artikel'
|
tags: 'tags'
|
||||||
config: 'Konfiguration'
|
config: 'konfiguration'
|
||||||
tags: 'Tags'
|
howto: 'how-to'
|
||||||
internal_settings: 'Interne Einstellungen'
|
logout: 'abmelden'
|
||||||
import: 'Importieren'
|
Filtered: 'Gefiltert'
|
||||||
howto: 'How-To'
|
About: 'Über'
|
||||||
developer: 'Entwickler'
|
|
||||||
logout: 'Abmelden'
|
|
||||||
about: 'Über'
|
|
||||||
search: 'Suche'
|
|
||||||
save_link: 'Link speichern'
|
|
||||||
back_to_unread: 'Zurück zu ungelesenen Artikeln'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'Neuen Artikel hinzufügen'
|
|
||||||
search: 'Suche'
|
|
||||||
filter_entries: 'Artikel filtern'
|
|
||||||
export: 'Exportieren'
|
|
||||||
search_form:
|
|
||||||
input_label: 'Suchbegriff hier eingeben'
|
|
||||||
|
|
||||||
footer:
|
# Header
|
||||||
wallabag:
|
Back to unread articles: 'Zurück zu ungelesenen Artikeln'
|
||||||
elsewhere: 'Nimm wallabag mit dir mit'
|
Add a new entry: 'Neuen Artikel hinzufügen'
|
||||||
social: 'Soziales'
|
Search: 'Suche'
|
||||||
powered_by: 'angetrieben von'
|
Filter entries: 'Artikel filtern'
|
||||||
about: 'Über'
|
Enter your search here: 'Suchbegriff hier eingeben'
|
||||||
|
Save new entry: 'Neuen Artikel speichern'
|
||||||
|
|
||||||
config:
|
# Config screen
|
||||||
page_title: 'Einstellungen'
|
Settings: 'Einstellungen'
|
||||||
tab_menu:
|
User information: 'Benutzer-Information'
|
||||||
settings: 'Einstellungen'
|
Password: 'Kennwort'
|
||||||
rss: 'RSS'
|
RSS: 'RSS'
|
||||||
user_info: 'Benutzer-Information'
|
Add a user: 'Benutzer hinzufügen'
|
||||||
password: 'Kennwort'
|
Theme: 'Theme'
|
||||||
rules: 'Tagging-Regeln'
|
Items per page: 'Einträge pro Seite'
|
||||||
new_user: 'Benutzer hinzufügen'
|
Language: 'Sprache'
|
||||||
form:
|
Save: 'Speichern'
|
||||||
save: 'Speichern'
|
RSS token: 'RSS-Token'
|
||||||
form_settings:
|
Name: 'Name'
|
||||||
theme_label: 'Theme'
|
Email: 'E-Mail-Adresse'
|
||||||
items_per_page_label: 'Einträge pro Seite'
|
No token: 'Kein Token'
|
||||||
language_label: 'Sprache'
|
Reset your token: 'Token zurücksetzen'
|
||||||
reading_speed:
|
Create your token: 'Token erstellen'
|
||||||
label: 'Lesegeschwindigkeit'
|
Rss limit: 'RSS-Limit'
|
||||||
help_message: 'Du kannst Online-Tools nutzen, um deine Lesegeschwindigkeit herauszufinden.'
|
RSS links: 'RSS-Links'
|
||||||
100_word: 'Ich lese ~100 Wörter pro Minute'
|
'RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.': '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.'
|
||||||
200_word: 'Ich lese ~200 Wörter pro Minute'
|
Old password: 'Altes Kennwort'
|
||||||
300_word: 'Ich lese ~300 Wörter pro Minute'
|
New password: 'Neues Kennwort'
|
||||||
400_word: 'Ich lese ~400 Wörter pro Minute'
|
Repeat new password: 'Neues Kennwort wiederholen'
|
||||||
form_rss:
|
Username: 'Benutzername'
|
||||||
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'
|
|
||||||
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'
|
|
||||||
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"
|
|
||||||
name_label: 'Name'
|
|
||||||
email_label: 'E-Mail-Adresse'
|
|
||||||
twoFactorAuthentication_label: 'Zwei-Faktor-Authentifizierung'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'Altes Kennwort'
|
|
||||||
new_password_label: 'Neues Kennwort'
|
|
||||||
repeat_new_password_label: 'Neues Kennwort wiederholen'
|
|
||||||
form_rules:
|
|
||||||
if_label: 'Wenn'
|
|
||||||
then_tag_as_label: 'dann tagge als'
|
|
||||||
delete_rule_label: 'löschen'
|
|
||||||
rule_label: 'Regel'
|
|
||||||
tags_label: 'Tags'
|
|
||||||
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.'
|
|
||||||
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 <= 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 >= 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?'
|
|
||||||
variables_available_description: 'Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen:'
|
|
||||||
meaning: 'Bedeutung'
|
|
||||||
variable_description:
|
|
||||||
label: 'Variable'
|
|
||||||
title: 'Titel des Eintrags'
|
|
||||||
url: 'URL des Eintrags'
|
|
||||||
isArchived: 'gibt an, ob der Eintrag archiviert ist oder nicht'
|
|
||||||
isStarred: 'gibt an, ob der Eintrag favorisiert ist oder nicht'
|
|
||||||
content: "Inhalt des Eintrags"
|
|
||||||
language: "Sprache des Eintrags"
|
|
||||||
mimetype: "MIME-Typ des Eintrags"
|
|
||||||
readingTime: "Die geschätzte Lesezeit in Minuten"
|
|
||||||
domainName: 'Der Domain-Name des Eintrags'
|
|
||||||
operator_description:
|
|
||||||
label: 'Operator'
|
|
||||||
less_than: 'Weniger oder gleich als…'
|
|
||||||
strictly_less_than: 'Weniger als…'
|
|
||||||
greater_than: 'Größer oder gleich als…'
|
|
||||||
strictly_greater_than: 'Größer als…'
|
|
||||||
equal_to: 'gleich'
|
|
||||||
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>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: 'Benutzername'
|
|
||||||
password_label: 'Kennwort'
|
|
||||||
repeat_new_password_label: 'Neues Kennwort wiederholen'
|
|
||||||
plain_password_label: '????'
|
|
||||||
email_label: 'E-Mail-Adresse'
|
|
||||||
|
|
||||||
entry:
|
# Entries
|
||||||
page_titles:
|
'estimated reading time': 'geschätzte Lesezeit'
|
||||||
unread: 'Ungelesene Einträge'
|
original: original
|
||||||
starred: 'Favorisierte Einträge'
|
Toggle mark as read: 'Gelesen-Status ändern'
|
||||||
archive: 'Archivierte Einträge'
|
Toggle favorite: 'Favoriten-Status ändern'
|
||||||
filtered: 'Gefilterte Einträge'
|
Delete: 'Löschen'
|
||||||
list:
|
|
||||||
number_on_the_page: '{0} Es gibt keine Einträge.|{1} Es gibt einen Eintrag.|]1,Inf[ Es gibt %count% Einträge.'
|
|
||||||
reading_time: 'geschätzte Lesezeit'
|
|
||||||
reading_time_minutes: 'geschätzte Lesezeit: %readingTime% min'
|
|
||||||
reading_time_less_one_minute: 'geschätzte Lesezeit: <small class="inferieur"><</small> 1 min'
|
|
||||||
original_article: 'original'
|
|
||||||
toogle_as_read: 'Gelesen-Status ändern'
|
|
||||||
toogle_as_star: 'Favoriten-Status ändern'
|
|
||||||
delete: 'Löschen'
|
|
||||||
export_title: 'Exportieren'
|
|
||||||
filters:
|
|
||||||
title: 'Filters'
|
|
||||||
status_label: 'Status'
|
|
||||||
archived_label: 'Archiviert'
|
|
||||||
starred_label: 'Favorisiert'
|
|
||||||
preview_picture_label: 'Vorschaubild vorhanden'
|
|
||||||
preview_picture_help: 'Vorschaubild'
|
|
||||||
language_label: 'Sprache'
|
|
||||||
reading_time:
|
|
||||||
label: 'Lesezeit in Minuten'
|
|
||||||
from: 'von'
|
|
||||||
to: 'bis'
|
|
||||||
domain_label: 'Domain-Name'
|
|
||||||
created_at:
|
|
||||||
label: 'Erstellungsdatum'
|
|
||||||
from: 'von'
|
|
||||||
to: 'bis'
|
|
||||||
action:
|
|
||||||
clear: 'Zurücksetzen'
|
|
||||||
filter: 'Filter'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
back_to_top: 'Nach oben'
|
|
||||||
back_to_homepage: 'Zurück'
|
|
||||||
set_as_read: 'Als gelesen markieren'
|
|
||||||
set_as_unread: 'Als ungelesen markieren'
|
|
||||||
set_as_favorite: 'Favorisieren'
|
|
||||||
view_original_article: 'Original-Artikel'
|
|
||||||
re_fetch_content: 'Inhalt neu laden'
|
|
||||||
delete: 'Löschen'
|
|
||||||
add_a_tag: 'Tag hinzufügen'
|
|
||||||
share_content: 'Teilen'
|
|
||||||
share_email_label: 'E-Mail'
|
|
||||||
download: 'Herunterladen'
|
|
||||||
print: 'Drucken'
|
|
||||||
problem:
|
|
||||||
label: 'Probleme?'
|
|
||||||
description: 'Erscheint dieser Artikel falsch?'
|
|
||||||
edit_title: 'Titel ändern'
|
|
||||||
original_article: 'original'
|
|
||||||
annotations_on_the_entry: '{0} Keine Anmerkungen|{1} Eine Anmerkung|]1,Inf[ %nbAnnotations% Anmerkungen'
|
|
||||||
new:
|
|
||||||
page_title: 'Neuen Artikel speichern'
|
|
||||||
placeholder: 'https://website.de'
|
|
||||||
form_new:
|
|
||||||
url_label: URL
|
|
||||||
edit:
|
|
||||||
page_title: 'Eintrag bearbeiten'
|
|
||||||
title_label: 'Titel'
|
|
||||||
url_label: 'URL'
|
|
||||||
is_public_label: 'Öffentlich'
|
|
||||||
save_label: 'Speichern'
|
|
||||||
|
|
||||||
about:
|
# Filters
|
||||||
page_title: 'Über'
|
Filters: 'Filter'
|
||||||
top_menu:
|
Status: 'Status'
|
||||||
who_behind_wallabag: 'Wer steht hinter wallabag'
|
Archived: 'Archiviert'
|
||||||
getting_help: 'Hilfe bekommen'
|
Starred: 'Favorisiert'
|
||||||
helping: 'wallabag unterstützen'
|
Preview picture: 'Vorschaubild'
|
||||||
contributors: 'Unterstützer'
|
Has a preview picture: 'Vorschaubild vorhanden'
|
||||||
third_party: 'Third-party libraries'
|
Reading time in minutes: 'Lesezeit in Minuten'
|
||||||
who_behind_wallabag:
|
from: 'von'
|
||||||
developped_by: 'Entwickelt von'
|
to: 'bis'
|
||||||
website: 'Webseite'
|
website.com: 'website.com'
|
||||||
many_contributors: 'Und vielen anderen Unterstützern ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">auf Github</a>'
|
Domain name: 'Domain-Name'
|
||||||
project_website: 'Projektwebseite'
|
Creation date: 'Erstellungsdatum'
|
||||||
license: 'Lizenz'
|
dd/mm/yyyy: 'dd.mm.yyyy'
|
||||||
version: 'Version'
|
Clear: 'zurücksetzen'
|
||||||
getting_help:
|
Filter: 'Filter'
|
||||||
documentation: 'Dokumentation'
|
|
||||||
bug_reports: 'Bugs'
|
|
||||||
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:'
|
|
||||||
by_contributing: 'indem du zu dem Projekt beiträgst:'
|
|
||||||
by_contributing_2: 'ein Issue listet alle unsere Bedürfnisse:'
|
|
||||||
by_paypal: 'via PayPal'
|
|
||||||
contributors:
|
|
||||||
description: 'Ein Dankeschön an die Unterstützer von wallabag'
|
|
||||||
third_party:
|
|
||||||
description: 'Hier ist eine Liste der verwendeten Bibliotheken in wallabag (mit den jeweiligen Lizenzen):'
|
|
||||||
package: 'Paket'
|
|
||||||
license: 'Lizenz'
|
|
||||||
|
|
||||||
howto:
|
# About
|
||||||
page_title: 'How-To'
|
Who is behind wallabag: "Wer steht hinter wallabag"
|
||||||
page_description: 'Es gibt mehrere Möglichkeiten, einen Artikel zu speichern:'
|
Getting help: "Hilfe bekommen"
|
||||||
top_menu:
|
Helping wallabag: "wallabag unterstützen"
|
||||||
browser_addons: 'Browser-Addons'
|
Developed by: "Entwickelt von"
|
||||||
mobile_apps: 'Apps'
|
website: "Webseite"
|
||||||
bookmarklet: 'Bookmarklet'
|
And many others contributors ♥: "Und vielen anderen Unterstützern ♥"
|
||||||
form:
|
on GitHub: "auf GitHub"
|
||||||
description: 'Danke an dieses Formular'
|
Project website: "Projektwebseite"
|
||||||
browser_addons:
|
License: "Lizenz"
|
||||||
firefox: 'Firefox-Erweiterung'
|
Version: "Version"
|
||||||
chrome: 'Chrome-Erweiterung'
|
Documentation: "Dokumentation"
|
||||||
mobile_apps:
|
Bug reports: "Bugs"
|
||||||
android:
|
On our support website: "Auf unserer Support-Webseite"
|
||||||
via_f_droid: 'via F-Droid'
|
or: "oder"
|
||||||
via_google_play: 'via Google Play'
|
"wallabag is free and opensource. You can help us:": "wallabag ist kostenlos und Open-Source. Du kannst uns helfen:"
|
||||||
ios: 'im iTunes-Store'
|
"by contributing to the project:": "indem du zu dem Projekt beiträgst:"
|
||||||
windows: 'im Microsoft-Store'
|
an issue lists all our needs: "ein Issue listet alle unsere Bedürfnisse:"
|
||||||
bookmarklet:
|
via Paypal: "via PayPal"
|
||||||
description: 'Ziehe diesen Link in deine Lesezeichenleiste:'
|
|
||||||
|
|
||||||
quickstart:
|
# Howto
|
||||||
page_title: 'Schnelleinstieg'
|
Form: Formular
|
||||||
intro:
|
Thanks to this form: "Danke an dieses Formular"
|
||||||
title: 'Willkommen zu wallabag!'
|
Browser addons: "Browser-Addons"
|
||||||
paragraph_1: "Wir werden dich bei der Benutzung von wallabag begleiten und dir einige Funktionen zeigen, die dich interessieren könnten."
|
Mobile apps: "Apps"
|
||||||
paragraph_2: 'Folge uns!'
|
Bookmarklet: "Bookmarklet"
|
||||||
configure:
|
Standard Firefox Add-On: "Firefox-Erweiterung"
|
||||||
title: 'Anwendung konfigurieren'
|
Chrome Extension: "Chrome-Erweiterung"
|
||||||
language: 'Sprache und Design ändern'
|
download the application: "herunterladen"
|
||||||
rss: 'RSS-Feeds aktivieren'
|
"Drag & drop this link to your bookmarks bar:": "Ziehe diesen Link in deine Lesezeichenleiste:"
|
||||||
tagging_rules: 'Schreibe Regeln, um deine Beiträge automatisch zu taggen (verschlagworten)'
|
|
||||||
admin:
|
|
||||||
title: 'Administration'
|
|
||||||
description: 'Als Adminstrator hast du einige Privilegien. Du kannst:'
|
|
||||||
new_user: 'Einen neuen Nutzer 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'
|
|
||||||
new_article: 'Speichere deinen ersten Artikel'
|
|
||||||
unread_articles: 'Und klassifiziere ihn!'
|
|
||||||
migrate:
|
|
||||||
title: 'Von einem anderen Dienst migrieren'
|
|
||||||
description: "Du nutzt einen anderen Dienst? Wir helfen dir, um deine Daten zu wallabag zu transportieren."
|
|
||||||
pocket: 'von Pocket migrieren'
|
|
||||||
wallabag_v1: 'von wallabag v1 migrieren'
|
|
||||||
wallabag_v2: 'von wallabag v2 migrieren'
|
|
||||||
developer:
|
|
||||||
title: 'Entwickler'
|
|
||||||
create_application: 'Erstelle eine Anwendung und nutze die wallabag API'
|
|
||||||
docs:
|
|
||||||
title: 'Komplette Dokumentation'
|
|
||||||
annotate: 'Anmerkungen zu Artikeln hinzufügen'
|
|
||||||
export: 'Artikel nach ePUB oder PDF konvertieren'
|
|
||||||
search_filters: 'Schau nach, wie du nach einem Artikel über die Such- und Filterfunktion suchen kannst'
|
|
||||||
fetching_errors: 'Was kann ich machen, wenn ein Artikel Fehler beim Herunterladen des Inhalts zeigt?'
|
|
||||||
all_docs: 'Und viele weitere Artikel!'
|
|
||||||
support:
|
|
||||||
title: 'Support'
|
|
||||||
description: 'Wenn du Hilfe brauchst, wir sind für dich da.'
|
|
||||||
github: 'Auf GitHub'
|
|
||||||
email: 'Über E-Mail'
|
|
||||||
gitter: 'Auf Gitter'
|
|
||||||
|
|
||||||
tag:
|
# Flash messages
|
||||||
page_title: 'Tags'
|
Information updated: "Information aktualisiert"
|
||||||
list:
|
"Config saved. Some parameters will be considered after disconnection.": "Konfiguration gespeichert. Einige Einstellungen werden erst nach einer erneuten Anmeldung übernommen."
|
||||||
number_on_the_page: '{0} Es gibt keine Tags.|{1} Es gibt einen Tag.|]1,Inf[ Es gibt %count% Tags.'
|
RSS information updated: "RSS-Informationen aktualisiert"
|
||||||
|
Password updated: "Kennwort aktualisiert"
|
||||||
|
Entry starred: "Artikel favorisiert"
|
||||||
|
Entry unstarred: "Artikel defavorisiert"
|
||||||
|
Entry archived: "Artikel archiviert"
|
||||||
|
Entry unarchived: "Artikel dearchiviert"
|
||||||
|
Entry deleted: "Artikel gelöscht"
|
||||||
|
|
||||||
import:
|
# Entry
|
||||||
page_title: 'Importieren'
|
Mark as read: 'Als gelesen markieren'
|
||||||
page_description: 'Willkommen beim wallabag-Importer. Wähle deinen vorherigen Service aus, von dem du die Daten migrieren willst.'
|
Favorite: 'Favorisieren'
|
||||||
action:
|
back: 'zurück'
|
||||||
import_contents: 'Inhalte importieren'
|
original article: 'Original-Artikel'
|
||||||
form:
|
Add a tag: 'Tag hinzufügen'
|
||||||
mark_as_read_title: 'Alle als gelesen markieren?'
|
Share: 'Teilen'
|
||||||
mark_as_read_label: 'Alle importierten Einträge als gelesen markieren'
|
Download: 'Herunterladen'
|
||||||
file_label: 'Datei'
|
Does this article appear wrong?: "Erscheint dieser Artikel falsch?"
|
||||||
save_label: 'Datei hochladen'
|
Problems?: 'Probleme?'
|
||||||
pocket:
|
Edit title: "Titel ändern"
|
||||||
page_title: 'Aus Pocket importieren'
|
|
||||||
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.'
|
|
||||||
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.'
|
|
||||||
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.'
|
|
||||||
|
|
||||||
developer:
|
|
||||||
page_title: 'Entwickler'
|
|
||||||
welcome_message: 'Willkomen zur wallabag-API'
|
|
||||||
documentation: 'Dokumentation'
|
|
||||||
how_to_first_app: 'Wie erstelle ich meine erste Anwendung'
|
|
||||||
full_documentation: 'Komplette API-Dokumentation einsehen'
|
|
||||||
clients:
|
|
||||||
title: 'Clients'
|
|
||||||
create_new: 'Neuen Client erstellen'
|
|
||||||
existing_clients:
|
|
||||||
title: 'Bestehende Clients'
|
|
||||||
field_id: 'Client-ID'
|
|
||||||
field_secret: 'Client-Secret'
|
|
||||||
field_uris: 'Weiterleitungs-URIs'
|
|
||||||
field_grant_types: "Erlaubte grant_types"
|
|
||||||
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."
|
|
||||||
action: 'Client entfernen'
|
|
||||||
client:
|
|
||||||
page_title: 'Entwickler > Neuer Client'
|
|
||||||
page_description: 'Du bist dabei, einen neuen Client zu erstellen. Fülle das nachfolgende Feld für die Weiterleitungs-URIs deiner Anwendung aus.'
|
|
||||||
form:
|
|
||||||
redirect_uris_label: 'Weiterleitungs-URIs'
|
|
||||||
save_label: 'Neuen Client erstellen'
|
|
||||||
action_back: 'Zurück'
|
|
||||||
client_parameter:
|
|
||||||
page_title: 'Entwickler > Client-Parameter'
|
|
||||||
page_description: 'Dies sind deine Client-Parameter.'
|
|
||||||
field_id: 'Client-ID'
|
|
||||||
field_secret: 'Client-Secret'
|
|
||||||
back: 'Zurück'
|
|
||||||
read_howto: 'Lese des How-To zu "Wie erstelle ich meine erste Anwendung"'
|
|
||||||
howto:
|
|
||||||
page_title: 'Entwickler > Wie erstelle ich meine erste Anwendung'
|
|
||||||
description:
|
|
||||||
paragraph_1: 'Die folgenden Befehle machen Gebrauch von der <a href="https://github.com/jkbrzt/httpie">HTTPie-Bibliothek</a>. Stelle sicher, dass sie auf deinem System installiert ist, bevor du fortfährst.'
|
|
||||||
paragraph_2: 'Du benötigst einen Token, damit deine Anwendung mit der wallabag-API kommunizieren kann.'
|
|
||||||
paragraph_3: 'Um diesen Token zu erstellen, muss <a href="%link%">ein neuer Client erstellt werden</a>.'
|
|
||||||
paragraph_4: 'Nun erstelle deinen Token (ersetze client_id, client_secret, username und password mit deinen Werten):'
|
|
||||||
paragraph_5: 'Die API wird eine Antwort der folgenden Art zurückgeben:'
|
|
||||||
paragraph_6: 'Der access_token ist nützlich, um die API aufzurufen. Beispiel:'
|
|
||||||
paragraph_7: 'Dieser Aufruf wird alle Einträge für den Nutzer zurückgeben.'
|
|
||||||
paragraph_8: 'Wenn du alle API-Endpunkte sehen willst, werfe einen Blick auf die <a href="%link%">API-Dokumentation</a>.'
|
|
||||||
back: 'Zurück'
|
|
||||||
|
|
||||||
validator:
|
|
||||||
password_must_match: 'Die Kennwort-Felder müssen übereinstimmen.'
|
|
||||||
password_too_short: 'Kennwort-Mindestlänge von acht Zeichen nicht erfüllt'
|
|
||||||
password_wrong_value: 'Falscher Wert für dein aktuelles Kennwort'
|
|
||||||
item_per_page_too_high: 'Dies wird die Anwendung möglicherweise beenden'
|
|
||||||
rss_limit_too_hight: 'Dies wird die Anwendung möglicherweise beenden'
|
|
||||||
|
|
||||||
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."
|
|
||||||
user_updated: 'Information aktualisiert'
|
|
||||||
rss_updated: 'RSS-Informationen aktualisiert'
|
|
||||||
tagging_rules_updated: 'Tagging-Regeln aktualisiert'
|
|
||||||
tagging_rules_deleted: 'Tagging-Regel gelöscht'
|
|
||||||
user_added: 'Benutzer "%username%" erstellt'
|
|
||||||
rss_token_updated: 'RSS-Token aktualisiert'
|
|
||||||
entry:
|
|
||||||
notice:
|
|
||||||
entry_already_saved: 'Eintrag bereits am %date% gespeichert'
|
|
||||||
entry_saved: 'Eintag gespeichert'
|
|
||||||
entry_updated: 'Eintrag aktualisiert'
|
|
||||||
entry_reloaded: 'Eintrag neugeladen'
|
|
||||||
entry_reload_failed: 'Neuladen des Eintrags fehlgeschlagen'
|
|
||||||
entry_archived: 'Artikel archiviert'
|
|
||||||
entry_unarchived: 'Artikel dearchiviert'
|
|
||||||
entry_starred: 'Artikel favorisiert'
|
|
||||||
entry_unstarred: 'Artikel defavorisiert'
|
|
||||||
entry_deleted: 'Artikel gelöscht'
|
|
||||||
tag:
|
|
||||||
notice:
|
|
||||||
tag_added: 'Tag hinzugefügt'
|
|
||||||
import:
|
|
||||||
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.'
|
|
||||||
developer:
|
|
||||||
notice:
|
|
||||||
client_created: 'Neuer Client erstellt.'
|
|
||||||
client_deleted: 'Client gelöscht'
|
|
||||||
|
|||||||
@ -1,424 +0,0 @@
|
|||||||
security:
|
|
||||||
login:
|
|
||||||
page_title: 'Welcome to wallabag!'
|
|
||||||
keep_logged_in: 'Keep me logged in'
|
|
||||||
forgot_password: 'Forgot your password?'
|
|
||||||
submit: 'Login'
|
|
||||||
register: 'Register'
|
|
||||||
username: 'Username'
|
|
||||||
password: 'Password'
|
|
||||||
cancel: 'Cancel'
|
|
||||||
resetting:
|
|
||||||
description: "Enter your email address below and we'll send you password reset instructions."
|
|
||||||
register:
|
|
||||||
page_title: 'Create an account'
|
|
||||||
go_to_account: 'Go to your account'
|
|
||||||
|
|
||||||
menu:
|
|
||||||
left:
|
|
||||||
unread: 'Unread'
|
|
||||||
starred: 'Starred'
|
|
||||||
archive: 'Archive'
|
|
||||||
all_articles: 'All entries'
|
|
||||||
config: 'Config'
|
|
||||||
tags: 'Tags'
|
|
||||||
internal_settings: 'Internal Settings'
|
|
||||||
import: 'Import'
|
|
||||||
howto: 'How to'
|
|
||||||
developer: 'Developer'
|
|
||||||
logout: 'Logout'
|
|
||||||
about: 'About'
|
|
||||||
search: 'Search'
|
|
||||||
save_link: 'Save a link'
|
|
||||||
back_to_unread: 'Back to unread articles'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'Add a new entry'
|
|
||||||
search: 'Search'
|
|
||||||
filter_entries: 'Filter entries'
|
|
||||||
export: 'Export'
|
|
||||||
search_form:
|
|
||||||
input_label: 'Enter your search here'
|
|
||||||
|
|
||||||
footer:
|
|
||||||
wallabag:
|
|
||||||
elsewhere: 'Take wallabag with you'
|
|
||||||
social: 'Social'
|
|
||||||
powered_by: 'powered by'
|
|
||||||
about: 'About'
|
|
||||||
|
|
||||||
config:
|
|
||||||
page_title: 'Config'
|
|
||||||
tab_menu:
|
|
||||||
settings: 'Settings'
|
|
||||||
rss: 'RSS'
|
|
||||||
user_info: 'User information'
|
|
||||||
password: 'Password'
|
|
||||||
rules: 'Tagging rules'
|
|
||||||
new_user: 'Add a user'
|
|
||||||
form:
|
|
||||||
save: 'Save'
|
|
||||||
form_settings:
|
|
||||||
theme_label: 'Theme'
|
|
||||||
items_per_page_label: 'Items per page'
|
|
||||||
language_label: 'Language'
|
|
||||||
reading_speed:
|
|
||||||
label: 'Reading speed'
|
|
||||||
help_message: 'You can use online tools to estimate your reading speed:'
|
|
||||||
100_word: 'I read ~100 words per minute'
|
|
||||||
200_word: 'I read ~200 words per minute'
|
|
||||||
300_word: 'I read ~300 words per minute'
|
|
||||||
400_word: 'I read ~400 words per minute'
|
|
||||||
form_rss:
|
|
||||||
description: 'RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.'
|
|
||||||
token_label: 'RSS token'
|
|
||||||
no_token: 'No token'
|
|
||||||
token_create: 'Create your token'
|
|
||||||
token_reset: 'Regenerate your token'
|
|
||||||
rss_links: 'RSS links'
|
|
||||||
rss_link:
|
|
||||||
unread: 'unread'
|
|
||||||
starred: 'starred'
|
|
||||||
archive: 'archived'
|
|
||||||
rss_limit: 'Number of items in the feed'
|
|
||||||
form_user:
|
|
||||||
two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion"
|
|
||||||
name_label: 'Name'
|
|
||||||
email_label: 'Email'
|
|
||||||
twoFactorAuthentication_label: 'Two factor authentication'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'Current password'
|
|
||||||
new_password_label: 'New password'
|
|
||||||
repeat_new_password_label: 'Repeat new password'
|
|
||||||
form_rules:
|
|
||||||
if_label: 'if'
|
|
||||||
then_tag_as_label: 'then tag as'
|
|
||||||
delete_rule_label: 'delete'
|
|
||||||
rule_label: 'Rule'
|
|
||||||
tags_label: 'Tags'
|
|
||||||
faq:
|
|
||||||
title: 'FAQ'
|
|
||||||
tagging_rules_definition_title: 'What does « tagging rules » mean?'
|
|
||||||
tagging_rules_definition_description: 'They are rules used by Wallabag to automatically tag new entries.<br />Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.'
|
|
||||||
how_to_use_them_title: 'How do I use them?'
|
|
||||||
how_to_use_them_description: 'Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »'
|
|
||||||
variables_available_title: 'Which variables and operators can I use to write rules?'
|
|
||||||
variables_available_description: 'The following variables and operators can be used to create tagging rules:'
|
|
||||||
meaning: 'Meaning'
|
|
||||||
variable_description:
|
|
||||||
label: 'Variable'
|
|
||||||
title: 'Title of the entry'
|
|
||||||
url: 'URL of the entry'
|
|
||||||
isArchived: 'Whether the entry is archived or not'
|
|
||||||
isStarred: 'Whether the entry is starred or not'
|
|
||||||
content: "The entry's content"
|
|
||||||
language: "The entry's language"
|
|
||||||
mimetype: "The entry's mime-type"
|
|
||||||
readingTime: "The estimated entry's reading time, in minutes"
|
|
||||||
domainName: 'The domain name of the entry'
|
|
||||||
operator_description:
|
|
||||||
label: 'Operator'
|
|
||||||
less_than: 'Less than...'
|
|
||||||
strictly_less_than: 'Strictly less than...'
|
|
||||||
greater_than: 'Greater than...'
|
|
||||||
strictly_greater_than: 'Strictly greater than...'
|
|
||||||
equal_to: 'Equal to...'
|
|
||||||
not_equal_to: 'Not equal to...'
|
|
||||||
or: 'One rule OR another'
|
|
||||||
and: 'One rule AND another'
|
|
||||||
matches: 'Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: 'Username'
|
|
||||||
password_label: 'Password'
|
|
||||||
repeat_new_password_label: 'Repeat new password'
|
|
||||||
plain_password_label: '????'
|
|
||||||
email_label: 'Email'
|
|
||||||
|
|
||||||
entry:
|
|
||||||
page_titles:
|
|
||||||
unread: 'Unread entries'
|
|
||||||
starred: 'Starred entries'
|
|
||||||
archive: 'Archived entries'
|
|
||||||
filtered: 'Filtered entries'
|
|
||||||
list:
|
|
||||||
number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
|
|
||||||
reading_time: 'estimated reading time'
|
|
||||||
reading_time_minutes: 'estimated reading time: %readingTime% min'
|
|
||||||
reading_time_less_one_minute: 'estimated reading time: <small class="inferieur"><</small> 1 min'
|
|
||||||
original_article: 'original'
|
|
||||||
toogle_as_read: 'Toggle mark as read'
|
|
||||||
toogle_as_star: 'Toggle favorite'
|
|
||||||
delete: 'Delete'
|
|
||||||
export_title: 'Export'
|
|
||||||
filters:
|
|
||||||
title: 'Filters'
|
|
||||||
status_label: 'Status'
|
|
||||||
archived_label: 'Archived'
|
|
||||||
starred_label: 'Starred'
|
|
||||||
preview_picture_label: 'Has a preview picture'
|
|
||||||
preview_picture_help: 'Preview picture'
|
|
||||||
language_label: 'Language'
|
|
||||||
reading_time:
|
|
||||||
label: 'Reading time in minutes'
|
|
||||||
from: 'from'
|
|
||||||
to: 'to'
|
|
||||||
domain_label: 'Domain name'
|
|
||||||
created_at:
|
|
||||||
label: 'Creation date'
|
|
||||||
from: 'from'
|
|
||||||
to: 'to'
|
|
||||||
action:
|
|
||||||
clear: 'Clear'
|
|
||||||
filter: 'Filter'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
back_to_top: 'Back to top'
|
|
||||||
back_to_homepage: 'Back'
|
|
||||||
set_as_read: 'Mark as read'
|
|
||||||
set_as_unread: 'Mark as unread'
|
|
||||||
set_as_favorite: 'Favorite'
|
|
||||||
view_original_article: 'Orignal article'
|
|
||||||
re_fetch_content: 'Re-fetch content'
|
|
||||||
delete: 'Delete'
|
|
||||||
add_a_tag: 'Add a tag'
|
|
||||||
share_content: 'Share'
|
|
||||||
share_email_label: 'Email'
|
|
||||||
download: 'Download'
|
|
||||||
print: 'Print'
|
|
||||||
problem:
|
|
||||||
label: 'Problems?'
|
|
||||||
description: 'Does this article appear wrong?'
|
|
||||||
edit_title: 'Edit title'
|
|
||||||
original_article: 'original'
|
|
||||||
annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
|
||||||
new:
|
|
||||||
page_title: 'Save new entry'
|
|
||||||
placeholder: 'http://website.com'
|
|
||||||
form_new:
|
|
||||||
url_label: Url
|
|
||||||
edit:
|
|
||||||
page_title: 'Edit an entry'
|
|
||||||
title_label: 'Title'
|
|
||||||
url_label: 'Url'
|
|
||||||
is_public_label: 'Public'
|
|
||||||
save_label: 'Save'
|
|
||||||
|
|
||||||
about:
|
|
||||||
page_title: 'About'
|
|
||||||
top_menu:
|
|
||||||
who_behind_wallabag: 'Who is behind wallabag'
|
|
||||||
getting_help: 'Getting help'
|
|
||||||
helping: 'Helping wallabag'
|
|
||||||
contributors: 'Contributors'
|
|
||||||
third_party: 'Third-party libraries'
|
|
||||||
who_behind_wallabag:
|
|
||||||
developped_by: 'Developed by'
|
|
||||||
website: 'website'
|
|
||||||
many_contributors: 'And many others contributors ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">on Github</a>'
|
|
||||||
project_website: 'Project website'
|
|
||||||
license: 'License'
|
|
||||||
version: 'Version'
|
|
||||||
getting_help:
|
|
||||||
documentation: 'Documentation'
|
|
||||||
bug_reports: 'Bug reports'
|
|
||||||
support: '<a href="https://support.wallabag.org">On our support website</a> or <a href="https://github.com/wallabag/wallabag/issues">on GitHub</a>'
|
|
||||||
helping:
|
|
||||||
description: 'wallabag is free and opensource. You can help us:'
|
|
||||||
by_contributing: 'by contributing to the project:'
|
|
||||||
by_contributing_2: 'an issue lists all our needs'
|
|
||||||
by_paypal: 'via Paypal'
|
|
||||||
contributors:
|
|
||||||
description: 'Thank you to contributors on wallabag web application'
|
|
||||||
third_party:
|
|
||||||
description: 'Here are the list of third-party libraries used in wallabag (with their licenses):'
|
|
||||||
package: 'Package'
|
|
||||||
license: 'License'
|
|
||||||
|
|
||||||
howto:
|
|
||||||
page_title: 'How to'
|
|
||||||
page_description: 'There are several ways to save an article:'
|
|
||||||
top_menu:
|
|
||||||
browser_addons: 'Browser addons'
|
|
||||||
mobile_apps: 'Mobile apps'
|
|
||||||
bookmarklet: 'Bookmarklet'
|
|
||||||
form:
|
|
||||||
description: 'Thanks to this form'
|
|
||||||
browser_addons:
|
|
||||||
firefox: 'Standard Firefox Add-On'
|
|
||||||
chrome: 'Chrome Extension'
|
|
||||||
mobile_apps:
|
|
||||||
android:
|
|
||||||
via_f_droid: 'via F-Droid'
|
|
||||||
via_google_play: 'via Google Play'
|
|
||||||
ios: 'on the iTunes Store'
|
|
||||||
windows: 'on the Microsoft Store'
|
|
||||||
bookmarklet:
|
|
||||||
description: 'Drag & drop this link to your bookmarks bar:'
|
|
||||||
|
|
||||||
quickstart:
|
|
||||||
page_title: 'Quickstart'
|
|
||||||
intro:
|
|
||||||
title: 'Welcome to wallabag!'
|
|
||||||
paragraph_1: "We'll accompany you to visit wallabag and show you some features which can interest you."
|
|
||||||
paragraph_2: 'Follow us!'
|
|
||||||
configure:
|
|
||||||
title: 'Configure the application'
|
|
||||||
language: 'Change language and design'
|
|
||||||
rss: 'Enable RSS feeds'
|
|
||||||
tagging_rules: 'Write rules to automatically tag your articles'
|
|
||||||
admin:
|
|
||||||
title: 'Administration'
|
|
||||||
description: 'As an administrator, you have privileges on wallabag. You can:'
|
|
||||||
new_user: 'Create a new user'
|
|
||||||
analytics: 'Configure analytics'
|
|
||||||
sharing: 'Enable some parameters about article sharing'
|
|
||||||
export: 'Configure export'
|
|
||||||
import: 'Configure import'
|
|
||||||
first_steps:
|
|
||||||
title: 'First steps'
|
|
||||||
new_article: 'Save your first article'
|
|
||||||
unread_articles: 'And classify it!'
|
|
||||||
migrate:
|
|
||||||
title: 'Migrate from an existing service'
|
|
||||||
description: "Are you using another service? We'll help you to retrieve your data on wallabag."
|
|
||||||
pocket: 'Migrate from Pocket'
|
|
||||||
wallabag_v1: 'Migrate from wallabag v1'
|
|
||||||
wallabag_v2: 'Migrate from wallabag v2'
|
|
||||||
developer:
|
|
||||||
title: 'Developers'
|
|
||||||
create_application: 'Create your third application'
|
|
||||||
docs:
|
|
||||||
title: 'Full documentation'
|
|
||||||
annotate: 'Annotate your article'
|
|
||||||
export: 'Convert your articles into ePUB or PDF'
|
|
||||||
search_filters: 'See how you can look for an article by using search engine and filters'
|
|
||||||
fetching_errors: 'What can I do if an article encounters errors during fetching?'
|
|
||||||
all_docs: 'And so many other articles!'
|
|
||||||
support:
|
|
||||||
title: 'Support'
|
|
||||||
description: 'If you need some help, we are here for you.'
|
|
||||||
github: 'On GitHub'
|
|
||||||
email: 'By email'
|
|
||||||
gitter: 'On Gitter'
|
|
||||||
|
|
||||||
tag:
|
|
||||||
page_title: 'Tags'
|
|
||||||
list:
|
|
||||||
number_on_the_page: '{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.'
|
|
||||||
|
|
||||||
import:
|
|
||||||
page_title: 'Import'
|
|
||||||
page_description: 'Welcome to wallabag importer. Please select your previous service that you want to migrate.'
|
|
||||||
action:
|
|
||||||
import_contents: 'Import contents'
|
|
||||||
form:
|
|
||||||
mark_as_read_title: 'Mark all as read?'
|
|
||||||
mark_as_read_label: 'Mark all imported entries as read'
|
|
||||||
file_label: 'File'
|
|
||||||
save_label: 'Upload file'
|
|
||||||
pocket:
|
|
||||||
page_title: 'Import > Pocket'
|
|
||||||
description: "This importer will import all your Pocket data. Pocket doesn't allow us to retrieve content from their service, so the readable content of each article will be re-fetched by wallabag."
|
|
||||||
config_missing:
|
|
||||||
description: "Pocket import isn't configured."
|
|
||||||
admin_message: 'You need to define %keyurls%a pocket_consumer_key%keyurle%.'
|
|
||||||
user_message: 'Your server admin needs to define an API Key for Pocket.'
|
|
||||||
authorize_message: 'You can import your data from your Pocket account. You just have to click on the below button and authorize the application to connect to getpocket.com.'
|
|
||||||
connect_to_pocket: 'Connect to Pocket and import data'
|
|
||||||
wallabag_v1:
|
|
||||||
page_title: 'Import > Wallabag v1'
|
|
||||||
description: 'This importer will import all your wallabag v1 articles. On your config page, click on "JSON export" in the "Export your wallabag data" section. You will have a "wallabag-export-1-xxxx-xx-xx.json" file.'
|
|
||||||
how_to: 'Please select your wallabag export and click on the below button to upload and import it.'
|
|
||||||
wallabag_v2:
|
|
||||||
page_title: 'Import > Wallabag v2'
|
|
||||||
description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
|
|
||||||
|
|
||||||
developer:
|
|
||||||
page_title: 'Developer'
|
|
||||||
welcome_message: 'Welcome to the wallabag API'
|
|
||||||
documentation: 'Documentation'
|
|
||||||
how_to_first_app: 'How to create my first application'
|
|
||||||
full_documentation: 'View full API documentation'
|
|
||||||
clients:
|
|
||||||
title: 'Clients'
|
|
||||||
create_new: 'Create a new client'
|
|
||||||
existing_clients:
|
|
||||||
title: 'Existing clients'
|
|
||||||
field_id: 'Client ID'
|
|
||||||
field_secret: 'Client secret'
|
|
||||||
field_uris: 'Redirect URIs'
|
|
||||||
field_grant_types: 'Grant type allowed'
|
|
||||||
no_client: 'No client yet.'
|
|
||||||
remove:
|
|
||||||
warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !'
|
|
||||||
warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
|
|
||||||
action: 'Remove this client'
|
|
||||||
client:
|
|
||||||
page_title: 'Developer > New client'
|
|
||||||
page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
|
|
||||||
form:
|
|
||||||
redirect_uris_label: 'Redirect URIs'
|
|
||||||
save_label: 'Create a new client'
|
|
||||||
action_back: 'Back'
|
|
||||||
client_parameter:
|
|
||||||
page_title: 'Developer > Client parameters'
|
|
||||||
page_description: 'Here are your client parameters.'
|
|
||||||
field_id: 'Client ID'
|
|
||||||
field_secret: 'Client secret'
|
|
||||||
back: 'Back'
|
|
||||||
read_howto: 'Read the howto "Create my first application"'
|
|
||||||
howto:
|
|
||||||
page_title: 'Developer > How to create my first application'
|
|
||||||
description:
|
|
||||||
paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.'
|
|
||||||
paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.'
|
|
||||||
paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.'
|
|
||||||
paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):'
|
|
||||||
paragraph_5: 'The API will return a response like this:'
|
|
||||||
paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:'
|
|
||||||
paragraph_7: 'This call will return all the entries for your user.'
|
|
||||||
paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.'
|
|
||||||
back: 'Back'
|
|
||||||
|
|
||||||
validator:
|
|
||||||
password_must_match: 'The password fields must match.'
|
|
||||||
password_too_short: 'Password should by at least 8 chars long'
|
|
||||||
password_wrong_value: 'Wrong value for your current password'
|
|
||||||
item_per_page_too_high: 'This will certainly kill the app'
|
|
||||||
rss_limit_too_hight: 'This will certainly kill the app'
|
|
||||||
|
|
||||||
flashes:
|
|
||||||
config:
|
|
||||||
notice:
|
|
||||||
config_saved: 'Config saved. Some parameters will be considered after disconnection.'
|
|
||||||
password_updated: 'Password updated'
|
|
||||||
password_not_updated_demo: "In demonstration mode, you can't change password for this user."
|
|
||||||
user_updated: 'Information updated'
|
|
||||||
rss_updated: 'RSS information updated'
|
|
||||||
tagging_rules_updated: 'Tagging rules updated'
|
|
||||||
tagging_rules_deleted: 'Tagging rule deleted'
|
|
||||||
user_added: 'User "%username%" added'
|
|
||||||
rss_token_updated: 'RSS token updated'
|
|
||||||
entry:
|
|
||||||
notice:
|
|
||||||
entry_already_saved: 'Entry already saved on %date%'
|
|
||||||
entry_saved: 'Entry saved'
|
|
||||||
entry_updated: 'Entry updated'
|
|
||||||
entry_reloaded: 'Entry reloaded'
|
|
||||||
entry_reload_failed: 'Failed to reload entry'
|
|
||||||
entry_archived: 'Entry archived'
|
|
||||||
entry_unarchived: 'Entry unarchived'
|
|
||||||
entry_starred: 'Entry starred'
|
|
||||||
entry_unstarred: 'Entry unstarred'
|
|
||||||
entry_deleted: 'Entry deleted'
|
|
||||||
tag:
|
|
||||||
notice:
|
|
||||||
tag_added: 'Tag added'
|
|
||||||
import:
|
|
||||||
notice:
|
|
||||||
failed: 'Import failed, please try again.'
|
|
||||||
failed_on_file: 'Error while processing import. Please verify your import file.'
|
|
||||||
summary: 'Import summary: %imported% imported, %skipped% already saved.'
|
|
||||||
developer:
|
|
||||||
notice:
|
|
||||||
client_created: 'New client created.'
|
|
||||||
client_deleted: 'Client deleted'
|
|
||||||
@ -1,424 +0,0 @@
|
|||||||
security:
|
|
||||||
login:
|
|
||||||
page_title: '¡Bienvenido a wallabag !'
|
|
||||||
keep_logged_in: 'Manténgame conectado'
|
|
||||||
forgot_password: '¿Se ha olvidado de su contraseña?'
|
|
||||||
submit: 'Conectarse'
|
|
||||||
register: 'Registrarse'
|
|
||||||
username: 'Nombre de usuario'
|
|
||||||
password: 'Contraseña'
|
|
||||||
# cancel: 'Cancel'
|
|
||||||
resetting:
|
|
||||||
description: "Introduzca su dirección del correo electrónico y le enviaremos las instrucciones para reiniciar la contraseña"
|
|
||||||
register:
|
|
||||||
page_title: 'Crear una cuenta'
|
|
||||||
go_to_account: 'Acceder su cuenta'
|
|
||||||
|
|
||||||
menu:
|
|
||||||
left:
|
|
||||||
unread: 'Sin leer'
|
|
||||||
starred: 'Favoritos'
|
|
||||||
archive: 'Archivo'
|
|
||||||
all_articles: 'Todos los artículos'
|
|
||||||
config: 'Configuración'
|
|
||||||
tags: 'Tags'
|
|
||||||
internal_settings: 'Configuración interna'
|
|
||||||
import: 'Importar'
|
|
||||||
howto: 'Ayuda'
|
|
||||||
developer: 'Promotor'
|
|
||||||
logout: 'Desconectarse'
|
|
||||||
about: 'Acerca de'
|
|
||||||
search: 'Buscar'
|
|
||||||
save_link: 'Archivar un enlace'
|
|
||||||
back_to_unread: 'Volver a los artículos sin leer'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'Añadir un nuevo artículo'
|
|
||||||
search: 'Buscar'
|
|
||||||
filter_entries: 'Filtrar los artículos'
|
|
||||||
export: 'Exportar'
|
|
||||||
search_form:
|
|
||||||
input_label: 'Introduzca su búsqueda aquí'
|
|
||||||
|
|
||||||
footer:
|
|
||||||
wallabag:
|
|
||||||
elsewhere: 'Lleve wallabag consigo'
|
|
||||||
social: 'Social'
|
|
||||||
# powered_by: 'powered by'
|
|
||||||
about: 'Acerca de'
|
|
||||||
|
|
||||||
config:
|
|
||||||
page_title: 'Configuración'
|
|
||||||
tab_menu:
|
|
||||||
settings: 'Configuración'
|
|
||||||
rss: 'RSS'
|
|
||||||
user_info: 'Información de usuario'
|
|
||||||
password: 'Contraseña'
|
|
||||||
rules: 'Reglas de etiquetado automáticas'
|
|
||||||
new_user: 'Añadir un usuario'
|
|
||||||
form:
|
|
||||||
save: 'Guardar'
|
|
||||||
form_settings:
|
|
||||||
theme_label: 'Tema'
|
|
||||||
items_per_page_label: 'Número de artículos por página'
|
|
||||||
language_label: 'Idioma'
|
|
||||||
reading_speed:
|
|
||||||
# label: 'Reading speed'
|
|
||||||
# help_message: 'You can use online tools to estimate your reading speed:'
|
|
||||||
# 100_word: 'I read ~100 words per minute'
|
|
||||||
# 200_word: 'I read ~200 words per minute'
|
|
||||||
# 300_word: 'I read ~300 words per minute'
|
|
||||||
# 400_word: 'I read ~400 words per minute'
|
|
||||||
form_rss:
|
|
||||||
description: 'Los feeds RSS de wallabag permiten leer los artículos guardados con su lector RSS favorito. Necesita generar un token primero'
|
|
||||||
token_label: 'RSS token'
|
|
||||||
# no_token: 'No token'
|
|
||||||
token_create: 'Crear token'
|
|
||||||
token_reset: 'Resetear token'
|
|
||||||
rss_links: 'URL de su feed RSS'
|
|
||||||
rss_link:
|
|
||||||
unread: 'sin leer'
|
|
||||||
starred: 'favoritos'
|
|
||||||
archive: 'archivo'
|
|
||||||
rss_limit: 'Límite de artículos en feed RSS'
|
|
||||||
form_user:
|
|
||||||
two_factor_description: "Con la autentificación de dos factores recibirá código mediante email en cada nueva conexión que no sea de confianza"
|
|
||||||
name_label: 'Nombre'
|
|
||||||
email_label: 'Direccion e-mail'
|
|
||||||
twoFactorAuthentication_label: 'Autentificación de dos factores'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'Contraseña actual'
|
|
||||||
new_password_label: 'Nueva contraseña'
|
|
||||||
repeat_new_password_label: 'Confirmar la nueva contraseña'
|
|
||||||
form_rules:
|
|
||||||
# if_label: 'if'
|
|
||||||
# then_tag_as_label: 'then tag as'
|
|
||||||
# delete_rule_label: 'delete'
|
|
||||||
rule_label: 'Regla'
|
|
||||||
tags_label: 'Tags'
|
|
||||||
faq:
|
|
||||||
title: 'FAQ'
|
|
||||||
tagging_rules_definition_title: '¿Qué significa reglas de etiquetado autómaticas?'
|
|
||||||
tagging_rules_definition_description: 'Son las reglas usadas por Wallabag para etiquetar automáticamente los nuevos artículos.<br />Cáda vez que un nuevo artículo es añadido, todas las reglas de etiquetado automáticas serán usadas para etiquetarlo, ayudandote a clasificar automáticamente los artículos.'
|
|
||||||
how_to_use_them_title: '¿Cómo se utilizan?'
|
|
||||||
# how_to_use_them_description: 'Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »'
|
|
||||||
variables_available_title: '¿Qué variables y operadores se pueden utilizar para escribir las reglas?'
|
|
||||||
variables_available_description: 'Las siguientes variables y operadores se pueden utilizar para crear las reglas de etiquetado automáticas:'
|
|
||||||
meaning: 'Significado'
|
|
||||||
variable_description:
|
|
||||||
label: 'Variable'
|
|
||||||
title: 'Titúlo del artículo'
|
|
||||||
url: 'URL del artículo'
|
|
||||||
isArchived: 'El artículo está guardado o no'
|
|
||||||
isStarred: 'Si el artículo es un favorito o no'
|
|
||||||
content: "El contenido del artículo"
|
|
||||||
language: "El idoma del artículo"
|
|
||||||
mimetype: "Tipo MIME del artículo"
|
|
||||||
readingTime: "El tiempo estimado de lectura del artículo, en minutos"
|
|
||||||
domainName: 'El dominio del artículo'
|
|
||||||
operator_description:
|
|
||||||
label: 'Operador'
|
|
||||||
less_than: 'Menos que…'
|
|
||||||
strictly_less_than: 'Estrictámente menos que…'
|
|
||||||
greater_than: 'Más que…'
|
|
||||||
strictly_greater_than: 'Estrictámente mas que…'
|
|
||||||
equal_to: 'Egual a…'
|
|
||||||
not_equal_to: 'Diferente de…'
|
|
||||||
or: 'Una regla O otra'
|
|
||||||
and: 'Una regla Y la otra'
|
|
||||||
matches: 'Prueba si un <i>sujeto</i> corresponde a una <i>busqueda</i> (insensible a mayusculas).<br />Ejemplo : <code>título coincide "football"</code>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: 'Nombre de usuario'
|
|
||||||
password_label: 'Contraseña'
|
|
||||||
repeat_new_password_label: 'Confirmar la nueva contraseña'
|
|
||||||
plain_password_label: '????'
|
|
||||||
email_label: 'Email'
|
|
||||||
|
|
||||||
entry:
|
|
||||||
page_titles:
|
|
||||||
# unread: 'Unread entries'
|
|
||||||
# starred: 'Starred entries'
|
|
||||||
# archive: 'Archived entries'
|
|
||||||
# filtered: 'Filtered entries'
|
|
||||||
list:
|
|
||||||
number_on_the_page: '{0} No hay artículos.|{1} Hay un artículo.|]1,Inf[ Hay %count% artículos.'
|
|
||||||
reading_time: 'tiempo estimado de lectura'
|
|
||||||
reading_time_minutes: 'tiempo estimado de lectura: %readingTime% min'
|
|
||||||
reading_time_less_one_minute: 'tiempo estimado de lectura: <small class="inferieur"><</small> 1 min'
|
|
||||||
original_article: 'original'
|
|
||||||
toogle_as_read: 'Marcar cómo leído/ no leído'
|
|
||||||
toogle_as_star: 'Marcar cómo favorito/ no favorito'
|
|
||||||
delete: 'Suprimir'
|
|
||||||
export_title: 'Exportar'
|
|
||||||
filters:
|
|
||||||
title: 'Filtros'
|
|
||||||
status_label: 'Estatus'
|
|
||||||
archived_label: 'Archivado'
|
|
||||||
starred_label: 'Favorito'
|
|
||||||
preview_picture_label: 'Hay una foto'
|
|
||||||
preview_picture_help: 'Foto de preview'
|
|
||||||
language_label: 'Idioma'
|
|
||||||
reading_time:
|
|
||||||
label: 'Duración de lectura en minutos'
|
|
||||||
from: 'de'
|
|
||||||
to: 'a'
|
|
||||||
domain_label: 'Nombre de dominio'
|
|
||||||
created_at:
|
|
||||||
label: 'Fecha de creación'
|
|
||||||
from: 'de'
|
|
||||||
to: 'a'
|
|
||||||
action:
|
|
||||||
clear: 'Limpiar'
|
|
||||||
filter: 'Filtrar'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
# back_to_top: 'Back to top'
|
|
||||||
back_to_homepage: 'Volver'
|
|
||||||
set_as_read: 'Marcar como leído'
|
|
||||||
# set_as_unread: 'Mark as unread'
|
|
||||||
set_as_favorite: 'Marcar cómo favorito'
|
|
||||||
view_original_article: 'Artículo original'
|
|
||||||
re_fetch_content: 'Redescargar el contenido'
|
|
||||||
delete: 'Suprimir'
|
|
||||||
add_a_tag: 'Añadir una etiqueta'
|
|
||||||
share_content: 'Compartir'
|
|
||||||
share_email_label: 'Direccion e-mail'
|
|
||||||
download: 'Descargar'
|
|
||||||
# print: 'Print'
|
|
||||||
problem:
|
|
||||||
label: '¿Algún problema?'
|
|
||||||
description: '¿Este artículo no se muestra bien?'
|
|
||||||
edit_title: 'Modificar el título'
|
|
||||||
original_article: 'original'
|
|
||||||
annotations_on_the_entry: '{0} Sin anotaciones|{1} Una anotación|]1,Inf[ %nbAnnotations% anotaciones'
|
|
||||||
new:
|
|
||||||
page_title: 'Guardar un nuevo artículo'
|
|
||||||
placeholder: 'http://website.com'
|
|
||||||
form_new:
|
|
||||||
url_label: Url
|
|
||||||
edit:
|
|
||||||
page_title: 'Editar una artículo'
|
|
||||||
title_label: 'Título'
|
|
||||||
url_label: 'Url'
|
|
||||||
is_public_label: 'Es Público'
|
|
||||||
save_label: 'Guardar'
|
|
||||||
|
|
||||||
about:
|
|
||||||
page_title: 'Acerca de'
|
|
||||||
top_menu:
|
|
||||||
who_behind_wallabag: 'Equipo de desarrollo de wallabag'
|
|
||||||
getting_help: 'Conseguir ayuda'
|
|
||||||
helping: 'Ayudar a wallabag'
|
|
||||||
contributors: 'Contribuidores'
|
|
||||||
third_party: 'Librerías de terceeros'
|
|
||||||
who_behind_wallabag:
|
|
||||||
developped_by: 'Desarrollado por'
|
|
||||||
website: 'Sitio web'
|
|
||||||
many_contributors: 'Y muchos otros contribuidores ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">en Github</a>'
|
|
||||||
project_website: 'Web del proyecto'
|
|
||||||
license: 'Licencia'
|
|
||||||
version: 'Version'
|
|
||||||
getting_help:
|
|
||||||
documentation: 'Documentación'
|
|
||||||
bug_reports: 'Reporte de errores'
|
|
||||||
support: '<a href="https://support.wallabag.org">En nuestra web de soporte website</a> o <a href="https://github.com/wallabag/wallabag/issues">en GitHub</a>'
|
|
||||||
helping:
|
|
||||||
description: 'wallabag es libre y gratuito. Usted puede ayudarnos :'
|
|
||||||
by_contributing: 'contribuyendo al proyecto :'
|
|
||||||
by_contributing_2: 'nuestras necesidades están en un ticket'
|
|
||||||
by_paypal: 'via Paypal'
|
|
||||||
contributors:
|
|
||||||
description: 'Gradias a los contribuidores de la aplicación web de wallabag'
|
|
||||||
third_party:
|
|
||||||
description: 'Aquí está la lista de las dependencias utilizadas por wallabag (con sus licencias) :'
|
|
||||||
package: 'Paquete'
|
|
||||||
license: 'Licencia'
|
|
||||||
|
|
||||||
howto:
|
|
||||||
page_title: 'Ayuda'
|
|
||||||
# page_description: 'There are several ways to save an article:'
|
|
||||||
top_menu:
|
|
||||||
browser_addons: 'Extensiones de navigador'
|
|
||||||
mobile_apps: 'Applicaciones para smartphone'
|
|
||||||
bookmarklet: 'Bookmarklet'
|
|
||||||
form:
|
|
||||||
description: 'Gracias a este formulario'
|
|
||||||
browser_addons:
|
|
||||||
firefox: 'Extensión Firefox'
|
|
||||||
chrome: 'Extensión Chrome'
|
|
||||||
mobile_apps:
|
|
||||||
android:
|
|
||||||
via_f_droid: 'via F-Droid'
|
|
||||||
via_google_play: 'via Google Play'
|
|
||||||
# ios: 'on the iTunes Store'
|
|
||||||
# windows: 'on the Microsoft Store'
|
|
||||||
bookmarklet:
|
|
||||||
description: 'Desplazar y soltar este link en la barra de marcadores :'
|
|
||||||
|
|
||||||
quickstart:
|
|
||||||
page_title: 'Comienzo rápido'
|
|
||||||
intro:
|
|
||||||
title: 'Bienvenido a wallabag !'
|
|
||||||
paragraph_1: "Le acompañaremos a su visita de wallabag y le mostraremos algunas características que le pueden interesar."
|
|
||||||
paragraph_2: '¡Siganos!'
|
|
||||||
configure:
|
|
||||||
title: 'Configure la aplicación'
|
|
||||||
language: 'Cambie el idoma y el diseño de la aplicación'
|
|
||||||
rss: 'Activar los feeds RSS'
|
|
||||||
# tagging_rules: 'Write rules to automatically tag your articles'
|
|
||||||
admin:
|
|
||||||
# title: 'Administration'
|
|
||||||
# description: 'As an administrator, you have privileges on wallabag. You can:'
|
|
||||||
# new_user: 'Create a new user'
|
|
||||||
# analytics: 'Configure analytics'
|
|
||||||
# sharing: 'Enable some parameters about article sharing'
|
|
||||||
# export: 'Configure export'
|
|
||||||
# import: 'Configure import'
|
|
||||||
first_steps:
|
|
||||||
title: 'Prieros pasos'
|
|
||||||
new_article: 'Guarde su primer artículo'
|
|
||||||
unread_articles: '¡Y clasifiquelo!'
|
|
||||||
migrate:
|
|
||||||
title: 'Migrar de un servicio existente'
|
|
||||||
description: "¿Está usando otro servicio? Le ayudaremos a migrar sus datos a wallabag."
|
|
||||||
pocket: 'Migrar desde Pocket'
|
|
||||||
wallabag_v1: 'Migrar desde wallabag v1'
|
|
||||||
wallabag_v2: 'Migrar desde wallabag v2'
|
|
||||||
developer:
|
|
||||||
# title: 'Developers'
|
|
||||||
# create_application: 'Create your third application'
|
|
||||||
docs:
|
|
||||||
title: 'Documentación completa'
|
|
||||||
# annotate: 'Annotate your article'
|
|
||||||
export: 'Convierta sus artículos a ePub o a PDF'
|
|
||||||
search_filters: 'Aprenda a utilizar el buscador y los filtros para encontrar el artículo que le interese'
|
|
||||||
# fetching_errors: 'What can I do if an article encounters errors during fetching?'
|
|
||||||
all_docs: '¡Y muchos más artículos!'
|
|
||||||
support:
|
|
||||||
title: 'Soporte'
|
|
||||||
description: 'Sí necesita ayuda, estamos disponibles para usted.'
|
|
||||||
github: 'En GitHub'
|
|
||||||
email: 'Por email'
|
|
||||||
gitter: 'En Gitter'
|
|
||||||
|
|
||||||
tag:
|
|
||||||
page_title: 'Tags'
|
|
||||||
list:
|
|
||||||
number_on_the_page: '{0} No hay ningun tag.|{1} Hay un tag.|]1,Inf[ Hay %count% tags.'
|
|
||||||
|
|
||||||
import:
|
|
||||||
page_title: 'Importar'
|
|
||||||
page_description: 'Bienvenido al útil de migración de wallabag. Seleccione el servicio previo del que usted quiera migrar.'
|
|
||||||
action:
|
|
||||||
import_contents: 'Importar los contenidos'
|
|
||||||
form:
|
|
||||||
# mark_as_read_title: 'Mark all as read?'
|
|
||||||
# mark_as_read_label: 'Mark all imported entries as read'
|
|
||||||
file_label: 'Fichero'
|
|
||||||
save_label: 'Importar el fichero'
|
|
||||||
pocket:
|
|
||||||
page_title: 'Importar > Pocket'
|
|
||||||
description: "Va a importar sus datos de Pocket. Pocket no nos permite descargar el contenido de su servicio, así que el contenido de cada artículo será redescargado por wallabag."
|
|
||||||
config_missing:
|
|
||||||
description: "La importación de Pocket no está configurada."
|
|
||||||
admin_message: 'Debe definir %keyurls%una clava del API Pocket%keyurle%.'
|
|
||||||
user_message: 'El administrador de vuestro servidor debe definir una clave API Pocket.'
|
|
||||||
authorize_message: 'Puedes importar sus datos desde su cuenta de Pocket. Sólo tienes que pulsar en el botón para autrizar que wallabag se conecte a getpocket.com.'
|
|
||||||
connect_to_pocket: 'Conectese a Pocket para importar los datos'
|
|
||||||
wallabag_v1:
|
|
||||||
page_title: 'Importar > Wallabag v1'
|
|
||||||
description: 'Va a importar sus artículos de wallabag v1. En su configuración de wallabag v1, pulse sobre "Exportar JSON" dentro de la sección "Exportar sus datos de wallabag". Usted tendrá un fichero "wallabag-export-1-xxxx-xx-xx.json".'
|
|
||||||
how_to: 'Seleccione el fichero de su exportación de wallabag v1 y puelse en el botón para subirla y importarla.'
|
|
||||||
wallabag_v2:
|
|
||||||
page_title: 'Importar > Wallabag v2'
|
|
||||||
description: 'Va a importar sus artículos de otra instancia de wallabag v2. Vaya a Todos los artículos, entonces, en la barra lateral, clickee en "JSON". Usted tendrá un fichero "All articles.json"'
|
|
||||||
|
|
||||||
developer:
|
|
||||||
# page_title: 'Developer'
|
|
||||||
# welcome_message: 'Welcome to the wallabag API'
|
|
||||||
# documentation: 'Documentation'
|
|
||||||
# how_to_first_app: 'How to create my first application'
|
|
||||||
# full_documentation: 'View full API documentation'
|
|
||||||
# clients:
|
|
||||||
# title: 'Clients'
|
|
||||||
# create_new: 'Create a new client'
|
|
||||||
# existing_clients:
|
|
||||||
# title: 'Existing clients'
|
|
||||||
# field_id: 'Client ID'
|
|
||||||
# field_secret: 'Client secret'
|
|
||||||
# field_uris: 'Redirect URIs'
|
|
||||||
# field_grant_types: 'Grant type allowed'
|
|
||||||
# no_client: 'No client yet.'
|
|
||||||
# remove:
|
|
||||||
# warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !'
|
|
||||||
# warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
|
|
||||||
# action: 'Remove this client'
|
|
||||||
# client:
|
|
||||||
# page_title: 'Developer > New client'
|
|
||||||
# page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
|
|
||||||
# form:
|
|
||||||
# redirect_uris_label: 'Redirect URIs'
|
|
||||||
# save_label: 'Create a new client'
|
|
||||||
# action_back: 'Back'
|
|
||||||
# client_parameter:
|
|
||||||
# page_title: 'Developer > Client parameters'
|
|
||||||
# page_description: 'Here are your client parameters.'
|
|
||||||
# field_id: 'Client ID'
|
|
||||||
# field_secret: 'Client secret'
|
|
||||||
# back: 'Back'
|
|
||||||
# read_howto: 'Read the howto "Create my first application"'
|
|
||||||
# howto:
|
|
||||||
# page_title: 'Developer > How to create my first application'
|
|
||||||
# description:
|
|
||||||
# paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.'
|
|
||||||
# paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.'
|
|
||||||
# paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.'
|
|
||||||
# paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):'
|
|
||||||
# paragraph_5: 'The API will return a response like this:'
|
|
||||||
# paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:'
|
|
||||||
# paragraph_7: 'This call will return all the entries for your user.'
|
|
||||||
# paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.'
|
|
||||||
# back: 'Back'
|
|
||||||
|
|
||||||
validator:
|
|
||||||
password_must_match: 'Las contraseñas no coinciden'
|
|
||||||
password_too_short: 'La contraseña debe tener al menos 8 carácteres'
|
|
||||||
# password_wrong_value: 'Wrong value for your current password'
|
|
||||||
# item_per_page_too_high: 'This will certainly kill the app'
|
|
||||||
# rss_limit_too_hight: 'This will certainly kill the app'
|
|
||||||
|
|
||||||
flashes:
|
|
||||||
config:
|
|
||||||
notice:
|
|
||||||
config_saved: 'Configuración guardada. Algunos parámetros serán recargados cuando se vuelva a conectar.'
|
|
||||||
password_updated: 'Contraseña actualizada'
|
|
||||||
password_not_updated_demo: "En modo demo, no puedes cambiar la contraseña del usuario."
|
|
||||||
user_updated: 'Su información personal ha sido actualizada'
|
|
||||||
rss_updated: 'La configuración de los feeds RSS ha sido actualizada'
|
|
||||||
tagging_rules_updated: 'Regla de etiquetado borrada'
|
|
||||||
tagging_rules_deleted: 'Regla de etiquetado actualizada'
|
|
||||||
user_added: 'Usuario "%username%" añadido'
|
|
||||||
rss_token_updated: 'RSS token actualizado'
|
|
||||||
entry:
|
|
||||||
notice:
|
|
||||||
# entry_already_saved: 'Entry already saved on %date%'
|
|
||||||
# entry_saved: 'Entry saved'
|
|
||||||
# entry_updated: 'Entry updated'
|
|
||||||
# entry_reloaded: 'Entry reloaded'
|
|
||||||
# entry_reload_failed: 'Failed to reload entry'
|
|
||||||
entry_archived: 'Artículo archivado'
|
|
||||||
entry_unarchived: 'Artículo desarchivado'
|
|
||||||
entry_starred: 'Artículo guardado en los favoritos'
|
|
||||||
entry_unstarred: 'Artículo retirado de los favoritos'
|
|
||||||
entry_deleted: 'Artículo suprimido'
|
|
||||||
tag:
|
|
||||||
notice:
|
|
||||||
tag_added: 'Etiqueta añadida'
|
|
||||||
import:
|
|
||||||
notice:
|
|
||||||
# failed: 'Import failed, please try again.'
|
|
||||||
# failed_on_file: 'Error while processing import. Please verify your import file.'
|
|
||||||
# summary: 'Import summary: %imported% imported, %skipped% already saved.'
|
|
||||||
developer:
|
|
||||||
notice:
|
|
||||||
# client_created: 'New client created.'
|
|
||||||
# client_deleted: 'Client deleted'
|
|
||||||
@ -1,424 +1,129 @@
|
|||||||
security:
|
#Login
|
||||||
login:
|
Keep me logged in: 'مرا به خاطر بسپار'
|
||||||
# page_title: 'Welcome to wallabag!'
|
Forgot your password?: ' رمزتان را گم کردهاید؟'
|
||||||
keep_logged_in: 'مرا به خاطر بسپار'
|
Login: 'ورود'
|
||||||
forgot_password: ' رمزتان را گم کردهاید؟'
|
Back to login: 'بازگشت به صفحهٔ ورود'
|
||||||
submit: 'ورود'
|
Send: 'بفرست'
|
||||||
# register: 'Register'
|
"Enter your email address below and we'll send you password reset instructions.": "نشانی ایمیل خود را بنویسید تا راهنمای تغییر رمز را برایتان بفرستیم."
|
||||||
username: 'نام کاربری'
|
|
||||||
password: 'رمز'
|
|
||||||
# cancel: 'Cancel'
|
|
||||||
resetting:
|
|
||||||
description: "نشانی ایمیل خود را بنویسید تا راهنمای تغییر رمز را برایتان بفرستیم."
|
|
||||||
register:
|
|
||||||
# page_title: 'Create an account'
|
|
||||||
# go_to_account: 'Go to your account'
|
|
||||||
|
|
||||||
menu:
|
# Menu
|
||||||
left:
|
unread: 'خواندهنشده'
|
||||||
unread: 'خواندهنشده'
|
starred: 'برگزیده'
|
||||||
starred: 'برگزیده'
|
archive: 'بایگانی'
|
||||||
archive: 'بایگانی'
|
all: 'همه'
|
||||||
all_articles: 'همه'
|
tags: 'برچسبها'
|
||||||
config: 'پیکربندی'
|
config: 'پیکربندی'
|
||||||
tags: 'برچسبها'
|
howto: 'خودآموز'
|
||||||
# internal_settings: 'Internal Settings'
|
logout: 'خروج'
|
||||||
# import: 'Import'
|
Filtered: 'فیلترشده'
|
||||||
howto: 'خودآموز'
|
About: 'درباره'
|
||||||
# developer: 'Developer'
|
|
||||||
logout: 'خروج'
|
|
||||||
about: 'درباره'
|
|
||||||
search: 'جستجو'
|
|
||||||
# save_link: 'Save a link'
|
|
||||||
back_to_unread: 'بازگشت به خواندهنشدهها'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'افزودن مقالهٔ تازه'
|
|
||||||
search: 'جستجو'
|
|
||||||
filter_entries: 'فیلترکردن مقالهها'
|
|
||||||
# export: 'Export'
|
|
||||||
search_form:
|
|
||||||
input_label: 'جستجوی خود را اینجا بنویسید:'
|
|
||||||
|
|
||||||
footer:
|
# Header
|
||||||
wallabag:
|
Back to unread articles: 'بازگشت به خواندهنشدهها'
|
||||||
# elsewhere: 'Take wallabag with you'
|
Add a new entry: 'افزودن مقالهٔ تازه'
|
||||||
# social: 'Social'
|
Search: 'جستجو'
|
||||||
# powered_by: 'powered by'
|
Filter entries: 'فیلترکردن مقالهها'
|
||||||
about: 'درباره'
|
Enter your search here: 'جستجوی خود را اینجا بنویسید:'
|
||||||
|
Save new entry: 'ذخیرهٔ مقالهٔ تازه'
|
||||||
|
|
||||||
config:
|
# Config screen
|
||||||
page_title: 'پیکربندی'
|
Settings: 'تنظیمات'
|
||||||
tab_menu:
|
User information: 'اطلاعات کاربر'
|
||||||
settings: 'تنظیمات'
|
Password: 'رمز'
|
||||||
rss: 'آر-اس-اس'
|
RSS: 'آر-اس-اس'
|
||||||
user_info: 'اطلاعات کاربر'
|
Add a user: 'افزودن کاربر'
|
||||||
password: 'رمز'
|
Theme: 'پوسته'
|
||||||
# rules: 'Tagging rules'
|
Items per page: 'تعداد مقاله در هر صفحه'
|
||||||
new_user: 'افزودن کاربر'
|
Language: 'زبان'
|
||||||
form:
|
Save: 'ذخیره'
|
||||||
save: 'ذخیره'
|
RSS token: 'کد آر-اس-اس'
|
||||||
form_settings:
|
Name: 'نام'
|
||||||
theme_label: 'پوسته'
|
Email: 'نشانی ایمیل'
|
||||||
items_per_page_label: 'تعداد مقاله در هر صفحه'
|
No token: 'بدون کد'
|
||||||
language_label: 'زبان'
|
Reset your token: 'بازنشانی کد'
|
||||||
reading_speed:
|
Create your token: 'کد خود را بسازید'
|
||||||
# label: 'Reading speed'
|
Rss limit: 'محدودیت آر-اس-اس'
|
||||||
# help_message: 'You can use online tools to estimate your reading speed:'
|
RSS links: 'پیوند آر-اس-اس'
|
||||||
# 100_word: 'I read ~100 words per minute'
|
'RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.': 'با خوراک آر-اس-اس که wallabag در اختیارتان میگذارد، میتوانید مقالههای ذخیرهشده را در نرمافزار آر-اس-اس دلخواه خود بخوانید. برای این کار نخست باید یک کد بسازید.'
|
||||||
# 200_word: 'I read ~200 words per minute'
|
Old password: 'رمز قدیمی'
|
||||||
# 300_word: 'I read ~300 words per minute'
|
New password: 'رمز تازه'
|
||||||
# 400_word: 'I read ~400 words per minute'
|
Repeat new password: 'رمز تازه را دوباره بنویسید'
|
||||||
form_rss:
|
Username: 'نام کاربری'
|
||||||
description: 'با خوراک آر-اس-اس که wallabag در اختیارتان میگذارد، میتوانید مقالههای ذخیرهشده را در نرمافزار آر-اس-اس دلخواه خود بخوانید. برای این کار نخست باید یک کد بسازید.'
|
|
||||||
token_label: 'کد آر-اس-اس'
|
|
||||||
no_token: 'بدون کد'
|
|
||||||
token_create: 'کد خود را بسازید'
|
|
||||||
token_reset: 'بازنشانی کد'
|
|
||||||
rss_links: 'پیوند آر-اس-اس'
|
|
||||||
rss_link:
|
|
||||||
unread: 'خواندهنشده'
|
|
||||||
starred: 'برگزیده'
|
|
||||||
archive: 'بایگانی'
|
|
||||||
rss_limit: 'محدودیت آر-اس-اس'
|
|
||||||
form_user:
|
|
||||||
# two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion"
|
|
||||||
name_label: 'نام'
|
|
||||||
email_label: 'نشانی ایمیل'
|
|
||||||
# twoFactorAuthentication_label: 'Two factor authentication'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'رمز قدیمی'
|
|
||||||
new_password_label: 'رمز تازه'
|
|
||||||
repeat_new_password_label: 'رمز تازه را دوباره بنویسید'
|
|
||||||
form_rules:
|
|
||||||
# if_label: 'if'
|
|
||||||
# then_tag_as_label: 'then tag as'
|
|
||||||
# delete_rule_label: 'delete'
|
|
||||||
# rule_label: 'Rule'
|
|
||||||
# tags_label: 'Tags'
|
|
||||||
# faq:
|
|
||||||
# title: 'FAQ'
|
|
||||||
# tagging_rules_definition_title: 'What does « tagging rules » mean?'
|
|
||||||
# tagging_rules_definition_description: 'They are rules used by Wallabag to automatically tag new entries.<br />Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.'
|
|
||||||
# how_to_use_them_title: 'How do I use them?'
|
|
||||||
# how_to_use_them_description: 'Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »'
|
|
||||||
# variables_available_title: 'Which variables and operators can I use to write rules?'
|
|
||||||
# variables_available_description: 'The following variables and operators can be used to create tagging rules:'
|
|
||||||
# meaning: 'Meaning'
|
|
||||||
# variable_description:
|
|
||||||
# label: 'Variable'
|
|
||||||
# title: 'Title of the entry'
|
|
||||||
# url: 'URL of the entry'
|
|
||||||
# isArchived: 'Whether the entry is archived or not'
|
|
||||||
# isStarred: 'Whether the entry is starred or not'
|
|
||||||
# content: "The entry's content"
|
|
||||||
# language: "The entry's language"
|
|
||||||
# mimetype: "The entry's mime-type"
|
|
||||||
# readingTime: "The estimated entry's reading time, in minutes"
|
|
||||||
# domainName: 'The domain name of the entry'
|
|
||||||
# operator_description:
|
|
||||||
# label: 'Operator'
|
|
||||||
# less_than: 'Less than...'
|
|
||||||
# strictly_less_than: 'Strictly less than...'
|
|
||||||
# greater_than: 'Greater than...'
|
|
||||||
# strictly_greater_than: 'Strictly greater than...'
|
|
||||||
# equal_to: 'Equal to...'
|
|
||||||
# not_equal_to: 'Not equal to...'
|
|
||||||
# or: 'One rule OR another'
|
|
||||||
# and: 'One rule AND another'
|
|
||||||
# matches: 'Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: 'نام کاربری'
|
|
||||||
password_label: 'رمز'
|
|
||||||
repeat_new_password_label: 'رمز تازه را دوباره بنویسید'
|
|
||||||
plain_password_label: '????'
|
|
||||||
email_label: 'نشانی ایمیل'
|
|
||||||
|
|
||||||
entry:
|
# Entries
|
||||||
page_titles:
|
'estimated reading time': 'زمان تخمینی برای خواندن'
|
||||||
# unread: 'Unread entries'
|
original: اصلی
|
||||||
# starred: 'Starred entries'
|
Toggle mark as read: 'خواندهشده/خواندهنشده'
|
||||||
# archive: 'Archived entries'
|
Toggle favorite: 'برگزیده/نابرگزیده'
|
||||||
# filtered: 'Filtered entries'
|
Delete: 'پاک کردن'
|
||||||
list:
|
|
||||||
# number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
|
|
||||||
reading_time: 'زمان تخمینی برای خواندن'
|
|
||||||
reading_time_minutes: 'زمان تخمینی برای خواندن: %readingTime% min'
|
|
||||||
reading_time_less_one_minute: 'زمان تخمینی برای خواندن: <small class="inferieur"><</small> 1 min'
|
|
||||||
original_article: 'original'
|
|
||||||
toogle_as_read: 'خواندهشده/خواندهنشده'
|
|
||||||
toogle_as_star: 'برگزیده/نابرگزیده'
|
|
||||||
delete: 'پاک کردن'
|
|
||||||
# export_title: 'Export'
|
|
||||||
filters:
|
|
||||||
title: 'فیلتر'
|
|
||||||
status_label: 'وضعیت'
|
|
||||||
archived_label: 'بایگانیشده'
|
|
||||||
starred_label: 'برگزیده'
|
|
||||||
preview_picture_label: 'دارای عکس پیشنمایش'
|
|
||||||
preview_picture_help: 'پیشنمایش عکس'
|
|
||||||
language_label: 'زبان'
|
|
||||||
reading_time:
|
|
||||||
label: 'زمان خواندن به دقیقه'
|
|
||||||
from: 'از'
|
|
||||||
to: 'تا'
|
|
||||||
domain_label: 'نام دامنه'
|
|
||||||
created_at:
|
|
||||||
label: 'زمان ساخت'
|
|
||||||
from: 'از'
|
|
||||||
to: 'تا'
|
|
||||||
action:
|
|
||||||
clear: 'از نو'
|
|
||||||
filter: 'فیلتر'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
# back_to_top: 'Back to top'
|
|
||||||
back_to_homepage: 'بازگشت'
|
|
||||||
set_as_read: 'خواندهشده'
|
|
||||||
# set_as_unread: 'Mark as unread'
|
|
||||||
set_as_favorite: 'برگزیده'
|
|
||||||
view_original_article: 'مقالهٔ اصلی'
|
|
||||||
# re_fetch_content: 'Re-fetch content'
|
|
||||||
delete: 'پاک کردن'
|
|
||||||
add_a_tag: 'افزودن برچسب'
|
|
||||||
share_content: 'همرسانی'
|
|
||||||
share_email_label: 'نشانی ایمیل'
|
|
||||||
download: 'بارگیری'
|
|
||||||
# print: 'Print'
|
|
||||||
problem:
|
|
||||||
label: 'مشکلات؟'
|
|
||||||
description: 'آیا مقاله نادرست نشان داده شده؟'
|
|
||||||
edit_title: 'ویرایش عنوان'
|
|
||||||
original_article: 'original'
|
|
||||||
# annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
|
||||||
new:
|
|
||||||
page_title: 'ذخیرهٔ مقالهٔ تازه'
|
|
||||||
placeholder: 'http://website.com'
|
|
||||||
form_new:
|
|
||||||
# url_label: Url
|
|
||||||
edit:
|
|
||||||
# page_title: 'Edit an entry'
|
|
||||||
# title_label: 'Title'
|
|
||||||
# url_label: 'Url'
|
|
||||||
# is_public_label: 'Public'
|
|
||||||
save_label: 'ذخیره'
|
|
||||||
|
|
||||||
about:
|
# Filters
|
||||||
page_title: 'درباره'
|
Filters: 'فیلتر'
|
||||||
top_menu:
|
Status: 'وضعیت'
|
||||||
who_behind_wallabag: 'سازندگان wallabag'
|
Archived: 'بایگانیشده'
|
||||||
getting_help: 'گرفتن کمک'
|
Starred: 'برگزیده'
|
||||||
helping: 'کمککردن به wallabag'
|
Preview picture: 'پیشنمایش عکس'
|
||||||
# contributors: 'Contributors'
|
Has a preview picture: 'دارای عکس پیشنمایش'
|
||||||
# third_party: 'Third-party libraries'
|
Reading time in minutes: 'زمان خواندن به دقیقه'
|
||||||
who_behind_wallabag:
|
from: 'از'
|
||||||
developped_by: 'ساختهٔ'
|
to: 'تا'
|
||||||
website: 'وبگاه'
|
website.com: 'website.com'
|
||||||
many_contributors: 'و بسیاری دیگر از مشارکتکنندگان ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">روی Github</a>'
|
Domain name: 'نام دامنه'
|
||||||
project_website: 'وبگاه پروژه'
|
Creation date: 'زمان ساخت'
|
||||||
license: 'پروانه'
|
dd/mm/yyyy: 'dd.mm.yyyy'
|
||||||
version: 'نسخه'
|
Clear: 'از نو'
|
||||||
getting_help:
|
Filter: 'فیلتر'
|
||||||
documentation: 'راهنما'
|
|
||||||
bug_reports: 'گزارش اشکالها'
|
|
||||||
support: '<a href="https://support.wallabag.org">در وبگاه پشتیبانی</a> یا <a href="https://github.com/wallabag/wallabag/issues">روی GitHub</a>'
|
|
||||||
helping:
|
|
||||||
description: 'wallabag رایگان، آزاد، و متنباز است. شما میتوانید به ما کمک کنید:'
|
|
||||||
by_contributing: 'با مشارکت در پروژه:'
|
|
||||||
by_contributing_2: 'فهرست نیازمندیهای ما در این صفحه است:'
|
|
||||||
by_paypal: 'از راه Paypal'
|
|
||||||
contributors:
|
|
||||||
# description: 'Thank you to contributors on wallabag web application'
|
|
||||||
third_party:
|
|
||||||
# description: 'Here are the list of third-party libraries used in wallabag (with their licenses):'
|
|
||||||
# package: 'Package'
|
|
||||||
license: 'پروانه'
|
|
||||||
|
|
||||||
howto:
|
# About
|
||||||
page_title: 'خودآموز'
|
Who is behind wallabag: "سازندگان wallabag"
|
||||||
# page_description: 'There are several ways to save an article:'
|
Getting help: "گرفتن کمک"
|
||||||
top_menu:
|
Helping wallabag: "کمککردن به wallabag"
|
||||||
browser_addons: 'افزونه برای مرورگرها'
|
Developed by: "ساختهٔ"
|
||||||
mobile_apps: 'برنامههای موبایل'
|
website: "وبگاه"
|
||||||
bookmarklet: 'ابزار علامتگذاری صفحهها'
|
And many others contributors ♥: "و بسیاری دیگر از مشارکتکنندگان ♥"
|
||||||
form:
|
on GitHub: "روی GitHub"
|
||||||
description: 'به کمک این فرم'
|
Project website: "وبگاه پروژه"
|
||||||
browser_addons:
|
License: "پروانه"
|
||||||
firefox: 'افزونهٔ فایرفاکس'
|
Version: "نسخه"
|
||||||
chrome: 'افزونهٔ کروم'
|
Documentation: "راهنما"
|
||||||
mobile_apps:
|
Bug reports: "گزارش اشکالها"
|
||||||
android:
|
On our support website: "در وبگاه پشتیبانی"
|
||||||
via_f_droid: 'از راه F-Droid'
|
or: "یا"
|
||||||
via_google_play: 'از راه Google Play'
|
"wallabag is free and opensource. You can help us:": "wallabag رایگان، آزاد، و متنباز است. شما میتوانید به ما کمک کنید:"
|
||||||
ios: 'از راه iTunes Store'
|
"by contributing to the project:": "با مشارکت در پروژه:"
|
||||||
windows: 'از راه Microsoft Store'
|
an issue lists all our needs: "فهرست نیازمندیهای ما در این صفحه است:"
|
||||||
bookmarklet:
|
via Paypal: "از راه PayPal"
|
||||||
description: 'این پیوند را به نوار بوکمارک مرورگرتان بکشید:'
|
|
||||||
|
|
||||||
quickstart:
|
# Howto
|
||||||
# page_title: 'Quickstart'
|
Form: فرم
|
||||||
# intro:
|
Thanks to this form: "به کمک این فرم"
|
||||||
# title: 'Welcome to wallabag!'
|
Browser addons: "افزونه برای مرورگرها"
|
||||||
# paragraph_1: "We'll accompany you to visit wallabag and show you some features which can interest you."
|
Mobile apps: "برنامههای موبایل"
|
||||||
# paragraph_2: 'Follow us!'
|
Bookmarklet: "ابزار علامتگذاری صفحهها"
|
||||||
# configure:
|
Standard Firefox Add-On: "افزونهٔ فایرفاکس"
|
||||||
# title: 'Configure the application'
|
Chrome Extension: "افزونهٔ کروم"
|
||||||
# language: 'Change language and design'
|
download the application: "برنامه را باربگیرید"
|
||||||
# rss: 'Enable RSS feeds'
|
"Drag & drop this link to your bookmarks bar:": "این پیوند را به نوار بوکمارک مرورگرتان بکشید:"
|
||||||
# tagging_rules: 'Write rules to automatically tag your articles'
|
|
||||||
# admin:
|
|
||||||
# title: 'Administration'
|
|
||||||
# description: 'As an administrator, you have privileges on wallabag. You can:'
|
|
||||||
# new_user: 'Create a new user'
|
|
||||||
# analytics: 'Configure analytics'
|
|
||||||
# sharing: 'Enable some parameters about article sharing'
|
|
||||||
# export: 'Configure export'
|
|
||||||
# import: 'Configure import'
|
|
||||||
# first_steps:
|
|
||||||
# title: 'First steps'
|
|
||||||
# new_article: 'Save your first article'
|
|
||||||
# unread_articles: 'And classify it!'
|
|
||||||
# migrate:
|
|
||||||
# title: 'Migrate from an existing service'
|
|
||||||
# description: "Are you using another service? We'll help you to retrieve your data on wallabag."
|
|
||||||
# pocket: 'Migrate from Pocket'
|
|
||||||
# wallabag_v1: 'Migrate from wallabag v1'
|
|
||||||
# wallabag_v2: 'Migrate from wallabag v2'
|
|
||||||
# developer:
|
|
||||||
# title: 'Developers'
|
|
||||||
# create_application: 'Create your third application'
|
|
||||||
# docs:
|
|
||||||
# title: 'Full documentation'
|
|
||||||
# annotate: 'Annotate your article'
|
|
||||||
# export: 'Convert your articles into ePUB or PDF'
|
|
||||||
# search_filters: 'See how you can look for an article by using search engine and filters'
|
|
||||||
# fetching_errors: 'What can I do if an article encounters errors during fetching?'
|
|
||||||
# all_docs: 'And so many other articles!'
|
|
||||||
# support:
|
|
||||||
# title: 'Support'
|
|
||||||
# description: 'If you need some help, we are here for you.'
|
|
||||||
# github: 'On GitHub'
|
|
||||||
# email: 'By email'
|
|
||||||
# gitter: 'On Gitter'
|
|
||||||
|
|
||||||
tag:
|
# Flash messages
|
||||||
page_title: 'برچسبها'
|
Information updated: "اطلاعات بهروز شد"
|
||||||
list:
|
"Config saved. Some parameters will be considered after disconnection.": "پیکربندی ذخیره شد. برخی از تنظیمات پس از این که قطع شدید اعمال میشود."
|
||||||
# number_on_the_page: '{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.'
|
RSS information updated: "اطلاعات آر-اس-اس بهروز شد"
|
||||||
|
Password updated: "رمز بهروز شد"
|
||||||
|
Entry starred: "مقاله برگزیده شد"
|
||||||
|
Entry unstarred: "مقاله نابرگزیده شد"
|
||||||
|
Entry archived: "مقاله بایگانی شد"
|
||||||
|
Entry unarchived: "مقاله از بایگانی درآمد"
|
||||||
|
Entry deleted: "مقاله پاک شد"
|
||||||
|
|
||||||
import:
|
# Entry
|
||||||
# page_title: 'Import'
|
Mark as read: 'خواندهشده'
|
||||||
# page_description: 'Welcome to wallabag importer. Please select your previous service that you want to migrate.'
|
Favorite: 'برگزیده'
|
||||||
# action:
|
back: 'بازگشت'
|
||||||
# import_contents: 'Import contents'
|
original article: 'مقالهٔ اصلی'
|
||||||
# form:
|
Add a tag: 'افزودن برچسب'
|
||||||
# mark_as_read_title: 'Mark all as read?'
|
Share: 'همرسانی'
|
||||||
# mark_as_read_label: 'Mark all imported entries as read'
|
Download: 'بارگیری'
|
||||||
# file_label: 'File'
|
Does this article appear wrong?: "آیا مقاله نادرست نشان داده شده؟"
|
||||||
# save_label: 'Upload file'
|
Problems?: 'مشکلات؟'
|
||||||
# pocket:
|
Edit title: "ویرایش عنوان"
|
||||||
# page_title: 'Import > Pocket'
|
|
||||||
# description: "This importer will import all your Pocket data. Pocket doesn't allow us to retrieve content from their service, so the readable content of each article will be re-fetched by wallabag."
|
|
||||||
# config_missing:
|
|
||||||
# description: "Pocket import isn't configured."
|
|
||||||
# admin_message: 'You need to define %keyurls%a pocket_consumer_key%keyurle%.'
|
|
||||||
# user_message: 'Your server admin needs to define an API Key for Pocket.'
|
|
||||||
# authorize_message: 'You can import your data from your Pocket account. You just have to click on the below button and authorize the application to connect to getpocket.com.'
|
|
||||||
# connect_to_pocket: 'Connect to Pocket and import data'
|
|
||||||
# wallabag_v1:
|
|
||||||
# page_title: 'Import > Wallabag v1'
|
|
||||||
# description: 'This importer will import all your wallabag v1 articles. On your config page, click on "JSON export" in the "Export your wallabag data" section. You will have a "wallabag-export-1-xxxx-xx-xx.json" file.'
|
|
||||||
# how_to: 'Please select your wallabag export and click on the below button to upload and import it.'
|
|
||||||
# wallabag_v2:
|
|
||||||
# page_title: 'Import > Wallabag v2'
|
|
||||||
# description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
|
|
||||||
|
|
||||||
developer:
|
|
||||||
# page_title: 'Developer'
|
|
||||||
# welcome_message: 'Welcome to the wallabag API'
|
|
||||||
# documentation: 'Documentation'
|
|
||||||
# how_to_first_app: 'How to create my first application'
|
|
||||||
# full_documentation: 'View full API documentation'
|
|
||||||
# clients:
|
|
||||||
# title: 'Clients'
|
|
||||||
# create_new: 'Create a new client'
|
|
||||||
# existing_clients:
|
|
||||||
# title: 'Existing clients'
|
|
||||||
# field_id: 'Client ID'
|
|
||||||
# field_secret: 'Client secret'
|
|
||||||
# field_uris: 'Redirect URIs'
|
|
||||||
# field_grant_types: 'Grant type allowed'
|
|
||||||
# no_client: 'No client yet.'
|
|
||||||
# remove:
|
|
||||||
# warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !'
|
|
||||||
# warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
|
|
||||||
# action: 'Remove this client'
|
|
||||||
# client:
|
|
||||||
# page_title: 'Developer > New client'
|
|
||||||
# page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
|
|
||||||
# form:
|
|
||||||
# redirect_uris_label: 'Redirect URIs'
|
|
||||||
# save_label: 'Create a new client'
|
|
||||||
# action_back: 'بازگشت'
|
|
||||||
# client_parameter:
|
|
||||||
# page_title: 'Developer > Client parameters'
|
|
||||||
# page_description: 'Here are your client parameters.'
|
|
||||||
# field_id: 'Client ID'
|
|
||||||
# field_secret: 'Client secret'
|
|
||||||
# back: 'بازگشت'
|
|
||||||
# read_howto: 'Read the howto "Create my first application"'
|
|
||||||
# howto:
|
|
||||||
# page_title: 'Developer > How to create my first application'
|
|
||||||
# description:
|
|
||||||
# paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.'
|
|
||||||
# paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.'
|
|
||||||
# paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.'
|
|
||||||
# paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):'
|
|
||||||
# paragraph_5: 'The API will return a response like this:'
|
|
||||||
# paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:'
|
|
||||||
# paragraph_7: 'This call will return all the entries for your user.'
|
|
||||||
# paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.'
|
|
||||||
# back: 'بازگشت'
|
|
||||||
|
|
||||||
validator:
|
|
||||||
password_must_match: 'رمزها باید یکی باشند'
|
|
||||||
password_too_short: 'رمز شما باید ۸ حرف یا بیشتر باشد'
|
|
||||||
# password_wrong_value: 'Wrong value for your current password'
|
|
||||||
# item_per_page_too_high: 'This will certainly kill the app'
|
|
||||||
# rss_limit_too_hight: 'This will certainly kill the app'
|
|
||||||
|
|
||||||
flashes:
|
|
||||||
config:
|
|
||||||
notice:
|
|
||||||
config_saved: 'پیکربندی ذخیره شد. برخی از تنظیمات پس از این که قطع شدید اعمال میشود.'
|
|
||||||
password_updated: 'رمز بهروز شد'
|
|
||||||
# password_not_updated_demo: "In demonstration mode, you can't change password for this user."
|
|
||||||
user_updated: 'اطلاعات بهروز شد'
|
|
||||||
rss_updated: 'اطلاعات آر-اس-اس بهروز شد'
|
|
||||||
# tagging_rules_updated: 'Tagging rules updated'
|
|
||||||
# tagging_rules_deleted: 'Tagging rule deleted'
|
|
||||||
# user_added: 'User "%username%" added'
|
|
||||||
# rss_token_updated: 'RSS token updated'
|
|
||||||
entry:
|
|
||||||
notice:
|
|
||||||
# entry_already_saved: 'Entry already saved on %date%'
|
|
||||||
# entry_saved: 'Entry saved'
|
|
||||||
# entry_updated: 'Entry updated'
|
|
||||||
# entry_reloaded: 'Entry reloaded'
|
|
||||||
# entry_reload_failed: 'Failed to reload entry'
|
|
||||||
entry_archived: 'مقاله بایگانی شد'
|
|
||||||
entry_unarchived: 'مقاله از بایگانی درآمد'
|
|
||||||
entry_starred: 'مقاله برگزیده شد'
|
|
||||||
entry_unstarred: 'مقاله نابرگزیده شد'
|
|
||||||
entry_deleted: 'مقاله پاک شد'
|
|
||||||
tag:
|
|
||||||
notice:
|
|
||||||
# tag_added: 'Tag added'
|
|
||||||
import:
|
|
||||||
notice:
|
|
||||||
# failed: 'Import failed, please try again.'
|
|
||||||
# failed_on_file: 'Error while processing import. Please verify your import file.'
|
|
||||||
# summary: 'Import summary: %imported% imported, %skipped% already saved.'
|
|
||||||
developer:
|
|
||||||
notice:
|
|
||||||
# client_created: 'New client created.'
|
|
||||||
# client_deleted: 'Client deleted'
|
|
||||||
|
|||||||
@ -1,424 +1,242 @@
|
|||||||
security:
|
#Login
|
||||||
login:
|
Keep me logged in: 'Rester connecté'
|
||||||
page_title: 'Bienvenue sur wallabag !'
|
Forgot your password?: 'Mot de passe oublié ?'
|
||||||
keep_logged_in: 'Rester connecté'
|
Login: 'Se connecter'
|
||||||
forgot_password: 'Mot de passe oublié ?'
|
Back to login: 'Revenir au formulaire de connexion'
|
||||||
submit: 'Se connecter'
|
Send: 'Envoyer'
|
||||||
register: 'Créer un compte'
|
"Enter your email address below and we'll send you password reset instructions.": "Saisissez votre adresse e-mail ci-dessous, nous vous enverrons les instructions pour réinitialiser votre mot de passe."
|
||||||
username: "Nom d'utilisateur"
|
Register: 'Créer un compte'
|
||||||
password: 'Mot de passe'
|
|
||||||
cancel: 'Annuler'
|
|
||||||
resetting:
|
|
||||||
description: "Saisissez votre adresse e-mail ci-dessous, nous vous enverrons les instructions pour réinitialiser votre mot de passe."
|
|
||||||
register:
|
|
||||||
page_title: 'Se créer un compte'
|
|
||||||
go_to_account: 'Aller sur votre compte'
|
|
||||||
|
|
||||||
menu:
|
# Menu
|
||||||
left:
|
unread: 'Non lus'
|
||||||
unread: 'Non lus'
|
starred: 'Favoris'
|
||||||
starred: 'Favoris'
|
archive: 'Lus'
|
||||||
archive: 'Lus'
|
all: 'Tous les articles'
|
||||||
all_articles: 'Tous les articles'
|
tags: 'Tags'
|
||||||
config: 'Configuration'
|
config: 'Configuration'
|
||||||
tags: 'Tags'
|
internal settings: 'Configuration interne'
|
||||||
internal_settings: 'Configuration interne'
|
import: 'Importer'
|
||||||
import: 'Importer'
|
howto: 'Aide'
|
||||||
howto: 'Aide'
|
logout: 'Déconnexion'
|
||||||
developer: 'Développeur'
|
Filtered: 'Articles filtrés'
|
||||||
logout: 'Déconnexion'
|
About: 'À propos'
|
||||||
about: 'À propos'
|
|
||||||
search: 'Recherche'
|
|
||||||
save_link: 'Sauvegarder un nouvel article'
|
|
||||||
back_to_unread: 'Retour aux articles non lus'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'Sauvegarder un nouvel article'
|
|
||||||
search: 'Rechercher'
|
|
||||||
filter_entries: 'Filtrer les articles'
|
|
||||||
export: 'Exporter'
|
|
||||||
search_form:
|
|
||||||
input_label: 'Saisissez votre terme de recherche'
|
|
||||||
|
|
||||||
footer:
|
# Header
|
||||||
wallabag:
|
Back to unread articles: 'Retour aux articles non lus'
|
||||||
elsewhere: 'Emportez wallabag avec vous'
|
Add a new entry: 'Sauvegarder un nouvel article'
|
||||||
social: 'Social'
|
Search: 'Rechercher'
|
||||||
powered_by: 'propulsé par'
|
Filter entries: 'Filtrer les articles'
|
||||||
about: 'À propos'
|
Enter your search here: 'Saisissez votre terme de recherche'
|
||||||
page_title: 'Configuration'
|
Save new entry: 'Sauvegarder un nouvel article'
|
||||||
|
Export: Exporter
|
||||||
|
|
||||||
config:
|
# Config screen
|
||||||
tab_menu:
|
Settings: 'Paramètres'
|
||||||
settings: 'Paramètres'
|
User information: 'Mon compte'
|
||||||
rss: 'RSS'
|
Password: 'Mot de passe'
|
||||||
user_info: 'Mon compte'
|
RSS: 'RSS'
|
||||||
password: 'Mot de passe'
|
Add a user: 'Créer un compte'
|
||||||
rules: 'Règles de tag automatiques'
|
Theme: 'Thème'
|
||||||
new_user: 'Créer un compte'
|
Items per page: "Nombre d'articles par page"
|
||||||
form:
|
Language: 'Langue'
|
||||||
save: 'Enregistrer'
|
Save: 'Enregistrer'
|
||||||
form_settings:
|
RSS token: 'Jeton RSS'
|
||||||
theme_label: 'Thème'
|
RSS token updated: 'Jeton RSS mis à jour'
|
||||||
items_per_page_label: "Nombre d'articles par page"
|
Name: 'Nom'
|
||||||
language_label: 'Langue'
|
Email: 'Adresse e-mail'
|
||||||
reading_speed:
|
No token: 'Aucun jeton généré'
|
||||||
label: 'Vitesse de lecture'
|
Reset your token: 'Réinitialisez votre jeton'
|
||||||
help_message: 'Vous pouvez utiliser un outil en ligne pour estimer votre vitesse de lecture :'
|
Create your token: 'Créez votre jeton'
|
||||||
100_word: 'Je lis environ 100 mots par minute'
|
Rss limit: "Nombre d'articles dans un flux RSS"
|
||||||
200_word: 'Je lis environ 200 mots par minute'
|
RSS links: 'URL de vos flux RSS'
|
||||||
300_word: 'Je lis environ 300 mots par minute'
|
"RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.": "Les flux RSS fournis par wallabag vous permettent de lire vos articles sauvegardés dans votre lecteur de flux préféré. Pour pouvoir les utiliser, vous devez d'abord créer un jeton."
|
||||||
400_word: 'Je lis environ 400 mots par minute'
|
Old password: 'Mot de passe actuel'
|
||||||
form_rss:
|
New password: 'Nouveau mot de passe'
|
||||||
description: "Les flux RSS fournis par wallabag vous permettent de lire vos articles sauvegardés dans votre lecteur de flux préféré. Pour pouvoir les utiliser, vous devez d'abord créer un jeton."
|
Repeat new password: 'Confirmez votre nouveau mot de passe'
|
||||||
token_label: 'Jeton RSS'
|
Username: "Nom d'utilisateur"
|
||||||
no_token: 'Aucun jeton généré'
|
Two factor authentication: "Double authentification"
|
||||||
token_create: 'Créez votre jeton'
|
"Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion": "Activer l'authentification double-facteur veut dire que vous allez recevoir un code par email à chaque nouvelle connexion non approuvée."
|
||||||
token_reset: 'Réinitialisez votre jeton'
|
|
||||||
rss_links: 'URL de vos flux RSS'
|
|
||||||
rss_link:
|
|
||||||
unread: 'non lus'
|
|
||||||
starred: 'favoris'
|
|
||||||
archive: 'lus'
|
|
||||||
rss_limit: "Nombre d'articles dans le flux"
|
|
||||||
form_user:
|
|
||||||
two_factor_description: "Activer l'authentification double-facteur veut dire que vous allez recevoir un code par email à chaque nouvelle connexion non approuvée."
|
|
||||||
name_label: 'Nom'
|
|
||||||
email_label: 'Adresse e-mail'
|
|
||||||
twoFactorAuthentication_label: 'Double authentification'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'Mot de passe actuel'
|
|
||||||
new_password_label: 'Nouveau mot de passe'
|
|
||||||
repeat_new_password_label: 'Confirmez votre nouveau mot de passe'
|
|
||||||
form_rules:
|
|
||||||
if_label: 'si'
|
|
||||||
then_tag_as_label: 'alors attribuer les tags'
|
|
||||||
delete_rule_label: 'supprimer'
|
|
||||||
rule_label: 'Règle'
|
|
||||||
tags_label: 'Tags'
|
|
||||||
faq:
|
|
||||||
title: 'FAQ'
|
|
||||||
tagging_rules_definition_title: 'Que signifient les règles de tag automatiques ?'
|
|
||||||
tagging_rules_definition_description: "Ce sont des règles utilisées par wallabag pour classer automatiquement vos nouveaux articles.<br />À chaque fois qu'un nouvel article est ajouté, toutes les règles de tag automatiques seront utilisées afin d'ajouter les tags que vous avez configurés, vous épargnant ainsi l'effort de classifier vos articles manuellement."
|
|
||||||
how_to_use_them_title: 'Comment les utiliser ?'
|
|
||||||
how_to_use_them_description: 'Imaginons que voulez attribuer aux nouveaux articles le tag « <i>lecture courte</i> » lorsque le temps de lecture est inférieur à 3 minutes.<br />Dans ce cas, vous devriez mettre « readingTime <= 3 » dans le champ <i>Règle</i> et « <i>lecture courte</i> » dans le champ <i>Tag</i>.<br />Plusieurs tags peuvent être ajoutés simultanément en les séparant par des virgules : « <i>lecture courte, à lire</i> »<br />Des règles complexes peuvent être créées en utilisant des opérateurs prédéfinis: si « <i>readingTime >= 5 AND domainName = \"github.com\"</i> » alors attribuer les tags « <i>lecture longue, github </i> »'
|
|
||||||
variables_available_title: 'Quelles variables et opérateurs puis-je utiliser pour écrire des règles ?'
|
|
||||||
variables_available_description: 'Les variables et opérateurs suivants peuvent être utilisés pour écrire des règles de tag automatiques :'
|
|
||||||
meaning: 'Signification'
|
|
||||||
variable_description:
|
|
||||||
label: 'Variable'
|
|
||||||
title: "Titre de l'article"
|
|
||||||
url: "URL de l'article"
|
|
||||||
isArchived: "Si l'article est archivé ou non"
|
|
||||||
isStarred: "Si l'article est favori ou non"
|
|
||||||
content: "Le contenu de l'article"
|
|
||||||
language: "La langue de l'article"
|
|
||||||
mimetype: "Le type MIME de l'article"
|
|
||||||
readingTime: "Le temps de lecture estimé de l'article, en minutes"
|
|
||||||
domainName: "Le nom de domaine de l'article"
|
|
||||||
operator_description:
|
|
||||||
label: 'Opérateur'
|
|
||||||
less_than: 'Moins que…...'
|
|
||||||
strictly_less_than: 'Strictement moins que…'
|
|
||||||
greater_than: 'Plus que…'
|
|
||||||
strictly_greater_than: 'Strictement plus que…'
|
|
||||||
equal_to: 'Égal à…'
|
|
||||||
not_equal_to: 'Différent de…'
|
|
||||||
or: "Une règle OU l'autre"
|
|
||||||
and: "Une règle ET l'autre"
|
|
||||||
matches: 'Teste si un <i>sujet</i> correspond à une <i>recherche</i> (non sensible à la casse).<br />Exemple : <code>title matches "football"</code>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: "Nom d'utilisateur"
|
|
||||||
password_label: 'Mot de passe'
|
|
||||||
repeat_new_password_label: 'Confirmez votre nouveau mot de passe'
|
|
||||||
plain_password_label: 'Mot de passe en clair'
|
|
||||||
email_label: 'Adresse e-mail'
|
|
||||||
|
|
||||||
entry:
|
# Tagging rules
|
||||||
page_titles:
|
Tagging rules: "Règles de tag automatiques"
|
||||||
unread: 'Articles non lus'
|
What does « tagging rules » mean?: "Que signifient les règles de tag automatiques ?"
|
||||||
starred: 'Articles favoris'
|
"They are rules used by Wallabag to automatically tag new entries.<br />Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.": "Ce sont des règles utilisées par wallabag pour classer automatiquement vos nouveaux articles.<br />À chaque fois qu'un nouvel article est ajouté, toutes les règles de tag automatiques seront utilisées afin d'ajouter les tags que vous avez configurés, vous épargnant ainsi l'effort de classifier vos articles manuellement."
|
||||||
archive: 'Articles lus'
|
How do I use them?: "Comment les utiliser ?"
|
||||||
filtered: 'Articles filtrés'
|
"Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = \"github.com\"</i> » then tag as « <i>long reading, github </i> »": "Imaginons que voulez attribuer aux nouveaux articles le tag « <i>lecture courte</i> » lorsque le temps de lecture est inférieur à 3 minutes.<br />Dans ce cas, vous devriez mettre « readingTime <= 3 » dans le champ <i>Règle</i> et « <i>lecture courte</i> » dans le champ <i>Tag</i>.<br />Plusieurs tags peuvent être ajoutés simultanément en les séparant par des virgules : « <i>lecture courte, à lire</i> »<br />Des règles complexes peuvent être créées en utilisant des opérateurs prédéfinis: si « <i>readingTime >= 5 AND domainName = \"github.com\"</i> » alors attribuer les tags « <i>lecteur longue, github </i> »"
|
||||||
list:
|
Which variables and operators can I use to write rules?: "Quelles variables et opérateurs puis-je utiliser pour écrire des règles ?"
|
||||||
number_on_the_page: "{0} Il n'y a pas d'articles.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles."
|
The following variables and operators can be used to create tagging rules:: "Les variables et opérateurs suivants peuvent être utilisés pour écrire des règles de tag automatiques :"
|
||||||
reading_time: 'durée de lecture'
|
Variable: "Variable"
|
||||||
reading_time_minutes: 'durée de lecture: %readingTime% min'
|
Meaning: "Signification"
|
||||||
reading_time_less_one_minute: 'durée de lecture: <small class="inferieur"><</small> 1 min'
|
Operator: "Opérateur"
|
||||||
original_article: 'original'
|
Title of the entry: "Titre de l'article"
|
||||||
toogle_as_read: 'Marquer comme lu/non lu'
|
Less than…: "Moins que…"
|
||||||
toogle_as_star: 'Marquer comme favori'
|
URL of the entry: "URL de l'article"
|
||||||
delete: 'Supprimer'
|
Strictly less than…: "Strictement moins que…"
|
||||||
export_title: 'Exporter'
|
Whether the entry is archived or not: "Si l'article est archivé ou non"
|
||||||
filters:
|
Greater than…: "Plus que…"
|
||||||
title: 'Filtres'
|
Whether the entry is starred or not: "Si l'article est favori ou non"
|
||||||
status_label: 'Status'
|
Strictly greater than…: "Strictement plus que…"
|
||||||
archived_label: 'Lus'
|
The entry's content: "Le contenu de l'article"
|
||||||
starred_label: 'Favoris'
|
Equal to…: "Égal à…"
|
||||||
preview_picture_label: 'A une photo'
|
The entry's language: "La langue de l'article"
|
||||||
preview_picture_help: 'Photo'
|
Not equal to…: "Différent de…"
|
||||||
language_label: 'Langue'
|
The entry's mime-type: "Le Type MIME de l'article"
|
||||||
reading_time:
|
One rule or another: "Une règle ou l'autre"
|
||||||
label: 'Durée de lecture en minutes'
|
The estimated entry's reading time, in minutes: "Le temps de lecture estimé de l'article, en minutes"
|
||||||
from: 'de'
|
One rule and another: "Une règle et l'autre"
|
||||||
to: 'à'
|
The domain name of the entry: "Le nom de domaine de l'article"
|
||||||
domain_label: 'Nom de domaine'
|
"Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches \"football\"</code>": "Teste si un <i>sujet</i> correspond à une <i>recherche</i> (non sensible à la casse).<br />Exemple : <code>title matches \"football\"</code>"
|
||||||
created_at:
|
Rule: "Règle"
|
||||||
label: 'Date de création'
|
FAQ: "FAQ"
|
||||||
from: 'de'
|
|
||||||
to: 'à'
|
|
||||||
action:
|
|
||||||
clear: 'Effacer'
|
|
||||||
filter: 'Filtrer'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
back_to_top: 'Revenir en haut'
|
|
||||||
back_to_homepage: 'Retour'
|
|
||||||
set_as_read: 'Marquer comme lu'
|
|
||||||
set_as_unread: 'Marquer comme non lu'
|
|
||||||
set_as_favorite: 'Mettre en favori'
|
|
||||||
view_original_article: 'Article original'
|
|
||||||
re_fetch_content: 'Recharger le contenu'
|
|
||||||
delete: 'Supprimer'
|
|
||||||
add_a_tag: 'Ajouter un tag'
|
|
||||||
share_content: 'Partager'
|
|
||||||
share_email_label: 'Email'
|
|
||||||
download: 'Télécharger'
|
|
||||||
print: 'Imprimer'
|
|
||||||
problem:
|
|
||||||
label: 'Un problème ?'
|
|
||||||
description: "Est-ce que cet article s'affiche mal ?"
|
|
||||||
edit_title: 'Modifier le titre'
|
|
||||||
original_article: 'original'
|
|
||||||
annotations_on_the_entry: '{0} Aucune annotation|{1} Une annotation|]1,Inf[ %nbAnnotations% annotations'
|
|
||||||
new:
|
|
||||||
page_title: 'Sauvegarder un nouvel article'
|
|
||||||
placeholder: 'http://website.com'
|
|
||||||
form_new:
|
|
||||||
url_label: Url
|
|
||||||
edit:
|
|
||||||
page_title: 'Éditer un article'
|
|
||||||
title_label: 'Titre'
|
|
||||||
url_label: 'Url'
|
|
||||||
is_public_label: 'Public'
|
|
||||||
save_label: 'Enregistrer'
|
|
||||||
|
|
||||||
about:
|
# Entries
|
||||||
page_title: 'À propos'
|
"estimated reading time: %readingTime% min": "durée de lecture : %readingTime% min"
|
||||||
top_menu:
|
"estimated reading time: %inferior% 1 min": "durée de lecture : %inferior% 1 min"
|
||||||
who_behind_wallabag: "L'équipe derrière wallabag"
|
original: "original"
|
||||||
getting_help: "Besoin d'aide"
|
Toggle mark as read: 'Marquer comme lu/non lu'
|
||||||
helping: 'Aider wallabag'
|
Toggle favorite: 'Marquer comme favori'
|
||||||
contributors: 'Contributeurs'
|
Delete: 'Supprimer'
|
||||||
third_party: 'Librairies tierces'
|
"{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.": "{0} Il n'y a pas d'articles.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles."
|
||||||
who_behind_wallabag:
|
http://website: "http://siteweb"
|
||||||
developped_by: 'Développé par'
|
"{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations": "{0} Aucune annotation|{1} Une annotation|]1,Inf[ %nbAnnotations% annotations"
|
||||||
website: 'Site web'
|
|
||||||
many_contributors: 'Et plein de contributeurs ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">sur Github</a>'
|
|
||||||
project_website: 'Site web du projet'
|
|
||||||
license: 'Licence'
|
|
||||||
version: 'Version'
|
|
||||||
getting_help:
|
|
||||||
documentation: 'Documentation'
|
|
||||||
bug_reports: 'Rapport de bugs'
|
|
||||||
support: '<a href="https://support.wallabag.org">Sur notre site de support</a> ou <a href="https://github.com/wallabag/wallabag/issues">sur GitHub</a>'
|
|
||||||
helping:
|
|
||||||
description: 'wallabag est gratuit et opensource. Vous pouvez nous aider :'
|
|
||||||
by_contributing: 'en contribuant au projet :'
|
|
||||||
by_contributing_2: 'un ticket recense tous nos besoins'
|
|
||||||
by_paypal: 'via Paypal'
|
|
||||||
contributors:
|
|
||||||
description: "Merci aux contributeurs de l'application web de wallabag"
|
|
||||||
third_party:
|
|
||||||
description: 'Voici la liste des dépendances utilisées dans wallabag (et leur license) :'
|
|
||||||
package: 'Dépendance'
|
|
||||||
license: 'Licence'
|
|
||||||
|
|
||||||
howto:
|
# Edit entry
|
||||||
page_title: 'Aide'
|
Edit an entry: "Éditer un article"
|
||||||
page_description: "Il y a plusieurs façon d'enregistrer un article :"
|
Title: "Titre"
|
||||||
top_menu:
|
Is public: "Public"
|
||||||
browser_addons: 'Extensions de navigateur'
|
|
||||||
mobile_apps: 'Applications smartphone'
|
|
||||||
bookmarklet: 'Bookmarklet'
|
|
||||||
form:
|
|
||||||
description: 'Grâce à ce formulaire'
|
|
||||||
browser_addons:
|
|
||||||
firefox: 'Extension Firefox'
|
|
||||||
chrome: 'Extension Chrome'
|
|
||||||
mobile_apps:
|
|
||||||
android:
|
|
||||||
via_f_droid: 'via F-Droid'
|
|
||||||
via_google_play: 'via Google Play'
|
|
||||||
ios: 'sur iTunes Store'
|
|
||||||
windows: 'sur Microsoft Store'
|
|
||||||
bookmarklet:
|
|
||||||
description: 'Glissez et déposez ce lien dans votre barre de favoris :'
|
|
||||||
|
|
||||||
quickstart:
|
# tag
|
||||||
page_title: 'Pour bien débuter'
|
Tags: Tags
|
||||||
intro:
|
"{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.": "{0} Il n'y a pas de tag.|{1} Il y a un tag.|]1,Inf[ Il y a %count% tags."
|
||||||
title: 'Bienvenue sur wallabag !'
|
|
||||||
paragraph_1: "Nous allons vous accompagner pour vous faire faire le tour de la maison et vous présenter quelques fonctionnalités qui pourraient vous intéresser pour vous approprier cet outil."
|
|
||||||
paragraph_2: 'Suivez-nous !'
|
|
||||||
configure:
|
|
||||||
title: "Configurez l'application"
|
|
||||||
language: "Changez la langue et le design de l'application"
|
|
||||||
rss: 'Activez les flux RSS'
|
|
||||||
tagging_rules: 'Écrivez des règles pour classer automatiquement vos articles'
|
|
||||||
admin:
|
|
||||||
title: 'Administration'
|
|
||||||
description: "En tant qu'adminitrasteur sur wallabag, vous avez des privilèges qui vous permette de :"
|
|
||||||
new_user: 'Créer un nouvel utilisateur'
|
|
||||||
analytics: 'Configurer les statistiques'
|
|
||||||
sharing: 'Activer des paramètres de partages'
|
|
||||||
export: 'Configurer les export'
|
|
||||||
import: 'Configurer les import'
|
|
||||||
first_steps:
|
|
||||||
title: 'Premiers pas'
|
|
||||||
new_article: 'Ajoutez votre premier article'
|
|
||||||
unread_articles: 'Et rangez-le !'
|
|
||||||
migrate:
|
|
||||||
title: 'Migrer depuis un service existant'
|
|
||||||
description: "Vous êtes un ancien utilisateur d'un service existant ? Nous allons vous aider à récupérer vos données sur wallabag."
|
|
||||||
pocket: 'Migrer depuis Pocket'
|
|
||||||
wallabag_v1: 'Migrer depuis wallabag v1'
|
|
||||||
wallabag_v2: 'Migrer depuis wallabag v2'
|
|
||||||
developer:
|
|
||||||
title: 'Pour les développeurs'
|
|
||||||
create_application: 'Créer votre application tierce'
|
|
||||||
docs:
|
|
||||||
title: 'Documentation complète'
|
|
||||||
annotate: 'Annotater votre article'
|
|
||||||
export: 'Convertissez vos articles en ePub ou en PDF'
|
|
||||||
search_filters: "Apprenez à utiliser le moteur de recherche et les filtres pour retrouver l'article qui vous intéresse"
|
|
||||||
fetching_errors: "Que faire si mon article n'est pas correctement récupéré ?"
|
|
||||||
all_docs: "Et encore plein d'autres choses !"
|
|
||||||
support:
|
|
||||||
title: 'Support'
|
|
||||||
description: 'Parce que vous avez peut-être besoin de nous poser une question, nous sommes disponibles pour vous.'
|
|
||||||
github: 'Sur GitHub'
|
|
||||||
email: 'Par e-mail'
|
|
||||||
gitter: 'Sur Gitter'
|
|
||||||
|
|
||||||
tag:
|
# Filters
|
||||||
page_title: 'Tags'
|
Filters: 'Filtres'
|
||||||
list:
|
Status: 'Statut'
|
||||||
number_on_the_page: "{0} Il n'y a pas de tag.|{1} Il y a un tag.|]1,Inf[ Il y a %count% tags."
|
Archived: 'Lu'
|
||||||
|
Starred: 'Favori'
|
||||||
|
Preview picture: 'Photo'
|
||||||
|
Has a preview picture: 'A une photo'
|
||||||
|
Reading time in minutes: 'Durée de lecture en minutes'
|
||||||
|
from: 'de'
|
||||||
|
to: 'à'
|
||||||
|
website.com: 'website.com'
|
||||||
|
Domain name: 'Nom de domaine'
|
||||||
|
Creation date: 'Date de création'
|
||||||
|
dd/mm/yyyy: 'jj/mm/aaaa'
|
||||||
|
Clear: 'Effacer'
|
||||||
|
Filter: 'Filtrer'
|
||||||
|
website.com: "siteweb.com"
|
||||||
|
|
||||||
import:
|
# About
|
||||||
page_title: 'Importer'
|
About: "À propos"
|
||||||
page_description: "Bienvenue dans l'outil de migration de wallabag. Choisissez ci-dessous le service depuis lequel vous souhaitez migrer."
|
Who is behind wallabag: "L'équipe derrière wallabag"
|
||||||
action:
|
Getting help: "Besoin d'aide"
|
||||||
import_contents: 'Importer les contenus'
|
Helping wallabag: "Aider wallabag"
|
||||||
form:
|
Developed by: "Développé par"
|
||||||
mark_as_read_title: 'Marquer tout comme lu ?'
|
website: "Site web"
|
||||||
mark_as_read_label: 'Marquer tous les contenus importés comme lus'
|
And many others contributors ♥: "Et plein de contributeurs ♥"
|
||||||
file_label: 'Fichier'
|
on GitHub: "sur GitHub"
|
||||||
save_label: 'Importer le fichier'
|
Project website: "Site web du projet"
|
||||||
pocket:
|
License: "Licence"
|
||||||
page_title: 'Importer > Pocket'
|
Version: "Version"
|
||||||
description: "Cet outil va importer toutes vos données de Pocket. Pocket ne nous autorise pas à récupérer le contenu depuis leur service, donc wallabag doit reparcourir chaque article pour récupérer son contenu."
|
Documentation: "Documentation"
|
||||||
config_missing:
|
Bug reports: "Rapport de bugs"
|
||||||
description: "L'import à partir de Pocket n'est pas configuré."
|
On our support website: "Sur notre site de support"
|
||||||
admin_message: "Vous devez définir %keyurls%une clé pour l'API Pocket%keyurle%."
|
or: "ou"
|
||||||
user_message: "L'administrateur de votre serveur doit définir une clé pour l'API Pocket."
|
"wallabag is free and opensource. You can help us:": "wallabag est gratuit et opensource. Vous pouvez nous aider :"
|
||||||
authorize_message: "Vous pouvez importer vos données depuis votre compte Pocket. Vous n'avez qu'à cliquer sur le bouton ci-dessous et à autoriser wallabag à se connecter à getpocket.com."
|
"by contributing to the project:": "en contribuant au projet :"
|
||||||
connect_to_pocket: 'Se connecter à Pocket et importer les données'
|
an issue lists all our needs: "un ticket recense tous nos besoins"
|
||||||
wallabag_v1:
|
via Paypal: "via Paypal"
|
||||||
page_title: 'Importer > Wallabag v1'
|
Take wallabag with you: "Emportez wallabag avec vous"
|
||||||
description: 'Cet outil va importer toutes vos données de wallabag v1. Sur votre page de configuration de wallabag v1, cliquez sur "Export JSON" dans la section "Exporter vos données de wallabag". Vous allez récupérer un fichier "wallabag-export-1-xxxx-xx-xx.json".'
|
Social: "Social"
|
||||||
how_to: "Choisissez le fichier de votre export wallabag v1 et cliquez sur le bouton ci-dessous pour l'importer."
|
powered by: "propulsé par"
|
||||||
wallabag_v2:
|
Contributors: "Contributeurs"
|
||||||
page_title: 'Importer > Wallabag v2'
|
Thank you to contributors on wallabag web application: "Merci aux contributeurs de l'application web de wallabag"
|
||||||
description: "Cet outil va importer tous vos articles d'une autre instance de wallabag v2. Allez dans tous vos articles, puis, sur la barre latérale, cliquez sur \"JSON\". Vous allez récupérer un fichier \"All articles.json\""
|
Third-party libraries: Librairies tierces
|
||||||
|
"Here are the list of third-party libraries used in wallabag (with their licenses):": "Voici la liste des dépendances utilisées dans wallabag (et leur license) :"
|
||||||
|
Package: Dépendance
|
||||||
|
License: Licence
|
||||||
|
|
||||||
developer:
|
# Howto
|
||||||
page_title: 'Développeur'
|
Form: "Formulaire"
|
||||||
welcome_message: "Bienvenue sur l'API de wallabag"
|
Thanks to this form: "Grâce à ce formulaire"
|
||||||
documentation: 'Documentation'
|
Browser addons: "Extensions de navigateur"
|
||||||
how_to_first_app: 'Comment créer votre première application'
|
Mobile apps: "Applications smartphone"
|
||||||
full_documentation: "Voir la documentation complète de l'API"
|
Bookmarklet: "Bookmarklet"
|
||||||
clients:
|
Standard Firefox Add-On: "Extension Firefox"
|
||||||
title: 'Clients'
|
Chrome Extension: "Extension Chrome"
|
||||||
create_new: 'Créer une nouveau client'
|
download the application: "téléchargez l'application"
|
||||||
existing_clients:
|
"Drag & drop this link to your bookmarks bar:": "Glissez et déposez ce lien dans votre barre de favoris :"
|
||||||
title: 'Les clients existants'
|
|
||||||
field_id: 'ID Client'
|
|
||||||
field_secret: 'Clé secrète'
|
|
||||||
field_uris: 'URLs de redirection'
|
|
||||||
field_grant_types: 'Type de privilège accordé'
|
|
||||||
no_client: 'Aucun client pour le moment'
|
|
||||||
remove:
|
|
||||||
warn_message_1: 'Vous avez la possibilité de supprimer un client. Cette action est IRREVERSIBLE !'
|
|
||||||
warn_message_2: "Si vous supprimez un client, toutes les applications qui l'utilisaient ne fonctionneront plus avec votre compte wallabag."
|
|
||||||
action: 'Supprimer ce client'
|
|
||||||
client:
|
|
||||||
page_title: 'Développeur > Nouveau client'
|
|
||||||
page_description: "Vous allez créer un nouveau client. Merci de remplir l'url de redirection vers votre application."
|
|
||||||
form:
|
|
||||||
redirect_uris_label: 'URLs de redirection'
|
|
||||||
save_label: 'Créer un nouveau client'
|
|
||||||
action_back: 'Retour'
|
|
||||||
client_parameter:
|
|
||||||
page_title: 'Développeur > Les paramètres de votre client'
|
|
||||||
page_description: 'Voilà les paramètres de votre client'
|
|
||||||
field_id: 'ID Client'
|
|
||||||
field_secret: 'Clé secrète'
|
|
||||||
back: 'Retour'
|
|
||||||
read_howto: 'Lire "comment créer ma première application"'
|
|
||||||
howto:
|
|
||||||
page_title: 'Développeur > Comment créer votre première application'
|
|
||||||
description:
|
|
||||||
paragraph_1: "Les commandes suivantes utilisent la <a href=\"https://github.com/jkbrzt/httpie\">librarie HTTPie</a>. Assurez-vous qu'elle soit installée avant de l'utiliser."
|
|
||||||
paragraph_2: "Vous avez besoin d'un token pour échanger entre votre application et l'API de wallabag."
|
|
||||||
paragraph_3: 'Pour créer un token, vous devez <a href="%link%">créer un nouveau client</a>.'
|
|
||||||
paragraph_4: 'Maintenant créez votre token (remplacer client_id, client_secret, username et password avec les bonnes valeurs):'
|
|
||||||
paragraph_5: "L'API vous retournera une réponse comme ça :"
|
|
||||||
paragraph_6: "L'access_token doit être utilisé pour faire un appel à l'API. Par exemple :"
|
|
||||||
paragraph_7: "Cet appel va retourner tous les articles de l'utilisateur."
|
|
||||||
paragraph_8: "Si vous voulez toutes les méthodes de l'API, jetez un oeil <a href=\"%link%\">à la documentation de l'API</a>."
|
|
||||||
back: 'Retour'
|
|
||||||
|
|
||||||
validator:
|
# Flash messages
|
||||||
password_must_match: 'Les deux mots de passe doivent être les mêmes'
|
Information updated: "Vos informations personnelles ont bien été mises à jour"
|
||||||
password_too_short: 'Le mot de passe doit contenir au moins 8 caractères'
|
"Config saved. Some parameters will be considered after disconnection.": "Les paramètres ont bien été mis à jour. Certains seront pris en compte après déconnexion."
|
||||||
password_wrong_value: 'Votre mot de passe actuel est faux'
|
RSS information updated: "La configuration des flux RSS a bien été mise à jour"
|
||||||
item_per_page_too_high: "Ca ne va pas plaire à l'application"
|
Password updated: "Votre mot de passe a bien été mis à jour"
|
||||||
rss_limit_too_hight: "Ca ne va pas plaire à l'application"
|
Entry starred: "Article ajouté dans les favoris"
|
||||||
|
Entry unstarred: "Article retiré des favoris"
|
||||||
|
Entry archived: "Article marqué comme lu"
|
||||||
|
Entry unarchived: "Article marqué comme non lu"
|
||||||
|
Entry deleted: "Article supprimé"
|
||||||
|
Tagging rule deleted: "Règle supprimée"
|
||||||
|
Tagging rules updated: "Règles mises à jour"
|
||||||
|
User "%username%" added: 'Utilisateur "%username%" ajouté'
|
||||||
|
In demonstration mode, you can't change password for this user.: 'En démo, vous ne pouvez pas changer le mot de passe de cet utilisateur.'
|
||||||
|
|
||||||
flashes:
|
# Entry
|
||||||
config:
|
Mark as read: 'Marquer comme lu'
|
||||||
notice:
|
Favorite: 'Mettre en favori'
|
||||||
config_saved: 'Les paramètres ont bien été mis à jour. Certains seront pris en compte après déconnexion.'
|
back: 'Retour'
|
||||||
password_updated: 'Votre mot de passe a bien été mis à jour'
|
original article: 'Article original'
|
||||||
password_not_updated_demo: "En démo, vous ne pouvez pas changer le mot de passe de cet utilisateur."
|
Add a tag: 'Ajouter un tag'
|
||||||
user_updated: 'Vos informations personnelles ont bien été mises à jour'
|
Share: 'Partager'
|
||||||
rss_updated: 'La configuration des flux RSS a bien été mise à jour'
|
Download: 'Télécharger'
|
||||||
tagging_rules_updated: 'Règles mises à jour'
|
Does this article appear wrong?: "Est-ce que cet article s'affiche mal ?"
|
||||||
tagging_rules_deleted: 'Règle supprimée'
|
Problems?: 'Un problème ?'
|
||||||
user_added: 'Utilisateur "%username%" ajouté'
|
Edit title: "Modifier le titre"
|
||||||
rss_token_updated: 'Jeton RSS mis à jour'
|
Re-fetch content: "Recharger le contenu"
|
||||||
entry:
|
Tag added: "Tag ajouté"
|
||||||
notice:
|
|
||||||
entry_already_saved: 'Article déjà sauvergardé le %date%'
|
# Import
|
||||||
entry_saved: 'Article enregistré'
|
Welcome to wallabag importer. Please select your previous service that you want to migrate.: "Bienvenue dans l'outil de migration de wallabag. Choisissez ci-dessous le service depuis lequel vous souhaitez migrer."
|
||||||
entry_updated: 'Article mis à jour'
|
"This importer will import all your Pocket data. Pocket doesn't allow us to retrieve content from their service, so the readable content of each article will be re-fetched by wallabag.": "Cet outil va importer toutes vos données de Pocket. Pocket ne nous autorise pas à récupérer le contenu depuis leur service, donc wallabag doit reparcourir chaque article pour récupérer son contenu."
|
||||||
entry_reloaded: 'Article rechargé'
|
"This importer will import all your wallabag v1 articles. On your config page, click on \"JSON export\" in the \"Export your wallabag data\" section. You will have a \"wallabag-export-1-xxxx-xx-xx.json\" file.": "Cet outil va importer toutes vos données de wallabag v1. Sur votre page de configuration de wallabag v1, cliquez sur \"Export JSON\" dans la section \"Exporter vos données de wallabag\". Vous allez récupérer un fichier \"wallabag-export-1-xxxx-xx-xx.json\"."
|
||||||
entry_reload_failed: "Le rechargement de l'article a échoué"
|
"This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on \"JSON\". You will have a \"All articles.json\" file.": "Cet outil va importer tous vos articles d'une autre instance de wallabag v2. Allez dans tous vos articles, puis, sur la barre latérale, cliquez sur \"JSON\". Vous allez récupérer un fichier \"All articles.json\""
|
||||||
entry_archived: 'Article marqué comme lu'
|
"You can import your data from your Pocket account. You just have to click on the below button and authorize the application to connect to getpocket.com.": "Vous pouvez importer vos données depuis votre compte Pocket. Vous n'avez qu'à cliquer sur le bouton ci-dessous et à autoriser wallabag à se connecter à getpocket.com."
|
||||||
entry_unarchived: 'Article marqué comme non lu'
|
Import > Pocket: "Import > Pocket"
|
||||||
entry_starred: 'Article ajouté dans les favoris'
|
Pocket import isn't configured.: "L'import à partir de Pocket n'est pas configuré."
|
||||||
entry_unstarred: 'Article retiré des favoris'
|
You need to define %keyurls% a pocket_consumer_key %keyurle%.: "Vous devez définir %keyurls% une clé pour l'API Pocket %keyurle%."
|
||||||
entry_deleted: 'Article supprimé'
|
Your server admin needs to define an API Key for Pocket.: L'administrateur de votre serveur doit définir une clé pour l'API Pocket."
|
||||||
tag:
|
Connect to Pocket and import data: "Se connecter à Pocket et importer les données"
|
||||||
notice:
|
Please select your wallabag export and click on the below button to upload and import it.: "Choisissez le fichier de votre export wallabag v1 et cliquez sur le bouton ci-dessous pour l'importer."
|
||||||
tag_added: 'Tag ajouté'
|
File: "Fichier"
|
||||||
import:
|
Upload file: "Importer le fichier"
|
||||||
notice:
|
Import contents: "Importer les contenus"
|
||||||
failed: "L'import a échoué, veuillez ré-essayer"
|
Import: "Importer"
|
||||||
failed_on_file: "Erreur lors du traitement de l'import. Vérifier votre fichier."
|
Import > Wallabag v1: "Importer > Wallabag v1"
|
||||||
summary: "Rapport d'import: %imported% importés, %skipped% déjà présent."
|
Import > Wallabag v2: "Importer > Wallabag v2"
|
||||||
developer:
|
|
||||||
notice:
|
# Quickstart
|
||||||
client_created: 'Nouveau client créé'
|
Quickstart: Pour bien débuter
|
||||||
client_deleted: 'Client supprimé'
|
Welcome to wallabag!: "Bienvenue sur wallabag !"
|
||||||
|
We'll accompany you to visit wallabag and show you some features which can interess you.: "Nous allons vous accompagner pour vous faire faire le tour de la maison et vous présenter quelques fonctionnalités qui pourraient vous intéresser pour vous approprier cet outil."
|
||||||
|
Follow us!: "Suivez-nous !"
|
||||||
|
Configure the application: "Configurez l'application"
|
||||||
|
Change language and design: "Changez la langue et le design de l'application"
|
||||||
|
Enable RSS feeds: "Activez les flux RSS"
|
||||||
|
First steps: "Premiers pas"
|
||||||
|
Save your first article: "Ajoutez votre premier article"
|
||||||
|
And classify it!: "Et rangez-le !"
|
||||||
|
Migrate from an existing service: "Migrer depuis un service existant"
|
||||||
|
You're using an other service? We'll help you to retrieve your data on wallabag.: "Vous êtes un ancien utilisateur d'un service existant ? Nous allons vous aider à récupérer vos données sur wallabag."
|
||||||
|
Migrate from Pocket: "Migrer depuis Pocket"
|
||||||
|
Migrate from wallabag v1: "Migrer depuis wallabag v1"
|
||||||
|
Full documentation: "Documentation complète"
|
||||||
|
Convert your articles into ePUB or PDF: "Convertissez vos articles en ePub ou en PDF"
|
||||||
|
See how you can look for an article by using search engine and filters: "Apprenez à utiliser le moteur de recherche et les filtres pour retrouver l'article qui vous intéresse"
|
||||||
|
And so many other articles!: "Et encore plein d'autres choses !"
|
||||||
|
Support: "Support"
|
||||||
|
If you need some help, we are here for you.: "Parce que vous avez peut-être besoin de nous poser une question, nous sommes disponibles pour vous."
|
||||||
|
On GitHub: "Sur GitHub"
|
||||||
|
By email: "Par email"
|
||||||
|
On Gitter: "Sur Gitter"
|
||||||
|
|||||||
@ -1,424 +0,0 @@
|
|||||||
security:
|
|
||||||
login:
|
|
||||||
page_title: 'Benvenguda sus wallabag !'
|
|
||||||
keep_logged_in: 'Demorar connectat'
|
|
||||||
forgot_password: 'Senhal doblidat ?'
|
|
||||||
submit: 'Se connectar'
|
|
||||||
register: 'Crear un compte'
|
|
||||||
username: "Nom d'utilizaire"
|
|
||||||
password: 'Senhal'
|
|
||||||
cancel: 'Anullar'
|
|
||||||
resetting:
|
|
||||||
description: "Picatz vòstra adreça de corrièl çai-jos, vos mandarem las instruccions per reïnicializar vòstre senhal."
|
|
||||||
register:
|
|
||||||
page_title: 'Se crear un compte'
|
|
||||||
go_to_account: 'Anar sus vòstre compte'
|
|
||||||
|
|
||||||
menu:
|
|
||||||
left:
|
|
||||||
unread: 'Pas legits'
|
|
||||||
starred: 'Favorits'
|
|
||||||
archive: 'Legits'
|
|
||||||
all_articles: 'Tots los articles'
|
|
||||||
config: 'Configuracion'
|
|
||||||
tags: 'Etiquetas'
|
|
||||||
internal_settings: 'Configuracion interna'
|
|
||||||
import: 'Importar'
|
|
||||||
howto: 'Ajuda'
|
|
||||||
developer: 'Desvolopador'
|
|
||||||
logout: 'Déconnexion'
|
|
||||||
about: 'A prepaus'
|
|
||||||
search: 'Cercar'
|
|
||||||
save_link: 'Enregistrar un novèl article'
|
|
||||||
back_to_unread: 'Tornar als articles pas legits'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'Enregistrar un novèl article'
|
|
||||||
search: 'Cercar'
|
|
||||||
filter_entries: 'Filtrar los articles'
|
|
||||||
export: 'Exportar'
|
|
||||||
search_form:
|
|
||||||
input_label: 'Picatz vòstre mot-clau a cercar aquí'
|
|
||||||
|
|
||||||
footer:
|
|
||||||
wallabag:
|
|
||||||
elsewhere: 'Emportatz wallabag amb vosaultres'
|
|
||||||
social: 'Social'
|
|
||||||
powered_by: 'propulsat per'
|
|
||||||
about: 'A prepaus'
|
|
||||||
page_title: 'Configuracion'
|
|
||||||
|
|
||||||
config:
|
|
||||||
tab_menu:
|
|
||||||
settings: 'Paramètres'
|
|
||||||
rss: 'RSS'
|
|
||||||
user_info: 'Mon compte'
|
|
||||||
password: 'Senhal'
|
|
||||||
rules: "Règlas d'etiquetas automaticas"
|
|
||||||
new_user: 'Crear un compte'
|
|
||||||
form:
|
|
||||||
save: 'Enregistrar'
|
|
||||||
form_settings:
|
|
||||||
theme_label: 'Tèma'
|
|
||||||
items_per_page_label: "Nombre d'articles per pagina"
|
|
||||||
language_label: 'Lenga'
|
|
||||||
reading_speed:
|
|
||||||
label: 'Velocitat de lectura'
|
|
||||||
help_message: 'Podètz utilizar una aisina en linha per estimar vòstra velocitat de lectura :'
|
|
||||||
100_word: "Legissi a l'entorn de 100 mots per minuta"
|
|
||||||
200_word: "Legissi a l'entorn de 200 mots per minuta"
|
|
||||||
300_word: "Legissi a l'entorn de 300 mots per minuta"
|
|
||||||
400_word: "Legissi a l'entorn de 400 mots per minuta"
|
|
||||||
form_rss:
|
|
||||||
description: "Los fluxes RSS fornits per wallabag vos permeton de legir vòstres articles salvagardats dins vòstre lector de fluxes preferit. Per los poder emplegar, vos cal, d'en primièr crear un geton."
|
|
||||||
token_label: 'Geton RSS'
|
|
||||||
no_token: 'Aucun jeton généré'
|
|
||||||
token_create: 'Pas cap de geton generat'
|
|
||||||
token_reset: 'Reïnicializatz vòstre geton'
|
|
||||||
rss_links: 'URL de vòstres fluxes RSS'
|
|
||||||
rss_link:
|
|
||||||
unread: 'pas legits'
|
|
||||||
starred: 'favorits'
|
|
||||||
archive: 'legits'
|
|
||||||
rss_limit: "Nombre d'articles dins un flux RSS"
|
|
||||||
form_user:
|
|
||||||
two_factor_description: "Activar l'autentificacion doble-factor vòl dire que recebretz un còdi per corrièl per cada novèla connexion pas aprovada."
|
|
||||||
name_label: 'Nom'
|
|
||||||
email_label: 'Adreça de corrièl'
|
|
||||||
twoFactorAuthentication_label: 'Dobla autentificacion'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'Senhal actual'
|
|
||||||
new_password_label: 'Senhal novèl'
|
|
||||||
repeat_new_password_label: 'Confirmatz vòstre novèl senhal'
|
|
||||||
form_rules:
|
|
||||||
if_label: 'se'
|
|
||||||
then_tag_as_label: 'alara atribuir las etiquetas'
|
|
||||||
delete_rule_label: 'suprimir'
|
|
||||||
rule_label: 'Règla'
|
|
||||||
tags_label: 'Etiquetas'
|
|
||||||
faq:
|
|
||||||
title: 'FAQ'
|
|
||||||
tagging_rules_definition_title: "Qué significa las règlas d'etiquetas automaticas ?"
|
|
||||||
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."
|
|
||||||
how_to_use_them_title: 'Cossí las utilizar ?'
|
|
||||||
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> »"
|
|
||||||
variables_available_title: 'Quinas variablas e operators pòdi utilizar per escriure de règlas ?'
|
|
||||||
variables_available_description: "Las variablas e operators seguents pòdon èsser utilizats per escriure de règlas d'etiquetas automaticas :"
|
|
||||||
meaning: 'Significacion'
|
|
||||||
variable_description:
|
|
||||||
label: 'Variabla'
|
|
||||||
title: "Títol de l'article"
|
|
||||||
url: "URL de l'article"
|
|
||||||
isArchived: "Se l'article es archivat o pas"
|
|
||||||
isStarred: "Se l'article es favorit o pas"
|
|
||||||
content: "Lo contengut de l'article"
|
|
||||||
language: "La lenga de l'article"
|
|
||||||
mimetype: "Lo tipe MIME de l'article"
|
|
||||||
readingTime: "Lo temps de lectura estimat de l'article, en minutas"
|
|
||||||
domainName: "Lo nom de domeni de l'article"
|
|
||||||
operator_description:
|
|
||||||
label: 'Operator'
|
|
||||||
less_than: 'Mens que…...'
|
|
||||||
strictly_less_than: 'Estrictament mens que…'
|
|
||||||
greater_than: 'Mai que…'
|
|
||||||
strictly_greater_than: 'Estrictament mai que…'
|
|
||||||
equal_to: 'Egal a…'
|
|
||||||
not_equal_to: 'Diferent de…'
|
|
||||||
or: "Una règla O l'autra"
|
|
||||||
and: "Una règla E l'autra"
|
|
||||||
matches: 'Teste se un <i>subjècte</i> correspond a una <i>recerca</i> (non sensibla a la cassa).<br />Exemple : <code>title matches \"football\"</code>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: "Nom d'utilizaire"
|
|
||||||
password_label: 'Senhal'
|
|
||||||
repeat_new_password_label: 'Confirmatz vòstre novèl senhal'
|
|
||||||
plain_password_label: 'Senhal en clar'
|
|
||||||
email_label: 'Adreça de corrièl'
|
|
||||||
|
|
||||||
entry:
|
|
||||||
page_titles:
|
|
||||||
unread: 'Articles pas legits'
|
|
||||||
starred: 'Articles favorits'
|
|
||||||
archive: 'Articles legits'
|
|
||||||
filtered: 'Articles filtrats'
|
|
||||||
list:
|
|
||||||
number_on_the_page: "{0} I a pas cap d'article.|{1} I a un article.|]1,Inf[ I a %count% articles."
|
|
||||||
reading_time: 'durada de lectura'
|
|
||||||
reading_time_minutes: 'durada de lectura : %readingTime% min'
|
|
||||||
reading_time_less_one_minute: 'durada de lectura : <small class="inferieur"><</small> 1 min'
|
|
||||||
original_article: 'original'
|
|
||||||
toogle_as_read: 'Marcar coma legit/pas legit'
|
|
||||||
toogle_as_star: 'Marcar coma favorit'
|
|
||||||
delete: 'Suprimir'
|
|
||||||
export_title: 'Exportar'
|
|
||||||
filters:
|
|
||||||
title: 'Filtres'
|
|
||||||
status_label: 'Estatus'
|
|
||||||
archived_label: 'Legits'
|
|
||||||
starred_label: 'Favorits'
|
|
||||||
preview_picture_label: 'A una fotò'
|
|
||||||
preview_picture_help: 'Fotò'
|
|
||||||
language_label: 'Lenga'
|
|
||||||
reading_time:
|
|
||||||
label: 'Durada de lectura en minutas'
|
|
||||||
from: 'de'
|
|
||||||
to: 'per'
|
|
||||||
domain_label: 'Nom de domeni'
|
|
||||||
created_at:
|
|
||||||
label: 'Data de creacion'
|
|
||||||
from: 'de'
|
|
||||||
to: 'per'
|
|
||||||
action:
|
|
||||||
clear: 'Escafar'
|
|
||||||
filter: 'Filtrar'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
back_to_top: 'Tornar en naut'
|
|
||||||
back_to_homepage: 'Tornar'
|
|
||||||
set_as_read: 'Marcar coma legit'
|
|
||||||
set_as_unread: 'Marcar coma pas legit'
|
|
||||||
set_as_favorite: 'Metre en favori'
|
|
||||||
view_original_article: 'Article original'
|
|
||||||
re_fetch_content: 'Tornar cargar lo contengut'
|
|
||||||
delete: 'Suprimir'
|
|
||||||
add_a_tag: 'Ajustar una etiqueta'
|
|
||||||
share_content: 'Partatjar'
|
|
||||||
share_email_label: 'Corrièl'
|
|
||||||
download: 'Telecargar'
|
|
||||||
print: 'Imprimir'
|
|
||||||
problem:
|
|
||||||
label: 'Un problèma ?'
|
|
||||||
description: "Marca mal la presentacion d'aqueste article ?"
|
|
||||||
edit_title: 'Modificar lo títol'
|
|
||||||
original_article: 'original'
|
|
||||||
annotations_on_the_entry: "{0} Pas cap d'anotacion|{1} Una anotacion|]1,Inf[ %nbAnnotations% anotacions"
|
|
||||||
new:
|
|
||||||
page_title: 'Enregistrar un novèl article'
|
|
||||||
placeholder: 'http://website.com'
|
|
||||||
form_new:
|
|
||||||
url_label: Url
|
|
||||||
edit:
|
|
||||||
page_title: 'Modificar un article'
|
|
||||||
title_label: 'Títol'
|
|
||||||
url_label: 'Url'
|
|
||||||
is_public_label: 'Public'
|
|
||||||
save_label: 'Enregistrar'
|
|
||||||
|
|
||||||
about:
|
|
||||||
page_title: 'A prepaus'
|
|
||||||
top_menu:
|
|
||||||
who_behind_wallabag: "L'equipa darrèr wallabag"
|
|
||||||
getting_help: "Besonh d'ajuda"
|
|
||||||
helping: 'Ajudar wallabag'
|
|
||||||
contributors: 'Contributors'
|
|
||||||
third_party: 'Bibliotècas tèrças'
|
|
||||||
who_behind_wallabag:
|
|
||||||
developped_by: 'Desvolopat per'
|
|
||||||
website: 'Site web'
|
|
||||||
many_contributors: 'E un fum de contributors ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">sur Github</a>'
|
|
||||||
project_website: 'Site web del projète'
|
|
||||||
license: 'Licéncia'
|
|
||||||
version: 'Version'
|
|
||||||
getting_help:
|
|
||||||
documentation: 'Documentacion'
|
|
||||||
bug_reports: 'Rapòrt de bugs'
|
|
||||||
support: "<a href=\"https://support.wallabag.org\">Sus nòstre site d'assisténcia</a> ou <a href=\"https://github.com/wallabag/wallabag/issues\">sur GitHub</a>"
|
|
||||||
helping:
|
|
||||||
description: 'wallabag es a gratuit e opensource. Nos podètz ajudar :'
|
|
||||||
by_contributing: 'en ajudant lo projècte :'
|
|
||||||
by_contributing_2: 'un bilhet recensa totes nòstres besonhs'
|
|
||||||
by_paypal: 'via Paypal'
|
|
||||||
contributors:
|
|
||||||
description: "Mercés als contributors de l'aplicacion web de wallabag"
|
|
||||||
third_party:
|
|
||||||
description: 'Aquí la lista de las dependéncias utilizadas dins wallabag (e lor licéncia) :'
|
|
||||||
package: 'Dependéncia'
|
|
||||||
license: 'Licéncia'
|
|
||||||
|
|
||||||
howto:
|
|
||||||
page_title: 'Ajuda'
|
|
||||||
page_description: "I a mai d'un biai d'enregistrar un article :"
|
|
||||||
top_menu:
|
|
||||||
browser_addons: 'Extensions de navigator'
|
|
||||||
mobile_apps: 'Aplicacions mobil'
|
|
||||||
bookmarklet: 'Bookmarklet'
|
|
||||||
form:
|
|
||||||
description: 'Gràcias a aqueste formulari'
|
|
||||||
browser_addons:
|
|
||||||
firefox: 'Extension Firefox'
|
|
||||||
chrome: 'Extension Chrome'
|
|
||||||
mobile_apps:
|
|
||||||
android:
|
|
||||||
via_f_droid: 'via F-Droid'
|
|
||||||
via_google_play: 'via Google Play'
|
|
||||||
ios: 'sus iTunes Store'
|
|
||||||
windows: 'sus Microsoft Store'
|
|
||||||
bookmarklet:
|
|
||||||
description: 'Lisatz-depausatz aqueste ligam dins vòstra barra de favorits :'
|
|
||||||
|
|
||||||
quickstart:
|
|
||||||
page_title: 'Per ben començar'
|
|
||||||
intro:
|
|
||||||
title: 'Benvenguda sus wallabag !'
|
|
||||||
paragraph_1: "Anem vos guidar per far lo torn de la proprietat e vos presentar unas fonccionalitats que vos poirián interessar per vos apropriar aquesta aisina."
|
|
||||||
paragraph_2: 'Seguètz-nos '
|
|
||||||
configure:
|
|
||||||
title: "Configuratz l'aplicacio"
|
|
||||||
language: "Cambiatz la lenga e l'estil de l'aplicacion"
|
|
||||||
rss: 'Activatz los fluxes RSS'
|
|
||||||
tagging_rules: 'Escrivètz de règlas per classar automaticament vòstres articles'
|
|
||||||
admin:
|
|
||||||
title: 'Administracion'
|
|
||||||
description: "En qualitat d'adminitrastor sus wallabag, avètz de privilègis que vos permeton de :"
|
|
||||||
new_user: 'Crear un novèl utilizaire'
|
|
||||||
analytics: 'Configurar las estadisticas'
|
|
||||||
sharing: 'Activar de paramètres de partatge'
|
|
||||||
export: 'Configurar los expòrt'
|
|
||||||
import: 'Configurar los impòrt'
|
|
||||||
first_steps:
|
|
||||||
title: 'Primièrs passes'
|
|
||||||
new_article: 'Ajustatz vòstre primièr article'
|
|
||||||
unread_articles: 'E racaptatz-lo !'
|
|
||||||
migrate:
|
|
||||||
title: 'Migrar dempuèi un servici existent'
|
|
||||||
description: "Sètz un ancian utilizaire d'un servici existent ? Vos ajudarem a trapar vòstras donadas sus wallabag."
|
|
||||||
pocket: 'Migrar dempuèi Pocket'
|
|
||||||
wallabag_v1: 'Migrar dempuèi wallabag v1'
|
|
||||||
wallabag_v2: 'Migrar dempuèi wallabag v2'
|
|
||||||
developer:
|
|
||||||
title: 'Pels desvolopadors'
|
|
||||||
create_application: 'Crear vòstra aplicacion tèrça'
|
|
||||||
docs:
|
|
||||||
title: 'Documentacion complèta'
|
|
||||||
annotate: 'Anotatar vòstre article'
|
|
||||||
export: 'Convertissètz vòstres articles en ePub o en PDF'
|
|
||||||
search_filters: "Aprenètz a utilizar lo motor de recèrca e los filtres per retrobar l'article que vos interèssa"
|
|
||||||
fetching_errors: "Qué far se mon article es pas recuperat coma cal ?"
|
|
||||||
all_docs: "E encara plen de causas mai !"
|
|
||||||
support:
|
|
||||||
title: 'Assisténcia'
|
|
||||||
description: 'Perque avètz benlèu besonh de nos pausar una question, sèm disponibles per vosautres.'
|
|
||||||
github: 'Sus GitHub'
|
|
||||||
email: 'Per e-mail'
|
|
||||||
gitter: 'Sus Gitter'
|
|
||||||
|
|
||||||
tag:
|
|
||||||
page_title: 'Etiquetas'
|
|
||||||
list:
|
|
||||||
number_on_the_page: "{0} I a pas cap d'etiquetas.|{1} I a una etiqueta.|]1,Inf[ I a %count% etiquetas."
|
|
||||||
|
|
||||||
import:
|
|
||||||
page_title: 'Importar'
|
|
||||||
page_description: "Benvenguda sus l'aisina de migracion de wallabag. Causissètz çai-jos lo servici dempuèi lo qual volètz migrar."
|
|
||||||
action:
|
|
||||||
import_contents: 'Importar los contenguts'
|
|
||||||
form:
|
|
||||||
mark_as_read_title: 'Tot marcar coma legit ?'
|
|
||||||
mark_as_read_label: 'Marcar tot los contenguts importats coma legits'
|
|
||||||
file_label: 'Fichièr'
|
|
||||||
save_label: 'Importar lo fichièr'
|
|
||||||
pocket:
|
|
||||||
page_title: 'Importer > Pocket'
|
|
||||||
description: "Aquesta aisina importarà totas vòstras donadas de Pocket. Pocket nos permet pas de recuperar lo contengut dempuèi lor servidor, alara wallabag deu tornar fulhetar cada article per recuperar son contengut."
|
|
||||||
config_missing:
|
|
||||||
description: "L'importacion dempuèi Pocket es pas configurada."
|
|
||||||
admin_message: "Vos cal definir %keyurls% una clau per l'API Pocket %keyurle%."
|
|
||||||
user_message: "L'administrator de vòstre servidor deu definir una clau per l'API Pocket."
|
|
||||||
authorize_message: "Podètz importar vòstras donadas dempuèi vòstre compte Pocket. Vos cal pas que clicar sul boton çai-jos e autorizar wallabag a se connectar a getpocket.com."
|
|
||||||
connect_to_pocket: 'Se connectar a Pocket e importar las donadas'
|
|
||||||
wallabag_v1:
|
|
||||||
page_title: 'Importer > Wallabag v1'
|
|
||||||
description: 'Aquesta aisina importarà totas vòstras donadas de wallabag v1. Sus vòstre pagina de configuracion de wallabag v1, clicatz sus \"Export JSON\" dins la seccion \"Exportar vòstras donadas de wallabag\". Traparatz un fichièr \"wallabag-export-1-xxxx-xx-xx.json\".'
|
|
||||||
how_to: "Causissètz lo fichièr de vòstra exportacion wallabag v1 e clicatz sul boton çai-jos per l'importar."
|
|
||||||
wallabag_v2:
|
|
||||||
page_title: 'Importer > Wallabag v2'
|
|
||||||
description: "Aquesta aisina importarà totas vòstras donadas d'una instància mai de wallabag v2. Anatz dins totes vòstres articles, puèi, sus la barra laterala, clicatz sus \"JSON\". Traparatz un fichièr \"All articles.json\""
|
|
||||||
|
|
||||||
developer:
|
|
||||||
page_title: 'Desvolopador'
|
|
||||||
welcome_message: "Benvenguda sus l'API de wallabag"
|
|
||||||
documentation: 'Documentacion'
|
|
||||||
how_to_first_app: 'Cossí crear vòstra primièra aplicacion'
|
|
||||||
full_documentation: "Veire la documentacion completa de l'API"
|
|
||||||
clients:
|
|
||||||
title: 'Clients'
|
|
||||||
create_new: 'Crear un novèl client'
|
|
||||||
existing_clients:
|
|
||||||
title: 'Los clients existents'
|
|
||||||
field_id: 'ID Client'
|
|
||||||
field_secret: 'Clé secreta'
|
|
||||||
field_uris: 'URLs de redireccion'
|
|
||||||
field_grant_types: 'Tipe de privilègi acordat'
|
|
||||||
no_client: 'Pas cap de client pel moment'
|
|
||||||
remove:
|
|
||||||
warn_message_1: 'Avètz la possibilitat de supriimr un client. Aquesta accion es IRREVERSIBLA !'
|
|
||||||
warn_message_2: "Se suprimissètz un client, totas las aplicacions que l'emplegan foncionaràn pas mai amb vòstre compte wallabag."
|
|
||||||
action: 'Suprimir aqueste client'
|
|
||||||
client:
|
|
||||||
page_title: 'Desvlopador > Novèl client'
|
|
||||||
page_description: "Anatz crear un novèl client. Mercés de cumplir l'url de redireccion cap a vòstra aplicacion."
|
|
||||||
form:
|
|
||||||
redirect_uris_label: 'URLs de redireccion'
|
|
||||||
save_label: 'Crear un novèl client'
|
|
||||||
action_back: 'Retorn'
|
|
||||||
client_parameter:
|
|
||||||
page_title: 'Desvolopador > Los paramètres de vòstre client'
|
|
||||||
page_description: 'Vaquí los paramètres de vòstre client'
|
|
||||||
field_id: 'ID Client'
|
|
||||||
field_secret: 'Clau secreta'
|
|
||||||
back: 'Retour'
|
|
||||||
read_howto: 'Legir \"cossí crear ma primièra aplicacion\"'
|
|
||||||
howto:
|
|
||||||
page_title: 'Desvolopador > Cossí crear ma primièra aplicacion'
|
|
||||||
description:
|
|
||||||
paragraph_1: "Las comandas seguentas utilizan la <a href=\"https://github.com/jkbrzt/httpie\">libraria HTTPie</a>. Asseguratz-vos que siasqueòu installadas abans de l'utilizar."
|
|
||||||
paragraph_2: "Vos cal un geton per escambiar entre vòstra aplicacion e l'API de wallabar."
|
|
||||||
paragraph_3: 'Per crear un geton, vos cal crear <a href=\"%link%\">crear un novèl client</a>.'
|
|
||||||
paragraph_4: 'Ara creatz un geton (remplaçar client_id, client_secret, username e password amb las bonas valors) :'
|
|
||||||
paragraph_5: "L'API vos tornarà una responsa coma aquò :"
|
|
||||||
paragraph_6: "L'access_token deu èsser emplegat per far una requèsta a l'API. Per exemple :"
|
|
||||||
paragraph_7: "Aquesta requèsta tornarà totes los articles de l'utilizaire."
|
|
||||||
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>."
|
|
||||||
back: 'Retorn'
|
|
||||||
|
|
||||||
validator:
|
|
||||||
password_must_match: 'Cal que los dos senhals siasquen los meteisses'
|
|
||||||
password_too_short: 'Lo senhal deu aver almens 8 caractèrs'
|
|
||||||
password_wrong_value: 'Vòstre senhal actual es pas bon'
|
|
||||||
item_per_page_too_high: "Aquò li agradarà pas a l'aplicacion"
|
|
||||||
rss_limit_too_hight: "Aquò li agradarà pas a l'aplicacion"
|
|
||||||
|
|
||||||
flashes:
|
|
||||||
config:
|
|
||||||
notice:
|
|
||||||
config_saved: 'Los paramètres son ben estats meses a jorn. Certans seràn aplicats aprèp desconnexion.'
|
|
||||||
password_updated: 'Vòstre senhal es ben estat mes a jorn'
|
|
||||||
password_not_updated_demo: "En demostration, podètz pas cambiar lo senhal d'aqueste utilizaire."
|
|
||||||
user_updated: 'Vòstres informacions personnelas son ben estadas mesas a jorn'
|
|
||||||
rss_updated: 'La configuracion dels fluxes RSS es ben estada mesa a jorn'
|
|
||||||
tagging_rules_updated: 'Règlas misa a jorn'
|
|
||||||
tagging_rules_deleted: 'Règla suprimida'
|
|
||||||
user_added: 'Utilizaire "%username%" apondut'
|
|
||||||
rss_token_updated: 'Geton RSS mes a jorn'
|
|
||||||
entry:
|
|
||||||
notice:
|
|
||||||
entry_already_saved: 'Article ja salvargardat lo %date%'
|
|
||||||
entry_saved: 'Article enregistrat'
|
|
||||||
entry_updated: 'Article mes a jorn'
|
|
||||||
entry_reloaded: 'Article recargat'
|
|
||||||
entry_reload_failed: "Fracàs de l'actualizacion de l'article"
|
|
||||||
entry_archived: 'Article marcat coma legit'
|
|
||||||
entry_unarchived: 'Article marcat coma pas legit'
|
|
||||||
entry_starred: 'Article apondut dins los favorits'
|
|
||||||
entry_unstarred: 'Article quitat dels favorits'
|
|
||||||
entry_deleted: 'Article suprimit'
|
|
||||||
tag:
|
|
||||||
notice:
|
|
||||||
tag_added: 'Etiqueta aponduda'
|
|
||||||
import:
|
|
||||||
notice:
|
|
||||||
failed: "L'importacion a fracassat, mercés de tornar ensajar"
|
|
||||||
failed_on_file: "Errorr pendent du tractament de l'import. Mercés de verificar vòstre fichièr."
|
|
||||||
summary: "Rapòrt d'import: %imported% importats, %skipped% ja presents."
|
|
||||||
developer:
|
|
||||||
notice:
|
|
||||||
client_created: 'Novèl client creat'
|
|
||||||
client_deleted: 'Client suprimit'
|
|
||||||
@ -1,424 +1,129 @@
|
|||||||
security:
|
#Login
|
||||||
login:
|
Keep me logged in: 'Zapamiętaj mnie'
|
||||||
page_title: 'Witaj w wallabag!'
|
Forgot your password?: 'Zapomniałeś hasła'
|
||||||
keep_logged_in: 'Zapamiętaj mnie'
|
Login: 'Loguj'
|
||||||
forgot_password: 'Zapomniałeś hasła'
|
Back to login: 'Wróć do logowania'
|
||||||
submit: 'Loguj'
|
Send: 'Wyślij'
|
||||||
register: 'Zarejestruj'
|
"Enter your email address below and we'll send you password reset instructions.": 'Wpisz swój adres email poniżej. Wyślemy Ci instrukcję resetowania hasła'
|
||||||
username: 'Nazwa użytkownika'
|
|
||||||
password: 'Hasło'
|
|
||||||
cancel: 'Anuluj'
|
|
||||||
resetting:
|
|
||||||
description: "Wpisz swój adres email poniżej. Wyślemy Ci instrukcję resetowania hasła"
|
|
||||||
register:
|
|
||||||
page_title: 'Utwórz konto'
|
|
||||||
go_to_account: 'Idź do konta'
|
|
||||||
|
|
||||||
menu:
|
# Menu
|
||||||
left:
|
unread: 'nieprzeczytane'
|
||||||
unread: 'Nieprzeczytane'
|
starred: 'oznaczone gwiazdką'
|
||||||
starred: 'Oznaczone gwiazdką'
|
archive: 'archiwum'
|
||||||
archive: 'Archiwum'
|
all: 'wszystkie'
|
||||||
all_articles: 'Wszystkie'
|
tags: 'tagi'
|
||||||
config: 'Konfiguracja'
|
config: 'konfiguracja'
|
||||||
tags: 'Tagi'
|
howto: 'howto'
|
||||||
internal_settings: 'Wewnętrzne ustawienia'
|
logout: 'wyloguj'
|
||||||
import: 'Importuj'
|
Filtered: 'Filtrowane'
|
||||||
howto: 'Howto'
|
About: 'O nas'
|
||||||
developer: 'Deweloper'
|
|
||||||
logout: 'Wyloguj'
|
|
||||||
about: 'O nas'
|
|
||||||
search: 'Szukaj'
|
|
||||||
save_link: 'Zapisz link'
|
|
||||||
back_to_unread: 'Powrót do nieprzeczytanych artykułów'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'Dodaj nowy wpis'
|
|
||||||
search: 'Szukaj'
|
|
||||||
filter_entries: 'Filtruj wpisy'
|
|
||||||
export: 'Eksportuj'
|
|
||||||
search_form:
|
|
||||||
input_label: 'Wpisz swoje zapytanie tutaj'
|
|
||||||
|
|
||||||
footer:
|
# Header
|
||||||
wallabag:
|
Back to unread articles: 'Powrót do nieprzeczytanych artykułów'
|
||||||
elsewhere: 'Weż wallabag ze sobą'
|
Add a new entry: 'Dodaj nowy wpis'
|
||||||
social: 'Społeczność'
|
Search: 'Szukaj'
|
||||||
powered_by: 'Kontrolowany przez'
|
Filter entries: 'Filtruj wpisy'
|
||||||
about: 'O nas'
|
Enter your search here: 'Wpisz swoje zapytanie tutaj:'
|
||||||
|
Save new entry: 'Zapisz nowy wpis'
|
||||||
|
|
||||||
config:
|
# Config screen
|
||||||
page_title: 'Konfiguracja'
|
Settings: 'Ustawienia'
|
||||||
tab_menu:
|
User information: 'Informacje o użytkowniku'
|
||||||
settings: 'Ustawienia'
|
Password: 'Hasło'
|
||||||
rss: 'Kanał RSS'
|
RSS: 'Kanał RSS'
|
||||||
user_info: 'Informacje o użytkowniku'
|
Add a user: 'Dodaj użytkownika'
|
||||||
password: 'Hasło'
|
Theme: 'Temat'
|
||||||
rules: 'Zasady tagowania'
|
Items per page: 'Ilość elementóœ na stronie'
|
||||||
new_user: 'Dodaj użytkownika'
|
Language: 'Język'
|
||||||
form:
|
Save: 'Zapisz'
|
||||||
save: 'Zapisz'
|
RSS token: 'Token RSS'
|
||||||
form_settings:
|
Name: 'Nazwa'
|
||||||
theme_label: 'Temat'
|
Email: 'Adres email'
|
||||||
items_per_page_label: 'Ilość elementóœ na stronie'
|
No token: 'Brak tokena'
|
||||||
language_label: 'Język'
|
Reset your token: 'Zresetuj swojego tokena'
|
||||||
reading_speed:
|
Create your token: 'Stwórz tokena'
|
||||||
label: 'Prędkość czytania'
|
Rss limit: 'Limit RSS'
|
||||||
help_message: 'Możesz skorzystać z narzędzi online do określenia twojej prędkości czytania:'
|
RSS links: 'Link do RSS'
|
||||||
100_word: 'Czytam ~100 słów na minutę'
|
RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.': 'Kanały RSS prowadzone przez wallabag pozwalają Ci na czytanie twoich zapisanych artykułów w twoium ulubionym czytniku RSS. Musisz najpierw wynegenerować tokena.'
|
||||||
200_word: 'Czytam ~200 słów na minutę'
|
Old password: 'Stare hasło'
|
||||||
300_word: 'Czytam ~300 słów na minutę'
|
New password: 'Nowe hasło'
|
||||||
400_word: 'Czytam ~400 słów na minutę'
|
Repeat new password: 'Powtórz nowe hasło'
|
||||||
form_rss:
|
Username: 'Nazwa użytkownika'
|
||||||
description: 'Kanały RSS prowadzone przez wallabag pozwalają Ci na czytanie twoich zapisanych artykułów w twoium ulubionym czytniku RSS. Musisz najpierw wynegenerować tokena.'
|
|
||||||
token_label: 'Token RSS'
|
|
||||||
no_token: 'Brak tokena'
|
|
||||||
token_create: 'Stwórz tokena'
|
|
||||||
token_reset: 'Zresetuj swojego tokena'
|
|
||||||
rss_links: 'RSS links'
|
|
||||||
rss_link:
|
|
||||||
unread: 'nieprzeczytane'
|
|
||||||
starred: 'oznaczone gwiazdką'
|
|
||||||
archive: 'archiwum'
|
|
||||||
rss_limit: 'Link do RSS'
|
|
||||||
form_user:
|
|
||||||
two_factor_description: "Włączenie autoryzacji dwuetapowej oznacza, że będziesz otrzymywał maile z kodem przy każdym nowym, niezaufanyum połączeniu"
|
|
||||||
name_label: 'Nazwa'
|
|
||||||
email_label: 'Adres email'
|
|
||||||
twoFactorAuthentication_label: 'Autoryzacja dwuetapowa'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'Stare hasło'
|
|
||||||
new_password_label: 'Nowe hasło'
|
|
||||||
repeat_new_password_label: 'Powtórz nowe hasło'
|
|
||||||
form_rules:
|
|
||||||
if_label: 'jeżeli'
|
|
||||||
then_tag_as_label: 'wtedy otaguj jako'
|
|
||||||
delete_rule_label: 'usuń'
|
|
||||||
rule_label: 'Reguła'
|
|
||||||
tags_label: 'Tagi'
|
|
||||||
faq:
|
|
||||||
title: 'FAQ'
|
|
||||||
tagging_rules_definition_title: 'Co oznaczają « reguły tagowania » ?'
|
|
||||||
tagging_rules_definition_description: 'Istnieją reguły używane przez wallabag służące do automatycznego tagowania nowych wpisów.<br />Za każdym razem kiedy dodasz nowi wpis, zostaną użyte wszystkie skonfigurowane przez ciebie regułu. Dzięki temu unikniesz konieczności ręcznego ich klasyfikowania.'
|
|
||||||
how_to_use_them_title: 'Jak ich użyć?'
|
|
||||||
how_to_use_them_description: 'Załóżmy, że chcesz otagować nowe wpisy jako « <i>do szybkiego przeczytania</i> » jeżeli czas czytania wynosi mniej niż 3 minuty.<br />W tym przypadku ponienieneś umieścić « czasCzytania <= 3 » w polu <i>Reguła</i> i « <i><do szybkiego przeczytania/i> » w polu <i>Tagi</i>.<br />Wiele tagów może zostać dodanych jednocześnie rozdzielając je przecinkami: « <i>do szybkiego przeczytania, koniecznie przeczytać</i> »<br />Kompleksowe reguły mogą być napisane przy użyciu operatorów: jeżeli « <i>czasCzytania >= 5 I nazwaDomeny = "github.com"</i> » wtedy otagój jako « <i>dłuższy tekst, github </i> »'
|
|
||||||
variables_available_title: 'Jakich zmiennych i operatorów mogę użyć przy pisaniu reguł?'
|
|
||||||
variables_available_description: 'Następujące zmienne i operatory mogą być użyte przy tworzeniu reguł tagowania:'
|
|
||||||
meaning: 'Znaczenie'
|
|
||||||
variable_description:
|
|
||||||
label: 'Zmienna'
|
|
||||||
title: 'Tytuł wpisu'
|
|
||||||
url: 'Adres URL wpisu'
|
|
||||||
isArchived: 'Czy wpis został zarchiwizowany czy nie'
|
|
||||||
isStarred: 'Czy wpis został oznaczony gwiazdką czy nie'
|
|
||||||
content: 'Zawartość wpisu'
|
|
||||||
language: 'Język wpisu'
|
|
||||||
mimetype: 'Mime-type wpisu'
|
|
||||||
readingTime: 'Szacunkowy czas czytania wpisu w minutach'
|
|
||||||
domainName: 'Nazwa domeny wpisu'
|
|
||||||
operator_description:
|
|
||||||
label: 'Operator'
|
|
||||||
less_than: 'Mniej niż...'
|
|
||||||
strictly_less_than: 'Wyłącznie mniej niż...'
|
|
||||||
greater_than: 'Więcej niż...'
|
|
||||||
strictly_greater_than: 'Wyłącznie więcej niż...'
|
|
||||||
equal_to: 'Równe...'
|
|
||||||
not_equal_to: 'Nierówny...'
|
|
||||||
or: 'Jedna reguła LUB inna'
|
|
||||||
and: 'Jedna reguła I inna'
|
|
||||||
matches: 'Sprawdź czy <i>temat</i> pasuje <i>szukaj</i> (duże lub małe litery).<br />Przykład: <code>tytuł zawiera "piłka nożna"</code>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: 'Nazwa użytkownika'
|
|
||||||
password_label: 'Hasło'
|
|
||||||
repeat_new_password_label: 'Powtórz nowe hasło'
|
|
||||||
plain_password_label: 'Jawne hasło'
|
|
||||||
email_label: 'Adres email'
|
|
||||||
|
|
||||||
entry:
|
# Entries
|
||||||
page_titles:
|
'estimated reading time': 'Szacunkowy czas czytania'
|
||||||
unread: 'Nieprzeczytane wpisy'
|
original: 'oryginał'
|
||||||
starred: 'Wpisy oznaczone gwiazdką'
|
Toggle mark as read: 'Oznacz jako przeczytane'
|
||||||
archive: 'Zarchiwizowane wpisy'
|
Toggle favorite: 'Oznacz jako ulubione'
|
||||||
filtered: 'Odfiltrowane wpisy'
|
Delete: 'Usuń'
|
||||||
list:
|
|
||||||
number_on_the_page: '{0} Nie ma wpisów.|{1} Jest jeden wpis.|]1,Inf[ Są %count% wpisy.'
|
|
||||||
reading_time: 'szacunkowy czas czytania'
|
|
||||||
reading_time_minutes: 'szacunkowy czas czytania: %readingTime% min'
|
|
||||||
reading_time_less_one_minute: 'szacunkowy czas czytania: <small class="inferieur"><</small> 1 min'
|
|
||||||
original_article: 'oryginał'
|
|
||||||
toogle_as_read: 'Oznacz jako przeczytane'
|
|
||||||
toogle_as_star: 'Oznacz jako ulubione'
|
|
||||||
delete: 'Usuń'
|
|
||||||
export_title: 'Export'
|
|
||||||
filters:
|
|
||||||
title: 'Filtry'
|
|
||||||
status_label: 'Status'
|
|
||||||
archived_label: 'Zarchiwizowane'
|
|
||||||
starred_label: 'Oznaczone gwiazdką'
|
|
||||||
preview_picture_label: 'Posiada podgląd obrazu'
|
|
||||||
preview_picture_help: 'Podgląd obrazu'
|
|
||||||
language_label: 'Język'
|
|
||||||
reading_time:
|
|
||||||
label: 'Czas czytania w minutach'
|
|
||||||
from: 'od'
|
|
||||||
to: 'do'
|
|
||||||
domain_label: 'Nazwa domeny'
|
|
||||||
created_at:
|
|
||||||
label: 'Czas stworzenia'
|
|
||||||
from: 'od'
|
|
||||||
to: 'do'
|
|
||||||
action:
|
|
||||||
clear: 'Wyczyść'
|
|
||||||
filter: 'Filtruj'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
back_to_top: 'Wróć na górę'
|
|
||||||
back_to_homepage: 'Cofnij'
|
|
||||||
set_as_read: 'Oznacz jako przeczytane'
|
|
||||||
set_as_unread: 'Oznacz jako nieprzeczytane'
|
|
||||||
set_as_favorite: 'Ulubione'
|
|
||||||
view_original_article: 'Oryginalny artykuł'
|
|
||||||
re_fetch_content: 'Pobierz ponownie treść'
|
|
||||||
delete: 'Usuń'
|
|
||||||
add_a_tag: 'Dodaj tag'
|
|
||||||
share_content: 'Udostępnij'
|
|
||||||
share_email_label: 'Adres email'
|
|
||||||
download: 'Pobierz'
|
|
||||||
print: 'Drukuj'
|
|
||||||
problem:
|
|
||||||
label: 'Problemy'
|
|
||||||
description: 'Czy ten artykuł wygląda źle?'
|
|
||||||
edit_title: 'Edytuj tytuł'
|
|
||||||
original_article: 'oryginalny'
|
|
||||||
annotations_on_the_entry: '{0} Nie ma adnotacji |{1} Jedna adnotacja |]1,Inf[ %nbAnnotations% adnotacji'
|
|
||||||
new:
|
|
||||||
page_title: 'Zapisz nowy wpis'
|
|
||||||
placeholder: 'http://website.com'
|
|
||||||
form_new:
|
|
||||||
url_label: Url
|
|
||||||
edit:
|
|
||||||
page_title: 'Edytuj wpis'
|
|
||||||
title_label: 'Tytuł'
|
|
||||||
url_label: 'Adres URL'
|
|
||||||
is_public_label: 'Publiczny'
|
|
||||||
save_label: 'Zapisz'
|
|
||||||
|
|
||||||
about:
|
# Filters
|
||||||
page_title: 'O nas'
|
Filters: 'Filtry'
|
||||||
top_menu:
|
Status: 'Status'
|
||||||
who_behind_wallabag: 'Kto stoi za wallabag'
|
Archived: 'Zarchiwizowane'
|
||||||
getting_help: 'Pomoc'
|
Starred: 'Oznaczone gwiazdką'
|
||||||
helping: 'Pomóż wallabag'
|
Preview picture: 'Podgląd obrazu'
|
||||||
contributors: 'Osoby, które pomogły przy projekcie'
|
Has a preview picture: 'Posiada podgląd obrazu'
|
||||||
third_party: 'Biblioteki Third-party'
|
Reading time in minutes: 'Czas czytania w minutach'
|
||||||
who_behind_wallabag:
|
from: 'od'
|
||||||
developped_by: 'Stworzony przez'
|
to: 'do'
|
||||||
website: 'strona internetowa'
|
website.com: 'website.com'
|
||||||
many_contributors: 'i wielu innych ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">na GitHubie</a>'
|
Domain name: 'Nazwa domeny'
|
||||||
project_website: 'Stona projektu'
|
Creation date: 'Czas stworzenia'
|
||||||
license: 'Licencja'
|
dd/mm/yyyy: 'dd.mm.yyyy'
|
||||||
version: 'Wersja'
|
Clear: 'Wyczyść'
|
||||||
getting_help:
|
Filter: 'Filtruj'
|
||||||
documentation: 'Dokumentacja'
|
|
||||||
bug_reports: 'Raportuj błędy'
|
|
||||||
support: '<a href="https://support.wallabag.org">Na naszej stronie wsparcia technicznego</a> lub <a href="https://github.com/wallabag/wallabag/issues">na GitHubie</a>'
|
|
||||||
helping:
|
|
||||||
description: 'wallabag jest darmowy i otwartoźródłowy. Możesz nam pomóc:'
|
|
||||||
by_contributing: 'przez przyłączenie się do projektu:'
|
|
||||||
by_contributing_2: 'lista wszystkich naszych potrzeb'
|
|
||||||
by_paypal: 'przez Paypal'
|
|
||||||
contributors:
|
|
||||||
description: 'Podziękuj osobą, które przyczyniły się do projektu przez aplikację webową'
|
|
||||||
third_party:
|
|
||||||
description: 'Tutaj znajduje się lista Third-party bibliotek użytych w wallabag (z ich licencjami):'
|
|
||||||
package: 'Paczka'
|
|
||||||
license: 'Licencja'
|
|
||||||
|
|
||||||
howto:
|
# About
|
||||||
page_title: 'Howto'
|
Who is behind wallabag: 'Kto stoi za wallabag'
|
||||||
page_description: 'Sposoby zapisania artykułu:'
|
Getting help: 'Pomoc'
|
||||||
top_menu:
|
Helping wallabag: 'Pomóż wallabag'
|
||||||
browser_addons: 'Wtyczki dla przeglądarki'
|
Developed by: 'Stworzony przez'
|
||||||
mobile_apps: 'Aplikacje mobilne'
|
website: 'strona internetowa'
|
||||||
bookmarklet: 'Bookmarklet'
|
And many others contributors ♥: ' i wielu innych ♥'
|
||||||
form:
|
on GitHub: 'na GitHubie'
|
||||||
description: 'Podziękuj przez ten formularz'
|
Project website: 'Stona projektu'
|
||||||
browser_addons:
|
License: 'Licencja'
|
||||||
firefox: 'Standardowe rozszerzenie dla Firefox'
|
Version: 'Wersja'
|
||||||
chrome: 'Rozszerzenie dla Chrome'
|
Documentation: 'Dokumentacja'
|
||||||
mobile_apps:
|
Bug reports: 'Raportuj błędy'
|
||||||
android:
|
On our support website: 'Na naszeej stronie wsparcia technicznego'
|
||||||
via_f_droid: 'w F-Droid'
|
or: 'lub'
|
||||||
via_google_play: 'w Google Play'
|
'wallabag is free and opensource. You can help us:': 'wallabag jest darmowy i otwartoźródłowy. Możesz nam pomóc: '
|
||||||
ios: 'w iTunes Store'
|
'by contributing to the project:': 'przez przyłączenie się do projektu:'
|
||||||
windows: 'w Microsoft Store'
|
an issue lists all our needs: 'lista wszystkich naszych potrzeb'
|
||||||
bookmarklet:
|
via Paypal: 'przez PayPal'
|
||||||
description: 'Przeciągnij i upuść ten link na swój pasek zakładek'
|
|
||||||
|
|
||||||
quickstart:
|
# Howto
|
||||||
page_title: 'Szybki start'
|
Form: 'Od'
|
||||||
intro:
|
Thanks to this form: 'Podziękuj przez ten formularz'
|
||||||
title: 'Witaj w wallabag!'
|
Browser addons: 'Wtyczki dla przeglądarki'
|
||||||
paragraph_1: "Będziemy ci towarzyszyli w Twojej poznaniu wallabag i pokażemy możliwości, które mogą cię zainteresować."
|
Mobile apps: 'Aplikacje mobilne'
|
||||||
paragraph_2: 'Śledź nas!'
|
Bookmarklet: 'Bookmarklet'
|
||||||
configure:
|
Standard Firefox Add-On: 'Standardowe rozszerzenia dla Firefox'
|
||||||
title: 'Konfiguruj aplikację'
|
Chrome Extension: 'Rozszerzenie dla Chrome'
|
||||||
language: 'Zmień język i wygląd'
|
download the application: 'Pobierz aplikację '
|
||||||
rss: 'Włącz kanały RSS'
|
'Drag & drop this link to your bookmarks bar:': 'Przeciągnij i upuść ten link na swój pasek zakładek'
|
||||||
tagging_rules: 'Napisz reguły pozwalające na automatyczne otagowanie twoich artykułów'
|
|
||||||
admin:
|
|
||||||
title: 'Administracja'
|
|
||||||
description: 'Jako administrator wallabag, możesz:'
|
|
||||||
new_user: 'Tworzyć nowego użytkownika'
|
|
||||||
analytics: 'Configure analytics'
|
|
||||||
sharing: 'Włączyć pewne parametry dotyczące udostępniania artykułów'
|
|
||||||
export: 'Skonfigurować eksport'
|
|
||||||
import: 'Skonfigurować import'
|
|
||||||
first_steps:
|
|
||||||
title: 'Pierwsze kroki'
|
|
||||||
new_article: 'Zapisz swój pierwszy artukuł'
|
|
||||||
unread_articles: 'I sklasyfikuj go!'
|
|
||||||
migrate:
|
|
||||||
title: 'Migruj w istniejącej usługi'
|
|
||||||
description: "Używasz innej usługi? Pomożemy ci pobrać twoje dane do wallabag."
|
|
||||||
pocket: 'Migruj z Pocket'
|
|
||||||
wallabag_v1: 'Migruj z wallabag v1'
|
|
||||||
wallabag_v2: 'Migruj z wallabag v2'
|
|
||||||
developer:
|
|
||||||
title: 'Deweloperzy'
|
|
||||||
create_application: 'Stwórz swoją aplikację'
|
|
||||||
docs:
|
|
||||||
title: 'Pełna Dokumentacja'
|
|
||||||
annotate: 'Dadaj adnotację do swojego artykułu'
|
|
||||||
export: 'Konwertuj swoje artykuły do ePUB lub PDF'
|
|
||||||
search_filters: 'Zabacz jak możesz znaleźć artykuł dzięku użyciu silnika wyszukiwarki i filtrów'
|
|
||||||
fetching_errors: 'Co mogę zrobić jeżeli artukuł napotka błędy podczas pobierania?'
|
|
||||||
all_docs: 'I wiele innych artykułów!'
|
|
||||||
support:
|
|
||||||
title: 'Wsparcie'
|
|
||||||
description: 'Jeżeli potrzebujesz pomocy, jesteśmy tutaj dla ciebie.'
|
|
||||||
github: 'na GitHubie'
|
|
||||||
email: 'przez email'
|
|
||||||
gitter: 'na Gitterze'
|
|
||||||
|
|
||||||
tag:
|
# Flash messages
|
||||||
page_title: 'Tagi'
|
Information updated: 'Informacje zaktualizowane'
|
||||||
list:
|
Config saved. Some parameters will be considered after disconnection.': 'Konfiguracja zapisana. Niektóre parametry zostaną uznane po rozłączeniu'
|
||||||
number_on_the_page: '{0} Nie ma tagów.|{1} Jest jeden tag.|]1,Inf[ Są %count% tagi.'
|
RSS information updated: 'Informacje RSS zaktualizowane'
|
||||||
|
Password updated: 'Hasło zaktualizowane'
|
||||||
|
Entry starred: 'Wpis oznaczony gwiazdką'
|
||||||
|
Entry unstarred: 'Wpis odznaczony gwiazdką'
|
||||||
|
Entry archived: 'Wpis dodany do archiwum'
|
||||||
|
Entry unarchived: 'Wpis usunięty z archiwum'
|
||||||
|
Entry deleted: 'Wpis usunięty'
|
||||||
|
|
||||||
import:
|
# Entry
|
||||||
page_title: 'Import'
|
Mark as read: 'Oznacz jako przeczytane'
|
||||||
page_description: 'Witaj w importerze Wallabag. Wybierz swoją poprzednią usługę, z której chcech migrować.'
|
Favorite: 'Ulubione'
|
||||||
action:
|
back: 'Cofnij'
|
||||||
import_contents: 'Import zawartości'
|
original article: 'Oryginalny artykuł'
|
||||||
form:
|
Add a tag: 'Dodaj tag'
|
||||||
mark_as_read_title: 'Oznaczyć wszystkie jako przeczytane?'
|
Share: 'Udostępnij'
|
||||||
mark_as_read_label: 'Oznacz wszystkie zaimportowane wpisy jako przeczytane'
|
Download: 'Pobierz'
|
||||||
file_label: 'Plik'
|
Does this article appear wrong?: 'Czy ten artykuł wygląda źle?'
|
||||||
save_label: 'Właduj plik'
|
Problems?: 'Problemy'
|
||||||
pocket:
|
Edit title: 'Edytuj tytuł'
|
||||||
page_title: 'Import > Pocket'
|
|
||||||
description: "Ten importer, zaimportuje dane z usługi Pocket. Pocket nie pozwala na nam na pobranie zawartości ze swojej usługi, więc kontent każdego arthykuł\u zostanie ponownie pobrany przez wallabag."
|
|
||||||
config_missing:
|
|
||||||
description: "Import z Pocket nie jest skonfigurowany."
|
|
||||||
admin_message: 'Musisz zdefiniować %keyurls%a pocket_consumer_key%keyurle%.'
|
|
||||||
user_message: 'Admin twojego servera musi zdefiniować API Key dla Pocket.'
|
|
||||||
authorize_message: 'Możesz zaimportować dane ze swojego konta Pocket. Kliknij poniższy przycisk i autoryzuj aplikacje aby połączyć się z getpocket.com.'
|
|
||||||
connect_to_pocket: 'Połącz z Pocket i importuj dane'
|
|
||||||
wallabag_v1:
|
|
||||||
page_title: 'Import > Wallabag v1'
|
|
||||||
description: 'Ten importer, zaimportuje wszystkie twoje artykułu z wallabag v1. Na swojej stronie konfiguracyjnej kliknij "JSON eksport" w sekcji "Eksportuj swoje dane wallabag". Otrzymasz plik "wallabag-export-1-xxxx-xx-xx.json".'
|
|
||||||
how_to: 'Wybierz swój plik eksportu z wallabag i kliknij poniższy przycisk, aby go załadować.'
|
|
||||||
wallabag_v2:
|
|
||||||
page_title: 'Import > Wallabag v2'
|
|
||||||
description: 'Ten importer, zaimportuje wszystkie twoje artykułu z wallabag v2. Idź do wszystkich artykułów, a następnie na panelu exportu kliknij na "JSON". Otrzymasz plik "All articles.json".'
|
|
||||||
|
|
||||||
developer:
|
|
||||||
page_title: 'Deweloper'
|
|
||||||
welcome_message: 'Witaj w API wallabag'
|
|
||||||
documentation: 'Dokumentacja'
|
|
||||||
how_to_first_app: 'Jak stworzyć moją pierwszą aplikację'
|
|
||||||
full_documentation: 'Pokaż pełne API'
|
|
||||||
clients:
|
|
||||||
title: 'Klienci'
|
|
||||||
create_new: 'Utwórz nowego klienta'
|
|
||||||
existing_clients:
|
|
||||||
title: 'Istniejący klienci'
|
|
||||||
field_id: 'Client ID'
|
|
||||||
field_secret: 'Client secret'
|
|
||||||
field_uris: 'Przekieruj URIs'
|
|
||||||
field_grant_types: 'Przyznaj pozwolenie'
|
|
||||||
no_client: 'Nie ma jeszcze klienta.'
|
|
||||||
remove:
|
|
||||||
warn_message_1: 'Masz możliwość usunięcia tego klienta. Ta akcja jest NIEODWRACALNA !'
|
|
||||||
warn_message_2: "Jeżeli go usuniesz, aplikacje skonfigurowane z tym klientem nię będa w stanie autoryzować twojego wallabag."
|
|
||||||
action: 'Usuń tego klienta'
|
|
||||||
client:
|
|
||||||
page_title: 'Deweloper > Nowy klient'
|
|
||||||
page_description: 'Tworzysz nowego klienta. Wypełnij poniższe pole w celu przekierowania URI twojej aplikacji.'
|
|
||||||
form:
|
|
||||||
redirect_uris_label: 'Przekieruj adresy URI'
|
|
||||||
save_label: 'Stwórz nowego klienta'
|
|
||||||
action_back: 'Cofnij'
|
|
||||||
client_parameter:
|
|
||||||
page_title: 'Deweloper > Parametry klienta'
|
|
||||||
page_description: 'Tutaj znajdują się parametry klienta.'
|
|
||||||
field_id: 'Client ID'
|
|
||||||
field_secret: 'Client secret'
|
|
||||||
back: 'Cofnij'
|
|
||||||
read_howto: 'Przeczytaj jak "Stworzyć moją pierwszą aplikację"'
|
|
||||||
howto:
|
|
||||||
page_title: 'Deweloper > Jak stworzyć moją pierwszą aplikację'
|
|
||||||
description:
|
|
||||||
paragraph_1: 'Następujące komendy korzystają <a href="https://github.com/jkbrzt/httpie">Biblioteka HTTPie</a>. Upewnij się, czy zainstalowałeś ją w swoim systemie zanim z niej skorzystasz'
|
|
||||||
paragraph_2: 'Potrzebujesz tokena w celu nawiązania komunikacji między swoją aplikacją a API wallabag.'
|
|
||||||
paragraph_3: 'W celu stworzenia tokena musisz <a href="%link%">stwórz nowego klienta</a>.'
|
|
||||||
paragraph_4: 'Teraz, utwórz tokena (zmień client_id, client_secret, username i password z poprawnymi wartościami):'
|
|
||||||
paragraph_5: 'API powinno zwrócić taką informację:'
|
|
||||||
paragraph_6: 'access_token jest użyteczny do wywołania API endpoint. Na przykład:'
|
|
||||||
paragraph_7: 'To wywołanie zwróci wszystkie twoje wpisy.'
|
|
||||||
paragraph_8: 'Jeżeli chcesz wyświetlić wszystkie punkty końcowe API, zobacz <a href="%link%">Dokumentacja naszego API</a>.'
|
|
||||||
back: 'Cofnij'
|
|
||||||
|
|
||||||
validator:
|
|
||||||
password_must_match: 'Hasło w polach musi być takie same'
|
|
||||||
password_too_short: 'Hasło powinno mieć minimum 8 znaków długości'
|
|
||||||
password_wrong_value: 'Twoje obecne hasło jest błędne'
|
|
||||||
item_per_page_too_high: 'To może spowodować problemy z aplikacją'
|
|
||||||
rss_limit_too_hight: 'To może spowodować problemy z aplikacją'
|
|
||||||
|
|
||||||
flashes:
|
|
||||||
config:
|
|
||||||
notice:
|
|
||||||
config_saved: 'Konfiguracja zapisana. Niektóre parametry zostaną uznane po rozłączeniu'
|
|
||||||
password_updated: 'Hasło zaktualizowane'
|
|
||||||
password_not_updated_demo: "In demonstration mode, you can't change password for this user."
|
|
||||||
user_updated: 'Informacje zaktualizowane'
|
|
||||||
rss_updated: 'Informacje RSS zaktualizowane'
|
|
||||||
tagging_rules_updated: 'Reguły tagowania zaktualizowane'
|
|
||||||
tagging_rules_deleted: 'Reguła tagowania usunięta'
|
|
||||||
user_added: 'Użytkownik "%username%" dodany'
|
|
||||||
rss_token_updated: 'Token kanału RSS zaktualizowany'
|
|
||||||
entry:
|
|
||||||
notice:
|
|
||||||
entry_already_saved: 'Wpis już został dodany %date%'
|
|
||||||
entry_saved: 'Wpis zapisany'
|
|
||||||
entry_updated: 'Wpis zaktualizowany'
|
|
||||||
entry_reloaded: 'Wpis ponownie załadowany'
|
|
||||||
entry_reload_failed: 'Błąd ponownego załadowania'
|
|
||||||
entry_archived: 'Wpis dodany do archiwum'
|
|
||||||
entry_unarchived: 'Wpis usunięty z archiwum'
|
|
||||||
entry_starred: 'Wpis oznaczony gwiazdką'
|
|
||||||
entry_unstarred: 'Wpis odznaczony gwiazdką'
|
|
||||||
entry_deleted: 'Wpis usunięty'
|
|
||||||
tag:
|
|
||||||
notice:
|
|
||||||
tag_added: 'Tag dodany'
|
|
||||||
import:
|
|
||||||
notice:
|
|
||||||
failed: 'Nieudany import, prosimy spróbować ponownie.'
|
|
||||||
failed_on_file: 'Błąd podczas ptrzetwarzania pliku. Sprawdż swój importowany plik.'
|
|
||||||
summary: 'Podsumowanie importu: %imported% zaimportowane, %skipped% już zapisane.'
|
|
||||||
developer:
|
|
||||||
notice:
|
|
||||||
client_created: 'Nowy klient utworzony.'
|
|
||||||
client_deleted: 'Klient usunięty'
|
|
||||||
|
|||||||
@ -1,424 +1,129 @@
|
|||||||
security:
|
#Login
|
||||||
login:
|
Keep me logged in: 'Ține-mă logat'
|
||||||
# page_title: 'Welcome to wallabag!'
|
Forgot your password?: 'Ți-ai uitat parola?'
|
||||||
keep_logged_in: 'Ține-mă logat'
|
Login: 'Logare'
|
||||||
forgot_password: 'Ți-ai uitat parola?'
|
Back to login: 'Înapoi la logare'
|
||||||
submit: 'Logare'
|
Send: 'Trimite'
|
||||||
# register: 'Register'
|
"Enter your email address below and we'll send you password reset instructions.": "Introduceți adresa de e-mail, iar noi vă vom trimite instrucțiunile pentru resetarea parolei."
|
||||||
username: 'Nume de utilizator'
|
|
||||||
password: 'Parolă'
|
|
||||||
# cancel: 'Cancel'
|
|
||||||
resetting:
|
|
||||||
description: "Introduceți adresa de e-mail, iar noi vă vom trimite instrucțiunile pentru resetarea parolei."
|
|
||||||
register:
|
|
||||||
# page_title: 'Create an account'
|
|
||||||
# go_to_account: 'Go to your account'
|
|
||||||
|
|
||||||
menu:
|
# Menu
|
||||||
left:
|
unread: 'necitite'
|
||||||
unread: 'Necitite'
|
starred: 'cu steluță'
|
||||||
starred: 'Cu steluță'
|
archive: 'arhivă'
|
||||||
archive: 'Arhivă'
|
all: 'toate'
|
||||||
all_articles: 'Toate'
|
tags: 'tag-uri'
|
||||||
config: 'Configurație'
|
config: 'configurație'
|
||||||
tags: 'Tag-uri'
|
howto: 'cum să'
|
||||||
# internal_settings: 'Internal Settings'
|
logout: 'delogare'
|
||||||
# import: 'Import'
|
Filtered: 'Filtrate'
|
||||||
howto: 'Cum să'
|
About: 'Despre'
|
||||||
# developer: 'Developer'
|
|
||||||
logout: 'cum să'
|
|
||||||
about: 'Despre'
|
|
||||||
search: 'Căutare'
|
|
||||||
# save_link: 'Save a link'
|
|
||||||
back_to_unread: 'Înapoi la articolele necitite'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'Introdu un nou articol'
|
|
||||||
search: 'Căutare'
|
|
||||||
filter_entries: 'Filtrează articolele'
|
|
||||||
# export: 'Export'
|
|
||||||
search_form:
|
|
||||||
input_label: 'Introdu căutarea ta'
|
|
||||||
|
|
||||||
footer:
|
# Header
|
||||||
wallabag:
|
Back to unread articles: 'Înapoi la articolele necitite'
|
||||||
# elsewhere: 'Take wallabag with you'
|
Add a new entry: 'Introdu un nou articol'
|
||||||
# social: 'Social'
|
Search: 'Căutare'
|
||||||
# powered_by: 'powered by'
|
Filter entries: 'Filtrează articolele'
|
||||||
about: 'Despre'
|
Enter your search here: 'Introdu căutarea ta'
|
||||||
|
Save new entry: 'Salvează un nou articol'
|
||||||
|
|
||||||
config:
|
# Config screen
|
||||||
page_title: 'Configurație'
|
Settings: 'Setări'
|
||||||
tab_menu:
|
User information: 'Informații despre utilizator'
|
||||||
settings: 'Setări'
|
Password: 'Parolă'
|
||||||
rss: 'RSS'
|
RSS: 'RSS'
|
||||||
user_info: 'Informații despre utilizator'
|
Add a user: 'Crează un utilizator'
|
||||||
password: 'Parolă'
|
Theme: 'Temă'
|
||||||
# rules: 'Tagging rules'
|
Items per page: 'Articole pe pagină'
|
||||||
new_user: 'Crează un utilizator'
|
Language: 'Limbă'
|
||||||
form:
|
Save: 'Salvează'
|
||||||
save: 'Salvează'
|
RSS token: 'RSS-Token'
|
||||||
form_settings:
|
Name: 'Nume'
|
||||||
theme_label: 'Temă'
|
Email: 'E-mail'
|
||||||
items_per_page_label: 'Articole pe pagină'
|
No token: 'Fără token'
|
||||||
language_label: 'Limbă'
|
Reset your token: 'Resetează-ți token-ul'
|
||||||
reading_speed:
|
Create your token: 'Crează-ți token'
|
||||||
# label: 'Reading speed'
|
Rss limit: 'Limită RSS'
|
||||||
# help_message: 'You can use online tools to estimate your reading speed:'
|
RSS links: 'Link-uri RSS'
|
||||||
# 100_word: 'I read ~100 words per minute'
|
'RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.': 'Feed-urile RSS oferite de wallabag îți permit să-ți citești articolele salvate în reader-ul tău preferat RSS.'
|
||||||
# 200_word: 'I read ~200 words per minute'
|
Old password: 'Parola veche'
|
||||||
# 300_word: 'I read ~300 words per minute'
|
New password: 'Parola nouă'
|
||||||
# 400_word: 'I read ~400 words per minute'
|
Repeat new password: 'Repetă parola'
|
||||||
form_rss:
|
Username: 'Nume de utilizator'
|
||||||
description: 'Feed-urile RSS oferite de wallabag îți permit să-ți citești articolele salvate în reader-ul tău preferat RSS.'
|
|
||||||
token_label: 'RSS-Token'
|
|
||||||
no_token: 'Fără token'
|
|
||||||
token_create: 'Crează-ți token'
|
|
||||||
token_reset: 'Resetează-ți token-ul'
|
|
||||||
rss_links: 'Link-uri RSS'
|
|
||||||
rss_link:
|
|
||||||
unread: 'unread'
|
|
||||||
starred: 'starred'
|
|
||||||
archive: 'archived'
|
|
||||||
rss_limit: 'Limită RSS'
|
|
||||||
form_user:
|
|
||||||
# two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion"
|
|
||||||
name_label: 'Nume'
|
|
||||||
email_label: 'E-mail'
|
|
||||||
# twoFactorAuthentication_label: 'Two factor authentication'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'Parola veche'
|
|
||||||
new_password_label: 'Parola nouă'
|
|
||||||
repeat_new_password_label: 'Repeat new password'
|
|
||||||
form_rules:
|
|
||||||
# if_label: 'if'
|
|
||||||
# then_tag_as_label: 'then tag as'
|
|
||||||
# delete_rule_label: 'delete'
|
|
||||||
# rule_label: 'Rule'
|
|
||||||
# tags_label: 'Tags'
|
|
||||||
# faq:
|
|
||||||
# title: 'FAQ'
|
|
||||||
# tagging_rules_definition_title: 'What does « tagging rules » mean?'
|
|
||||||
# tagging_rules_definition_description: 'They are rules used by Wallabag to automatically tag new entries.<br />Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.'
|
|
||||||
# how_to_use_them_title: 'How do I use them?'
|
|
||||||
# how_to_use_them_description: 'Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »'
|
|
||||||
# variables_available_title: 'Which variables and operators can I use to write rules?'
|
|
||||||
# variables_available_description: 'The following variables and operators can be used to create tagging rules:'
|
|
||||||
# meaning: 'Meaning'
|
|
||||||
# variable_description:
|
|
||||||
# label: 'Variable'
|
|
||||||
# title: 'Title of the entry'
|
|
||||||
# url: 'URL of the entry'
|
|
||||||
# isArchived: 'Whether the entry is archived or not'
|
|
||||||
# isStarred: 'Whether the entry is starred or not'
|
|
||||||
# content: "The entry's content"
|
|
||||||
# language: "The entry's language"
|
|
||||||
# mimetype: "The entry's mime-type"
|
|
||||||
# readingTime: "The estimated entry's reading time, in minutes"
|
|
||||||
# domainName: 'The domain name of the entry'
|
|
||||||
# operator_description:
|
|
||||||
# label: 'Operator'
|
|
||||||
# less_than: 'Less than...'
|
|
||||||
# strictly_less_than: 'Strictly less than...'
|
|
||||||
# greater_than: 'Greater than...'
|
|
||||||
# strictly_greater_than: 'Strictly greater than...'
|
|
||||||
# equal_to: 'Equal to...'
|
|
||||||
# not_equal_to: 'Not equal to...'
|
|
||||||
# or: 'One rule OR another'
|
|
||||||
# and: 'One rule AND another'
|
|
||||||
# matches: 'Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: 'Nume de utilizator'
|
|
||||||
password_label: 'Parolă'
|
|
||||||
repeat_new_password_label: 'Repeat new password'
|
|
||||||
plain_password_label: '????'
|
|
||||||
email_label: 'E-mail'
|
|
||||||
|
|
||||||
entry:
|
# Entries
|
||||||
page_titles:
|
'estimated reading time': 'timp estimat de citire'
|
||||||
# unread: 'Unread entries'
|
original: original
|
||||||
# starred: 'Starred entries'
|
Toggle mark as read: 'Comută marcat ca citit'
|
||||||
# archive: 'Archived entries'
|
Toggle favorite: 'Comută marcat ca favorit'
|
||||||
# filtered: 'Filtered entries'
|
Delete: 'Șterge'
|
||||||
list:
|
|
||||||
# number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
|
|
||||||
reading_time: 'timp estimat de citire'
|
|
||||||
reading_time_minutes: 'timp estimat de citire: %readingTime% min'
|
|
||||||
reading_time_less_one_minute: 'timp estimat de citire: <small class="inferieur"><</small> 1 min'
|
|
||||||
original_article: 'original'
|
|
||||||
toogle_as_read: 'Comută marcat ca citit'
|
|
||||||
toogle_as_star: 'Comută marcat ca favorit'
|
|
||||||
delete: 'Șterge'
|
|
||||||
# export_title: 'Export'
|
|
||||||
filters:
|
|
||||||
title: 'Filtre'
|
|
||||||
status_label: 'Status'
|
|
||||||
archived_label: 'Arhivat'
|
|
||||||
starred_label: 'Steluțe'
|
|
||||||
preview_picture_label: 'Are o imagine de previzualizare'
|
|
||||||
preview_picture_help: 'Previzualizare imagine'
|
|
||||||
language_label: 'Limbă'
|
|
||||||
reading_time:
|
|
||||||
label: 'Timp de citire în minute'
|
|
||||||
from: 'de la'
|
|
||||||
to: 'către'
|
|
||||||
domain_label: 'Nume domeniu'
|
|
||||||
created_at:
|
|
||||||
label: 'Data creării'
|
|
||||||
from: 'de la'
|
|
||||||
to: 'către'
|
|
||||||
action:
|
|
||||||
clear: 'Șterge'
|
|
||||||
filter: 'Filtru'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
# back_to_top: 'Back to top'
|
|
||||||
back_to_homepage: 'Înapoi'
|
|
||||||
set_as_read: 'Marchează ca citit'
|
|
||||||
# set_as_unread: 'Mark as unread'
|
|
||||||
set_as_favorite: 'Favorit'
|
|
||||||
view_original_article: 'Articol original'
|
|
||||||
# re_fetch_content: 'Re-fetch content'
|
|
||||||
delete: 'Șterge'
|
|
||||||
add_a_tag: 'Adaugă un tag'
|
|
||||||
share_content: 'Dă mai departe'
|
|
||||||
share_email_label: 'E-mail'
|
|
||||||
download: 'Descarcă'
|
|
||||||
# print: 'Print'
|
|
||||||
problem:
|
|
||||||
label: 'Probleme?'
|
|
||||||
description: 'Îți pare ciudat articolul?'
|
|
||||||
edit_title: 'Editează titlul'
|
|
||||||
original_article: 'original'
|
|
||||||
# annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
|
||||||
new:
|
|
||||||
page_title: 'Salvează un nou articol'
|
|
||||||
placeholder: 'http://website.com'
|
|
||||||
form_new:
|
|
||||||
url_label: Url
|
|
||||||
edit:
|
|
||||||
# page_title: 'Edit an entry'
|
|
||||||
# title_label: 'Title'
|
|
||||||
url_label: 'Url'
|
|
||||||
# is_public_label: 'Public'
|
|
||||||
save_label: 'Salvează'
|
|
||||||
|
|
||||||
about:
|
# Filters
|
||||||
page_title: 'Despre'
|
Filters: 'Filtre'
|
||||||
top_menu:
|
Status: 'Status'
|
||||||
who_behind_wallabag: 'Cine e în spatele wallabag'
|
Archived: 'Arhivat'
|
||||||
getting_help: 'Ajutor'
|
Starred: 'Steluțe'
|
||||||
helping: 'Cum să ajuți wallabag'
|
Preview picture: 'Previzualizare imagine'
|
||||||
# contributors: 'Contributors'
|
Has a preview picture: 'Are o imagine de previzualizare'
|
||||||
# third_party: 'Third-party libraries'
|
Reading time in minutes: 'Timp de citire în minute'
|
||||||
who_behind_wallabag:
|
from: 'de la'
|
||||||
developped_by: 'Dezvoltat de'
|
to: 'către'
|
||||||
website: 'website'
|
website.com: 'website.com'
|
||||||
many_contributors: 'Și mulți alți contribuitori ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">pe Github</a>'
|
Domain name: 'Nume domeniu'
|
||||||
project_website: 'Website-ul proiectului'
|
Creation date: 'Data creării'
|
||||||
license: 'Licență'
|
dd/mm/yyyy: 'zz/ll/aaaa'
|
||||||
version: 'Versiune'
|
Clear: 'Șterge'
|
||||||
getting_help:
|
Filter: 'Filtru'
|
||||||
documentation: 'Documentație'
|
|
||||||
bug_reports: 'Bug-uri'
|
|
||||||
support: '<a href="https://support.wallabag.org">Pe site-ul nostru de suport</a> sau <a href="https://github.com/wallabag/wallabag/issues">pe GitHub</a>'
|
|
||||||
helping:
|
|
||||||
description: 'wallabag este gratis și Open-Source. Cum ne poți ajuta:'
|
|
||||||
by_contributing: 'contribuind la proiect:'
|
|
||||||
by_contributing_2: 'o problemă ne listează toate nevoile:'
|
|
||||||
by_paypal: 'prin Paypal'
|
|
||||||
contributors:
|
|
||||||
# description: 'Thank you to contributors on wallabag web application'
|
|
||||||
third_party:
|
|
||||||
# description: 'Here are the list of third-party libraries used in wallabag (with their licenses):'
|
|
||||||
# package: 'Package'
|
|
||||||
license: 'Licență'
|
|
||||||
|
|
||||||
howto:
|
# About
|
||||||
page_title: 'Cum să'
|
Who is behind wallabag: "Cine e în spatele wallabag"
|
||||||
# page_description: 'There are several ways to save an article:'
|
Getting help: "Ajutor"
|
||||||
top_menu:
|
Helping wallabag: "Cum să ajuți wallabag"
|
||||||
browser_addons: 'Add-On-uri de Browser'
|
Developed by: "Dezvoltat de"
|
||||||
mobile_apps: 'Aplicații mobile'
|
website: "website"
|
||||||
bookmarklet: 'Bookmarklet'
|
And many others contributors ♥: "Și mulți alți contribuitori ♥"
|
||||||
form:
|
on GitHub: "pe GitHub"
|
||||||
description: 'Mulțumită acestui formular'
|
Project website: "Website-ul proiectului"
|
||||||
browser_addons:
|
License: "Licență"
|
||||||
firefox: 'Add-On standard de Firefox'
|
Version: "Versiune"
|
||||||
chrome: 'Extensie Chrome'
|
Documentation: "Documentație"
|
||||||
mobile_apps:
|
Bug reports: "Bug-uri"
|
||||||
android:
|
On our support website: "Pe site-ul nostru de suport"
|
||||||
via_f_droid: 'prin F-Droid'
|
or: "sau"
|
||||||
via_google_play: 'prin Google Play'
|
"wallabag is free and opensource. You can help us:": "wallabag este gratis și Open-Source. Cum ne poți ajuta:"
|
||||||
ios: 'prin iTunes Store'
|
"by contributing to the project:": "contribuind la proiect:"
|
||||||
windows: 'prin Microsoft Store'
|
an issue lists all our needs: "o problemă ne listează toate nevoile:"
|
||||||
bookmarklet:
|
via Paypal: "prin PayPal"
|
||||||
description: 'Drag & drop acest link în bara de bookmark-uri:'
|
|
||||||
|
|
||||||
quickstart:
|
# Howto
|
||||||
# page_title: 'Quickstart'
|
Form: Formular
|
||||||
# intro:
|
Thanks to this form: "Mulțumită acestui formular"
|
||||||
# title: 'Welcome to wallabag!'
|
Browser addons: "Add-On-uri de Browser"
|
||||||
# paragraph_1: "We'll accompany you to visit wallabag and show you some features which can interest you."
|
Mobile apps: "Aplicații mobile"
|
||||||
# paragraph_2: 'Follow us!'
|
Bookmarklet: "Bookmarklet"
|
||||||
# configure:
|
Standard Firefox Add-On: "Add-On standard de Firefox"
|
||||||
# title: 'Configure the application'
|
Chrome Extension: "Extensie Chrome"
|
||||||
# language: 'Change language and design'
|
download the application: "descarcă aplicația"
|
||||||
# rss: 'Enable RSS feeds'
|
"Drag & drop this link to your bookmarks bar:": "Drag & drop acest link în bara de bookmark-uri:"
|
||||||
# tagging_rules: 'Write rules to automatically tag your articles'
|
|
||||||
# admin:
|
|
||||||
# title: 'Administration'
|
|
||||||
# description: 'As an administrator, you have privileges on wallabag. You can:'
|
|
||||||
# new_user: 'Create a new user'
|
|
||||||
# analytics: 'Configure analytics'
|
|
||||||
# sharing: 'Enable some parameters about article sharing'
|
|
||||||
# export: 'Configure export'
|
|
||||||
# import: 'Configure import'
|
|
||||||
# first_steps:
|
|
||||||
# title: 'First steps'
|
|
||||||
# new_article: 'Save your first article'
|
|
||||||
# unread_articles: 'And classify it!'
|
|
||||||
# migrate:
|
|
||||||
# title: 'Migrate from an existing service'
|
|
||||||
# description: "Are you using another service? We'll help you to retrieve your data on wallabag."
|
|
||||||
# pocket: 'Migrate from Pocket'
|
|
||||||
# wallabag_v1: 'Migrate from wallabag v1'
|
|
||||||
# wallabag_v2: 'Migrate from wallabag v2'
|
|
||||||
# developer:
|
|
||||||
# title: 'Developers'
|
|
||||||
# create_application: 'Create your third application'
|
|
||||||
# docs:
|
|
||||||
# title: 'Full documentation'
|
|
||||||
# annotate: 'Annotate your article'
|
|
||||||
# export: 'Convert your articles into ePUB or PDF'
|
|
||||||
# search_filters: 'See how you can look for an article by using search engine and filters'
|
|
||||||
# fetching_errors: 'What can I do if an article encounters errors during fetching?'
|
|
||||||
# all_docs: 'And so many other articles!'
|
|
||||||
# support:
|
|
||||||
# title: 'Support'
|
|
||||||
# description: 'If you need some help, we are here for you.'
|
|
||||||
# github: 'On GitHub'
|
|
||||||
# email: 'By email'
|
|
||||||
# gitter: 'On Gitter'
|
|
||||||
|
|
||||||
tag:
|
# Flash messages
|
||||||
page_title: 'Tag-uri'
|
Information updated: "Informație actualizată"
|
||||||
list:
|
"Config saved. Some parameters will be considered after disconnection.": "configurație salvată. Unii parametrii vor fi considerați după deconectare."
|
||||||
# number_on_the_page: '{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.'
|
RSS information updated: "Informație RSS actualizată"
|
||||||
|
Password updated: "Parolă actualizată"
|
||||||
|
Entry starred: "Articol adăugat la favorite"
|
||||||
|
Entry unstarred: "Articol șters de la favorite"
|
||||||
|
Entry archived: "Articol arhivat"
|
||||||
|
Entry unarchived: "Articol dezarhivat"
|
||||||
|
Entry deleted: "Articol șters"
|
||||||
|
|
||||||
import:
|
# Entry
|
||||||
# page_title: 'Import'
|
Mark as read: 'Marchează ca citit'
|
||||||
# page_description: 'Welcome to wallabag importer. Please select your previous service that you want to migrate.'
|
Favorite: 'Favorit'
|
||||||
# action:
|
back: 'înapoi'
|
||||||
# import_contents: 'Import contents'
|
original article: 'articol original'
|
||||||
# form:
|
Add a tag: 'Adaugă un tag'
|
||||||
# mark_as_read_title: 'Mark all as read?'
|
Share: 'Dă mai departe'
|
||||||
# mark_as_read_label: 'Mark all imported entries as read'
|
Download: 'Descarcă'
|
||||||
# file_label: 'File'
|
Does this article appear wrong?: "Îți pare ciudat articolul?"
|
||||||
# save_label: 'Upload file'
|
Problems?: 'Probleme?'
|
||||||
# pocket:
|
Edit title: "Editează titlul"
|
||||||
# page_title: 'Import > Pocket'
|
|
||||||
# description: "This importer will import all your Pocket data. Pocket doesn't allow us to retrieve content from their service, so the readable content of each article will be re-fetched by wallabag."
|
|
||||||
# config_missing:
|
|
||||||
# description: "Pocket import isn't configured."
|
|
||||||
# admin_message: 'You need to define %keyurls%a pocket_consumer_key%keyurle%.'
|
|
||||||
# user_message: 'Your server admin needs to define an API Key for Pocket.'
|
|
||||||
# authorize_message: 'You can import your data from your Pocket account. You just have to click on the below button and authorize the application to connect to getpocket.com.'
|
|
||||||
# connect_to_pocket: 'Connect to Pocket and import data'
|
|
||||||
# wallabag_v1:
|
|
||||||
# page_title: 'Import > Wallabag v1'
|
|
||||||
# description: 'This importer will import all your wallabag v1 articles. On your config page, click on "JSON export" in the "Export your wallabag data" section. You will have a "wallabag-export-1-xxxx-xx-xx.json" file.'
|
|
||||||
# how_to: 'Please select your wallabag export and click on the below button to upload and import it.'
|
|
||||||
# wallabag_v2:
|
|
||||||
# page_title: 'Import > Wallabag v2'
|
|
||||||
# description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
|
|
||||||
|
|
||||||
developer:
|
|
||||||
# page_title: 'Developer'
|
|
||||||
# welcome_message: 'Welcome to the wallabag API'
|
|
||||||
# documentation: 'Documentation'
|
|
||||||
# how_to_first_app: 'How to create my first application'
|
|
||||||
# full_documentation: 'View full API documentation'
|
|
||||||
# clients:
|
|
||||||
# title: 'Clients'
|
|
||||||
# create_new: 'Create a new client'
|
|
||||||
# existing_clients:
|
|
||||||
# title: 'Existing clients'
|
|
||||||
# field_id: 'Client ID'
|
|
||||||
# field_secret: 'Client secret'
|
|
||||||
# field_uris: 'Redirect URIs'
|
|
||||||
# field_grant_types: 'Grant type allowed'
|
|
||||||
# no_client: 'No client yet.'
|
|
||||||
# remove:
|
|
||||||
# warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !'
|
|
||||||
# warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
|
|
||||||
# action: 'Remove this client'
|
|
||||||
# client:
|
|
||||||
# page_title: 'Developer > New client'
|
|
||||||
# page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
|
|
||||||
# form:
|
|
||||||
# redirect_uris_label: 'Redirect URIs'
|
|
||||||
# save_label: 'Create a new client'
|
|
||||||
# action_back: 'Back'
|
|
||||||
# client_parameter:
|
|
||||||
# page_title: 'Developer > Client parameters'
|
|
||||||
# page_description: 'Here are your client parameters.'
|
|
||||||
# field_id: 'Client ID'
|
|
||||||
# field_secret: 'Client secret'
|
|
||||||
# back: 'Back'
|
|
||||||
# read_howto: 'Read the howto "Create my first application"'
|
|
||||||
# howto:
|
|
||||||
# page_title: 'Developer > How to create my first application'
|
|
||||||
# description:
|
|
||||||
# paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.'
|
|
||||||
# paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.'
|
|
||||||
# paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.'
|
|
||||||
# paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):'
|
|
||||||
# paragraph_5: 'The API will return a response like this:'
|
|
||||||
# paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:'
|
|
||||||
# paragraph_7: 'This call will return all the entries for your user.'
|
|
||||||
# paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.'
|
|
||||||
# back: 'Back'
|
|
||||||
|
|
||||||
validator:
|
|
||||||
password_must_match: 'Câmpurile destinate parolelor trebuie să se potrivească'
|
|
||||||
password_too_short: 'Parola ar trebui să conțină cel puțin 8 caractere'
|
|
||||||
# password_wrong_value: 'Wrong value for your current password'
|
|
||||||
# item_per_page_too_high: 'This will certainly kill the app'
|
|
||||||
# rss_limit_too_hight: 'This will certainly kill the app'
|
|
||||||
|
|
||||||
flashes:
|
|
||||||
config:
|
|
||||||
notice:
|
|
||||||
config_saved: 'Configurație salvată. Unii parametrii vor fi considerați după deconectare.'
|
|
||||||
password_updated: 'Parolă actualizată'
|
|
||||||
password_not_updated_demo: "In demonstration mode, you can't change password for this user."
|
|
||||||
user_updated: 'Informație actualizată'
|
|
||||||
rss_updated: 'Informație RSS actualizată'
|
|
||||||
# tagging_rules_updated: 'Tagging rules updated'
|
|
||||||
# tagging_rules_deleted: 'Tagging rule deleted'
|
|
||||||
# user_added: 'User "%username%" added'
|
|
||||||
# rss_token_updated: 'RSS token updated'
|
|
||||||
entry:
|
|
||||||
notice:
|
|
||||||
# entry_already_saved: 'Entry already saved on %date%'
|
|
||||||
# entry_saved: 'Entry saved'
|
|
||||||
# entry_updated: 'Entry updated'
|
|
||||||
# entry_reloaded: 'Entry reloaded'
|
|
||||||
# entry_reload_failed: 'Failed to reload entry'
|
|
||||||
entry_archived: 'Articol arhivat'
|
|
||||||
entry_unarchived: 'Articol dezarhivat'
|
|
||||||
entry_starred: 'Articol adăugat la favorite'
|
|
||||||
entry_unstarred: 'Articol șters de la favorite'
|
|
||||||
entry_deleted: 'Articol șters'
|
|
||||||
tag:
|
|
||||||
notice:
|
|
||||||
# tag_added: 'Tag added'
|
|
||||||
import:
|
|
||||||
notice:
|
|
||||||
# failed: 'Import failed, please try again.'
|
|
||||||
# failed_on_file: 'Error while processing import. Please verify your import file.'
|
|
||||||
# summary: 'Import summary: %imported% imported, %skipped% already saved.'
|
|
||||||
developer:
|
|
||||||
notice:
|
|
||||||
# client_created: 'New client created.'
|
|
||||||
# client_deleted: 'Client deleted'
|
|
||||||
|
|||||||
@ -1,424 +1,226 @@
|
|||||||
security:
|
# Login
|
||||||
login:
|
Keep me logged in: 'Oturumumu açık tut'
|
||||||
page_title: 'wallabag'
|
Forgot your password?: 'Şifrenizi mi unuttunuz?'
|
||||||
keep_logged_in: 'Oturumumu açık tut'
|
Login: 'Giriş Yap'
|
||||||
forgot_password: 'Şifrenizi mi unuttunuz?'
|
Back to login: 'Giriş yapma ekranına geri dön'
|
||||||
submit: 'Giriş Yap'
|
Send: 'Gönder'
|
||||||
register: 'Kayıt Ol'
|
Register: 'Kayıt Ol'
|
||||||
username: 'Kullanıcı adı'
|
|
||||||
password: 'Şifre'
|
|
||||||
# cancel: 'Cancel'
|
|
||||||
resetting:
|
|
||||||
# description: "Enter your email address below and we'll send you password reset instructions."
|
|
||||||
register:
|
|
||||||
# page_title: 'Create an account'
|
|
||||||
# go_to_account: 'Go to your account'
|
|
||||||
|
|
||||||
menu:
|
# Menu
|
||||||
left:
|
unread: 'Okunmayan'
|
||||||
unread: 'Okunmayan'
|
starred: 'Favoriler'
|
||||||
starred: 'Favoriler'
|
archive: 'Arşiv'
|
||||||
archive: 'Arşiv'
|
all: 'Hepsi'
|
||||||
all_articles: 'Hepsi'
|
tags: 'Etiketler'
|
||||||
config: 'Yapılandırma'
|
config: 'Yapılandırma'
|
||||||
tags: 'Etiketler'
|
import: 'İçe Aktar'
|
||||||
# internal_settings: 'Internal Settings'
|
howto: 'Yardım'
|
||||||
import: 'İçe Aktar'
|
logout: 'Çıkış Yap'
|
||||||
howto: 'Yardım'
|
Filtered: 'Filtreli'
|
||||||
# developer: 'Developer'
|
About: 'Hakkımızda'
|
||||||
logout: 'Çıkış Yap'
|
|
||||||
about: 'Hakkımızda'
|
|
||||||
search: 'Ara'
|
|
||||||
# save_link: 'Save a link'
|
|
||||||
back_to_unread: 'Okunmayan makalelere geri dön'
|
|
||||||
top:
|
|
||||||
add_new_entry: 'Yeni bir makale ekle'
|
|
||||||
search: 'Ara'
|
|
||||||
filter_entries: 'Filtrele'
|
|
||||||
export: 'Dışa Aktar'
|
|
||||||
search_form:
|
|
||||||
input_label: 'Aramak istediğiniz herhangi bir şey yazın'
|
|
||||||
|
|
||||||
footer:
|
# Header
|
||||||
wallabag:
|
Back to unread articles: 'Okunmayan makalelere geri dön'
|
||||||
elsewhere: 'wallabag her an seninle'
|
Add a new entry: 'Yeni bir makale ekle'
|
||||||
social: 'Sosyal'
|
Search: 'Ara'
|
||||||
powered_by: 'powered by'
|
Filter entries: 'Filtrele'
|
||||||
about: 'Hakkımızda'
|
Enter your search here: 'Aramak istediğiniz herhangi bir şey yazın'
|
||||||
|
Save new entry: 'Yeni makaleyi kaydet'
|
||||||
|
|
||||||
config:
|
# Config screen
|
||||||
page_title: 'Yapılandırma'
|
Settings: 'Ayarlar'
|
||||||
tab_menu:
|
User information: 'Kullanıcı bilgileri'
|
||||||
settings: 'Ayarlar'
|
Tagging rules: "Etiketleme kuralları"
|
||||||
rss: 'RSS'
|
Password: 'Şifre'
|
||||||
user_info: 'Kullanıcı bilgileri'
|
RSS: 'RSS'
|
||||||
password: 'Şifre'
|
Add a user: 'Bir kullanıcı ekle'
|
||||||
rules: 'Etiketleme kuralları'
|
Theme: 'Tema'
|
||||||
new_user: 'Bir kullanıcı ekle'
|
Items per page: "Sayfa başına makale sayısı"
|
||||||
form:
|
Language: 'Dil'
|
||||||
save: 'Kaydet'
|
Save: 'Kaydet'
|
||||||
form_settings:
|
RSS token: 'RSS belirteci (token)'
|
||||||
theme_label: 'Tema'
|
Name: 'İsim'
|
||||||
items_per_page_label: 'Sayfa başına makale sayısı'
|
Email: 'E-posta'
|
||||||
language_label: 'Dil'
|
No token: 'Belirteç (token) yok'
|
||||||
reading_speed:
|
Reset your token: 'Belirteci (token) sıfırla'
|
||||||
# label: 'Reading speed'
|
Create your token: 'Yeni belirteç (token) oluştur'
|
||||||
# help_message: 'You can use online tools to estimate your reading speed:'
|
Rss limit: "RSS içeriğinden talep edilecek makale limiti"
|
||||||
# 100_word: 'I read ~100 words per minute'
|
RSS links: 'RSS akış bağlantıları'
|
||||||
# 200_word: 'I read ~200 words per minute'
|
"RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.": "wallabag RSS akışı kaydetmiş olduğunuz makalelerini favori RSS okuyucunuzda görüntülemenizi sağlar. Bunu yapabilmek için öncelikle belirteç (token) oluşturmalısınız."
|
||||||
# 300_word: 'I read ~300 words per minute'
|
Old password: 'Eski şifre'
|
||||||
# 400_word: 'I read ~400 words per minute'
|
New password: 'Yeni şifre'
|
||||||
form_rss:
|
Repeat new password: 'Yeni şifrenin tekrarı'
|
||||||
description: 'wallabag RSS akışı kaydetmiş olduğunuz makalelerini favori RSS okuyucunuzda görüntülemenizi sağlar. Bunu yapabilmek için öncelikle belirteç (token) oluşturmalısınız.'
|
Username: "Kullanıcı adı"
|
||||||
token_label: 'RSS belirteci (token)'
|
Two factor authentication: "İki adımlı doğrulama"
|
||||||
no_token: 'Belirteç (token) yok'
|
"Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion": "İki adımlı doğrulamayı aktifleştirdiğinizde, her yeni güvenilmeyen bağlantılarda size e-posta ile bir kod alacaksınız."
|
||||||
token_create: 'Yeni belirteç (token) oluştur'
|
Baggy: "Baggy"
|
||||||
token_reset: 'Belirteci (token) sıfırla'
|
Material: "Material"
|
||||||
rss_links: 'RSS akış bağlantıları'
|
English: "İngilizce"
|
||||||
rss_link:
|
Français: "Fransızca"
|
||||||
unread: 'okunmayan'
|
Deutsch: "Almanca"
|
||||||
starred: 'favoriler'
|
Türkçe: "Türkçe"
|
||||||
archive: 'arşiv'
|
|
||||||
rss_limit: 'RSS içeriğinden talep edilecek makale limiti'
|
|
||||||
form_user:
|
|
||||||
two_factor_description: "İki adımlı doğrulamayı aktifleştirdiğinizde, her yeni güvenilmeyen bağlantılarda size e-posta ile bir kod alacaksınız."
|
|
||||||
name_label: 'İsim'
|
|
||||||
email_label: 'E-posta'
|
|
||||||
twoFactorAuthentication_label: 'İki adımlı doğrulama'
|
|
||||||
form_password:
|
|
||||||
old_password_label: 'Eski şifre'
|
|
||||||
new_password_label: 'Yeni şifre'
|
|
||||||
repeat_new_password_label: 'Yeni şifrenin tekrarı'
|
|
||||||
form_rules:
|
|
||||||
# if_label: 'if'
|
|
||||||
# then_tag_as_label: 'then tag as'
|
|
||||||
# delete_rule_label: 'delete'
|
|
||||||
rule_label: 'Kural'
|
|
||||||
tags_label: 'Etiketler'
|
|
||||||
faq:
|
|
||||||
title: 'S.S.S.'
|
|
||||||
tagging_rules_definition_title: '« etiketleme kuralları » ne anlama geliyor?'
|
|
||||||
# tagging_rules_definition_description: 'They are rules used by Wallabag to automatically tag new entries.<br />Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.'
|
|
||||||
how_to_use_them_title: 'Bunu nasıl kullanırım?'
|
|
||||||
# how_to_use_them_description: 'Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »'
|
|
||||||
variables_available_title: 'Kurallar içerisinde hangi değişken ve operatörleri kullanabilirim?'
|
|
||||||
variables_available_description: 'Etiket kuralı oluşturmak istediğinizde aşağıdaki değişken ve operatörleri kullanabilirsin:'
|
|
||||||
meaning: 'Anlamı'
|
|
||||||
variable_description:
|
|
||||||
label: 'Değişken'
|
|
||||||
title: 'Makalenin başlığı'
|
|
||||||
url: 'Makalenin bağlantısı'
|
|
||||||
isArchived: 'Makale arşivlendi mi? Arşivlenmedi mi?'
|
|
||||||
isStarred: 'Makale favorilere eklendi mi? Eklenmedi mi?'
|
|
||||||
content: "Makalenin içeriği"
|
|
||||||
language: "Makalenin dili"
|
|
||||||
mimetype: "Makalenin mime türü"
|
|
||||||
readingTime: "Makalenin dakika cinsinden tahmini okuma süresi"
|
|
||||||
domainName: 'Makalenin bulunduğu internet sitesinin alan adı'
|
|
||||||
operator_description:
|
|
||||||
label: 'Operatör'
|
|
||||||
less_than: 'Küçüktür ve eşittir…'
|
|
||||||
strictly_less_than: 'Küçüktür…'
|
|
||||||
greater_than: 'Büyüktür ve eşittir…'
|
|
||||||
strictly_greater_than: 'Büyüktür…'
|
|
||||||
equal_to: 'Eşittir…'
|
|
||||||
not_equal_to: 'Eşit değildir…'
|
|
||||||
or: 'Bir kural veya birbaşkası'
|
|
||||||
and: 'Bir kural ve diğeri'
|
|
||||||
# matches: 'Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
|
|
||||||
form_new_user:
|
|
||||||
username_label: 'Kullanıcı adı'
|
|
||||||
password_label: 'Şifre'
|
|
||||||
repeat_new_password_label: 'Yeni şifrenin tekrarı'
|
|
||||||
plain_password_label: '????'
|
|
||||||
email_label: 'E-posta'
|
|
||||||
|
|
||||||
entry:
|
# Tagging rules
|
||||||
page_titles:
|
Rule: "Kural"
|
||||||
# unread: 'Unread entries'
|
Tags: "Etiketler"
|
||||||
# starred: 'Starred entries'
|
FAQ: "S.S.S."
|
||||||
# archive: 'Archived entries'
|
Variable: "Değişken"
|
||||||
# filtered: 'Filtered entries'
|
Meaning: "Anlamı"
|
||||||
list:
|
Operator: "Operatör"
|
||||||
number_on_the_page: '{0} Herhangi bir makale yok.|{1} Burada bir adet makale var.|]1,Inf[ Burada %count% adet makale var.'
|
"What does « tagging rules » mean?": "« etiketleme kuralları » ne anlama geliyor?"
|
||||||
reading_time: 'tahmini okuma süresi'
|
"How do I use them?": "Bunu nasıl kullanırım?"
|
||||||
reading_time_minutes: 'tahmini okuma süresi: %readingTime% min'
|
"Which variables and operators can I use to write rules?": "Kurallar içerisinde hangi değişken ve operatörleri kullanabilirim?"
|
||||||
reading_time_less_one_minute: 'tahmini okuma süresi: <small class="inferieur"><</small> 1 min'
|
"The following variables and operators can be used to create tagging rules:": "Etiket kuralı oluşturmak istediğinizde aşağıdaki değişken ve operatörleri kullanabilirsin:"
|
||||||
original_article: 'orijinal'
|
Title of the entry: "Makalenin başlığı"
|
||||||
toogle_as_read: 'Okundu/okunmadı olarak işaretle'
|
URL of the entry: "Makalenin bağlantısı"
|
||||||
toogle_as_star: 'Favorilere ekle/çıkar'
|
The domain name of the entry: "Makalenin bulunduğu internet sitesinin alan adı"
|
||||||
delete: 'Sil'
|
"The entry's content": "Makalenin içeriği"
|
||||||
export_title: 'Dışa Aktar'
|
"The entry's language": "Makalenin dili"
|
||||||
filters:
|
"The entry's mime-type": "Makalenin mime türü"
|
||||||
title: 'Filtreler'
|
"The estimated entry's reading time, in minutes": "Makalenin dakika cinsinden tahmini okuma süresi"
|
||||||
status_label: 'Durum'
|
"Whether the entry is archived or not": "Makale arşivlendi mi? Arşivlenmedi mi?"
|
||||||
archived_label: 'Arşiv'
|
"Whether the entry is starred or not": "Makale favorilere eklendi mi? Eklenmedi mi?"
|
||||||
starred_label: 'Favori'
|
"Less than…": "Küçüktür ve eşittir…"
|
||||||
preview_picture_label: 'Resim önizlemesi varsa'
|
"Strictly less than…": "Küçüktür…"
|
||||||
preview_picture_help: 'Resim önizlemesi'
|
"Greater than…": "Büyüktür ve eşittir…"
|
||||||
language_label: 'Dil'
|
"Strictly greater than…": "Büyüktür…"
|
||||||
reading_time:
|
"Equal to…": "Eşittir…"
|
||||||
label: 'Dakika cinsinden okuma süresi'
|
"Not equal to…": "Eşit değildir…"
|
||||||
from: 'başlangıç'
|
"One rule or another": "Bir kural veya birbaşkası"
|
||||||
to: 'bitiş'
|
"One rule and another": "Bir kural ve diğeri"
|
||||||
domain_label: 'Alan adı'
|
|
||||||
created_at:
|
|
||||||
label: 'Oluşturulma tarihi'
|
|
||||||
from: 'başlangıç'
|
|
||||||
to: 'bitiş'
|
|
||||||
action:
|
|
||||||
clear: 'Temizle'
|
|
||||||
filter: 'Filtrele'
|
|
||||||
view:
|
|
||||||
left_menu:
|
|
||||||
# back_to_top: 'Back to top'
|
|
||||||
back_to_homepage: 'Back'
|
|
||||||
set_as_read: 'Okundu olarak işaretle'
|
|
||||||
set_as_unread: 'Okunmadı olarak işaretle'
|
|
||||||
set_as_favorite: 'Favorilere ekle/çıkar'
|
|
||||||
view_original_article: 'Orijinal makale'
|
|
||||||
re_fetch_content: 'İçeriği yenile'
|
|
||||||
delete: 'Sil'
|
|
||||||
add_a_tag: 'Bir etiket ekle'
|
|
||||||
share_content: 'Paylaş'
|
|
||||||
share_email_label: 'E-posta'
|
|
||||||
download: 'İndir'
|
|
||||||
# print: 'Print'
|
|
||||||
problem:
|
|
||||||
label: 'Bir sorun mu var?'
|
|
||||||
description: 'Bu makalede herhangi bir yanlışlık mı var?'
|
|
||||||
edit_title: 'Başlığı düzenle'
|
|
||||||
original_article: 'orijinal'
|
|
||||||
# annotations_on_the_entry: '{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations'
|
|
||||||
new:
|
|
||||||
page_title: 'Yeni makaleyi kaydet'
|
|
||||||
placeholder: 'http://website.com'
|
|
||||||
form_new:
|
|
||||||
url_label: Url
|
|
||||||
edit:
|
|
||||||
page_title: 'Makaleyi düzenle'
|
|
||||||
title_label: 'Başlık'
|
|
||||||
url_label: 'Url'
|
|
||||||
is_public_label: 'Herkes tarafından erişime açık olsun mu?'
|
|
||||||
save_label: 'Kaydet'
|
|
||||||
|
|
||||||
about:
|
# Entries
|
||||||
page_title: 'Hakkımızda'
|
'estimated reading time': 'tahmini okuma süresi'
|
||||||
top_menu:
|
original: "orijinal"
|
||||||
who_behind_wallabag: "wallabag'in arkasındakiler"
|
Toggle mark as read: 'Okundu/okunmadı olarak işaretle'
|
||||||
getting_help: 'Yardım'
|
Toggle favorite: 'Favorilere ekle/çıkar'
|
||||||
helping: 'wallabag destek olun'
|
Delete: 'Sil'
|
||||||
# contributors: 'Contributors'
|
|
||||||
# third_party: 'Third-party libraries'
|
|
||||||
who_behind_wallabag:
|
|
||||||
developped_by: 'Geliştiriciler'
|
|
||||||
website: 'i̇nternet sitesi'
|
|
||||||
many_contributors: 'Ve katkıda bulunanlar ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">GitHub üzerinde</a>'
|
|
||||||
project_website: 'Proje internet sitesi'
|
|
||||||
license: 'Lisans'
|
|
||||||
version: 'Sürüm'
|
|
||||||
getting_help:
|
|
||||||
documentation: 'Dokümantasyon'
|
|
||||||
bug_reports: 'Sorun bildir'
|
|
||||||
support: '<a href="https://support.wallabag.org">Destek internet sitesinde</a> ya da <a href="https://github.com/wallabag/wallabag/issues">GitHub üzerinde</a>'
|
|
||||||
helping:
|
|
||||||
description: 'wallabag açık kaynak kodlu ve ücretsizdir. Bize destek ol :'
|
|
||||||
by_contributing: 'projemize katkıda bulunun :'
|
|
||||||
by_contributing_2: 'ihtiyacımız olanların listelendiği yapılacaklar listesi'
|
|
||||||
by_paypal: 'PayPal ile'
|
|
||||||
contributors:
|
|
||||||
# description: 'Thank you to contributors on wallabag web application'
|
|
||||||
third_party:
|
|
||||||
# description: 'Here are the list of third-party libraries used in wallabag (with their licenses):'
|
|
||||||
# package: 'Package'
|
|
||||||
license: 'Lisans'
|
|
||||||
|
|
||||||
howto:
|
# Filters
|
||||||
page_title: 'Yardım'
|
Filters: 'Filtreler'
|
||||||
# page_description: 'There are several ways to save an article:'
|
Status: 'Durum'
|
||||||
top_menu:
|
Archived: 'Arşiv'
|
||||||
browser_addons: 'Tarayıcı eklentileri'
|
Starred: 'Favori'
|
||||||
mobile_apps: 'Mobil uygulamalar'
|
Preview picture: 'Resim önizlemesi'
|
||||||
bookmarklet: 'Bookmarklet'
|
Has a preview picture: 'Resim önizlemesi varsa'
|
||||||
form:
|
Reading time in minutes: 'Dakika cinsinden okuma süresi'
|
||||||
description: 'Yeni makale kaydet'
|
from: 'başlangıç'
|
||||||
browser_addons:
|
to: 'bitiş'
|
||||||
firefox: 'Standart Firefox Eklentisi'
|
website.com: 'internet-sitesi.com'
|
||||||
chrome: 'Chrome Eklentisi'
|
Domain name: 'Alan adı'
|
||||||
mobile_apps:
|
Creation date: 'Oluşturulma tarihi'
|
||||||
android:
|
dd/mm/yyyy: 'dd/mm/aaaa'
|
||||||
# via_f_droid: 'via F-Droid'
|
Clear: 'Temizle'
|
||||||
# via_google_play: 'via Google Play'
|
Filter: 'Filtrele'
|
||||||
# ios: 'on the iTunes Store'
|
|
||||||
# windows: 'on the Microsoft Store'
|
|
||||||
bookmarklet:
|
|
||||||
description: "Bu bağlantı ile yer imlerinizi sürükleyip bırakarak wallabag'e ekleyebilirsiniz:"
|
|
||||||
|
|
||||||
quickstart:
|
# About
|
||||||
page_title: 'Hızlı başlangıç'
|
Who is behind wallabag: "wallabag'in arkasındakiler"
|
||||||
intro:
|
Getting help: "Yardım"
|
||||||
title: 'wallabag'
|
Helping wallabag: "wallabag destek olun"
|
||||||
paragraph_1: "wallabag kurduğunuz için teşekkür ederiz. Bu sayfada biz size eşlik edecek ve ilginizi çekecek birkaç özellik göstereceğim."
|
Developed by: "Geliştiriciler:"
|
||||||
paragraph_2: 'Bizi takip edin!'
|
website: "İnternet sitesi"
|
||||||
configure:
|
And many others contributors ♥: "Ve katkıda bulunanlar ♥"
|
||||||
title: 'Uygulamayı Yapılandırma'
|
on GitHub: "GitHub üzerinde"
|
||||||
language: 'Dili ve tasarımı değiştirme'
|
Project website: "Proje internet sitesi"
|
||||||
rss: 'RSS akışını aktifleştirme'
|
License: "Lisans"
|
||||||
# tagging_rules: 'Write rules to automatically tag your articles'
|
Version: "Sürüm"
|
||||||
admin:
|
Documentation: "Dokümantasyon"
|
||||||
# title: 'Administration'
|
Bug reports: "Sorun bildir"
|
||||||
# description: 'As an administrator, you have privileges on wallabag. You can:'
|
On our support website: "Destek internet sitesinde"
|
||||||
# new_user: 'Create a new user'
|
or: "ya da"
|
||||||
# analytics: 'Configure analytics'
|
"wallabag is free and opensource. You can help us:": "wallabag açık kaynak kodlu ve ücretsizdir. Bize destek ol :"
|
||||||
# sharing: 'Enable some parameters about article sharing'
|
"by contributing to the project:": "projemize katkıda bulunun :"
|
||||||
# export: 'Configure export'
|
an issue lists all our needs: "ihtiyacımız olanların listelendiği yapılacaklar listesi"
|
||||||
# import: 'Configure import'
|
via Paypal: "PayPal ile"
|
||||||
first_steps:
|
|
||||||
title: 'İlk adım'
|
|
||||||
new_article: 'İlk makalenizi kaydedin'
|
|
||||||
unread_articles: 'Ve bunu sınıflandırın!'
|
|
||||||
migrate:
|
|
||||||
title: 'Varolan servislerden veri aktarma'
|
|
||||||
description: "Kullanmakta olduğunuz farklı bir hizmet mi var? Biz size yardımcı olacak ve verilerinizi wallabag'e aktarmanıza yardımcı olacağız."
|
|
||||||
pocket: "Pocket üzerindeki verilerinizi wallabag'e aktarın"
|
|
||||||
wallabag_v1: "wallabag v1 üzerindeki verilerinizi wallabag'in yeni sürümüne aktarın"
|
|
||||||
wallabag_v2: "wallabag v2 üzerindeki verilerinizi wallabag'in yeni sürümüne aktarın"
|
|
||||||
developer:
|
|
||||||
# title: 'Developers'
|
|
||||||
# create_application: 'Create your third application'
|
|
||||||
docs:
|
|
||||||
title: 'Dokümantasyon'
|
|
||||||
# annotate: 'Annotate your article'
|
|
||||||
export: 'Makalelerinizi ePUB ya da PDF formatına çevirme'
|
|
||||||
search_filters: 'Makaleleri görüntülemek için arama motorlarını ve filteri kullanma'
|
|
||||||
# fetching_errors: 'What can I do if an article encounters errors during fetching?'
|
|
||||||
all_docs: 'Ve daha fazlası!'
|
|
||||||
support:
|
|
||||||
title: 'Destek'
|
|
||||||
description: 'Eğer yardıma ihtiyacınız varsa, biz her daim senin için burada olacağız.'
|
|
||||||
github: 'GitHub'
|
|
||||||
email: 'E-posta'
|
|
||||||
gitter: 'Gitter'
|
|
||||||
|
|
||||||
tag:
|
# Howto
|
||||||
page_title: 'Etiketler'
|
Form: "Form"
|
||||||
list:
|
Thanks to this form: "Yeni makale kaydet"
|
||||||
number_on_the_page: '{0} Herhangi bir etiket yok.|{1} Burada bir adet etiket var.|]1,Inf[ Burada %count% adet etiket var.'
|
Browser addons: "Tarayıcı eklentileri"
|
||||||
|
Mobile apps: "Mobil uygulamalar"
|
||||||
|
Bookmarklet: "Bookmarklet"
|
||||||
|
Standard Firefox Add-On: "Standart Firefox Eklentisi"
|
||||||
|
Chrome Extension: "Chrome Eklentisi"
|
||||||
|
download the application: "uygulamayı indir"
|
||||||
|
"Drag & drop this link to your bookmarks bar:": "Bu bağlantı ile yer imlerinizi sürükleyip bırakarak wallabag'e ekleyebilirsiniz:"
|
||||||
|
via F-Droid: "F-Droid"
|
||||||
|
via Google Play: "Google Play"
|
||||||
|
bag it!: "bag it!"
|
||||||
|
|
||||||
import:
|
# Flash messages
|
||||||
page_title: 'İçe Aktar'
|
Information updated: "Bilgiler güncellendi"
|
||||||
page_description: 'wallabag içe aktarma aracına hoşgeldiniz. Lütfen içe aktarmak istediğiiz önceki servisinizi seçin.'
|
"Config saved. Some parameters will be considered after disconnection.": "Yapılandırma ayarları kaydedildi. Bazı yapılandırmalar tekrar giriş yaptığınızda aktif olacaktır."
|
||||||
action:
|
RSS information updated: "RSS bilgiler güncellendi"
|
||||||
import_contents: 'İçe Aktar contents'
|
Password updated: "Şifre güncellendi"
|
||||||
form:
|
Entry starred: "Makale favorilere eklendi"
|
||||||
# mark_as_read_title: 'Mark all as read?'
|
Entry unstarred: "Makale favorilerden çıkartıldı"
|
||||||
# mark_as_read_label: 'Mark all imported entries as read'
|
Entry archived: "Makale arşivlendi"
|
||||||
file_label: 'Dosya'
|
Entry unarchived: "Makale arşivden çıkartıldı"
|
||||||
save_label: 'Dosyayı yükle'
|
Entry reloaded: "Makale içeriği yenilendi"
|
||||||
pocket:
|
Entry deleted: "Makale silindi"
|
||||||
page_title: 'İçe Aktar > Pocket'
|
Entry saved: "Makale kaydedildi"
|
||||||
description: "Bu araç tüm Pocket verinizi içe aktarır. Pocket içeriklerin getirilmesine izin vermez, okunabilen içerikler wallabag tarafından yeniden getirilir."
|
Tag added: "Etiket eklendi"
|
||||||
config_missing:
|
|
||||||
# description: "Pocket import isn't configured."
|
|
||||||
# admin_message: 'You need to define %keyurls%a pocket_consumer_key%keyurle%.'
|
|
||||||
# user_message: 'Your server admin needs to define an API Key for Pocket.'
|
|
||||||
authorize_message: 'Pocket hesabınızda verilerinizi içe aktarabilmemiz için öncelikle aşağıdaki butona tıklayın. Daha sonra, getpocket.com üzerindeki uygulamamıza gereken izinleri verin. Hepsi bu kadar!'
|
|
||||||
connect_to_pocket: "Pocket'a bağlanın ve verilerinizi içe aktarın"
|
|
||||||
wallabag_v1:
|
|
||||||
page_title: 'İçe Aktar > Wallabag v1'
|
|
||||||
description: 'Bu araç wallabag v1 üzerindeki tüm makalelerinizi içe aktarır. Yapılandırma sayfasında, "Export your wallabag data" sekmesinden "JSON export" adımını izleyin. Bu adım size "wallabag-export-1-xxxx-xx-xx.json" isimli bir dosya verecektir.'
|
|
||||||
how_to: 'Aşağıdaki butona tıklayarak wallabag v1 tarafından dışa aktarılmış dosyanızı yükleyin.'
|
|
||||||
wallabag_v2:
|
|
||||||
page_title: 'İçe Aktar > Wallabag v2'
|
|
||||||
# description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
|
|
||||||
|
|
||||||
developer:
|
# Entry
|
||||||
# page_title: 'Developer'
|
Mark as read: 'Okundu olarak işaretle'
|
||||||
# welcome_message: 'Welcome to the wallabag API'
|
Mark as unread: 'Okunmadı olarak işaretle'
|
||||||
# documentation: 'Documentation'
|
Favorite: 'Favorilere ekle/çıkar'
|
||||||
# how_to_first_app: 'How to create my first application'
|
back: 'geri dön'
|
||||||
# full_documentation: 'View full API documentation'
|
original article: 'Orijinal makale'
|
||||||
# clients:
|
Add a tag: 'Bir etiket ekle'
|
||||||
# title: 'Clients'
|
Share: 'Paylaş'
|
||||||
# create_new: 'Create a new client'
|
Download: 'İndir'
|
||||||
# existing_clients:
|
Does this article appear wrong?: "Bu makalede herhangi bir yanlışlık mı var?"
|
||||||
# title: 'Existing clients'
|
Problems?: 'Bir sorun mu var?'
|
||||||
# field_id: 'Client ID'
|
Edit title: "Başlığı düzenle"
|
||||||
# field_secret: 'Client secret'
|
"{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.": "{0} Herhangi bir makale yok.|{1} Burada bir adet makale var.|]1,Inf[ Burada %count% adet makale var."
|
||||||
# field_uris: 'Redirect URIs'
|
"{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.": "{0} Herhangi bir etiket yok.|{1} Burada bir adet etiket var.|]1,Inf[ Burada %count% adet etiket var."
|
||||||
# field_grant_types: 'Grant type allowed'
|
Reload content: "İçeriği yenile"
|
||||||
# no_client: 'No client yet.'
|
Edit an entry: "Makaleyi düzenle"
|
||||||
# remove:
|
Title: "Başlık"
|
||||||
# warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !'
|
Is public: "Herkes tarafından erişime açık olsun mu?"
|
||||||
# warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
|
|
||||||
# action: 'Remove this client'
|
|
||||||
# client:
|
|
||||||
# page_title: 'Developer > New client'
|
|
||||||
# page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
|
|
||||||
# form:
|
|
||||||
# redirect_uris_label: 'Redirect URIs'
|
|
||||||
# save_label: 'Create a new client'
|
|
||||||
# action_back: 'Back'
|
|
||||||
# client_parameter:
|
|
||||||
# page_title: 'Developer > Client parameters'
|
|
||||||
# page_description: 'Here are your client parameters.'
|
|
||||||
# field_id: 'Client ID'
|
|
||||||
# field_secret: 'Client secret'
|
|
||||||
# back: 'Back'
|
|
||||||
# read_howto: 'Read the howto "Create my first application"'
|
|
||||||
# howto:
|
|
||||||
# page_title: 'Developer > How to create my first application'
|
|
||||||
# description:
|
|
||||||
# paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.'
|
|
||||||
# paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.'
|
|
||||||
# paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.'
|
|
||||||
# paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):'
|
|
||||||
# paragraph_5: 'The API will return a response like this:'
|
|
||||||
# paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:'
|
|
||||||
# paragraph_7: 'This call will return all the entries for your user.'
|
|
||||||
# paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.'
|
|
||||||
# back: 'Back'
|
|
||||||
|
|
||||||
validator:
|
# Import
|
||||||
# password_must_match: 'The password fields must match.'
|
Import: "İçe Aktar"
|
||||||
# password_too_short: 'Password should by at least 8 chars long'
|
"Import > Pocket": "İçe Aktar > Pocket"
|
||||||
# password_wrong_value: 'Wrong value for your current password'
|
"Import > Wallabag v1": "İçe Aktar > Wallabag v1"
|
||||||
# item_per_page_too_high: 'This will certainly kill the app'
|
Welcome to wallabag importer. Please select your previous service that you want to migrate.: "wallabag içe aktarma aracına hoşgeldiniz. Lütfen içe aktarmak istediğiiz önceki servisinizi seçin."
|
||||||
# rss_limit_too_hight: 'This will certainly kill the app'
|
"This importer will import all your Pocket data. Pocket doesn't allow us to retrieve content from their service, so the readable content of each article will be re-fetched by wallabag.": "Bu araç tüm Pocket verinizi içe aktarır. Pocket içeriklerin getirilmesine izin vermez, okunabilen içerikler wallabag tarafından yeniden getirilir."
|
||||||
|
"This importer will import all your wallabag v1 articles. On your config page, click on \"JSON export\" in the \"Export your wallabag data\" section. You will have a \"wallabag-export-1-xxxx-xx-xx.json\" file.": "Bu araç wallabag v1 üzerindeki tüm makalelerinizi içe aktarır. Yapılandırma sayfasında, \"Export your wallabag data\" sekmesinden \"JSON export\" adımını izleyin. Bu adım size \"wallabag-export-1-xxxx-xx-xx.json\" isimli bir dosya verecektir."
|
||||||
|
"You can import your data from your Pocket account. You just have to click on the below button and authorize the application to connect to getpocket.com.": "Pocket hesabınızda verilerinizi içe aktarabilmemiz için öncelikle aşağıdaki butona tıklayın. Daha sonra, getpocket.com üzerindeki uygulamamıza gereken izinleri verin. Hepsi bu kadar!"
|
||||||
|
Connect to Pocket and import data: "Pocket'a bağlanın ve verilerinizi içe aktarın"
|
||||||
|
Please select your wallabag export and click on the below button to upload and import it.: "Aşağıdaki butona tıklayarak wallabag v1 tarafından dışa aktarılmış dosyanızı yükleyin."
|
||||||
|
File: "Dosya"
|
||||||
|
Upload file: "Dosyayı yükle"
|
||||||
|
Import contents: "İçerikleri içe aktar"
|
||||||
|
|
||||||
flashes:
|
# Quickstart
|
||||||
config:
|
Welcome to wallabag!: "wallabag"
|
||||||
notice:
|
Quickstart: "Hızlı başlangıç"
|
||||||
config_saved: 'Yapılandırma ayarları kaydedildi. Bazı yapılandırmalar tekrar giriş yaptığınızda aktif olacaktır.'
|
We'll accompany you to visit wallabag and show you some features which can interess you.: "wallabag kurduğunuz için teşekkür ederiz. Bu sayfada biz size eşlik edecek ve ilginizi çekecek birkaç özellik göstereceğim."
|
||||||
password_updated: 'Şifre güncellendi'
|
Follow us!: "Bizi takip edin!"
|
||||||
password_not_updated_demo: "In demonstration mode, you can't change password for this user."
|
Configure the application: "Uygulamayı Yapılandırma"
|
||||||
user_updated: 'Bilgiler güncellendi'
|
Change language and design: "Dili ve tasarımı değiştirme"
|
||||||
rss_updated: 'RSS bilgiler güncellendi'
|
Enable RSS feeds: "RSS akışını aktifleştirme"
|
||||||
tagging_rules_updated: 'Tagging rules updated'
|
First steps: "İlk adım"
|
||||||
tagging_rules_deleted: 'Tagging rule deleted'
|
Save your first article: "İlk makalenizi kaydedin"
|
||||||
user_added: 'User "%username%" added'
|
And classify it!: "Ve bunu sınıflandırın!"
|
||||||
rss_token_updated: 'RSS token updated'
|
Migrate from an existing service: "Varolan servislerden veri aktarma"
|
||||||
entry:
|
You're using an other service? We'll help you to retrieve your data on wallabag.: "Kullanmakta olduğunuz farklı bir hizmet mi var? Biz size yardımcı olacak ve verilerinizi wallabag'e aktarmanıza yardımcı olacağız."
|
||||||
notice:
|
Migrate from Pocket: "Pocket üzerindeki verilerinizi wallabag'e aktarın"
|
||||||
entry_already_saved: 'Entry already saved on %date%'
|
Migrate from wallabag v1: "wallabag v1 üzerindeki verilerinizi wallabag'in yeni sürümüne aktarın"
|
||||||
entry_saved: 'Makale kaydedildi'
|
Full documentation: "Dokümantasyon"
|
||||||
# entry_updated: 'Entry updated'
|
Convert your articles into ePUB or PDF: "Makalelerinizi ePUB ya da PDF formatına çevirme"
|
||||||
entry_reloaded: 'Makale içeriği yenilendi'
|
See how you can look for an article by using search engine and filters: "Makaleleri görüntülemek için arama motorlarını ve filteri kullanma"
|
||||||
# entry_reload_failed: 'Failed to reload entry'
|
And so many other articles!: "Ve daha fazlası!"
|
||||||
entry_archived: 'Makale arşivlendi'
|
Support: "Destek"
|
||||||
entry_unarchived: 'Makale arşivden çıkartıldı'
|
Social: "Sosyal"
|
||||||
entry_starred: 'Makale favorilere eklendi'
|
If you need some help, we are here for you.: "Eğer yardıma ihtiyacınız varsa, biz her daim senin için burada olacağız."
|
||||||
entry_unstarred: 'Makale favorilerden çıkartıldı'
|
On GitHub: "GitHub"
|
||||||
entry_deleted: 'Makale silindi'
|
By email: "E-posta"
|
||||||
tag:
|
On Gitter: "Gitter"
|
||||||
notice:
|
Export: "Dışa Aktar"
|
||||||
tag_added: 'Etiket eklendi'
|
"http://website": "http://internet-sitesi"
|
||||||
import:
|
Take wallabag with you: "wallabag her an seninle"
|
||||||
notice:
|
about: "hakkımızda"
|
||||||
# failed: 'Import failed, please try again.'
|
powered by: "powered by"
|
||||||
# failed_on_file: 'Error while processing import. Please verify your import file.'
|
|
||||||
# summary: 'Import summary: %imported% imported, %skipped% already saved.'
|
|
||||||
developer:
|
|
||||||
notice:
|
|
||||||
# client_created: 'New client created.'
|
|
||||||
# client_deleted: 'Client deleted'
|
|
||||||
|
|||||||
@ -0,0 +1,3 @@
|
|||||||
|
# Config screen
|
||||||
|
The password fields must match: 'De indtastede adgangskoder skal være ens'
|
||||||
|
Password should by at least 8 chars long: 'Adgangskoden skal være mindst 8 tegn'
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
# Config screen
|
||||||
|
The password fields must match: 'رمزها باید یکی باشند'
|
||||||
|
Password should by at least 8 chars long: 'رمز شما باید ۸ حرف یا بیشتر باشد'
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
# Config screen
|
||||||
|
The password fields must match: 'Les deux mots de passe doivent être les mêmes'
|
||||||
|
Password should by at least 8 chars long: 'Le mot de passe doit contenir au moins 8 caractères'
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
# Config screen
|
||||||
|
The password fields must match: 'Hasło w polach musi być takie same '
|
||||||
|
Password should by at least 8 chars long: 'Hasło powinno mieć minimum 8 znaków długości'
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
# Config screen
|
||||||
|
The password fields must match: 'Câmpurile destinate parolelor trebuie să se potrivească'
|
||||||
|
Password should by at least 8 chars long: 'Parola ar trebui să conțină cel puțin 8 caractere'
|
||||||
@ -47,7 +47,7 @@
|
|||||||
<script src="{{ asset('bundles/wallabagcore/themes/_global/js/annotator.min.js') }}"></script>
|
<script src="{{ asset('bundles/wallabagcore/themes/_global/js/annotator.min.js') }}"></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
<title>wallabag - {% block title %}{% endblock %}</title>
|
<title>{% block title %}{% endblock %}</title>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -70,6 +70,10 @@
|
|||||||
|
|
||||||
{% block footer %}{% endblock %}
|
{% block footer %}{% endblock %}
|
||||||
|
|
||||||
|
<div id="warning_message">
|
||||||
|
You're trying wallabag v2, which is in beta version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new one if necessary</a>.
|
||||||
|
</div>
|
||||||
|
|
||||||
{% if craue_setting('piwik_enabled') %}
|
{% if craue_setting('piwik_enabled') %}
|
||||||
{{ piwik(craue_setting('piwik_host'), craue_setting('piwik_site_id')) }}
|
{{ piwik(craue_setting('piwik_host'), craue_setting('piwik_site_id')) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}{{ 'config.page_title'|trans }}{% endblock %}
|
{% block title %}{% trans %}Config{% endtrans %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>{{ 'config.tab_menu.settings'|trans }}</h2>
|
<h2>{% trans %}Wallabag configuration{% endtrans %}</h2>
|
||||||
|
|
||||||
{{ form_start(form.config) }}
|
{{ form_start(form.config) }}
|
||||||
{{ form_errors(form.config) }}
|
{{ form_errors(form.config) }}
|
||||||
@ -24,18 +24,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset class="w500p inline">
|
|
||||||
<div class="row">
|
|
||||||
{{ form_label(form.config.reading_speed) }}
|
|
||||||
{{ form_errors(form.config.reading_speed) }}
|
|
||||||
{{ form_widget(form.config.reading_speed) }}
|
|
||||||
<p>
|
|
||||||
{{ 'config.form_settings.reading_speed.help_message'|trans }}
|
|
||||||
<a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
<fieldset class="w500p inline">
|
<fieldset class="w500p inline">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{{ form_label(form.config.language) }}
|
{{ form_label(form.config.language) }}
|
||||||
@ -47,13 +35,13 @@
|
|||||||
{{ form_rest(form.config) }}
|
{{ form_rest(form.config) }}
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<h2>{{ 'config.tab_menu.rss'|trans }}</h2>
|
<h2>{% trans %}RSS configuration{% endtrans %}</h2>
|
||||||
|
|
||||||
{{ form_start(form.rss) }}
|
{{ form_start(form.rss) }}
|
||||||
{{ form_errors(form.rss) }}
|
{{ form_errors(form.rss) }}
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{{ 'config.form_rss.description'|trans }}
|
{% trans %}RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader.{% endtrans %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<fieldset class="w500p inline">
|
<fieldset class="w500p inline">
|
||||||
@ -62,31 +50,27 @@
|
|||||||
{% if rss.token %}
|
{% if rss.token %}
|
||||||
{{ rss.token }}
|
{{ rss.token }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<em>{{ 'config.form_rss.no_token'|trans }}</em>
|
<em>No token</em>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
–
|
–
|
||||||
<a href="{{ path('generate_token') }}">
|
<a href="{{ path('generate_token') }}">Regenerate ?</a>
|
||||||
{% if rss.token %}
|
|
||||||
{{ 'config.form_rss.token_reset'|trans }}
|
|
||||||
{% else %}
|
|
||||||
{{ 'config.form_rss.token_create'|trans }}
|
|
||||||
{% endif %}
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
{% if rss.token %}
|
|
||||||
<fieldset class="w500p inline">
|
<fieldset class="w500p inline">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label>{{ 'config.form_rss.rss_links'|trans }}</label>
|
<label>Rss links:</label>
|
||||||
<ul>
|
{% if rss.token %}
|
||||||
<li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">unread</a></li>
|
<ul>
|
||||||
<li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">fav</a></li>
|
<li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">unread</a></li>
|
||||||
<li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">archives</a></li>
|
<li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">fav</a></li>
|
||||||
</ul>
|
<li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">archives</a></li>
|
||||||
|
</ul>
|
||||||
|
{% else %}
|
||||||
|
<strong>You need to generate a token first.</strong>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<fieldset class="w500p inline">
|
<fieldset class="w500p inline">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@ -99,7 +83,7 @@
|
|||||||
{{ form_rest(form.rss) }}
|
{{ form_rest(form.rss) }}
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<h2>{{ 'config.tab_menu.user_info'|trans }}</h2>
|
<h2>{% trans %}User information{% endtrans %}</h2>
|
||||||
|
|
||||||
{{ form_start(form.user) }}
|
{{ form_start(form.user) }}
|
||||||
{{ form_errors(form.user) }}
|
{{ form_errors(form.user) }}
|
||||||
@ -122,7 +106,7 @@
|
|||||||
|
|
||||||
{% if twofactor_auth %}
|
{% if twofactor_auth %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{{ 'config.form_user.two_factor_description'|trans }}
|
{% trans %}Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion{% endtrans %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<fieldset class="w500p inline">
|
<fieldset class="w500p inline">
|
||||||
@ -137,7 +121,7 @@
|
|||||||
{{ form_rest(form.user) }}
|
{{ form_rest(form.user) }}
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<h2>{{ 'config.tab_menu.password'|trans }}</h2>
|
<h2>{% trans %}Change your password{% endtrans %}</h2>
|
||||||
|
|
||||||
{{ form_start(form.pwd) }}
|
{{ form_start(form.pwd) }}
|
||||||
{{ form_errors(form.pwd) }}
|
{{ form_errors(form.pwd) }}
|
||||||
@ -169,16 +153,13 @@
|
|||||||
{{ form_rest(form.pwd) }}
|
{{ form_rest(form.pwd) }}
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<h2>{{ 'config.tab_menu.rules'|trans }}}</h2>
|
<h2>{% trans %}Tagging rules{% endtrans %}</h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
{% for tagging_rule in app.user.config.taggingRules %}
|
{% for tagging_rule in app.user.config.taggingRules %}
|
||||||
<li>
|
<li>
|
||||||
{{ 'config.form_rules.if_label'|trans }}
|
if « {{ tagging_rule.rule }} » then tag as « {{ tagging_rule.tags|join(', ') }} »
|
||||||
« {{ tagging_rule.rule }} »
|
<a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{% trans %}Delete{% endtrans %}" class="tool delete icon-trash icon"></a>
|
||||||
{{ 'config.form_rules.then_tag_as_label'|trans }}
|
|
||||||
« {{ tagging_rule.tags|join(', ') }} »
|
|
||||||
<a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}" class="tool delete icon-trash icon"></a>
|
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
@ -206,7 +187,7 @@
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
{% if is_granted('ROLE_SUPER_ADMIN') %}
|
{% if is_granted('ROLE_SUPER_ADMIN') %}
|
||||||
<h2>{{ 'config.tab_menu.new_user'|trans }}</h2>
|
<h2>{% trans %}Add a user{% endtrans %}</h2>
|
||||||
|
|
||||||
{{ form_start(form.new_user) }}
|
{{ form_start(form.new_user) }}
|
||||||
{{ form_errors(form.new_user) }}
|
{{ form_errors(form.new_user) }}
|
||||||
|
|||||||
@ -1,31 +0,0 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
|
||||||
|
|
||||||
{% block title %}{{ 'developer.client.page_title'|trans }}{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div class="row">
|
|
||||||
<div class="col s12">
|
|
||||||
<div class="card-panel settings">
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<p>{{ 'developer.client.page_description'|trans }}</p>
|
|
||||||
{{ form_start(form) }}
|
|
||||||
{{ form_errors(form) }}
|
|
||||||
|
|
||||||
<div class="input-field col s12">
|
|
||||||
{{ form_label(form.redirect_uris) }}
|
|
||||||
{{ form_errors(form.redirect_uris) }}
|
|
||||||
{{ form_widget(form.redirect_uris) }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client.action_back'|trans }}</a>
|
|
||||||
{{ form_widget(form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
|
|
||||||
|
|
||||||
{{ form_rest(form) }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
|
||||||
|
|
||||||
{% block title %}{{ 'developer.client_parameter.page_title'|trans }}{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div class="row">
|
|
||||||
<div class="col s12">
|
|
||||||
<div class="card-panel settings">
|
|
||||||
<div class="row">
|
|
||||||
<p>{{ 'developer.client_parameter.page_description'|trans }}</p>
|
|
||||||
<ul>
|
|
||||||
<li>{{ 'developer.client_parameter.field_id'|trans }}: <strong><pre>{{ client_id }}</pre></strong></li>
|
|
||||||
<li>{{ 'developer.client_parameter.field_secret'|trans }}: <strong><pre>{{ client_secret }}</pre></strong></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client_parameter.back'|trans }}</a>
|
|
||||||
<a href="{{ path('developer_howto_firstapp') }}" class="btn waves-effect waves-light">{{ 'developer.client_parameter.read_howto'|trans }}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
@ -1,63 +0,0 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
|
||||||
|
|
||||||
{% block title %}{{ 'developer.howto.page_title'|trans }}{% endblock %}
|
|
||||||
|
|
||||||
{% block css %}
|
|
||||||
{{ parent() }}
|
|
||||||
<link rel="stylesheet" href="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/themes/prism-dark.min.css') }}">
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div class="row">
|
|
||||||
<div class="col s12">
|
|
||||||
<div class="card-panel settings">
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<p>{{ 'developer.howto.description.paragraph_1'|trans|raw }}</p>
|
|
||||||
<p>{{ 'developer.howto.description.paragraph_2'|trans }}</p>
|
|
||||||
<p>{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}</p>
|
|
||||||
<p>{{ 'developer.howto.description.paragraph_4'|trans }}</p>
|
|
||||||
<p>
|
|
||||||
<pre><code class="language-bash">http POST http://v2.wallabag.org/oauth/v2/token \
|
|
||||||
grant_type=password \
|
|
||||||
client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \
|
|
||||||
client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \
|
|
||||||
username=yourUsername \
|
|
||||||
password=yourPassw0rd</code></pre>
|
|
||||||
</p>
|
|
||||||
<p>{{ 'developer.howto.description.paragraph_5'|trans }}</p>
|
|
||||||
<p>
|
|
||||||
<pre><code class="language-bash">HTTP/1.1 200 OK
|
|
||||||
Cache-Control: no-store, private
|
|
||||||
Connection: close
|
|
||||||
Content-Type: application/json
|
|
||||||
Date: Tue, 06 Oct 2015 18:24:03 GMT
|
|
||||||
Host: localhost:8000
|
|
||||||
Pragma: no-cache
|
|
||||||
X-Debug-Token: be00a1
|
|
||||||
X-Debug-Token-Link: /profiler/be00a1
|
|
||||||
X-Powered-By: PHP/5.5.9-1ubuntu4.13
|
|
||||||
{
|
|
||||||
"access_token": "ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw",
|
|
||||||
"expires_in": 3600,
|
|
||||||
"refresh_token": "ODBjODU1NWUwNmUzZTBkNDQ5YWVlZTVlMjQ2Y2I0OWM2NTM1ZGM2M2Y3MDhjMTViM2U2MzYxYzRkMDk5ODRlZg",
|
|
||||||
"scope": null,
|
|
||||||
"token_type": "bearer"
|
|
||||||
}</code></pre>
|
|
||||||
</p>
|
|
||||||
<p>{{ 'developer.howto.description.paragraph_6'|trans }}</p>
|
|
||||||
<p>
|
|
||||||
<pre><code class="language-bash">http GET http://v2.wallabag.org/api/entries.json \
|
|
||||||
"Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre>
|
|
||||||
</p>
|
|
||||||
<p>{{ 'developer.howto.description.paragraph_7'|trans }}</p>
|
|
||||||
<p>{{ 'developer.howto.description.paragraph_8'|trans({'%link%': path('nelmio_api_doc_index')})|raw }}</p>
|
|
||||||
<p><a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.howto.back'|trans }}</a></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script src="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/prism.min.js') }}"></script>
|
|
||||||
<script src="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/components/prism-bash.min.js') }}"></script>
|
|
||||||
{% endblock %}
|
|
||||||
@ -1,68 +0,0 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
|
||||||
|
|
||||||
{% block title %}{{ 'developer.page_title'|trans }}{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div class="row">
|
|
||||||
<div class="col s12">
|
|
||||||
<div class="card-panel settings">
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<h3>{{ 'developer.welcome_message'|trans }}</h3>
|
|
||||||
|
|
||||||
<h4>{{ 'developer.documentation'|trans }}</h4>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li>
|
|
||||||
<li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.full_documentation'|trans }}</a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h4>{{ 'developer.clients.title'|trans }}</h4>
|
|
||||||
<ul>
|
|
||||||
<li><a href="{{ path('developer_create_client') }}">{{ 'developer.clients.create_new'|trans }}</a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h4>{{ 'developer.existing_clients.title'|trans }}</h4>
|
|
||||||
{% if clients %}
|
|
||||||
<ul class="collapsible" data-collapsible="expandable">
|
|
||||||
{% for client in clients %}
|
|
||||||
<li>
|
|
||||||
<div class="collapsible-header">#{{ client.id }}</div>
|
|
||||||
<div class="collapsible-body">
|
|
||||||
<table class="striped">
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'developer.existing_clients.field_id'|trans }}</td>
|
|
||||||
<td><strong><code>{{ client.id }}_{{ client.randomId }}</code></strong></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'developer.existing_clients.field_secret'|trans }}</td>
|
|
||||||
<td><strong><code>{{ client.secret }}</code></strong></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'developer.existing_clients.field_uris'|trans }}</td>
|
|
||||||
<td><strong><code>{{ client.redirectUris|json_encode() }}</code></strong></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{{ 'developer.existing_clients.field_grant_types'|trans }}</td>
|
|
||||||
<td><strong><code>{{ client.allowedGrantTypes|json_encode() }}</code></strong></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p>
|
|
||||||
{{ 'developer.remove.warn_message_1'|trans }}<br/>
|
|
||||||
{{ 'developer.remove.warn_message_2'|trans }}<br/>
|
|
||||||
<a class="waves-effect waves-light red btn" href="{{ path('developer_delete_client', {'id': client.id}) }}">{{ 'developer.remove.action'|trans }}</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% else %}
|
|
||||||
{{ 'developer.existing_clients.no_client'|trans }}
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}{{ 'entry.edit.page_title'|trans }}{% endblock %}
|
{% block title %}{% trans %}Edit an entry{% endtrans %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{{ form(form) }}
|
{{ form(form) }}
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}{{ 'entry.page_titles.unread'|trans }}{% endblock %}
|
{% block title "Unread" %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% block pager %}
|
{% block pager %}
|
||||||
<div class="results">
|
<div class="results">
|
||||||
<div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div>
|
<div class="nb-results">{{ entries.count }} {% trans %}entries{% endtrans %}</div>
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<a href="#" id="filter">{{ 'entry.filters.title'|trans }}</a>
|
<a href="#" id="filter">{% trans %}Filter{% endtrans %}</a>
|
||||||
{% if entries is not empty %}
|
{% if entries is not empty %}
|
||||||
–
|
–
|
||||||
{% for p in range(1, entries.nbPages) if entries.nbPages > 1 %}
|
{% for p in range(1, entries.nbPages) if entries.nbPages > 1 %}
|
||||||
@ -20,64 +20,68 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% for entry in entries %}
|
{% if entries is empty %}
|
||||||
<div id="entry-{{ entry.id|e }}" class="entry">
|
<div class="messages warning"><p>{% trans %}No articles found.{% endtrans %}</p></div>
|
||||||
<h2><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></h2>
|
{% else %}
|
||||||
{% if entry.readingTime > 0 %}
|
{% for entry in entries %}
|
||||||
<div class="estimatedTime">
|
<div id="entry-{{ entry.id|e }}" class="entry">
|
||||||
<span class="tool reading-time">
|
<h2><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></h2>
|
||||||
{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': entry.readingTime}) }}
|
{% if entry.readingTime > 0 %}
|
||||||
</span>
|
<div class="estimatedTime">
|
||||||
</div>
|
<span class="tool reading-time">
|
||||||
{% else %}
|
{% trans with {'%readingTime%': entry.readingTime } %}estimated reading time: %readingTime% min{% endtrans %}
|
||||||
<div class="estimatedTime">
|
</span>
|
||||||
<span class="tool reading-time">
|
</div>
|
||||||
{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
|
{% else %}
|
||||||
</span>
|
<div class="estimatedTime">
|
||||||
</div>
|
<span class="tool reading-time">
|
||||||
{% endif %}
|
{% trans with {'%inferior%': '<small class="inferieur"><</small>'} %}estimated reading time: %inferior% 1 min{% endtrans %}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<ul class="tools links">
|
<ul class="tools links">
|
||||||
<li><a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool icon-check icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{{ 'entry.list.toogle_as_read'|trans }}</span></a></li>
|
<li><a title="{% trans %}Toggle mark as read{% endtrans %}" class="tool icon-check icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
|
||||||
<li><a title="{{ 'entry.list.toogle_as_star'|trans }}" class="tool icon-star icon {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{{ 'entry.list.toogle_as_star'|trans }}</span></a></li>
|
<li><a title="{% trans %}toggle favorite{% endtrans %}" class="tool icon-star icon {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}toggle favorite{% endtrans %}</span></a></li>
|
||||||
<li><a title="{{ 'entry.list.delete'|trans }}" class="tool delete icon-trash icon" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{{ 'entry.list.delete'|trans }}</span></a></li>
|
<li><a title="{% trans %}delete{% endtrans %}" class="tool delete icon-trash icon" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{% trans %}delete{% endtrans %}</span></a></li>
|
||||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.list.original_article'|trans }} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.domainName|removeWww }}</span></a></li>
|
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.domainName|removeWww }}</span></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
{% if entry.previewPicture is null %}
|
{% if entry.previewPicture is null %}
|
||||||
<p>{{ entry.content|striptags|slice(0, 300) }}…</p>
|
<p>{{ entry.content|striptags|slice(0, 300) }}…</p>
|
||||||
{% else %}
|
{% else %}
|
||||||
<img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" />
|
<img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<aside id="filter-form" class="">
|
<aside id="filter-form" class="">
|
||||||
<form method="get" action="{{ path('all') }}">
|
<form method="get" action="{{ path('all') }}">
|
||||||
<h2>{{ 'entry.filters.title'|trans }}</h2>
|
<h2>{% trans %}Filters{% endtrans %}</h2>
|
||||||
<a href="javascript: void(null);" id="filter-form-close" class="close-button--popup close-button">×</a>
|
<a href="javascript: void(null);" id="filter-form-close" class="close-button--popup close-button">×</a>
|
||||||
|
|
||||||
<div id="filter-status" class="filter-group">
|
<div id="filter-status" class="filter-group">
|
||||||
<div class="">
|
<div class="">
|
||||||
<label>{{ 'entry.filters.status_label'|trans }}</label>
|
<label>{% trans %}Status{% endtrans %}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
{{ form_widget(form.isArchived) }}
|
{{ form_widget(form.isArchived) }}
|
||||||
{{ form_label(form.isArchived) }}
|
<label for="entry_filter_isArchived">{% trans %}Archived{% endtrans %}</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
{{ form_widget(form.isStarred) }}
|
{{ form_widget(form.isStarred) }}
|
||||||
{{ form_label(form.isStarred) }}
|
<label for="entry_filter_isStarred">{% trans %}Starred{% endtrans %}</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
{{ form_widget(form.previewPicture) }}
|
{{ form_widget(form.previewPicture) }}
|
||||||
{{ form_label(form.previewPicture) }}
|
<label for="entry_filter_previewPicture">{% trans %}Has a preview picture{% endtrans %}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="filter-language" class="filter-group">
|
<div id="filter-language" class="filter-group">
|
||||||
{{ form_label(form.language) }}
|
<label for="entry_filter_language">{% trans %}Language{% endtrans %}</label>
|
||||||
<div class="input-field ">
|
<div class="input-field ">
|
||||||
{{ form_widget(form.language) }}
|
{{ form_widget(form.language) }}
|
||||||
</div>
|
</div>
|
||||||
@ -85,20 +89,20 @@
|
|||||||
|
|
||||||
<div id="filter-reading-time" class="filter-group">
|
<div id="filter-reading-time" class="filter-group">
|
||||||
<div class="">
|
<div class="">
|
||||||
{{ form_label(form.readingTime) }}
|
<label>{% trans %}Reading time in minutes{% endtrans %}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-field ">
|
<div class="input-field ">
|
||||||
<label for="entry_filter_readingTime_left_number">{{ 'entry.filters.reading_time.from'|trans }}</label>
|
<label for="entry_filter_readingTime_left_number">{% trans %}from{% endtrans %}</label>
|
||||||
{{ form_widget(form.readingTime.left_number, {'type': 'number'}) }}
|
{{ form_widget(form.readingTime.left_number, {'type': 'number'}) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="input-field ">
|
<div class="input-field ">
|
||||||
<label for="entry_filter_readingTime_right_number">{{ 'entry.filters.reading_time.to'|trans }}</label>
|
<label for="entry_filter_readingTime_right_number">{% trans %}to{% endtrans %}</label>
|
||||||
{{ form_widget(form.readingTime.right_number, {'type': 'number'}) }}
|
{{ form_widget(form.readingTime.right_number, {'type': 'number'}) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="filter-domain-name" class="filter-group">
|
<div id="filter-domain-name" class="filter-group">
|
||||||
{{ form_label(form.domainName) }}
|
<label for="entry_filter_domainName">{% trans %}Domain name{% endtrans %}</label>
|
||||||
<div class="input-field ">
|
<div class="input-field ">
|
||||||
{{ form_widget(form.domainName, {'type': 'text', 'attr' : {'placeholder': 'website.com'} }) }}
|
{{ form_widget(form.domainName, {'type': 'text', 'attr' : {'placeholder': 'website.com'} }) }}
|
||||||
</div>
|
</div>
|
||||||
@ -106,25 +110,26 @@
|
|||||||
|
|
||||||
<div id="filter-creation-date" class="filter-group">
|
<div id="filter-creation-date" class="filter-group">
|
||||||
<div class="">
|
<div class="">
|
||||||
{{ form_label(form.createdAt) }}
|
<label>{% trans %}Creation date{% endtrans %}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-field ">
|
<div class="input-field ">
|
||||||
<label for="entry_filter_createdAt_left_date" class="active">{{ 'entry.filters.created_at.from'|trans }}</label>
|
<label for="entry_filter_createdAt_left_date" class="active">{% trans %}from{% endtrans %}</label>
|
||||||
{{ form_widget(form.createdAt.left_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.left_date.vars.value} }) }}
|
{{ form_widget(form.createdAt.left_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.left_date.vars.value} }) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="input-field ">
|
<div class="input-field ">
|
||||||
<label for="entry_filter_createdAt_right_date" class="active">{{ 'entry.filters.created_at.to'|trans }}</label>
|
<label for="entry_filter_createdAt_right_date" class="active">{% trans %}to{% endtrans %}</label>
|
||||||
{{ form_widget(form.createdAt.right_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.right_date.vars.value} }) }}
|
{{ form_widget(form.createdAt.right_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.right_date.vars.value} }) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="filter-buttons" class="filter-group">
|
<div id="filter-buttons" class="filter-group">
|
||||||
|
|
||||||
<div class="">
|
<div class="">
|
||||||
<a href="#!" class="center waves-effect waves-green btn-flat" id="clear_form_filters">{{ 'entry.filters.action.clear'|trans }}</a>
|
<a href="#!" class="center waves-effect waves-green btn-flat" id="clear_form_filters">{% trans %}Clear{% endtrans %}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button class="btn waves-effect waves-light" type="submit" id="submit-filter" value="filter">{{ 'entry.filters.action.filter'|trans }}</button>
|
<button class="btn waves-effect waves-light" type="submit" id="submit-filter" value="filter">{% trans %}Filters{% endtrans %}</button>
|
||||||
</div>
|
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
|
|||||||
@ -18,9 +18,9 @@
|
|||||||
<description>
|
<description>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
{%- if entry.readingTime > 0 -%}
|
{%- if entry.readingTime > 0 -%}
|
||||||
{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': entry.readingTime}) }}
|
{% trans %}estimated reading time :{% endtrans %} {{ entry.readingTime }} min
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
|
{% trans %}estimated reading time :{% endtrans %} < 1 min
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
{{ entry.content|raw -}}
|
{{ entry.content|raw -}}
|
||||||
|
|||||||
@ -5,32 +5,32 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<div id="article">
|
<div id="article">
|
||||||
<header class="mbm">
|
<header class="mbm">
|
||||||
<h1>{{ entry.title|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
|
<h1>{{ entry.title|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{% trans %}Edit title{% endtrans %}">✎</a></h1>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div id="article_toolbar">
|
<div id="article_toolbar">
|
||||||
<ul class="links">
|
<ul class="links">
|
||||||
<li class="topPosF"><a href="#top" title="{{ 'entry.view.left_menu.back_to_top'|trans }}" class="tool top icon icon-arrow-up-thick"><span>{{ 'entry.view.left_menu.set_as_read'|trans }}</span></a></li>
|
<li class="topPosF"><a href="#top" title="{% trans %}Back to top{% endtrans %}" class="tool top icon icon-arrow-up-thick"><span>{% trans %}Back to top{% endtrans %}</span></a></li>
|
||||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.domainName|removeWww }}</span></a></li>
|
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.domainName|removeWww }}</span></a></li>
|
||||||
<li><a title="{{ 'entry.view.left_menu.re_fetch_content'|trans }}" class="tool icon icon-reload" href="{{ path('reload_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.re_fetch_content'|trans }}</span></a></li>
|
<li><a title="{% trans %}Re-fetch content{% endtrans %}" class="tool icon icon-reload" href="{{ path('reload_entry', { 'id': entry.id }) }}"><span>{% trans %}Re-fetch content{% endtrans %}</span></a></li>
|
||||||
<li><a title="{% if entry.isArchived == 0 %}{{ 'entry.view.left_menu.set_as_read'|trans }}{% else %}{{ 'entry.view.left_menu.set_as_unread'|trans }}{% endif %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% if entry.isArchived == 0 %}{{ 'entry.view.left_menu.set_as_read'|trans }}{% else %}{{ 'entry.view.left_menu.set_as_unread'|trans }}{% endif %}</span></a></li>
|
<li><a title="{% if entry.isArchived == 0 %}{% trans %}Mark as read{% endtrans %}{% else %}{% trans %}Mark as unread{% endtrans %}{% endif %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% if entry.isArchived == 0 %}{% trans %}Mark as read{% endtrans %}{% else %}{% trans %}Mark as unread{% endtrans %}{% endif %}</span></a></li>
|
||||||
<li><a title="{{ 'entry.view.left_menu.set_as_favorite'|trans }}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.set_as_favorite'|trans }}</span></a></li>
|
<li><a title="{% trans %}Favorite{% endtrans %}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle favorite{% endtrans %}</span></a></li>
|
||||||
<li><a id="nav-btn-add-tag" title="{{ 'entry.view.left_menu.add_a_tag'|trans }}"><span>{{ 'entry.view.left_menu.add_a_tag'|trans }}</span></a></li>
|
<li><a id="nav-btn-add-tag" title="{% trans %}Add a tag{% endtrans %}"><span>{% trans %}Tag{% endtrans %}</span></a></li>
|
||||||
<li><a title="{{ 'entry.view.left_menu.delete'|trans }}" class="tool delete icon icon-trash" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.delete'|trans }}</span></a></li>
|
<li><a title="{% trans %}Delete{% endtrans %}" class="tool delete icon icon-trash" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{% trans %}Delete{% endtrans %}</span></a></li>
|
||||||
{% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="Tweet"><span>Tweet</span></a></li>{% endif %}
|
{% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans %}Tweet{% endtrans %}"><span>{% trans %}Tweet{% endtrans %}</span></a></li>{% endif %}
|
||||||
{% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="Email"><span>Email</span></a></li>{% endif %}
|
{% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}"><span>{% trans %}Email{% endtrans %}</span></a></li>{% endif %}
|
||||||
{% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="shaarli"><span>shaarli</span></a></li>{% endif %}
|
{% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans %}shaarli{% endtrans %}"><span>{% trans %}shaarli{% endtrans %}</span></a></li>{% endif %}
|
||||||
{% if craue_setting('share_diaspora') %}<li><a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="diaspora"><span>diaspora</span></a></li>{% endif %}
|
{% if craue_setting('share_diaspora') %}<li><a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans %}diaspora{% endtrans %}"><span>{% trans %}diaspora{% endtrans %}</span></a></li>{% endif %}
|
||||||
{% if craue_setting('carrot') %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="carrot"><span>Carrot</span></a></li>{% endif %}
|
{% if craue_setting('carrot') %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans %}carrot{% endtrans %}"><span>Carrot</span></a></li>{% endif %}
|
||||||
{% if craue_setting('show_printlink') %}<li><a title="{{ 'entry.view.left_menu.print'|trans }}" class="tool icon icon-print" href="javascript: window.print();"><span>{{ 'entry.view.left_menu.re_fetch_content'|trans }}</span></a></li>{% endif %}
|
{% if craue_setting('show_printlink') %}<li><a title="{% trans %}Print{% endtrans %}" class="tool icon icon-print" href="javascript: window.print();"><span>{% trans %}Print{% endtrans %}</span></a></li>{% endif %}
|
||||||
{% if craue_setting('export_epub') %}<li><a href="?epub&method=id&value={{ entry.id }}" title="Generate ePub file">EPUB</a></li>{% endif %}
|
{% if craue_setting('export_epub') %}<li><a href="?epub&method=id&value={{ entry.id }}" title="Generate ePub file">EPUB</a></li>{% endif %}
|
||||||
{% if craue_setting('export_mobi') %}<li><a href="?mobi&method=id&value={{ entry.id }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
|
{% if craue_setting('export_mobi') %}<li><a href="?mobi&method=id&value={{ entry.id }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
|
||||||
{% if craue_setting('export_pdf') %}<li><a href="?pdf&method=id&value={{ entry.id }}" title="Generate PDF file">PDF</a></li>{% endif %}
|
{% if craue_setting('export_pdf') %}<li><a href="?pdf&method=id&value={{ entry.id }}" title="Generate PDF file">PDF</a></li>{% endif %}
|
||||||
<li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.label'|trans }}" class="tool bad-display icon icon-delete"><span>{{ 'entry.view.left_menu.problem.label'|trans }}</span></a></li>
|
<li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans %}Does this article appear wrong?{% endtrans %}" class="tool bad-display icon icon-delete"><span>{% trans %}Does this article appear wrong?{% endtrans %}</span></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
{% set nbAnnotations = entry.annotations | length %}
|
{% set nbAnnotations = entry.annotations | length %}
|
||||||
<span class="tool link mdi-communication-comment"> {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span>
|
<span class="tool link mdi-communication-comment"> {% transchoice nbAnnotations %}{0} No annotations|{1} One annotation|]1,Inf[ %nbAnnotations% annotations{% endtranschoice %}</span>
|
||||||
<aside class="tags">
|
<aside class="tags">
|
||||||
{% for tag in entry.tags %}
|
{% for tag in entry.tags %}
|
||||||
<span class="mdi-action-label-outline">{{ tag.label }}</span> <a href="{{ path('remove_tag', { 'entry': entry.id, 'tag': tag.id }) }}"><i>✘</i></a>
|
<span class="mdi-action-label-outline">{{ tag.label }}</span> <a href="{{ path('remove_tag', { 'entry': entry.id, 'tag': tag.id }) }}"><i>✘</i></a>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}{{ 'entry.new.page_title'|trans }}{% endblock %}
|
{% block title %}{% trans %}Save new entry{% endtrans %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{{ render(controller( "WallabagCoreBundle:Entry:addEntryForm" )) }}
|
{{ render(controller( "WallabagCoreBundle:Entry:addEntryForm" )) }}
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{{ form_label(form.url) }}
|
{{ form_label(form.url) }}
|
||||||
{{ form_widget(form.url, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.new.placeholder'} }) }}
|
{{ form_widget(form.url) }}
|
||||||
|
|
||||||
{{ form_rest(form) }}
|
<div class="hidden">{{ form_rest(form) }}</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -1,56 +1,57 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}{{ 'about.page_title'|trans }}{% endblock %}
|
{% block title %}{% trans %}About{% endtrans %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>{{ 'about.top_menu.who_behind_wallabag'|trans }}</h2>
|
<h2>{% trans %}Who is behind wallabag{% endtrans %}</h2>
|
||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
<dt>{{ 'about.who_behind_wallabag.developped_by'|trans }}</dt>
|
<dt>{% trans %}Developed by{% endtrans %}</dt>
|
||||||
<dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://www.loeuillet.org">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd>
|
<dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans %}website{% endtrans %}</a></dd>
|
||||||
<dd>Thomas Citharel — <a href="https://tcit.fr">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd>
|
<dd>Thomas Citharel — <a href="https://tcit.fr">{% trans %}website{% endtrans %}</a></dd>
|
||||||
<dd>Jérémy Benoist — <a href="http://www.j0k3r.net">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd>
|
<dd>Jérémy Benoist — <a href="http://www.j0k3r.net">{% trans %}website{% endtrans %}</a></dd>
|
||||||
|
|
||||||
<dt>{{ 'about.who_behind_wallabag.many_contributors'|trans|raw }}</dt>
|
<dt>{% trans %}And many others contributors ♥{% endtrans %} <a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans %}on Github{% endtrans %}</a></dt>
|
||||||
|
|
||||||
<dt>{{ 'about.who_behind_wallabag.project_website'|trans }}</dt>
|
<dt>{% trans %}Project website{% endtrans %}</dt>
|
||||||
<dd><a href="https://www.wallabag.org">https://www.wallabag.org</a></dd>
|
<dd><a href="https://www.wallabag.org">https://www.wallabag.org</a></dd>
|
||||||
|
|
||||||
<dt>{{ 'about.who_behind_wallabag.license'|trans }}: <a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dt>
|
<dt>{% trans %}License{% endtrans %}: <a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dt>
|
||||||
|
|
||||||
<dt>{{ 'about.who_behind_wallabag.version'|trans }}: {{ version }}</dt>
|
<dt>{% trans %}Version{% endtrans %}: {{ version }}</dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<h2>{{ 'about.top_menu.getting_help'|trans }}</h2>
|
<h2>{% trans %}Getting help{% endtrans %}</h2>
|
||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
<dt>{{ 'about.getting_help.documentation'|trans }}</dt>
|
<dt>{% trans %}Documentation{% endtrans %}</dt>
|
||||||
<dd><a href="http://doc.wallabag.org/en/v2/">english</a></dd>
|
<dd><a href="https://doc.wallabag.org/en">english</a></dd>
|
||||||
<dd><a href="http://doc.wallabag.org/fr/v2/">français</a></dd>
|
<dd><a href="https://doc.wallabag.org/fr">français</a></dd>
|
||||||
|
<dd><a href="https://doc.wallabag.org/de">deutsch</a></dd>
|
||||||
|
|
||||||
<dt>{{ 'about.getting_help.bug_reports'|trans }}</dt>
|
<dt>{% trans %}Bug reports{% endtrans %}</dt>
|
||||||
<dd>{{ 'about.getting_help.support'|trans|raw }}</dd>
|
<dd><a href="https://support.wallabag.org">{% trans %}On our support website{% endtrans %}</a> {% trans %}or{% endtrans %} <a href="https://github.com/wallabag/wallabag/issues">{% trans %}on Github{% endtrans %}</a></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<h2>{{ 'about.top_menu.helping'|trans }}</h2>
|
<h2>{% trans %}Helping wallabag{% endtrans %}</h2>
|
||||||
|
|
||||||
<p>{{ 'about.helping.description'|trans }}</p>
|
<p>{% trans %}wallabag is free and opensource. You can help us:{% endtrans %}</p>
|
||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
<dt>{{ 'about.helping.description'|trans }}</dt>
|
<dt>{% trans %}wallabag is free and opensource. You can help us:{% endtrans %}</dt>
|
||||||
<dd>{{ 'about.helping.by_contributing_2'|trans }} <a href="https://github.com/wallabag/wallabag/issues/1254">{{ 'about.helping.by_contributing'|trans }}</a></dd>
|
<dd>by contributing to the project: <a href="https://github.com/wallabag/wallabag/issues/1254">an issue lists all our needs</a></dd>
|
||||||
<dd><a href="{{ paypal_url }}">{{ 'about.helping.by_paypal'|trans }}</a></dd>
|
<dd><a href="{{ paypal_url }}">{% trans %}via Paypal{% endtrans %}</a></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<h2>{{ 'about.top_menu.contributors'|trans }}</h2>
|
<h2>{% trans %}Contributors{% endtrans %}</h2>
|
||||||
<p><a href="https://github.com/wallabag/wallabag/graphs/contributors">{{ 'about.contributors.description'|trans }}</a></p>
|
<p><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans %}Thank you to contributors on wallabag web application{% endtrans %}</a></p>
|
||||||
|
|
||||||
<h2>{{ 'about.top_menu.third_party'|trans }}</h2>
|
<h2>{% trans %}Third-party libraries{% endtrans %}</h2>
|
||||||
<p>{{ 'about.third_party.description'|trans }}</p>
|
<p>{% trans %}Here are the list of third-party libraries used in wallabag (with their licenses):{% endtrans %}</p>
|
||||||
<table class="striped">
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{{ 'about.third_party.package'|trans }}</th>
|
<th>{% trans %}Package{% endtrans %}</th>
|
||||||
<th>{{ 'about.third_party.license'|trans }}</th>
|
<th>{% trans %}License{% endtrans %}</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td>behat/transliterator</td><td>Artistic 1.0</td></tr>
|
<tr><td>behat/transliterator</td><td>Artistic 1.0</td></tr>
|
||||||
<tr><td>CraueConfigBundle</td><td>MIT</td></tr>
|
<tr><td>CraueConfigBundle</td><td>MIT</td></tr>
|
||||||
|
|||||||
@ -1,28 +1,28 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}{{ 'howto.page_title'|trans }}{% endblock %}
|
{% block title %}{% trans %}Howto{% endtrans %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>{{ 'howto.page_title'|trans }}</h2>
|
<h2>{% trans %}Howto{% endtrans %}</h2>
|
||||||
|
|
||||||
<p>{{ 'howto.page_description'|trans }}</p>
|
<p>{% trans %}There are several ways to save an article:{% endtrans %}</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{{ path('new') }}">{{ 'howto.form.description'|trans }}</a></li>
|
<li><a href="{{ path('new') }}">{% trans %}Thanks to this form{% endtrans %}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>{{ 'howto.top_menu.browser_addons'|trans }}</h3>
|
<h3>{% trans %}Browser Addons{% endtrans %}</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://addons.mozilla.org/firefox/addon/wallabag-v2/" target="_blank">{{ 'howto.browser_addons.firefox'|trans }}</a></li>
|
<li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans %}Standard Firefox Add-On{% endtrans %}</a></li>
|
||||||
<li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{{ 'howto.browser_addons.chrome'|trans }}</a></li>
|
<li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans %}Chrome Extension{% endtrans %}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>{{ 'howto.top_menu.mobile_apps'|trans }}</h3>
|
<h3>{% trans %}Mobile Apps{% endtrans %}</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{{ 'howto.mobile_apps.android.via_f_droid'|trans }}</a> / <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{{ 'howto.mobile_apps.android.via_google_play'|trans }}</a></li>
|
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">via F-Droid</a> {% trans %} or {% endtrans %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">via Google Play</a></li>
|
||||||
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{{ 'howto.mobile_apps.ios'|trans }}</a></li>
|
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans %}download the application{% endtrans %}</a></li>
|
||||||
<li>Windows Phone: <a href="http://www.windowsphone.com/en-US/store/app/wallabag/d5226cf1-f422-4e00-996c-88e9c5233332" target="_blank">{{ 'howto.mobile_apps.windows'|trans }}</a></li>
|
<li>Windows Phone: <a href="http://www.windowsphone.com/en-US/store/app/wallabag/d5226cf1-f422-4e00-996c-88e9c5233332" target="_blank">{% trans %}download the application{% endtrans %}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>{{ 'howto.top_menu.bookmarklet'|trans }}</h3>
|
<h3>{% trans %}Bookmarklet{% endtrans %}</h3>
|
||||||
<p>
|
<p>
|
||||||
{{ 'howto.bookmarklet.description'|trans }}
|
{% trans %}Drag & drop this link to your bookmarks bar:{% endtrans %}
|
||||||
{% include 'WallabagCoreBundle::_bookmarklet.html.twig' %}
|
{% include 'WallabagCoreBundle::_bookmarklet.html.twig' %}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@ -1,66 +1,40 @@
|
|||||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}{{ 'quickstart.page_title'|trans }}{% endblock %}
|
{% block title %}{% trans %}Quickstart{% endtrans %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<h3>{{ 'quickstart.intro.title'|trans }}</h3>
|
<h2>{% trans %}Welcome to wallabag!{% endtrans %}</h2>
|
||||||
<p>{{ 'quickstart.intro.paragraph_1'|trans }}</p>
|
<p>{% trans %}We'll accompany you to visit wallabag and show you some features which can interess you.{% endtrans %}</p>
|
||||||
<p>{{ 'quickstart.intro.paragraph_2'|trans }}</p>
|
<p>{% trans %}Follow us!{% endtrans %}</p>
|
||||||
|
<h4>{% trans %}Configure the application{% endtrans %}</h4>
|
||||||
<h4>{{ 'quickstart.configure.title'|trans }}</h4>
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{{ path('config') }}">{{ 'quickstart.configure.language'|trans }}</a></li>
|
<li><a href="{{ path('config') }}">{% trans %}Change language and design{% endtrans %}</a></li>
|
||||||
<li><a href="{{ path('config') }}#set2">{{ 'quickstart.configure.rss'|trans }}</a></li>
|
<li><a href="{{ path('config') }}#set2">{% trans %}Enable RSS feeds{% endtrans %}</a></li>
|
||||||
<li><a href="{{ path('config') }}#set5">{{ 'quickstart.configure.tagging_rules'|trans }}</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
<h3>{% trans %}First steps{% endtrans %}</h3>
|
||||||
{% if is_granted('ROLE_SUPER_ADMIN') %}
|
|
||||||
<h4>{{ 'quickstart.admin.title'|trans }}</h4>
|
|
||||||
<p>{{ 'quickstart.admin.description'|trans }}</p>
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{{ path('config') }}#set6">{{ 'quickstart.admin.new_user'|trans }}</a></li>
|
<li><a href="{{ path('new') }}">{% trans %}Save your first article{% endtrans %}</a></li>
|
||||||
<li><a href="{{ path('craue_config_settings_modify') }}#set-analytics">{{ 'quickstart.admin.analytics'|trans }}</a></li>
|
<li><a href="{{ path('unread') }}">{% trans %}And classify it!{% endtrans %}</a></li>
|
||||||
<li><a href="{{ path('craue_config_settings_modify') }}#set-entry">{{ 'quickstart.admin.sharing'|trans }}</a></li>
|
|
||||||
<li><a href="{{ path('craue_config_settings_modify') }}#set-export">{{ 'quickstart.admin.export'|trans }}</a></li>
|
|
||||||
<li><a href="{{ path('craue_config_settings_modify') }}#set-import">{{ 'quickstart.admin.import'|trans }}</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
<h3>{% trans %}Migrate from an existing service{% endtrans %}</h3>
|
||||||
|
<p>{% trans %}You're using an other service? We'll help you to retrieve your data on wallabag.{% endtrans %}</p>
|
||||||
<h4>{{ 'quickstart.first_steps.title'|trans }}</h4>
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{{ path('new') }}">{{ 'quickstart.first_steps.new_article'|trans }}</a></li>
|
<li><a href="{{ path('import_pocket') }}">{% trans %}Migrate from Pocket{% endtrans %}</a></li>
|
||||||
<li><a href="{{ path('unread') }}">{{ 'quickstart.first_steps.unread_articles'|trans }}</a></li>
|
<li><a href="{{ path('import_wallabag_v1') }}">{% trans %}Migrate from wallabag v1{% endtrans %}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<h3>{% trans %}Full documentation{% endtrans %}</h3>
|
||||||
<h4>{{ 'quickstart.migrate.title'|trans }}</h4>
|
|
||||||
<p>{{ 'quickstart.migrate.description'|trans }}</p>
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{{ path('import_pocket') }}">{{ 'quickstart.migrate.pocket'|trans }}</a></li>
|
<li><a href="http://wallabag.readthedocs.org">{% trans %}Convert your articles into ePUB or PDF{% endtrans %}</a></li>
|
||||||
<li><a href="{{ path('import_wallabag_v1') }}">{{ 'quickstart.migrate.wallabag_v1'|trans }}</a></li>
|
<li><a href="http://wallabag.readthedocs.org">{% trans %}See how you can look for an article by using search engine and filters{% endtrans %}</a></li>
|
||||||
<li><a href="{{ path('import_wallabag_v2') }}">{{ 'quickstart.migrate.wallabag_v2'|trans }}</a></li>
|
<li><a href="http://wallabag.readthedocs.org">{% trans %}And so many other articles!{% endtrans %}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<h3>{% trans %}Support{% endtrans %}</h3>
|
||||||
<h4>{{ 'quickstart.developer.title'|trans }}</h4>
|
<p>{% trans %}If you need some help, we are here for you.{% endtrans %}</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{{ path('developer') }}">{{ 'quickstart.developer.create_application'|trans }}</a></li>
|
<li><a href="https://github.com/wallabag/wallabag/issues/">{% trans %}On GitHub{% endtrans %}</a></li>
|
||||||
</ul>
|
<li><a href="mailto:hello@wallabag.org">{% trans %}By email{% endtrans %}</a></li>
|
||||||
|
<li><a href="https://gitter.im/wallabag/wallabag">{% trans %}On Gitter{% endtrans %}</a></li>
|
||||||
<h4>{{ 'quickstart.docs.title'|trans }}</h4>
|
|
||||||
<ul>
|
|
||||||
<li><a href="http://doc.wallabag.org/en/v2/user/annotations.html">{{ 'quickstart.docs.annotate'|trans }}</a></li>
|
|
||||||
<li><a href="http://doc.wallabag.org/en/v2/user/download_articles.html">{{ 'quickstart.docs.export'|trans }}</a></li>
|
|
||||||
<li><a href="http://doc.wallabag.org/en/v2/user/filters.html">{{ 'quickstart.docs.search_filters'|trans }}</a></li>
|
|
||||||
<li><a href="http://doc.wallabag.org/en/v2/user/errors_during_fetching.html">{{ 'quickstart.docs.fetching_errors'|trans }}</a></li>
|
|
||||||
<li><a href="http://doc.wallabag.org/">{{ 'quickstart.docs.all_docs'|trans }}</a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h4>{{ 'quickstart.support.title'|trans }}</h4>
|
|
||||||
<p>{{ 'quickstart.support.description'|trans }}</p>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://github.com/wallabag/wallabag/issues/">{{ 'quickstart.support.github'|trans }}</a></li>
|
|
||||||
<li><a href="mailto:hello@wallabag.org">{{ 'quickstart.support.email'|trans }}</a></li>
|
|
||||||
<li><a href="https://gitter.im/wallabag/wallabag">{{ 'quickstart.support.gitter'|trans }}</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{{ form_widget(form.label, { 'attr': {'autocomplete': 'off'} }) }}
|
{{ form_widget(form.label, { 'attr': {'autocomplete': 'off'} }) }}
|
||||||
|
{{ form_widget(form.save, { 'attr': {'class': 'btn waves-effect waves-light'}, 'label': 'add tag' }) }}
|
||||||
|
|
||||||
{{ form_rest(form) }}
|
<div class="hidden">{{ form_rest(form) }}</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user