diff --git a/res/values-de/translatable.xml b/res/values-de/translatable.xml index 642e9507..a43857e8 100644 --- a/res/values-de/translatable.xml +++ b/res/values-de/translatable.xml @@ -7,7 +7,7 @@ Einstellungen Bibliothek Keine zufällige Wiedergabe - Musikstücke zufällig wiedergeben + Titel zufällig wiedergeben Alben zufällig wiedergeben Nicht wiederholen Wiederholen @@ -19,6 +19,14 @@ Wiedergabereihe geleert. Cover Schließen-Benachrichtigung + Genre + Titel + Komponist + Format + Titel + Künstler + Album + Jahr Namen der Wiedergabeliste auswählen Erstellen Überschreiben @@ -51,6 +59,8 @@ Alle abspielen Alle einreihen Alle Titel + Mehr vom Künstler + Mehr aus dem Album Name Anzahl der Titel Jahr @@ -62,22 +72,19 @@ Aufsteigend Absteigend %s (Angehalten) - Audioausgabe Lautstärke Kopfhörer/Bluetooth-Steuerung Dies wird auch für die Steuerelemente der ICS-Bildschirmsperre benötigt. Nur externer Ausgang - Verhindert die Ausgabe über den internen Lautsprecher. + Verhindert, dass Musik über die internen Lautsprecher wiedergegeben wird. Anhalten wenn nicht angeschlossen Anhalten, wenn die Kopfhörer entfernt werden. Abspielen beim anschließen Abspielen wenn der Kopfhörer angeschlossen wurde. (Nur wenn der Dienst aktiv ist) - Benachrichtigungen Benachrichtigungsmodus Benachrichtigungsaktion Farbe der Benachrichtigung umkehren Text weiß statt schwarz anzeigen - Ansicht der Wiedergabe Beim Start öffnen Wiedergabeansicht beim Start anzeigen Anzeigemodus @@ -85,17 +92,14 @@ Runter-Wisch Aktion Cover-Antippen Aktion Aktion bei langem Cover-Drücken - Bibliotheksansicht Steuerelemente in Bibliotheksansicht Zeige den aktuell gespielten Titel und die Steuerelemente in der Bibliotheksansicht Standardaktion Standard Wiedergabelisten-Aktion - Schütteln (Beschleunigungssensor) Beschleunigungssensor-Schütteln aktivieren Ist nur aktiv wenn Musik abgespielt wird. Funktioniert auf einigen Geräten nicht bei ausgeschaltetem Bildschirm. Aktion beim Schütteln Schwellwert beim Schütteln - Sonstige Funktionen Bildschirmsperre deaktivieren Bildschirmsperre verhindern wenn Bibliothek- oder Wiedergabeansicht aktiv Inaktivitäts-Zeitabschaltung aktivieren @@ -113,11 +117,14 @@ Antippen, um externem Speicher nach Musik zu durchsuchen Aktualisierung wird durchgeführt… Durchsuchen abgeschlossen. Antippen für erneute Suche. + Tab-Reihenfolge + Anpassen der Reihenfolge und Sichtbarkeit der Bibliothek-Tabs + Standard wiederherstellen Zuletzt verwendete Aktion Nie anzeigen Bei Wiedergabe anzeigen (Standard) Immer anzeigen - Zur Startansicht (Standard) + Bibliothek öffnen (Standard) Mini-popup öffnen Zum nächsten Titel springen Info auf dem Cover diff --git a/res/values-es/translatable.xml b/res/values-es/translatable.xml index 1b1e9657..d133f791 100644 --- a/res/values-es/translatable.xml +++ b/res/values-es/translatable.xml @@ -59,13 +59,11 @@ Ascendente Descendente %s (en pausa) - Salida de audio Volumen Auricular/Controles Bluetooth Esto es necesario para los controles del bloqueo de pantalla en ICS. Solo Señal Externa - Notificaciones - Vista de reproducción + Detener al Desconectar + Pausar cuando los auriculares son desconectados. Modo de visualización - Vista de biblioteca diff --git a/res/values-hu/translatable.xml b/res/values-hu/translatable.xml new file mode 100644 index 00000000..bf3440ed --- /dev/null +++ b/res/values-hu/translatable.xml @@ -0,0 +1,97 @@ + + + + Vanilla Music + Az eszközön nem találhatóak zeneszámok. + Beállítások + Gyűjtemény + Nincs ismétlés + Ismétlés + Véletlenszerű + Nem sikerült betölteni a %s dalt. Lehet sérült vagy hiányzik. + műfaj + szám + formátum + cím + előadó + album + év + Létrehozás + Felülír + Mégse + Törli a %s lejátszási listát? + Lejátszás + Szerkesztés + Átnevezés + Hozzáadás a lejátszólistához… + Új lejátszólista… + Törlés + Most játszott + Rendezés + Keresés + Kész + Eltávolítás + %s törölve. + Előadók + Albumok + Dalok + Lejátszólisták + Műfajok + Fájlok + Nincs + Ismeretlen + Minden dal + Név + Év + Előadó, album + Előadó, album, cím + Előadó, év + Növekvő + Csökkenő + Hangerő + Fejhallgató/Bluetooth-vezérlők + Csak külső kimenet + Értesítési mód + Értesítési művelet + Fehér szöveg használata a fekete helyett + Megjelenítési mód + Alapértelmezett művelet + Alapértelmezett lejátszólista művelet + Képernyőzár letiltása + Üresjárati időtúllépés engedélyezése + Üresjárati időkorlát + Albumborító letiltása + ScrobbleDroid API használata + Gyűjtemény frissítése + Beolvasás folyamatban… + Lapok sorrendje + Alapértelmezés visszaállítása + Utoljára használt művelet + Gyűjtemény megnyitása + Lejátszás/szünet + Következő zeneszám + Előző zeneszám + Következő album + Előző album + Várólista törlése + + 1 dal lejátszása. + %d dalok lejátszása. + + + 1 dal törölve. + %d dal törölve. + + + 1 másodperc + %d másodperc + + + 1 perc + %d perc + + + 1 óra + %d óra + + diff --git a/res/values-nl/translatable.xml b/res/values-nl/translatable.xml new file mode 100644 index 00000000..b2decde1 --- /dev/null +++ b/res/values-nl/translatable.xml @@ -0,0 +1,22 @@ + + + + Instellingen + Bibliotheek + Willekeurig + Speel + Wijzig + Hernoem + Voeg toe aan Afspeellijst… + Nieuwe Afspeellijst… + Verwijder + Zoek + Klaar + Artiesten + Albums + Bestanden + Geen + Onbekend + Speel alles + Naam + diff --git a/res/values-no/translatable.xml b/res/values-no/translatable.xml index 283bd292..1e7b6da5 100644 --- a/res/values-no/translatable.xml +++ b/res/values-no/translatable.xml @@ -32,7 +32,6 @@ Soill Alt Kø Alt Alle Låter - Lydutgang Volum Bruk Hodetelefon Knapper Kun Ekstern Lydutgang @@ -40,22 +39,18 @@ Pause når hodetelefonen er frakoblet. Spill Når Tilkoblet Spill når hodetelefonen er tilkoblet. (Fungerer bare når tjenesten kjører.) - Varsler Varselmodus Varsel Handling Inverter Varsling Farge Bruk hvit tekst i stedet for svart tekst - Avspill Visning Visningsmodus Sveip Opp Handling Sveip Ned Handling Cover Tapp Handling Lang Cover Trykk Handling - Bibliotek Visning Medieknapper i Bibliotek Vis låten som spilles og mediekontrollene i biblioteket Standard Handling - Diverse Egenskaper Aktiver Tomgang Når aktiv, blir avspillingen stoppet etter en gitt periode med inaktivitet Tomgang diff --git a/res/values-pt/translatable.xml b/res/values-pt/translatable.xml index 99fbfd2c..9cf31712 100644 --- a/res/values-pt/translatable.xml +++ b/res/values-pt/translatable.xml @@ -1,9 +1,9 @@ - Vanilla - Não foram encontradas faixas no dispositivo. - Nenhuma faixa selecionada. Escolha-as na coleção ou ative o modo aleatório clicando nesta mensagem. + Vanilla Music + Não foram encontradas faixas no dispositivo + Nenhuma faixa selecionada. Escolha-as na coleção ou ative o modo aleatório clicando nesta mensagem Definições Coleção Não baralhar @@ -15,10 +15,19 @@ Parar após a faixa atual Aleatório Modo aleatório ativo - Falha ao carregar %s. Pode estar danificada. - Fila apagada. + Falha ao carregar %s. Pode estar danificada + Fila apagada Capa de álbum + Capa vinil Fechar notificação + género + faixa + compositor + formato + título + artista + álbum + ano Escolha o nome da lista de reprodução Criar Substituir @@ -38,8 +47,8 @@ Concluído Remover Apagar procura - %s eliminada. - Falha ao eliminar %s. + %s eliminada + Falha ao eliminar %s Artistas Álbuns Faixas @@ -51,6 +60,8 @@ Reproduzir tudo Colocar tudo na fila Todas as faixas + Mias deste artista + Mais deste álbum Nome Número de faixas Ano @@ -59,26 +70,26 @@ Artista, álbum, n.º da faixa Artista, álbum, título Artista, ano - Ascendente - Descendente + Crescente + Decrescente %s (em pausa) - Saída áudio + Áudio Volume Auscultador/Bluetooth - Também é necessário pelo ecrã de bloqueio do ICS. + Também é necessário pelo ecrã de bloqueio do ICS Só saída externa - Impede que as faixas sejam reproduzidas pelo altifalante. + Impede que a música seja reproduzida pelo altifalante interno Pausar ao retirar - Pausa se os auscultadores forem retirados. + Pausa se os auscultadores forem retirados Reproduzir ao ligar Reproduzir ao ligar os auscultadores (só funciona se o serviço estiver em execução) - Notificações + Notificações Modo de notificação Ação de notificação Trocar cor da notificação Texto branco em vez de preto - Vista de reprodução + Ecrã de reprodução Abrir ao iniciar Abrir vista de reprodução ao iniciar Modo de exibição @@ -86,17 +97,17 @@ Ao mover para baixo Ao tocar na capa Ao clique longo na capa - Vista de coleção + Ecrã da coleção Controlos na coleção Mostrar a faixa em reprodução e os controlos na coleção Ação padrão Ação padrão da lista de reprodução - Acelerador ao agitar + Acelerador ao agitar Ativar acelerador - Só se estiver a ouvir músicas. Em alguns casos, não funciona se o ecrã estiver inativo. + Só se estiver a ouvir músicas. Em alguns casos, não funciona se o ecrã estiver inativo Ação ao agitar Limite da agitação - Funções diversas + Funções diversas Desligar ecrã de bloqueio Impede que o ecrã de bloqueio ative, se na vista de reprodução ou coleção Terminar reprodução @@ -105,20 +116,24 @@ Não mostrar capa Impede o carregamento da capa em qualquer lugar Widget toque duplo - Ao tocar duas vezes no widget 1x1, abre o reprodutor. Tem um atraso de 400ms antes que o widget responda às ações. + Ao tocar duas vezes no widget 1x1, abre o reprodutor. Tem um atraso de 400ms antes que o widget responda às ações Usar ScrobbleDroid API Enviar para a Last.FM via ScrobbleDroid ou Last.FM Scrobbler Emular comunicações - Enviar difusões emulando as enviadas pelo leitor de origem, para trabalhar com controlos e widgets de terceiros. + Enviar difusões emulando as enviadas pelo leitor de origem, para trabalhar com controlos e widgets de terceiros Atualizar coleção Toque para analisar as faixas no disco externo A analisar... - Análise terminada. Toque para analisar novamente. + Análise terminada. Toque para analisar novamente + Sobre + Separadores + Ajuste a ordem e visibilidade dos separadores + Restaurar padrões Última ação utilizada Nunca mostrar Mostrar ao reproduzir (padrão) Mostrar sempre - Abrir atividade principal (padrão) + Abrir coleção (padrão) Abrir alerta pequeno Ir para a faixa seguinte Informações na capa @@ -140,19 +155,19 @@ Comutar controlos A reproduzir 1 faixa. - A reproduzir %d faixas. + A reproduzir %d faixas - 1 faixa na fila. - %d faixas na fila. + 1 faixa na fila + %d faixas na fila - 1 faixa adicionada à lista %2$s. + 1 faixa adicionada à lista %2$s %1$d faixas adicionadas à lista %2$s. - 1 faixa eliminada. - %d 1 faixas eliminadas. + 1 faixa eliminada + %d 1 faixas eliminadas 1 segundo diff --git a/res/values-ru/translatable.xml b/res/values-ru/translatable.xml index 2b1702d9..dab90a54 100644 --- a/res/values-ru/translatable.xml +++ b/res/values-ru/translatable.xml @@ -59,33 +59,27 @@ По возрастанию По убыванию %s (приостановлено) - Аудио выход Громкость Гарнитура / Bluetooth управление Это также необходимо для ICS Экрана блокировки элементов управления. Только внешний выход - Предотвращает проигрывание музыки через громкоговорители. Пауза при не подключенной Пауза, когда наушники отключены. Играть при подключении Проигрывать, когда подключены наушники в разъем (работает только, когда она запущена служба.) - Уведомления Режим уведомлений Действия уведомлений Инвертировать цвет уведомлений Использовать белый текст вместо черного текста - Просмотр воспроизведения Режим отображения Перелистывание вверх Перелистывание вниз Действие при нажатие на Обложку Обложка при длительном нажатие - Просмотреть библиотеку Управление в библиотекой Показать информацию о проигрываемой композиции и управление мультимедиа в просматриваемой библиотеке Действия по умолчанию Плей-лист по умолчанию - Другие возможности Отключить блокировку Включите тайм-аут простоя Воспроизведение остановится после определенного периода бездействия @@ -102,7 +96,6 @@ Никогда не показывать Показать при воспроизведении (по умолчанию) Всегда показывать - Открыть основной (по умолчанию) Открыть мини-меню Переход к следующей песне Информация о обложки diff --git a/res/values-sk/translatable.xml b/res/values-sk/translatable.xml index 117a5fb3..d1a62d35 100644 --- a/res/values-sk/translatable.xml +++ b/res/values-sk/translatable.xml @@ -32,7 +32,6 @@ Prehrať všetko Pridať do zoznamu všetko Všetky skladby - Zvukový výstup Hlasitosť Použiť ovládanie náhlavnej súpravy Iba externý výstup @@ -40,22 +39,18 @@ Pozastaví prehrávanie keď odpojíte sluchátka. Prehrať po pripojení Spustí prehrávanie keď zapojíte sluchátka. Funguje iba keď beží služba. - Upozornenia Režim upozornení Akcia upozornenia Invertovať farbu oznámenia Použije biely text namiesto čierneho. - Zobrazenie prehrávania Režim zobrazenia Akcia prejedním prstu nahor Prejdením prstom nadol Akcia pri ťuknutí na obal Akcia pri podržaní na obale - Zobrazenie knižnice Ovládanie v knižnici V knižnici zobrazí aktuálne prehrávanú skladbu a ovládanie prehrávania. Predvolená akcia - Ostatné funkcie Povoliť časový limit nečinnosti Keď je povolené, prehrávanie sa zastaví po danom čase nečinnosti. Časový limit nečinnosti diff --git a/res/values-tr/translatable.xml b/res/values-tr/translatable.xml index d74b79ac..12aed3a4 100644 --- a/res/values-tr/translatable.xml +++ b/res/values-tr/translatable.xml @@ -58,16 +58,12 @@ Artan Azalan %s (durduruldu) - Ses çıkışı Ses Kulaklık / Bluetooth Kontrolleri Takılı çalışırken oynat - Uyarılar Bildirim modu Siyah metin yerine beyaz metin kullanın - Kayıttan yürütmeyi görüntüle Görüntü modu - Kitaplığı gör Kütüphane kontrolleri Varsayılan işlem LockScreen devre dışı bırak diff --git a/res/values-uk/translatable.xml b/res/values-uk/translatable.xml index 9c907f1b..88cc9099 100644 --- a/res/values-uk/translatable.xml +++ b/res/values-uk/translatable.xml @@ -40,10 +40,8 @@ Дата додавання Виконавець, альбом Виконавець, рік - Аудіо вихід Гучність Гарнітура/Bluetooth керування - Сповіщення Оновити бібліотеку Відкрити бібліотеку Відтворення/пауза diff --git a/update-translations.py b/update-translations.py new file mode 100755 index 00000000..b7158de8 --- /dev/null +++ b/update-translations.py @@ -0,0 +1,59 @@ +#!/usr/bin/python + +# Fetch the translations from http://crowdin.net/project/vanilla-music and save +# them to res/ in the current directory. Removes files that contain no +# translations and removes incomplete plurals (they cause crashes). +# +# This script does not force crowdin to rebuild the translation package. That +# should be done through the website before running this script. +# +# Requires python-lxml. + +try: + # python 3 + from urllib.request import urlopen +except ImportError: + # python 2 + from urllib2 import urlopen +from lxml import etree +from zipfile import ZipFile +import io +import os + +data = urlopen('http://crowdin.net/download/project/vanilla-music.zip') +ar = ZipFile(io.BytesIO(data.read())) +parser = etree.XMLParser(remove_blank_text=True) + +for name in ar.namelist(): + # ignore directories + if not name.endswith('translatable.xml'): + continue + + doc = etree.parse(ar.open(name), parser) + # remove plurals without "other" quantity (they cause crashes) + for e in doc.xpath("//plurals[not(item/@quantity='other')]"): + e.getparent().remove(e) + + # ignore languages with no translations + if len(doc.getroot()) == 0: + continue + + # make some translations more general + lang = name.split('/')[0] + if lang == 'es-ES': + lang = 'es' + # The Android convention seems to be to put pt-PT in values-pt-rPT and + # put pt-BR in values-pt. But since we have no pt-BR translation yet, + # I'm just putting pt-PT in values-pt for now. Hopefully this doesn't + # cause any issues. + elif lang == 'pt-PT': + lang = 'pt' + + # create dir if needed (assume res/ exists already) + path = 'res/values-' + lang + if not (os.path.isdir(path)): + os.mkdir(path) + + # save result + with io.open(path + "/translatable.xml", "w") as file: + file.write(etree.tostring(doc, encoding='unicode', pretty_print=True, doctype=''))