Llama-3.1-8B-DALv0.1
/
venv
/lib
/python3.12
/site-packages
/jupyterlab_server
/translations_handler.py
""" | |
Translation handler. | |
""" | |
# Copyright (c) Jupyter Development Team. | |
# Distributed under the terms of the Modified BSD License. | |
from __future__ import annotations | |
import json | |
import traceback | |
from functools import partial | |
import tornado | |
from .settings_utils import SchemaHandler | |
from .translation_utils import ( | |
SYS_LOCALE, | |
get_language_pack, | |
get_language_packs, | |
is_valid_locale, | |
translator, | |
) | |
class TranslationsHandler(SchemaHandler): | |
"""An API handler for translations.""" | |
async def get(self, locale: str | None = None) -> None: | |
""" | |
Get installed language packs. | |
If `locale` is equals to "default", the default locale will be used. | |
Parameters | |
---------- | |
locale: str, optional | |
If no locale is provided, it will list all the installed language packs. | |
Default is `None`. | |
""" | |
data: dict | |
data, message = {}, "" | |
try: | |
current_loop = tornado.ioloop.IOLoop.current() | |
if locale is None: | |
data, message = await current_loop.run_in_executor( | |
None, | |
partial(get_language_packs, display_locale=self.get_current_locale()), | |
) | |
else: | |
locale = locale or SYS_LOCALE | |
if locale == "default": | |
locale = SYS_LOCALE | |
data, message = await current_loop.run_in_executor( | |
None, partial(get_language_pack, locale) | |
) | |
if data == {} and not message: | |
if is_valid_locale(locale): | |
message = f"Language pack '{locale}' not installed!" | |
else: | |
message = f"Language pack '{locale}' not valid!" | |
elif is_valid_locale(locale): | |
# only change locale if the language pack is installed and valid | |
translator.set_locale(locale) | |
except Exception: | |
message = traceback.format_exc() | |
self.set_status(200) | |
self.finish(json.dumps({"data": data, "message": message})) | |