diff --git a/apps/i18n/core/en/LC_MESSAGES/django.po b/apps/i18n/core/en/LC_MESSAGES/django.po index a5a048755..9655e3938 100644 --- a/apps/i18n/core/en/LC_MESSAGES/django.po +++ b/apps/i18n/core/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-19 18:45+0800\n" +"POT-Creation-Date: 2025-08-21 11:01+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4043,7 +4043,7 @@ msgstr "" msgid "Virtual OTP based MFA" msgstr "" -#: authentication/mfa/passkey.py:42 authentication/mfa/passkey.py:46 +#: authentication/mfa/passkey.py:44 authentication/mfa/passkey.py:48 msgid "Using passkey as MFA" msgstr "" @@ -6212,21 +6212,21 @@ msgstr "" msgid "Role binding" msgstr "" -#: rbac/models/rolebinding.py:161 +#: rbac/models/rolebinding.py:168 msgid "All organizations" msgstr "" -#: rbac/models/rolebinding.py:193 +#: rbac/models/rolebinding.py:200 msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" msgstr "" -#: rbac/models/rolebinding.py:200 +#: rbac/models/rolebinding.py:207 msgid "Organization role binding" msgstr "" -#: rbac/models/rolebinding.py:215 +#: rbac/models/rolebinding.py:222 msgid "System role binding" msgstr "" @@ -6330,6 +6330,30 @@ msgstr "" msgid "View permission tree" msgstr "" +#: reports/views.py:20 +msgid "User login report" +msgstr "" + +#: reports/views.py:24 +msgid "User change password report" +msgstr "" + +#: reports/views.py:28 +msgid "Asset statistics report" +msgstr "" + +#: reports/views.py:32 +msgid "Asset activity report" +msgstr "" + +#: reports/views.py:36 +msgid "Account statistics report" +msgstr "" + +#: reports/views.py:40 +msgid "Account automation report" +msgstr "" + #: settings/api/chat.py:41 msgid "Chat AI is not enabled" msgstr "" @@ -7309,8 +7333,8 @@ msgstr "" #: settings/serializers/msg.py:38 msgid "" -"Password to use for the email server. It is used in conjunction with `User` " -"when authenticating to the email server" +"Password to use for the email server. It is used in conjunction with " +"`Account` when authenticating to the email server" msgstr "" #: settings/serializers/msg.py:41 @@ -7318,7 +7342,7 @@ msgid "Sender" msgstr "" #: settings/serializers/msg.py:42 -msgid "Sender email address (default to using the `User`)" +msgid "Sender email address (default to using the `Account`)" msgstr "" #: settings/serializers/msg.py:46 diff --git a/apps/i18n/core/es/LC_MESSAGES/django.po b/apps/i18n/core/es/LC_MESSAGES/django.po index c2cc094f9..530c56547 100644 --- a/apps/i18n/core/es/LC_MESSAGES/django.po +++ b/apps/i18n/core/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-19 18:45+0800\n" +"POT-Creation-Date: 2025-08-21 11:01+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4286,7 +4286,7 @@ msgstr "Código de verificación MFA virtual" msgid "Virtual OTP based MFA" msgstr "Código MFA virtual (OTP)" -#: authentication/mfa/passkey.py:42 authentication/mfa/passkey.py:46 +#: authentication/mfa/passkey.py:44 authentication/mfa/passkey.py:48 msgid "Using passkey as MFA" msgstr "Usar Passkey como MFA." @@ -6611,11 +6611,11 @@ msgstr "Rol de la organización" msgid "Role binding" msgstr "Vinculación de roles" -#: rbac/models/rolebinding.py:161 +#: rbac/models/rolebinding.py:168 msgid "All organizations" msgstr "Todas las organizaciones" -#: rbac/models/rolebinding.py:193 +#: rbac/models/rolebinding.py:200 msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" @@ -6623,11 +6623,11 @@ msgstr "" "El último rol del usuario no se puede eliminar, pero puedes quitar al " "usuario de la organización" -#: rbac/models/rolebinding.py:200 +#: rbac/models/rolebinding.py:207 msgid "Organization role binding" msgstr "Rol de organización vinculado" -#: rbac/models/rolebinding.py:215 +#: rbac/models/rolebinding.py:222 msgid "System role binding" msgstr "Rol del sistema vinculado" @@ -6731,6 +6731,30 @@ msgstr "Configuración general" msgid "View permission tree" msgstr "Ver árbol de autorizaciones" +#: reports/views.py:20 +msgid "User login report" +msgstr "Informe de inicio de sesión de usuarios" + +#: reports/views.py:24 +msgid "User change password report" +msgstr "Informe de cambio de contraseña de usuarios" + +#: reports/views.py:28 +msgid "Asset statistics report" +msgstr "Informe de estadísticas de activos" + +#: reports/views.py:32 +msgid "Asset activity report" +msgstr "Informe de actividades de activos" + +#: reports/views.py:36 +msgid "Account statistics report" +msgstr "Informe de estadísticas de cuentas" + +#: reports/views.py:40 +msgid "Account automation report" +msgstr "Informe de automatización de cuentas" + #: settings/api/chat.py:41 msgid "Chat AI is not enabled" msgstr "Chat AI no está habilitado" @@ -7869,19 +7893,21 @@ msgstr "" #: settings/serializers/msg.py:38 msgid "" -"Password to use for the email server. It is used in conjunction with `User` " -"when authenticating to the email server" -msgstr "Contraseña para iniciar sesión en el servidor de correo" +"Password to use for the email server. It is used in conjunction with " +"`Account` when authenticating to the email server" +msgstr "" +"Contraseña utilizada para el servidor de correo electrónico. Se utiliza " +"junto con `cuenta` al autenticar con el servidor de correo electrónico." #: settings/serializers/msg.py:41 msgid "Sender" msgstr "Remitente" #: settings/serializers/msg.py:42 -msgid "Sender email address (default to using the `User`)" +msgid "Sender email address (default to using the `Account`)" msgstr "" -"Dirección de correo electrónico del remitente (por defecto se utiliza " -"`usuario`)" +"Dirección de correo electrónico del remitente (utiliza `cuenta` por " +"defecto)." #: settings/serializers/msg.py:46 msgid "The recipient is used for testing the email server's connectivity" diff --git a/apps/i18n/core/ja/LC_MESSAGES/django.po b/apps/i18n/core/ja/LC_MESSAGES/django.po index 5ae0af995..b708409b2 100644 --- a/apps/i18n/core/ja/LC_MESSAGES/django.po +++ b/apps/i18n/core/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-19 18:45+0800\n" +"POT-Creation-Date: 2025-08-21 11:01+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4086,7 +4086,7 @@ msgstr "OTP検証コード" msgid "Virtual OTP based MFA" msgstr "仮想OTPベースのMFA" -#: authentication/mfa/passkey.py:42 authentication/mfa/passkey.py:46 +#: authentication/mfa/passkey.py:44 authentication/mfa/passkey.py:48 msgid "Using passkey as MFA" msgstr "MFAとしてPasskeyを使用する" @@ -6260,21 +6260,21 @@ msgstr "組織の役割" msgid "Role binding" msgstr "ロールバインディング" -#: rbac/models/rolebinding.py:161 +#: rbac/models/rolebinding.py:168 msgid "All organizations" msgstr "全ての組織" -#: rbac/models/rolebinding.py:193 +#: rbac/models/rolebinding.py:200 msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" msgstr "ユーザーの最後のロールは削除できません。ユーザーを組織から削除できます。" -#: rbac/models/rolebinding.py:200 +#: rbac/models/rolebinding.py:207 msgid "Organization role binding" msgstr "組織の役割バインディング" -#: rbac/models/rolebinding.py:215 +#: rbac/models/rolebinding.py:222 msgid "System role binding" msgstr "システムロールバインディング" @@ -6378,6 +6378,30 @@ msgstr "共通設定" msgid "View permission tree" msgstr "権限ツリーの表示" +#: reports/views.py:20 +msgid "User login report" +msgstr "ユーザーログイン報告" + +#: reports/views.py:24 +msgid "User change password report" +msgstr "ユーザー変更パスワード報告" + +#: reports/views.py:28 +msgid "Asset statistics report" +msgstr "資産統計報告" + +#: reports/views.py:32 +msgid "Asset activity report" +msgstr "資産活動報告" + +#: reports/views.py:36 +msgid "Account statistics report" +msgstr "アカウント統計報告" + +#: reports/views.py:40 +msgid "Account automation report" +msgstr "アカウント自動化報告" + #: settings/api/chat.py:41 msgid "Chat AI is not enabled" msgstr "チャットAIがオンになっていない" @@ -7396,17 +7420,17 @@ msgstr "メールサーバーにログインするためのユーザー名。通 #: settings/serializers/msg.py:38 msgid "" -"Password to use for the email server. It is used in conjunction with `User` " -"when authenticating to the email server" -msgstr "メールサーバーにログインするためのパスワード" +"Password to use for the email server. It is used in conjunction with " +"`Account` when authenticating to the email server" +msgstr "電子メールサーバーに使用するパスワードです。電子メールサーバーに認証を行う際に、`アカウント`と一緒に使用されます。" #: settings/serializers/msg.py:41 msgid "Sender" msgstr "送信者" #: settings/serializers/msg.py:42 -msgid "Sender email address (default to using the `User`)" -msgstr "送信者のメールアドレス(デフォルトでは“ユーザー”が使用されます)" +msgid "Sender email address (default to using the `Account`)" +msgstr "送信者の電子メールアドレス(デフォルトでは`アカウント`を使用)です。" #: settings/serializers/msg.py:46 msgid "The recipient is used for testing the email server's connectivity" diff --git a/apps/i18n/core/ko/LC_MESSAGES/django.po b/apps/i18n/core/ko/LC_MESSAGES/django.po index 1846a13ea..e71510b53 100644 --- a/apps/i18n/core/ko/LC_MESSAGES/django.po +++ b/apps/i18n/core/ko/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-19 18:45+0800\n" +"POT-Creation-Date: 2025-08-21 11:01+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4085,7 +4085,7 @@ msgstr "가상 MFA 인증 코드" msgid "Virtual OTP based MFA" msgstr "가상 MFA(일회용 패스워드)" -#: authentication/mfa/passkey.py:42 authentication/mfa/passkey.py:46 +#: authentication/mfa/passkey.py:44 authentication/mfa/passkey.py:48 msgid "Using passkey as MFA" msgstr "MFA로 Passkey 사용하기" @@ -6296,21 +6296,21 @@ msgstr "조직 역할" msgid "Role binding" msgstr "역할 바인딩" -#: rbac/models/rolebinding.py:161 +#: rbac/models/rolebinding.py:168 msgid "All organizations" msgstr "모든 조직" -#: rbac/models/rolebinding.py:193 +#: rbac/models/rolebinding.py:200 msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" msgstr "사용자의 마지막 역할은 삭제할 수 없으며, 사용자를 조직에서 제거할 수 있습니다" -#: rbac/models/rolebinding.py:200 +#: rbac/models/rolebinding.py:207 msgid "Organization role binding" msgstr "조직 역할 바인딩" -#: rbac/models/rolebinding.py:215 +#: rbac/models/rolebinding.py:222 msgid "System role binding" msgstr "시스템 역할 바인딩" @@ -6414,6 +6414,30 @@ msgstr "일반 설정" msgid "View permission tree" msgstr "권한 트리 보기" +#: reports/views.py:20 +msgid "User login report" +msgstr "사용자 로그인 보고서" + +#: reports/views.py:24 +msgid "User change password report" +msgstr "사용자 비밀번호 변경 보고서" + +#: reports/views.py:28 +msgid "Asset statistics report" +msgstr "자산 통계 보고서" + +#: reports/views.py:32 +msgid "Asset activity report" +msgstr "자산 활동 보고서" + +#: reports/views.py:36 +msgid "Account statistics report" +msgstr "계정 통계 보고서" + +#: reports/views.py:40 +msgid "Account automation report" +msgstr "계정 자동화 보고서" + #: settings/api/chat.py:41 msgid "Chat AI is not enabled" msgstr "채팅 AI가 활성화되어 있지 않습니다" @@ -7438,17 +7462,17 @@ msgstr "메일 서버에 로그인할 때 사용할 사용자 이름. 일반적 #: settings/serializers/msg.py:38 msgid "" -"Password to use for the email server. It is used in conjunction with `User` " -"when authenticating to the email server" -msgstr "메일 서버에 로그인할 때 사용할 비밀번호" +"Password to use for the email server. It is used in conjunction with " +"`Account` when authenticating to the email server" +msgstr "전자 메일 서버에 사용되는 비밀번호입니다. 전자 메일 서버에 인증할 때 `계정`과 함께 사용됩니다." #: settings/serializers/msg.py:41 msgid "Sender" msgstr "발신자" #: settings/serializers/msg.py:42 -msgid "Sender email address (default to using the `User`)" -msgstr "발신자 이메일 주소(기본적으로 '사용자' 사용)" +msgid "Sender email address (default to using the `Account`)" +msgstr "발신자 전자 메일 주소(기본적으로 `계정`이 사용됩니다)." #: settings/serializers/msg.py:46 msgid "The recipient is used for testing the email server's connectivity" diff --git a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po index 382d856ad..0b5872456 100644 --- a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po +++ b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-19 18:45+0800\n" +"POT-Creation-Date: 2025-08-21 11:01+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4229,7 +4229,7 @@ msgstr "Código de verificação MFA virtual" msgid "Virtual OTP based MFA" msgstr "MFA virtual (OTP)" -#: authentication/mfa/passkey.py:42 authentication/mfa/passkey.py:46 +#: authentication/mfa/passkey.py:44 authentication/mfa/passkey.py:48 msgid "Using passkey as MFA" msgstr "Utilize a chave de acesso como MFA." @@ -6504,11 +6504,11 @@ msgstr "Papel da organização" msgid "Role binding" msgstr "Vinculação de papel" -#: rbac/models/rolebinding.py:161 +#: rbac/models/rolebinding.py:168 msgid "All organizations" msgstr "Todas as organizações" -#: rbac/models/rolebinding.py:193 +#: rbac/models/rolebinding.py:200 msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" @@ -6516,11 +6516,11 @@ msgstr "" "O último papel do usuário não pode ser excluído, você pode remover o usuário" " da organização" -#: rbac/models/rolebinding.py:200 +#: rbac/models/rolebinding.py:207 msgid "Organization role binding" msgstr "Associação de papéis da organização" -#: rbac/models/rolebinding.py:215 +#: rbac/models/rolebinding.py:222 msgid "System role binding" msgstr "Associação de papéis do sistema" @@ -6624,6 +6624,30 @@ msgstr "Configurações Gerais" msgid "View permission tree" msgstr "Visualizar Árvore de Autorização" +#: reports/views.py:20 +msgid "User login report" +msgstr "Relatório de Login de Usuário" + +#: reports/views.py:24 +msgid "User change password report" +msgstr "Relatório de Mudança de Senha do Usuário" + +#: reports/views.py:28 +msgid "Asset statistics report" +msgstr "Relatório de Estatísticas de Ativos" + +#: reports/views.py:32 +msgid "Asset activity report" +msgstr "Relatório de Atividades de Ativos" + +#: reports/views.py:36 +msgid "Account statistics report" +msgstr "Relatório de Estatísticas de Contas" + +#: reports/views.py:40 +msgid "Account automation report" +msgstr "Relatório de Automação de Contas" + #: settings/api/chat.py:41 msgid "Chat AI is not enabled" msgstr "Chat AI Não Ativado" @@ -7710,17 +7734,19 @@ msgstr "" #: settings/serializers/msg.py:38 msgid "" -"Password to use for the email server. It is used in conjunction with `User` " -"when authenticating to the email server" -msgstr "Senha para login no servidor de e-mail." +"Password to use for the email server. It is used in conjunction with " +"`Account` when authenticating to the email server" +msgstr "" +"Senha utilizada para o servidor de e-mail. É utilizada em conjunto com a " +"`conta` ao autenticar no servidor de e-mail" #: settings/serializers/msg.py:41 msgid "Sender" msgstr "Remetente" #: settings/serializers/msg.py:42 -msgid "Sender email address (default to using the `User`)" -msgstr "Endereço de e-mail do remetente (padrão \"usuário\")" +msgid "Sender email address (default to using the `Account`)" +msgstr "endereço de e-mail do remetente (por padrão, utiliza a `conta`)." #: settings/serializers/msg.py:46 msgid "The recipient is used for testing the email server's connectivity" diff --git a/apps/i18n/core/ru/LC_MESSAGES/django.po b/apps/i18n/core/ru/LC_MESSAGES/django.po index ecac0f226..949f96a3d 100644 --- a/apps/i18n/core/ru/LC_MESSAGES/django.po +++ b/apps/i18n/core/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-19 18:45+0800\n" +"POT-Creation-Date: 2025-08-21 11:01+0800\n" "PO-Revision-Date: 2025-06-11 11:51+0300\n" "Last-Translator: \n" "Language-Team: \n" @@ -4209,7 +4209,7 @@ msgstr "Код подтверждения OTP" msgid "Virtual OTP based MFA" msgstr "Виртуальный МФА (OTP)" -#: authentication/mfa/passkey.py:42 authentication/mfa/passkey.py:46 +#: authentication/mfa/passkey.py:44 authentication/mfa/passkey.py:48 msgid "Using passkey as MFA" msgstr "Использовать Passkey как МФА" @@ -6478,11 +6478,11 @@ msgstr "Организационная роль" msgid "Role binding" msgstr "Привязка ролей" -#: rbac/models/rolebinding.py:161 +#: rbac/models/rolebinding.py:168 msgid "All organizations" msgstr "Все организации" -#: rbac/models/rolebinding.py:193 +#: rbac/models/rolebinding.py:200 msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" @@ -6490,11 +6490,11 @@ msgstr "" "Последняя роль пользователя не может быть удалена. Вы можете удалить " "пользователя из организации." -#: rbac/models/rolebinding.py:200 +#: rbac/models/rolebinding.py:207 msgid "Organization role binding" msgstr "Привязка организационной роли" -#: rbac/models/rolebinding.py:215 +#: rbac/models/rolebinding.py:222 msgid "System role binding" msgstr "Привязка системной роли" @@ -6598,6 +6598,30 @@ msgstr "Общие настройки" msgid "View permission tree" msgstr "Просмотр дерева разрешений" +#: reports/views.py:20 +msgid "User login report" +msgstr "Отчет о входе пользователя" + +#: reports/views.py:24 +msgid "User change password report" +msgstr "Отчет о смене пароля пользователя" + +#: reports/views.py:28 +msgid "Asset statistics report" +msgstr "Отчет о статистике активов" + +#: reports/views.py:32 +msgid "Asset activity report" +msgstr "Отчет о действиях с активами" + +#: reports/views.py:36 +msgid "Account statistics report" +msgstr "Отчет о статистике аккаунтов" + +#: reports/views.py:40 +msgid "Account automation report" +msgstr "Автоматизированный отчет по аккаунтам" + #: settings/api/chat.py:41 msgid "Chat AI is not enabled" msgstr "Чат AI не включен" @@ -7678,19 +7702,20 @@ msgstr "Имя пользователя для входа на почтовый #: settings/serializers/msg.py:38 msgid "" -"Password to use for the email server. It is used in conjunction with `User` " -"when authenticating to the email server" -msgstr "Пароль для входа на почтовый сервер" +"Password to use for the email server. It is used in conjunction with " +"`Account` when authenticating to the email server" +msgstr "" +"Пароль для почтового сервера. Он используется вместе с `аккаунтом` для " +"аутентификации на почтовом сервере" #: settings/serializers/msg.py:41 msgid "Sender" msgstr "Отправитель" #: settings/serializers/msg.py:42 -msgid "Sender email address (default to using the `User`)" +msgid "Sender email address (default to using the `Account`)" msgstr "" -"Адрес электронной почты отправителя (по умолчанию используется `Учетная " -"запись`)" +"адрес электронной почты отправителя (по умолчанию используется `аккаунт`)." #: settings/serializers/msg.py:46 msgid "The recipient is used for testing the email server's connectivity" diff --git a/apps/i18n/core/zh/LC_MESSAGES/django.po b/apps/i18n/core/zh/LC_MESSAGES/django.po index 9d96faf6d..b18ba95f7 100644 --- a/apps/i18n/core/zh/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-19 18:45+0800\n" +"POT-Creation-Date: 2025-08-21 11:01+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -4112,7 +4112,7 @@ msgstr "虚拟 MFA 验证码" msgid "Virtual OTP based MFA" msgstr "虚拟 MFA(OTP)" -#: authentication/mfa/passkey.py:42 authentication/mfa/passkey.py:46 +#: authentication/mfa/passkey.py:44 authentication/mfa/passkey.py:48 msgid "Using passkey as MFA" msgstr "使用 Passkey 作为 MFA" @@ -6315,21 +6315,21 @@ msgstr "组织角色" msgid "Role binding" msgstr "角色绑定" -#: rbac/models/rolebinding.py:161 +#: rbac/models/rolebinding.py:168 msgid "All organizations" msgstr "所有组织" -#: rbac/models/rolebinding.py:193 +#: rbac/models/rolebinding.py:200 msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" msgstr "用户最后一个角色,不能删除,你可以将用户从组织移除" -#: rbac/models/rolebinding.py:200 +#: rbac/models/rolebinding.py:207 msgid "Organization role binding" msgstr "组织角色绑定" -#: rbac/models/rolebinding.py:215 +#: rbac/models/rolebinding.py:222 msgid "System role binding" msgstr "系统角色绑定" @@ -6433,6 +6433,30 @@ msgstr "一般设置" msgid "View permission tree" msgstr "查看授权树" +#: reports/views.py:20 +msgid "User login report" +msgstr "用户登录报告" + +#: reports/views.py:24 +msgid "User change password report" +msgstr "用户改密报告" + +#: reports/views.py:28 +msgid "Asset statistics report" +msgstr "资产统计报告" + +#: reports/views.py:32 +msgid "Asset activity report" +msgstr "资产活动报告" + +#: reports/views.py:36 +msgid "Account statistics report" +msgstr "账号统计报告" + +#: reports/views.py:40 +msgid "Account automation report" +msgstr "账号自动化报告" + #: settings/api/chat.py:41 msgid "Chat AI is not enabled" msgstr "聊天 AI 没有开启" @@ -7449,17 +7473,17 @@ msgstr "登录到邮件服务器的用户名。这通常是你的邮件地址" #: settings/serializers/msg.py:38 msgid "" -"Password to use for the email server. It is used in conjunction with `User` " -"when authenticating to the email server" -msgstr "登录到邮件服务器的密码" +"Password to use for the email server. It is used in conjunction with " +"`Account` when authenticating to the email server" +msgstr "用于电子邮件服务器的密码。在向电子邮件服务器进行身份验证时,它与`账号`一起使用" #: settings/serializers/msg.py:41 msgid "Sender" msgstr "发件人" #: settings/serializers/msg.py:42 -msgid "Sender email address (default to using the `User`)" -msgstr "发件人电子邮件地址(默认使用`用户`)" +msgid "Sender email address (default to using the `Account`)" +msgstr "发件人电子邮件地址(默认使用`账号`)" #: settings/serializers/msg.py:46 msgid "The recipient is used for testing the email server's connectivity" diff --git a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po index d5789d738..ffc61d34e 100644 --- a/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po +++ b/apps/i18n/core/zh_Hant/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-19 18:45+0800\n" +"POT-Creation-Date: 2025-08-21 11:01+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -4062,7 +4062,7 @@ msgstr "虛擬 MFA 驗證碼" msgid "Virtual OTP based MFA" msgstr "虛擬 MFA(OTP)" -#: authentication/mfa/passkey.py:42 authentication/mfa/passkey.py:46 +#: authentication/mfa/passkey.py:44 authentication/mfa/passkey.py:48 msgid "Using passkey as MFA" msgstr "使用 Passkey 作為 MFA" @@ -6234,21 +6234,21 @@ msgstr "組織角色" msgid "Role binding" msgstr "角色綁定" -#: rbac/models/rolebinding.py:161 +#: rbac/models/rolebinding.py:168 msgid "All organizations" msgstr "所有組織" -#: rbac/models/rolebinding.py:193 +#: rbac/models/rolebinding.py:200 msgid "" "User last role in org, can not be delete, you can remove user from org " "instead" msgstr "用戶最後一個角色,不能刪除,你可以將用戶從組織移除" -#: rbac/models/rolebinding.py:200 +#: rbac/models/rolebinding.py:207 msgid "Organization role binding" msgstr "組織角色綁定" -#: rbac/models/rolebinding.py:215 +#: rbac/models/rolebinding.py:222 msgid "System role binding" msgstr "系統角色綁定" @@ -6352,6 +6352,30 @@ msgstr "一般設定" msgid "View permission tree" msgstr "查看授權樹" +#: reports/views.py:20 +msgid "User login report" +msgstr "用戶登錄報告" + +#: reports/views.py:24 +msgid "User change password report" +msgstr "用戶修改密碼報告" + +#: reports/views.py:28 +msgid "Asset statistics report" +msgstr "資產統計報告" + +#: reports/views.py:32 +msgid "Asset activity report" +msgstr "資產活動報告" + +#: reports/views.py:36 +msgid "Account statistics report" +msgstr "賬號統計報告" + +#: reports/views.py:40 +msgid "Account automation report" +msgstr "賬號自動化報告" + #: settings/api/chat.py:41 msgid "Chat AI is not enabled" msgstr "聊天 AI 沒有開啟" @@ -7352,17 +7376,17 @@ msgstr "登入郵件伺服器的使用者名稱。這通常是你的郵件地址 #: settings/serializers/msg.py:38 msgid "" -"Password to use for the email server. It is used in conjunction with `User` " -"when authenticating to the email server" -msgstr "登入郵件伺服器的密碼" +"Password to use for the email server. It is used in conjunction with " +"`Account` when authenticating to the email server" +msgstr "用於電子郵件伺服器的密碼。在向電子郵件伺服器進行身份驗證時,與`帳號`一起使用" #: settings/serializers/msg.py:41 msgid "Sender" msgstr "發件人" #: settings/serializers/msg.py:42 -msgid "Sender email address (default to using the `User`)" -msgstr "寄件人電子郵件地址(預設使用“使用者”)" +msgid "Sender email address (default to using the `Account`)" +msgstr "發件人電子郵件地址(預設使用`帳號`)" #: settings/serializers/msg.py:46 msgid "The recipient is used for testing the email server's connectivity" diff --git a/apps/i18n/lina/en.json b/apps/i18n/lina/en.json index f85d29356..2f208e287 100644 --- a/apps/i18n/lina/en.json +++ b/apps/i18n/lina/en.json @@ -529,7 +529,7 @@ "DuplicateFileExists": "Uploading a file with the same name is not allowed, please delete the file with the same name", "Duration": "Duration", "DynamicUsername": "Dynamic username", - "EMailReport": "Email Report", + "EMailReport": "Send email", "Edit": "Edit", "EditRecipient": "Edit recipient", "EditSecret": "Edit secret", diff --git a/apps/i18n/lina/es.json b/apps/i18n/lina/es.json index 7192bb5e3..2592976cd 100644 --- a/apps/i18n/lina/es.json +++ b/apps/i18n/lina/es.json @@ -528,7 +528,7 @@ "DuplicateFileExists": "No se permite cargar archivos con el mismo nombre, por favor elimine los archivos duplicados", "Duration": "Duración", "DynamicUsername": "Nombre de usuario dinámico", - "EMailReport": "Enviar informe por correo electrónico", + "EMailReport": "Enviar correo electrónico.", "Edit": "editar", "EditRecipient": "Editar receptor", "EditSecret": "Editar texto cifrado", diff --git a/apps/i18n/lina/ja.json b/apps/i18n/lina/ja.json index ed92a62ad..8b57d280e 100644 --- a/apps/i18n/lina/ja.json +++ b/apps/i18n/lina/ja.json @@ -533,7 +533,7 @@ "DuplicateFileExists": "同名のファイルのアップロードは許可されていません、同名のファイルを削除してください", "Duration": "時間", "DynamicUsername": "ダイナミックユーザー名", - "EMailReport": "メールを送信する報告", + "EMailReport": "メールを送信する", "Edit": "編集", "EditRecipient": "受取人の編集", "EditSecret": "暗号文編集", diff --git a/apps/i18n/lina/ko.json b/apps/i18n/lina/ko.json index 0977b4c6e..17a80f44c 100644 --- a/apps/i18n/lina/ko.json +++ b/apps/i18n/lina/ko.json @@ -528,7 +528,7 @@ "DuplicateFileExists": "동일 이름 파일 업로드를 허용하지 않습니다. 동일 이름 파일을 삭제해 주세요.", "Duration": "소요 시간", "DynamicUsername": "동적 사용자 이름", - "EMailReport": "이메일 보고서 전송", + "EMailReport": "메일 보내기", "Edit": "편집", "EditRecipient": "수신자 편집", "EditSecret": "암호 편집", diff --git a/apps/i18n/lina/pt_br.json b/apps/i18n/lina/pt_br.json index cdb200e27..fa55645bb 100644 --- a/apps/i18n/lina/pt_br.json +++ b/apps/i18n/lina/pt_br.json @@ -529,7 +529,7 @@ "DuplicateFileExists": "Não é permitido fazer upload de arquivos com o mesmo nome, por favor exclua o arquivo de mesmo nome", "Duration": "Duração", "DynamicUsername": "Nome de usuário dinâmico", - "EMailReport": "Enviar relatório por e-mail", + "EMailReport": "Enviar e-mail", "Edit": "Editar", "EditRecipient": "Editar receptor", "EditSecret": " Editar texto oculto ", diff --git a/apps/i18n/lina/ru.json b/apps/i18n/lina/ru.json index e5db104f2..ddafb66f1 100644 --- a/apps/i18n/lina/ru.json +++ b/apps/i18n/lina/ru.json @@ -530,7 +530,7 @@ "DuplicateFileExists": "Не разрешается загружать файлы с одинаковым именем, пожалуйста, удалите файлы с таким же именем", "Duration": "Продолжительность", "DynamicUsername": "Динамическое имя пользователя", - "EMailReport": "Отправить отчет по электронной почте", + "EMailReport": "Отправить письмо", "Edit": "Изменить", "EditRecipient": "Изменить получателя", "EditSecret": "Изменить секрет", diff --git a/apps/i18n/lina/zh.json b/apps/i18n/lina/zh.json index 90315301a..44181fcae 100644 --- a/apps/i18n/lina/zh.json +++ b/apps/i18n/lina/zh.json @@ -528,7 +528,7 @@ "DuplicateFileExists": "不允许上传同名文件,请删除同名文件", "Duration": "时长", "DynamicUsername": "动态用户名", - "EMailReport": "发送邮件报告", + "EMailReport": "发送邮件", "Edit": "编辑", "EditRecipient": "编辑接收人", "EditSecret": "编辑密文", diff --git a/apps/i18n/lina/zh_hant.json b/apps/i18n/lina/zh_hant.json index 3fd8c7f5a..022cf98c8 100644 --- a/apps/i18n/lina/zh_hant.json +++ b/apps/i18n/lina/zh_hant.json @@ -533,7 +533,7 @@ "DuplicateFileExists": "不允許上傳同名文件,請刪除同名文件", "Duration": "時長", "DynamicUsername": "動態使用者名稱", - "EMailReport": "發送郵件報告", + "EMailReport": "發送郵件", "Edit": "編輯", "EditRecipient": "編輯接收人", "EditSecret": "編輯密文", diff --git a/apps/rbac/const.py b/apps/rbac/const.py index 4fd6fb12a..39bd9c41a 100644 --- a/apps/rbac/const.py +++ b/apps/rbac/const.py @@ -65,7 +65,7 @@ exclude_permissions = ( ('accounts', 'accountbackupautomation', '*', '*'), ('accounts', 'pushsecretrecord', 'add,change,delete', '*'), ('accounts', 'verifyaccountautomation', '*', '*'), - ('accounts', 'gatheredaccount', 'add', '*'), + ('accounts', 'gatheredaccount', 'add,change', '*'), ('accounts', 'automationexecution', '*', 'automationexecution'), ('accounts', 'accountbackupexecution', 'delete,change', 'accountbackupexecution'), ('accounts', 'changesecretrecord', 'add,delete,change', 'changesecretrecord'), diff --git a/apps/reports/views.py b/apps/reports/views.py index 98fe74b4d..baca1bac7 100644 --- a/apps/reports/views.py +++ b/apps/reports/views.py @@ -9,6 +9,7 @@ from django.core.mail import EmailMultiAlternatives from django.http import FileResponse, HttpResponseBadRequest, JsonResponse from django.utils import timezone from django.utils.decorators import method_decorator +from django.utils.translation import gettext_lazy as _ from django.views import View from django.views.decorators.csrf import csrf_exempt from pdf2image import convert_from_bytes @@ -16,27 +17,27 @@ from playwright.sync_api import sync_playwright charts_map = { "UserReport": { - "title": "用户登录报告", + "title": _('User login report'), "path": "/ui/#/reports/users/user-activity" }, "ChangePassword": { - "title": "用户改密报告", + "title": _('User change password report'), "path": "/ui/#/reports/users/change-password" }, "AssetStatistics": { - "title": "资产统计报告", + "title": _('Asset statistics report'), "path": "/ui/#/reports/assets/asset-statistics" }, "AssetReport": { - "title": "资产活动报告", + "title": _('Asset activity report'), "path": "/ui/#/reports/assets/asset-activity" }, "AccountStatistics": { - "title": "账号统计报告", + "title": _('Account statistics report'), "path": "/ui/#/reports/accounts/account-statistics" }, "AccountAutomationReport": { - "title": "账号自动化报告", + "title": _('Account automation report'), "path": "/ui/#/reports/accounts/account-automation" } }