Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Partial French translation #2240

Merged
merged 31 commits into from
Feb 25, 2017
Merged

Partial French translation #2240

merged 31 commits into from
Feb 25, 2017

Conversation

ffries
Copy link

@ffries ffries commented Feb 13, 2017

This is a partial translation into French. Please review with French maintainer, so we can agree on important vocabulary:
song=>musique=>titre (not "chanson" as in French it means something you sing)
cover grid=>mur de jaquettes
You may apply immediately if this first batch suits you.
I am also testing github, as this is my first patch.

@ffries
Copy link
Author

ffries commented Feb 13, 2017

Do you understand why Travis failed?

@spxxxk
Copy link

spxxxk commented Feb 13, 2017

Good work. Although I'm no maintainer, I'm merely french, I applaud the chanson/titre switch.

Some notes :
"prochain" -> Not sure why, but "suivant" feels better in a button-to-click context
"Vérifier les mises à jour (_C)" Wouldn't it be better to assign the keyboard shortcut to another letter ?
"Totals des durées" -> "Total des durée", or "Durée totale" ?
"Plus d'aide" Here, "Search Help" means help about searching, so "Aide à la recherche" ? "Aide syntaxe de recherche" ? ...

@ffries
Copy link
Author

ffries commented Feb 13, 2017

Thanks spxxxk for the input, I corrected and sent a new patch with more translations. Could you have a look at "Preferences" in Quodlibet. Translation triggers an error and I cannot find the related strings. It seems to be a string with %d but I could not find it...

@@ -773,15 +768,15 @@ msgstr "%s n'est pas connecté."
#: ../quodlibet/browsers/media.py:499
#, python-format
msgid "Copying %(song)s"
msgstr "Copie de %(song)s"
msgstr "Copie de %(titre)s"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copie de %(song)s"

msgid "%s second"
msgid_plural "%s seconds"
msgstr[0] "%d seconde"
msgstr[0] "%d secondes"
msgstr[1] "%d secondes"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be "%s" and not "%d" for both, like in the text to translate

@@ -4409,10 +4408,12 @@ msgid ""
"The selected songs will be removed from the library and their files deleted "
"from disk."
msgstr ""
"Les fichiers sélectionnés seront supprimés de la bibliothèque et leurs "

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first occurrence of "fichiers" could be replaced by "titres", to avoid using the same word for representing two different things.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, corrected.

@@ -4430,10 +4431,12 @@ msgid ""
"The selected songs will be removed from the library and their files moved to "
"the trash."
msgstr ""
"Les fichiers sélectionnés seront supprimés de la bibliothèque et leurs "

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment here

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, corrected.

@@ -776,7 +776,7 @@ msgstr "Impossible de copier le titre"

#: ../quodlibet/browsers/media.py:514
msgid "There is not enough free space for this song."
msgstr "Espace insuffisant pour ce titre"
msgstr "Espace libre insuffisant pour ce titre"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could add back the final dot, that can be found in the English version.

@@ -1930,7 +1930,7 @@ msgstr "motif"

#: ../quodlibet/ext/events/mqtt.py:134
msgid "Text when a song is paused."
msgstr ""
msgstr "Texte affiché quand la lecture est en pause"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment here

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

@@ -1301,7 +1303,7 @@ msgid ""
"Downloads covers linked to by the artwork_url tag.This works with the "
"Soundcloud browser."
msgstr ""
"Télécharge la jaquette liée à l'étiquette artwork_url. Cela fonctionne "
"Télécharge les jaquettes liée à l'étiquette artwork_url. Fonctionne "

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other similarly formed messages (for example the one just below in the diff) use the infinitive form. It would be more consistent to use it here as well, or change all the other ones to the imperative form.


#: ../quodlibet/ext/covers/discogs.py:25
msgid "Discogs Cover Source"
msgstr "Jaquettes depuis Discologs"
Copy link

@spxxxk spxxxk Feb 13, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discologs -> Discogs

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

msgid "Shuffle Playlist"
msgstr "Créer une liste de lecture"
msgstr "Lecture aléatoire des titres"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Shuffle Playlist plugin actually shuffles tracks in the playlist, not just play in random order, so something more like "Mélanger la liste de lecture" ..

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.


#: ../quodlibet/ext/playlist/shuffle.py:16
msgid "Randomly shuffles a playlist."
msgstr ""
msgstr "Lire les titres de manière aléatoire."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Mélange aléatoirement les titres de la liste de lecture"

@@ -4039,13 +4042,13 @@ msgstr ""

