Merge pull request #1441 from wallabag/v2-french-translation

Add french translation
This commit is contained in:
Jeremy Benoist 2015-10-01 11:49:13 +02:00
commit 0e8f778199
12 changed files with 179 additions and 47 deletions

View file

@ -15,7 +15,7 @@ class EntryFilterType extends AbstractType
private $repository; private $repository;
/** /**
* Repository & user are used to get a list of language entries for this user * Repository & user are used to get a list of language entries for this user.
* *
* @param EntityRepository $entryRepository * @param EntityRepository $entryRepository
* @param User $user * @param User $user

View file

@ -163,7 +163,7 @@ class EntryRepository extends EntityRepository
} }
/** /**
* Used only in test case to get the right entry associated to the right user * Used only in test case to get the right entry associated to the right user.
* *
* @param string $username * @param string $username
* *

View file

@ -0,0 +1,130 @@
#Login
Keep me logged in: 'Rester connecté'
Forgot your password?: 'Mot de passe oublié ?'
Login: 'Se connecter'
Back to login: 'Revenir au formulaire de connexion'
Send: 'Envoyer'
"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."
# Menu
unread: 'Non lus'
starred: 'Favoris'
archive: 'Lus'
all: 'Tous les articles'
tags: 'Tags'
config: 'Configuration'
howto: 'Aide'
logout: 'Déconnexion'
Filtered: 'Articles filtrés'
About: 'À propos'
# Header
Back to unread articles: 'Retour aux articles non lus'
Add a new entry: 'Sauvegarder un nouvel article'
Search: 'Rechercher'
Filter entries: 'Filtrer les articles'
Enter your search here: 'Saisissez votre terme de recherche'
Save new entry: 'Sauvegarder un nouvel article'
# Config screen
Settings: 'Paramètres'
User information: 'Mon compte'
Password: 'Mot de passe'
RSS: 'RSS'
Add a user: 'Créer un compte'
Theme: 'Thème'
Items per page: "Nombre d'articles par page"
Language: 'Langue'
Save: 'Enregistrer'
RSS token: 'Jeton RSS'
Name: 'Nom'
Email: 'Adresse e-mail'
No token: 'Aucun jeton généré'
Reset your token: 'Réinitialisez votre jeton'
Create your token: 'Créez votre jeton'
Rss limit: "Nombre d'articles dans un flux RSS"
RSS links: 'URL de vos flux RSS'
"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."
Old password: 'Mot de passe actuel'
New password: 'Nouveau mot de passe'
Repeat new password: 'Confirmez votre nouveau mot de passe'
Username: "Nom d'utilisateur"
# Entries
'estimated reading time': 'durée de lecture'
original: original
Toggle mark as read: 'Marquer comme lu/non lu'
Toggle favorite: 'Marquer comme favori'
Delete: 'Supprimer'
# Filters
Filters: 'Filtres'
Status: 'Statut'
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: 'dd/mm/aaaa'
Clear: 'Effacer'
Filter: 'Filtrer'
# About
Who is behind wallabag: "L'équipe derrière wallabag"
Getting help: "Besoin d'aide"
Helping wallabag: "Aider wallabag"
Developed by: "Développé par"
website: "Site web"
And many others contributors ♥: "Et plein de contributeurs ♥"
on GitHub: "sur GitHub"
Project website: "Site web du projet"
License: "Licence"
Version: "Version"
Documentation: "Documentation"
Bug reports: "Rapport de bugs"
On our support website: "Sur notre site de support"
or: "ou"
"wallabag is free and opensource. You can help us:": "wallabag est gratuit et opensource. Vous pouvez nous aider :"
"by contributing to the project:": "en contribuant au projet :"
an issue lists all our needs: "un ticket recense tous nos besoins"
via Paypal: "via Paypal"
via Flattr: "via Flattr"
# Howto
Form: Formulaire
Thanks to this form: "Grâce à ce formulaire"
Browser addons: "Extensions de navigateur"
Mobile apps: "Applications smartphone"
Bookmarklet: "Bookmarklet"
Standard Firefox Add-On: "Extension Firefox"
Chrome Extension: "Extension Chrome"
download the application: "téléchargez l'application"
"Drag & drop this link to your bookmarks bar:": "Glissez et déposez ce lien dans votre barre de favoris :"
# Flash messages
Information updated: "Vos informations personnelles ont bien été mises à jour"
Config saved: "Les paramètres de wallabag ont bien été mis à jour"
RSS information updated: "La configuration des flux RSS a bien été mise à jour"
Password updated: "Votre mot de passe a bien été mis à jour"
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é"
# Entry
Mark as read: 'Marquer comme lu'
Favorite: 'Mettre en favori'
back: 'Retour'
original article: 'Article original'
Add a tag: 'Ajouter un tag'
Share: 'Partager'
Download: 'Télécharger'
Does this article appear wrong?: "Est-ce que cet article s'affiche mal ?"
Problems?: 'Un problème ?'
Edit title: "Modifier le titre"

View file

@ -1,6 +1,6 @@
{% extends "WallabagCoreBundle::layout.html.twig" %} {% extends "WallabagCoreBundle::layout.html.twig" %}
{% block title %}{% trans %}Config{% endtrans %}{% endblock %} {% block title %}{% trans %}config{% endtrans %}{% endblock %}
{% block content %} {% block content %}
@ -11,7 +11,7 @@
<div class="row"> <div class="row">
<div class="div_tabs col s12"> <div class="div_tabs col s12">
<ul class="tabs"> <ul class="tabs">
<li class="tab col s3"><a class="active" href="#set1">{% trans %}Wallabag{% endtrans %}</a></li> <li class="tab col s3"><a class="active" href="#set1">{% trans %}Settings{% endtrans %}</a></li>
<li class="tab col s3"><a href="#set2">{% trans %}RSS{% endtrans %}</a></li> <li class="tab col s3"><a href="#set2">{% trans %}RSS{% endtrans %}</a></li>
<li class="tab col s3"><a href="#set3">{% trans %}User information{% endtrans %}</a></li> <li class="tab col s3"><a href="#set3">{% trans %}User information{% endtrans %}</a></li>
<li class="tab col s3"><a href="#set4">{% trans %}Password{% endtrans %}</a></li> <li class="tab col s3"><a href="#set4">{% trans %}Password{% endtrans %}</a></li>
@ -62,33 +62,36 @@
<div class="row"> <div class="row">
<div class="input-field col s12"> <div class="input-field col s12">
<label>Rss token</label> {% trans %}RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.{% endtrans %}
<div>
{% if rss.token %}
{{ rss.token }}
{% else %}
<em>No token</em>
{% endif %}
<a href="{{ path('generate_token') }}">Regenerate ?</a>
</div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="input-field col s12"> <div class="input-field col s12">
<label>Rss links:</label> <label>{% trans %}RSS token{% endtrans %}</label>
<div>
{% if rss.token %} {% if rss.token %}
<ul> {{ rss.token }}
<li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">unread</a></li>
<li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">fav</a></li>
<li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">archives</a></li>
</ul>
{% else %} {% else %}
<strong>You need to generate a token first.</strong> <em>{% trans %}No token{% endtrans %}</em>
{% endif %} {% endif %}
<a href="{{ path('generate_token') }}">{% if rss.token %}{% trans %}Reset your token{% endtrans %}{% else %}{% trans %}Create your token{% endtrans %}{% endif %}</a>
</div> </div>
</div> </div>
</div>
{% if rss.token %}
<div class="row">
<div class="input-field col s12">
<label>{% trans %}RSS links{% endtrans %}</label>
<ul>
<li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{% trans %}unread{% endtrans %}</a></li>
<li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{% trans %}starred{% endtrans %}</a></li>
<li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{% trans %}archive{% endtrans %}</a></li>
</ul>
</div>
</div>
{% endif %}
<div class="row"> <div class="row">
<div class="input-field col s12"> <div class="input-field col s12">
@ -166,7 +169,7 @@
<div class="hidden">{{ form_rest(form.pwd) }}</div> <div class="hidden">{{ form_rest(form.pwd) }}</div>
<button class="btn waves-effect waves-light" type="submit" name="action"> <button class="btn waves-effect waves-light" type="submit" name="action">
{% trans %}Update{% endtrans %} {% trans %}Save{% endtrans %}
</button> </button>
</form> </form>

View file

@ -4,13 +4,13 @@
{% set currentRoute = app.request.attributes.get('_route') %} {% set currentRoute = app.request.attributes.get('_route') %}
{% if currentRoute == 'starred' %} {% if currentRoute == 'starred' %}
{% trans %}Starred{% endtrans %} {% trans %}starred{% endtrans %}
{% elseif currentRoute == 'archive' %} {% elseif currentRoute == 'archive' %}
{% trans %}Archive{% endtrans %} {% trans %}archive{% endtrans %}
{% elseif currentRoute == 'all' %} {% elseif currentRoute == 'all' %}
{% trans %}Filtered{% endtrans %} {% trans %}Filtered{% endtrans %}
{% else %} {% else %}
{% trans %}Unread{% endtrans %} {% trans %}unread{% endtrans %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}
@ -49,9 +49,9 @@
<span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw|striptags|slice(0, 42) }}</a></span> <span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw|striptags|slice(0, 42) }}</a></span>
{% if entry.readingTime > 0 %} {% if entry.readingTime > 0 %}
<div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} {{ entry.readingTime }} min</span></div> <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time{% endtrans %}: {{ entry.readingTime }} min</span></div>
{% else %} {% else %}
<div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} <small class="inferieur">&lt;</small> 1 min</span></div> <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time{% endtrans %}: <small class="inferieur">&lt;</small> 1 min</span></div>
{% endif %} {% endif %}
{% if entry.previewPicture is null %} {% if entry.previewPicture is null %}
@ -66,9 +66,9 @@
<span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></span> <span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></span>
{% if entry.readingTime > 0 %} {% if entry.readingTime > 0 %}
<div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} {{ entry.readingTime }} min</span></div> <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time{% endtrans %}: {{ entry.readingTime }} min</span></div>
{% else %} {% else %}
<div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} <small class="inferieur">&lt;</small> 1 min</span></div> <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time{% endtrans %}: <small class="inferieur">&lt;</small> 1 min</span></div>
{% endif %} {% endif %}
<p>{{ entry.content|striptags|slice(0, 300) }}&hellip;</p> <p>{{ entry.content|striptags|slice(0, 300) }}&hellip;</p>

View file

@ -54,7 +54,7 @@
<li class="bold hide-on-med-and-down"> <li class="bold hide-on-med-and-down">
<a class="waves-effect collapsible-header" title="{% trans %}Mark as read{% endtrans %}" href="{{ path('archive_entry', { 'id': entry.id }) }}" id="markAsRead"> <a class="waves-effect collapsible-header" title="{% trans %}Mark as read{% endtrans %}" href="{{ path('archive_entry', { 'id': entry.id }) }}" id="markAsRead">
<i class="{% if entry.isArchived == 0 %}mdi-action-done{% else %}mdi-content-redo{% endif %} small"></i> <i class="{% if entry.isArchived == 0 %}mdi-action-done{% else %}mdi-content-redo{% endif %} small"></i>
<span>{% trans %}Toggle mark as read{% endtrans %}</span> <span>{% trans %}Mark as read{% endtrans %}</span>
</a> </a>
<div class="collapsible-body"></div> <div class="collapsible-body"></div>
</li> </li>
@ -62,7 +62,7 @@
<li class="bold hide-on-med-and-down"> <li class="bold hide-on-med-and-down">
<a class="waves-effect collapsible-header" title="{% trans %}Favorite{% endtrans %}" href="{{ path('star_entry', { 'id': entry.id }) }}" id="setFav"> <a class="waves-effect collapsible-header" title="{% trans %}Favorite{% endtrans %}" href="{{ path('star_entry', { 'id': entry.id }) }}" id="setFav">
<i class="{% if entry.isStarred == 0 %}mdi-action-favorite-outline{% else %}mdi-action-favorite{% endif %} small"></i> <i class="{% if entry.isStarred == 0 %}mdi-action-favorite-outline{% else %}mdi-action-favorite{% endif %} small"></i>
<span>{% trans %}Toggle favorite{% endtrans %}</span> <span>{% trans %}Favorite{% endtrans %}</span>
</a> </a>
<div class="collapsible-body"></div> <div class="collapsible-body"></div>
</li> </li>

View file

@ -9,12 +9,11 @@
{% block content %} {% block content %}
<main class="valign-wrapper"> <main class="valign-wrapper">
<div class="valign row"> <div class="valign row">
<h1>{% trans %}Forgot password{% endtrans %}</h1>
<div class="card sw"> <div class="card sw">
<div class="center"><img src="{{ asset('themes/baggy/img/logo-other_themes.png') }}" alt="wallabag logo" /></div>
<form action="{{ path('forgot_password') }}" method="post" name="forgotPasswordform"> <form action="{{ path('forgot_password') }}" method="post" name="forgotPasswordform">
<div class="card-content"> <div class="card-content">
<span class="black-text"><p>{% trans %}Enter your email address below and we'll send you password reset instructions.{% endtrans %}</p></span>
<span class="card-title black-text"><p>{% trans %}Enter your email address below and we'll send you password reset instructions.{% endtrans %}</p></span>
{% if form_errors(form) %} {% if form_errors(form) %}
<span class="black-text">{{ form_errors(form) }}</span> <span class="black-text">{{ form_errors(form) }}</span>

View file

@ -22,7 +22,7 @@
<dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans %}website{% endtrans %}</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">{% trans %}website{% endtrans %}</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">{% trans %}website{% endtrans %}</a></dd> <dd>Jérémy Benoist — <a href="http://www.j0k3r.net">{% trans %}website{% endtrans %}</a></dd>
<dt>{% trans %}And many others contributors ♥{% endtrans %} <a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans %}on Github{% endtrans %}</a></dt> <dt>{% trans %}And many others contributors ♥{% endtrans %} <a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans %}on GitHub{% endtrans %}</a></dt>
<dt>{% trans %}Project website{% endtrans %}</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>{% trans %}License{% endtrans %}: <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>
@ -37,14 +37,14 @@
<dd><a href="https://doc.wallabag.org/de">deutsch</a></dd> <dd><a href="https://doc.wallabag.org/de">deutsch</a></dd>
<dt>{% trans %}Bug reports{% endtrans %}</dt> <dt>{% trans %}Bug reports{% endtrans %}</dt>
<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> <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>
</div> </div>
<div id="set3" class="col s12"> <div id="set3" class="col s12">
<dl> <dl>
<dt>{% trans %}wallabag is free and opensource. You can help us:{% endtrans %}</dt> <dt>{% trans %}wallabag is free and opensource. You can help us:{% endtrans %}</dt>
<dd>by contributing to the project: <a href="https://github.com/wallabag/wallabag/issues/1254">an issue lists all our needs</a></dd> <dd>{% trans %}by contributing to the project:{% endtrans %} <a href="https://github.com/wallabag/wallabag/issues/1254">{% trans %}an issue lists all our needs{% endtrans %}</a></dd>
<dd><a href="{{ paypal_url }}">{% trans %}via Paypal{% endtrans %}</a></dd> <dd><a href="{{ paypal_url }}">{% trans %}via Paypal{% endtrans %}</a></dd>
<dd><a href="{{ flattr_url }}">{% trans %}via Flattr{% endtrans %}</a></dd> <dd><a href="{{ flattr_url }}">{% trans %}via Flattr{% endtrans %}</a></dd>

View file

@ -1,6 +1,6 @@
{% extends "WallabagCoreBundle::layout.html.twig" %} {% extends "WallabagCoreBundle::layout.html.twig" %}
{% block title %}{% trans %}Howto{% endtrans %}{% endblock %} {% block title %}{% trans %}howto{% endtrans %}{% endblock %}
{% block content %} {% block content %}

View file

@ -21,7 +21,7 @@
{% block messages %} {% block messages %}
{% for flashMessage in app.session.flashbag.get('notice') %} {% for flashMessage in app.session.flashbag.get('notice') %}
<script> <script>
Materialize.toast('{{ flashMessage }}', 4000); Materialize.toast('{{ flashMessage|trans }}', 4000);
</script> </script>
{% endfor %} {% endfor %}
{% endblock %} {% endblock %}
@ -42,10 +42,11 @@
<li class="bold {% if currentRoute == 'unread' or currentRoute == 'homepage' %}active{% endif %}"><a class="waves-effect" href="{{ path('unread') }}">{% trans %}unread{% endtrans %}</a></li> <li class="bold {% if currentRoute == 'unread' or currentRoute == 'homepage' %}active{% endif %}"><a class="waves-effect" href="{{ path('unread') }}">{% trans %}unread{% endtrans %}</a></li>
<li class="bold {% if currentRoute == 'starred' %}active{% endif %}"><a class="waves-effect" href="{{ path('starred') }}">{% trans %}starred{% endtrans %}</a></li> <li class="bold {% if currentRoute == 'starred' %}active{% endif %}"><a class="waves-effect" href="{{ path('starred') }}">{% trans %}starred{% endtrans %}</a></li>
<li class="bold {% if currentRoute == 'archive' %}active{% endif %}"><a class="waves-effect" href="{{ path('archive') }}">{% trans %}archive{% endtrans %}</a></li> <li class="bold {% if currentRoute == 'archive' %}active{% endif %}"><a class="waves-effect" href="{{ path('archive') }}">{% trans %}archive{% endtrans %}</a></li>
<li class="bold {% if currentRoute == 'all' %}active{% endif %}"><a class="waves-effect" href="{{ path('all') }}">{% trans %}all{% endtrans %}</a></li> <li class="bold border-bottom {% if currentRoute == 'all' %}active{% endif %}"><a class="waves-effect" href="{{ path('all') }}">{% trans %}all{% endtrans %}</a></li>
<li class="bold border-bottom {% if currentRoute == 'tags' %}active{% endif %}"><a class="waves-effect" href="{{ path('tag') }}">{% trans %}tags{% endtrans %}</a></li> <li class="bold border-bottom {% if currentRoute == 'tags' %}active{% endif %}"><a class="waves-effect" href="{{ path('tag') }}">{% trans %}tags{% endtrans %}</a></li>
<li class="bold {% if currentRoute == 'config' %}active{% endif %}"><a class="waves-effect" href="{{ path('config') }}">{% trans %}config{% endtrans %}</a></li> <li class="bold {% if currentRoute == 'config' %}active{% endif %}"><a class="waves-effect" href="{{ path('config') }}">{% trans %}config{% endtrans %}</a></li>
<li class="bold {% if currentRoute == 'howto' %}active{% endif %}"><a class="waves-effect" href="{{ path('howto') }}">{% trans %}howto{% endtrans %}</a></li> <li class="bold {% if currentRoute == 'howto' %}active{% endif %}"><a class="waves-effect" href="{{ path('howto') }}">{% trans %}howto{% endtrans %}</a></li>
<li class="bold border-bottom {% if currentRoute == 'about' %}active{% endif %}"><a class="waves-effect" href="{{ path('about') }}">{% trans %}About{% endtrans %}</a></li>
<li class="bold"><a class="waves-effect" class="icon icon-power" href="{{ path('logout') }}" title="{% trans %}logout{% endtrans %}">{% trans %}logout{% endtrans %}</a></li> <li class="bold"><a class="waves-effect" class="icon icon-power" href="{{ path('logout') }}" title="{% trans %}logout{% endtrans %}">{% trans %}logout{% endtrans %}</a></li>
</ul> </ul>
<div class="nav-wrapper nav-panels"> <div class="nav-wrapper nav-panels">

View file

@ -3,7 +3,6 @@
namespace Wallabag\CoreBundle\Tests\Controller; namespace Wallabag\CoreBundle\Tests\Controller;
use Wallabag\CoreBundle\Tests\WallabagCoreTestCase; use Wallabag\CoreBundle\Tests\WallabagCoreTestCase;
use Doctrine\ORM\AbstractQuery;
class EntryControllerTest extends WallabagCoreTestCase class EntryControllerTest extends WallabagCoreTestCase
{ {

View file

@ -13,7 +13,7 @@ class WallabagExtension extends \Twig_Extension
public function removeWww($url) public function removeWww($url)
{ {
return preg_replace('/^www\./i', '',$url); return preg_replace('/^www\./i', '', $url);
} }
public function getName() public function getName()