From 1ab8c01495bdf4d16331c67c008d4c9f8959f945 Mon Sep 17 00:00:00 2001 From: thoradia Date: Sat, 15 Apr 2017 16:36:25 +0200 Subject: [PATCH] locale: initial add-on --- packages/addons/service/locale/changelog.txt | 2 + packages/addons/service/locale/icon/icon.png | Bin 0 -> 40878 bytes packages/addons/service/locale/package.mk | 61 +++++++++++++++ .../service/locale/resources/settings.xml | 7 ++ .../addons/service/locale/source/default.py | 74 ++++++++++++++++++ .../resources/language/English/strings.po | 19 +++++ .../locale/source/settings-default.xml | 4 + 7 files changed, 167 insertions(+) create mode 100644 packages/addons/service/locale/changelog.txt create mode 100644 packages/addons/service/locale/icon/icon.png create mode 100644 packages/addons/service/locale/package.mk create mode 100644 packages/addons/service/locale/resources/settings.xml create mode 100644 packages/addons/service/locale/source/default.py create mode 100644 packages/addons/service/locale/source/resources/language/English/strings.po create mode 100644 packages/addons/service/locale/source/settings-default.xml diff --git a/packages/addons/service/locale/changelog.txt b/packages/addons/service/locale/changelog.txt new file mode 100644 index 0000000000..537a90c254 --- /dev/null +++ b/packages/addons/service/locale/changelog.txt @@ -0,0 +1,2 @@ +100: +- Initial add-on diff --git a/packages/addons/service/locale/icon/icon.png b/packages/addons/service/locale/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..90f7acca941cec34ab5393fa3d2c0f85c99a465f GIT binary patch literal 40878 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 literal 0 HcmV?d00001 diff --git a/packages/addons/service/locale/package.mk b/packages/addons/service/locale/package.mk new file mode 100644 index 0000000000..78a658b62e --- /dev/null +++ b/packages/addons/service/locale/package.mk @@ -0,0 +1,61 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2017-present Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +PKG_NAME="locale" +PKG_REV="100" +PKG_ARCH="any" +PKG_DEPENDS_TARGET="toolchain glibc" +PKG_SECTION="service" +PKG_SHORTDESC="Locale: allows users to set a custom locale to override the POSIX default" +PKG_LONGDESC="Locale ($PKG_REV) allows users to set a custom locale in the OS to override the POSIX default" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="Locale" +PKG_ADDON_TYPE="xbmc.service" + +make_target() { + : # nothing to do +} + +makeinstall_target() { + : # nothing to do +} + +addon() { + mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/i18n" + cp -PR "$(get_build_dir glibc)/localedata/charmaps" \ + "$(get_build_dir glibc)/localedata/locales" \ + "$ADDON_BUILD/$PKG_ADDON_ID/i18n" + + mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/locpath" + + cp -PR $PKG_DIR/resources $ADDON_BUILD/$PKG_ADDON_ID + + locales="" + for p in "$ADDON_BUILD/$PKG_ADDON_ID/i18n/locales"/*; do + l="$(basename $p)" + if [ "$l" = "POSIX" ]; then + continue + fi + locales="$locales|$l" + done + locales="${locales:1}" + + sed -e "s/@LOCALES@/$locales/" \ + -i $ADDON_BUILD/$PKG_ADDON_ID/resources/settings.xml +} diff --git a/packages/addons/service/locale/resources/settings.xml b/packages/addons/service/locale/resources/settings.xml new file mode 100644 index 0000000000..5157d70e48 --- /dev/null +++ b/packages/addons/service/locale/resources/settings.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/packages/addons/service/locale/source/default.py b/packages/addons/service/locale/source/default.py new file mode 100644 index 0000000000..2ac495b544 --- /dev/null +++ b/packages/addons/service/locale/source/default.py @@ -0,0 +1,74 @@ +################################################################################ +# This file is part of LibreELEC - https://libreelec.tv +# Copyright (C) 2017-present Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +import os +import subprocess +import xbmc +import xbmcaddon +import xbmcgui + + +class Monitor(xbmc.Monitor): + + def __init__(self, *args, **kwargs): + xbmc.Monitor.__init__(self) + self.setLocale() + + def onSettingsChanged(self): + self.setLocale() + + def setLocale(self): + addon = xbmcaddon.Addon() + + charmap = addon.getSetting('charmap') + locale = addon.getSetting('locale') + lang = locale + '.' + charmap + + path = addon.getAddonInfo('path') + i18npath = os.path.join(path, 'i18n') + locpath = os.path.join(path, 'locpath') + localepath = os.path.join(locpath, lang) + profiled = os.path.join(path, 'profile.d') + profile = os.path.join(profiled, '10-locale.profile') + + strings = addon.getLocalizedString + + if os.path.isdir(locpath) == False: + os.makedirs(locpath) + + if os.path.isdir(localepath) == False: + os.environ['I18NPATH'] = i18npath + subprocess.call(['localedef', '-f', charmap, '-i', locale, localepath]) + + if os.path.isdir(profiled) == False: + os.makedirs(profiled) + + file = open(profile, 'w') + file.write('export LANG="' + lang + '"\n') + file.write('export LOCPATH="' + locpath + '"\n') + file.close() + + current = os.environ.get('LANG', '') + if lang != current: + if xbmcgui.Dialog().yesno('Locale', strings(30003).format(current, lang) + ) == True: + xbmc.restart() + + +if __name__ == '__main__': + Monitor().waitForAbort() diff --git a/packages/addons/service/locale/source/resources/language/English/strings.po b/packages/addons/service/locale/source/resources/language/English/strings.po new file mode 100644 index 0000000000..eaf9702e63 --- /dev/null +++ b/packages/addons/service/locale/source/resources/language/English/strings.po @@ -0,0 +1,19 @@ +# Kodi Media Center language file +msgid "" +msgstr "" + +msgctxt "#30000" +msgid "Configuration" +msgstr "" + +msgctxt "#30001" +msgid "Charmap" +msgstr "" + +msgctxt "#30002" +msgid "Locale" +msgstr "" + +msgctxt "#30003" +msgid "Locale changed from {} to {}. Please reboot to apply globally." +msgstr "" diff --git a/packages/addons/service/locale/source/settings-default.xml b/packages/addons/service/locale/source/settings-default.xml new file mode 100644 index 0000000000..5db70160c9 --- /dev/null +++ b/packages/addons/service/locale/source/settings-default.xml @@ -0,0 +1,4 @@ + + + +