#: ../quodlibet/operon/commands.py:633
msgid "Rename files based on tags"
msgstr ""
msgstr "Renommer les fichiers à partir des balises"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for consistency: "à partir des étiquettes"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.

msgid "Tag expression"
msgstr ""
msgstr "Expression de l'étiquette"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Expression d'étiquettes" or "Motif d'étiquettes" ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Motif d'étiquette.

msgid "Tag expression e.g. people:real or ~album~year."
msgstr ""
msgstr "Expression dans l'étiquette, c'est-à-dire people:nom ou ~album~année."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Expression dans l'étiquette, par exemple people:real ou ~album~year." Not sure what people:real represents ..

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

msgid "Enter new tag"
msgstr "Filtrer sur la valeur d'une étiquette"
msgstr "Saisir un"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Saisir une nouvelle étiquette"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

msgid "Set up library directories?"
msgstr "Choisir des répertoires"
msgstr "Choisir des répertoires contenant les librairies"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Ajouter des répertoires à la bibliothèque" or "Configurer les répertoires de la bibliothèque"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK.

msgid "Configure Plugins…"
msgstr "Colorer les terme_s de recherche"
msgstr "Configurer les plugins …"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For consistency: greffons ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

@ffries
Copy link
Author

ffries commented Feb 13, 2017

Thanks for review.
When entering soundcloud, search is broken, probably by a wrong translation.
I tried to debug without success...

@ffries
Copy link
Author

ffries commented Feb 13, 2017

Please commit. Around 300 strings remain to be translated. Some of them require to know Quod Libet quite deeply and I am only an newcomer.

@ffries
Copy link
Author

ffries commented Feb 13, 2017

Coll, thanks.

msgid "'%(column-id)s' is not a valid column name (%(all-column-ids)s)."
msgstr "<b>%s</b> n'est pas un chemin valide."
msgstr ""
"'%(column-id)s' n'est pas un nom valide pour la colone (%(all-column-ids)s)."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

colon_n_e

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

"Sauvegarder tout de même cette étiquette?"
"%(file-name)s semble avoir été modifié pendant le fonctionnement du "
"programme. Enregistrer maintenant sans réactualiser votre bibliothèque "
"pourrait écraser d'autres modifications à la chanson."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"d'autres modifications appliquées au titre" Consistency..

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

@@ -2133,15 +2129,15 @@ msgstr ""

#: ../quodlibet/ext/events/qlscrobbler.py:568
msgid "Songs matching this filter will not be submitted."
msgstr ""
msgstr "Les titres correspondant à cette recherche ne seront pas soumis."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"correspondant à ce filtre" cf "_Filtre d'exclusion :"

msgid "High Res"
msgstr ""

#: ../quodlibet/ext/events/write_cover.py:32
msgid "Picture Saver"
msgstr ""
msgstr "Économiseur d'écran"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That plugin "saves the cover image of the current song to a file" so its name is literally "Enregistreur d'image", so something like "Enregistrement de la jaquette" or "Sauvegarde de jaquette"

msgid "_Preset:"
msgstr "A_perçu"
msgstr "Présélection :"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Préréglage ?

msgid "Filter _band:"
msgstr "Filtrer sur ce _genre"
msgstr "Filtrer sur le groupe"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here it's band as in frequency band, so "Bande de fréquence du filtre" or "Bande du filtre" or "Bande"

msgid "Filter _width:"
msgstr "Filtrer sur cet _artiste"
msgstr "Filtrer sur la taille"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same, "The Frequency width of the filter", so "Largeur de bande du filtre" or "Largeur de bande"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Frequency width" and "Frequency band" are synonyms. But I kept both in Frenc : "Largeur de fréquences" and "Largeur de bandes". This needs to be checked in source code.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, they're not synonyms.

msgstr[0] ""
msgstr[1] ""
msgstr[0] "Lancer le greffon \"%(name)s\" sur la liste %(count)d ?"
msgstr[1] "Lancer le greffon \"%(name)s\" sur les listes %(count)d ?"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"%(count)d" -> "%(count)s"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, thanks.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tanks.


#: ../quodlibet/ext/songsmenu/playlist.py:32
msgid "Exports songs to an M3U or PLS playlist."
msgstr ""
msgstr "Exporter les titres sous vers liste de lecture M3U ou PLS."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-sous +une
Exporter les titres vers une liste de lecture M3U ou PLS.


#: ../quodlibet/ext/songsmenu/k3b.py:24
msgid "Burns CDs with K3b, Brasero or xfburn."
msgstr ""
msgstr "Gaver des CD avec K3b, Brasero ou xfburn"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

G_r_aver

