From c48addf3970d47fe5c3161ca522acd811369fd64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Knecht?= Date: Wed, 12 Jun 2013 16:52:57 +0200 Subject: [PATCH 1/3] Update po files --- po/da.po | 48 ++++++++++++++++++++++++------------------------ po/de.po | 48 ++++++++++++++++++++++++------------------------ po/es.po | 48 ++++++++++++++++++++++++------------------------ po/fr.po | 48 ++++++++++++++++++++++++------------------------ po/it.po | 48 ++++++++++++++++++++++++------------------------ po/ja.po | 48 ++++++++++++++++++++++++------------------------ po/minidlna.pot | 49 +++++++++++++++++++++++++------------------------ po/nb.po | 48 ++++++++++++++++++++++++------------------------ po/nl.po | 48 ++++++++++++++++++++++++------------------------ po/pl.po | 49 +++++++++++++++++++++++++------------------------ po/ru.po | 48 ++++++++++++++++++++++++------------------------ po/sl.po | 48 ++++++++++++++++++++++++------------------------ po/sv.po | 48 ++++++++++++++++++++++++------------------------ 13 files changed, 314 insertions(+), 312 deletions(-) diff --git a/po/da.po b/po/da.po index b64a543..f071e07 100644 --- a/po/da.po +++ b/po/da.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-08-09 17:00-0700\n" "Last-Translator: ljensen \n" "Language-Team: Danish\n" @@ -16,92 +16,92 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Ukendt Dato" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Ukendt kamera" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Alle Album -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Ukendt Album" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Alle kunstnere -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Ukendt Kunstner" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Musik" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "Al Musik" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Genre" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Kunstner" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Album" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Mapper" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Afspilningslister" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Film" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Alle Film" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Billeder" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Alle Billeder" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Foto-dato" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Kamera" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Vise Mapper" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Søger %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Søgning %s slut (%llu filer)!\n" diff --git a/po/de.po b/po/de.po index 46a8070..79fe3f3 100644 --- a/po/de.po +++ b/po/de.po @@ -20,9 +20,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-10-19 11:00-0800\n" "Last-Translator: Andi Miko \n" "Language-Team: German\n" @@ -31,92 +31,92 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Unbekanntes Datum" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Unbekannte Kamera" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Alle Alben -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Unbekanntes Album" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Alle Interpreten -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Unbekannter Interpret" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Musik" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "Alle Titel" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Genre" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Interpret" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Album" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Ordner" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Wiedergabelisten" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Video" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Alle Videos" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Bilder" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Alle Bilder" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Aufnahmedatum" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Kamera" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Ordner durchsuchen" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "%s wird gescannt ... \n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Scan von %s abgeschlossen (%llu files)!\n" diff --git a/po/es.po b/po/es.po index 0f5ba7b..0e0b150 100644 --- a/po/es.po +++ b/po/es.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-08-09 17:00-0700\n" "Last-Translator: doubolplay1 \n" "Language-Team: Spanish\n" @@ -16,92 +16,92 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Fecha desconocida" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Cámara desconocida" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Álbumes -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Álbum desconocido" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Artistas -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Artista desconocido" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Música" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "Toda la música" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Género" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Artista" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Álbum" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Carpetas" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Listas" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Vídeo" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Todos los vídeos" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Fotos" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Todas las fotos" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Fecha en que se hizo" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Cámara" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Examinar carpetas" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Explorando %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Terminada la exploración de %s (%llu archivos)\n" diff --git a/po/fr.po b/po/fr.po index 791b62c..761a40f 100644 --- a/po/fr.po +++ b/po/fr.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-08-09 17:00-0700\n" "Last-Translator: super-poussin \n" "Language-Team: French\n" @@ -16,92 +16,92 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Date Inconnue" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Camera Inconnue" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Tous les Albums -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Album Inconnu" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Tous les Artistes -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Artiste Inconnu" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Musique" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "Toute la Musique" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Genre" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Artiste" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Album" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Dossiers" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Liste de Lecture" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Vidéo" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Toutes les Vidéos" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Images" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Toutes les Images" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Date de Prise" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Camera" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Parcourir les Dossiers" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Analyse de %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Analyse réalisée à %s (%llu fichiers)!\n" diff --git a/po/it.po b/po/it.po index 10f8961..8c4e303 100644 --- a/po/it.po +++ b/po/it.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-11-01 10:04+0100\n" "Last-Translator: Andrea Musuruane \n" "Language-Team: Italian\n" @@ -18,92 +18,92 @@ msgstr "" "X-Poedit-Language: Italian\n" "X-Poedit-Country: ITALY\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Data sconosciuta" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Fotocamera sconosciuta" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Tutti gli album -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Album sconosciuto" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Tutti gli artisti -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Artista sconosciuto" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Musica" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "Tutta la musica" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Genere" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Artista" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Album" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Cartelle" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Scalette" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Video" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Tutti i video" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Immagini" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Tutte le immagni" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Data dello scatto" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Fotocamera" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Esplora cartelle" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Scansione di %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Scansione di %s finita (%llu file)\n" diff --git a/po/ja.po b/po/ja.po index 37c5946..caca0d5 100644 --- a/po/ja.po +++ b/po/ja.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-07-23 15:57-0800\n" "Last-Translator: r2d2 \n" "Language-Team: Japanese\n" @@ -16,92 +16,92 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "日付不明" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "カメラ名不明" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- すべてのアルバム -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "アルバム名不明" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- すべてのアーティスト -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "アーティスト名不明" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "ミュージック" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "すべてのミュージック" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "ジャンル" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "アーティスト" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "アルバム" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "フォルダ" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "プレイリスト" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "ビデオ" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "すべてのビデオ" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "写真" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "すべての写真" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "撮影日" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "カメラ" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "フォルダ" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "%s を検索中\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "%s (%llu ファイル) の検索終了!\n" diff --git a/po/minidlna.pot b/po/minidlna.pot index de5dff3..67e53a3 100644 --- a/po/minidlna.pot +++ b/po/minidlna.pot @@ -21,102 +21,103 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "" diff --git a/po/nb.po b/po/nb.po index 6404318..c63332a 100644 --- a/po/nb.po +++ b/po/nb.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-08-09 17:00-0700\n" "Last-Translator: samundsen \n" "Language-Team: Norwegian\n" @@ -16,92 +16,92 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Ukjent dato" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Ukjent kamera" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Alle album -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Ukjent album" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Alle artister -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Ukjent artist" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Musikk" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "All musikk" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Genre" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Artist" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Album" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Mapper" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Spillelister" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Video" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Alle videoer" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Bilder" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Alle bilder" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Fotodato" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Kamera" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Vis mapper" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Søker %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Søk %s ferdig (%llu filer)!\n" diff --git a/po/nl.po b/po/nl.po index b92a39c..afe3486 100644 --- a/po/nl.po +++ b/po/nl.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-08-09 17:00-0700\n" "Last-Translator: frejac \n" "Language-Team: Swedish\n" @@ -16,92 +16,92 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Datum onbekend" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Camera onbekend" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Alle albums -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Album onbekend" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Alle artiesten -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Artiest onbekend" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Muziek" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "Alle muziek bestanden" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Genre" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Artiest" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Album" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Mappen" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Afspeellijst" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Video" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Alle video bestanden" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Foto's" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Alle foto bestanden" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Opname datum" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Camera" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Mappen doorzoeken" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Zoeken %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Zoeken %s gereed (%llu files)!\n" diff --git a/po/pl.po b/po/pl.po index cca06bd..777c6d4 100644 --- a/po/pl.po +++ b/po/pl.po @@ -20,102 +20,103 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-10-19 11:00-0800\n" "Last-Translator: Tomasz.Matuszewski \n" "Language-Team: Polski\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Nieznana Data" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Nieznana Kamera" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Wszystkie Albumy -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Nieznany Album" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Wszyscy Wykonawcy -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Nieznany Wykonawca" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Muzyka" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "Wszystkie Utwory" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Rodzaj" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Wykonawca" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Album" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Folder" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Lista Utworow" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Filmy" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Wszystkie Filmy" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Obrazy" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Wszystkie Obrazy" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Data Wykonania" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Kamera" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Przegladaj Foldery" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Skanowanie %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Skanowanie %s zakonczone (%llu files)!\n" diff --git a/po/ru.po b/po/ru.po index ea234e9..fda545d 100644 --- a/po/ru.po +++ b/po/ru.po @@ -20,9 +20,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2011-03-25 22:40+0500\n" "Last-Translator: Ivan Mironov \n" "Language-Team: \n" @@ -33,92 +33,92 @@ msgstr "" "X-Poedit-Language: Russian\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Неизвестная Дата" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Неизвестная Камера" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Все Альбомы -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Неизвестный Альбом" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Все Исполнители -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Неизвестный Исполнитель" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Музыка" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "Вся Музыка" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Жанр" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Исполнитель" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Альбом" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Папки" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Списки Воспроизведения" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Видео" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Всё Видео" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Фотографии" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Все Фотографии" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Дата Съёмки" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Камера" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Просмотреть Папки" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Сканирование %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Сканирование %s завершено (%llu файлов)!\n" diff --git a/po/sl.po b/po/sl.po index 592141c..cb28c84 100644 --- a/po/sl.po +++ b/po/sl.po @@ -20,9 +20,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-10-19 11:00-0800\n" "Last-Translator: Bojan.Krstic \n" "Language-Team: Slovenski\n" @@ -31,92 +31,92 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Neznan Datum" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Neznana Kamera" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Vsi Albumi -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Neznan Album" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Vsi Izvajalci -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Neznan Izvajalec" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Glasba" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "Vsa Glasba" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Zvrst" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Izvajalec" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Album" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Mape" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Seznami predvajanj" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Video" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Vsi Videi" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Slike" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Vse Slike" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Datum Posnetka" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Kamera" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Prebrskaj Mape" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Skeniranje %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Skeniranje %s konèano (%llu files)!\n" diff --git a/po/sv.po b/po/sv.po index 7d49e69..5880d4b 100644 --- a/po/sv.po +++ b/po/sv.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: minidlna 1.0.18\n" +"Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" -"POT-Creation-Date: 2010-07-19 10:50-0700\n" +"POT-Creation-Date: 2013-06-12 16:46+0200\n" "PO-Revision-Date: 2010-08-09 17:00-0700\n" "Last-Translator: frejac \n" "Language-Team: Swedish\n" @@ -16,92 +16,92 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: scanner.c:163 +#: scanner.c:165 msgid "Unknown Date" msgstr "Okänt datum" -#: scanner.c:191 +#: scanner.c:167 msgid "Unknown Camera" msgstr "Okänd kamera" -#: scanner.c:282 +#: scanner.c:277 msgid "- All Albums -" msgstr "- Alla album -" -#: scanner.c:290 scanner.c:297 scanner.c:300 +#: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" msgstr "Okänt album" -#: scanner.c:323 +#: scanner.c:318 msgid "- All Artists -" msgstr "- Alla artister -" -#: scanner.c:331 scanner.c:337 scanner.c:340 +#: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" msgstr "Okänd artist" -#: scanner.c:543 +#: scanner.c:528 msgid "Music" msgstr "Musik" -#: scanner.c:544 +#: scanner.c:529 msgid "All Music" msgstr "All Musik" -#: scanner.c:545 +#: scanner.c:530 msgid "Genre" msgstr "Genre" -#: scanner.c:546 +#: scanner.c:531 msgid "Artist" msgstr "Artist" -#: scanner.c:547 +#: scanner.c:532 msgid "Album" msgstr "Album" -#: scanner.c:548 scanner.c:552 scanner.c:557 +#: scanner.c:533 scanner.c:538 scanner.c:544 msgid "Folders" msgstr "Mappar" -#: scanner.c:549 +#: scanner.c:534 msgid "Playlists" msgstr "Spelningslistor" -#: scanner.c:550 +#: scanner.c:536 msgid "Video" msgstr "Film" -#: scanner.c:551 +#: scanner.c:537 msgid "All Video" msgstr "Alla filmer" -#: scanner.c:553 +#: scanner.c:540 msgid "Pictures" msgstr "Bilder" -#: scanner.c:554 +#: scanner.c:541 msgid "All Pictures" msgstr "Alla bilder" -#: scanner.c:555 +#: scanner.c:542 msgid "Date Taken" msgstr "Fotodatum" -#: scanner.c:556 +#: scanner.c:543 msgid "Camera" msgstr "Kamera" -#: scanner.c:558 +#: scanner.c:546 msgid "Browse Folders" msgstr "Utforska mappar" -#: scanner.c:721 +#: scanner.c:690 #, c-format msgid "Scanning %s\n" msgstr "Söker %s\n" -#: scanner.c:789 +#: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" msgstr "Avsökning %s slutförd (%llu filer)!\n" From 862f6b986cce82c5dbf5b6441bcefe70cf52016e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Knecht?= Date: Wed, 12 Jun 2013 16:57:21 +0200 Subject: [PATCH 2/3] Update French translation --- po/fr.po | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/po/fr.po b/po/fr.po index 761a40f..62cfb1f 100644 --- a/po/fr.po +++ b/po/fr.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: minidlna 1.1.0\n" "Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n" "POT-Creation-Date: 2013-06-12 16:46+0200\n" -"PO-Revision-Date: 2010-08-09 17:00-0700\n" -"Last-Translator: super-poussin \n" +"PO-Revision-Date: 2013-06-12 16:56+0200\n" +"Last-Translator: Benoît Knecht \n" "Language-Team: French\n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -18,27 +18,27 @@ msgstr "" #: scanner.c:165 msgid "Unknown Date" -msgstr "Date Inconnue" +msgstr "Date inconnue" #: scanner.c:167 msgid "Unknown Camera" -msgstr "Camera Inconnue" +msgstr "Caméra inconnue" #: scanner.c:277 msgid "- All Albums -" -msgstr "- Tous les Albums -" +msgstr "- Tous les albums -" #: scanner.c:285 scanner.c:292 scanner.c:296 msgid "Unknown Album" -msgstr "Album Inconnu" +msgstr "Album inconnu" #: scanner.c:318 msgid "- All Artists -" -msgstr "- Tous les Artistes -" +msgstr "- Tous les artistes -" #: scanner.c:326 scanner.c:332 scanner.c:336 msgid "Unknown Artist" -msgstr "Artiste Inconnu" +msgstr "Artiste inconnu" #: scanner.c:528 msgid "Music" @@ -46,7 +46,7 @@ msgstr "Musique" #: scanner.c:529 msgid "All Music" -msgstr "Toute la Musique" +msgstr "Toute la musique" #: scanner.c:530 msgid "Genre" @@ -66,7 +66,7 @@ msgstr "Dossiers" #: scanner.c:534 msgid "Playlists" -msgstr "Liste de Lecture" +msgstr "Liste de lecture" #: scanner.c:536 msgid "Video" @@ -74,7 +74,7 @@ msgstr "Vidéo" #: scanner.c:537 msgid "All Video" -msgstr "Toutes les Vidéos" +msgstr "Toutes les vidéos" #: scanner.c:540 msgid "Pictures" @@ -82,19 +82,19 @@ msgstr "Images" #: scanner.c:541 msgid "All Pictures" -msgstr "Toutes les Images" +msgstr "Toutes les images" #: scanner.c:542 msgid "Date Taken" -msgstr "Date de Prise" +msgstr "Date de prise" #: scanner.c:543 msgid "Camera" -msgstr "Camera" +msgstr "Caméra" #: scanner.c:546 msgid "Browse Folders" -msgstr "Parcourir les Dossiers" +msgstr "Parcourir les dossiers" #: scanner.c:690 #, c-format @@ -104,4 +104,4 @@ msgstr "Analyse de %s\n" #: scanner.c:766 #, c-format msgid "Scanning %s finished (%llu files)!\n" -msgstr "Analyse réalisée à %s (%llu fichiers)!\n" +msgstr "Analyse de %s terminée (%llu fichiers) !\n" From 3995cbdac4db5a01608eb70a7562c30ff852dcd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Knecht?= Date: Thu, 13 Jun 2013 23:23:21 +0200 Subject: [PATCH 3/3] Limit the number of simultanious children Make sure minidlna cannot fork more than 5 children, to avoid becoming a fork bomb. Reported-by: Rinat Ibragimov --- Makefile.am | 2 +- minidlna.c | 26 +++++------ daemonize.c => process.c | 96 +++++++++++++++++++++++++--------------- daemonize.h => process.h | 55 +++++++++++++++-------- upnphttp.c | 13 +++--- 5 files changed, 117 insertions(+), 75 deletions(-) rename daemonize.c => process.c (68%) rename daemonize.h => process.h (54%) diff --git a/Makefile.am b/Makefile.am index c3aa4c9..42b44f7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,7 @@ sbin_PROGRAMS = minidlnad check_PROGRAMS = testupnpdescgen minidlnad_SOURCES = minidlna.c upnphttp.c upnpdescgen.c upnpsoap.c \ upnpreplyparse.c minixml.c clients.c \ - getifaddr.c daemonize.c upnpglobalvars.c \ + getifaddr.c process.c upnpglobalvars.c \ options.c minissdp.c uuid.c upnpevents.c \ sql.c utils.c metadata.c scanner.c inotify.c \ tivo_utils.c tivo_beacon.c tivo_commands.c \ diff --git a/minidlna.c b/minidlna.c index d5c1ecb..3d88348 100644 --- a/minidlna.c +++ b/minidlna.c @@ -86,7 +86,7 @@ #include "utils.h" #include "minissdp.h" #include "minidlnatypes.h" -#include "daemonize.h" +#include "process.h" #include "upnpevents.h" #include "scanner.h" #include "inotify.h" @@ -155,14 +155,6 @@ sigterm(int sig) quitting = 1; } -static void -sigchld(int sig) -{ - if (!scanning) - signal(SIGCHLD, SIG_IGN); - waitpid(-1, NULL, WNOHANG); -} - static void sighup(int sig) { @@ -369,9 +361,9 @@ rescan: #if USE_FORK scanning = 1; sqlite3_close(db); - *scanner_pid = fork(); + *scanner_pid = process_fork(); open_db(&db); - if (!(*scanner_pid)) /* child (scanner) process */ + if (*scanner_pid == 0) /* child (scanner) process */ { start_scanner(); sqlite3_close(db); @@ -379,6 +371,10 @@ rescan: freeoptions(); exit(EXIT_SUCCESS); } + else if (*scanner_pid < 0) + { + start_scanner(); + } #else start_scanner(); #endif @@ -884,7 +880,7 @@ init(int argc, char **argv) } else { - pid = daemonize(); + pid = process_daemonize(); #ifdef READYNAS unlink("/ramfs/.upnp-av_scan"); path = "/var/log/upnp-av.log"; @@ -897,7 +893,7 @@ init(int argc, char **argv) } log_init(path, log_level); - if (checkforrunning(pidfilename) < 0) + if (process_check_if_running(pidfilename) < 0) { DPRINTF(E_ERROR, L_GENERAL, "MiniDLNA is already running. EXITING.\n"); return 1; @@ -923,6 +919,9 @@ init(int argc, char **argv) DPRINTF(E_FATAL, L_GENERAL, "Failed to set %s handler. EXITING.\n", "SIGPIPE"); if (signal(SIGHUP, &sighup) == SIG_ERR) DPRINTF(E_FATAL, L_GENERAL, "Failed to set %s handler. EXITING.\n", "SIGHUP"); + sa.sa_handler = process_handle_child_termination; + if (sigaction(SIGCHLD, &sa, NULL)) + DPRINTF(E_FATAL, L_GENERAL, "Failed to set %s handler. EXITING.\n", "SIGCHLD"); if (writepidfile(pidfilename, pid, uid) != 0) pidfilename = NULL; @@ -989,7 +988,6 @@ main(int argc, char **argv) ret = -1; } check_db(db, ret, &scanner_pid); - signal(SIGCHLD, &sigchld); #ifdef HAVE_INOTIFY if( GETFLAG(INOTIFY_MASK) ) { diff --git a/daemonize.c b/process.c similarity index 68% rename from daemonize.c rename to process.c index 1fddf80..22f5207 100644 --- a/daemonize.c +++ b/process.c @@ -1,7 +1,8 @@ -/* MiniUPnP project - * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ +/* Process handling + * + * Copyright © 2006, Thomas Bernard + * Copyright © 2013, Benoît Knecht * - * Copyright (c) 2006, Thomas Bernard * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,48 +36,74 @@ #include #include #include +#include -#include "daemonize.h" +#include "process.h" #include "config.h" #include "log.h" +static const int max_number_of_children = 5; +static int number_of_children = 0; + +pid_t +process_fork(void) +{ + if (number_of_children >= max_number_of_children) + { + errno = EAGAIN; + return -1; + } + + pid_t pid = fork(); + if (pid > 0) + ++number_of_children; + return pid; +} + +void +process_handle_child_termination(int signal) +{ + waitpid(-1, NULL, WNOHANG); + --number_of_children; +} + int -daemonize(void) +process_daemonize(void) { int pid; #ifndef USE_DAEMON int i; - switch(fork()) + switch(process_fork()) { - /* fork error */ - case -1: - perror("fork()"); - exit(1); - - /* child process */ - case 0: - /* obtain a new process group */ - if( (pid = setsid()) < 0) - { - perror("setsid()"); + /* fork error */ + case -1: + perror("fork()"); exit(1); - } - /* close all descriptors */ - for (i=getdtablesize();i>=0;--i) close(i); + /* child process */ + case 0: + /* obtain a new process group */ + if( (pid = setsid()) < 0) + { + perror("setsid()"); + exit(1); + } - i = open("/dev/null",O_RDWR); /* open stdin */ - dup(i); /* stdout */ - dup(i); /* stderr */ + /* close all descriptors */ + for (i=getdtablesize();i>=0;--i) close(i); - umask(027); - chdir("/"); + i = open("/dev/null",O_RDWR); /* open stdin */ + dup(i); /* stdout */ + dup(i); /* stderr */ - break; - /* parent process */ - default: - exit(0); + umask(027); + chdir("/"); + + break; + /* parent process */ + default: + exit(0); } #else if( daemon(0, 0) < 0 ) @@ -87,7 +114,7 @@ daemonize(void) } int -checkforrunning(const char * fname) +process_check_if_running(const char *fname) { char buffer[64]; int pidfile; @@ -98,9 +125,9 @@ checkforrunning(const char * fname) if( (pidfile = open(fname, O_RDONLY)) < 0) return 0; - + memset(buffer, 0, 64); - + if(read(pidfile, buffer, 63)) { if( (pid = atol(buffer)) > 0) @@ -112,9 +139,8 @@ checkforrunning(const char * fname) } } } - + close(pidfile); - + return 0; } - diff --git a/daemonize.h b/process.h similarity index 54% rename from daemonize.h rename to process.h index ec8732a..7fa7682 100644 --- a/daemonize.h +++ b/process.h @@ -1,7 +1,7 @@ -/* MiniUPnP project - * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ +/* Process handling + * + * Copyright © 2013, Benoît Knecht * - * Copyright (c) 2006, Thomas Bernard * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,24 +26,41 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -#ifndef __DAEMONIZE_H__ -#define __DAEMONIZE_H__ +#ifndef __PROCESS_H__ +#define __PROCESS_H__ -#include "config.h" +#include -/* daemonize() - * "fork" to background, detach from terminal, etc... - * returns: pid of the daemon, exits upon failure */ -int -daemonize(void); +/** + * Fork a new child (just like fork()) but keep track of how many childs are + * already running, and refuse fo fork if there are too many. + * @return -1 if it couldn't fork, 0 in the child process, the pid of the + * child process in the parent process. + */ +pid_t process_fork(void); -/* checkforrunning() - * check for another instance running - * returns: 0 only instance - * -1 invalid filename - * -2 another instance running */ -int -checkforrunning(const char * fname); +/** + * Handler to be called upon receiving SIGCHLD. This signal is received by the + * parent process when a child terminates, and this handler updates the number + * of running childs accordingly. + * @param signal The signal number. + */ +void process_handle_child_termination(int signal); -#endif +/** + * Daemonize the current process by forking itself and redirecting standard + * input, standard output and standard error to /dev/null. + * @return The pid of the process. + */ +int process_daemonize(void); +/** + * Check if the process corresponding to the pid found in the pid file is + * running. + * @param fname The path to the pid file. + * @return 0 if no other instance is running, -1 if the file name is invalid, + * -2 if another instance is running. + */ +int process_check_if_running(const char *fname); + +#endif // __PROCESS_H__ diff --git a/upnphttp.c b/upnphttp.c index 7de4e7a..8434748 100644 --- a/upnphttp.c +++ b/upnphttp.c @@ -78,6 +78,7 @@ #include "tivo_utils.h" #include "tivo_commands.h" #include "clients.h" +#include "process.h" #include "sendfile.h" @@ -1574,8 +1575,8 @@ SendResp_resizedimg(struct upnphttp * h, char * object) #if USE_FORK pid_t newpid = 0; - newpid = fork(); - if( newpid ) + newpid = process_fork(); + if( newpid > 0 ) { CloseSocket_upnphttp(h); goto resized_error; @@ -1716,7 +1717,7 @@ SendResp_resizedimg(struct upnphttp * h, char * object) resized_error: sqlite3_free_table(result); #if USE_FORK - if( !newpid ) + if( newpid == 0 ) _exit(0); #endif } @@ -1809,8 +1810,8 @@ SendResp_dlnafile(struct upnphttp *h, char *object) sqlite3_free_table(result); } #if USE_FORK - newpid = fork(); - if( newpid ) + newpid = process_fork(); + if( newpid > 0 ) { CloseSocket_upnphttp(h); goto error; @@ -1951,7 +1952,7 @@ SendResp_dlnafile(struct upnphttp *h, char *object) CloseSocket_upnphttp(h); error: #if USE_FORK - if( !newpid ) + if( newpid == 0 ) _exit(0); #endif return;