diff --git a/data/de.coderkun.mcg.gresource b/data/de.coderkun.mcg.gresource
index 942a019..96e44a7 100644
Binary files a/data/de.coderkun.mcg.gresource and b/data/de.coderkun.mcg.gresource differ
diff --git a/data/de.coderkun.mcg.gschema.xml b/data/de.coderkun.mcg.gschema.xml
index 2a6ce1e..89e599a 100644
--- a/data/de.coderkun.mcg.gschema.xml
+++ b/data/de.coderkun.mcg.gschema.xml
@@ -23,7 +23,7 @@
''
- Image dir
+ Image directory
Directory which a webserver is providing images on
diff --git a/data/gtk.glade b/data/gtk.glade
index ef763e0..9706c7c 100644
--- a/data/gtk.glade
+++ b/data/gtk.glade
@@ -431,8 +431,8 @@
@@ -444,7 +444,7 @@
1
@@ -456,7 +456,7 @@
True
True
False
- Password
+ Enter password or leave blank
password
@@ -517,7 +517,7 @@
True
False
start
- Image Dir:
+ Image Directory:
1
@@ -730,7 +730,7 @@
page0
- page0
+ page0
@@ -798,7 +798,7 @@
page1
- page1
+ page1
1
@@ -897,7 +897,7 @@
page0
- page0
+ page0
@@ -966,7 +966,7 @@
page1
- page1
+ page1
1
diff --git a/locale/de/LC_MESSAGES/mcg.mo b/locale/de/LC_MESSAGES/mcg.mo
new file mode 100644
index 0000000..134b06a
Binary files /dev/null and b/locale/de/LC_MESSAGES/mcg.mo differ
diff --git a/locale/de/LC_MESSAGES/mcg.po b/locale/de/LC_MESSAGES/mcg.po
new file mode 100644
index 0000000..5afbf78
--- /dev/null
+++ b/locale/de/LC_MESSAGES/mcg.po
@@ -0,0 +1,104 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: MPDCoverGrid\n"
+"POT-Creation-Date: 2017-04-22 14:55+0200\n"
+"PO-Revision-Date: 2017-04-22 14:55+0200\n"
+"Last-Translator: coderkun \n"
+"Language-Team: \n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-Basepath: ../../..\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-SearchPath-0: data/gtk.glade\n"
+
+#: data/gtk.glade:21
+msgid "Tracklist"
+msgstr "Titelliste"
+
+#: data/gtk.glade:31
+msgid "large tracklist"
+msgstr "große Titelliste"
+
+#: data/gtk.glade:47
+msgid "small tracklist"
+msgstr "kleine Titelliste"
+
+#: data/gtk.glade:64
+msgid "hide tracklist"
+msgstr "gar keine Titelliste"
+
+#: data/gtk.glade:116 data/gtk.glade:172
+msgid "Title"
+msgstr "Titel"
+
+#: data/gtk.glade:133 data/gtk.glade:189
+msgid "Artist"
+msgstr "Künstler"
+
+#: data/gtk.glade:269
+msgid "Sort"
+msgstr "Sortierung"
+
+#: data/gtk.glade:279
+msgid "sort by artist"
+msgstr "nach Künstler"
+
+#: data/gtk.glade:295
+msgid "sort by title"
+msgstr "nach Titel"
+
+#: data/gtk.glade:311
+msgid "sort by year"
+msgstr "nach Jahr"
+
+#: data/gtk.glade:435
+msgid "Enter hostname or IP address"
+msgstr "Hostnamen oder IP-Adresse eingeben"
+
+#: data/gtk.glade:447
+msgid "Enter URL or local path"
+msgstr "URL oder lokalen Pfad eingeben"
+
+#: data/gtk.glade:459
+msgid "Enter password or leave blank"
+msgstr "Passwort eingeben oder leer lassen"
+
+#: data/gtk.glade:484
+msgid "Host:"
+msgstr "Host:"
+
+#: data/gtk.glade:496
+msgid "Port:"
+msgstr "Port:"
+
+#: data/gtk.glade:508
+msgid "Password:"
+msgstr "Passwort:"
+
+#: data/gtk.glade:520
+msgid "Image Directory:"
+msgstr "Bildordner:"
+
+#: data/gtk.glade:544 data/gtk.glade:1200
+msgid "Server"
+msgstr "Server"
+
+#: data/gtk.glade:697 data/gtk.glade:1185
+msgid "Cover"
+msgstr "Cover"
+
+#: data/gtk.glade:808 data/gtk.glade:1234
+msgid "Playlist"
+msgstr "Wiedergabeliste"
+
+#: data/gtk.glade:835
+msgid "search library"
+msgstr "durchsuche Bibliothek"
+
+#: data/gtk.glade:976 data/gtk.glade:1289
+msgid "Library"
+msgstr "Bibliothek"
diff --git a/locale/en/LC_MESSAGES/mcg.mo b/locale/en/LC_MESSAGES/mcg.mo
new file mode 100644
index 0000000..70a23a7
Binary files /dev/null and b/locale/en/LC_MESSAGES/mcg.mo differ
diff --git a/locale/en/LC_MESSAGES/mcg.po b/locale/en/LC_MESSAGES/mcg.po
new file mode 100644
index 0000000..a238dce
--- /dev/null
+++ b/locale/en/LC_MESSAGES/mcg.po
@@ -0,0 +1,103 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: MPDCoverGrid\n"
+"POT-Creation-Date: 2017-04-22 14:55+0200\n"
+"PO-Revision-Date: 2017-04-22 14:56+0200\n"
+"Last-Translator: coderkun \n"
+"Language-Team: \n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.1\n"
+"X-Poedit-Basepath: ../../..\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-SearchPath-0: data/gtk.glade\n"
+
+#: data/gtk.glade:21
+msgid "Tracklist"
+msgstr "Tracklist"
+
+#: data/gtk.glade:31
+msgid "large tracklist"
+msgstr "large tracklist"
+
+#: data/gtk.glade:47
+msgid "small tracklist"
+msgstr "small tracklist"
+
+#: data/gtk.glade:64
+msgid "hide tracklist"
+msgstr "hide tracklist"
+
+#: data/gtk.glade:116 data/gtk.glade:172
+msgid "Title"
+msgstr "Title"
+
+#: data/gtk.glade:133 data/gtk.glade:189
+msgid "Artist"
+msgstr "Artist"
+
+#: data/gtk.glade:269
+msgid "Sort"
+msgstr "Sort order"
+
+#: data/gtk.glade:279
+msgid "sort by artist"
+msgstr "by Artist"
+
+#: data/gtk.glade:295
+msgid "sort by title"
+msgstr "by Title"
+
+#: data/gtk.glade:311
+msgid "sort by year"
+msgstr "by Year"
+
+#: data/gtk.glade:435
+msgid "Enter hostname or IP address"
+msgstr "Enter hostname or IP address"
+
+#: data/gtk.glade:447
+msgid "Enter URL or local path"
+msgstr "Enter URL or local path"
+
+#: data/gtk.glade:459
+msgid "Enter password or leave blank"
+msgstr "Enter password or leave blank"
+
+#: data/gtk.glade:484
+msgid "Host:"
+msgstr "Host:"
+
+#: data/gtk.glade:496
+msgid "Port:"
+msgstr "Port:"
+
+#: data/gtk.glade:508
+msgid "Password:"
+msgstr "Password:"
+
+#: data/gtk.glade:520
+msgid "Image Directory:"
+msgstr "Image Directory:"
+
+#: data/gtk.glade:544 data/gtk.glade:1200
+msgid "Server"
+msgstr "Server"
+
+#: data/gtk.glade:697 data/gtk.glade:1185
+msgid "Cover"
+msgstr "Cover"
+
+#: data/gtk.glade:808 data/gtk.glade:1234
+msgid "Playlist"
+msgstr "Playlist"
+
+#: data/gtk.glade:835
+msgid "search library"
+msgstr "search library"
+
+#: data/gtk.glade:976 data/gtk.glade:1289
+msgid "Library"
+msgstr "Library"
diff --git a/mcg/__init__.py b/mcg/__init__.py
index 6e47e0e..e7b27ba 100644
--- a/mcg/__init__.py
+++ b/mcg/__init__.py
@@ -10,6 +10,7 @@ import os
# Set environment
srcdir = os.path.abspath(os.path.dirname(__file__))
datadir = os.path.join(srcdir, '..', 'data')
+localedir = os.path.join(srcdir, '..', 'locale')
# Set GSettings schema dir (if not set already)
if not os.environ.get('GSETTINGS_SCHEMA_DIR'):
@@ -28,3 +29,7 @@ class Environment:
def get_data(subdir):
return os.path.join(datadir, subdir)
+
+
+ def get_locale():
+ return localedir
diff --git a/mcg/application.py b/mcg/application.py
index 94e13d1..d6770ab 100644
--- a/mcg/application.py
+++ b/mcg/application.py
@@ -3,6 +3,7 @@
import gi
gi.require_version('Gtk', '3.0')
+import locale
import logging
import urllib
@@ -17,6 +18,7 @@ from mcg import widgets
class Application(Gtk.Application):
TITLE = "MPDCoverGrid"
ID = 'de.coderkun.mcg'
+ DOMAIN = 'mcg'
def _get_option(shortname, longname, description):
@@ -52,6 +54,7 @@ class Application(Gtk.Application):
self._load_resource()
self._load_settings()
self._load_css()
+ self._setup_locale()
self._load_ui()
@@ -90,9 +93,15 @@ class Application(Gtk.Application):
)
+ def _setup_locale(self):
+ relpath = Environment.get_locale()
+ locale.bindtextdomain(Application.DOMAIN, relpath)
+
+
def _load_ui(self):
# Create builder to load UI
self._builder = Gtk.Builder()
+ self._builder.set_translation_domain(Application.DOMAIN)
self._builder.add_from_resource(self._get_resource_path('gtk.glade'))
diff --git a/mcg/widgets.py b/mcg/widgets.py
index 2907fb5..0b5b786 100644
--- a/mcg/widgets.py
+++ b/mcg/widgets.py
@@ -569,7 +569,7 @@ class ConnectionPanel(GObject.GObject):
self._port_spinner = builder.get_object('server-port')
# Passwort
self._password_entry = builder.get_object('server-password')
- # Image dir
+ # Image directory
self._image_dir_entry = builder.get_object('server-image-dir')
# Zeroconf provider
diff --git a/setup.py b/setup.py
index cbc1bac..799e302 100644
--- a/setup.py
+++ b/setup.py
@@ -52,6 +52,10 @@ setup(
"data/gtk.glade",
"data/mcg.css",
"data/noise-texture.png"
+ ]),
+ (os.path.join('share', 'locale'), [
+ 'locale/en/LC_MESSAGES/mcg.mo',
+ 'locale/de/LC_MESSAGES/mcg.mo'
])
],
classifiers = [