Add translation function

This commit is contained in:
JonnyWong16 2021-06-04 17:30:13 -07:00
commit cdd9bf9f54
No known key found for this signature in database
GPG key ID: B1F1F9807184697A
2 changed files with 18 additions and 7 deletions

View file

@ -17,6 +17,7 @@ from __future__ import unicode_literals
from future.builtins import range from future.builtins import range
import datetime import datetime
import gettext
import os import os
import future.moves.queue as queue import future.moves.queue as queue
import sqlite3 import sqlite3
@ -536,6 +537,8 @@ def start():
global _STARTED global _STARTED
if _INITIALIZED: if _INITIALIZED:
set_locale(CONFIG.LOCALE)
# Start refreshes on a separate thread # Start refreshes on a separate thread
threading.Thread(target=startup_refresh).start() threading.Thread(target=startup_refresh).start()
@ -2700,3 +2703,11 @@ def get_tautulli_info():
'tautulli_python_version': common.PYTHON_VERSION, 'tautulli_python_version': common.PYTHON_VERSION,
} }
return tautulli return tautulli
def set_locale(locale):
logger.info("Setting locale to '%s'", locale)
locale_dir = os.path.join(PROG_DIR, 'data/locales/')
translation = gettext.translation('tautulli', localedir=locale_dir,
languages=[locale, 'en'], fallback=True)
translation.install()

View file

@ -23,7 +23,6 @@ from backports import csv
from io import open, BytesIO from io import open, BytesIO
import base64 import base64
import gettext
import json import json
import linecache import linecache
import os import os
@ -116,8 +115,6 @@ else:
def serve_template(templatename, **kwargs): def serve_template(templatename, **kwargs):
_ = gettext.gettext
interface_dir = os.path.join(str(plexpy.PROG_DIR), 'data/interfaces/') interface_dir = os.path.join(str(plexpy.PROG_DIR), 'data/interfaces/')
template_dir = os.path.join(str(interface_dir), plexpy.CONFIG.INTERFACE) template_dir = os.path.join(str(interface_dir), plexpy.CONFIG.INTERFACE)
@ -3260,7 +3257,7 @@ class WebInterface(object):
https_changed = False https_changed = False
refresh_libraries = False refresh_libraries = False
refresh_users = False refresh_users = False
refresh_page = False change_locale = False
# First run from the setup wizard # First run from the setup wizard
if kwargs.pop('first_run', None): if kwargs.pop('first_run', None):
@ -3325,7 +3322,7 @@ class WebInterface(object):
# Refresh the page if locale changed # Refresh the page if locale changed
if kwargs.get('locale') != plexpy.CONFIG.LOCALE: if kwargs.get('locale') != plexpy.CONFIG.LOCALE:
refresh_page = True change_locale = True
# If we change any monitoring settings, make sure we reschedule tasks. # If we change any monitoring settings, make sure we reschedule tasks.
if kwargs.get('check_github') != plexpy.CONFIG.CHECK_GITHUB or \ if kwargs.get('check_github') != plexpy.CONFIG.CHECK_GITHUB or \
@ -3427,9 +3424,12 @@ class WebInterface(object):
if refresh_users: if refresh_users:
threading.Thread(target=users.refresh_users).start() threading.Thread(target=users.refresh_users).start()
if change_locale:
plexpy.set_locale(plexpy.CONFIG.LOCALE)
result = {'result': 'success', 'message': 'Settings saved.'} result = {'result': 'success', 'message': 'Settings saved.'}
if refresh_page: if change_locale:
result['refresh'] = refresh_page result['refresh'] = True
return result return result
@cherrypy.expose @cherrypy.expose