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=''))