msgid "The selected files will be moved to the trash."
msgstr ""
msgstr "Les fichiers sélectionnés seront supprimés de la corbeille."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"serons mis à la corbeille", "seront déplacés vers la corbeille"

@@ -4565,35 +4571,36 @@ msgstr "Éditer les étiquettes"

#: ../quodlibet/qltk/edittags.py:477
msgid "Show _programmatic tags"
msgstr "Montrer les commentaires de _programmation"
msgstr "Afficher les étiquettes _programmables"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about "programmable".. "programmatique" exists, see http://www.larousse.fr/dictionnaires/francais/programmatique/64206

@@ -5195,11 +5176,11 @@ msgstr ""

#: ../quodlibet/qltk/prefs.py:319
msgid "_Fixed image filename:"
msgstr ""
msgstr "Nom de l'image fixe :"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

English descriptions could be better .. but I'd say
msgid "_Fixed image filename:" -> "Fichier de jaquettes unique"
msgid "The single image filename to use if selected" -> "Sélectionne la jaquette en fonction de ce nom de fichier uniquement"
msgid "The album art image file to use when forced" -> "Fichier image, du répertoire courant, de jaquette à utiliser"
?
Could add that else it uses "filename_front.jpg, _back, _cover, _folder ..." but it isn't in the english version. Also, not clear (from my tests) if embedded art is preferred when "Fixed image filename" is checked..


#: ../quodlibet/ext/songsmenu/lastfmsync.py:245
msgid "Updates your library's statistics from your Last.fm profile."
msgstr ""
"Met à jour les statistique de votre bibliothèque à partir de votre profil "
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

statistique_s_


#: ../quodlibet/ext/songsmenu/migratemetadata.py:32
msgid "Copies the quodlibet-specific metadata between songs."
msgstr "Ajoute les métadata propres à Quodlibet dans les fichiers des titres."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Copie les métadata propres à Quodlibet de certain titres vers d'autres titres" ?
"Migration des métadata propres à Quodlibet entre titres" ?


#: ../quodlibet/ext/songsmenu/replaygain.py:448
msgid "Peak"
msgstr ""
msgstr "Peak"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


#: ../quodlibet/operon/commands.py:574
msgid ""
"Path to where the images will be saved to (defaults to the working directory)"
msgstr ""
"Chemin dans lequel les images sont sauvegardée (par défaut dans le "
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sauvegardée_s_


#: ../quodlibet/operon/commands.py:648
msgid "Fill tags based on the file path"
msgstr ""
msgstr "Étiqueter en se basant le chemin de fichier "
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...se basant sur le chemin ..

@ffries
Copy link
Author

ffries commented Feb 17, 2017

Dear friends. I will not be able to finish translation in the next days. So I would appreciate if you could commit it to GIT. So other contributors can work on it. Do you need a single patch?

@lazka
Copy link
Member

lazka commented Feb 17, 2017

Tests still fail: https://travis-ci.org/quodlibet/quodlibet/jobs/202561423#L1395 (see my "%(count)d" -> "%(count)s" comment)

Once they pass I can merge. Thanks for working on this.

msgid "_Run Plugin"
msgstr "_Greffons"
msgstr "Lancer un greffons"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Lancer le greffon" It's made clear in the dialog which plugin will be run

msgid "Tag expression e.g. people:real or ~album~year."
msgstr ""
msgstr "Motif d'étiquette, c'est-à-dire people:nom ou ~album~année."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd leave "~album~year" since it's a QL pattern.

#, python-format
msgid "Run the plugin \"%(name)s\" on %(count)s playlist?"
msgid_plural "Run the plugin \"%(name)s\" on %(count)s playlists?"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "Lancer le greffon \"%(name)s\" sur la liste %(count)s ?"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"count" is the number of playlists the plugin will run on, so
-> "Lancer le greffon \"%(name)s\" sur %(count)s liste de lecture"

msgstr[0] ""
msgstr[1] ""
msgstr[0] "Lancer le greffon \"%(name)s\" sur la liste %(count)s ?"
msgstr[1] "Lancer le greffon \"%(name)s\" sur les listes %(count)s ?"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above
-> "Lancer le greffon \"%(name)s\" sur %(count)s listes de lecture"

#. Create the tag table.
#: ../quodlibet/ext/songsmenu/migratemetadata.py:57
msgid "Information to copy/paste"
msgstr "Informations vers copier/coller"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Informations à copier/coller"


#: ../quodlibet/qltk/songsmenu.py:36
#, python-format
msgid "Run the plugin \"%(name)s\" on %(count)d song?"
msgid_plural "Run the plugin \"%(name)s\" on %(count)d songs?"
msgstr[0] ""