From 4a057ba83c4a8f63a912d6b39d9a8ddcccf21b22 Mon Sep 17 00:00:00 2001 From: Moshkopp Date: Wed, 28 Dec 2016 14:33:26 +0100 Subject: [PATCH 1/5] Add files via upload Added multilanguage support --- addon.xml | 10 +- main.py | 46 ++++---- resources/language/English/strings.po | 162 ++++++++++++++++++++++++++ resources/language/German/strings.po | 161 +++++++++++++++++++++++++ resources/settings.xml | 39 ++++--- 5 files changed, 377 insertions(+), 41 deletions(-) create mode 100644 resources/language/English/strings.po create mode 100644 resources/language/German/strings.po diff --git a/addon.xml b/addon.xml index 15593dd..840d8e6 100644 --- a/addon.xml +++ b/addon.xml @@ -9,15 +9,23 @@ Subsonic music addon for Kodi. + Subsonic Musik Addon für Kodi. Stream, star and download your tunes, directly to Kodi ! For feature requests / issues: https://github.com/gordielachance/plugin.audio.subsonic/issues Contributions are welcome: https://github.com/gordielachance/plugin.audio.subsonic + + + Stream, star and download your tunes, directly to Kodi ! + For feature requests / issues: + https://github.com/gordielachance/plugin.audio.subsonic/issues + Contributions are welcome: + https://github.com/gordielachance/plugin.audio.subsonic - en + multi all MIT diff --git a/main.py b/main.py index e3cdee6..a33b2cc 100644 --- a/main.py +++ b/main.py @@ -8,6 +8,7 @@ import os import xbmcaddon +lang = xbmcaddon.Addon() import xbmcplugin import xbmcgui import json @@ -15,9 +16,12 @@ import shutil import dateutil.parser from datetime import datetime + + # Add the /lib folder to sys sys.path.append(xbmc.translatePath(os.path.join(xbmcaddon.Addon("plugin.audio.subsonic").getAddonInfo("path"), "lib"))) + import libsonic_extra #TO FIX - we should get rid of this and use only libsonic from simpleplugin import Plugin @@ -79,22 +83,22 @@ def root(params): menus = { 'artists': { - 'name': 'Artists', + 'name': lang.getLocalizedString(30019), 'callback': 'list_artists', 'thumb': None }, 'albums': { - 'name': 'Albums', + 'name': lang.getLocalizedString(30020), 'callback': 'menu_albums', 'thumb': None }, 'tracks': { - 'name': 'Tracks', + 'name': lang.getLocalizedString(30021), 'callback': 'menu_tracks', 'thumb': None }, 'playlists': { - 'name': 'Playlists', + 'name': lang.getLocalizedString(30022), 'callback': 'list_playlists', 'thumb': None } @@ -141,22 +145,22 @@ def menu_albums(params): menus = { 'albums_newest': { - 'name': 'Newest albums', + 'name': lang.getLocalizedString(30023), 'thumb': None, 'args': {"ltype": "newest"} }, 'albums_frequent': { - 'name': 'Most played albums', + 'name': lang.getLocalizedString(30024), 'thumb': None, 'args': {"ltype": "frequent"} }, 'albums_recent': { - 'name': 'Recently played albums', + 'name': lang.getLocalizedString(30025), 'thumb': None, 'args': {"ltype": "recent"} }, 'albums_random': { - 'name': 'Random albums', + 'name': lang.getLocalizedString(30026), 'thumb': None, 'args': {"ltype": "random"} } @@ -545,6 +549,7 @@ def list_tracks(params): # tracknumber += 1 # items[item]['tracknumber'] = tracknumber + # Starred # Starred elif menu_id == 'tracks_starred': generator = connection.walk_tracks_starred() @@ -553,7 +558,6 @@ def list_tracks(params): # Random elif menu_id == 'tracks_random': generator = connection.walk_tracks_random(**query_args) - # Filters #else: #TO WORK @@ -744,7 +748,7 @@ def navigate_next(params): page = int(params.get('page',1)) page += 1 - title = "Next page (%d)" % (page) + title = lang.getLocalizedString(30029) +"(%d)" % (page) return { 'label': title, @@ -757,7 +761,7 @@ def navigate_next(params): def navigate_root(): return { - 'label': "Back to menu", + 'label': lang.getLocalizedString(30030), 'url': plugin.get_url(action='root') } @@ -870,10 +874,10 @@ def star_item(params): if did_action: if unstar: - message = 'Item has been unstarred.' + message = lang.getLocalizedString(30031) plugin.log('Unstarred %s #%s' % (type,json.dumps(ids))) else: #star - message = 'Item has been starred!' + message = lang.getLocalizedString(30032) plugin.log('Starred %s #%s' % (type,json.dumps(ids))) stars_cache_update(ids,unstar) @@ -900,11 +904,11 @@ def context_action_star(type,id): if not starred: if type == 'track': - label = 'Star track' + label = lang.getLocalizedString(30033) elif type == 'artist': - label = 'Star artist' + label = lang.getLocalizedString(30034) elif type == 'album': - label = 'Star album' + label = lang.getLocalizedString(30035) else: @@ -913,11 +917,11 @@ def context_action_star(type,id): #(since it is not available into the XML response from the server) if type == 'track': - label = 'Unstar track' + label = lang.getLocalizedString(30036) elif type == 'artist': - label = 'Unstar artist' + label = lang.getLocalizedString(30037) elif type == 'album': - label = 'Unstar album' + label = lang.getLocalizedString(30038) return ( label, @@ -946,9 +950,9 @@ def can_star(type,ids = None): def context_action_download(type,id): if type == 'track': - label = 'Download track' + label = lang.getLocalizedString(30039) elif type == 'album': - label = 'Download album' + label = lang.getLocalizedString(30040) return ( label, diff --git a/resources/language/English/strings.po b/resources/language/English/strings.po new file mode 100644 index 0000000..f9c08e0 --- /dev/null +++ b/resources/language/English/strings.po @@ -0,0 +1,162 @@ +# XBMC Media Center language file +# Addon Name: Subsonic +# Addon id: plugin.audio.subsonic +# Addon Provider: +# Addon Translate: Moshkopp + +msgid "" +msgstr "" + + +msgctxt "#30000" +msgid "General" +msgstr "" + +msgctxt "#30001" +msgid "Server" +msgstr "" + +msgctxt "#30002" +msgid "Server URL" +msgstr "" + +msgctxt "#30003" +msgid "username" +msgstr "" + +msgctxt "#30004" +msgid "password" +msgstr "" + +msgctxt "#30005" +msgid "Display" +msgstr "" + +msgctxt "#30006" +msgid "Albums per page" +msgstr "" + +msgctxt "#30007" +msgid "Tracks per page (ignored in albums & playlists)" +msgstr "" + +msgctxt "#30008" +msgid "Download" +msgstr "" + +msgctxt "#30009" +msgid "Download folder" +msgstr "" + +msgctxt "#30010" +msgid "Streaming" +msgstr "" + +msgctxt "#30011" +msgid "Transcode format" +msgstr "" + +msgctxt "#30012" +msgid "Bitrate" +msgstr "" + +msgctxt "#30013" +msgid "Advanced Settings" +msgstr "" + +msgctxt "#30014" +msgid "API version" +msgstr "" + +msgctxt "#30016" +msgid "Allow self signed certificates" +msgstr "" + +msgctxt "#30017" +msgid "Cache (in minutes) - not yet implemented" +msgstr "" + +msgctxt "#30018" +msgid "Cache datas time" +msgstr "" + +msgctxt "#30019" +msgid "Artist" +msgstr "" + +msgctxt "#30020" +msgid "Albums" +msgstr "" + +msgctxt "#30021" +msgid "Tracks" +msgstr "" + +msgctxt "#30022" +msgid "Playlists" +msgstr "" + +msgctxt "#30023" +msgid "Newest albums" +msgstr "" + +msgctxt "#30024" +msgid "Most played albums" +msgstr "" + +msgctxt "#30025" +msgid "Recently played albums" +msgstr "" + +msgctxt "#30026" +msgid "Random albums" +msgstr "" + +msgctxt "#30029" +msgid "Next page" +msgstr "" + + +msgctxt "#30030" +msgid "Back to Menu" +msgstr "" + +msgctxt "#30031" +msgid "Item has been unstarred." +msgstr "" + +msgctxt "#30032" +msgid "Item has been starred!" +msgstr "" + +msgctxt "#30033" +msgid "Star track" +msgstr "" + +msgctxt "#30034" +msgid "Star artist" +msgstr "" + +msgctxt "#30035" +msgid "Star album" +msgstr "" + +msgctxt "#30036" +msgid "unstar track" +msgstr "" + +msgctxt "#30037" +msgid "unstar artist" +msgstr "" + +msgctxt "#30038" +msgid "unstar album" +msgstr "" + +msgctxt "#30039" +msgid "Download track" +msgstr "" + +msgctxt "#30040" +msgid "Download album" +msgstr "" \ No newline at end of file diff --git a/resources/language/German/strings.po b/resources/language/German/strings.po new file mode 100644 index 0000000..4522c12 --- /dev/null +++ b/resources/language/German/strings.po @@ -0,0 +1,161 @@ +# XBMC Media Center language file +# Addon Name: Subsonic +# Addon id: plugin.audio.subsonic +# Addon Provider: +# Addon Translate: Moshkopp + +msgid "" +msgstr "" + + +msgctxt "#30000" +msgid "General" +msgstr "Allgemein" + +msgctxt "#30001" +msgid "Server" +msgstr "Server" + +msgctxt "#30002" +msgid "Server URL" +msgstr "Serveradresse" + +msgctxt "#30003" +msgid "username" +msgstr "Benutzername" + +msgctxt "#30004" +msgid "password" +msgstr "Passwort" + +msgctxt "#30005" +msgid "Display" +msgstr "Anzeige" + +msgctxt "#30006" +msgid "Albums per page" +msgstr "Alben pro Seite" + +msgctxt "#30007" +msgid "Tracks per page (ignored in albums & playlists)" +msgstr "Lieder pro Seite (wird in Alben und Playlisten ignoriert)" + +msgctxt "#30008" +msgid "Download" +msgstr "Download" + +msgctxt "#30009" +msgid "Download folder" +msgstr "Download Verzeichnis" + +msgctxt "#30010" +msgid "Streaming" +msgstr "Übertragung" + +msgctxt "#30011" +msgid "Transcode format" +msgstr "Umwandlungs Format" + +msgctxt "#30012" +msgid "Bitrate" +msgstr "Bitrate" + +msgctxt "#30013" +msgid "Advanced Settings" +msgstr "Erweitert" + +msgctxt "#30014" +msgid "API version" +msgstr "API Version" + +msgctxt "#30016" +msgid "Allow self signed certificates" +msgstr "Erlaube eigensignierte Zertifikate" + +msgctxt "#30017" +msgid "Cache (in minutes) - not yet implemented" +msgstr "Speicher (in Minuten) noch nicht eingebaut" + +msgctxt "#30018" +msgid "Cache datas time" +msgstr "Speicher Daten Zeit" + +msgctxt "#30019" +msgid "Artist" +msgstr "Künstler" + +msgctxt "#30020" +msgid "Albums" +msgstr "Alben" + +msgctxt "#30021" +msgid "Tracks" +msgstr "Lieder" + +msgctxt "#30022" +msgid "Playlists" +msgstr "Playlisten" + +msgctxt "#30023" +msgid "Newest albums" +msgstr "neueste Alben" + +msgctxt "#30024" +msgid "Most played albums" +msgstr "häufig gehörte Alben" + +msgctxt "#30025" +msgid "Recently played albums" +msgstr "zuletzt gehörte Alben" + +msgctxt "#30026" +msgid "Random albums" +msgstr "Zufällige Alben" + +msgctxt "#30029" +msgid "Next page" +msgstr "Nächste Seite" + +msgctxt "#30030" +msgid "Back to Menu" +msgstr "Hauptmenü" + +msgctxt "#30031" +msgid "Item has been unstarred." +msgstr "Bewertung entfernt" + +msgctxt "#30032" +msgid "Item has been starred!" +msgstr "Bewertung hinzugefügt" + +msgctxt "#30033" +msgid "Star track" +msgstr "Bewerte Lied" + +msgctxt "#30034" +msgid "Star artist" +msgstr "Bewerte Künstler" + +msgctxt "#30035" +msgid "Star album" +msgstr "Bewerte Album" + +msgctxt "#30036" +msgid "unstar track" +msgstr "Lied Bewertung löschen" + +msgctxt "#30037" +msgid "unstar artist" +msgstr "Künstler Bewertung löschen" + +msgctxt "#30038" +msgid "unstar album" +msgstr "Album Bewertung löschen" + +msgctxt "#30039" +msgid "Download track" +msgstr "Download Lied" + +msgctxt "#30040" +msgid "Download album" +msgstr "Download Album" \ No newline at end of file diff --git a/resources/settings.xml b/resources/settings.xml index c5589b4..eb8b1fa 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -1,27 +1,28 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - + + + + + + + From a029490fe8898eee8a5c065f790f354a4d81dbae Mon Sep 17 00:00:00 2001 From: Moshkopp Date: Wed, 28 Dec 2016 18:10:05 +0100 Subject: [PATCH 2/5] Add files via upload typo --- strings.po | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 strings.po diff --git a/strings.po b/strings.po new file mode 100644 index 0000000..369d6b9 --- /dev/null +++ b/strings.po @@ -0,0 +1,161 @@ +# XBMC Media Center language file +# Addon Name: Subsonic +# Addon id: plugin.audio.subsonic +# Addon Provider: +# Addon Translate: Moshkopp + +msgid "" +msgstr "" + + +msgctxt "#30000" +msgid "General" +msgstr "Allgemein" + +msgctxt "#30001" +msgid "Server" +msgstr "Server" + +msgctxt "#30002" +msgid "Server URL" +msgstr "Serveradresse" + +msgctxt "#30003" +msgid "username" +msgstr "Benutzername" + +msgctxt "#30004" +msgid "password" +msgstr "Passwort" + +msgctxt "#30005" +msgid "Display" +msgstr "Anzeige" + +msgctxt "#30006" +msgid "Albums per page" +msgstr "Alben pro Seite" + +msgctxt "#30007" +msgid "Tracks per page (ignored in albums & playlists)" +msgstr "Lieder pro Seite (wird in Alben und Playlisten ignoriert)" + +msgctxt "#30008" +msgid "Download" +msgstr "Download" + +msgctxt "#30009" +msgid "Download folder" +msgstr "Download Verzeichnis" + +msgctxt "#30010" +msgid "Streaming" +msgstr "Übertragung" + +msgctxt "#30011" +msgid "Transcode format" +msgstr "Umwandlungs Format" + +msgctxt "#30012" +msgid "Bitrate" +msgstr "Bitrate" + +msgctxt "#30013" +msgid "Advanced Settings" +msgstr "Erweitert" + +msgctxt "#30014" +msgid "API version" +msgstr "API Version" + +msgctxt "#30016" +msgid "Allow self signed certificates" +msgstr "Erlaube eigensignierte Zertifikate" + +msgctxt "#30017" +msgid "Cache (in minutes) - not yet implemented" +msgstr "Speicher (in Minuten) noch nicht eingebaut" + +msgctxt "#30018" +msgid "Cache datas time" +msgstr "Speicher Daten Zeit" + +msgctxt "#30019" +msgid "Artist" +msgstr "Künstler" + +msgctxt "#30020" +msgid "Albums" +msgstr "Alben" + +msgctxt "#30021" +msgid "Tracks" +msgstr "Lieder" + +msgctxt "#30022" +msgid "Playlists" +msgstr "Playlisten" + +msgctxt "#30023" +msgid "Newest albums" +msgstr "Neueste Alben" + +msgctxt "#30024" +msgid "Most played albums" +msgstr "Häufig gehörte Alben" + +msgctxt "#30025" +msgid "Recently played albums" +msgstr "Zuletzt gehörte Alben" + +msgctxt "#30026" +msgid "Random albums" +msgstr "Zufällige Alben" + +msgctxt "#30029" +msgid "Next page" +msgstr "Nächste Seite" + +msgctxt "#30030" +msgid "Back to Menu" +msgstr "Hauptmenü" + +msgctxt "#30031" +msgid "Item has been unstarred." +msgstr "Bewertung entfernt" + +msgctxt "#30032" +msgid "Item has been starred!" +msgstr "Bewertung hinzugefügt" + +msgctxt "#30033" +msgid "Star track" +msgstr "Lied bewerten" + +msgctxt "#30034" +msgid "Star artist" +msgstr "Künstler bewerten" + +msgctxt "#30035" +msgid "Star album" +msgstr "Album bewerten" + +msgctxt "#30036" +msgid "unstar track" +msgstr "Liedbewertung löschen" + +msgctxt "#30037" +msgid "unstar artist" +msgstr "Künstlerbewertung löschen" + +msgctxt "#30038" +msgid "unstar album" +msgstr "Album Bewertung löschen" + +msgctxt "#30039" +msgid "Download track" +msgstr "Lied herunterladen" + +msgctxt "#30040" +msgid "Download album" +msgstr "Album herunterladen" \ No newline at end of file From fb64a2e6fe73182f133f907388faf0dcceace6d9 Mon Sep 17 00:00:00 2001 From: Moshkopp Date: Wed, 28 Dec 2016 18:12:03 +0100 Subject: [PATCH 3/5] Delete strings.po --- strings.po | 161 ----------------------------------------------------- 1 file changed, 161 deletions(-) delete mode 100644 strings.po diff --git a/strings.po b/strings.po deleted file mode 100644 index 369d6b9..0000000 --- a/strings.po +++ /dev/null @@ -1,161 +0,0 @@ -# XBMC Media Center language file -# Addon Name: Subsonic -# Addon id: plugin.audio.subsonic -# Addon Provider: -# Addon Translate: Moshkopp - -msgid "" -msgstr "" - - -msgctxt "#30000" -msgid "General" -msgstr "Allgemein" - -msgctxt "#30001" -msgid "Server" -msgstr "Server" - -msgctxt "#30002" -msgid "Server URL" -msgstr "Serveradresse" - -msgctxt "#30003" -msgid "username" -msgstr "Benutzername" - -msgctxt "#30004" -msgid "password" -msgstr "Passwort" - -msgctxt "#30005" -msgid "Display" -msgstr "Anzeige" - -msgctxt "#30006" -msgid "Albums per page" -msgstr "Alben pro Seite" - -msgctxt "#30007" -msgid "Tracks per page (ignored in albums & playlists)" -msgstr "Lieder pro Seite (wird in Alben und Playlisten ignoriert)" - -msgctxt "#30008" -msgid "Download" -msgstr "Download" - -msgctxt "#30009" -msgid "Download folder" -msgstr "Download Verzeichnis" - -msgctxt "#30010" -msgid "Streaming" -msgstr "Übertragung" - -msgctxt "#30011" -msgid "Transcode format" -msgstr "Umwandlungs Format" - -msgctxt "#30012" -msgid "Bitrate" -msgstr "Bitrate" - -msgctxt "#30013" -msgid "Advanced Settings" -msgstr "Erweitert" - -msgctxt "#30014" -msgid "API version" -msgstr "API Version" - -msgctxt "#30016" -msgid "Allow self signed certificates" -msgstr "Erlaube eigensignierte Zertifikate" - -msgctxt "#30017" -msgid "Cache (in minutes) - not yet implemented" -msgstr "Speicher (in Minuten) noch nicht eingebaut" - -msgctxt "#30018" -msgid "Cache datas time" -msgstr "Speicher Daten Zeit" - -msgctxt "#30019" -msgid "Artist" -msgstr "Künstler" - -msgctxt "#30020" -msgid "Albums" -msgstr "Alben" - -msgctxt "#30021" -msgid "Tracks" -msgstr "Lieder" - -msgctxt "#30022" -msgid "Playlists" -msgstr "Playlisten" - -msgctxt "#30023" -msgid "Newest albums" -msgstr "Neueste Alben" - -msgctxt "#30024" -msgid "Most played albums" -msgstr "Häufig gehörte Alben" - -msgctxt "#30025" -msgid "Recently played albums" -msgstr "Zuletzt gehörte Alben" - -msgctxt "#30026" -msgid "Random albums" -msgstr "Zufällige Alben" - -msgctxt "#30029" -msgid "Next page" -msgstr "Nächste Seite" - -msgctxt "#30030" -msgid "Back to Menu" -msgstr "Hauptmenü" - -msgctxt "#30031" -msgid "Item has been unstarred." -msgstr "Bewertung entfernt" - -msgctxt "#30032" -msgid "Item has been starred!" -msgstr "Bewertung hinzugefügt" - -msgctxt "#30033" -msgid "Star track" -msgstr "Lied bewerten" - -msgctxt "#30034" -msgid "Star artist" -msgstr "Künstler bewerten" - -msgctxt "#30035" -msgid "Star album" -msgstr "Album bewerten" - -msgctxt "#30036" -msgid "unstar track" -msgstr "Liedbewertung löschen" - -msgctxt "#30037" -msgid "unstar artist" -msgstr "Künstlerbewertung löschen" - -msgctxt "#30038" -msgid "unstar album" -msgstr "Album Bewertung löschen" - -msgctxt "#30039" -msgid "Download track" -msgstr "Lied herunterladen" - -msgctxt "#30040" -msgid "Download album" -msgstr "Album herunterladen" \ No newline at end of file From afea46a9e15eae637854a3b91e6bf9b31655a5eb Mon Sep 17 00:00:00 2001 From: Moshkopp Date: Wed, 28 Dec 2016 18:12:29 +0100 Subject: [PATCH 4/5] Add files via upload typo --- resources/language/German/strings.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/resources/language/German/strings.po b/resources/language/German/strings.po index 4522c12..369d6b9 100644 --- a/resources/language/German/strings.po +++ b/resources/language/German/strings.po @@ -98,15 +98,15 @@ msgstr "Playlisten" msgctxt "#30023" msgid "Newest albums" -msgstr "neueste Alben" +msgstr "Neueste Alben" msgctxt "#30024" msgid "Most played albums" -msgstr "häufig gehörte Alben" +msgstr "Häufig gehörte Alben" msgctxt "#30025" msgid "Recently played albums" -msgstr "zuletzt gehörte Alben" +msgstr "Zuletzt gehörte Alben" msgctxt "#30026" msgid "Random albums" @@ -130,23 +130,23 @@ msgstr "Bewertung hinzugefügt" msgctxt "#30033" msgid "Star track" -msgstr "Bewerte Lied" +msgstr "Lied bewerten" msgctxt "#30034" msgid "Star artist" -msgstr "Bewerte Künstler" +msgstr "Künstler bewerten" msgctxt "#30035" msgid "Star album" -msgstr "Bewerte Album" +msgstr "Album bewerten" msgctxt "#30036" msgid "unstar track" -msgstr "Lied Bewertung löschen" +msgstr "Liedbewertung löschen" msgctxt "#30037" msgid "unstar artist" -msgstr "Künstler Bewertung löschen" +msgstr "Künstlerbewertung löschen" msgctxt "#30038" msgid "unstar album" @@ -154,8 +154,8 @@ msgstr "Album Bewertung löschen" msgctxt "#30039" msgid "Download track" -msgstr "Download Lied" +msgstr "Lied herunterladen" msgctxt "#30040" msgid "Download album" -msgstr "Download Album" \ No newline at end of file +msgstr "Album herunterladen" \ No newline at end of file From aaac00f69ae897c5343550042c24bf0d4ea92d44 Mon Sep 17 00:00:00 2001 From: Moshkopp Date: Wed, 28 Dec 2016 18:13:22 +0100 Subject: [PATCH 5/5] Update strings.po --- resources/language/German/strings.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/language/German/strings.po b/resources/language/German/strings.po index 369d6b9..d4d4f4b 100644 --- a/resources/language/German/strings.po +++ b/resources/language/German/strings.po @@ -150,7 +150,7 @@ msgstr "Künstlerbewertung löschen" msgctxt "#30038" msgid "unstar album" -msgstr "Album Bewertung löschen" +msgstr "Albumbewertung löschen" msgctxt "#30039" msgid "Download track" @@ -158,4 +158,4 @@ msgstr "Lied herunterladen" msgctxt "#30040" msgid "Download album" -msgstr "Album herunterladen" \ No newline at end of file +msgstr "Album herunterladen"