diff --git a/kvmd/apps/kvmd/__init__.py b/kvmd/apps/kvmd/__init__.py index 2d0379c2..7cf8430c 100644 --- a/kvmd/apps/kvmd/__init__.py +++ b/kvmd/apps/kvmd/__init__.py @@ -26,8 +26,6 @@ from ...plugins.hid import get_hid_class from ...plugins.atx import get_atx_class from ...plugins.msd import get_msd_class -from ...lanuages import Lanuages - from .. import init from .auth import AuthManager @@ -112,4 +110,4 @@ def main(argv: (list[str] | None)=None) -> None: stream_forever=config.streamer.forever, ).run(**config.server._unpack()) - get_logger(0).info(Lanuages().gettext("Bye-bye")) + get_logger(0).info("Bye-bye") diff --git a/kvmd/apps/kvmd/auth.py b/kvmd/apps/kvmd/auth.py index 786fdf55..ec7c8295 100644 --- a/kvmd/apps/kvmd/auth.py +++ b/kvmd/apps/kvmd/auth.py @@ -34,7 +34,6 @@ from ...plugins.auth import get_auth_service_class from ...htserver import HttpExposed -from ...lanuages import Lanuages # ===== class AuthManager: @@ -52,32 +51,31 @@ class AuthManager: totp_secret_path: str, ) -> None: - self.gettext=Lanuages().gettext + _ = translation(domain="message",localedir="/kvmd/i18n",languages=["zh"]).gettext self.__enabled = enabled if not enabled: - get_logger().warning(self.gettext("AUTHORIZATION IS DISABLED")) + get_logger().warning(_("AUTHORIZATION IS DISABLED")) self.__unauth_paths = frozenset(unauth_paths) # To speed up for path in self.__unauth_paths: - get_logger().warning(self.gettext("Authorization is disabled for API %r"), path) + get_logger().warning(_("Authorization is disabled for API %r"), path) self.__internal_service: (BaseAuthService | None) = None if enabled: self.__internal_service = get_auth_service_class(internal_type)(**internal_kwargs) - get_logger().info(self.gettext("Using internal auth service %r"), self.__internal_service.get_plugin_name()) + get_logger().info(_("Using internal auth service %r"), self.__internal_service.get_plugin_name()) self.__force_internal_users = force_internal_users self.__external_service: (BaseAuthService | None) = None if enabled and external_type: self.__external_service = get_auth_service_class(external_type)(**external_kwargs) - get_logger().info(self.gettext("Using external auth service %r"), self.__external_service.get_plugin_name()) + get_logger().info(_("Using external auth service %r"), self.__external_service.get_plugin_name()) self.__totp_secret_path = totp_secret_path self.__tokens: dict[str, str] = {} # {token: user} - def is_auth_enabled(self) -> bool: return self.__enabled @@ -100,7 +98,7 @@ class AuthManager: if secret: code = passwd[-6:] if not pyotp.TOTP(secret).verify(code): - get_logger().error(self.gettext("Got access denied for user %r by TOTP"), user) + get_logger().error(_("Got access denied for user %r by TOTP"), user) return False passwd = passwd[:-6] @@ -111,9 +109,9 @@ class AuthManager: ok = (await service.authorize(user, passwd)) if ok: - get_logger().info(self.gettext("Authorized user %r via auth service %r"), user, service.get_plugin_name()) + get_logger().info(_("Authorized user %r via auth service %r"), user, service.get_plugin_name()) else: - get_logger().error(self.gettext("Got access denied for user %r from auth service %r"), user, service.get_plugin_name()) + get_logger().error(_("Got access denied for user %r from auth service %r"), user, service.get_plugin_name()) return ok async def login(self, user: str, passwd: str) -> (str | None): @@ -123,7 +121,7 @@ class AuthManager: if (await self.authorize(user, passwd)): token = self.__make_new_token() self.__tokens[token] = user - get_logger().info(self.gettext("Logged in user %r"), user) + get_logger().info(_("Logged in user %r"), user) return token else: return None @@ -133,7 +131,7 @@ class AuthManager: token = secrets.token_hex(32) if token not in self.__tokens: return token - raise AssertionError(self.gettext("Can't generate new unique token")) + raise AssertionError(_("Can't generate new unique token")) def logout(self, token: str) -> None: assert self.__enabled @@ -144,7 +142,7 @@ class AuthManager: if r_user == user: count += 1 del self.__tokens[r_token] - get_logger().info(self.gettext("Logged out user %r (%d)"), user, count) + get_logger().info(_("Logged out user %r (%d)"), user, count) def check(self, token: str) -> (str | None): assert self.__enabled diff --git a/kvmd/i18n/zh/LC_MESSAGES/message.mo b/kvmd/i18n/zh/LC_MESSAGES/message.mo index ec6a1c48..e43d416b 100644 Binary files a/kvmd/i18n/zh/LC_MESSAGES/message.mo and b/kvmd/i18n/zh/LC_MESSAGES/message.mo differ diff --git a/kvmd/i18n/zh/LC_MESSAGES/message.po b/kvmd/i18n/zh/LC_MESSAGES/message.po index 6171e244..af3a1f87 100644 --- a/kvmd/i18n/zh/LC_MESSAGES/message.po +++ b/kvmd/i18n/zh/LC_MESSAGES/message.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2024-08-06 21:57+0800\n" -"PO-Revision-Date: 2024-08-06 21:57+0800\n" +"POT-Creation-Date: 2024-08-06 21:17+0800\n" +"PO-Revision-Date: 2024-08-06 21:17+0800\n" "Last-Translator: \n" "Language: zh\n" "Language-Team: zh \n" @@ -22,31 +22,6 @@ msgstr "" msgid "Can't determine filename" msgstr "无法确定文件名" -#: kvmd/htserver.py:356 -#, python-format -msgid "Registered new client session: %s; clients now: %d" -msgstr "已注册新客户端会话:%s;现在的客户:%d" - -#: kvmd/htserver.py:371 -#, python-format -msgid "Can't parse JSON event from websocket: %r" -msgstr "无法解析来自 websocket 的 JSON 事件:%r" - -#: kvmd/htserver.py:377 -#, python-format -msgid "Unknown websocket event: %r" -msgstr "未知 websocket 事件:%r" - -#: kvmd/htserver.py:384 -#, python-format -msgid "Unknown websocket binary event: %r" -msgstr "未知 websocket 二进制事件:%r" - -#: kvmd/htserver.py:415 -#, python-format -msgid "Removed client socket: %s; clients now: %d" -msgstr "已移除客户端套接字:%s;现在的客户端:%d" - #: kvmd/inotify.py:199 #, python-format msgid "Watching for %s" @@ -91,10 +66,6 @@ msgstr "尝试使用 --help 选项来了解某项服务的功能。\n" msgid "Make sure you understand exactly what you are doing!" msgstr "请确定你自己在做什么!" -#: kvmd/apps/kvmd/__init__.py:115 -msgid "Bye-bye" -msgstr "再见" - #: kvmd/apps/kvmd/auth.py:57 msgid "AUTHORIZATION IS DISABLED" msgstr "身份验证服务已被禁用" diff --git a/message.pot b/message.pot index ff584f26..13862a32 100644 --- a/message.pot +++ b/message.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2024-08-06 21:57+0800\n" +"POT-Creation-Date: 2024-08-06 21:17+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,31 +21,6 @@ msgstr "" msgid "Can't determine filename" msgstr "" -#: kvmd/htserver.py:356 -#, python-format -msgid "Registered new client session: %s; clients now: %d" -msgstr "" - -#: kvmd/htserver.py:371 -#, python-format -msgid "Can't parse JSON event from websocket: %r" -msgstr "" - -#: kvmd/htserver.py:377 -#, python-format -msgid "Unknown websocket event: %r" -msgstr "" - -#: kvmd/htserver.py:384 -#, python-format -msgid "Unknown websocket binary event: %r" -msgstr "" - -#: kvmd/htserver.py:415 -#, python-format -msgid "Removed client socket: %s; clients now: %d" -msgstr "" - #: kvmd/inotify.py:199 #, python-format msgid "Watching for %s" @@ -90,10 +65,6 @@ msgstr "" msgid "Make sure you understand exactly what you are doing!" msgstr "" -#: kvmd/apps/kvmd/__init__.py:115 -msgid "Bye-bye" -msgstr "" - #: kvmd/apps/kvmd/auth.py:57 msgid "AUTHORIZATION IS DISABLED" msgstr ""