From 076afb2b8b5f71374adb89e9d24e8046c367716d Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 19 Oct 2022 11:39:11 +0800 Subject: [PATCH] =?UTF-8?q?pref:=20=E4=BF=AE=E6=94=B9=20automations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/const/cloud.py | 2 +- apps/assets/const/database.py | 2 +- apps/assets/const/device.py | 2 +- apps/assets/const/host.py | 6 +- apps/assets/const/types.py | 8 +- apps/assets/const/web.py | 2 +- .../migrations/0096_auto_20220426_1550.py | 6 +- .../migrations/0098_auto_20220430_2126.py | 6 +- .../migrations/0099_auto_20220711_1409.py | 15 - .../migrations/0100_auto_20220711_1413.py | 4 +- .../migrations/0102_auto_20220803_1859.py | 4 +- .../migrations/0104_auto_20220816_1022.py | 4 +- .../assets/migrations/0107_account_history.py | 73 - ...tomation.py => 0107_auto_20221019_1115.py} | 98 +- .../migrations/0109_auto_20221013_1751.py | 83 - .../migrations/0110_gatherfactsautomation.py | 24 - .../migrations/0111_auto_20221017_1441.py | 23 - apps/assets/models/automations/__init__.py | 6 +- .../models/automations/change_secret.py | 2 +- ...ount_reconcile.py => discovery_account.py} | 7 +- .../{account_discovery.py => push_account.py} | 8 +- .../{account_verify.py => verify_secret.py} | 6 +- apps/assets/models/platform.py | 4 +- apps/assets/models/utils.py | 2 +- apps/assets/serializers/platform.py | 6 +- apps/locale/ja/LC_MESSAGES/django.po | 3181 +++++++++-------- apps/locale/zh/LC_MESSAGES/django.po | 3141 ++++++++-------- .../migrations/0002_auto_20210909_1946.py | 2 +- apps/rbac/builtin.py | 2 +- .../migrations/0004_auto_20211201_1901.py | 4 +- apps/rbac/signal_handlers.py | 2 +- .../migrations/0013_ticket_serial_num.py | 2 +- .../migrations/0020_auto_20220817_1346.py | 2 +- apps/users/models/user.py | 2 +- utils/test_run_migrations.py | 2 +- 35 files changed, 3584 insertions(+), 3159 deletions(-) delete mode 100644 apps/assets/migrations/0107_account_history.py rename apps/assets/migrations/{0108_migrate_automation.py => 0107_auto_20221019_1115.py} (53%) delete mode 100644 apps/assets/migrations/0109_auto_20221013_1751.py delete mode 100644 apps/assets/migrations/0110_gatherfactsautomation.py delete mode 100644 apps/assets/migrations/0111_auto_20221017_1441.py rename apps/assets/models/automations/{account_reconcile.py => discovery_account.py} (59%) rename apps/assets/models/automations/{account_discovery.py => push_account.py} (52%) rename apps/assets/models/automations/{account_verify.py => verify_secret.py} (62%) diff --git a/apps/assets/const/cloud.py b/apps/assets/const/cloud.py index d6e6e2599..7bc1864f1 100644 --- a/apps/assets/const/cloud.py +++ b/apps/assets/const/cloud.py @@ -25,7 +25,7 @@ class CloudTypes(BaseType): 'gather_facts_enabled': False, 'verify_account_enabled': False, 'change_secret_enabled': False, - 'create_account_enabled': False, + 'push_account_enabled': False, 'gather_accounts_enabled': False, } } diff --git a/apps/assets/const/database.py b/apps/assets/const/database.py index 43c887bd9..47e45dc71 100644 --- a/apps/assets/const/database.py +++ b/apps/assets/const/database.py @@ -33,7 +33,7 @@ class DatabaseTypes(BaseType): 'gather_accounts_enabled': True, 'verify_account_enabled': True, 'change_secret_enabled': True, - 'create_account_enabled': True, + 'push_account_enabled': True, } } return constrains diff --git a/apps/assets/const/device.py b/apps/assets/const/device.py index fb1879ea3..1e2a5b717 100644 --- a/apps/assets/const/device.py +++ b/apps/assets/const/device.py @@ -40,7 +40,7 @@ class DeviceTypes(BaseType): 'gather_accounts_enabled': False, 'verify_account_enabled': False, 'change_secret_enabled': False, - 'create_account_enabled': False, + 'push_account_enabled': False, } } diff --git a/apps/assets/const/host.py b/apps/assets/const/host.py index a8db5f022..6236379a5 100644 --- a/apps/assets/const/host.py +++ b/apps/assets/const/host.py @@ -52,7 +52,7 @@ class HostTypes(BaseType): 'gather_accounts_enabled': True, 'verify_account_enabled': True, 'change_secret_enabled': True, - 'create_account_enabled': True, + 'push_account_enabled': True, }, cls.WINDOWS: { 'ansible_config': { @@ -73,8 +73,8 @@ class HostTypes(BaseType): {'name': 'macOS'}, {'name': 'BSD'}, {'name': 'AIX', 'automation': { - 'create_account_method': 'create_account_aix', - 'change_secret_method': 'change_secret_aix' + 'push_account_method': 'push_account_aix', + 'change_secret_method': 'push_secret_aix' }}, ], cls.WINDOWS: [ diff --git a/apps/assets/const/types.py b/apps/assets/const/types.py index 5cdf5d28e..939a00ea8 100644 --- a/apps/assets/const/types.py +++ b/apps/assets/const/types.py @@ -204,18 +204,18 @@ class AllTypes(ChoicesMixin): def create_or_update_internal_platforms(cls): print("Create internal platforms") for category, type_cls in cls.category_types(): - print("## Category: {}".format(category.label)) + print("\t## Category: {}".format(category.label)) data = type_cls.internal_platforms() for tp, platform_datas in data.items(): - print(" >> Type: {}".format(tp.label)) + print("\t >> Type: {}".format(tp.label)) default_platform_data = cls.get_type_default_platform(category, tp) default_automation = default_platform_data.pop('automation', {}) default_protocols = default_platform_data.pop('protocols', []) for d in platform_datas: name = d['name'] - print(" - Platform: {}".format(name)) + print("\t - Platform: {}".format(name)) _automation = d.pop('automation', {}) _protocols = d.pop('_protocols', []) _protocols_setting = d.pop('protocols_setting', {}) @@ -246,7 +246,7 @@ class AllTypes(ChoicesMixin): user_platforms.update(internal=False) for platform in user_platforms: - print("Update platform: {}".format(platform.name)) + print("\t- Update platform: {}".format(platform.name)) platform_data = cls.get_type_default_platform(platform.category, platform.type) cls.create_or_update_by_platform_data(platform.name, platform_data) diff --git a/apps/assets/const/web.py b/apps/assets/const/web.py index cf54fa6b4..20c35b3a1 100644 --- a/apps/assets/const/web.py +++ b/apps/assets/const/web.py @@ -23,7 +23,7 @@ class WebTypes(BaseType): 'gather_facts_enabled': False, 'verify_account_enabled': False, 'change_secret_enabled': False, - 'create_account_enabled': False, + 'push_account_enabled': False, 'gather_accounts_enabled': False, } } diff --git a/apps/assets/migrations/0096_auto_20220426_1550.py b/apps/assets/migrations/0096_auto_20220426_1550.py index c3121b18c..8d7e6be27 100644 --- a/apps/assets/migrations/0096_auto_20220426_1550.py +++ b/apps/assets/migrations/0096_auto_20220426_1550.py @@ -19,6 +19,8 @@ class Migration(migrations.Migration): ('port', models.IntegerField(verbose_name='Port')), ('setting', models.JSONField(default=dict, verbose_name='Setting')), ('platform', models.ForeignKey(on_delete=models.deletion.CASCADE, related_name='protocols', to='assets.platform'),), + ('default', models.BooleanField(default=True, verbose_name='Default')), + ('required', models.BooleanField(default=False, verbose_name='Required')), ], ), migrations.CreateModel( @@ -31,8 +33,8 @@ class Migration(migrations.Migration): ('ping_method', models.CharField(blank=True, max_length=32, null=True, verbose_name='Ping method')), ('gather_facts_enabled', models.BooleanField(default=False, verbose_name='Gather facts enabled')), ('gather_facts_method', models.TextField(blank=True, max_length=32, null=True, verbose_name='Gather facts method')), - ('create_account_enabled', models.BooleanField(default=False, verbose_name='Create account enabled')), - ('create_account_method', models.TextField(blank=True, max_length=32, null=True, verbose_name='Create account method')), + ('push_account_enabled', models.BooleanField(default=False, verbose_name='Create account enabled')), + ('push_account_method', models.TextField(blank=True, max_length=32, null=True, verbose_name='Create account method')), ('change_secret_enabled', models.BooleanField(default=False, verbose_name='Change password enabled')), ('change_secret_method', models.TextField(blank=True, max_length=32, null=True, verbose_name='Change password method')), ('verify_account_enabled', models.BooleanField(default=False, verbose_name='Verify account enabled')), diff --git a/apps/assets/migrations/0098_auto_20220430_2126.py b/apps/assets/migrations/0098_auto_20220430_2126.py index 7dc157977..3ac99b577 100644 --- a/apps/assets/migrations/0098_auto_20220430_2126.py +++ b/apps/assets/migrations/0098_auto_20220430_2126.py @@ -41,7 +41,7 @@ def migrate_database_to_asset(apps, *args): org_id=app.org_id ) try: - print("Create database: ", app.name) + print("\t- Create database: ", app.name) db.save() except: failed_apps.append(app) @@ -59,7 +59,7 @@ def migrate_cloud_to_asset(apps, *args): for app in applications: attrs = app.attrs - print("Create cloud: {}".format(app.name)) + print("\t- Create cloud: {}".format(app.name)) cloud = cloud_model( id=app.id, name=app.name, address=attrs.get('cluster', ''), @@ -115,7 +115,7 @@ def migrate_to_nodes(apps, *args): ) if not node: continue - print("Set node asset: ", node) + print("\t- Set node asset: ", node) node.assets_amount = len(assets) node.save() node.assets.set(assets) diff --git a/apps/assets/migrations/0099_auto_20220711_1409.py b/apps/assets/migrations/0099_auto_20220711_1409.py index e5ead66c8..cf04f8b66 100644 --- a/apps/assets/migrations/0099_auto_20220711_1409.py +++ b/apps/assets/migrations/0099_auto_20220711_1409.py @@ -19,23 +19,13 @@ class Migration(migrations.Migration): migrations.CreateModel( name='HistoricalAccount', fields=[ - ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('id', models.UUIDField(db_index=True, default=uuid.uuid4)), - ('name', models.CharField(max_length=128, verbose_name='Name')), - ('username', models.CharField(blank=True, db_index=True, max_length=128, verbose_name='Username')), ('secret_type', models.CharField(choices=[('password', 'Password'), ('ssh_key', 'SSH key'), ('access_key', 'Access key'), ('token', 'Token')], default='password', max_length=16, verbose_name='Secret type')), ('secret', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='Secret')), - ('comment', models.TextField(blank=True, verbose_name='Comment')), - ('date_created', models.DateTimeField(blank=True, editable=False, verbose_name='Date created')), - ('date_updated', models.DateTimeField(blank=True, editable=False, verbose_name='Date updated')), - ('created_by', models.CharField(max_length=128, null=True, verbose_name='Created by')), - ('privileged', models.BooleanField(default=False, verbose_name='Privileged')), - ('version', models.IntegerField(default=0, verbose_name='Version')), ('history_id', models.AutoField(primary_key=True, serialize=False)), ('history_date', models.DateTimeField(db_index=True)), ('history_change_reason', models.CharField(max_length=100, null=True)), ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('asset', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='assets.asset', verbose_name='Asset')), ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ @@ -74,11 +64,6 @@ class Migration(migrations.Migration): name='su_from', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='su_to', to='assets.account', verbose_name='Su from'), ), - migrations.AddField( - model_name='historicalaccount', - name='su_from', - field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='assets.account', verbose_name='Su from'), - ), migrations.CreateModel( name='AccountTemplate', fields=[ diff --git a/apps/assets/migrations/0100_auto_20220711_1413.py b/apps/assets/migrations/0100_auto_20220711_1413.py index 9f7ec8f73..f45ff27da 100644 --- a/apps/assets/migrations/0100_auto_20220711_1413.py +++ b/apps/assets/migrations/0100_auto_20220711_1413.py @@ -11,7 +11,7 @@ def migrate_accounts(apps, schema_editor): count = 0 bulk_size = 1000 - print("\nStart migrate accounts") + print("\n\tStart migrate accounts") while True: start = time.time() auth_books = auth_book_model.objects \ @@ -71,7 +71,7 @@ def migrate_accounts(apps, schema_editor): accounts.append(account) account_model.objects.bulk_create(accounts, ignore_conflicts=True) - print("Create accounts: {}-{} using: {:.2f}s".format( + print("\t - Create accounts: {}-{} using: {:.2f}s".format( count - len(auth_books), count, time.time()-start )) diff --git a/apps/assets/migrations/0102_auto_20220803_1859.py b/apps/assets/migrations/0102_auto_20220803_1859.py index f03332127..afaa63d41 100644 --- a/apps/assets/migrations/0102_auto_20220803_1859.py +++ b/apps/assets/migrations/0102_auto_20220803_1859.py @@ -9,7 +9,7 @@ def migrate_asset_protocols(apps, schema_editor): count = 0 bulk_size = 1000 - print("\nStart migrate asset protocols") + print("\n\tStart migrate asset protocols") while True: start = time.time() assets = asset_model.objects.all()[count:count+bulk_size] @@ -36,7 +36,7 @@ def migrate_asset_protocols(apps, schema_editor): assets_protocols.append(protocol) protocol_model.objects.bulk_create(assets_protocols, ignore_conflicts=True) - print("Create asset protocols: {}-{} using: {:.2f}s".format( + print("\t - Create asset protocols: {}-{} using: {:.2f}s".format( count - len(assets), count, time.time()-start )) diff --git a/apps/assets/migrations/0104_auto_20220816_1022.py b/apps/assets/migrations/0104_auto_20220816_1022.py index 45523495e..111e4a479 100644 --- a/apps/assets/migrations/0104_auto_20220816_1022.py +++ b/apps/assets/migrations/0104_auto_20220816_1022.py @@ -9,7 +9,7 @@ def migrate_command_filter_to_assets(apps, schema_editor): count = 0 bulk_size = 1000 - print("\nStart migrate command filters to assets") + print("\n\tStart migrate command filters to assets") while True: start = time.time() command_filters = command_filter_model.objects.all() \ @@ -23,7 +23,7 @@ def migrate_command_filter_to_assets(apps, schema_editor): updated.append(command_filter) command_filter_model.objects.bulk_update(updated, ['accounts']) - print("Create assets: {}-{} using: {:.2f}s".format( + print("\tCreate assets: {}-{} using: {:.2f}s".format( count - len(command_filters), count, time.time() - start )) diff --git a/apps/assets/migrations/0107_account_history.py b/apps/assets/migrations/0107_account_history.py deleted file mode 100644 index 66ec1e36b..000000000 --- a/apps/assets/migrations/0107_account_history.py +++ /dev/null @@ -1,73 +0,0 @@ -# Generated by Django 3.2.13 on 2022-10-09 08:50 - -from django.db import migrations - - -def migrate_create_history_account(apps, schema_editor): - db_alias = schema_editor.connection.alias - account_model = apps.get_model('assets', 'Account') - history_account_model = apps.get_model('assets', 'HistoricalAccount') - history_accounts = [] - for account in account_model.objects.using(db_alias).all(): - data = { - 'id': account.id, - 'secret': account.secret, - 'secret_type': account.secret_type, - 'history_date': account.date_created, - } - history_accounts.append(history_account_model(**data)) - history_account_model.objects.using(db_alias).bulk_create(history_accounts) - - -class Migration(migrations.Migration): - dependencies = [ - ('assets', '0106_auto_20220916_1556'), - ] - - operations = [ - migrations.RemoveField( - model_name='historicalaccount', - name='asset', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='comment', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='created_by', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='date_created', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='date_updated', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='name', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='org_id', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='privileged', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='su_from', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='username', - ), - migrations.RemoveField( - model_name='historicalaccount', - name='version', - ), - migrations.RunPython(migrate_create_history_account), - ] diff --git a/apps/assets/migrations/0108_migrate_automation.py b/apps/assets/migrations/0107_auto_20221019_1115.py similarity index 53% rename from apps/assets/migrations/0108_migrate_automation.py rename to apps/assets/migrations/0107_auto_20221019_1115.py index 86a29c193..4790068d0 100644 --- a/apps/assets/migrations/0108_migrate_automation.py +++ b/apps/assets/migrations/0107_auto_20221019_1115.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.14 on 2022-10-10 01:59 +# Generated by Django 3.2.14 on 2022-10-19 03:15 import common.db.fields from django.conf import settings @@ -11,10 +11,26 @@ class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('assets', '0107_account_history'), + ('assets', '0106_auto_20220916_1556'), ] operations = [ + migrations.CreateModel( + name='AutomationExecution', + fields=[ + ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), + ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), + ('status', models.CharField(default='pending', max_length=16)), + ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), + ('date_start', models.DateTimeField(db_index=True, null=True, verbose_name='Date start')), + ('date_finished', models.DateTimeField(null=True, verbose_name='Date finished')), + ('snapshot', common.db.fields.EncryptJsonDictTextField(blank=True, default=dict, null=True, verbose_name='Automation snapshot')), + ('trigger', models.CharField(choices=[('manual', 'Manual trigger'), ('timing', 'Timing trigger')], default='manual', max_length=128, verbose_name='Trigger mode')), + ], + options={ + 'verbose_name': 'Automation strategy execution', + }, + ), migrations.CreateModel( name='BaseAutomation', fields=[ @@ -30,6 +46,7 @@ class Migration(migrations.Migration): ('crontab', models.CharField(blank=True, max_length=128, null=True, verbose_name='Regularly perform')), ('accounts', models.JSONField(default=list, verbose_name='Accounts')), ('type', models.CharField(max_length=16, verbose_name='Type')), + ('is_active', models.BooleanField(default=True, verbose_name='Is active')), ('comment', models.TextField(blank=True, verbose_name='Comment')), ('assets', models.ManyToManyField(blank=True, to='assets.Asset', verbose_name='Assets')), ('nodes', models.ManyToManyField(blank=True, to='assets.Node', verbose_name='Nodes')), @@ -54,64 +71,103 @@ class Migration(migrations.Migration): name='updated_by', field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by'), ), + migrations.AlterField( + model_name='platformautomation', + name='push_account_enabled', + field=models.BooleanField(default=False, verbose_name='Push account enabled'), + ), + migrations.AlterField( + model_name='platformautomation', + name='push_account_method', + field=models.TextField(blank=True, max_length=32, null=True, verbose_name='Push account method'), + ), + migrations.AlterField( + model_name='platformprotocol', + name='default', + field=models.BooleanField(default=False, verbose_name='Default'), + ), migrations.CreateModel( - name='DiscoveryAutomation', + name='DiscoveryAccountAutomation', fields=[ ('baseautomation_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='assets.baseautomation')), ], options={ - 'verbose_name': 'Discovery strategy', + 'verbose_name': 'Discovery account automation', }, bases=('assets.baseautomation',), ), migrations.CreateModel( - name='ReconcileAutomation', + name='GatherFactsAutomation', fields=[ ('baseautomation_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='assets.baseautomation')), ], options={ - 'verbose_name': 'Reconcile strategy', + 'verbose_name': 'Gather asset facts', }, bases=('assets.baseautomation',), ), migrations.CreateModel( - name='VerifyAutomation', + name='PushAccountAutomation', fields=[ ('baseautomation_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='assets.baseautomation')), ], options={ - 'verbose_name': 'Verify strategy', + 'verbose_name': 'Push automation', }, bases=('assets.baseautomation',), ), migrations.CreateModel( - name='AutomationExecution', + name='VerifySecretAutomation', fields=[ - ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), + ('baseautomation_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='assets.baseautomation')), + ], + options={ + 'verbose_name': 'Verify secret automation', + }, + bases=('assets.baseautomation',), + ), + migrations.CreateModel( + name='ChangeSecretRecord', + fields=[ + ('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')), + ('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')), + ('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')), + ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')), ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), + ('old_secret', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='Old secret')), + ('new_secret', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='Secret')), + ('date_started', models.DateTimeField(blank=True, null=True, verbose_name='Date started')), + ('date_finished', models.DateTimeField(blank=True, null=True, verbose_name='Date finished')), ('status', models.CharField(default='pending', max_length=16)), - ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')), - ('date_start', models.DateTimeField(db_index=True, null=True, verbose_name='Date start')), - ('date_finished', models.DateTimeField(null=True, verbose_name='Date finished')), - ('snapshot', common.db.fields.EncryptJsonDictTextField(blank=True, default=dict, null=True, verbose_name='Automation snapshot')), - ('trigger', models.CharField(choices=[('manual', 'Manual trigger'), ('timing', 'Timing trigger')], default='manual', max_length=128, verbose_name='Trigger mode')), - ('automation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='executions', to='assets.baseautomation', verbose_name='Automation strategy')), + ('error', models.TextField(blank=True, null=True, verbose_name='Error')), + ('account', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='assets.account')), + ('execution', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.automationexecution')), ], options={ - 'verbose_name': 'Automation strategy execution', + 'verbose_name': 'Change secret', }, ), + migrations.AddField( + model_name='automationexecution', + name='automation', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='executions', to='assets.baseautomation', verbose_name='Automation strategy'), + ), migrations.CreateModel( - name='ChangePasswordAutomation', + name='ChangeSecretAutomation', fields=[ ('baseautomation_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='assets.baseautomation')), + ('secret_types', models.JSONField(default=list, verbose_name='Secret types')), + ('password_strategy', models.CharField(choices=[('specific', 'Specific'), ('random_one', 'All assets use the same random password'), ('random_all', 'All assets use different random password')], default='random_one', max_length=16, verbose_name='Password strategy')), ('password', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='Secret')), - ('recipients', models.ManyToManyField(blank=True, related_name='recipients_change_auth_strategy', to=settings.AUTH_USER_MODEL, verbose_name='Recipient')), + ('password_rules', models.JSONField(default=dict, verbose_name='Password rules')), + ('ssh_key_strategy', models.CharField(choices=[('specific', 'Specific'), ('random_one', 'All assets use the same random password'), ('random_all', 'All assets use different random password')], default='random_one', max_length=16)), + ('ssh_key', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='SSH key')), + ('ssh_key_change_strategy', models.CharField(choices=[('add', 'Append SSH KEY'), ('set', 'Empty and append SSH KEY'), ('set_jms', 'Replace (The key generated by JumpServer) ')], default='add', max_length=16, verbose_name='SSH key strategy')), + ('recipients', models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL, verbose_name='Recipient')), ], options={ - 'verbose_name': 'Change auth strategy', + 'verbose_name': 'Change secret automation', }, bases=('assets.baseautomation',), ), - ] diff --git a/apps/assets/migrations/0109_auto_20221013_1751.py b/apps/assets/migrations/0109_auto_20221013_1751.py deleted file mode 100644 index c00a11b34..000000000 --- a/apps/assets/migrations/0109_auto_20221013_1751.py +++ /dev/null @@ -1,83 +0,0 @@ -# Generated by Django 3.2.14 on 2022-10-13 09:51 - -import common.db.fields -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import uuid - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('assets', '0108_migrate_automation'), - ] - - operations = [ - migrations.RenameModel( - old_name='ChangePasswordAutomation', - new_name='ChangeSecretAutomation', - ), - migrations.AddField( - model_name='baseautomation', - name='is_active', - field=models.BooleanField(default=True, verbose_name='Is active'), - ), - migrations.AddField( - model_name='changesecretautomation', - name='password_rules', - field=models.JSONField(default=dict, verbose_name='Password rules'), - ), - migrations.AddField( - model_name='changesecretautomation', - name='password_strategy', - field=models.CharField(choices=[('specific', 'Specific'), ('random_one', 'All assets use the same random password'), ('random_all', 'All assets use different random password')], default='random_one', max_length=16, verbose_name='Password strategy'), - ), - migrations.AddField( - model_name='changesecretautomation', - name='secret_types', - field=models.JSONField(default=list, verbose_name='Secret types'), - ), - migrations.AddField( - model_name='changesecretautomation', - name='ssh_key', - field=common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='SSH key'), - ), - migrations.AddField( - model_name='changesecretautomation', - name='ssh_key_change_strategy', - field=models.CharField(choices=[('add', 'Append SSH KEY'), ('set', 'Empty and append SSH KEY'), ('set_jms', 'Replace (The key generated by JumpServer) ')], default='add', max_length=16, verbose_name='SSH key strategy'), - ), - migrations.AddField( - model_name='changesecretautomation', - name='ssh_key_strategy', - field=models.CharField(choices=[('specific', 'Specific'), ('random_one', 'All assets use the same random password'), ('random_all', 'All assets use different random password')], default='random_one', max_length=16), - ), - migrations.AlterField( - model_name='changesecretautomation', - name='recipients', - field=models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL, verbose_name='Recipient'), - ), - migrations.CreateModel( - name='ChangeSecretRecord', - fields=[ - ('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')), - ('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')), - ('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')), - ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')), - ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), - ('old_secret', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='Old secret')), - ('new_secret', common.db.fields.EncryptTextField(blank=True, null=True, verbose_name='Secret')), - ('date_started', models.DateTimeField(blank=True, null=True, verbose_name='Date started')), - ('date_finished', models.DateTimeField(blank=True, null=True, verbose_name='Date finished')), - ('status', models.CharField(default='pending', max_length=16)), - ('error', models.TextField(blank=True, null=True, verbose_name='Error')), - ('account', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='assets.account')), - ('execution', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.automationexecution')), - ], - options={ - 'verbose_name': 'Change secret', - }, - ), - ] diff --git a/apps/assets/migrations/0110_gatherfactsautomation.py b/apps/assets/migrations/0110_gatherfactsautomation.py deleted file mode 100644 index 8c26d5cf8..000000000 --- a/apps/assets/migrations/0110_gatherfactsautomation.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 3.2.14 on 2022-10-14 11:40 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('assets', '0109_auto_20221013_1751'), - ] - - operations = [ - migrations.CreateModel( - name='GatherFactsAutomation', - fields=[ - ('baseautomation_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='assets.baseautomation')), - ], - options={ - 'verbose_name': 'Gather asset facts', - }, - bases=('assets.baseautomation',), - ), - ] diff --git a/apps/assets/migrations/0111_auto_20221017_1441.py b/apps/assets/migrations/0111_auto_20221017_1441.py deleted file mode 100644 index d534cc125..000000000 --- a/apps/assets/migrations/0111_auto_20221017_1441.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 3.2.14 on 2022-10-17 06:41 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('assets', '0110_gatherfactsautomation'), - ] - - operations = [ - migrations.AddField( - model_name='platformprotocol', - name='default', - field=models.BooleanField(default=True, verbose_name='Default'), - ), - migrations.AddField( - model_name='platformprotocol', - name='required', - field=models.BooleanField(default=False, verbose_name='Required'), - ), - ] diff --git a/apps/assets/models/automations/__init__.py b/apps/assets/models/automations/__init__.py index 5aa130c6d..77a885b1b 100644 --- a/apps/assets/models/automations/__init__.py +++ b/apps/assets/models/automations/__init__.py @@ -1,5 +1,5 @@ from .change_secret import * -from .account_discovery import * -from .account_reconcile import * -from .account_verify import * +from .discovery_account import * +from .push_account import * +from .verify_secret import * from .gather_facts import * diff --git a/apps/assets/models/automations/change_secret.py b/apps/assets/models/automations/change_secret.py index c7efb88d0..0d34a4840 100644 --- a/apps/assets/models/automations/change_secret.py +++ b/apps/assets/models/automations/change_secret.py @@ -39,7 +39,7 @@ class ChangeSecretAutomation(BaseAutomation): super().save(*args, **kwargs) class Meta: - verbose_name = _("Change auth strategy") + verbose_name = _("Change secret automation") class ChangeSecretRecord(JMSBaseModel): diff --git a/apps/assets/models/automations/account_reconcile.py b/apps/assets/models/automations/discovery_account.py similarity index 59% rename from apps/assets/models/automations/account_reconcile.py rename to apps/assets/models/automations/discovery_account.py index f69d1c82d..9e2adf610 100644 --- a/apps/assets/models/automations/account_reconcile.py +++ b/apps/assets/models/automations/discovery_account.py @@ -1,16 +1,15 @@ from django.utils.translation import ugettext_lazy as _ -from ops.const import StrategyChoice from .base import BaseAutomation -class ReconcileAutomation(BaseAutomation): +class DiscoveryAccountAutomation(BaseAutomation): class Meta: - verbose_name = _("Reconcile strategy") + verbose_name = _("Discovery account automation") def to_attr_json(self): attr_json = super().to_attr_json() attr_json.update({ - 'type': StrategyChoice.push + 'type': 'discover_account' }) return attr_json diff --git a/apps/assets/models/automations/account_discovery.py b/apps/assets/models/automations/push_account.py similarity index 52% rename from apps/assets/models/automations/account_discovery.py rename to apps/assets/models/automations/push_account.py index 9572986f3..c36d89b43 100644 --- a/apps/assets/models/automations/account_discovery.py +++ b/apps/assets/models/automations/push_account.py @@ -1,17 +1,15 @@ from django.utils.translation import ugettext_lazy as _ -from ops.const import StrategyChoice -from ops.ansible.runner import PlaybookRunner from .base import BaseAutomation -class DiscoveryAutomation(BaseAutomation): +class PushAccountAutomation(BaseAutomation): class Meta: - verbose_name = _("Discovery strategy") + verbose_name = _("Push automation") def to_attr_json(self): attr_json = super().to_attr_json() attr_json.update({ - 'type': StrategyChoice.collect + 'type': 'push_account' }) return attr_json diff --git a/apps/assets/models/automations/account_verify.py b/apps/assets/models/automations/verify_secret.py similarity index 62% rename from apps/assets/models/automations/account_verify.py rename to apps/assets/models/automations/verify_secret.py index 15551f75c..f2a1d5bdb 100644 --- a/apps/assets/models/automations/account_verify.py +++ b/apps/assets/models/automations/verify_secret.py @@ -4,10 +4,10 @@ from ops.const import StrategyChoice from .base import BaseAutomation -class VerifyAutomation(BaseAutomation): +class VerifySecretAutomation(BaseAutomation): class Meta: - verbose_name = _("Verify strategy") + verbose_name = _("Verify secret automation") def save(self, *args, **kwargs): - self.type = 'verify' + self.type = 'verify_secret' super().save(*args, **kwargs) diff --git a/apps/assets/models/platform.py b/apps/assets/models/platform.py index f89221448..2abcf3652 100644 --- a/apps/assets/models/platform.py +++ b/apps/assets/models/platform.py @@ -46,8 +46,8 @@ class PlatformAutomation(models.Model): ping_method = models.CharField(max_length=32, blank=True, null=True, verbose_name=_("Ping method")) gather_facts_enabled = models.BooleanField(default=False, verbose_name=_("Gather facts enabled")) gather_facts_method = models.TextField(max_length=32, blank=True, null=True, verbose_name=_("Gather facts method")) - create_account_enabled = models.BooleanField(default=False, verbose_name=_("Create account enabled")) - create_account_method = models.TextField(max_length=32, blank=True, null=True, verbose_name=_("Create account method")) + push_account_enabled = models.BooleanField(default=False, verbose_name=_("Push account enabled")) + push_account_method = models.TextField(max_length=32, blank=True, null=True, verbose_name=_("Push account method")) change_secret_enabled = models.BooleanField(default=False, verbose_name=_("Change password enabled")) change_secret_method = models.TextField(max_length=32, blank=True, null=True, verbose_name=_("Change password method")) verify_account_enabled = models.BooleanField(default=False, verbose_name=_("Verify account enabled")) diff --git a/apps/assets/models/utils.py b/apps/assets/models/utils.py index aad8b9c37..d60c5a28c 100644 --- a/apps/assets/models/utils.py +++ b/apps/assets/models/utils.py @@ -32,7 +32,7 @@ def update_internal_platforms(platform_model): {'name': 'Windows', 'category': 'host', 'type': 'unix'}, { 'name': 'AIX', 'category': 'host', 'type': 'unix', - 'create_account_method': 'create_account_aix', + 'push_account_method': 'create_account_aix', 'change_secret_method': 'change_secret_aix', }, {'name': 'Windows', 'category': 'host', 'type': 'windows'}, diff --git a/apps/assets/serializers/platform.py b/apps/assets/serializers/platform.py index cb3ade099..3bc02732f 100644 --- a/apps/assets/serializers/platform.py +++ b/apps/assets/serializers/platform.py @@ -38,7 +38,7 @@ class PlatformAutomationSerializer(serializers.ModelSerializer): 'id', 'ansible_enabled', 'ansible_config', 'ping_enabled', 'ping_method', 'gather_facts_enabled', 'gather_facts_method', - 'create_account_enabled', 'create_account_method', + 'push_account_enabled', 'push_account_method', 'change_secret_enabled', 'change_secret_method', 'verify_account_enabled', 'verify_account_method', 'gather_accounts_enabled', 'gather_accounts_method', @@ -50,8 +50,8 @@ class PlatformAutomationSerializer(serializers.ModelSerializer): 'gather_facts_method': {'label': '收集信息方式'}, 'verify_account_enabled': {'label': '启用校验账号'}, 'verify_account_method': {'label': '校验账号方式'}, - 'create_account_enabled': {'label': '启用推送账号'}, - 'create_account_method': {'label': '推送账号方式'}, + 'push_account_enabled': {'label': '启用推送账号'}, + 'push_account_method': {'label': '推送账号方式'}, 'change_secret_enabled': {'label': '启用账号改密'}, 'change_secret_method': {'label': '账号创建改密方式'}, 'gather_accounts_enabled': {'label': '启用账号收集'}, diff --git a/apps/locale/ja/LC_MESSAGES/django.po b/apps/locale/ja/LC_MESSAGES/django.po index a5cb194ad..d29f4e311 100644 --- a/apps/locale/ja/LC_MESSAGES/django.po +++ b/apps/locale/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: 2022-08-17 16:28+0800\n" +"POT-Creation-Date: 2022-10-19 10:41+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,61 +22,66 @@ msgstr "" msgid "Acls" msgstr "Acls" -#: acls/models/base.py:25 acls/serializers/login_asset_acl.py:47 -#: applications/models/application.py:220 assets/models/asset.py:138 -#: assets/models/base.py:175 assets/models/cluster.py:18 -#: assets/models/cmd_filter.py:27 assets/models/domain.py:23 -#: assets/models/group.py:20 assets/models/label.py:18 ops/mixin.py:24 -#: orgs/models.py:70 perms/models/base.py:83 rbac/models/role.py:29 +#: acls/models/base.py:25 acls/serializers/login_asset_acl.py:48 +#: applications/models.py:10 assets/models/_user.py:33 +#: assets/models/asset/common.py:81 assets/models/asset/common.py:91 +#: assets/models/base.py:65 assets/models/cmd_filter.py:25 +#: assets/models/domain.py:24 assets/models/group.py:20 +#: assets/models/label.py:17 assets/models/platform.py:22 +#: assets/models/platform.py:68 assets/serializers/asset/common.py:85 +#: assets/serializers/platform.py:104 ops/mixin.py:22 ops/models/playbook.py:9 +#: orgs/models.py:70 perms/models/asset_permission.py:56 rbac/models/role.py:29 #: settings/models.py:33 settings/serializers/sms.py:6 #: terminal/models/endpoint.py:10 terminal/models/endpoint.py:86 #: terminal/models/storage.py:26 terminal/models/task.py:16 #: terminal/models/terminal.py:100 users/forms/profile.py:33 #: users/models/group.py:15 users/models/user.py:665 -#: xpack/plugins/cloud/models.py:28 +#: xpack/plugins/cloud/models.py:30 msgid "Name" msgstr "名前" -#: acls/models/base.py:27 assets/models/cmd_filter.py:84 -#: assets/models/user.py:251 terminal/models/endpoint.py:89 +#: acls/models/base.py:27 assets/models/_user.py:47 +#: assets/models/cmd_filter.py:76 terminal/models/endpoint.py:89 msgid "Priority" msgstr "優先順位" -#: acls/models/base.py:28 assets/models/cmd_filter.py:84 -#: assets/models/user.py:251 terminal/models/endpoint.py:90 +#: acls/models/base.py:28 assets/models/_user.py:47 +#: assets/models/cmd_filter.py:76 terminal/models/endpoint.py:90 msgid "1-100, the lower the value will be match first" msgstr "1-100、低い値は最初に一致します" -#: acls/models/base.py:31 authentication/models.py:21 +#: acls/models/base.py:31 authentication/models.py:22 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/base.py:88 terminal/models/sharing.py:28 tickets/const.py:39 +#: perms/models/asset_permission.py:74 terminal/models/sharing.py:28 +#: tickets/const.py:38 msgid "Active" msgstr "アクティブ" -#: acls/models/base.py:32 applications/models/application.py:233 -#: assets/models/asset.py:143 assets/models/asset.py:231 -#: assets/models/backup.py:54 assets/models/base.py:180 -#: assets/models/cluster.py:29 assets/models/cmd_filter.py:48 -#: assets/models/cmd_filter.py:96 assets/models/domain.py:24 -#: assets/models/domain.py:65 assets/models/group.py:23 -#: assets/models/label.py:23 ops/models/adhoc.py:38 orgs/models.py:73 -#: perms/models/base.py:93 rbac/models/role.py:37 settings/models.py:38 -#: terminal/models/endpoint.py:23 terminal/models/endpoint.py:96 -#: terminal/models/storage.py:29 terminal/models/terminal.py:114 -#: tickets/models/comment.py:32 tickets/models/ticket/general.py:288 -#: users/models/group.py:16 users/models/user.py:702 -#: xpack/plugins/change_auth_plan/models/base.py:44 -#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:116 +#: acls/models/base.py:32 applications/models.py:19 assets/models/_user.py:40 +#: assets/models/asset/common.py:101 assets/models/automations/base.py:33 +#: assets/models/backup.py:30 assets/models/base.py:70 +#: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88 +#: assets/models/domain.py:25 assets/models/domain.py:69 +#: assets/models/group.py:23 assets/models/label.py:22 +#: assets/models/platform.py:73 ops/models/playbook.py:11 +#: ops/models/playbook.py:25 orgs/models.py:73 +#: perms/models/asset_permission.py:84 rbac/models/role.py:37 +#: settings/models.py:38 terminal/models/endpoint.py:23 +#: terminal/models/endpoint.py:96 terminal/models/storage.py:29 +#: terminal/models/terminal.py:114 tickets/models/comment.py:32 +#: tickets/models/ticket/general.py:288 users/models/group.py:16 +#: users/models/user.py:702 xpack/plugins/change_auth_plan/models/base.py:44 +#: xpack/plugins/cloud/models.py:37 xpack/plugins/cloud/models.py:118 #: xpack/plugins/gathered_user/models.py:26 msgid "Comment" msgstr "コメント" -#: acls/models/login_acl.py:18 tickets/const.py:47 +#: acls/models/login_acl.py:18 tickets/const.py:46 #: tickets/templates/tickets/approve_check_password.html:49 msgid "Reject" msgstr "拒否" -#: acls/models/login_acl.py:19 assets/models/cmd_filter.py:75 +#: acls/models/login_acl.py:19 assets/models/cmd_filter.py:67 msgid "Allow" msgstr "許可" @@ -86,15 +91,15 @@ msgid "Login confirm" msgstr "ログイン確認" #: acls/models/login_acl.py:24 acls/models/login_asset_acl.py:20 -#: assets/models/cmd_filter.py:30 assets/models/label.py:15 audits/models.py:37 -#: audits/models.py:62 audits/models.py:87 audits/serializers.py:100 -#: authentication/models.py:54 authentication/models.py:78 orgs/models.py:220 -#: perms/models/base.py:84 rbac/builtin.py:120 rbac/models/rolebinding.py:41 +#: assets/models/cmd_filter.py:28 assets/models/label.py:15 audits/models.py:37 +#: audits/models.py:62 audits/models.py:87 authentication/models.py:55 +#: authentication/models.py:79 perms/models/asset_permission.py:58 +#: rbac/builtin.py:120 rbac/models/rolebinding.py:41 #: terminal/backends/command/models.py:20 -#: terminal/backends/command/serializers.py:13 terminal/models/session.py:44 +#: terminal/backends/command/serializers.py:13 terminal/models/session.py:30 #: terminal/models/sharing.py:33 terminal/notifications.py:91 #: terminal/notifications.py:139 tickets/models/comment.py:21 users/const.py:14 -#: users/models/user.py:894 users/models/user.py:925 +#: users/models/user.py:895 users/models/user.py:926 #: users/serializers/group.py:19 msgid "User" msgstr "ユーザー" @@ -104,14 +109,14 @@ msgid "Rule" msgstr "ルール" #: acls/models/login_acl.py:31 acls/models/login_asset_acl.py:26 -#: acls/serializers/login_acl.py:17 acls/serializers/login_asset_acl.py:75 -#: assets/models/cmd_filter.py:89 audits/models.py:63 audits/serializers.py:51 +#: acls/serializers/login_acl.py:17 acls/serializers/login_asset_acl.py:62 +#: assets/models/cmd_filter.py:81 audits/models.py:63 audits/serializers.py:49 #: authentication/templates/authentication/_access_key_modal.html:34 msgid "Action" msgstr "アクション" #: acls/models/login_acl.py:35 acls/models/login_asset_acl.py:32 -#: acls/serializers/login_acl.py:16 assets/models/cmd_filter.py:94 +#: acls/serializers/login_acl.py:16 assets/models/cmd_filter.py:86 msgid "Reviewers" msgstr "レビュー担当者" @@ -119,25 +124,24 @@ msgstr "レビュー担当者" msgid "Login acl" msgstr "ログインacl" -#: acls/models/login_asset_acl.py:21 -#: applications/serializers/application.py:122 -#: applications/serializers/application.py:167 -msgid "System User" -msgstr "システムユーザー" +#: acls/models/login_asset_acl.py:21 assets/models/account.py:48 +#: authentication/models.py:88 ops/models/base.py:18 +#: terminal/models/session.py:34 xpack/plugins/cloud/models.py:87 +#: xpack/plugins/cloud/serializers/task.py:65 +msgid "Account" +msgstr "アカウント" -#: acls/models/login_asset_acl.py:22 -#: applications/serializers/attrs/application_category/remote_app.py:36 -#: assets/models/asset.py:386 assets/models/authbook.py:19 -#: assets/models/backup.py:31 assets/models/cmd_filter.py:38 -#: assets/models/gathered_user.py:14 assets/serializers/label.py:30 -#: assets/serializers/system_user.py:268 audits/models.py:39 -#: authentication/models.py:66 authentication/models.py:90 -#: perms/models/asset_permission.py:23 terminal/backends/command/models.py:21 -#: terminal/backends/command/serializers.py:14 terminal/models/session.py:46 +#: acls/models/login_asset_acl.py:22 assets/models/account.py:36 +#: assets/models/asset/common.py:83 assets/models/asset/common.py:219 +#: assets/models/cmd_filter.py:36 assets/models/gathered_user.py:14 +#: assets/serializers/account/account.py:57 assets/serializers/label.py:30 +#: audits/models.py:39 authentication/models.py:67 authentication/models.py:84 +#: perms/models/asset_permission.py:64 terminal/backends/command/models.py:21 +#: terminal/backends/command/serializers.py:14 terminal/models/session.py:32 #: terminal/notifications.py:90 -#: xpack/plugins/change_auth_plan/models/asset.py:199 -#: xpack/plugins/change_auth_plan/serializers/asset.py:181 -#: xpack/plugins/cloud/models.py:223 +#: xpack/plugins/change_auth_plan/models/asset.py:200 +#: xpack/plugins/change_auth_plan/serializers/asset.py:172 +#: xpack/plugins/cloud/models.py:219 msgid "Asset" msgstr "資産" @@ -145,30 +149,30 @@ msgstr "資産" msgid "Login asset acl" msgstr "ログインasset acl" -#: acls/models/login_asset_acl.py:89 tickets/const.py:12 +#: acls/models/login_asset_acl.py:86 tickets/const.py:11 msgid "Login asset confirm" msgstr "ログイン資産の確認" -#: acls/serializers/login_acl.py:11 acls/serializers/login_asset_acl.py:12 +#: acls/serializers/login_acl.py:11 acls/serializers/login_asset_acl.py:13 msgid "Format for comma-delimited string, with * indicating a match all. " msgstr "コンマ区切り文字列の形式。* はすべて一致することを示します。" -#: acls/serializers/login_acl.py:15 acls/serializers/login_asset_acl.py:17 -#: acls/serializers/login_asset_acl.py:51 assets/models/base.py:176 -#: assets/models/gathered_user.py:15 audits/models.py:121 -#: authentication/forms.py:25 authentication/forms.py:27 -#: authentication/models.py:260 +#: acls/serializers/login_acl.py:15 acls/serializers/login_asset_acl.py:18 +#: acls/serializers/login_asset_acl.py:52 assets/models/_user.py:34 +#: assets/models/base.py:66 assets/models/gathered_user.py:15 +#: audits/models.py:121 authentication/forms.py:25 authentication/forms.py:27 +#: authentication/models.py:248 #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 -#: ops/models/adhoc.py:159 users/forms/profile.py:32 users/models/user.py:663 +#: users/forms/profile.py:32 users/models/user.py:663 #: users/templates/users/_msg_user_created.html:12 -#: xpack/plugins/change_auth_plan/models/asset.py:34 -#: xpack/plugins/change_auth_plan/models/asset.py:195 +#: xpack/plugins/change_auth_plan/models/asset.py:35 +#: xpack/plugins/change_auth_plan/models/asset.py:196 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" msgstr "ユーザー名" -#: acls/serializers/login_asset_acl.py:24 +#: acls/serializers/login_asset_acl.py:25 msgid "" "Format for comma-delimited string, with * indicating a match all. Such as: " "192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:" @@ -178,10 +182,8 @@ msgstr "" "192.168.10.1、192.168.1.0/24、10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:" "db8:1a:1110:::/64 (ドメイン名サポート)" -#: acls/serializers/login_asset_acl.py:31 acls/serializers/rules/rules.py:33 -#: applications/serializers/attrs/application_type/mysql_workbench.py:18 -#: assets/models/asset.py:210 assets/models/domain.py:61 -#: assets/serializers/account.py:13 +#: acls/serializers/login_asset_acl.py:32 acls/serializers/rules/rules.py:33 +#: assets/models/asset/common.py:92 assets/models/domain.py:65 #: authentication/templates/authentication/_msg_oauth_bind.html:12 #: authentication/templates/authentication/_msg_rest_password_success.html:8 #: authentication/templates/authentication/_msg_rest_public_key_success.html:8 @@ -189,13 +191,12 @@ msgstr "" msgid "IP" msgstr "IP" -#: acls/serializers/login_asset_acl.py:35 assets/models/asset.py:211 -#: assets/serializers/account.py:14 assets/serializers/gathered_user.py:23 -#: settings/serializers/terminal.py:7 +#: acls/serializers/login_asset_acl.py:36 +#: assets/serializers/gathered_user.py:22 settings/serializers/terminal.py:7 msgid "Hostname" msgstr "ホスト名" -#: acls/serializers/login_asset_acl.py:42 +#: acls/serializers/login_asset_acl.py:43 msgid "" "Format for comma-delimited string, with * indicating a match all. Protocol " "options: {}" @@ -203,27 +204,17 @@ msgstr "" "コンマ区切り文字列の形式。* はすべて一致することを示します。プロトコルオプ" "ション: {}" -#: acls/serializers/login_asset_acl.py:55 assets/models/asset.py:213 -#: assets/models/domain.py:63 assets/models/user.py:252 -#: terminal/serializers/session.py:31 terminal/serializers/storage.py:68 -msgid "Protocol" -msgstr "プロトコル" - -#: acls/serializers/login_asset_acl.py:65 -msgid "Unsupported protocols: {}" -msgstr "サポートされていないプロトコル: {}" - -#: acls/serializers/login_asset_acl.py:98 +#: acls/serializers/login_asset_acl.py:84 #: tickets/serializers/ticket/ticket.py:85 msgid "The organization `{}` does not exist" msgstr "組織 '{}'は存在しません" -#: acls/serializers/login_asset_acl.py:103 +#: acls/serializers/login_asset_acl.py:89 msgid "None of the reviewers belong to Organization `{}`" msgstr "いずれのレビューアも組織 '{}' に属していません" #: acls/serializers/rules/rules.py:20 -#: xpack/plugins/cloud/serializers/task.py:23 +#: xpack/plugins/cloud/serializers/task.py:22 msgid "IP address invalid: `{}`" msgstr "IPアドレスが無効: '{}'" @@ -241,700 +232,717 @@ msgstr "" msgid "Time Period" msgstr "期間" -#: applications/apps.py:9 applications/models/application.py:64 +#: applications/apps.py:9 msgid "Applications" msgstr "アプリケーション" -#: applications/const.py:8 -#: applications/serializers/attrs/application_category/db.py:14 -#: applications/serializers/attrs/application_type/mysql_workbench.py:26 -#: xpack/plugins/change_auth_plan/models/app.py:32 -msgid "Database" -msgstr "データベース" - -#: applications/const.py:9 -msgid "Remote app" -msgstr "リモートアプリ" - -#: applications/const.py:35 -msgid "Custom" -msgstr "カスタム" - -#: applications/const.py:91 rbac/tree.py:29 -msgid "Other" -msgstr "その他" - -#: applications/models/account.py:12 applications/models/application.py:237 -#: assets/models/backup.py:32 assets/models/cmd_filter.py:45 -#: authentication/models.py:67 authentication/models.py:95 -#: perms/models/application_permission.py:28 -msgid "Application" -msgstr "アプリケーション" - -#: applications/models/account.py:15 assets/models/authbook.py:20 -#: assets/models/cmd_filter.py:42 assets/models/user.py:342 audits/models.py:40 -#: authentication/models.py:83 perms/models/application_permission.py:33 -#: perms/models/asset_permission.py:25 terminal/backends/command/models.py:22 -#: terminal/backends/command/serializers.py:36 terminal/models/session.py:48 -#: xpack/plugins/change_auth_plan/models/app.py:36 -#: xpack/plugins/change_auth_plan/models/app.py:147 -#: xpack/plugins/change_auth_plan/serializers/app.py:65 -msgid "System user" -msgstr "システムユーザー" - -#: applications/models/account.py:17 -#: applications/serializers/attrs/application_type/oracle.py:13 -#: assets/models/authbook.py:21 settings/serializers/auth/cas.py:18 -msgid "Version" -msgstr "バージョン" - -#: applications/models/account.py:23 -msgid "Application account" -msgstr "アプリケーションアカウント" - -#: applications/models/account.py:26 -msgid "Can view application account secret" -msgstr "アプリケーションアカウントの秘密を表示できます" - -#: applications/models/account.py:27 -msgid "Can change application account secret" -msgstr "アプリケーションアカウントの秘密を変更できます" - -#: applications/models/application.py:222 -#: applications/serializers/application.py:99 assets/models/label.py:21 -#: perms/models/application_permission.py:21 -#: perms/serializers/application/user_permission.py:33 -#: tickets/models/ticket/apply_application.py:15 -#: xpack/plugins/change_auth_plan/models/app.py:25 +#: applications/models.py:12 assets/models/label.py:20 +#: assets/models/platform.py:69 assets/serializers/asset/common.py:62 +#: assets/serializers/cagegory.py:8 assets/serializers/platform.py:76 +#: assets/serializers/platform.py:105 +#: tickets/models/ticket/apply_application.py:14 +#: xpack/plugins/change_auth_plan/models/app.py:24 msgid "Category" msgstr "カテゴリ" -#: applications/models/application.py:225 -#: applications/serializers/application.py:101 assets/models/backup.py:49 -#: assets/models/cmd_filter.py:82 assets/models/user.py:250 -#: authentication/models.py:70 perms/models/application_permission.py:24 -#: perms/serializers/application/user_permission.py:34 +#: applications/models.py:15 assets/models/_user.py:46 +#: assets/models/automations/base.py:31 assets/models/cmd_filter.py:74 +#: assets/models/platform.py:70 assets/serializers/asset/common.py:63 +#: assets/serializers/platform.py:75 authentication/models.py:71 #: terminal/models/storage.py:58 terminal/models/storage.py:143 #: tickets/models/comment.py:26 tickets/models/flow.py:57 -#: tickets/models/ticket/apply_application.py:18 +#: tickets/models/ticket/apply_application.py:17 #: tickets/models/ticket/general.py:273 -#: xpack/plugins/change_auth_plan/models/app.py:28 -#: xpack/plugins/change_auth_plan/models/app.py:153 +#: xpack/plugins/change_auth_plan/models/app.py:27 +#: xpack/plugins/change_auth_plan/models/app.py:152 msgid "Type" msgstr "タイプ" -#: applications/models/application.py:229 assets/models/asset.py:217 -#: assets/models/domain.py:29 assets/models/domain.py:64 -msgid "Domain" -msgstr "ドメイン" - -#: applications/models/application.py:231 xpack/plugins/cloud/models.py:33 +#: applications/models.py:17 xpack/plugins/cloud/models.py:35 #: xpack/plugins/cloud/serializers/account.py:61 msgid "Attrs" msgstr "ツールバーの" -#: applications/models/application.py:241 +#: applications/models.py:23 authentication/models.py:68 +msgid "Application" +msgstr "アプリケーション" + +#: applications/models.py:27 msgid "Can match application" msgstr "アプリケーションを一致させることができます" -#: applications/models/application.py:320 -msgid "Application user" -msgstr "アプリケーションユーザー" - -#: applications/serializers/application.py:70 -#: applications/serializers/application.py:100 assets/serializers/label.py:13 -#: perms/serializers/application/permission.py:18 -msgid "Category display" -msgstr "カテゴリ表示" - -#: applications/serializers/application.py:71 -#: applications/serializers/application.py:102 -#: assets/serializers/cmd_filter.py:34 assets/serializers/system_user.py:34 -#: audits/serializers.py:29 authentication/serializers/connection_token.py:22 -#: perms/serializers/application/permission.py:19 -#: tickets/serializers/flow.py:49 tickets/serializers/ticket/ticket.py:17 -msgid "Type display" -msgstr "タイプ表示" +#: assets/api/domain.py:52 +msgid "Number required" +msgstr "必要な数" -#: applications/serializers/application.py:103 assets/models/asset.py:230 -#: assets/models/base.py:181 assets/models/cluster.py:26 -#: assets/models/domain.py:26 assets/models/gathered_user.py:19 -#: assets/models/group.py:22 assets/models/label.py:25 -#: assets/serializers/account.py:18 assets/serializers/cmd_filter.py:28 -#: assets/serializers/cmd_filter.py:48 common/db/models.py:114 -#: common/mixins/models.py:50 ops/models/adhoc.py:39 ops/models/command.py:30 -#: orgs/models.py:72 orgs/models.py:223 perms/models/base.py:92 -#: users/models/group.py:18 users/models/user.py:926 -#: xpack/plugins/cloud/models.py:125 -msgid "Date created" -msgstr "作成された日付" +#: assets/api/node.py:62 +msgid "You can't update the root node name" +msgstr "ルートノード名を更新できません" -#: applications/serializers/application.py:104 assets/models/base.py:182 -#: assets/models/gathered_user.py:20 assets/serializers/account.py:21 -#: assets/serializers/cmd_filter.py:29 assets/serializers/cmd_filter.py:49 -#: common/db/models.py:115 common/mixins/models.py:51 ops/models/adhoc.py:40 -#: orgs/models.py:224 -msgid "Date updated" -msgstr "更新日" +#: assets/api/node.py:69 +msgid "You can't delete the root node ({})" +msgstr "ルートノード ({}) を削除できません。" -#: applications/serializers/application.py:121 -#: applications/serializers/application.py:166 authentication/models.py:99 -msgid "Application display" -msgstr "アプリケーション表示" +#: assets/api/node.py:72 +msgid "Deletion failed and the node contains assets" +msgstr "削除に失敗し、ノードにアセットが含まれています。" -#: applications/serializers/application.py:123 -msgid "account" -msgstr "アカウント" +#: assets/apps.py:9 +msgid "App assets" +msgstr "アプリ資産" -#: applications/serializers/attrs/application_category/cloud.py:8 -#: assets/models/cluster.py:40 -msgid "Cluster" -msgstr "クラスター" +#: assets/automations/base/manager.py:74 +#, fuzzy +#| msgid "Disabled" +msgid "{} disabled" +msgstr "無効" -#: applications/serializers/attrs/application_category/db.py:11 -#: ops/models/adhoc.py:157 settings/serializers/auth/radius.py:14 +#: assets/const/category.py:11 settings/serializers/auth/radius.py:14 #: settings/serializers/auth/sms.py:56 terminal/models/endpoint.py:11 #: xpack/plugins/cloud/serializers/account_attrs.py:72 msgid "Host" msgstr "ホスト" -#: applications/serializers/attrs/application_category/db.py:12 -#: applications/serializers/attrs/application_type/mongodb.py:10 -#: applications/serializers/attrs/application_type/mysql.py:10 -#: applications/serializers/attrs/application_type/mysql_workbench.py:22 -#: applications/serializers/attrs/application_type/oracle.py:16 -#: applications/serializers/attrs/application_type/pgsql.py:10 -#: applications/serializers/attrs/application_type/redis.py:10 -#: applications/serializers/attrs/application_type/sqlserver.py:10 -#: assets/models/asset.py:214 assets/models/domain.py:62 -#: settings/serializers/auth/radius.py:15 settings/serializers/auth/sms.py:57 -#: xpack/plugins/cloud/serializers/account_attrs.py:73 -msgid "Port" -msgstr "ポート" +#: assets/const/category.py:12 +msgid "Device" +msgstr "" -#: applications/serializers/attrs/application_category/remote_app.py:34 -msgid "Asset Info" -msgstr "資産情報" - -#: applications/serializers/attrs/application_category/remote_app.py:39 -#: applications/serializers/attrs/application_type/chrome.py:14 -#: applications/serializers/attrs/application_type/mysql_workbench.py:14 -#: applications/serializers/attrs/application_type/vmware_client.py:18 -msgid "Application path" -msgstr "アプリケーションパス" - -#: applications/serializers/attrs/application_category/remote_app.py:44 -#: assets/serializers/system_user.py:167 -#: tickets/serializers/ticket/apply_application.py:38 -#: tickets/serializers/ticket/common.py:59 -#: xpack/plugins/change_auth_plan/serializers/asset.py:67 -#: xpack/plugins/change_auth_plan/serializers/asset.py:70 -#: xpack/plugins/change_auth_plan/serializers/asset.py:73 -#: xpack/plugins/change_auth_plan/serializers/asset.py:104 -#: xpack/plugins/cloud/serializers/account_attrs.py:56 -msgid "This field is required." -msgstr "このフィールドは必須です。" +#: assets/const/category.py:13 assets/models/asset/database.py:8 +#: assets/models/asset/database.py:18 +#: xpack/plugins/change_auth_plan/models/app.py:31 +msgid "Database" +msgstr "データベース" -#: applications/serializers/attrs/application_type/chrome.py:18 -#: applications/serializers/attrs/application_type/vmware_client.py:22 -msgid "Target URL" -msgstr "ターゲットURL" +#: assets/const/category.py:14 +#, fuzzy +#| msgid "Cloud center" +msgid "Cloud service" +msgstr "クラウドセンター" -#: applications/serializers/attrs/application_type/chrome.py:22 -msgid "Chrome username" -msgstr "Chromeユーザー名" +#: assets/const/category.py:15 +msgid "Web" +msgstr "" -#: applications/serializers/attrs/application_type/chrome.py:26 -#: applications/serializers/attrs/application_type/chrome.py:33 -msgid "Chrome password" -msgstr "Chromeパスワード" +#: assets/const/device.py:7 tickets/const.py:8 +msgid "General" +msgstr "一般" -#: applications/serializers/attrs/application_type/custom.py:12 -msgid "Operating parameter" -msgstr "操作パラメータ" +#: assets/const/device.py:8 +#, fuzzy +#| msgid "Switch from" +msgid "Switch" +msgstr "から切り替え" -#: applications/serializers/attrs/application_type/custom.py:16 -msgid "Target url" -msgstr "ターゲットURL" +#: assets/const/device.py:9 +msgid "Router" +msgstr "" -#: applications/serializers/attrs/application_type/custom.py:20 -msgid "Custom Username" -msgstr "カスタムユーザー名" +#: assets/const/device.py:10 +msgid "Firewall" +msgstr "" -#: applications/serializers/attrs/application_type/custom.py:25 -#: applications/serializers/attrs/application_type/custom.py:32 -#: xpack/plugins/change_auth_plan/models/base.py:27 -msgid "Custom password" -msgstr "カスタムパスワード" +#: assets/const/web.py:7 +#, fuzzy +#| msgid "Website icon" +msgid "Website" +msgstr "ウェブサイトのアイコン" -#: applications/serializers/attrs/application_type/mysql_workbench.py:30 -msgid "Mysql workbench username" -msgstr "Mysql workbench のユーザー名" +#: assets/models/_user.py:24 +msgid "Automatic managed" +msgstr "自動管理" -#: applications/serializers/attrs/application_type/mysql_workbench.py:35 -#: applications/serializers/attrs/application_type/mysql_workbench.py:42 -msgid "Mysql workbench password" -msgstr "Mysql workbench パスワード" +#: assets/models/_user.py:25 +msgid "Manually input" +msgstr "手動入力" -#: applications/serializers/attrs/application_type/oracle.py:14 -msgid "Magnus currently supports only 11g and 12c connections" -msgstr "現在、Magnusは11gおよび12cバージョンへの接続のみをサポートしています" +#: assets/models/_user.py:29 +msgid "Common user" +msgstr "共通ユーザー" -#: applications/serializers/attrs/application_type/vmware_client.py:26 -msgid "Vmware username" -msgstr "Vmware ユーザー名" +#: assets/models/_user.py:30 +msgid "Admin user" +msgstr "管理ユーザー" -#: applications/serializers/attrs/application_type/vmware_client.py:31 -#: applications/serializers/attrs/application_type/vmware_client.py:38 -msgid "Vmware password" -msgstr "Vmware パスワード" +#: assets/models/_user.py:35 assets/models/base.py:59 +#: assets/models/domain.py:71 assets/serializers/base.py:15 +#: audits/signal_handlers.py:50 authentication/confirm/password.py:9 +#: authentication/forms.py:32 +#: authentication/templates/authentication/login.html:228 +#: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:46 +#: users/forms/profile.py:22 users/serializers/user.py:94 +#: users/templates/users/_msg_user_created.html:13 +#: users/templates/users/user_password_verify.html:18 +#: xpack/plugins/change_auth_plan/models/base.py:42 +#: xpack/plugins/change_auth_plan/models/base.py:117 +#: xpack/plugins/change_auth_plan/models/base.py:192 +#: xpack/plugins/change_auth_plan/serializers/base.py:21 +#: xpack/plugins/change_auth_plan/serializers/base.py:73 +#: xpack/plugins/cloud/serializers/account_attrs.py:28 +msgid "Password" +msgstr "パスワード" -#: assets/api/domain.py:52 -msgid "Number required" -msgstr "必要な数" +#: assets/models/_user.py:36 assets/models/domain.py:72 +#: assets/serializers/base.py:19 +#: xpack/plugins/change_auth_plan/models/asset.py:54 +#: xpack/plugins/change_auth_plan/models/asset.py:131 +#: xpack/plugins/change_auth_plan/models/asset.py:207 +msgid "SSH private key" +msgstr "SSH秘密鍵" -#: assets/api/node.py:61 -msgid "You can't update the root node name" -msgstr "ルートノード名を更新できません" +#: assets/models/_user.py:37 assets/models/domain.py:73 +#: xpack/plugins/change_auth_plan/models/asset.py:57 +#: xpack/plugins/change_auth_plan/models/asset.py:127 +#: xpack/plugins/change_auth_plan/models/asset.py:203 +msgid "SSH public key" +msgstr "SSHパブリックキー" -#: assets/api/node.py:68 -msgid "You can't delete the root node ({})" -msgstr "ルートノード ({}) を削除できません。" +#: assets/models/_user.py:38 assets/models/base.py:62 +#: authentication/models.py:53 +msgid "Token" +msgstr "トークン" -#: assets/api/node.py:71 -msgid "Deletion failed and the node contains assets" -msgstr "削除に失敗し、ノードにアセットが含まれています。" +#: assets/models/_user.py:41 assets/models/automations/base.py:87 +#: assets/models/base.py:71 assets/models/domain.py:26 +#: assets/models/gathered_user.py:19 assets/models/group.py:22 +#: common/db/models.py:76 common/mixins/models.py:50 ops/models/base.py:53 +#: orgs/models.py:72 perms/models/asset_permission.py:82 +#: users/models/group.py:18 users/models/user.py:927 +msgid "Date created" +msgstr "作成された日付" -#: assets/apps.py:9 -msgid "App assets" -msgstr "アプリ資産" +#: assets/models/_user.py:42 assets/models/base.py:72 +#: assets/models/gathered_user.py:20 common/db/models.py:77 +#: common/mixins/models.py:51 +msgid "Date updated" +msgstr "更新日" -#: assets/models/asset.py:139 -msgid "Base" -msgstr "ベース" +#: assets/models/_user.py:43 assets/models/base.py:73 +#: assets/models/cmd_filter.py:44 assets/models/cmd_filter.py:91 +#: assets/models/group.py:21 common/db/models.py:74 common/mixins/models.py:49 +#: orgs/models.py:71 perms/models/asset_permission.py:81 +#: users/models/user.py:710 users/serializers/group.py:33 +#: xpack/plugins/change_auth_plan/models/base.py:48 +msgid "Created by" +msgstr "によって作成された" -#: assets/models/asset.py:140 -msgid "Charset" -msgstr "シャーセット" +#: assets/models/_user.py:45 +msgid "Username same with user" +msgstr "ユーザーと同じユーザー名" -#: assets/models/asset.py:141 assets/serializers/asset.py:176 -#: tickets/models/ticket/general.py:298 -msgid "Meta" -msgstr "メタ" +#: assets/models/_user.py:48 assets/models/domain.py:67 +#: terminal/serializers/session.py:18 terminal/serializers/session.py:32 +#: terminal/serializers/storage.py:68 +msgid "Protocol" +msgstr "プロトコル" -#: assets/models/asset.py:142 -msgid "Internal" -msgstr "内部" +#: assets/models/_user.py:49 +msgid "Auto push" +msgstr "オートプッシュ" -#: assets/models/asset.py:162 assets/models/asset.py:216 -#: assets/serializers/account.py:15 assets/serializers/asset.py:63 -#: perms/serializers/asset/user_permission.py:43 -#: xpack/plugins/cloud/serializers/account_attrs.py:162 -msgid "Platform" -msgstr "プラットフォーム" +#: assets/models/_user.py:50 +msgid "Sudo" +msgstr "すど" -#: assets/models/asset.py:168 -msgid "Vendor" -msgstr "ベンダー" +#: assets/models/_user.py:51 +msgid "Shell" +msgstr "シェル" -#: assets/models/asset.py:169 -msgid "Model" -msgstr "モデル" +#: assets/models/_user.py:52 +msgid "Login mode" +msgstr "ログインモード" -#: assets/models/asset.py:170 tickets/models/ticket/general.py:296 -msgid "Serial number" -msgstr "シリアル番号" +#: assets/models/_user.py:53 +msgid "SFTP Root" +msgstr "SFTPルート" -#: assets/models/asset.py:172 -msgid "CPU model" -msgstr "CPU モデル" +#: assets/models/_user.py:54 +msgid "Home" +msgstr "ホーム" -#: assets/models/asset.py:173 -msgid "CPU count" -msgstr "CPU カウント" +#: assets/models/_user.py:55 +msgid "System groups" +msgstr "システムグループ" -#: assets/models/asset.py:174 -msgid "CPU cores" -msgstr "CPU カラー" +#: assets/models/_user.py:58 +msgid "User switch" +msgstr "ユーザースイッチ" -#: assets/models/asset.py:175 -msgid "CPU vcpus" -msgstr "CPU 合計" +#: assets/models/_user.py:59 +msgid "Switch from" +msgstr "から切り替え" -#: assets/models/asset.py:176 -msgid "Memory" -msgstr "メモリ" +#: assets/models/_user.py:65 audits/models.py:40 +#: terminal/backends/command/models.py:22 +#: terminal/backends/command/serializers.py:36 +#: xpack/plugins/change_auth_plan/models/app.py:35 +#: xpack/plugins/change_auth_plan/models/app.py:146 +msgid "System user" +msgstr "システムユーザー" -#: assets/models/asset.py:177 -msgid "Disk total" -msgstr "ディスクの合計" +#: assets/models/_user.py:67 +msgid "Can match system user" +msgstr "システムユーザーに一致できます" -#: assets/models/asset.py:178 -msgid "Disk info" -msgstr "ディスク情報" +#: assets/models/account.py:40 +#, fuzzy +#| msgid "Switch from" +msgid "Su from" +msgstr "から切り替え" -#: assets/models/asset.py:180 -msgid "OS" -msgstr "OS" +#: assets/models/account.py:42 settings/serializers/auth/cas.py:18 +msgid "Version" +msgstr "バージョン" -#: assets/models/asset.py:181 -msgid "OS version" -msgstr "システムバージョン" +#: assets/models/account.py:54 +msgid "Can view asset account secret" +msgstr "資産アカウントの秘密を表示できます" -#: assets/models/asset.py:182 -msgid "OS arch" -msgstr "システムアーキテクチャ" +#: assets/models/account.py:55 +msgid "Can change asset account secret" +msgstr "資産口座の秘密を変更できます" -#: assets/models/asset.py:183 -msgid "Hostname raw" -msgstr "ホスト名生" +#: assets/models/account.py:56 +msgid "Can view asset history account" +msgstr "資産履歴アカウントを表示できます" -#: assets/models/asset.py:215 assets/serializers/account.py:16 -#: assets/serializers/asset.py:65 perms/serializers/asset/user_permission.py:41 -#: xpack/plugins/cloud/models.py:107 xpack/plugins/cloud/serializers/task.py:43 -msgid "Protocols" -msgstr "プロトコル" +#: assets/models/account.py:57 +msgid "Can view asset history account secret" +msgstr "資産履歴アカウントパスワードを表示できます" + +#: assets/models/account.py:80 assets/serializers/account/account.py:13 +#, fuzzy +#| msgid "Account name" +msgid "Account template" +msgstr "アカウント名" + +#: assets/models/asset/common.py:82 assets/models/domain.py:66 +#: assets/models/platform.py:23 settings/serializers/auth/radius.py:15 +#: settings/serializers/auth/sms.py:57 +#: xpack/plugins/cloud/serializers/account_attrs.py:73 +msgid "Port" +msgstr "ポート" -#: assets/models/asset.py:218 assets/models/user.py:242 -#: perms/models/asset_permission.py:24 -#: xpack/plugins/change_auth_plan/models/asset.py:43 +#: assets/models/asset/common.py:94 assets/models/platform.py:104 +#: assets/serializers/asset/common.py:65 +#: perms/serializers/user_permission.py:21 +#: xpack/plugins/cloud/serializers/account_attrs.py:172 +msgid "Platform" +msgstr "プラットフォーム" + +#: assets/models/asset/common.py:96 assets/models/domain.py:29 +#: assets/models/domain.py:68 assets/serializers/asset/common.py:64 +msgid "Domain" +msgstr "ドメイン" + +#: assets/models/asset/common.py:98 assets/models/automations/base.py:26 +#: assets/serializers/asset/common.py:66 perms/models/asset_permission.py:67 +#: xpack/plugins/change_auth_plan/models/asset.py:44 #: xpack/plugins/gathered_user/models.py:24 msgid "Nodes" msgstr "ノード" -#: assets/models/asset.py:219 assets/models/cmd_filter.py:47 -#: assets/models/domain.py:66 assets/models/label.py:22 -#: users/serializers/user.py:147 +#: assets/models/asset/common.py:99 assets/models/automations/base.py:32 +#: assets/models/cmd_filter.py:39 assets/models/domain.py:70 +#: assets/models/label.py:21 users/serializers/user.py:147 msgid "Is active" msgstr "アクティブです。" -#: assets/models/asset.py:222 assets/models/cluster.py:19 -#: assets/models/user.py:239 assets/models/user.py:394 -msgid "Admin user" -msgstr "管理ユーザー" - -#: assets/models/asset.py:225 -msgid "Public IP" -msgstr "パブリックIP" - -#: assets/models/asset.py:226 -msgid "Asset number" -msgstr "資産番号" - -#: assets/models/asset.py:228 +#: assets/models/asset/common.py:100 assets/serializers/asset/common.py:67 msgid "Labels" msgstr "ラベル" -#: assets/models/asset.py:229 assets/models/base.py:183 -#: assets/models/cluster.py:28 assets/models/cmd_filter.py:52 -#: assets/models/cmd_filter.py:99 assets/models/group.py:21 -#: common/db/models.py:112 common/mixins/models.py:49 orgs/models.py:71 -#: orgs/models.py:225 perms/models/base.py:91 users/models/user.py:710 -#: users/serializers/group.py:33 -#: xpack/plugins/change_auth_plan/models/base.py:48 -#: xpack/plugins/cloud/models.py:122 xpack/plugins/gathered_user/models.py:30 -msgid "Created by" -msgstr "によって作成された" - -#: assets/models/asset.py:389 +#: assets/models/asset/common.py:222 msgid "Can refresh asset hardware info" msgstr "資産ハードウェア情報を更新できます" -#: assets/models/asset.py:390 +#: assets/models/asset/common.py:223 msgid "Can test asset connectivity" msgstr "資産接続をテストできます" -#: assets/models/asset.py:391 +#: assets/models/asset/common.py:224 msgid "Can push system user to asset" msgstr "システムユーザーを資産にプッシュできます" -#: assets/models/asset.py:392 +#: assets/models/asset/common.py:225 msgid "Can match asset" msgstr "アセットを一致させることができます" -#: assets/models/asset.py:393 +#: assets/models/asset/common.py:226 msgid "Add asset to node" msgstr "ノードにアセットを追加する" -#: assets/models/asset.py:394 +#: assets/models/asset/common.py:227 msgid "Move asset to node" msgstr "アセットをノードに移動する" -#: assets/models/authbook.py:27 -msgid "AuthBook" -msgstr "資産アカウント" +#: assets/models/automations/account_discovery.py:10 +#, fuzzy +#| msgid "Approve strategy" +msgid "Discovery strategy" +msgstr "戦略を承認する" -#: assets/models/authbook.py:30 -msgid "Can test asset account connectivity" -msgstr "アセットアカウントの接続性をテストできます" +#: assets/models/automations/account_reconcile.py:9 +#, fuzzy +#| msgid "Hostname strategy" +msgid "Reconcile strategy" +msgstr "ホスト名戦略" -#: assets/models/authbook.py:31 -msgid "Can view asset account secret" -msgstr "資産アカウントの秘密を表示できます" +#: assets/models/automations/account_verify.py:9 +#, fuzzy +#| msgid "SSH Key strategy" +msgid "Verify strategy" +msgstr "SSHキー戦略" -#: assets/models/authbook.py:32 -msgid "Can change asset account secret" -msgstr "資産口座の秘密を変更できます" +#: assets/models/automations/base.py:15 +msgid "Ping" +msgstr "" -#: assets/models/authbook.py:33 -msgid "Can view asset history account" -msgstr "資産履歴アカウントを表示できます" +#: assets/models/automations/base.py:16 +#, fuzzy +#| msgid "Gather account" +msgid "Gather facts" +msgstr "アカウントを集める" -#: assets/models/authbook.py:34 -msgid "Can view asset history account secret" -msgstr "資産履歴アカウントパスワードを表示できます" +#: assets/models/automations/base.py:17 +#, fuzzy +#| msgid "Gather account" +msgid "Create account" +msgstr "アカウントを集める" -#: assets/models/backup.py:30 perms/models/base.py:54 -#: settings/serializers/terminal.py:12 -msgid "All" -msgstr "すべて" +#: assets/models/automations/base.py:18 +#: assets/models/automations/change_secret.py:56 +#, fuzzy +#| msgid "Change auth" +msgid "Change secret" +msgstr "秘密を改める" + +#: assets/models/automations/base.py:19 +#, fuzzy +#| msgid "Verify auth" +msgid "Verify account" +msgstr "パスワード/キーの確認" + +#: assets/models/automations/base.py:20 +#, fuzzy +#| msgid "Gather account" +msgid "Gather accounts" +msgstr "アカウントを集める" + +#: assets/models/automations/base.py:24 assets/models/cmd_filter.py:38 +#: assets/serializers/asset/common.py:68 perms/models/asset_permission.py:70 +#: rbac/tree.py:37 +msgid "Accounts" +msgstr "アカウント" + +#: assets/models/automations/base.py:29 assets/serializers/domain.py:29 +#: ops/models/base.py:17 +#: terminal/templates/terminal/_msg_command_execute_alert.html:16 +#: xpack/plugins/change_auth_plan/models/asset.py:40 +msgid "Assets" +msgstr "資産" + +#: assets/models/automations/base.py:77 +#, fuzzy +#| msgid "Automatic managed" +msgid "Automation plan" +msgstr "自動管理" + +#: assets/models/automations/base.py:84 +#, fuzzy +#| msgid "Hostname strategy" +msgid "Automation strategy" +msgstr "ホスト名戦略" + +#: assets/models/automations/base.py:88 assets/models/backup.py:77 +#: audits/models.py:44 ops/models/base.py:54 +#: perms/models/asset_permission.py:76 terminal/models/session.py:43 +#: tickets/models/ticket/apply_application.py:28 +#: tickets/models/ticket/apply_asset.py:21 +#: xpack/plugins/change_auth_plan/models/base.py:108 +#: xpack/plugins/change_auth_plan/models/base.py:199 +#: xpack/plugins/gathered_user/models.py:71 +msgid "Date start" +msgstr "開始日" + +#: assets/models/automations/base.py:89 +#: assets/models/automations/change_secret.py:51 ops/models/base.py:55 +msgid "Date finished" +msgstr "終了日" + +#: assets/models/automations/base.py:91 +#, fuzzy +#| msgid "Relation snapshot" +msgid "Automation snapshot" +msgstr "製造オーダスナップショット" + +#: assets/models/automations/base.py:95 assets/models/backup.py:88 +#: assets/serializers/account/backup.py:36 +#: xpack/plugins/change_auth_plan/models/base.py:121 +#: xpack/plugins/change_auth_plan/serializers/base.py:78 +msgid "Trigger mode" +msgstr "トリガーモード" + +#: assets/models/automations/base.py:99 +#, fuzzy +#| msgid "Command execution" +msgid "Automation strategy execution" +msgstr "コマンド実行" + +#: assets/models/automations/change_secret.py:13 +msgid "Specific" +msgstr "" + +#: assets/models/automations/change_secret.py:14 ops/const.py:20 +#: xpack/plugins/change_auth_plan/models/base.py:28 +msgid "All assets use the same random password" +msgstr "すべての資産は同じランダムパスワードを使用します" -#: assets/models/backup.py:52 assets/serializers/backup.py:32 -#: xpack/plugins/change_auth_plan/models/app.py:41 -#: xpack/plugins/change_auth_plan/models/asset.py:62 +#: assets/models/automations/change_secret.py:15 ops/const.py:21 +#: xpack/plugins/change_auth_plan/models/base.py:29 +msgid "All assets use different random password" +msgstr "すべての資産は異なるランダムパスワードを使用します" + +#: assets/models/automations/change_secret.py:19 ops/const.py:13 +#: xpack/plugins/change_auth_plan/models/asset.py:30 +msgid "Append SSH KEY" +msgstr "追加" + +#: assets/models/automations/change_secret.py:20 ops/const.py:14 +#: xpack/plugins/change_auth_plan/models/asset.py:31 +msgid "Empty and append SSH KEY" +msgstr "すべてクリアして追加" + +#: assets/models/automations/change_secret.py:21 ops/const.py:15 +#: xpack/plugins/change_auth_plan/models/asset.py:32 +msgid "Replace (The key generated by JumpServer) " +msgstr "置換(JumpServerによって生成された鍵)" + +#: assets/models/automations/change_secret.py:25 +#, fuzzy +#| msgid "Secret key" +msgid "Secret types" +msgstr "秘密キー" + +#: assets/models/automations/change_secret.py:27 users/serializers/user.py:81 +#: xpack/plugins/change_auth_plan/models/base.py:35 +#: xpack/plugins/change_auth_plan/serializers/base.py:27 +msgid "Password strategy" +msgstr "パスワード戦略" + +#: assets/models/automations/change_secret.py:28 +#: assets/models/automations/change_secret.py:49 assets/models/base.py:68 +#: assets/serializers/account/base.py:17 authentication/models.py:73 +#: authentication/models.py:249 +#: authentication/templates/authentication/_access_key_modal.html:31 +#: settings/serializers/auth/radius.py:17 +msgid "Secret" +msgstr "ひみつ" + +#: assets/models/automations/change_secret.py:29 +#: xpack/plugins/change_auth_plan/models/base.py:39 +msgid "Password rules" +msgstr "パスワードルール" + +#: assets/models/automations/change_secret.py:32 assets/models/base.py:60 +#, fuzzy +#| msgid "SSH Key" +msgid "SSH key" +msgstr "SSHキー" + +#: assets/models/automations/change_secret.py:34 +#, fuzzy +#| msgid "SSH Key strategy" +msgid "SSH key strategy" +msgstr "SSHキー戦略" + +#: assets/models/automations/change_secret.py:35 assets/models/backup.py:28 +#: assets/serializers/account/backup.py:28 +#: xpack/plugins/change_auth_plan/models/app.py:40 +#: xpack/plugins/change_auth_plan/models/asset.py:63 #: xpack/plugins/change_auth_plan/serializers/base.py:45 msgid "Recipient" msgstr "受信者" -#: assets/models/backup.py:62 assets/models/backup.py:124 -msgid "Account backup plan" -msgstr "アカウントバックアップ計画" - -#: assets/models/backup.py:100 -#: xpack/plugins/change_auth_plan/models/base.py:107 -msgid "Manual trigger" -msgstr "手動トリガー" +#: assets/models/automations/change_secret.py:42 +#, fuzzy +#| msgid "Can change auth setting" +msgid "Change auth strategy" +msgstr "資格認定の設定" -#: assets/models/backup.py:101 -#: xpack/plugins/change_auth_plan/models/base.py:108 -msgid "Timing trigger" -msgstr "タイミングトリガー" +#: assets/models/automations/change_secret.py:48 +#, fuzzy +#| msgid "Secret" +msgid "Old secret" +msgstr "ひみつ" -#: assets/models/backup.py:105 audits/models.py:44 ops/models/command.py:31 -#: perms/models/base.py:89 terminal/models/session.py:58 -#: tickets/models/ticket/apply_application.py:29 -#: tickets/models/ticket/apply_asset.py:23 -#: xpack/plugins/change_auth_plan/models/base.py:112 -#: xpack/plugins/change_auth_plan/models/base.py:203 -#: xpack/plugins/gathered_user/models.py:76 -msgid "Date start" +#: assets/models/automations/change_secret.py:50 +#, fuzzy +#| msgid "Date start" +msgid "Date started" msgstr "開始日" -#: assets/models/backup.py:108 +#: assets/models/automations/change_secret.py:53 +#, fuzzy +#| msgid "WeCom Error" +msgid "Error" +msgstr "企業微信エラー" + +#: assets/models/automations/gather_facts.py:11 +#, fuzzy +#| msgid "Gather assets users" +msgid "Gather asset facts" +msgstr "資産ユーザーの収集" + +#: assets/models/backup.py:38 assets/models/backup.py:96 +msgid "Account backup plan" +msgstr "アカウントバックアップ計画" + +#: assets/models/backup.py:80 #: authentication/templates/authentication/_msg_oauth_bind.html:11 -#: notifications/notifications.py:187 ops/models/adhoc.py:258 -#: xpack/plugins/change_auth_plan/models/base.py:115 -#: xpack/plugins/change_auth_plan/models/base.py:204 -#: xpack/plugins/gathered_user/models.py:79 +#: notifications/notifications.py:187 +#: xpack/plugins/change_auth_plan/models/base.py:111 +#: xpack/plugins/change_auth_plan/models/base.py:200 +#: xpack/plugins/gathered_user/models.py:74 msgid "Time" msgstr "時間" -#: assets/models/backup.py:112 +#: assets/models/backup.py:84 msgid "Account backup snapshot" msgstr "アカウントのバックアップスナップショット" -#: assets/models/backup.py:116 assets/serializers/backup.py:40 -#: xpack/plugins/change_auth_plan/models/base.py:125 -#: xpack/plugins/change_auth_plan/serializers/base.py:78 -msgid "Trigger mode" -msgstr "トリガーモード" - -#: assets/models/backup.py:119 audits/models.py:127 +#: assets/models/backup.py:91 audits/models.py:127 #: terminal/models/sharing.py:108 -#: xpack/plugins/change_auth_plan/models/base.py:201 -#: xpack/plugins/change_auth_plan/serializers/app.py:66 -#: xpack/plugins/change_auth_plan/serializers/asset.py:180 -#: xpack/plugins/cloud/models.py:179 +#: xpack/plugins/change_auth_plan/models/base.py:197 +#: xpack/plugins/change_auth_plan/serializers/asset.py:171 +#: xpack/plugins/cloud/models.py:175 msgid "Reason" msgstr "理由" -#: assets/models/backup.py:121 audits/serializers.py:82 -#: audits/serializers.py:97 ops/models/adhoc.py:260 -#: terminal/serializers/session.py:36 -#: xpack/plugins/change_auth_plan/models/base.py:202 -#: xpack/plugins/change_auth_plan/serializers/app.py:67 -#: xpack/plugins/change_auth_plan/serializers/asset.py:182 +#: assets/models/backup.py:93 terminal/serializers/session.py:36 +#: xpack/plugins/change_auth_plan/models/base.py:198 +#: xpack/plugins/change_auth_plan/serializers/asset.py:173 msgid "Is success" msgstr "成功は" -#: assets/models/backup.py:128 +#: assets/models/backup.py:100 msgid "Account backup execution" msgstr "アカウントバックアップの実行" -#: assets/models/base.py:30 assets/tasks/const.py:51 audits/const.py:5 +#: assets/models/base.py:28 assets/tasks/const.py:51 audits/const.py:5 #: common/utils/ip/geoip/utils.py:31 common/utils/ip/geoip/utils.py:37 #: common/utils/ip/utils.py:84 msgid "Unknown" msgstr "不明" -#: assets/models/base.py:31 +#: assets/models/base.py:29 msgid "Ok" msgstr "OK" -#: assets/models/base.py:32 audits/models.py:118 -#: xpack/plugins/change_auth_plan/serializers/app.py:88 -#: xpack/plugins/change_auth_plan/serializers/asset.py:199 +#: assets/models/base.py:30 audits/models.py:118 +#: xpack/plugins/change_auth_plan/serializers/asset.py:190 #: xpack/plugins/cloud/const.py:33 msgid "Failed" msgstr "失敗しました" -#: assets/models/base.py:38 assets/serializers/domain.py:47 +#: assets/models/base.py:36 assets/serializers/domain.py:42 msgid "Connectivity" msgstr "接続性" -#: assets/models/base.py:40 authentication/models.py:263 +#: assets/models/base.py:38 authentication/models.py:251 msgid "Date verified" -msgstr "確認済みの日付" - -#: assets/models/base.py:177 assets/serializers/base.py:15 -#: assets/serializers/base.py:37 assets/serializers/system_user.py:29 -#: audits/signal_handlers.py:50 authentication/confirm/password.py:9 -#: authentication/forms.py:32 -#: authentication/templates/authentication/login.html:228 -#: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:46 -#: users/forms/profile.py:22 users/serializers/user.py:94 -#: users/templates/users/_msg_user_created.html:13 -#: users/templates/users/user_password_verify.html:18 -#: xpack/plugins/change_auth_plan/models/base.py:42 -#: xpack/plugins/change_auth_plan/models/base.py:121 -#: xpack/plugins/change_auth_plan/models/base.py:196 -#: xpack/plugins/change_auth_plan/serializers/base.py:21 -#: xpack/plugins/change_auth_plan/serializers/base.py:73 -#: xpack/plugins/cloud/serializers/account_attrs.py:28 -msgid "Password" -msgstr "パスワード" - -#: assets/models/base.py:178 assets/serializers/base.py:41 -#: xpack/plugins/change_auth_plan/models/asset.py:53 -#: xpack/plugins/change_auth_plan/models/asset.py:130 -#: xpack/plugins/change_auth_plan/models/asset.py:206 -msgid "SSH private key" -msgstr "SSH秘密鍵" - -#: assets/models/base.py:179 xpack/plugins/change_auth_plan/models/asset.py:56 -#: xpack/plugins/change_auth_plan/models/asset.py:126 -#: xpack/plugins/change_auth_plan/models/asset.py:202 -msgid "SSH public key" -msgstr "SSHパブリックキー" - -#: assets/models/cluster.py:20 -msgid "Bandwidth" -msgstr "帯域幅" - -#: assets/models/cluster.py:21 -msgid "Contact" -msgstr "連絡先" - -#: assets/models/cluster.py:22 users/models/user.py:685 -msgid "Phone" -msgstr "電話" - -#: assets/models/cluster.py:23 -msgid "Address" -msgstr "アドレス" - -#: assets/models/cluster.py:24 -msgid "Intranet" -msgstr "イントラネット" - -#: assets/models/cluster.py:25 -msgid "Extranet" -msgstr "エクストラネット" - -#: assets/models/cluster.py:27 -msgid "Operator" -msgstr "オペレーター" +msgstr "確認済みの日付" -#: assets/models/cluster.py:36 assets/models/group.py:34 -#: xpack/plugins/cloud/providers/nutanix.py:30 -msgid "Default" -msgstr "デフォルト" +#: assets/models/base.py:61 authentication/models.py:38 +msgid "Access key" +msgstr "アクセスキー" -#: assets/models/cluster.py:36 assets/models/label.py:14 rbac/const.py:6 -#: users/models/user.py:911 -msgid "System" -msgstr "システム" +#: assets/models/base.py:67 +#, fuzzy +#| msgid "Secret key" +msgid "Secret type" +msgstr "秘密キー" -#: assets/models/cluster.py:36 -msgid "Default Cluster" -msgstr "デフォルトクラスター" +#: assets/models/base.py:69 +msgid "Privileged" +msgstr "" -#: assets/models/cmd_filter.py:34 perms/models/base.py:86 +#: assets/models/cmd_filter.py:32 perms/models/asset_permission.py:61 #: users/models/group.py:31 users/models/user.py:671 msgid "User group" msgstr "ユーザーグループ" -#: assets/models/cmd_filter.py:60 assets/serializers/system_user.py:59 +#: assets/models/cmd_filter.py:52 msgid "Command filter" msgstr "コマンドフィルター" -#: assets/models/cmd_filter.py:67 +#: assets/models/cmd_filter.py:59 msgid "Regex" msgstr "正規情報" -#: assets/models/cmd_filter.py:68 ops/models/command.py:26 -#: terminal/backends/command/serializers.py:15 terminal/models/session.py:55 +#: assets/models/cmd_filter.py:60 terminal/backends/command/serializers.py:15 +#: terminal/models/session.py:41 #: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_execute_alert.html:10 msgid "Command" msgstr "コマンド" -#: assets/models/cmd_filter.py:74 +#: assets/models/cmd_filter.py:66 msgid "Deny" msgstr "拒否" -#: assets/models/cmd_filter.py:76 +#: assets/models/cmd_filter.py:68 msgid "Reconfirm" msgstr "再確認" -#: assets/models/cmd_filter.py:80 +#: assets/models/cmd_filter.py:72 msgid "Filter" msgstr "フィルター" -#: assets/models/cmd_filter.py:87 settings/serializers/basic.py:10 +#: assets/models/cmd_filter.py:79 settings/serializers/basic.py:10 #: xpack/plugins/license/models.py:29 msgid "Content" msgstr "コンテンツ" -#: assets/models/cmd_filter.py:87 +#: assets/models/cmd_filter.py:79 msgid "One line one command" msgstr "1行1コマンド" -#: assets/models/cmd_filter.py:88 +#: assets/models/cmd_filter.py:80 msgid "Ignore case" msgstr "家を無視する" -#: assets/models/cmd_filter.py:103 +#: assets/models/cmd_filter.py:95 msgid "Command filter rule" msgstr "コマンドフィルタルール" -#: assets/models/cmd_filter.py:147 +#: assets/models/cmd_filter.py:138 msgid "The generated regular expression is incorrect: {}" msgstr "生成された正規表現が正しくありません: {}" -#: assets/models/cmd_filter.py:173 tickets/const.py:13 +#: assets/models/cmd_filter.py:164 tickets/const.py:12 msgid "Command confirm" msgstr "コマンドの確認" -#: assets/models/domain.py:73 +#: assets/models/domain.py:84 msgid "Gateway" msgstr "ゲートウェイ" -#: assets/models/domain.py:75 +#: assets/models/domain.py:86 msgid "Test gateway" msgstr "テストゲートウェイ" -#: assets/models/domain.py:131 -#, python-brace-format -msgid "Unable to connect to port {port} on {ip}" +#: assets/models/domain.py:142 +#, fuzzy, python-brace-format +#| msgid "Unable to connect to port {port} on {ip}" +msgid "Unable to connect to port {port} on {address}" msgstr "{ip} でポート {port} に接続できません" -#: assets/models/domain.py:134 authentication/middleware.py:75 +#: assets/models/domain.py:145 authentication/middleware.py:75 #: xpack/plugins/cloud/providers/fc.py:48 msgid "Authentication failed" msgstr "認証に失敗しました" -#: assets/models/domain.py:136 assets/models/domain.py:158 +#: assets/models/domain.py:147 assets/models/domain.py:169 msgid "Connect failed" msgstr "接続に失敗しました" @@ -958,15 +966,28 @@ msgstr "収集ユーザー" msgid "Asset group" msgstr "資産グループ" +#: assets/models/group.py:34 assets/models/platform.py:20 +#: xpack/plugins/cloud/providers/nutanix.py:30 +msgid "Default" +msgstr "デフォルト" + #: assets/models/group.py:34 msgid "Default asset group" msgstr "デフォルトアセットグループ" -#: assets/models/label.py:19 assets/models/node.py:553 settings/models.py:34 +#: assets/models/label.py:14 rbac/const.py:6 users/models/user.py:912 +msgid "System" +msgstr "システム" + +#: assets/models/label.py:18 assets/models/node.py:553 +#: assets/serializers/cagegory.py:7 assets/serializers/cagegory.py:14 +#: common/drf/serializers/common.py:82 settings/models.py:34 msgid "Value" msgstr "値" -#: assets/models/label.py:40 settings/serializers/sms.py:7 +#: assets/models/label.py:36 assets/serializers/cagegory.py:6 +#: assets/serializers/cagegory.py:13 common/drf/serializers/common.py:81 +#: settings/serializers/sms.py:7 msgid "Label" msgstr "ラベル" @@ -978,7 +999,7 @@ msgstr "新しいノード" msgid "empty" msgstr "空" -#: assets/models/node.py:552 perms/models/asset_permission.py:101 +#: assets/models/node.py:552 perms/models/asset_permission.py:190 msgid "Key" msgstr "キー" @@ -986,12 +1007,12 @@ msgstr "キー" msgid "Full value" msgstr "フルバリュー" -#: assets/models/node.py:557 perms/models/asset_permission.py:102 +#: assets/models/node.py:557 perms/models/asset_permission.py:191 msgid "Parent key" msgstr "親キー" -#: assets/models/node.py:566 assets/serializers/system_user.py:267 -#: xpack/plugins/cloud/models.py:96 xpack/plugins/cloud/serializers/task.py:70 +#: assets/models/node.py:566 xpack/plugins/cloud/models.py:98 +#: xpack/plugins/cloud/serializers/task.py:68 msgid "Node" msgstr "ノード" @@ -999,82 +1020,123 @@ msgstr "ノード" msgid "Can match node" msgstr "ノードを一致させることができます" -#: assets/models/user.py:233 -msgid "Automatic managed" -msgstr "自動管理" +#: assets/models/platform.py:21 +#, fuzzy +#| msgid "MFA required" +msgid "Required" +msgstr "MFAが必要" -#: assets/models/user.py:234 -msgid "Manually input" -msgstr "手動入力" +#: assets/models/platform.py:24 users/templates/users/reset_password.html:29 +msgid "Setting" +msgstr "設定" -#: assets/models/user.py:238 -msgid "Common user" -msgstr "共通ユーザー" +#: assets/models/platform.py:43 audits/models.py:112 settings/models.py:37 +msgid "Enabled" +msgstr "有効化" -#: assets/models/user.py:241 -msgid "Username same with user" -msgstr "ユーザーと同じユーザー名" +#: assets/models/platform.py:44 +msgid "Ansible config" +msgstr "" -#: assets/models/user.py:244 assets/serializers/domain.py:30 -#: terminal/templates/terminal/_msg_command_execute_alert.html:16 -#: xpack/plugins/change_auth_plan/models/asset.py:39 -msgid "Assets" -msgstr "資産" +#: assets/models/platform.py:45 +#, fuzzy +#| msgid "MFA enabled" +msgid "Ping enabled" +msgstr "MFA有効化" -#: assets/models/user.py:248 users/apps.py:9 -msgid "Users" -msgstr "ユーザー" +#: assets/models/platform.py:46 +msgid "Ping method" +msgstr "" -#: assets/models/user.py:249 -msgid "User groups" -msgstr "ユーザーグループ" +#: assets/models/platform.py:47 assets/models/platform.py:55 +#, fuzzy +#| msgid "Gather assets users" +msgid "Gather facts enabled" +msgstr "資産ユーザーの収集" -#: assets/models/user.py:253 -msgid "Auto push" -msgstr "オートプッシュ" +#: assets/models/platform.py:48 assets/models/platform.py:56 +#, fuzzy +#| msgid "Gather assets users" +msgid "Gather facts method" +msgstr "資産ユーザーの収集" -#: assets/models/user.py:254 -msgid "Sudo" -msgstr "すど" +#: assets/models/platform.py:49 +#, fuzzy +#| msgid "Create account successfully" +msgid "Create account enabled" +msgstr "アカウントを正常に作成" -#: assets/models/user.py:255 -msgid "Shell" -msgstr "シェル" +#: assets/models/platform.py:50 +#, fuzzy +#| msgid "Create account successfully" +msgid "Create account method" +msgstr "アカウントを正常に作成" -#: assets/models/user.py:256 -msgid "Login mode" -msgstr "ログインモード" +#: assets/models/platform.py:51 +#, fuzzy +#| msgid "Change Password" +msgid "Change password enabled" +msgstr "パスワードの変更" -#: assets/models/user.py:257 -msgid "SFTP Root" -msgstr "SFTPルート" +#: assets/models/platform.py:52 +#, fuzzy +#| msgid "Change Password" +msgid "Change password method" +msgstr "パスワードの変更" -#: assets/models/user.py:258 assets/serializers/system_user.py:37 -#: authentication/models.py:52 -msgid "Token" -msgstr "トークン" +#: assets/models/platform.py:53 +#, fuzzy +#| msgid "Service account key" +msgid "Verify account enabled" +msgstr "サービスアカウントキー" -#: assets/models/user.py:259 -msgid "Home" -msgstr "ホーム" +#: assets/models/platform.py:54 +#, fuzzy +#| msgid "Verify auth" +msgid "Verify account method" +msgstr "パスワード/キーの確認" -#: assets/models/user.py:260 -msgid "System groups" -msgstr "システムグループ" +#: assets/models/platform.py:71 tickets/models/ticket/general.py:298 +msgid "Meta" +msgstr "メタ" -#: assets/models/user.py:263 -msgid "User switch" -msgstr "ユーザースイッチ" +#: assets/models/platform.py:72 +msgid "Internal" +msgstr "内部" -#: assets/models/user.py:264 -msgid "Switch from" -msgstr "から切り替え" +#: assets/models/platform.py:75 +msgid "Charset" +msgstr "シャーセット" -#: assets/models/user.py:344 -msgid "Can match system user" -msgstr "システムユーザーに一致できます" +#: assets/models/platform.py:76 +#, fuzzy +#| msgid "Domain name" +msgid "Domain enabled" +msgstr "ドメイン名" + +#: assets/models/platform.py:77 +#, fuzzy +#| msgid "Protocols" +msgid "Protocols enabled" +msgstr "プロトコル" + +#: assets/models/platform.py:79 +#, fuzzy +#| msgid "MFA enabled" +msgid "Su enabled" +msgstr "MFA有効化" + +#: assets/models/platform.py:80 +msgid "SU method" +msgstr "" -#: assets/models/utils.py:35 +#: assets/models/platform.py:82 assets/serializers/platform.py:78 +#, fuzzy +#| msgid "Automatic managed" +msgid "Automation" +msgstr "自動管理" + +#: assets/models/utils.py:19 #, python-format msgid "%(value)s is not an even number" msgstr "%(value)s は偶数ではありません" @@ -1101,98 +1163,153 @@ msgstr "" "されていません-個人情報にアクセスしてください-> ファイル暗号化パスワードを設" "定してください暗号化パスワード" -#: assets/serializers/account.py:36 assets/serializers/account.py:87 -#: assets/serializers/account_history.py:10 authentication/models.py:87 -msgid "System user display" -msgstr "システムユーザー表示" +#: assets/serializers/account/account.py:16 +msgid "Push now" +msgstr "" + +#: assets/serializers/account/account.py:24 +msgid "Account template not found" +msgstr "" + +#: assets/serializers/account/backup.py:27 ops/mixin.py:104 +#: settings/serializers/auth/ldap.py:65 +#: xpack/plugins/change_auth_plan/serializers/base.py:43 +msgid "Periodic perform" +msgstr "定期的なパフォーマンス" + +#: assets/serializers/account/backup.py:29 +#: xpack/plugins/change_auth_plan/serializers/base.py:46 +msgid "Currently only mail sending is supported" +msgstr "現在、メール送信のみがサポートされています" + +#: assets/serializers/account/base.py:39 assets/serializers/base.py:34 +msgid "private key invalid or passphrase error" +msgstr "秘密鍵が無効またはpassphraseエラー" + +#: assets/serializers/account/template.py:16 common/drf/fields.py:69 +#: tickets/serializers/ticket/common.py:58 +#: xpack/plugins/change_auth_plan/serializers/asset.py:64 +#: xpack/plugins/change_auth_plan/serializers/asset.py:67 +#: xpack/plugins/change_auth_plan/serializers/asset.py:70 +#: xpack/plugins/change_auth_plan/serializers/asset.py:101 +#: xpack/plugins/cloud/serializers/account_attrs.py:56 +msgid "This field is required." +msgstr "このフィールドは必須です。" + +#: assets/serializers/asset/common.py:69 assets/serializers/platform.py:77 +#: xpack/plugins/cloud/models.py:109 +msgid "Protocols" +msgstr "プロトコル" + +#: assets/serializers/asset/common.py:86 +msgid "Address" +msgstr "アドレス" -#: assets/serializers/asset.py:20 -msgid "Protocol format should {}/{}" -msgstr "プロトコル形式は {}/{}" +#: assets/serializers/asset/common.py:129 +#, fuzzy +#| msgid "Application not exists" +msgid "Platform not exist" +msgstr "アプリが存在しません" -#: assets/serializers/asset.py:37 -msgid "Protocol duplicate: {}" +#: assets/serializers/asset/common.py:145 +#, fuzzy +#| msgid "Protocol duplicate: {}" +msgid "Protocol is required: {}" msgstr "プロトコル重複: {}" -#: assets/serializers/asset.py:66 -msgid "Domain name" -msgstr "ドメイン名" +#: assets/serializers/asset/host.py:12 +msgid "Vendor" +msgstr "ベンダー" -#: assets/serializers/asset.py:68 -msgid "Nodes name" -msgstr "ノード名" +#: assets/serializers/asset/host.py:13 +msgid "Model" +msgstr "モデル" -#: assets/serializers/asset.py:71 -msgid "Labels name" -msgstr "ラベル名" +#: assets/serializers/asset/host.py:14 tickets/models/ticket/general.py:296 +msgid "Serial number" +msgstr "シリアル番号" -#: assets/serializers/asset.py:105 -msgid "Hardware info" -msgstr "ハードウェア情報" +#: assets/serializers/asset/host.py:16 +msgid "CPU model" +msgstr "CPU モデル" -#: assets/serializers/asset.py:106 -msgid "Admin user display" -msgstr "管理者ユーザー表示" +#: assets/serializers/asset/host.py:17 +msgid "CPU count" +msgstr "CPU カウント" -#: assets/serializers/asset.py:107 -msgid "CPU info" -msgstr "CPU情報" +#: assets/serializers/asset/host.py:18 +msgid "CPU cores" +msgstr "CPU カラー" -#: assets/serializers/backup.py:20 perms/models/base.py:87 -#: perms/serializers/application/permission.py:17 -#: perms/serializers/application/permission.py:42 -#: perms/serializers/asset/permission.py:18 -#: perms/serializers/asset/permission.py:46 -#: tickets/models/ticket/apply_application.py:27 -#: tickets/models/ticket/apply_asset.py:21 -msgid "Actions" -msgstr "アクション" +#: assets/serializers/asset/host.py:19 +msgid "CPU vcpus" +msgstr "CPU 合計" -#: assets/serializers/backup.py:31 ops/mixin.py:106 ops/mixin.py:147 -#: settings/serializers/auth/ldap.py:65 -#: xpack/plugins/change_auth_plan/serializers/base.py:43 -msgid "Periodic perform" -msgstr "定期的なパフォーマンス" +#: assets/serializers/asset/host.py:20 +msgid "Memory" +msgstr "メモリ" -#: assets/serializers/backup.py:33 -#: xpack/plugins/change_auth_plan/serializers/base.py:46 -msgid "Currently only mail sending is supported" -msgstr "現在、メール送信のみがサポートされています" +#: assets/serializers/asset/host.py:21 +msgid "Disk total" +msgstr "ディスクの合計" -#: assets/serializers/base.py:16 users/models/user.py:693 -msgid "Private key" -msgstr "ssh秘密鍵" +#: assets/serializers/asset/host.py:22 +msgid "Disk info" +msgstr "ディスク情報" + +#: assets/serializers/asset/host.py:24 +msgid "OS" +msgstr "OS" + +#: assets/serializers/asset/host.py:25 +msgid "OS version" +msgstr "システムバージョン" + +#: assets/serializers/asset/host.py:26 +msgid "OS arch" +msgstr "システムアーキテクチャ" + +#: assets/serializers/asset/host.py:27 +msgid "Hostname raw" +msgstr "ホスト名生" + +#: assets/serializers/asset/host.py:28 +msgid "Asset number" +msgstr "資産番号" -#: assets/serializers/base.py:45 +#: assets/serializers/base.py:24 msgid "Key password" msgstr "キーパスワード" -#: assets/serializers/base.py:58 -msgid "private key invalid or passphrase error" -msgstr "秘密鍵が無効またはpassphraseエラー" - -#: assets/serializers/cmd_filter.py:35 assets/serializers/cmd_filter.py:50 -msgid "Action display" -msgstr "アクション表示" +#: assets/serializers/cagegory.py:9 +msgid "Constraints" +msgstr "" -#: assets/serializers/cmd_filter.py:51 ops/models/adhoc.py:155 -msgid "Pattern" -msgstr "パターン" +#: assets/serializers/cagegory.py:15 +#, fuzzy +#| msgid "Type" +msgid "Types" +msgstr "タイプ" #: assets/serializers/domain.py:14 assets/serializers/label.py:12 -#: assets/serializers/system_user.py:63 -#: perms/serializers/asset/permission.py:49 +#: perms/serializers/permission.py:83 msgid "Assets amount" msgstr "資産額" #: assets/serializers/domain.py:15 -msgid "Applications amount" -msgstr "申し込み金額" - -#: assets/serializers/domain.py:16 msgid "Gateways count" msgstr "ゲートウェイ数" +#: assets/serializers/label.py:13 assets/serializers/mixin.py:7 +msgid "Category display" +msgstr "カテゴリ表示" + +#: assets/serializers/mixin.py:10 audits/serializers.py:27 +#: authentication/serializers/connection_token.py:20 +#: tickets/serializers/flow.py:49 tickets/serializers/ticket/ticket.py:17 +msgid "Type display" +msgstr "タイプ表示" + #: assets/serializers/node.py:17 msgid "value" msgstr "値" @@ -1205,80 +1322,43 @@ msgstr "含まれない:/" msgid "The same level node name cannot be the same" msgstr "同じレベルのノード名を同じにすることはできません。" -#: assets/serializers/system_user.py:35 -msgid "SSH key fingerprint" -msgstr "SSHキー指紋" - -#: assets/serializers/system_user.py:40 -#: perms/serializers/application/permission.py:46 -msgid "Apps amount" -msgstr "アプリの量" - -#: assets/serializers/system_user.py:62 -#: perms/serializers/asset/permission.py:50 -msgid "Nodes amount" -msgstr "ノード量" - -#: assets/serializers/system_user.py:64 assets/serializers/system_user.py:269 -msgid "Login mode display" -msgstr "ログインモード表示" - -#: assets/serializers/system_user.py:66 -msgid "Ad domain" -msgstr "広告ドメイン" - -#: assets/serializers/system_user.py:67 -msgid "Is asset protocol" -msgstr "資産プロトコルです" - -#: assets/serializers/system_user.py:68 -msgid "Only ssh and automatic login system users are supported" -msgstr "sshと自動ログインシステムのユーザーのみがサポートされています" - -#: assets/serializers/system_user.py:108 -msgid "Username same with user with protocol {} only allow 1" -msgstr "プロトコル {} のユーザーと同じユーザー名は1のみ許可します" - -#: assets/serializers/system_user.py:121 common/validators.py:14 -msgid "Special char not allowed" -msgstr "特別なcharは許可されていません" - -#: assets/serializers/system_user.py:131 -msgid "* Automatic login mode must fill in the username." -msgstr "* 自動ログインモードはユーザー名を入力する必要があります。" - -#: assets/serializers/system_user.py:146 -msgid "Path should starts with /" -msgstr "パスは/で始まる必要があります" - -#: assets/serializers/system_user.py:158 -msgid "Password or private key required" -msgstr "パスワードまたは秘密鍵が必要" +#: assets/serializers/platform.py:24 +#, fuzzy +#| msgid "MFA enabled" +msgid "SFTP enabled" +msgstr "MFA有効化" -#: assets/serializers/system_user.py:172 -msgid "Only ssh protocol system users are allowed" -msgstr "Sshプロトコルシステムユーザーのみが許可されています" +#: assets/serializers/platform.py:25 +#, fuzzy +#| msgid "SFTP Root" +msgid "SFTP home" +msgstr "SFTPルート" -#: assets/serializers/system_user.py:176 -msgid "The protocol must be consistent with the current user: {}" -msgstr "プロトコルは現在のユーザーと一致している必要があります: {}" +#: assets/serializers/platform.py:28 +#, fuzzy +#| msgid "Auto" +msgid "Auto fill" +msgstr "自動" -#: assets/serializers/system_user.py:180 -msgid "Only system users with automatic login are allowed" -msgstr "自動ログインを持つシステムユーザーのみが許可されます" +#: assets/serializers/platform.py:29 +#, fuzzy +#| msgid "Username attr" +msgid "Username selector" +msgstr "ユーザー名のプロパティ" -#: assets/serializers/system_user.py:288 -msgid "System user name" -msgstr "システムユーザー名" +#: assets/serializers/platform.py:30 +#, fuzzy +#| msgid "Password rules" +msgid "Password selector" +msgstr "パスワードルール" -#: assets/serializers/system_user.py:289 orgs/mixins/serializers.py:26 -#: rbac/serializers/rolebinding.py:23 -msgid "Org name" -msgstr "組織名" +#: assets/serializers/platform.py:31 +msgid "Submit selector" +msgstr "" -#: assets/serializers/system_user.py:298 -msgid "Asset hostname" -msgstr "資産ホスト名" +#: assets/serializers/platform.py:64 +msgid "Primary" +msgstr "" #: assets/serializers/utils.py:11 msgid "Password can not contains `{{` " @@ -1298,7 +1378,7 @@ msgstr "" "資産 {} システムプラットフォーム {} はAnsibleタスクの実行をサポートしていませ" "ん。" -#: assets/tasks/account_connectivity.py:107 +#: assets/tasks/account_connectivity.py:108 msgid "Test account connectivity: " msgstr "テストアカウント接続:" @@ -1306,11 +1386,11 @@ msgstr "テストアカウント接続:" msgid "Test assets connectivity. " msgstr "資産の接続性をテストします。" -#: assets/tasks/asset_connectivity.py:91 assets/tasks/asset_connectivity.py:102 +#: assets/tasks/asset_connectivity.py:94 assets/tasks/asset_connectivity.py:107 msgid "Test assets connectivity: " msgstr "資産の接続性のテスト:" -#: assets/tasks/asset_connectivity.py:113 +#: assets/tasks/asset_connectivity.py:121 msgid "Test if the assets under the node are connectable: " msgstr "ノードの下のアセットが接続可能かどうかをテストします。" @@ -1330,67 +1410,29 @@ msgstr "資産情報の取得に失敗しました: {}" msgid "Update some assets hardware info. " msgstr "一部の資産ハードウェア情報を更新します。" -#: assets/tasks/gather_asset_hardware_info.py:114 +#: assets/tasks/gather_asset_hardware_info.py:118 msgid "Update asset hardware info: " msgstr "資産ハードウェア情報の更新:" -#: assets/tasks/gather_asset_hardware_info.py:120 +#: assets/tasks/gather_asset_hardware_info.py:124 msgid "Update assets hardware info: " msgstr "資産のハードウェア情報を更新する:" -#: assets/tasks/gather_asset_hardware_info.py:137 +#: assets/tasks/gather_asset_hardware_info.py:146 msgid "Update node asset hardware information: " msgstr "ノード資産のハードウェア情報を更新します。" -#: assets/tasks/gather_asset_users.py:111 +#: assets/tasks/gather_asset_users.py:110 msgid "Gather assets users" msgstr "資産ユーザーの収集" -#: assets/tasks/nodes_amount.py:27 +#: assets/tasks/nodes_amount.py:29 msgid "" "The task of self-checking is already running and cannot be started repeatedly" msgstr "" "セルフチェックのタスクはすでに実行されており、繰り返し開始することはできませ" "ん" -#: assets/tasks/push_system_user.py:201 -msgid "System user is dynamic: {}" -msgstr "システムユーザーは動的です: {}" - -#: assets/tasks/push_system_user.py:242 -msgid "Start push system user for platform: [{}]" -msgstr "プラットフォームのプッシュシステムユーザーを開始: [{}]" - -#: assets/tasks/push_system_user.py:243 -#: assets/tasks/system_user_connectivity.py:106 -msgid "Hosts count: {}" -msgstr "ホスト数: {}" - -#: assets/tasks/push_system_user.py:264 assets/tasks/push_system_user.py:297 -msgid "Push system users to assets: " -msgstr "システムユーザーを資産にプッシュする:" - -#: assets/tasks/push_system_user.py:276 -msgid "Push system users to asset: " -msgstr "システムユーザーをアセットにプッシュする:" - -#: assets/tasks/system_user_connectivity.py:56 -msgid "Dynamic system user not support test" -msgstr "動的システムユーザーがテストをサポートしていない" - -#: assets/tasks/system_user_connectivity.py:105 -msgid "Start test system user connectivity for platform: [{}]" -msgstr "プラットフォームのテストシステムのユーザー接続を開始: [{}]" - -#: assets/tasks/system_user_connectivity.py:118 -#: assets/tasks/system_user_connectivity.py:129 -msgid "Test system user connectivity: " -msgstr "テストシステムユーザー接続:" - -#: assets/tasks/system_user_connectivity.py:148 -msgid "Test system user connectivity period: " -msgstr "テストシステムユーザー接続期间:" - #: assets/tasks/utils.py:17 msgid "Asset has been disabled, skipped: {}" msgstr "資産が無効化されました。スキップ: {}" @@ -1442,7 +1484,7 @@ msgid "Symlink" msgstr "Symlink" #: audits/models.py:38 audits/models.py:66 audits/models.py:89 -#: terminal/models/session.py:51 terminal/models/sharing.py:96 +#: terminal/models/session.py:37 terminal/models/sharing.py:96 msgid "Remote addr" msgstr "リモートaddr" @@ -1455,9 +1497,8 @@ msgid "Filename" msgstr "ファイル名" #: audits/models.py:43 audits/models.py:117 terminal/models/sharing.py:104 -#: tickets/views/approve.py:115 -#: xpack/plugins/change_auth_plan/serializers/app.py:87 -#: xpack/plugins/change_auth_plan/serializers/asset.py:198 +#: tickets/views/approve.py:114 +#: xpack/plugins/change_auth_plan/serializers/asset.py:189 msgid "Success" msgstr "成功" @@ -1480,7 +1521,7 @@ msgstr "表示" msgid "Update" msgstr "更新" -#: audits/models.py:64 audits/serializers.py:63 +#: audits/models.py:64 audits/serializers.py:61 msgid "Resource Type" msgstr "リソースタイプ" @@ -1509,10 +1550,6 @@ msgstr "パスワード変更ログ" msgid "Disabled" msgstr "無効" -#: audits/models.py:112 settings/models.py:37 -msgid "Enabled" -msgstr "有効化" - #: audits/models.py:113 msgid "-" msgstr "-" @@ -1531,7 +1568,7 @@ msgstr "ログインIP" msgid "Login city" msgstr "ログイン都市" -#: audits/models.py:125 audits/serializers.py:44 +#: audits/models.py:125 audits/serializers.py:42 msgid "User agent" msgstr "ユーザーエージェント" @@ -1542,9 +1579,9 @@ msgstr "ユーザーエージェント" msgid "MFA" msgstr "MFA" -#: audits/models.py:128 terminal/models/status.py:33 -#: tickets/models/ticket/general.py:281 xpack/plugins/cloud/models.py:175 -#: xpack/plugins/cloud/models.py:227 +#: audits/models.py:128 ops/models/base.py:48 terminal/models/status.py:33 +#: tickets/models/ticket/general.py:281 xpack/plugins/cloud/models.py:171 +#: xpack/plugins/cloud/models.py:223 msgid "Status" msgstr "ステータス" @@ -1552,7 +1589,7 @@ msgstr "ステータス" msgid "Date login" msgstr "日付ログイン" -#: audits/models.py:130 audits/serializers.py:46 +#: audits/models.py:130 audits/serializers.py:44 msgid "Authentication backend" msgstr "認証バックエンド" @@ -1560,47 +1597,21 @@ msgstr "認証バックエンド" msgid "User login log" msgstr "ユーザーログインログ" -#: audits/serializers.py:14 +#: audits/serializers.py:12 msgid "Operate display" -msgstr "ディスプレイを操作する" - -#: audits/serializers.py:30 tickets/serializers/ticket/ticket.py:18 -msgid "Status display" -msgstr "ステータス表示" - -#: audits/serializers.py:31 -msgid "MFA display" -msgstr "MFAディスプレイ" - -#: audits/serializers.py:45 -msgid "Reason display" -msgstr "理由表示" - -#: audits/serializers.py:84 -msgid "Hosts display" -msgstr "ホスト表示" - -#: audits/serializers.py:96 ops/models/command.py:27 -#: xpack/plugins/cloud/models.py:173 -msgid "Result" -msgstr "結果" - -#: audits/serializers.py:98 terminal/serializers/storage.py:157 -msgid "Hosts" -msgstr "ホスト" +msgstr "ディスプレイを操作する" -#: audits/serializers.py:99 -msgid "Run as" -msgstr "として実行" +#: audits/serializers.py:28 tickets/serializers/ticket/ticket.py:18 +msgid "Status display" +msgstr "ステータス表示" -#: audits/serializers.py:101 -msgid "Run as display" -msgstr "ディスプレイとして実行する" +#: audits/serializers.py:29 +msgid "MFA display" +msgstr "MFAディスプレイ" -#: audits/serializers.py:102 authentication/models.py:81 -#: rbac/serializers/rolebinding.py:21 -msgid "User display" -msgstr "ユーザー表示" +#: audits/serializers.py:43 +msgid "Reason display" +msgstr "理由表示" #: audits/signal_handlers.py:49 msgid "SSH Key" @@ -1632,7 +1643,7 @@ msgstr "本を飛ばす" msgid "DingTalk" msgstr "DingTalk" -#: audits/signal_handlers.py:56 authentication/models.py:267 +#: audits/signal_handlers.py:56 authentication/models.py:255 msgid "Temporary token" msgstr "仮パスワード" @@ -1651,159 +1662,75 @@ msgid "{User} LEFT {UserGroup}" msgstr "{User} のそばを通る {UserGroup}" #: audits/signal_handlers.py:73 -msgid "Asset and SystemUser" -msgstr "資産およびシステム・ユーザー" - -#: audits/signal_handlers.py:74 -#, python-brace-format -msgid "{Asset} ADD {SystemUser}" -msgstr "{Asset} 追加 {SystemUser}" - -#: audits/signal_handlers.py:75 -#, python-brace-format -msgid "{Asset} REMOVE {SystemUser}" -msgstr "{Asset} 削除 {SystemUser}" - -#: audits/signal_handlers.py:78 msgid "Node and Asset" msgstr "ノードと資産" -#: audits/signal_handlers.py:79 +#: audits/signal_handlers.py:74 #, python-brace-format msgid "{Node} ADD {Asset}" msgstr "{Node} 追加 {Asset}" -#: audits/signal_handlers.py:80 +#: audits/signal_handlers.py:75 #, python-brace-format msgid "{Node} REMOVE {Asset}" msgstr "{Node} 削除 {Asset}" -#: audits/signal_handlers.py:83 +#: audits/signal_handlers.py:78 msgid "User asset permissions" msgstr "ユーザー資産の権限" -#: audits/signal_handlers.py:84 +#: audits/signal_handlers.py:79 #, python-brace-format msgid "{AssetPermission} ADD {User}" msgstr "{AssetPermission} 追加 {User}" -#: audits/signal_handlers.py:85 +#: audits/signal_handlers.py:80 #, python-brace-format msgid "{AssetPermission} REMOVE {User}" msgstr "{AssetPermission} 削除 {User}" -#: audits/signal_handlers.py:88 +#: audits/signal_handlers.py:83 msgid "User group asset permissions" msgstr "ユーザーグループの資産権限" -#: audits/signal_handlers.py:89 +#: audits/signal_handlers.py:84 #, python-brace-format msgid "{AssetPermission} ADD {UserGroup}" msgstr "{AssetPermission} 追加 {UserGroup}" -#: audits/signal_handlers.py:90 +#: audits/signal_handlers.py:85 #, python-brace-format msgid "{AssetPermission} REMOVE {UserGroup}" msgstr "{AssetPermission} 削除 {UserGroup}" -#: audits/signal_handlers.py:93 perms/models/asset_permission.py:29 +#: audits/signal_handlers.py:88 perms/models/asset_permission.py:90 msgid "Asset permission" msgstr "資産権限" -#: audits/signal_handlers.py:94 +#: audits/signal_handlers.py:89 #, python-brace-format msgid "{AssetPermission} ADD {Asset}" msgstr "{AssetPermission} 追加 {Asset}" -#: audits/signal_handlers.py:95 +#: audits/signal_handlers.py:90 #, python-brace-format msgid "{AssetPermission} REMOVE {Asset}" msgstr "{AssetPermission} 削除 {Asset}" -#: audits/signal_handlers.py:98 +#: audits/signal_handlers.py:93 msgid "Node permission" msgstr "ノード権限" -#: audits/signal_handlers.py:99 +#: audits/signal_handlers.py:94 #, python-brace-format msgid "{AssetPermission} ADD {Node}" msgstr "{AssetPermission} 追加 {Node}" -#: audits/signal_handlers.py:100 +#: audits/signal_handlers.py:95 #, python-brace-format msgid "{AssetPermission} REMOVE {Node}" msgstr "{AssetPermission} 削除 {Node}" -#: audits/signal_handlers.py:103 -msgid "Asset permission and SystemUser" -msgstr "資産権限とSystemUser" - -#: audits/signal_handlers.py:104 -#, python-brace-format -msgid "{AssetPermission} ADD {SystemUser}" -msgstr "{AssetPermission} 追加 {SystemUser}" - -#: audits/signal_handlers.py:105 -#, python-brace-format -msgid "{AssetPermission} REMOVE {SystemUser}" -msgstr "{AssetPermission} 削除 {SystemUser}" - -#: audits/signal_handlers.py:108 -msgid "User application permissions" -msgstr "ユーザーアプリケーションの権限" - -#: audits/signal_handlers.py:109 -#, python-brace-format -msgid "{ApplicationPermission} ADD {User}" -msgstr "{ApplicationPermission} 追加 {User}" - -#: audits/signal_handlers.py:110 -#, python-brace-format -msgid "{ApplicationPermission} REMOVE {User}" -msgstr "{ApplicationPermission} 削除 {User}" - -#: audits/signal_handlers.py:113 -msgid "User group application permissions" -msgstr "ユーザーグループアプリケーションの権限" - -#: audits/signal_handlers.py:114 -#, python-brace-format -msgid "{ApplicationPermission} ADD {UserGroup}" -msgstr "{ApplicationPermission} 追加 {UserGroup}" - -#: audits/signal_handlers.py:115 -#, python-brace-format -msgid "{ApplicationPermission} REMOVE {UserGroup}" -msgstr "{ApplicationPermission} 削除 {UserGroup}" - -#: audits/signal_handlers.py:118 perms/models/application_permission.py:38 -msgid "Application permission" -msgstr "申請許可" - -#: audits/signal_handlers.py:119 -#, python-brace-format -msgid "{ApplicationPermission} ADD {Application}" -msgstr "{ApplicationPermission} 追加 {Application}" - -#: audits/signal_handlers.py:120 -#, python-brace-format -msgid "{ApplicationPermission} REMOVE {Application}" -msgstr "{ApplicationPermission} 削除 {Application}" - -#: audits/signal_handlers.py:123 -msgid "Application permission and SystemUser" -msgstr "アプリケーション権限とSystemUser" - -#: audits/signal_handlers.py:124 -#, python-brace-format -msgid "{ApplicationPermission} ADD {SystemUser}" -msgstr "{ApplicationPermission} 追加 {SystemUser}" - -#: audits/signal_handlers.py:125 -#, python-brace-format -msgid "{ApplicationPermission} REMOVE {SystemUser}" -msgstr "{ApplicationPermission} 削除 {SystemUser}" - #: authentication/api/confirm.py:40 msgid "This action require verify your MFA" msgstr "この操作には、MFAを検証する必要があります" @@ -1869,7 +1796,7 @@ msgstr "" msgid "Invalid token or cache refreshed." msgstr "無効なトークンまたはキャッシュの更新。" -#: authentication/backends/oauth2/backends.py:155 authentication/models.py:158 +#: authentication/backends/oauth2/backends.py:155 authentication/models.py:146 msgid "User invalid, disabled or expired" msgstr "ユーザーが無効、無効、または期限切れです" @@ -1953,9 +1880,13 @@ msgstr "" "にもう一度お試しください)" #: authentication/errors/const.py:51 +#, fuzzy +#| msgid "" +#| "The ip has been locked (please contact admin to unlock it or try again " +#| "after {} minutes)" msgid "" -"The ip has been locked (please contact admin to unlock it or try again after " -"{} minutes)" +"The address has been locked (please contact admin to unlock it or try again " +"after {} minutes)" msgstr "" "IPがロックされています (管理者に連絡してロックを解除するか、 {} 分後にもう一" "度お試しください)" @@ -2128,87 +2059,82 @@ msgstr "MFAタイプ ({}) が有効になっていない" msgid "Please change your password" msgstr "パスワードを変更してください" -#: authentication/models.py:37 -msgid "Access key" -msgstr "アクセスキー" - -#: authentication/models.py:44 +#: authentication/models.py:45 msgid "Private Token" msgstr "プライベートトークン" -#: authentication/models.py:53 +#: authentication/models.py:54 msgid "Expired" msgstr "期限切れ" -#: authentication/models.py:57 +#: authentication/models.py:58 msgid "SSO token" msgstr "SSO token" -#: authentication/models.py:72 authentication/models.py:261 -#: authentication/templates/authentication/_access_key_modal.html:31 -#: settings/serializers/auth/radius.py:17 -msgid "Secret" -msgstr "ひみつ" - -#: authentication/models.py:74 authentication/models.py:264 -#: perms/models/base.py:90 tickets/models/ticket/apply_application.py:30 -#: tickets/models/ticket/apply_asset.py:24 users/models/user.py:707 +#: authentication/models.py:75 authentication/models.py:252 +#: perms/models/asset_permission.py:79 +#: tickets/models/ticket/apply_application.py:29 +#: tickets/models/ticket/apply_asset.py:22 users/models/user.py:707 msgid "Date expired" msgstr "期限切れの日付" -#: authentication/models.py:93 +#: authentication/models.py:82 rbac/serializers/rolebinding.py:21 +msgid "User display" +msgstr "ユーザー表示" + +#: authentication/models.py:87 msgid "Asset display" msgstr "アセット名" -#: authentication/models.py:104 +#: authentication/models.py:92 msgid "Connection token" msgstr "接続トークン" -#: authentication/models.py:106 +#: authentication/models.py:94 msgid "Can view connection token secret" msgstr "接続トークンの秘密を表示できます" -#: authentication/models.py:149 +#: authentication/models.py:137 msgid "Connection token expired at: {}" msgstr "接続トークンの有効期限: {}" -#: authentication/models.py:154 +#: authentication/models.py:142 msgid "User not exists" msgstr "ユーザーは存在しません" -#: authentication/models.py:163 +#: authentication/models.py:151 msgid "System user not exists" msgstr "システムユーザーが存在しません" -#: authentication/models.py:169 +#: authentication/models.py:157 msgid "Asset not exists" msgstr "アセットが存在しません" -#: authentication/models.py:173 +#: authentication/models.py:161 msgid "Asset inactive" msgstr "アセットがアクティブ化されていません" -#: authentication/models.py:180 +#: authentication/models.py:168 msgid "User has no permission to access asset or permission expired" msgstr "" "ユーザーがアセットにアクセスする権限を持っていないか、権限の有効期限が切れて" "います" -#: authentication/models.py:188 +#: authentication/models.py:176 msgid "Application not exists" msgstr "アプリが存在しません" -#: authentication/models.py:195 +#: authentication/models.py:183 msgid "User has no permission to access application or permission expired" msgstr "" "ユーザーがアプリにアクセスする権限を持っていないか、権限の有効期限が切れてい" "ます" -#: authentication/models.py:262 +#: authentication/models.py:250 msgid "Verified" msgstr "確認済み" -#: authentication/models.py:283 +#: authentication/models.py:271 msgid "Super connection token" msgstr "スーパー接続トークン" @@ -2220,24 +2146,21 @@ msgstr "異なる都市ログインのリマインダー" msgid "binding reminder" msgstr "バインディングリマインダー" -#: authentication/serializers/connection_token.py:23 -#: xpack/plugins/cloud/models.py:34 +#: authentication/serializers/connection_token.py:21 +#: xpack/plugins/cloud/models.py:36 msgid "Validity" msgstr "有効性" -#: authentication/serializers/connection_token.py:24 +#: authentication/serializers/connection_token.py:22 msgid "Expired time" msgstr "期限切れ時間" -#: authentication/serializers/connection_token.py:73 +#: authentication/serializers/connection_token.py:68 msgid "Asset or application required" msgstr "アセットまたはアプリが必要" -#: authentication/serializers/token.py:79 -#: perms/serializers/application/permission.py:20 -#: perms/serializers/application/permission.py:41 -#: perms/serializers/asset/permission.py:19 -#: perms/serializers/asset/permission.py:45 users/serializers/user.py:148 +#: authentication/serializers/token.py:79 perms/serializers/permission.py:60 +#: perms/serializers/permission.py:87 users/serializers/user.py:148 msgid "Is valid" msgstr "有効です" @@ -2287,7 +2210,7 @@ msgstr "削除成功" #: authentication/templates/authentication/_access_key_modal.html:155 #: authentication/templates/authentication/_mfa_confirm_modal.html:53 -#: templates/_modal.html:22 tickets/const.py:45 +#: templates/_modal.html:22 tickets/const.py:44 msgid "Close" msgstr "閉じる" @@ -2324,7 +2247,7 @@ msgstr "コードエラー" #: authentication/templates/authentication/_msg_reset_password.html:3 #: authentication/templates/authentication/_msg_rest_password_success.html:2 #: authentication/templates/authentication/_msg_rest_public_key_success.html:2 -#: jumpserver/conf.py:390 ops/tasks.py:145 ops/tasks.py:148 +#: jumpserver/conf.py:390 ops/tasks.py:146 ops/tasks.py:152 ops/tasks.py:155 #: perms/templates/perms/_msg_item_permissions_expire.html:3 #: perms/templates/perms/_msg_permed_items_expire.html:3 #: tickets/templates/tickets/approve_check_password.html:33 @@ -2416,7 +2339,7 @@ msgstr "" "能性があります" #: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 -#: templates/flash_message_standalone.html:28 tickets/const.py:20 +#: templates/flash_message_standalone.html:28 tickets/const.py:19 msgid "Cancel" msgstr "キャンセル" @@ -2617,6 +2540,14 @@ msgstr "%(name)s が正常に作成されました" msgid "%(name)s was updated successfully" msgstr "%(name)s は正常に更新されました" +#: common/const/choices.py:10 +msgid "Manual trigger" +msgstr "手動トリガー" + +#: common/const/choices.py:11 +msgid "Timing trigger" +msgstr "タイミングトリガー" + #: common/db/encoder.py:11 msgid "ugettext_lazy" msgstr "ugettext_lazy" @@ -2649,7 +2580,7 @@ msgstr "テキストフィールドへのマーシャルデータ" msgid "Encrypt field using Secret Key" msgstr "Secret Keyを使用したフィールドの暗号化" -#: common/db/models.py:113 +#: common/db/models.py:75 msgid "Updated by" msgstr "によって更新" @@ -2657,6 +2588,17 @@ msgstr "によって更新" msgid "Object" msgstr "オブジェクト" +#: common/drf/fields.py:70 +#, fuzzy, python-brace-format +#| msgid "%s object does not exist." +msgid "Invalid pk \"{pk_value}\" - object does not exist." +msgstr "%s オブジェクトは存在しません。" + +#: common/drf/fields.py:71 +#, python-brace-format +msgid "Incorrect type. Expected pk value, received {data_type}." +msgstr "" + #: common/drf/parsers/base.py:17 msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "ファイルの内容がオーバーフローしました (最大長 '{}' バイト)" @@ -2665,6 +2607,10 @@ msgstr "ファイルの内容がオーバーフローしました (最大長 '{} msgid "Parse file error: {}" msgstr "解析ファイルエラー: {}" +#: common/drf/serializers/common.py:86 +msgid "Children" +msgstr "" + #: common/exceptions.py:15 #, python-format msgid "%s object does not exist." @@ -2771,10 +2717,20 @@ msgstr "確認コードが正しくありません" msgid "Please wait {} seconds before sending" msgstr "{} 秒待ってから送信してください" -#: common/utils/ip/geoip/utils.py:26 common/utils/ip/utils.py:78 +#: common/utils/ip/geoip/utils.py:26 msgid "Invalid ip" msgstr "無効なIP" +#: common/utils/ip/utils.py:78 +#, fuzzy +#| msgid "Invalid signature." +msgid "Invalid address" +msgstr "署名が無効です。" + +#: common/validators.py:14 +msgid "Special char not allowed" +msgstr "特別なcharは許可されていません" + #: common/validators.py:32 msgid "This field must be unique." msgstr "このフィールドは一意である必要があります。" @@ -2844,148 +2800,173 @@ msgstr "メール" msgid "Site message" msgstr "サイトメッセージ" +#: ops/ansible/inventory.py:76 +#, fuzzy +#| msgid "Account unavailable" +msgid "No account available" +msgstr "利用できないアカウント" + +#: ops/ansible/inventory.py:171 +#, fuzzy +#| msgid "User disabled." +msgid "Ansible disabled" +msgstr "ユーザーが無効になりました。" + +#: ops/ansible/inventory.py:186 +msgid "Skip hosts below:" +msgstr "" + #: ops/api/celery.py:61 ops/api/celery.py:76 msgid "Waiting task start" msgstr "タスク開始待ち" -#: ops/api/command.py:56 -msgid "Not has host {} permission" -msgstr "ホスト {} 権限がありません" - #: ops/apps.py:9 ops/notifications.py:16 msgid "App ops" msgstr "アプリ操作" -#: ops/mixin.py:29 ops/mixin.py:92 ops/mixin.py:162 -#: settings/serializers/auth/ldap.py:72 +#: ops/const.py:6 +msgid "Push" +msgstr "" + +#: ops/const.py:7 +#, fuzzy +#| msgid "Verified" +msgid "Verify" +msgstr "確認済み" + +#: ops/const.py:8 +msgid "Collect" +msgstr "" + +#: ops/const.py:9 +#, fuzzy +#| msgid "Change Password" +msgid "Change password" +msgstr "パスワードの変更" + +#: ops/const.py:19 xpack/plugins/change_auth_plan/models/base.py:27 +msgid "Custom password" +msgstr "カスタムパスワード" + +#: ops/mixin.py:27 ops/mixin.py:90 settings/serializers/auth/ldap.py:72 msgid "Cycle perform" msgstr "サイクル実行" -#: ops/mixin.py:33 ops/mixin.py:90 ops/mixin.py:109 ops/mixin.py:150 +#: ops/mixin.py:31 ops/mixin.py:88 ops/mixin.py:107 #: settings/serializers/auth/ldap.py:69 msgid "Regularly perform" msgstr "定期的に実行する" -#: ops/mixin.py:112 +#: ops/mixin.py:110 msgid "Interval" msgstr "間隔" -#: ops/mixin.py:122 +#: ops/mixin.py:120 msgid "* Please enter a valid crontab expression" msgstr "* 有効なcrontab式を入力してください" -#: ops/mixin.py:129 +#: ops/mixin.py:127 msgid "Range {} to {}" msgstr "{} から {} までの範囲" -#: ops/mixin.py:140 +#: ops/mixin.py:138 msgid "Require periodic or regularly perform setting" msgstr "定期的または定期的に設定を行う必要があります" -#: ops/mixin.py:151 -msgid "" -"eg: Every Sunday 03:05 run <5 3 * * 0>
Tips: Using 5 digits linux " -"crontab expressions (Online tools)
Note: If both Regularly " -"perform and Cycle perform are set, give priority to Regularly perform" -msgstr "" -"eg:毎週日03:05<5 3**0>
ヒント:5ビットLinux crontab式<分時日月曜日>(オンラインワーク)
注" -"意:定期実行と周期実行を同時に設定した場合は、定期実行を優先します。" - -#: ops/mixin.py:162 -msgid "Unit: hour" -msgstr "単位: 時間" - -#: ops/models/adhoc.py:36 -msgid "Callback" -msgstr "コールバック" - -#: ops/models/adhoc.py:135 terminal/models/task.py:26 -#: xpack/plugins/gathered_user/models.py:73 -msgid "Task" -msgstr "タスク" +#: ops/models/adhoc.py:18 +msgid "Pattern" +msgstr "パターン" -#: ops/models/adhoc.py:138 -msgid "Can view task monitor" -msgstr "タスクモニターを表示できます" +#: ops/models/adhoc.py:19 +msgid "Module" +msgstr "" -#: ops/models/adhoc.py:154 -msgid "Tasks" -msgstr "タスク" +#: ops/models/adhoc.py:20 ops/models/celery.py:15 terminal/models/task.py:17 +msgid "Args" +msgstr "アルグ" -#: ops/models/adhoc.py:156 -msgid "Options" -msgstr "オプション" +#: ops/models/adhoc.py:21 ops/models/base.py:20 ops/models/playbook.py:27 +#, fuzzy +#| msgid "Command execution" +msgid "Last execution" +msgstr "コマンド実行" -#: ops/models/adhoc.py:158 -msgid "Run as admin" -msgstr "再実行" +#: ops/models/adhoc.py:36 +msgid "Adhoc" +msgstr "" -#: ops/models/adhoc.py:161 -msgid "Become" -msgstr "になる" +#: ops/models/adhoc.py:54 +msgid "AdHoc execution" +msgstr "アドホックエキューション" -#: ops/models/adhoc.py:162 -msgid "Create by" -msgstr "による作成" +#: ops/models/base.py:16 ops/models/base.py:52 terminal/models/sharing.py:24 +msgid "Creator" +msgstr "作成者" -#: ops/models/adhoc.py:243 -msgid "AdHoc" -msgstr "タスクの各バージョン" +#: ops/models/base.py:19 +#, fuzzy +#| msgid "Account key" +msgid "Account policy" +msgstr "アカウントキー" -#: ops/models/adhoc.py:252 -msgid "Task display" -msgstr "タスク表示" +#: ops/models/base.py:21 +#, fuzzy +#| msgid "Date last sync" +msgid "Date last run" +msgstr "最終同期日" -#: ops/models/adhoc.py:254 -msgid "Host amount" -msgstr "ホスト量" +#: ops/models/base.py:50 xpack/plugins/cloud/models.py:169 +msgid "Result" +msgstr "結果" -#: ops/models/adhoc.py:256 -msgid "Start time" -msgstr "開始時間" +#: ops/models/base.py:51 +msgid "Summary" +msgstr "" -#: ops/models/adhoc.py:257 -msgid "End time" -msgstr "終了時間" +#: ops/models/celery.py:16 terminal/models/task.py:18 +msgid "Kwargs" +msgstr "クワーグ" -#: ops/models/adhoc.py:259 ops/models/command.py:29 -#: terminal/serializers/session.py:40 -msgid "Is finished" -msgstr "終了しました" +#: ops/models/celery.py:17 tickets/models/comment.py:13 +#: tickets/models/ticket/general.py:41 tickets/models/ticket/general.py:277 +msgid "State" +msgstr "状態" -#: ops/models/adhoc.py:261 -msgid "Adhoc raw result" -msgstr "アドホック生の結果" +#: ops/models/celery.py:18 terminal/models/sharing.py:111 tickets/const.py:25 +#: xpack/plugins/change_auth_plan/models/base.py:188 +msgid "Finished" +msgstr "終了" -#: ops/models/adhoc.py:262 -msgid "Adhoc result summary" -msgstr "アドホック結果の概要" +#: ops/models/playbook.py:10 +msgid "Path" +msgstr "" -#: ops/models/adhoc.py:339 -msgid "AdHoc execution" -msgstr "アドホックエキューション" +#: ops/models/playbook.py:18 +msgid "Playbook template" +msgstr "" -#: ops/models/command.py:32 -msgid "Date finished" -msgstr "終了日" +#: ops/models/playbook.py:23 +msgid "Playbook" +msgstr "" -#: ops/models/command.py:113 -msgid "Task start" -msgstr "タスクの開始" +#: ops/models/playbook.py:24 +msgid "Owner" +msgstr "" -#: ops/models/command.py:147 -msgid "Command `{}` is forbidden ........" -msgstr "コマンド '{}' は禁止されています ........" +#: ops/models/playbook.py:26 settings/serializers/auth/sms.py:64 +msgid "Template" +msgstr "テンプレート" -#: ops/models/command.py:160 -msgid "Task end" +#: ops/models/playbook.py:38 terminal/models/task.py:26 +#: xpack/plugins/gathered_user/models.py:68 +msgid "Task" msgstr "タスク" -#: ops/models/command.py:164 -msgid "Command execution" -msgstr "コマンド実行" +#: ops/models/playbook.py:39 +#, fuzzy +#| msgid "Run user" +msgid "Run dir" +msgstr "ユーザーの実行" #: ops/notifications.py:17 msgid "Server performance" @@ -3015,11 +2996,23 @@ msgstr "{max_threshold}%: => {value} を超える使用メモリ" msgid "CPU load more than {max_threshold}: => {value}" msgstr "{max_threshold} を超えるCPUロード: => {value}" -#: ops/tasks.py:72 +#: ops/tasks.py:33 +#, fuzzy +#| msgid "Run asset" +msgid "Run ansible task" +msgstr "アセットの実行" + +#: ops/tasks.py:57 +#, fuzzy +#| msgid "Run command" +msgid "Run ansible command" +msgstr "実行コマンド" + +#: ops/tasks.py:79 msgid "Clean task history period" msgstr "クリーンなタスク履歴期間" -#: ops/tasks.py:85 +#: ops/tasks.py:92 msgid "Clean celery log period" msgstr "きれいなセロリログ期間" @@ -3031,18 +3024,18 @@ msgstr "タスクログ" msgid "Update task content: {}" msgstr "タスク内容の更新: {}" -#: orgs/api.py:69 +#: orgs/api.py:67 msgid "The current organization ({}) cannot be deleted" msgstr "現在の組織 ({}) は削除できません" -#: orgs/api.py:74 +#: orgs/api.py:72 msgid "" "LDAP synchronization is set to the current organization. Please switch to " "another organization before deleting" msgstr "" "LDAP 同期は現在の組織に設定されます。削除する前に別の組織に切り替えてください" -#: orgs/api.py:83 +#: orgs/api.py:81 msgid "The organization have resource ({}) cannot be deleted" msgstr "組織のリソース ({}) は削除できません" @@ -3050,116 +3043,109 @@ msgstr "組織のリソース ({}) は削除できません" msgid "App organizations" msgstr "アプリ組織" -#: orgs/mixins/models.py:56 orgs/mixins/serializers.py:25 orgs/models.py:85 -#: orgs/models.py:217 rbac/const.py:7 rbac/models/rolebinding.py:48 +#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:87 +#: rbac/const.py:7 rbac/models/rolebinding.py:48 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:62 #: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:71 msgid "Organization" msgstr "組織" +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:23 +msgid "Org name" +msgstr "組織名" + #: orgs/models.py:79 msgid "GLOBAL" msgstr "グローバル組織" -#: orgs/models.py:87 +#: orgs/models.py:81 +msgid "DEFAULT" +msgstr "" + +#: orgs/models.py:83 +msgid "SYSTEM" +msgstr "" + +#: orgs/models.py:89 msgid "Can view root org" msgstr "グローバル組織を表示できます" -#: orgs/models.py:88 +#: orgs/models.py:90 msgid "Can view all joined org" msgstr "参加しているすべての組織を表示できます" -#: orgs/models.py:222 rbac/models/role.py:46 rbac/models/rolebinding.py:44 -#: users/models/user.py:675 -msgid "Role" -msgstr "ロール" - #: perms/apps.py:9 msgid "App permissions" msgstr "アプリの権限" -#: perms/exceptions.py:9 -msgid "The administrator is modifying permissions. Please wait" -msgstr "管理者は権限を変更しています。お待ちください" - -#: perms/exceptions.py:14 -msgid "The authorization cannot be revoked for the time being" -msgstr "当分の間、承認を取り消すことはできません。" - -#: perms/models/application_permission.py:111 -msgid "Permed application" -msgstr "許可されたアプリケーション" - -#: perms/models/application_permission.py:114 -msgid "Can view my apps" -msgstr "自分のアプリを表示できます" - -#: perms/models/application_permission.py:115 -msgid "Can view user apps" -msgstr "ユーザーアプリを表示できます" +#: perms/models/asset_permission.py:72 perms/serializers/permission.py:59 +#: perms/serializers/permission.py:85 +#: tickets/models/ticket/apply_application.py:26 +#: tickets/models/ticket/apply_asset.py:19 +msgid "Actions" +msgstr "アクション" -#: perms/models/application_permission.py:116 -msgid "Can view usergroup apps" -msgstr "ユーザー・グループ認可の適用を表示できます" +#: perms/models/asset_permission.py:83 +msgid "From ticket" +msgstr "チケットから" -#: perms/models/asset_permission.py:134 +#: perms/models/asset_permission.py:224 msgid "Ungrouped" msgstr "グループ化されていません" -#: perms/models/asset_permission.py:136 +#: perms/models/asset_permission.py:226 msgid "Favorite" msgstr "お気に入り" -#: perms/models/asset_permission.py:183 +#: perms/models/asset_permission.py:273 msgid "Permed asset" msgstr "許可された資産" -#: perms/models/asset_permission.py:185 +#: perms/models/asset_permission.py:275 msgid "Can view my assets" msgstr "私の資産を見ることができます" -#: perms/models/asset_permission.py:186 +#: perms/models/asset_permission.py:276 msgid "Can view user assets" msgstr "ユーザー資産を表示できます" -#: perms/models/asset_permission.py:187 +#: perms/models/asset_permission.py:277 msgid "Can view usergroup assets" msgstr "ユーザーグループの資産を表示できます" -#: perms/models/base.py:55 +#: perms/models/const.py:20 settings/serializers/terminal.py:12 +msgid "All" +msgstr "すべて" + +#: perms/models/const.py:21 msgid "Connect" msgstr "接続" -#: perms/models/base.py:56 +#: perms/models/const.py:22 msgid "Upload file" msgstr "ファイルのアップロード" -#: perms/models/base.py:57 +#: perms/models/const.py:23 msgid "Download file" msgstr "ファイルのダウンロード" -#: perms/models/base.py:58 +#: perms/models/const.py:24 msgid "Upload download" msgstr "ダウンロードのアップロード" -#: perms/models/base.py:59 +#: perms/models/const.py:25 msgid "Clipboard copy" msgstr "クリップボードのコピー" -#: perms/models/base.py:60 +#: perms/models/const.py:26 msgid "Clipboard paste" msgstr "クリップボードペースト" -#: perms/models/base.py:61 +#: perms/models/const.py:27 msgid "Clipboard copy paste" msgstr "クリップボードコピーペースト" -#: perms/models/base.py:94 -msgid "From ticket" -msgstr "チケットから" - #: perms/notifications.py:12 perms/notifications.py:44 -#: perms/notifications.py:88 perms/notifications.py:119 msgid "today" msgstr "今" @@ -3179,73 +3165,39 @@ msgstr "資産権限の有効期限が近づいています" msgid "asset permissions of organization {}" msgstr "組織 {} の資産権限" -#: perms/notifications.py:91 -msgid "Your permed applications is about to expire" -msgstr "パーマアプリケーションの有効期限が近づいています" +#: perms/serializers/permission.py:48 +msgid "Users display" +msgstr "ユーザー表示" -#: perms/notifications.py:95 -msgid "permed applications" -msgstr "Permedアプリケーション" +#: perms/serializers/permission.py:51 +msgid "User groups display" +msgstr "ユーザーグループの表示" -#: perms/notifications.py:134 -msgid "Application permissions is about to expire" -msgstr "アプリケーション権限の有効期限が近づいています" +#: perms/serializers/permission.py:54 +msgid "Assets display" +msgstr "資産表示" -#: perms/notifications.py:138 -msgid "application permissions of organization {}" -msgstr "Organization {} のアプリケーション権限" +#: perms/serializers/permission.py:57 +msgid "Nodes display" +msgstr "ノード表示" -#: perms/serializers/application/permission.py:21 -#: perms/serializers/application/permission.py:40 -#: perms/serializers/asset/permission.py:20 -#: perms/serializers/asset/permission.py:44 users/serializers/user.py:89 -#: users/serializers/user.py:150 +#: perms/serializers/permission.py:61 perms/serializers/permission.py:86 +#: users/serializers/user.py:89 users/serializers/user.py:150 msgid "Is expired" msgstr "期限切れです" -#: perms/serializers/application/permission.py:43 -#: perms/serializers/asset/permission.py:47 rbac/serializers/role.py:26 +#: perms/serializers/permission.py:81 rbac/serializers/role.py:26 #: users/serializers/group.py:34 msgid "Users amount" msgstr "ユーザー数" -#: perms/serializers/application/permission.py:44 -#: perms/serializers/asset/permission.py:48 +#: perms/serializers/permission.py:82 msgid "User groups amount" msgstr "ユーザーグループの量" -#: perms/serializers/application/permission.py:45 -#: perms/serializers/asset/permission.py:51 -msgid "System users amount" -msgstr "システムユーザー数" - -#: perms/serializers/application/permission.py:79 -msgid "" -"The application list contains applications that are different from the " -"permission type. ({})" -msgstr "" -"アプリケーションリストには、権限タイプとは異なるアプリケーションが含まれてい" -"ます。({})" - -#: perms/serializers/asset/permission.py:21 -msgid "Users display" -msgstr "ユーザー表示" - -#: perms/serializers/asset/permission.py:22 -msgid "User groups display" -msgstr "ユーザーグループの表示" - -#: perms/serializers/asset/permission.py:23 -msgid "Assets display" -msgstr "資産表示" - -#: perms/serializers/asset/permission.py:24 -msgid "Nodes display" -msgstr "ノード表示" - -#: perms/serializers/asset/permission.py:25 -msgid "System users display" -msgstr "システムユーザーの表示" +#: perms/serializers/permission.py:84 +msgid "Nodes amount" +msgstr "ノード量" #: perms/templates/perms/_msg_item_permissions_expire.html:7 #: perms/templates/perms/_msg_permed_items_expire.html:7 @@ -3263,15 +3215,7 @@ msgstr "" msgid "If you have any question, please contact the administrator" msgstr "質問があったら、管理者に連絡して下さい" -#: perms/tree/app.py:24 -msgid "My applications" -msgstr "私のアプリケーション" - -#: perms/tree/app.py:41 -msgid "Empty" -msgstr "空" - -#: perms/utils/asset/user_permission.py:620 rbac/tree.py:57 +#: perms/utils/user_permission.py:623 rbac/tree.py:57 msgid "My assets" msgstr "私の資産" @@ -3360,6 +3304,11 @@ msgstr "権限" msgid "Built-in" msgstr "内蔵" +#: rbac/models/role.py:46 rbac/models/rolebinding.py:44 +#: users/models/user.py:675 +msgid "Role" +msgstr "ロール" + #: rbac/models/role.py:144 msgid "System role" msgstr "システムの役割" @@ -3431,9 +3380,9 @@ msgstr "監査ビュー" msgid "System setting" msgstr "システム設定" -#: rbac/tree.py:37 -msgid "Accounts" -msgstr "アカウント" +#: rbac/tree.py:29 +msgid "Other" +msgstr "その他" #: rbac/tree.py:41 msgid "Session audits" @@ -3887,10 +3836,6 @@ msgstr "元の番号(Src id)" msgid "Business type(Service id)" msgstr "ビジネス・タイプ(Service id)" -#: settings/serializers/auth/sms.py:64 -msgid "Template" -msgstr "テンプレート" - #: settings/serializers/auth/sms.py:65 #, python-brace-format msgid "" @@ -3925,7 +3870,7 @@ msgid "SSO auth key TTL" msgstr "Token有効期間" #: settings/serializers/auth/sso.py:15 -#: xpack/plugins/cloud/serializers/account_attrs.py:159 +#: xpack/plugins/cloud/serializers/account_attrs.py:169 msgid "Unit: second" msgstr "単位: 秒" @@ -4784,7 +4729,7 @@ msgstr "" msgid "Offline video player" msgstr "オフラインビデオプレーヤー" -#: terminal/api/endpoint.py:34 +#: terminal/api/endpoint.py:33 msgid "Not found protocol query params" msgstr "プロトコルクエリパラメータが見つかりません" @@ -4872,7 +4817,7 @@ msgstr "出力" #: terminal/backends/command/models.py:25 terminal/models/replay.py:9 #: terminal/models/sharing.py:19 terminal/models/sharing.py:78 #: terminal/templates/terminal/_msg_command_alert.html:10 -#: tickets/models/ticket/command_confirm.py:20 +#: tickets/models/ticket/command_confirm.py:17 msgid "Session" msgstr "セッション" @@ -4992,42 +4937,38 @@ msgstr "セッションのリプレイをアップロードできます" msgid "Can download session replay" msgstr "セッション再生をダウンロードできます" -#: terminal/models/session.py:50 terminal/models/sharing.py:101 +#: terminal/models/session.py:36 terminal/models/sharing.py:101 msgid "Login from" msgstr "ログイン元" -#: terminal/models/session.py:54 +#: terminal/models/session.py:40 msgid "Replay" msgstr "リプレイ" -#: terminal/models/session.py:59 +#: terminal/models/session.py:44 msgid "Date end" msgstr "終了日" -#: terminal/models/session.py:260 +#: terminal/models/session.py:236 msgid "Session record" msgstr "セッション記録" -#: terminal/models/session.py:262 +#: terminal/models/session.py:238 msgid "Can monitor session" msgstr "セッションを監視できます" -#: terminal/models/session.py:263 +#: terminal/models/session.py:239 msgid "Can share session" msgstr "セッションを共有できます" -#: terminal/models/session.py:264 +#: terminal/models/session.py:240 msgid "Can terminate session" msgstr "セッションを終了できます" -#: terminal/models/session.py:265 +#: terminal/models/session.py:241 msgid "Can validate session action perm" msgstr "セッションアクションのパーマを検証できます" -#: terminal/models/sharing.py:24 -msgid "Creator" -msgstr "作成者" - #: terminal/models/sharing.py:26 terminal/models/sharing.py:80 msgid "Verify code" msgstr "コードの確認" @@ -5064,14 +5005,9 @@ msgstr "ジョイナー" msgid "Date joined" msgstr "参加日" -#: terminal/models/sharing.py:93 -msgid "Date left" -msgstr "日付が残っています" - -#: terminal/models/sharing.py:111 tickets/const.py:26 -#: xpack/plugins/change_auth_plan/models/base.py:192 -msgid "Finished" -msgstr "終了" +#: terminal/models/sharing.py:93 +msgid "Date left" +msgstr "日付が残っています" #: terminal/models/sharing.py:116 msgid "Session join record" @@ -5121,14 +5057,6 @@ msgstr "コマンドストレージ" msgid "Replay storage" msgstr "再生ストレージ" -#: terminal/models/task.py:17 -msgid "Args" -msgstr "アルグ" - -#: terminal/models/task.py:18 -msgid "Kwargs" -msgstr "クワーグ" - #: terminal/models/terminal.py:103 msgid "type" msgstr "タイプ" @@ -5168,22 +5096,18 @@ msgstr "" "異なるエンドポイントの下に競合するアセットIPがある場合は、アセットタグを使用" "して実装します" -#: terminal/serializers/session.py:15 terminal/serializers/session.py:42 +#: terminal/serializers/session.py:17 terminal/serializers/session.py:42 msgid "Terminal display" msgstr "ターミナルディスプレイ" -#: terminal/serializers/session.py:32 +#: terminal/serializers/session.py:33 msgid "User ID" msgstr "ユーザーID" -#: terminal/serializers/session.py:33 +#: terminal/serializers/session.py:34 msgid "Asset ID" msgstr "資産ID" -#: terminal/serializers/session.py:34 -msgid "System user ID" -msgstr "システムユーザーID" - #: terminal/serializers/session.py:35 msgid "Login from display" msgstr "表示からのログイン" @@ -5200,6 +5124,10 @@ msgstr "参加できます" msgid "Terminal ID" msgstr "ターミナル ID" +#: terminal/serializers/session.py:40 +msgid "Is finished" +msgstr "終了しました" + #: terminal/serializers/session.py:41 msgid "Can terminate" msgstr "終了できます" @@ -5226,7 +5154,7 @@ msgstr "アクセスキー" msgid "Access key secret" msgstr "アクセスキーシークレット" -#: terminal/serializers/storage.py:65 xpack/plugins/cloud/models.py:220 +#: terminal/serializers/storage.py:65 xpack/plugins/cloud/models.py:216 msgid "Region" msgstr "リージョン" @@ -5258,6 +5186,10 @@ msgstr "ホスト無効" msgid "Port invalid" msgstr "ポートが無効" +#: terminal/serializers/storage.py:157 +msgid "Hosts" +msgstr "ホスト" + #: terminal/serializers/storage.py:160 msgid "Index by date" msgstr "日付による索引付け" @@ -5294,67 +5226,59 @@ msgstr "表示" msgid "Tickets" msgstr "チケット" -#: tickets/const.py:8 -msgid "General" -msgstr "一般" - #: tickets/const.py:10 msgid "Apply for asset" msgstr "資産の申請" -#: tickets/const.py:11 -msgid "Apply for application" -msgstr "申し込み" - -#: tickets/const.py:17 tickets/const.py:25 tickets/const.py:44 +#: tickets/const.py:16 tickets/const.py:24 tickets/const.py:43 msgid "Open" msgstr "オープン" -#: tickets/const.py:18 tickets/const.py:31 +#: tickets/const.py:17 tickets/const.py:30 msgid "Approved" msgstr "承認済み" -#: tickets/const.py:19 tickets/const.py:32 +#: tickets/const.py:18 tickets/const.py:31 msgid "Rejected" msgstr "拒否" -#: tickets/const.py:21 tickets/const.py:34 +#: tickets/const.py:20 tickets/const.py:33 msgid "Reopen" msgstr "" -#: tickets/const.py:30 tickets/const.py:38 +#: tickets/const.py:29 tickets/const.py:37 msgid "Pending" msgstr "未定" -#: tickets/const.py:33 tickets/const.py:40 +#: tickets/const.py:32 tickets/const.py:39 msgid "Closed" msgstr "クローズ" -#: tickets/const.py:46 +#: tickets/const.py:45 msgid "Approve" msgstr "承認" -#: tickets/const.py:51 +#: tickets/const.py:50 msgid "One level" msgstr "1つのレベル" -#: tickets/const.py:52 +#: tickets/const.py:51 msgid "Two level" msgstr "2つのレベル" -#: tickets/const.py:56 +#: tickets/const.py:55 msgid "Super admin" msgstr "スーパー管理者" -#: tickets/const.py:57 +#: tickets/const.py:56 msgid "Org admin" msgstr "Org admin" -#: tickets/const.py:58 +#: tickets/const.py:57 msgid "Super admin and org admin" msgstr "スーパーadminとorg admin" -#: tickets/const.py:59 +#: tickets/const.py:58 msgid "Custom user" msgstr "カスタムユーザー" @@ -5362,15 +5286,7 @@ msgstr "カスタムユーザー" msgid "Ticket already closed" msgstr "チケットはすでに閉じています" -#: tickets/handlers/apply_application.py:38 -msgid "" -"Created by the ticket, ticket title: {}, ticket applicant: {}, ticket " -"processor: {}, ticket ID: {}" -msgstr "" -"チケットによって作成されたチケットタイトル: {}、チケット申請者: {}、チケット" -"処理者: {}、チケットID: {}" - -#: tickets/handlers/apply_asset.py:37 +#: tickets/handlers/apply_asset.py:36 msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -5406,11 +5322,6 @@ msgstr "応用ログイン都市" msgid "Applied login datetime" msgstr "適用されたログインの日付時間" -#: tickets/models/comment.py:13 tickets/models/ticket/general.py:41 -#: tickets/models/ticket/general.py:277 -msgid "State" -msgstr "状態" - #: tickets/models/comment.py:14 msgid "common" msgstr "" @@ -5448,17 +5359,16 @@ msgstr "チケットの流れ" msgid "Ticket session relation" msgstr "チケットセッションの関係" -#: tickets/models/ticket/apply_application.py:12 +#: tickets/models/ticket/apply_application.py:11 #: tickets/models/ticket/apply_asset.py:13 msgid "Permission name" msgstr "認可ルール名" -#: tickets/models/ticket/apply_application.py:21 +#: tickets/models/ticket/apply_application.py:20 msgid "Apply applications" msgstr "アプリケーションの適用" -#: tickets/models/ticket/apply_application.py:24 -#: tickets/models/ticket/apply_asset.py:18 +#: tickets/models/ticket/apply_application.py:23 msgid "Apply system users" msgstr "システムユーザーの適用" @@ -5475,6 +5385,12 @@ msgstr "ノードの適用" msgid "Apply assets" msgstr "資産の適用" +#: tickets/models/ticket/apply_asset.py:17 +#, fuzzy +#| msgid "Application account" +msgid "Apply accounts" +msgstr "アプリケーションアカウント" + #: tickets/models/ticket/command_confirm.py:10 msgid "Run user" msgstr "ユーザーの実行" @@ -5483,19 +5399,21 @@ msgstr "ユーザーの実行" msgid "Run asset" msgstr "アセットの実行" -#: tickets/models/ticket/command_confirm.py:15 -msgid "Run system user" -msgstr "システムユーザーの実行" +#: tickets/models/ticket/command_confirm.py:13 +#, fuzzy +#| msgid "account" +msgid "Run account" +msgstr "アカウント" -#: tickets/models/ticket/command_confirm.py:17 +#: tickets/models/ticket/command_confirm.py:14 msgid "Run command" msgstr "実行コマンド" -#: tickets/models/ticket/command_confirm.py:24 +#: tickets/models/ticket/command_confirm.py:21 msgid "From cmd filter" msgstr "コマンドフィルタ規則から" -#: tickets/models/ticket/command_confirm.py:28 +#: tickets/models/ticket/command_confirm.py:25 msgid "From cmd filter rule" msgstr "コマンドフィルタ規則から" @@ -5543,9 +5461,11 @@ msgstr "ログインユーザー" msgid "Login asset" msgstr "ログイン資産" -#: tickets/models/ticket/login_asset_confirm.py:20 -msgid "Login system user" -msgstr "ログインシステムユーザー" +#: tickets/models/ticket/login_asset_confirm.py:19 +#, fuzzy +#| msgid "Login acl" +msgid "Login account" +msgstr "ログインacl" #: tickets/models/ticket/login_confirm.py:12 msgid "Login datetime" @@ -5591,16 +5511,16 @@ msgstr "現在の組織タイプは既に存在します。" msgid "Processor" msgstr "プロセッサ" -#: tickets/serializers/ticket/common.py:16 -#: tickets/serializers/ticket/common.py:79 +#: tickets/serializers/ticket/common.py:15 +#: tickets/serializers/ticket/common.py:77 msgid "Created by ticket ({}-{})" msgstr "チケットで作成 ({}-{})" -#: tickets/serializers/ticket/common.py:69 +#: tickets/serializers/ticket/common.py:67 msgid "The expiration date should be greater than the start date" msgstr "有効期限は開始日より大きくする必要があります" -#: tickets/serializers/ticket/common.py:85 +#: tickets/serializers/ticket/common.py:83 msgid "Permission named `{}` already exists" msgstr "'{}'という名前の権限は既に存在します" @@ -5621,7 +5541,7 @@ msgid "Ticket information" msgstr "作業指示情報" #: tickets/templates/tickets/approve_check_password.html:29 -#: tickets/views/approve.py:39 +#: tickets/views/approve.py:38 msgid "Ticket approval" msgstr "作業指示の承認" @@ -5633,26 +5553,26 @@ msgstr "承認" msgid "Go Login" msgstr "ログイン" -#: tickets/views/approve.py:40 +#: tickets/views/approve.py:39 msgid "" "This ticket does not exist, the process has ended, or this link has expired" msgstr "" "このワークシートが存在しないか、ワークシートが終了したか、このリンクが無効に" "なっています" -#: tickets/views/approve.py:69 +#: tickets/views/approve.py:68 msgid "Click the button below to approve or reject" msgstr "下のボタンをクリックして同意または拒否。" -#: tickets/views/approve.py:71 +#: tickets/views/approve.py:70 msgid "After successful authentication, this ticket can be approved directly" msgstr "認証に成功した後、作業指示書は直接承認することができる。" -#: tickets/views/approve.py:93 +#: tickets/views/approve.py:92 msgid "Illegal approval action" msgstr "無効な承認アクション" -#: tickets/views/approve.py:106 +#: tickets/views/approve.py:105 msgid "This user is not authorized to approve this ticket" msgstr "このユーザーはこの作業指示を承認する権限がありません" @@ -5660,6 +5580,10 @@ msgstr "このユーザーはこの作業指示を承認する権限がありま msgid "Could not reset self otp, use profile reset instead" msgstr "自己otpをリセットできませんでした、代わりにプロファイルリセットを使用" +#: users/apps.py:9 +msgid "Users" +msgstr "ユーザー" + #: users/const.py:10 msgid "System administrator" msgstr "システム管理者" @@ -5787,6 +5711,14 @@ msgstr "アバター" msgid "Wechat" msgstr "微信" +#: users/models/user.py:685 +msgid "Phone" +msgstr "電話" + +#: users/models/user.py:693 +msgid "Private key" +msgstr "ssh秘密鍵" + #: users/models/user.py:699 msgid "Secret key" msgstr "秘密キー" @@ -5803,27 +5735,27 @@ msgstr "最終更新日パスワード" msgid "Need update password" msgstr "更新パスワードが必要" -#: users/models/user.py:896 +#: users/models/user.py:897 msgid "Can invite user" msgstr "ユーザーを招待できます" -#: users/models/user.py:897 +#: users/models/user.py:898 msgid "Can remove user" msgstr "ユーザーを削除できます" -#: users/models/user.py:898 +#: users/models/user.py:899 msgid "Can match user" msgstr "ユーザーに一致できます" -#: users/models/user.py:907 +#: users/models/user.py:908 msgid "Administrator" msgstr "管理者" -#: users/models/user.py:910 +#: users/models/user.py:911 msgid "Administrator is the super user of system" msgstr "管理者はシステムのスーパーユーザーです" -#: users/models/user.py:935 +#: users/models/user.py:936 msgid "User password history" msgstr "ユーザーパスワード履歴" @@ -5894,12 +5826,6 @@ msgstr "システムロール表示" msgid "Org roles display" msgstr "組織ロール表示" -#: users/serializers/user.py:81 -#: xpack/plugins/change_auth_plan/models/base.py:35 -#: xpack/plugins/change_auth_plan/serializers/base.py:27 -msgid "Password strategy" -msgstr "パスワード戦略" - #: users/serializers/user.py:83 msgid "MFA enabled" msgstr "MFA有効化" @@ -6058,10 +5984,6 @@ msgstr "パスワードを満たす必要があります" msgid "Password strength" msgstr "パスワードの強さ" -#: users/templates/users/reset_password.html:29 -msgid "Setting" -msgstr "設定" - #: users/templates/users/reset_password.html:48 msgid "Very weak" msgstr "非常に弱い" @@ -6230,123 +6152,97 @@ msgstr "パスワードの成功をリセットし、ログインページに戻 msgid "XPACK" msgstr "XPack" -#: xpack/plugins/change_auth_plan/api/app.py:112 -#: xpack/plugins/change_auth_plan/api/asset.py:95 +#: xpack/plugins/change_auth_plan/api/asset.py:94 msgid "The parameter 'action' must be [{}]" msgstr "パラメータ 'action' は [{}] でなければなりません。" #: xpack/plugins/change_auth_plan/meta.py:9 -#: xpack/plugins/change_auth_plan/models/asset.py:123 +#: xpack/plugins/change_auth_plan/models/asset.py:124 msgid "Change auth plan" msgstr "密かな計画" -#: xpack/plugins/change_auth_plan/models/app.py:46 -#: xpack/plugins/change_auth_plan/models/app.py:95 +#: xpack/plugins/change_auth_plan/models/app.py:45 +#: xpack/plugins/change_auth_plan/models/app.py:94 msgid "Application change auth plan" msgstr "改密計画の適用" -#: xpack/plugins/change_auth_plan/models/app.py:99 -#: xpack/plugins/change_auth_plan/models/app.py:151 +#: xpack/plugins/change_auth_plan/models/app.py:98 +#: xpack/plugins/change_auth_plan/models/app.py:150 msgid "Application change auth plan execution" msgstr "改密計画実行の適用" -#: xpack/plugins/change_auth_plan/models/app.py:144 -#: xpack/plugins/change_auth_plan/serializers/app.py:64 +#: xpack/plugins/change_auth_plan/models/app.py:143 msgid "App" msgstr "適用" -#: xpack/plugins/change_auth_plan/models/app.py:156 +#: xpack/plugins/change_auth_plan/models/app.py:155 msgid "Application change auth plan task" msgstr "改密計画タスクの適用" -#: xpack/plugins/change_auth_plan/models/app.py:180 -#: xpack/plugins/change_auth_plan/models/asset.py:263 +#: xpack/plugins/change_auth_plan/models/app.py:179 +#: xpack/plugins/change_auth_plan/models/asset.py:264 msgid "Password cannot be set to blank, exit. " msgstr "パスワードを空白に設定することはできません。" -#: xpack/plugins/change_auth_plan/models/asset.py:29 -msgid "Append SSH KEY" -msgstr "追加" - -#: xpack/plugins/change_auth_plan/models/asset.py:30 -msgid "Empty and append SSH KEY" -msgstr "すべてクリアして追加" - -#: xpack/plugins/change_auth_plan/models/asset.py:31 -msgid "Replace (The key generated by JumpServer) " -msgstr "置換(JumpServerによって生成された鍵)" - -#: xpack/plugins/change_auth_plan/models/asset.py:49 -#: xpack/plugins/change_auth_plan/serializers/asset.py:36 +#: xpack/plugins/change_auth_plan/models/asset.py:50 +#: xpack/plugins/change_auth_plan/serializers/asset.py:33 msgid "SSH Key strategy" msgstr "SSHキー戦略" -#: xpack/plugins/change_auth_plan/models/asset.py:67 +#: xpack/plugins/change_auth_plan/models/asset.py:68 msgid "Asset change auth plan" msgstr "資産変更のオースプラン" -#: xpack/plugins/change_auth_plan/models/asset.py:134 +#: xpack/plugins/change_auth_plan/models/asset.py:135 msgid "Asset change auth plan execution" msgstr "資産変更のオースプランの実行" -#: xpack/plugins/change_auth_plan/models/asset.py:210 +#: xpack/plugins/change_auth_plan/models/asset.py:211 msgid "Change auth plan execution" msgstr "改密計画の実行" -#: xpack/plugins/change_auth_plan/models/asset.py:217 +#: xpack/plugins/change_auth_plan/models/asset.py:218 msgid "Asset change auth plan task" msgstr "資産改密計画タスク" -#: xpack/plugins/change_auth_plan/models/asset.py:252 +#: xpack/plugins/change_auth_plan/models/asset.py:253 msgid "This asset does not have a privileged user set: " msgstr "このアセットには特権ユーザーセットがありません。" -#: xpack/plugins/change_auth_plan/models/asset.py:258 +#: xpack/plugins/change_auth_plan/models/asset.py:259 msgid "" "The password and key of the current asset privileged user cannot be changed: " msgstr "現在のアセット特権ユーザーのパスワードとキーは変更できません。" -#: xpack/plugins/change_auth_plan/models/asset.py:269 +#: xpack/plugins/change_auth_plan/models/asset.py:270 msgid "Public key cannot be set to null, exit. " msgstr "公開鍵をnull、exitに設定することはできません。" -#: xpack/plugins/change_auth_plan/models/base.py:28 -msgid "All assets use the same random password" -msgstr "すべての資産は同じランダムパスワードを使用します" - -#: xpack/plugins/change_auth_plan/models/base.py:29 -msgid "All assets use different random password" -msgstr "すべての資産は異なるランダムパスワードを使用します" - -#: xpack/plugins/change_auth_plan/models/base.py:39 -msgid "Password rules" -msgstr "パスワードルール" - -#: xpack/plugins/change_auth_plan/models/base.py:118 +#: xpack/plugins/change_auth_plan/models/base.py:114 msgid "Change auth plan snapshot" msgstr "計画スナップショットの暗号化" -#: xpack/plugins/change_auth_plan/models/base.py:187 +#: xpack/plugins/change_auth_plan/models/base.py:183 msgid "Ready" msgstr "の準備を" -#: xpack/plugins/change_auth_plan/models/base.py:188 +#: xpack/plugins/change_auth_plan/models/base.py:184 msgid "Preflight check" msgstr "プリフライトチェック" -#: xpack/plugins/change_auth_plan/models/base.py:189 +#: xpack/plugins/change_auth_plan/models/base.py:185 msgid "Change auth" msgstr "秘密を改める" -#: xpack/plugins/change_auth_plan/models/base.py:190 +#: xpack/plugins/change_auth_plan/models/base.py:186 msgid "Verify auth" msgstr "パスワード/キーの確認" -#: xpack/plugins/change_auth_plan/models/base.py:191 +#: xpack/plugins/change_auth_plan/models/base.py:187 msgid "Keep auth" msgstr "パスワード/キーの保存" -#: xpack/plugins/change_auth_plan/models/base.py:199 +#: xpack/plugins/change_auth_plan/models/base.py:195 msgid "Step" msgstr "ステップ" @@ -6369,11 +6265,11 @@ msgstr "" "{} -暗号化変更タスクが完了しました: 暗号化パスワードが設定されていません-個人" "情報にアクセスしてください-> ファイル暗号化パスワードを設定してください" -#: xpack/plugins/change_auth_plan/serializers/asset.py:33 +#: xpack/plugins/change_auth_plan/serializers/asset.py:30 msgid "Change Password" msgstr "パスワードの変更" -#: xpack/plugins/change_auth_plan/serializers/asset.py:34 +#: xpack/plugins/change_auth_plan/serializers/asset.py:31 msgid "Change SSH Key" msgstr "SSHキーの変更" @@ -6509,75 +6405,71 @@ msgstr "リリース済み" msgid "Cloud center" msgstr "クラウドセンター" -#: xpack/plugins/cloud/models.py:30 +#: xpack/plugins/cloud/models.py:32 msgid "Provider" msgstr "プロバイダー" -#: xpack/plugins/cloud/models.py:39 +#: xpack/plugins/cloud/models.py:41 msgid "Cloud account" msgstr "クラウドアカウント" -#: xpack/plugins/cloud/models.py:41 +#: xpack/plugins/cloud/models.py:43 msgid "Test cloud account" msgstr "クラウドアカウントのテスト" -#: xpack/plugins/cloud/models.py:85 xpack/plugins/cloud/serializers/task.py:67 -msgid "Account" -msgstr "アカウント" - -#: xpack/plugins/cloud/models.py:88 xpack/plugins/cloud/serializers/task.py:38 +#: xpack/plugins/cloud/models.py:90 xpack/plugins/cloud/serializers/task.py:37 msgid "Regions" msgstr "リージョン" -#: xpack/plugins/cloud/models.py:91 +#: xpack/plugins/cloud/models.py:93 msgid "Hostname strategy" msgstr "ホスト名戦略" -#: xpack/plugins/cloud/models.py:100 xpack/plugins/cloud/serializers/task.py:68 +#: xpack/plugins/cloud/models.py:102 xpack/plugins/cloud/serializers/task.py:66 msgid "Unix admin user" msgstr "Unix adminユーザー" -#: xpack/plugins/cloud/models.py:104 xpack/plugins/cloud/serializers/task.py:69 +#: xpack/plugins/cloud/models.py:106 xpack/plugins/cloud/serializers/task.py:67 msgid "Windows admin user" msgstr "Windows管理者" -#: xpack/plugins/cloud/models.py:110 xpack/plugins/cloud/serializers/task.py:46 +#: xpack/plugins/cloud/models.py:112 xpack/plugins/cloud/serializers/task.py:44 msgid "IP network segment group" msgstr "IPネットワークセグメントグループ" -#: xpack/plugins/cloud/models.py:113 xpack/plugins/cloud/serializers/task.py:72 +#: xpack/plugins/cloud/models.py:115 xpack/plugins/cloud/serializers/task.py:70 msgid "Always update" msgstr "常に更新" -#: xpack/plugins/cloud/models.py:119 +#: xpack/plugins/cloud/models.py:121 msgid "Date last sync" msgstr "最終同期日" -#: xpack/plugins/cloud/models.py:130 xpack/plugins/cloud/models.py:171 +#: xpack/plugins/cloud/models.py:126 xpack/plugins/cloud/models.py:167 msgid "Sync instance task" msgstr "インスタンスの同期タスク" -#: xpack/plugins/cloud/models.py:182 xpack/plugins/cloud/models.py:230 +#: xpack/plugins/cloud/models.py:178 xpack/plugins/cloud/models.py:226 msgid "Date sync" msgstr "日付の同期" -#: xpack/plugins/cloud/models.py:186 +#: xpack/plugins/cloud/models.py:182 msgid "Sync instance task execution" msgstr "インスタンスタスクの同期実行" -#: xpack/plugins/cloud/models.py:210 +#: xpack/plugins/cloud/models.py:206 msgid "Sync task" msgstr "同期タスク" -#: xpack/plugins/cloud/models.py:214 +#: xpack/plugins/cloud/models.py:210 msgid "Sync instance task history" msgstr "インスタンスタスク履歴の同期" -#: xpack/plugins/cloud/models.py:217 +#: xpack/plugins/cloud/models.py:213 msgid "Instance" msgstr "インスタンス" -#: xpack/plugins/cloud/models.py:234 +#: xpack/plugins/cloud/models.py:230 msgid "Sync instance detail" msgstr "同期インスタンスの詳細" @@ -6793,7 +6685,7 @@ msgstr "サブスクリプションID" #: xpack/plugins/cloud/serializers/account_attrs.py:95 #: xpack/plugins/cloud/serializers/account_attrs.py:100 -#: xpack/plugins/cloud/serializers/account_attrs.py:124 +#: xpack/plugins/cloud/serializers/account_attrs.py:134 msgid "API Endpoint" msgstr "APIエンドポイント" @@ -6809,25 +6701,25 @@ msgstr "例えば: http://openstack.example.com:5000/v3" msgid "User domain" msgstr "ユーザードメイン" -#: xpack/plugins/cloud/serializers/account_attrs.py:117 +#: xpack/plugins/cloud/serializers/account_attrs.py:127 msgid "Service account key" msgstr "サービスアカウントキー" -#: xpack/plugins/cloud/serializers/account_attrs.py:118 +#: xpack/plugins/cloud/serializers/account_attrs.py:128 msgid "The file is in JSON format" msgstr "ファイルはJSON形式です。" -#: xpack/plugins/cloud/serializers/account_attrs.py:131 +#: xpack/plugins/cloud/serializers/account_attrs.py:141 msgid "IP address invalid `{}`, {}" msgstr "IPアドレスが無効: '{}', {}" -#: xpack/plugins/cloud/serializers/account_attrs.py:137 +#: xpack/plugins/cloud/serializers/account_attrs.py:147 msgid "" "Format for comma-delimited string,Such as: 192.168.1.0/24, " "10.0.0.0-10.0.0.255" msgstr "形式はコンマ区切りの文字列です,例:192.168.1.0/24,10.0.0.0-10.0.0.255" -#: xpack/plugins/cloud/serializers/account_attrs.py:141 +#: xpack/plugins/cloud/serializers/account_attrs.py:151 msgid "" "The port is used to detect the validity of the IP address. When the " "synchronization task is executed, only the valid IP address will be " @@ -6837,23 +6729,23 @@ msgstr "" "実行されると、有効な IP アドレスのみが同期されます。
ポートが0の場合、す" "べてのIPアドレスが有効です。" -#: xpack/plugins/cloud/serializers/account_attrs.py:149 +#: xpack/plugins/cloud/serializers/account_attrs.py:159 msgid "Hostname prefix" msgstr "ホスト名プレフィックス" -#: xpack/plugins/cloud/serializers/account_attrs.py:152 +#: xpack/plugins/cloud/serializers/account_attrs.py:162 msgid "IP segment" msgstr "IP セグメント" -#: xpack/plugins/cloud/serializers/account_attrs.py:156 +#: xpack/plugins/cloud/serializers/account_attrs.py:166 msgid "Test port" msgstr "テストポート" -#: xpack/plugins/cloud/serializers/account_attrs.py:159 +#: xpack/plugins/cloud/serializers/account_attrs.py:169 msgid "Test timeout" msgstr "テストタイムアウト" -#: xpack/plugins/cloud/serializers/task.py:29 +#: xpack/plugins/cloud/serializers/task.py:28 msgid "" "Only instances matching the IP range will be synced.
If the instance " "contains multiple IP addresses, the first IP address that matches will be " @@ -6867,19 +6759,19 @@ msgstr "" "ドレスをランダムに一致させることを意味します。
形式はコンマ区切りの文字列" "です。例:192.168.1.0/24,10.1.1.1-10.1.1.20" -#: xpack/plugins/cloud/serializers/task.py:36 +#: xpack/plugins/cloud/serializers/task.py:35 msgid "History count" msgstr "実行回数" -#: xpack/plugins/cloud/serializers/task.py:37 +#: xpack/plugins/cloud/serializers/task.py:36 msgid "Instance count" msgstr "インスタンス数" -#: xpack/plugins/cloud/serializers/task.py:66 +#: xpack/plugins/cloud/serializers/task.py:64 msgid "Linux admin user" msgstr "Linux管理者" -#: xpack/plugins/cloud/serializers/task.py:71 +#: xpack/plugins/cloud/serializers/task.py:69 #: xpack/plugins/gathered_user/serializers.py:20 msgid "Periodic display" msgstr "定期的な表示" @@ -6892,15 +6784,15 @@ msgstr "利用できないアカウント" msgid "Gathered user" msgstr "収集されたユーザー" -#: xpack/plugins/gathered_user/models.py:39 +#: xpack/plugins/gathered_user/models.py:34 msgid "Gather user task" msgstr "ユーザータスクの収集" -#: xpack/plugins/gathered_user/models.py:85 +#: xpack/plugins/gathered_user/models.py:80 msgid "gather user task execution" msgstr "ユーザータスクの実行を収集" -#: xpack/plugins/gathered_user/models.py:91 +#: xpack/plugins/gathered_user/models.py:86 msgid "Assets is empty, please change nodes" msgstr "資産は空です。ノードを変更してください" @@ -6971,3 +6863,412 @@ msgstr "究極のエディション" #: xpack/plugins/license/models.py:77 msgid "Community edition" msgstr "コミュニティ版" + +#~ msgid "System User" +#~ msgstr "システムユーザー" + +#~ msgid "Unsupported protocols: {}" +#~ msgstr "サポートされていないプロトコル: {}" + +#~ msgid "Remote app" +#~ msgstr "リモートアプリ" + +#~ msgid "Custom" +#~ msgstr "カスタム" + +#~ msgid "Can view application account secret" +#~ msgstr "アプリケーションアカウントの秘密を表示できます" + +#~ msgid "Can change application account secret" +#~ msgstr "アプリケーションアカウントの秘密を変更できます" + +#~ msgid "Application user" +#~ msgstr "アプリケーションユーザー" + +#~ msgid "Application display" +#~ msgstr "アプリケーション表示" + +#~ msgid "Cluster" +#~ msgstr "クラスター" + +#~ msgid "Asset Info" +#~ msgstr "資産情報" + +#~ msgid "Application path" +#~ msgstr "アプリケーションパス" + +#~ msgid "Target URL" +#~ msgstr "ターゲットURL" + +#~ msgid "Chrome username" +#~ msgstr "Chromeユーザー名" + +#~ msgid "Chrome password" +#~ msgstr "Chromeパスワード" + +#~ msgid "Operating parameter" +#~ msgstr "操作パラメータ" + +#~ msgid "Target url" +#~ msgstr "ターゲットURL" + +#~ msgid "Custom Username" +#~ msgstr "カスタムユーザー名" + +#~ msgid "Mysql workbench username" +#~ msgstr "Mysql workbench のユーザー名" + +#~ msgid "Mysql workbench password" +#~ msgstr "Mysql workbench パスワード" + +#~ msgid "Magnus currently supports only 11g and 12c connections" +#~ msgstr "" +#~ "現在、Magnusは11gおよび12cバージョンへの接続のみをサポートしています" + +#~ msgid "Vmware username" +#~ msgstr "Vmware ユーザー名" + +#~ msgid "Vmware password" +#~ msgstr "Vmware パスワード" + +#~ msgid "Base" +#~ msgstr "ベース" + +#~ msgid "Public IP" +#~ msgstr "パブリックIP" + +#~ msgid "AuthBook" +#~ msgstr "資産アカウント" + +#~ msgid "Can test asset account connectivity" +#~ msgstr "アセットアカウントの接続性をテストできます" + +#~ msgid "Bandwidth" +#~ msgstr "帯域幅" + +#~ msgid "Contact" +#~ msgstr "連絡先" + +#~ msgid "Intranet" +#~ msgstr "イントラネット" + +#~ msgid "Extranet" +#~ msgstr "エクストラネット" + +#~ msgid "Operator" +#~ msgstr "オペレーター" + +#~ msgid "Default Cluster" +#~ msgstr "デフォルトクラスター" + +#~ msgid "User groups" +#~ msgstr "ユーザーグループ" + +#~ msgid "System user display" +#~ msgstr "システムユーザー表示" + +#~ msgid "Protocol format should {}/{}" +#~ msgstr "プロトコル形式は {}/{}" + +#~ msgid "Nodes name" +#~ msgstr "ノード名" + +#~ msgid "Labels name" +#~ msgstr "ラベル名" + +#~ msgid "Hardware info" +#~ msgstr "ハードウェア情報" + +#~ msgid "Admin user display" +#~ msgstr "管理者ユーザー表示" + +#~ msgid "CPU info" +#~ msgstr "CPU情報" + +#~ msgid "Action display" +#~ msgstr "アクション表示" + +#~ msgid "Applications amount" +#~ msgstr "申し込み金額" + +#~ msgid "SSH key fingerprint" +#~ msgstr "SSHキー指紋" + +#~ msgid "Apps amount" +#~ msgstr "アプリの量" + +#~ msgid "Login mode display" +#~ msgstr "ログインモード表示" + +#~ msgid "Ad domain" +#~ msgstr "広告ドメイン" + +#~ msgid "Is asset protocol" +#~ msgstr "資産プロトコルです" + +#~ msgid "Only ssh and automatic login system users are supported" +#~ msgstr "sshと自動ログインシステムのユーザーのみがサポートされています" + +#~ msgid "Username same with user with protocol {} only allow 1" +#~ msgstr "プロトコル {} のユーザーと同じユーザー名は1のみ許可します" + +#~ msgid "* Automatic login mode must fill in the username." +#~ msgstr "* 自動ログインモードはユーザー名を入力する必要があります。" + +#~ msgid "Path should starts with /" +#~ msgstr "パスは/で始まる必要があります" + +#~ msgid "Password or private key required" +#~ msgstr "パスワードまたは秘密鍵が必要" + +#~ msgid "Only ssh protocol system users are allowed" +#~ msgstr "Sshプロトコルシステムユーザーのみが許可されています" + +#~ msgid "The protocol must be consistent with the current user: {}" +#~ msgstr "プロトコルは現在のユーザーと一致している必要があります: {}" + +#~ msgid "Only system users with automatic login are allowed" +#~ msgstr "自動ログインを持つシステムユーザーのみが許可されます" + +#~ msgid "System user name" +#~ msgstr "システムユーザー名" + +#~ msgid "Asset hostname" +#~ msgstr "資産ホスト名" + +#~ msgid "System user is dynamic: {}" +#~ msgstr "システムユーザーは動的です: {}" + +#~ msgid "Start push system user for platform: [{}]" +#~ msgstr "プラットフォームのプッシュシステムユーザーを開始: [{}]" + +#~ msgid "Hosts count: {}" +#~ msgstr "ホスト数: {}" + +#~ msgid "Push system users to assets: " +#~ msgstr "システムユーザーを資産にプッシュする:" + +#~ msgid "Push system users to asset: " +#~ msgstr "システムユーザーをアセットにプッシュする:" + +#~ msgid "Dynamic system user not support test" +#~ msgstr "動的システムユーザーがテストをサポートしていない" + +#~ msgid "Start test system user connectivity for platform: [{}]" +#~ msgstr "プラットフォームのテストシステムのユーザー接続を開始: [{}]" + +#~ msgid "Test system user connectivity: " +#~ msgstr "テストシステムユーザー接続:" + +#~ msgid "Test system user connectivity period: " +#~ msgstr "テストシステムユーザー接続期间:" + +#~ msgid "Hosts display" +#~ msgstr "ホスト表示" + +#~ msgid "Run as" +#~ msgstr "として実行" + +#~ msgid "Run as display" +#~ msgstr "ディスプレイとして実行する" + +#~ msgid "Asset and SystemUser" +#~ msgstr "資産およびシステム・ユーザー" + +#, python-brace-format +#~ msgid "{Asset} ADD {SystemUser}" +#~ msgstr "{Asset} 追加 {SystemUser}" + +#, python-brace-format +#~ msgid "{Asset} REMOVE {SystemUser}" +#~ msgstr "{Asset} 削除 {SystemUser}" + +#~ msgid "Asset permission and SystemUser" +#~ msgstr "資産権限とSystemUser" + +#, python-brace-format +#~ msgid "{AssetPermission} ADD {SystemUser}" +#~ msgstr "{AssetPermission} 追加 {SystemUser}" + +#, python-brace-format +#~ msgid "{AssetPermission} REMOVE {SystemUser}" +#~ msgstr "{AssetPermission} 削除 {SystemUser}" + +#~ msgid "User application permissions" +#~ msgstr "ユーザーアプリケーションの権限" + +#, python-brace-format +#~ msgid "{ApplicationPermission} ADD {User}" +#~ msgstr "{ApplicationPermission} 追加 {User}" + +#, python-brace-format +#~ msgid "{ApplicationPermission} REMOVE {User}" +#~ msgstr "{ApplicationPermission} 削除 {User}" + +#~ msgid "User group application permissions" +#~ msgstr "ユーザーグループアプリケーションの権限" + +#, python-brace-format +#~ msgid "{ApplicationPermission} ADD {UserGroup}" +#~ msgstr "{ApplicationPermission} 追加 {UserGroup}" + +#, python-brace-format +#~ msgid "{ApplicationPermission} REMOVE {UserGroup}" +#~ msgstr "{ApplicationPermission} 削除 {UserGroup}" + +#~ msgid "Application permission" +#~ msgstr "申請許可" + +#, python-brace-format +#~ msgid "{ApplicationPermission} ADD {Application}" +#~ msgstr "{ApplicationPermission} 追加 {Application}" + +#, python-brace-format +#~ msgid "{ApplicationPermission} REMOVE {Application}" +#~ msgstr "{ApplicationPermission} 削除 {Application}" + +#~ msgid "Application permission and SystemUser" +#~ msgstr "アプリケーション権限とSystemUser" + +#, python-brace-format +#~ msgid "{ApplicationPermission} ADD {SystemUser}" +#~ msgstr "{ApplicationPermission} 追加 {SystemUser}" + +#, python-brace-format +#~ msgid "{ApplicationPermission} REMOVE {SystemUser}" +#~ msgstr "{ApplicationPermission} 削除 {SystemUser}" + +#~ msgid "Not has host {} permission" +#~ msgstr "ホスト {} 権限がありません" + +#~ msgid "" +#~ "eg: Every Sunday 03:05 run <5 3 * * 0>
Tips: Using 5 digits linux " +#~ "crontab expressions (Online tools)
Note: If both Regularly " +#~ "perform and Cycle perform are set, give priority to Regularly perform" +#~ msgstr "" +#~ "eg:毎週日03:05<5 3**0>
ヒント:5ビットLinux crontab式<分時日月曜日>(オンラインワーク)
" +#~ "注意:定期実行と周期実行を同時に設定した場合は、定期実行を優先します。" + +#~ msgid "Unit: hour" +#~ msgstr "単位: 時間" + +#~ msgid "Callback" +#~ msgstr "コールバック" + +#~ msgid "Can view task monitor" +#~ msgstr "タスクモニターを表示できます" + +#~ msgid "Tasks" +#~ msgstr "タスク" + +#~ msgid "Options" +#~ msgstr "オプション" + +#~ msgid "Run as admin" +#~ msgstr "再実行" + +#~ msgid "Become" +#~ msgstr "になる" + +#~ msgid "Create by" +#~ msgstr "による作成" + +#~ msgid "AdHoc" +#~ msgstr "タスクの各バージョン" + +#~ msgid "Task display" +#~ msgstr "タスク表示" + +#~ msgid "Host amount" +#~ msgstr "ホスト量" + +#~ msgid "Start time" +#~ msgstr "開始時間" + +#~ msgid "End time" +#~ msgstr "終了時間" + +#~ msgid "Adhoc raw result" +#~ msgstr "アドホック生の結果" + +#~ msgid "Adhoc result summary" +#~ msgstr "アドホック結果の概要" + +#~ msgid "Task start" +#~ msgstr "タスクの開始" + +#~ msgid "Command `{}` is forbidden ........" +#~ msgstr "コマンド '{}' は禁止されています ........" + +#~ msgid "Task end" +#~ msgstr "タスク" + +#~ msgid "The administrator is modifying permissions. Please wait" +#~ msgstr "管理者は権限を変更しています。お待ちください" + +#~ msgid "The authorization cannot be revoked for the time being" +#~ msgstr "当分の間、承認を取り消すことはできません。" + +#~ msgid "Permed application" +#~ msgstr "許可されたアプリケーション" + +#~ msgid "Can view my apps" +#~ msgstr "自分のアプリを表示できます" + +#~ msgid "Can view user apps" +#~ msgstr "ユーザーアプリを表示できます" + +#~ msgid "Can view usergroup apps" +#~ msgstr "ユーザー・グループ認可の適用を表示できます" + +#~ msgid "Your permed applications is about to expire" +#~ msgstr "パーマアプリケーションの有効期限が近づいています" + +#~ msgid "permed applications" +#~ msgstr "Permedアプリケーション" + +#~ msgid "Application permissions is about to expire" +#~ msgstr "アプリケーション権限の有効期限が近づいています" + +#~ msgid "application permissions of organization {}" +#~ msgstr "Organization {} のアプリケーション権限" + +#~ msgid "System users amount" +#~ msgstr "システムユーザー数" + +#~ msgid "" +#~ "The application list contains applications that are different from the " +#~ "permission type. ({})" +#~ msgstr "" +#~ "アプリケーションリストには、権限タイプとは異なるアプリケーションが含まれて" +#~ "います。({})" + +#~ msgid "System users display" +#~ msgstr "システムユーザーの表示" + +#~ msgid "My applications" +#~ msgstr "私のアプリケーション" + +#~ msgid "Empty" +#~ msgstr "空" + +#~ msgid "System user ID" +#~ msgstr "システムユーザーID" + +#~ msgid "Apply for application" +#~ msgstr "申し込み" + +#~ msgid "" +#~ "Created by the ticket, ticket title: {}, ticket applicant: {}, ticket " +#~ "processor: {}, ticket ID: {}" +#~ msgstr "" +#~ "チケットによって作成されたチケットタイトル: {}、チケット申請者: {}、チケッ" +#~ "ト処理者: {}、チケットID: {}" + +#~ msgid "Run system user" +#~ msgstr "システムユーザーの実行" + +#~ msgid "Login system user" +#~ msgstr "ログインシステムユーザー" diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index da00d3ee0..f8d2feba7 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/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: 2022-08-17 16:28+0800\n" +"POT-Creation-Date: 2022-10-19 10:41+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -21,61 +21,66 @@ msgstr "" msgid "Acls" msgstr "访问控制" -#: acls/models/base.py:25 acls/serializers/login_asset_acl.py:47 -#: applications/models/application.py:220 assets/models/asset.py:138 -#: assets/models/base.py:175 assets/models/cluster.py:18 -#: assets/models/cmd_filter.py:27 assets/models/domain.py:23 -#: assets/models/group.py:20 assets/models/label.py:18 ops/mixin.py:24 -#: orgs/models.py:70 perms/models/base.py:83 rbac/models/role.py:29 +#: acls/models/base.py:25 acls/serializers/login_asset_acl.py:48 +#: applications/models.py:10 assets/models/_user.py:33 +#: assets/models/asset/common.py:81 assets/models/asset/common.py:91 +#: assets/models/base.py:65 assets/models/cmd_filter.py:25 +#: assets/models/domain.py:24 assets/models/group.py:20 +#: assets/models/label.py:17 assets/models/platform.py:22 +#: assets/models/platform.py:68 assets/serializers/asset/common.py:85 +#: assets/serializers/platform.py:104 ops/mixin.py:22 ops/models/playbook.py:9 +#: orgs/models.py:70 perms/models/asset_permission.py:56 rbac/models/role.py:29 #: settings/models.py:33 settings/serializers/sms.py:6 #: terminal/models/endpoint.py:10 terminal/models/endpoint.py:86 #: terminal/models/storage.py:26 terminal/models/task.py:16 #: terminal/models/terminal.py:100 users/forms/profile.py:33 #: users/models/group.py:15 users/models/user.py:665 -#: xpack/plugins/cloud/models.py:28 +#: xpack/plugins/cloud/models.py:30 msgid "Name" msgstr "名称" -#: acls/models/base.py:27 assets/models/cmd_filter.py:84 -#: assets/models/user.py:251 terminal/models/endpoint.py:89 +#: acls/models/base.py:27 assets/models/_user.py:47 +#: assets/models/cmd_filter.py:76 terminal/models/endpoint.py:89 msgid "Priority" msgstr "优先级" -#: acls/models/base.py:28 assets/models/cmd_filter.py:84 -#: assets/models/user.py:251 terminal/models/endpoint.py:90 +#: acls/models/base.py:28 assets/models/_user.py:47 +#: assets/models/cmd_filter.py:76 terminal/models/endpoint.py:90 msgid "1-100, the lower the value will be match first" msgstr "优先级可选范围为 1-100 (数值越小越优先)" -#: acls/models/base.py:31 authentication/models.py:21 +#: acls/models/base.py:31 authentication/models.py:22 #: authentication/templates/authentication/_access_key_modal.html:32 -#: perms/models/base.py:88 terminal/models/sharing.py:28 tickets/const.py:39 +#: perms/models/asset_permission.py:74 terminal/models/sharing.py:28 +#: tickets/const.py:38 msgid "Active" msgstr "激活中" -#: acls/models/base.py:32 applications/models/application.py:233 -#: assets/models/asset.py:143 assets/models/asset.py:231 -#: assets/models/backup.py:54 assets/models/base.py:180 -#: assets/models/cluster.py:29 assets/models/cmd_filter.py:48 -#: assets/models/cmd_filter.py:96 assets/models/domain.py:24 -#: assets/models/domain.py:65 assets/models/group.py:23 -#: assets/models/label.py:23 ops/models/adhoc.py:38 orgs/models.py:73 -#: perms/models/base.py:93 rbac/models/role.py:37 settings/models.py:38 -#: terminal/models/endpoint.py:23 terminal/models/endpoint.py:96 -#: terminal/models/storage.py:29 terminal/models/terminal.py:114 -#: tickets/models/comment.py:32 tickets/models/ticket/general.py:288 -#: users/models/group.py:16 users/models/user.py:702 -#: xpack/plugins/change_auth_plan/models/base.py:44 -#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:116 +#: acls/models/base.py:32 applications/models.py:19 assets/models/_user.py:40 +#: assets/models/asset/common.py:101 assets/models/automations/base.py:33 +#: assets/models/backup.py:30 assets/models/base.py:70 +#: assets/models/cmd_filter.py:40 assets/models/cmd_filter.py:88 +#: assets/models/domain.py:25 assets/models/domain.py:69 +#: assets/models/group.py:23 assets/models/label.py:22 +#: assets/models/platform.py:73 ops/models/playbook.py:11 +#: ops/models/playbook.py:25 orgs/models.py:73 +#: perms/models/asset_permission.py:84 rbac/models/role.py:37 +#: settings/models.py:38 terminal/models/endpoint.py:23 +#: terminal/models/endpoint.py:96 terminal/models/storage.py:29 +#: terminal/models/terminal.py:114 tickets/models/comment.py:32 +#: tickets/models/ticket/general.py:288 users/models/group.py:16 +#: users/models/user.py:702 xpack/plugins/change_auth_plan/models/base.py:44 +#: xpack/plugins/cloud/models.py:37 xpack/plugins/cloud/models.py:118 #: xpack/plugins/gathered_user/models.py:26 msgid "Comment" msgstr "备注" -#: acls/models/login_acl.py:18 tickets/const.py:47 +#: acls/models/login_acl.py:18 tickets/const.py:46 #: tickets/templates/tickets/approve_check_password.html:49 msgid "Reject" msgstr "拒绝" -#: acls/models/login_acl.py:19 assets/models/cmd_filter.py:75 +#: acls/models/login_acl.py:19 assets/models/cmd_filter.py:67 msgid "Allow" msgstr "允许" @@ -85,15 +90,15 @@ msgid "Login confirm" msgstr "登录复核" #: acls/models/login_acl.py:24 acls/models/login_asset_acl.py:20 -#: assets/models/cmd_filter.py:30 assets/models/label.py:15 audits/models.py:37 -#: audits/models.py:62 audits/models.py:87 audits/serializers.py:100 -#: authentication/models.py:54 authentication/models.py:78 orgs/models.py:220 -#: perms/models/base.py:84 rbac/builtin.py:120 rbac/models/rolebinding.py:41 +#: assets/models/cmd_filter.py:28 assets/models/label.py:15 audits/models.py:37 +#: audits/models.py:62 audits/models.py:87 authentication/models.py:55 +#: authentication/models.py:79 perms/models/asset_permission.py:58 +#: rbac/builtin.py:120 rbac/models/rolebinding.py:41 #: terminal/backends/command/models.py:20 -#: terminal/backends/command/serializers.py:13 terminal/models/session.py:44 +#: terminal/backends/command/serializers.py:13 terminal/models/session.py:30 #: terminal/models/sharing.py:33 terminal/notifications.py:91 #: terminal/notifications.py:139 tickets/models/comment.py:21 users/const.py:14 -#: users/models/user.py:894 users/models/user.py:925 +#: users/models/user.py:895 users/models/user.py:926 #: users/serializers/group.py:19 msgid "User" msgstr "用户" @@ -103,14 +108,14 @@ msgid "Rule" msgstr "规则" #: acls/models/login_acl.py:31 acls/models/login_asset_acl.py:26 -#: acls/serializers/login_acl.py:17 acls/serializers/login_asset_acl.py:75 -#: assets/models/cmd_filter.py:89 audits/models.py:63 audits/serializers.py:51 +#: acls/serializers/login_acl.py:17 acls/serializers/login_asset_acl.py:62 +#: assets/models/cmd_filter.py:81 audits/models.py:63 audits/serializers.py:49 #: authentication/templates/authentication/_access_key_modal.html:34 msgid "Action" msgstr "动作" #: acls/models/login_acl.py:35 acls/models/login_asset_acl.py:32 -#: acls/serializers/login_acl.py:16 assets/models/cmd_filter.py:94 +#: acls/serializers/login_acl.py:16 assets/models/cmd_filter.py:86 msgid "Reviewers" msgstr "审批人" @@ -118,25 +123,24 @@ msgstr "审批人" msgid "Login acl" msgstr "登录访问控制" -#: acls/models/login_asset_acl.py:21 -#: applications/serializers/application.py:122 -#: applications/serializers/application.py:167 -msgid "System User" -msgstr "系统用户" +#: acls/models/login_asset_acl.py:21 assets/models/account.py:48 +#: authentication/models.py:88 ops/models/base.py:18 +#: terminal/models/session.py:34 xpack/plugins/cloud/models.py:87 +#: xpack/plugins/cloud/serializers/task.py:65 +msgid "Account" +msgstr "账号" -#: acls/models/login_asset_acl.py:22 -#: applications/serializers/attrs/application_category/remote_app.py:36 -#: assets/models/asset.py:386 assets/models/authbook.py:19 -#: assets/models/backup.py:31 assets/models/cmd_filter.py:38 -#: assets/models/gathered_user.py:14 assets/serializers/label.py:30 -#: assets/serializers/system_user.py:268 audits/models.py:39 -#: authentication/models.py:66 authentication/models.py:90 -#: perms/models/asset_permission.py:23 terminal/backends/command/models.py:21 -#: terminal/backends/command/serializers.py:14 terminal/models/session.py:46 +#: acls/models/login_asset_acl.py:22 assets/models/account.py:36 +#: assets/models/asset/common.py:83 assets/models/asset/common.py:219 +#: assets/models/cmd_filter.py:36 assets/models/gathered_user.py:14 +#: assets/serializers/account/account.py:57 assets/serializers/label.py:30 +#: audits/models.py:39 authentication/models.py:67 authentication/models.py:84 +#: perms/models/asset_permission.py:64 terminal/backends/command/models.py:21 +#: terminal/backends/command/serializers.py:14 terminal/models/session.py:32 #: terminal/notifications.py:90 -#: xpack/plugins/change_auth_plan/models/asset.py:199 -#: xpack/plugins/change_auth_plan/serializers/asset.py:181 -#: xpack/plugins/cloud/models.py:223 +#: xpack/plugins/change_auth_plan/models/asset.py:200 +#: xpack/plugins/change_auth_plan/serializers/asset.py:172 +#: xpack/plugins/cloud/models.py:219 msgid "Asset" msgstr "资产" @@ -144,30 +148,30 @@ msgstr "资产" msgid "Login asset acl" msgstr "登录资产访问控制" -#: acls/models/login_asset_acl.py:89 tickets/const.py:12 +#: acls/models/login_asset_acl.py:86 tickets/const.py:11 msgid "Login asset confirm" msgstr "登录资产复核" -#: acls/serializers/login_acl.py:11 acls/serializers/login_asset_acl.py:12 +#: acls/serializers/login_acl.py:11 acls/serializers/login_asset_acl.py:13 msgid "Format for comma-delimited string, with * indicating a match all. " msgstr "格式为逗号分隔的字符串, * 表示匹配所有. " -#: acls/serializers/login_acl.py:15 acls/serializers/login_asset_acl.py:17 -#: acls/serializers/login_asset_acl.py:51 assets/models/base.py:176 -#: assets/models/gathered_user.py:15 audits/models.py:121 -#: authentication/forms.py:25 authentication/forms.py:27 -#: authentication/models.py:260 +#: acls/serializers/login_acl.py:15 acls/serializers/login_asset_acl.py:18 +#: acls/serializers/login_asset_acl.py:52 assets/models/_user.py:34 +#: assets/models/base.py:66 assets/models/gathered_user.py:15 +#: audits/models.py:121 authentication/forms.py:25 authentication/forms.py:27 +#: authentication/models.py:248 #: authentication/templates/authentication/_msg_different_city.html:9 #: authentication/templates/authentication/_msg_oauth_bind.html:9 -#: ops/models/adhoc.py:159 users/forms/profile.py:32 users/models/user.py:663 +#: users/forms/profile.py:32 users/models/user.py:663 #: users/templates/users/_msg_user_created.html:12 -#: xpack/plugins/change_auth_plan/models/asset.py:34 -#: xpack/plugins/change_auth_plan/models/asset.py:195 +#: xpack/plugins/change_auth_plan/models/asset.py:35 +#: xpack/plugins/change_auth_plan/models/asset.py:196 #: xpack/plugins/cloud/serializers/account_attrs.py:26 msgid "Username" msgstr "用户名" -#: acls/serializers/login_asset_acl.py:24 +#: acls/serializers/login_asset_acl.py:25 msgid "" "Format for comma-delimited string, with * indicating a match all. Such as: " "192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:" @@ -176,10 +180,8 @@ msgstr "" "格式为逗号分隔的字符串, * 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, " "10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (支持网域)" -#: acls/serializers/login_asset_acl.py:31 acls/serializers/rules/rules.py:33 -#: applications/serializers/attrs/application_type/mysql_workbench.py:18 -#: assets/models/asset.py:210 assets/models/domain.py:61 -#: assets/serializers/account.py:13 +#: acls/serializers/login_asset_acl.py:32 acls/serializers/rules/rules.py:33 +#: assets/models/asset/common.py:92 assets/models/domain.py:65 #: authentication/templates/authentication/_msg_oauth_bind.html:12 #: authentication/templates/authentication/_msg_rest_password_success.html:8 #: authentication/templates/authentication/_msg_rest_public_key_success.html:8 @@ -187,39 +189,28 @@ msgstr "" msgid "IP" msgstr "IP" -#: acls/serializers/login_asset_acl.py:35 assets/models/asset.py:211 -#: assets/serializers/account.py:14 assets/serializers/gathered_user.py:23 -#: settings/serializers/terminal.py:7 +#: acls/serializers/login_asset_acl.py:36 +#: assets/serializers/gathered_user.py:22 settings/serializers/terminal.py:7 msgid "Hostname" msgstr "主机名" -#: acls/serializers/login_asset_acl.py:42 +#: acls/serializers/login_asset_acl.py:43 msgid "" "Format for comma-delimited string, with * indicating a match all. Protocol " "options: {}" msgstr "格式为逗号分隔的字符串, * 表示匹配所有. 可选的协议有: {}" -#: acls/serializers/login_asset_acl.py:55 assets/models/asset.py:213 -#: assets/models/domain.py:63 assets/models/user.py:252 -#: terminal/serializers/session.py:31 terminal/serializers/storage.py:68 -msgid "Protocol" -msgstr "协议" - -#: acls/serializers/login_asset_acl.py:65 -msgid "Unsupported protocols: {}" -msgstr "不支持的协议: {}" - -#: acls/serializers/login_asset_acl.py:98 +#: acls/serializers/login_asset_acl.py:84 #: tickets/serializers/ticket/ticket.py:85 msgid "The organization `{}` does not exist" msgstr "组织 `{}` 不存在" -#: acls/serializers/login_asset_acl.py:103 +#: acls/serializers/login_asset_acl.py:89 msgid "None of the reviewers belong to Organization `{}`" msgstr "所有复核人都不属于组织 `{}`" #: acls/serializers/rules/rules.py:20 -#: xpack/plugins/cloud/serializers/task.py:23 +#: xpack/plugins/cloud/serializers/task.py:22 msgid "IP address invalid: `{}`" msgstr "IP 地址无效: `{}`" @@ -236,700 +227,703 @@ msgstr "" msgid "Time Period" msgstr "时段" -#: applications/apps.py:9 applications/models/application.py:64 +#: applications/apps.py:9 msgid "Applications" msgstr "应用管理" -#: applications/const.py:8 -#: applications/serializers/attrs/application_category/db.py:14 -#: applications/serializers/attrs/application_type/mysql_workbench.py:26 -#: xpack/plugins/change_auth_plan/models/app.py:32 -msgid "Database" -msgstr "数据库" - -#: applications/const.py:9 -msgid "Remote app" -msgstr "远程应用" - -#: applications/const.py:35 -msgid "Custom" -msgstr "自定义" - -#: applications/const.py:91 rbac/tree.py:29 -msgid "Other" -msgstr "其它" - -#: applications/models/account.py:12 applications/models/application.py:237 -#: assets/models/backup.py:32 assets/models/cmd_filter.py:45 -#: authentication/models.py:67 authentication/models.py:95 -#: perms/models/application_permission.py:28 -msgid "Application" -msgstr "应用程序" - -#: applications/models/account.py:15 assets/models/authbook.py:20 -#: assets/models/cmd_filter.py:42 assets/models/user.py:342 audits/models.py:40 -#: authentication/models.py:83 perms/models/application_permission.py:33 -#: perms/models/asset_permission.py:25 terminal/backends/command/models.py:22 -#: terminal/backends/command/serializers.py:36 terminal/models/session.py:48 -#: xpack/plugins/change_auth_plan/models/app.py:36 -#: xpack/plugins/change_auth_plan/models/app.py:147 -#: xpack/plugins/change_auth_plan/serializers/app.py:65 -msgid "System user" -msgstr "系统用户" - -#: applications/models/account.py:17 -#: applications/serializers/attrs/application_type/oracle.py:13 -#: assets/models/authbook.py:21 settings/serializers/auth/cas.py:18 -msgid "Version" -msgstr "版本" - -#: applications/models/account.py:23 -msgid "Application account" -msgstr "应用账号" - -#: applications/models/account.py:26 -msgid "Can view application account secret" -msgstr "可以查看应用账号密码" - -#: applications/models/account.py:27 -msgid "Can change application account secret" -msgstr "可以查看应用账号密码" - -#: applications/models/application.py:222 -#: applications/serializers/application.py:99 assets/models/label.py:21 -#: perms/models/application_permission.py:21 -#: perms/serializers/application/user_permission.py:33 -#: tickets/models/ticket/apply_application.py:15 -#: xpack/plugins/change_auth_plan/models/app.py:25 +#: applications/models.py:12 assets/models/label.py:20 +#: assets/models/platform.py:69 assets/serializers/asset/common.py:62 +#: assets/serializers/cagegory.py:8 assets/serializers/platform.py:76 +#: assets/serializers/platform.py:105 +#: tickets/models/ticket/apply_application.py:14 +#: xpack/plugins/change_auth_plan/models/app.py:24 msgid "Category" msgstr "类别" -#: applications/models/application.py:225 -#: applications/serializers/application.py:101 assets/models/backup.py:49 -#: assets/models/cmd_filter.py:82 assets/models/user.py:250 -#: authentication/models.py:70 perms/models/application_permission.py:24 -#: perms/serializers/application/user_permission.py:34 +#: applications/models.py:15 assets/models/_user.py:46 +#: assets/models/automations/base.py:31 assets/models/cmd_filter.py:74 +#: assets/models/platform.py:70 assets/serializers/asset/common.py:63 +#: assets/serializers/platform.py:75 authentication/models.py:71 #: terminal/models/storage.py:58 terminal/models/storage.py:143 #: tickets/models/comment.py:26 tickets/models/flow.py:57 -#: tickets/models/ticket/apply_application.py:18 +#: tickets/models/ticket/apply_application.py:17 #: tickets/models/ticket/general.py:273 -#: xpack/plugins/change_auth_plan/models/app.py:28 -#: xpack/plugins/change_auth_plan/models/app.py:153 +#: xpack/plugins/change_auth_plan/models/app.py:27 +#: xpack/plugins/change_auth_plan/models/app.py:152 msgid "Type" msgstr "类型" -#: applications/models/application.py:229 assets/models/asset.py:217 -#: assets/models/domain.py:29 assets/models/domain.py:64 -msgid "Domain" -msgstr "网域" - -#: applications/models/application.py:231 xpack/plugins/cloud/models.py:33 +#: applications/models.py:17 xpack/plugins/cloud/models.py:35 #: xpack/plugins/cloud/serializers/account.py:61 msgid "Attrs" msgstr "属性" -#: applications/models/application.py:241 +#: applications/models.py:23 authentication/models.py:68 +msgid "Application" +msgstr "应用程序" + +#: applications/models.py:27 msgid "Can match application" msgstr "匹配应用" -#: applications/models/application.py:320 -msgid "Application user" -msgstr "应用用户" - -#: applications/serializers/application.py:70 -#: applications/serializers/application.py:100 assets/serializers/label.py:13 -#: perms/serializers/application/permission.py:18 -msgid "Category display" -msgstr "类别名称" - -#: applications/serializers/application.py:71 -#: applications/serializers/application.py:102 -#: assets/serializers/cmd_filter.py:34 assets/serializers/system_user.py:34 -#: audits/serializers.py:29 authentication/serializers/connection_token.py:22 -#: perms/serializers/application/permission.py:19 -#: tickets/serializers/flow.py:49 tickets/serializers/ticket/ticket.py:17 -msgid "Type display" -msgstr "类型名称" +#: assets/api/domain.py:52 +msgid "Number required" +msgstr "需要为数字" -#: applications/serializers/application.py:103 assets/models/asset.py:230 -#: assets/models/base.py:181 assets/models/cluster.py:26 -#: assets/models/domain.py:26 assets/models/gathered_user.py:19 -#: assets/models/group.py:22 assets/models/label.py:25 -#: assets/serializers/account.py:18 assets/serializers/cmd_filter.py:28 -#: assets/serializers/cmd_filter.py:48 common/db/models.py:114 -#: common/mixins/models.py:50 ops/models/adhoc.py:39 ops/models/command.py:30 -#: orgs/models.py:72 orgs/models.py:223 perms/models/base.py:92 -#: users/models/group.py:18 users/models/user.py:926 -#: xpack/plugins/cloud/models.py:125 -msgid "Date created" -msgstr "创建日期" +#: assets/api/node.py:62 +msgid "You can't update the root node name" +msgstr "不能修改根节点名称" -#: applications/serializers/application.py:104 assets/models/base.py:182 -#: assets/models/gathered_user.py:20 assets/serializers/account.py:21 -#: assets/serializers/cmd_filter.py:29 assets/serializers/cmd_filter.py:49 -#: common/db/models.py:115 common/mixins/models.py:51 ops/models/adhoc.py:40 -#: orgs/models.py:224 -msgid "Date updated" -msgstr "更新日期" +#: assets/api/node.py:69 +msgid "You can't delete the root node ({})" +msgstr "不能删除根节点 ({})" -#: applications/serializers/application.py:121 -#: applications/serializers/application.py:166 authentication/models.py:99 -msgid "Application display" -msgstr "应用名称" +#: assets/api/node.py:72 +msgid "Deletion failed and the node contains assets" +msgstr "删除失败,节点包含资产" -#: applications/serializers/application.py:123 -msgid "account" -msgstr "账号" +#: assets/apps.py:9 +msgid "App assets" +msgstr "资产管理" -#: applications/serializers/attrs/application_category/cloud.py:8 -#: assets/models/cluster.py:40 -msgid "Cluster" -msgstr "集群" +#: assets/automations/base/manager.py:74 +#, fuzzy +#| msgid "Disabled" +msgid "{} disabled" +msgstr "禁用" -#: applications/serializers/attrs/application_category/db.py:11 -#: ops/models/adhoc.py:157 settings/serializers/auth/radius.py:14 +#: assets/const/category.py:11 settings/serializers/auth/radius.py:14 #: settings/serializers/auth/sms.py:56 terminal/models/endpoint.py:11 #: xpack/plugins/cloud/serializers/account_attrs.py:72 msgid "Host" msgstr "主机" -#: applications/serializers/attrs/application_category/db.py:12 -#: applications/serializers/attrs/application_type/mongodb.py:10 -#: applications/serializers/attrs/application_type/mysql.py:10 -#: applications/serializers/attrs/application_type/mysql_workbench.py:22 -#: applications/serializers/attrs/application_type/oracle.py:16 -#: applications/serializers/attrs/application_type/pgsql.py:10 -#: applications/serializers/attrs/application_type/redis.py:10 -#: applications/serializers/attrs/application_type/sqlserver.py:10 -#: assets/models/asset.py:214 assets/models/domain.py:62 -#: settings/serializers/auth/radius.py:15 settings/serializers/auth/sms.py:57 -#: xpack/plugins/cloud/serializers/account_attrs.py:73 -msgid "Port" -msgstr "端口" +#: assets/const/category.py:12 +msgid "Device" +msgstr "" -#: applications/serializers/attrs/application_category/remote_app.py:34 -msgid "Asset Info" -msgstr "资产信息" - -#: applications/serializers/attrs/application_category/remote_app.py:39 -#: applications/serializers/attrs/application_type/chrome.py:14 -#: applications/serializers/attrs/application_type/mysql_workbench.py:14 -#: applications/serializers/attrs/application_type/vmware_client.py:18 -msgid "Application path" -msgstr "应用路径" - -#: applications/serializers/attrs/application_category/remote_app.py:44 -#: assets/serializers/system_user.py:167 -#: tickets/serializers/ticket/apply_application.py:38 -#: tickets/serializers/ticket/common.py:59 -#: xpack/plugins/change_auth_plan/serializers/asset.py:67 -#: xpack/plugins/change_auth_plan/serializers/asset.py:70 -#: xpack/plugins/change_auth_plan/serializers/asset.py:73 -#: xpack/plugins/change_auth_plan/serializers/asset.py:104 -#: xpack/plugins/cloud/serializers/account_attrs.py:56 -msgid "This field is required." -msgstr "该字段是必填项。" +#: assets/const/category.py:13 assets/models/asset/database.py:8 +#: assets/models/asset/database.py:18 +#: xpack/plugins/change_auth_plan/models/app.py:31 +msgid "Database" +msgstr "数据库" -#: applications/serializers/attrs/application_type/chrome.py:18 -#: applications/serializers/attrs/application_type/vmware_client.py:22 -msgid "Target URL" -msgstr "目标URL" +#: assets/const/category.py:14 +msgid "Cloud service" +msgstr "云服务" -#: applications/serializers/attrs/application_type/chrome.py:22 -msgid "Chrome username" -msgstr "Chrome 用户名" +#: assets/const/category.py:15 +msgid "Web" +msgstr "Web" -#: applications/serializers/attrs/application_type/chrome.py:26 -#: applications/serializers/attrs/application_type/chrome.py:33 -msgid "Chrome password" -msgstr "Chrome 密码" +#: assets/const/device.py:7 tickets/const.py:8 +msgid "General" +msgstr "一般" -#: applications/serializers/attrs/application_type/custom.py:12 -msgid "Operating parameter" -msgstr "运行参数" +#: assets/const/device.py:8 +msgid "Switch" +msgstr "交换机" -#: applications/serializers/attrs/application_type/custom.py:16 -msgid "Target url" -msgstr "目标URL" +#: assets/const/device.py:9 +msgid "Router" +msgstr "路由器" -#: applications/serializers/attrs/application_type/custom.py:20 -msgid "Custom Username" -msgstr "自定义用户名" +#: assets/const/device.py:10 +msgid "Firewall" +msgstr "防火墙" -#: applications/serializers/attrs/application_type/custom.py:25 -#: applications/serializers/attrs/application_type/custom.py:32 -#: xpack/plugins/change_auth_plan/models/base.py:27 -msgid "Custom password" -msgstr "自定义密码" +#: assets/const/web.py:7 +msgid "Website" +msgstr "网站" -#: applications/serializers/attrs/application_type/mysql_workbench.py:30 -msgid "Mysql workbench username" -msgstr "Mysql 工作台 用户名" +#: assets/models/_user.py:24 +msgid "Automatic managed" +msgstr "托管的" -#: applications/serializers/attrs/application_type/mysql_workbench.py:35 -#: applications/serializers/attrs/application_type/mysql_workbench.py:42 -msgid "Mysql workbench password" -msgstr "Mysql 工作台 密码" +#: assets/models/_user.py:25 +msgid "Manually input" +msgstr "手动输入" -#: applications/serializers/attrs/application_type/oracle.py:14 -msgid "Magnus currently supports only 11g and 12c connections" -msgstr "目前 Magnus 只支持连接 11g、12c 版本" +#: assets/models/_user.py:29 +msgid "Common user" +msgstr "普通用户" -#: applications/serializers/attrs/application_type/vmware_client.py:26 -msgid "Vmware username" -msgstr "Vmware 用户名" +#: assets/models/_user.py:30 +msgid "Admin user" +msgstr "特权用户" -#: applications/serializers/attrs/application_type/vmware_client.py:31 -#: applications/serializers/attrs/application_type/vmware_client.py:38 -msgid "Vmware password" -msgstr "Vmware 密码" +#: assets/models/_user.py:35 assets/models/base.py:59 +#: assets/models/domain.py:71 assets/serializers/base.py:15 +#: audits/signal_handlers.py:50 authentication/confirm/password.py:9 +#: authentication/forms.py:32 +#: authentication/templates/authentication/login.html:228 +#: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:46 +#: users/forms/profile.py:22 users/serializers/user.py:94 +#: users/templates/users/_msg_user_created.html:13 +#: users/templates/users/user_password_verify.html:18 +#: xpack/plugins/change_auth_plan/models/base.py:42 +#: xpack/plugins/change_auth_plan/models/base.py:117 +#: xpack/plugins/change_auth_plan/models/base.py:192 +#: xpack/plugins/change_auth_plan/serializers/base.py:21 +#: xpack/plugins/change_auth_plan/serializers/base.py:73 +#: xpack/plugins/cloud/serializers/account_attrs.py:28 +msgid "Password" +msgstr "密码" -#: assets/api/domain.py:52 -msgid "Number required" -msgstr "需要为数字" +#: assets/models/_user.py:36 assets/models/domain.py:72 +#: assets/serializers/base.py:19 +#: xpack/plugins/change_auth_plan/models/asset.py:54 +#: xpack/plugins/change_auth_plan/models/asset.py:131 +#: xpack/plugins/change_auth_plan/models/asset.py:207 +msgid "SSH private key" +msgstr "SSH 密钥" -#: assets/api/node.py:61 -msgid "You can't update the root node name" -msgstr "不能修改根节点名称" +#: assets/models/_user.py:37 assets/models/domain.py:73 +#: xpack/plugins/change_auth_plan/models/asset.py:57 +#: xpack/plugins/change_auth_plan/models/asset.py:127 +#: xpack/plugins/change_auth_plan/models/asset.py:203 +msgid "SSH public key" +msgstr "SSH 公钥" -#: assets/api/node.py:68 -msgid "You can't delete the root node ({})" -msgstr "不能删除根节点 ({})" +#: assets/models/_user.py:38 assets/models/base.py:62 +#: authentication/models.py:53 +msgid "Token" +msgstr "Token" -#: assets/api/node.py:71 -msgid "Deletion failed and the node contains assets" -msgstr "删除失败,节点包含资产" +#: assets/models/_user.py:41 assets/models/automations/base.py:87 +#: assets/models/base.py:71 assets/models/domain.py:26 +#: assets/models/gathered_user.py:19 assets/models/group.py:22 +#: common/db/models.py:76 common/mixins/models.py:50 ops/models/base.py:53 +#: orgs/models.py:72 perms/models/asset_permission.py:82 +#: users/models/group.py:18 users/models/user.py:927 +msgid "Date created" +msgstr "创建日期" -#: assets/apps.py:9 -msgid "App assets" -msgstr "资产管理" +#: assets/models/_user.py:42 assets/models/base.py:72 +#: assets/models/gathered_user.py:20 common/db/models.py:77 +#: common/mixins/models.py:51 +msgid "Date updated" +msgstr "更新日期" -#: assets/models/asset.py:139 -msgid "Base" -msgstr "基础" +#: assets/models/_user.py:43 assets/models/base.py:73 +#: assets/models/cmd_filter.py:44 assets/models/cmd_filter.py:91 +#: assets/models/group.py:21 common/db/models.py:74 common/mixins/models.py:49 +#: orgs/models.py:71 perms/models/asset_permission.py:81 +#: users/models/user.py:710 users/serializers/group.py:33 +#: xpack/plugins/change_auth_plan/models/base.py:48 +msgid "Created by" +msgstr "创建者" -#: assets/models/asset.py:140 -msgid "Charset" -msgstr "编码" +#: assets/models/_user.py:45 +msgid "Username same with user" +msgstr "用户名与用户相同" -#: assets/models/asset.py:141 assets/serializers/asset.py:176 -#: tickets/models/ticket/general.py:298 -msgid "Meta" -msgstr "元数据" +#: assets/models/_user.py:48 assets/models/domain.py:67 +#: terminal/serializers/session.py:18 terminal/serializers/session.py:32 +#: terminal/serializers/storage.py:68 +msgid "Protocol" +msgstr "协议" -#: assets/models/asset.py:142 -msgid "Internal" -msgstr "内部的" +#: assets/models/_user.py:49 +msgid "Auto push" +msgstr "自动推送" -#: assets/models/asset.py:162 assets/models/asset.py:216 -#: assets/serializers/account.py:15 assets/serializers/asset.py:63 -#: perms/serializers/asset/user_permission.py:43 -#: xpack/plugins/cloud/serializers/account_attrs.py:162 -msgid "Platform" -msgstr "资产平台" +#: assets/models/_user.py:50 +msgid "Sudo" +msgstr "Sudo" -#: assets/models/asset.py:168 -msgid "Vendor" -msgstr "制造商" +#: assets/models/_user.py:51 +msgid "Shell" +msgstr "Shell" -#: assets/models/asset.py:169 -msgid "Model" -msgstr "型号" +#: assets/models/_user.py:52 +msgid "Login mode" +msgstr "认证方式" -#: assets/models/asset.py:170 tickets/models/ticket/general.py:296 -msgid "Serial number" -msgstr "序列号" +#: assets/models/_user.py:53 +msgid "SFTP Root" +msgstr "SFTP根路径" -#: assets/models/asset.py:172 -msgid "CPU model" -msgstr "CPU型号" +#: assets/models/_user.py:54 +msgid "Home" +msgstr "家目录" -#: assets/models/asset.py:173 -msgid "CPU count" -msgstr "CPU数量" +#: assets/models/_user.py:55 +msgid "System groups" +msgstr "用户组" -#: assets/models/asset.py:174 -msgid "CPU cores" -msgstr "CPU核数" +#: assets/models/_user.py:58 +msgid "User switch" +msgstr "用户切换" -#: assets/models/asset.py:175 -msgid "CPU vcpus" -msgstr "CPU总数" +#: assets/models/_user.py:59 +msgid "Switch from" +msgstr "切换自" -#: assets/models/asset.py:176 -msgid "Memory" -msgstr "内存" +#: assets/models/_user.py:65 audits/models.py:40 +#: terminal/backends/command/models.py:22 +#: terminal/backends/command/serializers.py:36 +#: xpack/plugins/change_auth_plan/models/app.py:35 +#: xpack/plugins/change_auth_plan/models/app.py:146 +msgid "System user" +msgstr "系统用户" -#: assets/models/asset.py:177 -msgid "Disk total" -msgstr "硬盘大小" +#: assets/models/_user.py:67 +msgid "Can match system user" +msgstr "可以匹配系统用户" -#: assets/models/asset.py:178 -msgid "Disk info" -msgstr "硬盘信息" +#: assets/models/account.py:40 +msgid "Su from" +msgstr "切换自" -#: assets/models/asset.py:180 -msgid "OS" -msgstr "操作系统" +#: assets/models/account.py:42 settings/serializers/auth/cas.py:18 +msgid "Version" +msgstr "版本" -#: assets/models/asset.py:181 -msgid "OS version" -msgstr "系统版本" +#: assets/models/account.py:54 +msgid "Can view asset account secret" +msgstr "可以查看资产账号密码" -#: assets/models/asset.py:182 -msgid "OS arch" -msgstr "系统架构" +#: assets/models/account.py:55 +msgid "Can change asset account secret" +msgstr "可以更改资产账号密码" -#: assets/models/asset.py:183 -msgid "Hostname raw" -msgstr "主机名原始" +#: assets/models/account.py:56 +msgid "Can view asset history account" +msgstr "可以查看资产历史账号" -#: assets/models/asset.py:215 assets/serializers/account.py:16 -#: assets/serializers/asset.py:65 perms/serializers/asset/user_permission.py:41 -#: xpack/plugins/cloud/models.py:107 xpack/plugins/cloud/serializers/task.py:43 -msgid "Protocols" -msgstr "协议组" +#: assets/models/account.py:57 +msgid "Can view asset history account secret" +msgstr "可以查看资产历史账号密码" + +#: assets/models/account.py:80 assets/serializers/account/account.py:13 +msgid "Account template" +msgstr "账号模版" + +#: assets/models/asset/common.py:82 assets/models/domain.py:66 +#: assets/models/platform.py:23 settings/serializers/auth/radius.py:15 +#: settings/serializers/auth/sms.py:57 +#: xpack/plugins/cloud/serializers/account_attrs.py:73 +msgid "Port" +msgstr "端口" + +#: assets/models/asset/common.py:94 assets/models/platform.py:104 +#: assets/serializers/asset/common.py:65 +#: perms/serializers/user_permission.py:21 +#: xpack/plugins/cloud/serializers/account_attrs.py:172 +msgid "Platform" +msgstr "资产平台" + +#: assets/models/asset/common.py:96 assets/models/domain.py:29 +#: assets/models/domain.py:68 assets/serializers/asset/common.py:64 +msgid "Domain" +msgstr "网域" -#: assets/models/asset.py:218 assets/models/user.py:242 -#: perms/models/asset_permission.py:24 -#: xpack/plugins/change_auth_plan/models/asset.py:43 +#: assets/models/asset/common.py:98 assets/models/automations/base.py:26 +#: assets/serializers/asset/common.py:66 perms/models/asset_permission.py:67 +#: xpack/plugins/change_auth_plan/models/asset.py:44 #: xpack/plugins/gathered_user/models.py:24 msgid "Nodes" msgstr "节点" -#: assets/models/asset.py:219 assets/models/cmd_filter.py:47 -#: assets/models/domain.py:66 assets/models/label.py:22 -#: users/serializers/user.py:147 +#: assets/models/asset/common.py:99 assets/models/automations/base.py:32 +#: assets/models/cmd_filter.py:39 assets/models/domain.py:70 +#: assets/models/label.py:21 users/serializers/user.py:147 msgid "Is active" msgstr "激活" -#: assets/models/asset.py:222 assets/models/cluster.py:19 -#: assets/models/user.py:239 assets/models/user.py:394 -msgid "Admin user" -msgstr "特权用户" - -#: assets/models/asset.py:225 -msgid "Public IP" -msgstr "公网IP" - -#: assets/models/asset.py:226 -msgid "Asset number" -msgstr "资产编号" - -#: assets/models/asset.py:228 +#: assets/models/asset/common.py:100 assets/serializers/asset/common.py:67 msgid "Labels" msgstr "标签管理" -#: assets/models/asset.py:229 assets/models/base.py:183 -#: assets/models/cluster.py:28 assets/models/cmd_filter.py:52 -#: assets/models/cmd_filter.py:99 assets/models/group.py:21 -#: common/db/models.py:112 common/mixins/models.py:49 orgs/models.py:71 -#: orgs/models.py:225 perms/models/base.py:91 users/models/user.py:710 -#: users/serializers/group.py:33 -#: xpack/plugins/change_auth_plan/models/base.py:48 -#: xpack/plugins/cloud/models.py:122 xpack/plugins/gathered_user/models.py:30 -msgid "Created by" -msgstr "创建者" - -#: assets/models/asset.py:389 +#: assets/models/asset/common.py:222 msgid "Can refresh asset hardware info" msgstr "可以更新资产硬件信息" -#: assets/models/asset.py:390 +#: assets/models/asset/common.py:223 msgid "Can test asset connectivity" msgstr "可以测试资产连接性" -#: assets/models/asset.py:391 +#: assets/models/asset/common.py:224 msgid "Can push system user to asset" msgstr "可以推送系统用户到资产" -#: assets/models/asset.py:392 +#: assets/models/asset/common.py:225 msgid "Can match asset" msgstr "可以匹配资产" -#: assets/models/asset.py:393 +#: assets/models/asset/common.py:226 msgid "Add asset to node" msgstr "添加资产到节点" -#: assets/models/asset.py:394 +#: assets/models/asset/common.py:227 msgid "Move asset to node" msgstr "移动资产到节点" -#: assets/models/authbook.py:27 -msgid "AuthBook" -msgstr "资产账号" +#: assets/models/automations/account_discovery.py:10 +msgid "Discovery strategy" +msgstr "自动发现策略" -#: assets/models/authbook.py:30 -msgid "Can test asset account connectivity" -msgstr "可以测试资产账号连接性" +#: assets/models/automations/account_reconcile.py:9 +msgid "Reconcile strategy" +msgstr "主机名策略" -#: assets/models/authbook.py:31 -msgid "Can view asset account secret" -msgstr "可以查看资产账号密码" +#: assets/models/automations/account_verify.py:9 +#, fuzzy +#| msgid "SSH Key strategy" +msgid "Verify strategy" +msgstr "SSH 密钥策略" -#: assets/models/authbook.py:32 -msgid "Can change asset account secret" -msgstr "可以更改资产账号密码" +#: assets/models/automations/base.py:15 +msgid "Ping" +msgstr "" -#: assets/models/authbook.py:33 -msgid "Can view asset history account" -msgstr "可以查看资产历史账号" +#: assets/models/automations/base.py:16 +#, fuzzy +#| msgid "Gather account" +msgid "Gather facts" +msgstr "收集账号" -#: assets/models/authbook.py:34 -msgid "Can view asset history account secret" -msgstr "可以查看资产历史账号密码" +#: assets/models/automations/base.py:17 +#, fuzzy +#| msgid "Gather account" +msgid "Create account" +msgstr "收集账号" -#: assets/models/backup.py:30 perms/models/base.py:54 -#: settings/serializers/terminal.py:12 -msgid "All" -msgstr "全部" +#: assets/models/automations/base.py:18 +#: assets/models/automations/change_secret.py:56 +#, fuzzy +#| msgid "Change auth" +msgid "Change secret" +msgstr "执行改密" -#: assets/models/backup.py:52 assets/serializers/backup.py:32 -#: xpack/plugins/change_auth_plan/models/app.py:41 -#: xpack/plugins/change_auth_plan/models/asset.py:62 +#: assets/models/automations/base.py:19 +#, fuzzy +#| msgid "Verify auth" +msgid "Verify account" +msgstr "验证密码/密钥" + +#: assets/models/automations/base.py:20 +#, fuzzy +#| msgid "Gather account" +msgid "Gather accounts" +msgstr "收集账号" + +#: assets/models/automations/base.py:24 assets/models/cmd_filter.py:38 +#: assets/serializers/asset/common.py:68 perms/models/asset_permission.py:70 +#: rbac/tree.py:37 +msgid "Accounts" +msgstr "账号管理" + +#: assets/models/automations/base.py:29 assets/serializers/domain.py:29 +#: ops/models/base.py:17 +#: terminal/templates/terminal/_msg_command_execute_alert.html:16 +#: xpack/plugins/change_auth_plan/models/asset.py:40 +msgid "Assets" +msgstr "资产" + +#: assets/models/automations/base.py:77 +#, fuzzy +#| msgid "Automatic managed" +msgid "Automation plan" +msgstr "托管密码" + +#: assets/models/automations/base.py:84 +#, fuzzy +#| msgid "Hostname strategy" +msgid "Automation strategy" +msgstr "主机名策略" + +#: assets/models/automations/base.py:88 assets/models/backup.py:77 +#: audits/models.py:44 ops/models/base.py:54 +#: perms/models/asset_permission.py:76 terminal/models/session.py:43 +#: tickets/models/ticket/apply_application.py:28 +#: tickets/models/ticket/apply_asset.py:21 +#: xpack/plugins/change_auth_plan/models/base.py:108 +#: xpack/plugins/change_auth_plan/models/base.py:199 +#: xpack/plugins/gathered_user/models.py:71 +msgid "Date start" +msgstr "开始日期" + +#: assets/models/automations/base.py:89 +#: assets/models/automations/change_secret.py:51 ops/models/base.py:55 +msgid "Date finished" +msgstr "结束日期" + +#: assets/models/automations/base.py:91 +#, fuzzy +#| msgid "Relation snapshot" +msgid "Automation snapshot" +msgstr "工单快照" + +#: assets/models/automations/base.py:95 assets/models/backup.py:88 +#: assets/serializers/account/backup.py:36 +#: xpack/plugins/change_auth_plan/models/base.py:121 +#: xpack/plugins/change_auth_plan/serializers/base.py:78 +msgid "Trigger mode" +msgstr "触发模式" + +#: assets/models/automations/base.py:99 +#, fuzzy +#| msgid "Command execution" +msgid "Automation strategy execution" +msgstr "命令执行" + +#: assets/models/automations/change_secret.py:13 +msgid "Specific" +msgstr "" + +#: assets/models/automations/change_secret.py:14 ops/const.py:20 +#: xpack/plugins/change_auth_plan/models/base.py:28 +msgid "All assets use the same random password" +msgstr "使用相同的随机密码" + +#: assets/models/automations/change_secret.py:15 ops/const.py:21 +#: xpack/plugins/change_auth_plan/models/base.py:29 +msgid "All assets use different random password" +msgstr "使用不同的随机密码" + +#: assets/models/automations/change_secret.py:19 ops/const.py:13 +#: xpack/plugins/change_auth_plan/models/asset.py:30 +msgid "Append SSH KEY" +msgstr "追加" + +#: assets/models/automations/change_secret.py:20 ops/const.py:14 +#: xpack/plugins/change_auth_plan/models/asset.py:31 +msgid "Empty and append SSH KEY" +msgstr "清空所有并添加" + +#: assets/models/automations/change_secret.py:21 ops/const.py:15 +#: xpack/plugins/change_auth_plan/models/asset.py:32 +msgid "Replace (The key generated by JumpServer) " +msgstr "替换 (由 JumpServer 生成的密钥)" + +#: assets/models/automations/change_secret.py:25 +#, fuzzy +#| msgid "Secret key" +msgid "Secret types" +msgstr "Secret key" + +#: assets/models/automations/change_secret.py:27 users/serializers/user.py:81 +#: xpack/plugins/change_auth_plan/models/base.py:35 +#: xpack/plugins/change_auth_plan/serializers/base.py:27 +msgid "Password strategy" +msgstr "密码策略" + +#: assets/models/automations/change_secret.py:28 +#: assets/models/automations/change_secret.py:49 assets/models/base.py:68 +#: assets/serializers/account/base.py:17 authentication/models.py:73 +#: authentication/models.py:249 +#: authentication/templates/authentication/_access_key_modal.html:31 +#: settings/serializers/auth/radius.py:17 +msgid "Secret" +msgstr "密钥" + +#: assets/models/automations/change_secret.py:29 +#: xpack/plugins/change_auth_plan/models/base.py:39 +msgid "Password rules" +msgstr "密码规则" + +#: assets/models/automations/change_secret.py:32 assets/models/base.py:60 +#, fuzzy +#| msgid "SSH Key" +msgid "SSH key" +msgstr "SSH 密钥" + +#: assets/models/automations/change_secret.py:34 +#, fuzzy +#| msgid "SSH Key strategy" +msgid "SSH key strategy" +msgstr "SSH 密钥策略" + +#: assets/models/automations/change_secret.py:35 assets/models/backup.py:28 +#: assets/serializers/account/backup.py:28 +#: xpack/plugins/change_auth_plan/models/app.py:40 +#: xpack/plugins/change_auth_plan/models/asset.py:63 #: xpack/plugins/change_auth_plan/serializers/base.py:45 msgid "Recipient" -msgstr "收件人" - -#: assets/models/backup.py:62 assets/models/backup.py:124 -msgid "Account backup plan" -msgstr "账号备份计划" +msgstr "收件人" -#: assets/models/backup.py:100 -#: xpack/plugins/change_auth_plan/models/base.py:107 -msgid "Manual trigger" -msgstr "手动触发" +#: assets/models/automations/change_secret.py:42 +#, fuzzy +#| msgid "Can change auth setting" +msgid "Change auth strategy" +msgstr "认证设置" -#: assets/models/backup.py:101 -#: xpack/plugins/change_auth_plan/models/base.py:108 -msgid "Timing trigger" -msgstr "定时触发" +#: assets/models/automations/change_secret.py:48 +#, fuzzy +#| msgid "Secret" +msgid "Old secret" +msgstr "密钥" -#: assets/models/backup.py:105 audits/models.py:44 ops/models/command.py:31 -#: perms/models/base.py:89 terminal/models/session.py:58 -#: tickets/models/ticket/apply_application.py:29 -#: tickets/models/ticket/apply_asset.py:23 -#: xpack/plugins/change_auth_plan/models/base.py:112 -#: xpack/plugins/change_auth_plan/models/base.py:203 -#: xpack/plugins/gathered_user/models.py:76 -msgid "Date start" +#: assets/models/automations/change_secret.py:50 +#, fuzzy +#| msgid "Date start" +msgid "Date started" msgstr "开始日期" -#: assets/models/backup.py:108 +#: assets/models/automations/change_secret.py:53 +#, fuzzy +#| msgid "WeCom Error" +msgid "Error" +msgstr "企业微信错误" + +#: assets/models/automations/gather_facts.py:11 +#, fuzzy +#| msgid "Gather assets users" +msgid "Gather asset facts" +msgstr "收集资产上的用户" + +#: assets/models/backup.py:38 assets/models/backup.py:96 +msgid "Account backup plan" +msgstr "账号备份计划" + +#: assets/models/backup.py:80 #: authentication/templates/authentication/_msg_oauth_bind.html:11 -#: notifications/notifications.py:187 ops/models/adhoc.py:258 -#: xpack/plugins/change_auth_plan/models/base.py:115 -#: xpack/plugins/change_auth_plan/models/base.py:204 -#: xpack/plugins/gathered_user/models.py:79 +#: notifications/notifications.py:187 +#: xpack/plugins/change_auth_plan/models/base.py:111 +#: xpack/plugins/change_auth_plan/models/base.py:200 +#: xpack/plugins/gathered_user/models.py:74 msgid "Time" msgstr "时间" -#: assets/models/backup.py:112 +#: assets/models/backup.py:84 msgid "Account backup snapshot" msgstr "账号备份快照" -#: assets/models/backup.py:116 assets/serializers/backup.py:40 -#: xpack/plugins/change_auth_plan/models/base.py:125 -#: xpack/plugins/change_auth_plan/serializers/base.py:78 -msgid "Trigger mode" -msgstr "触发模式" - -#: assets/models/backup.py:119 audits/models.py:127 +#: assets/models/backup.py:91 audits/models.py:127 #: terminal/models/sharing.py:108 -#: xpack/plugins/change_auth_plan/models/base.py:201 -#: xpack/plugins/change_auth_plan/serializers/app.py:66 -#: xpack/plugins/change_auth_plan/serializers/asset.py:180 -#: xpack/plugins/cloud/models.py:179 +#: xpack/plugins/change_auth_plan/models/base.py:197 +#: xpack/plugins/change_auth_plan/serializers/asset.py:171 +#: xpack/plugins/cloud/models.py:175 msgid "Reason" msgstr "原因" -#: assets/models/backup.py:121 audits/serializers.py:82 -#: audits/serializers.py:97 ops/models/adhoc.py:260 -#: terminal/serializers/session.py:36 -#: xpack/plugins/change_auth_plan/models/base.py:202 -#: xpack/plugins/change_auth_plan/serializers/app.py:67 -#: xpack/plugins/change_auth_plan/serializers/asset.py:182 +#: assets/models/backup.py:93 terminal/serializers/session.py:36 +#: xpack/plugins/change_auth_plan/models/base.py:198 +#: xpack/plugins/change_auth_plan/serializers/asset.py:173 msgid "Is success" msgstr "是否成功" -#: assets/models/backup.py:128 +#: assets/models/backup.py:100 msgid "Account backup execution" msgstr "账号备份执行" -#: assets/models/base.py:30 assets/tasks/const.py:51 audits/const.py:5 +#: assets/models/base.py:28 assets/tasks/const.py:51 audits/const.py:5 #: common/utils/ip/geoip/utils.py:31 common/utils/ip/geoip/utils.py:37 #: common/utils/ip/utils.py:84 msgid "Unknown" msgstr "未知" -#: assets/models/base.py:31 +#: assets/models/base.py:29 msgid "Ok" msgstr "成功" -#: assets/models/base.py:32 audits/models.py:118 -#: xpack/plugins/change_auth_plan/serializers/app.py:88 -#: xpack/plugins/change_auth_plan/serializers/asset.py:199 +#: assets/models/base.py:30 audits/models.py:118 +#: xpack/plugins/change_auth_plan/serializers/asset.py:190 #: xpack/plugins/cloud/const.py:33 msgid "Failed" msgstr "失败" -#: assets/models/base.py:38 assets/serializers/domain.py:47 +#: assets/models/base.py:36 assets/serializers/domain.py:42 msgid "Connectivity" msgstr "可连接性" -#: assets/models/base.py:40 authentication/models.py:263 +#: assets/models/base.py:38 authentication/models.py:251 msgid "Date verified" msgstr "校验日期" -#: assets/models/base.py:177 assets/serializers/base.py:15 -#: assets/serializers/base.py:37 assets/serializers/system_user.py:29 -#: audits/signal_handlers.py:50 authentication/confirm/password.py:9 -#: authentication/forms.py:32 -#: authentication/templates/authentication/login.html:228 -#: settings/serializers/auth/ldap.py:25 settings/serializers/auth/ldap.py:46 -#: users/forms/profile.py:22 users/serializers/user.py:94 -#: users/templates/users/_msg_user_created.html:13 -#: users/templates/users/user_password_verify.html:18 -#: xpack/plugins/change_auth_plan/models/base.py:42 -#: xpack/plugins/change_auth_plan/models/base.py:121 -#: xpack/plugins/change_auth_plan/models/base.py:196 -#: xpack/plugins/change_auth_plan/serializers/base.py:21 -#: xpack/plugins/change_auth_plan/serializers/base.py:73 -#: xpack/plugins/cloud/serializers/account_attrs.py:28 -msgid "Password" -msgstr "密码" - -#: assets/models/base.py:178 assets/serializers/base.py:41 -#: xpack/plugins/change_auth_plan/models/asset.py:53 -#: xpack/plugins/change_auth_plan/models/asset.py:130 -#: xpack/plugins/change_auth_plan/models/asset.py:206 -msgid "SSH private key" -msgstr "SSH 密钥" - -#: assets/models/base.py:179 xpack/plugins/change_auth_plan/models/asset.py:56 -#: xpack/plugins/change_auth_plan/models/asset.py:126 -#: xpack/plugins/change_auth_plan/models/asset.py:202 -msgid "SSH public key" -msgstr "SSH 公钥" - -#: assets/models/cluster.py:20 -msgid "Bandwidth" -msgstr "带宽" - -#: assets/models/cluster.py:21 -msgid "Contact" -msgstr "联系人" - -#: assets/models/cluster.py:22 users/models/user.py:685 -msgid "Phone" -msgstr "手机" - -#: assets/models/cluster.py:23 -msgid "Address" -msgstr "地址" - -#: assets/models/cluster.py:24 -msgid "Intranet" -msgstr "内网" - -#: assets/models/cluster.py:25 -msgid "Extranet" -msgstr "外网" - -#: assets/models/cluster.py:27 -msgid "Operator" -msgstr "运营商" - -#: assets/models/cluster.py:36 assets/models/group.py:34 -#: xpack/plugins/cloud/providers/nutanix.py:30 -msgid "Default" -msgstr "默认" +#: assets/models/base.py:61 authentication/models.py:38 +msgid "Access key" +msgstr "Access key" -#: assets/models/cluster.py:36 assets/models/label.py:14 rbac/const.py:6 -#: users/models/user.py:911 -msgid "System" -msgstr "系统" +#: assets/models/base.py:67 +#, fuzzy +#| msgid "Secret key" +msgid "Secret type" +msgstr "Secret key" -#: assets/models/cluster.py:36 -msgid "Default Cluster" -msgstr "默认Cluster" +#: assets/models/base.py:69 +msgid "Privileged" +msgstr "" -#: assets/models/cmd_filter.py:34 perms/models/base.py:86 +#: assets/models/cmd_filter.py:32 perms/models/asset_permission.py:61 #: users/models/group.py:31 users/models/user.py:671 msgid "User group" msgstr "用户组" -#: assets/models/cmd_filter.py:60 assets/serializers/system_user.py:59 +#: assets/models/cmd_filter.py:52 msgid "Command filter" msgstr "命令过滤器" -#: assets/models/cmd_filter.py:67 +#: assets/models/cmd_filter.py:59 msgid "Regex" msgstr "正则表达式" -#: assets/models/cmd_filter.py:68 ops/models/command.py:26 -#: terminal/backends/command/serializers.py:15 terminal/models/session.py:55 +#: assets/models/cmd_filter.py:60 terminal/backends/command/serializers.py:15 +#: terminal/models/session.py:41 #: terminal/templates/terminal/_msg_command_alert.html:12 #: terminal/templates/terminal/_msg_command_execute_alert.html:10 msgid "Command" msgstr "命令" -#: assets/models/cmd_filter.py:74 +#: assets/models/cmd_filter.py:66 msgid "Deny" msgstr "拒绝" -#: assets/models/cmd_filter.py:76 +#: assets/models/cmd_filter.py:68 msgid "Reconfirm" msgstr "复核" -#: assets/models/cmd_filter.py:80 +#: assets/models/cmd_filter.py:72 msgid "Filter" msgstr "过滤器" -#: assets/models/cmd_filter.py:87 settings/serializers/basic.py:10 +#: assets/models/cmd_filter.py:79 settings/serializers/basic.py:10 #: xpack/plugins/license/models.py:29 msgid "Content" msgstr "内容" -#: assets/models/cmd_filter.py:87 +#: assets/models/cmd_filter.py:79 msgid "One line one command" msgstr "每行一个命令" -#: assets/models/cmd_filter.py:88 +#: assets/models/cmd_filter.py:80 msgid "Ignore case" msgstr "忽略大小写" -#: assets/models/cmd_filter.py:103 +#: assets/models/cmd_filter.py:95 msgid "Command filter rule" msgstr "命令过滤规则" -#: assets/models/cmd_filter.py:147 +#: assets/models/cmd_filter.py:138 msgid "The generated regular expression is incorrect: {}" msgstr "生成的正则表达式有误" -#: assets/models/cmd_filter.py:173 tickets/const.py:13 +#: assets/models/cmd_filter.py:164 tickets/const.py:12 msgid "Command confirm" msgstr "命令复核" -#: assets/models/domain.py:73 +#: assets/models/domain.py:84 msgid "Gateway" msgstr "网关" -#: assets/models/domain.py:75 +#: assets/models/domain.py:86 msgid "Test gateway" msgstr "测试网关" -#: assets/models/domain.py:131 -#, python-brace-format -msgid "Unable to connect to port {port} on {ip}" +#: assets/models/domain.py:142 +#, fuzzy, python-brace-format +#| msgid "Unable to connect to port {port} on {ip}" +msgid "Unable to connect to port {port} on {address}" msgstr "无法连接到 {ip} 上的端口 {port}" -#: assets/models/domain.py:134 authentication/middleware.py:75 +#: assets/models/domain.py:145 authentication/middleware.py:75 #: xpack/plugins/cloud/providers/fc.py:48 msgid "Authentication failed" msgstr "认证失败" -#: assets/models/domain.py:136 assets/models/domain.py:158 +#: assets/models/domain.py:147 assets/models/domain.py:169 msgid "Connect failed" msgstr "连接失败" @@ -953,15 +947,28 @@ msgstr "收集用户" msgid "Asset group" msgstr "资产组" +#: assets/models/group.py:34 assets/models/platform.py:20 +#: xpack/plugins/cloud/providers/nutanix.py:30 +msgid "Default" +msgstr "默认" + #: assets/models/group.py:34 msgid "Default asset group" msgstr "默认资产组" -#: assets/models/label.py:19 assets/models/node.py:553 settings/models.py:34 +#: assets/models/label.py:14 rbac/const.py:6 users/models/user.py:912 +msgid "System" +msgstr "系统" + +#: assets/models/label.py:18 assets/models/node.py:553 +#: assets/serializers/cagegory.py:7 assets/serializers/cagegory.py:14 +#: common/drf/serializers/common.py:82 settings/models.py:34 msgid "Value" msgstr "值" -#: assets/models/label.py:40 settings/serializers/sms.py:7 +#: assets/models/label.py:36 assets/serializers/cagegory.py:6 +#: assets/serializers/cagegory.py:13 common/drf/serializers/common.py:81 +#: settings/serializers/sms.py:7 msgid "Label" msgstr "标签" @@ -973,7 +980,7 @@ msgstr "新节点" msgid "empty" msgstr "空" -#: assets/models/node.py:552 perms/models/asset_permission.py:101 +#: assets/models/node.py:552 perms/models/asset_permission.py:190 msgid "Key" msgstr "键" @@ -981,12 +988,12 @@ msgstr "键" msgid "Full value" msgstr "全称" -#: assets/models/node.py:557 perms/models/asset_permission.py:102 +#: assets/models/node.py:557 perms/models/asset_permission.py:191 msgid "Parent key" msgstr "ssh私钥" -#: assets/models/node.py:566 assets/serializers/system_user.py:267 -#: xpack/plugins/cloud/models.py:96 xpack/plugins/cloud/serializers/task.py:70 +#: assets/models/node.py:566 xpack/plugins/cloud/models.py:98 +#: xpack/plugins/cloud/serializers/task.py:68 msgid "Node" msgstr "节点" @@ -994,82 +1001,123 @@ msgstr "节点" msgid "Can match node" msgstr "可以匹配节点" -#: assets/models/user.py:233 -msgid "Automatic managed" -msgstr "托管密码" +#: assets/models/platform.py:21 +#, fuzzy +#| msgid "MFA required" +msgid "Required" +msgstr "需要 MFA 认证" -#: assets/models/user.py:234 -msgid "Manually input" -msgstr "手动输入" +#: assets/models/platform.py:24 users/templates/users/reset_password.html:29 +msgid "Setting" +msgstr "设置" -#: assets/models/user.py:238 -msgid "Common user" -msgstr "普通用户" +#: assets/models/platform.py:43 audits/models.py:112 settings/models.py:37 +msgid "Enabled" +msgstr "启用" -#: assets/models/user.py:241 -msgid "Username same with user" -msgstr "用户名与用户相同" +#: assets/models/platform.py:44 +msgid "Ansible config" +msgstr "" -#: assets/models/user.py:244 assets/serializers/domain.py:30 -#: terminal/templates/terminal/_msg_command_execute_alert.html:16 -#: xpack/plugins/change_auth_plan/models/asset.py:39 -msgid "Assets" -msgstr "资产" +#: assets/models/platform.py:45 +#, fuzzy +#| msgid "MFA enabled" +msgid "Ping enabled" +msgstr "MFA 已启用" -#: assets/models/user.py:248 users/apps.py:9 -msgid "Users" -msgstr "用户管理" +#: assets/models/platform.py:46 +msgid "Ping method" +msgstr "" -#: assets/models/user.py:249 -msgid "User groups" -msgstr "用户组" +#: assets/models/platform.py:47 assets/models/platform.py:55 +#, fuzzy +#| msgid "Gather assets users" +msgid "Gather facts enabled" +msgstr "收集资产上的用户" -#: assets/models/user.py:253 -msgid "Auto push" -msgstr "自动推送" +#: assets/models/platform.py:48 assets/models/platform.py:56 +#, fuzzy +#| msgid "Gather assets users" +msgid "Gather facts method" +msgstr "收集资产上的用户" -#: assets/models/user.py:254 -msgid "Sudo" -msgstr "Sudo" +#: assets/models/platform.py:49 +#, fuzzy +#| msgid "Create account successfully" +msgid "Create account enabled" +msgstr "创建账号成功" -#: assets/models/user.py:255 -msgid "Shell" -msgstr "Shell" +#: assets/models/platform.py:50 +#, fuzzy +#| msgid "Create account successfully" +msgid "Create account method" +msgstr "创建账号成功" -#: assets/models/user.py:256 -msgid "Login mode" -msgstr "认证方式" +#: assets/models/platform.py:51 +#, fuzzy +#| msgid "Change Password" +msgid "Change password enabled" +msgstr "更改密码" -#: assets/models/user.py:257 -msgid "SFTP Root" -msgstr "SFTP根路径" +#: assets/models/platform.py:52 +#, fuzzy +#| msgid "Change Password" +msgid "Change password method" +msgstr "更改密码" -#: assets/models/user.py:258 assets/serializers/system_user.py:37 -#: authentication/models.py:52 -msgid "Token" -msgstr "Token" +#: assets/models/platform.py:53 +#, fuzzy +#| msgid "Service account key" +msgid "Verify account enabled" +msgstr "服务账号密钥" -#: assets/models/user.py:259 -msgid "Home" -msgstr "家目录" +#: assets/models/platform.py:54 +#, fuzzy +#| msgid "Verify auth" +msgid "Verify account method" +msgstr "验证密码/密钥" -#: assets/models/user.py:260 -msgid "System groups" -msgstr "用户组" +#: assets/models/platform.py:71 tickets/models/ticket/general.py:298 +msgid "Meta" +msgstr "元数据" -#: assets/models/user.py:263 -msgid "User switch" -msgstr "用户切换" +#: assets/models/platform.py:72 +msgid "Internal" +msgstr "内部的" -#: assets/models/user.py:264 -msgid "Switch from" -msgstr "切换自" +#: assets/models/platform.py:75 +msgid "Charset" +msgstr "编码" -#: assets/models/user.py:344 -msgid "Can match system user" -msgstr "可以匹配系统用户" +#: assets/models/platform.py:76 +#, fuzzy +#| msgid "Domain name" +msgid "Domain enabled" +msgstr "网域名称" + +#: assets/models/platform.py:77 +#, fuzzy +#| msgid "Protocols" +msgid "Protocols enabled" +msgstr "协议组" -#: assets/models/utils.py:35 +#: assets/models/platform.py:79 +#, fuzzy +#| msgid "MFA enabled" +msgid "Su enabled" +msgstr "MFA 已启用" + +#: assets/models/platform.py:80 +msgid "SU method" +msgstr "" + +#: assets/models/platform.py:82 assets/serializers/platform.py:78 +#, fuzzy +#| msgid "Automatic managed" +msgid "Automation" +msgstr "托管密码" + +#: assets/models/utils.py:19 #, python-format msgid "%(value)s is not an even number" msgstr "%(value)s is not an even number" @@ -1093,98 +1141,153 @@ msgstr "" "{} - 账号备份任务已完成: 未设置加密密码 - 请前往个人信息 -> 文件加密密码中设" "置加密密码" -#: assets/serializers/account.py:36 assets/serializers/account.py:87 -#: assets/serializers/account_history.py:10 authentication/models.py:87 -msgid "System user display" -msgstr "系统用户名称" +#: assets/serializers/account/account.py:16 +msgid "Push now" +msgstr "" + +#: assets/serializers/account/account.py:24 +msgid "Account template not found" +msgstr "" + +#: assets/serializers/account/backup.py:27 ops/mixin.py:104 +#: settings/serializers/auth/ldap.py:65 +#: xpack/plugins/change_auth_plan/serializers/base.py:43 +msgid "Periodic perform" +msgstr "定时执行" + +#: assets/serializers/account/backup.py:29 +#: xpack/plugins/change_auth_plan/serializers/base.py:46 +msgid "Currently only mail sending is supported" +msgstr "当前只支持邮件发送" + +#: assets/serializers/account/base.py:39 assets/serializers/base.py:34 +msgid "private key invalid or passphrase error" +msgstr "密钥不合法或密钥密码错误" + +#: assets/serializers/account/template.py:16 common/drf/fields.py:69 +#: tickets/serializers/ticket/common.py:58 +#: xpack/plugins/change_auth_plan/serializers/asset.py:64 +#: xpack/plugins/change_auth_plan/serializers/asset.py:67 +#: xpack/plugins/change_auth_plan/serializers/asset.py:70 +#: xpack/plugins/change_auth_plan/serializers/asset.py:101 +#: xpack/plugins/cloud/serializers/account_attrs.py:56 +msgid "This field is required." +msgstr "该字段是必填项。" + +#: assets/serializers/asset/common.py:69 assets/serializers/platform.py:77 +#: xpack/plugins/cloud/models.py:109 +msgid "Protocols" +msgstr "协议组" + +#: assets/serializers/asset/common.py:86 +msgid "Address" +msgstr "地址" -#: assets/serializers/asset.py:20 -msgid "Protocol format should {}/{}" -msgstr "协议格式 {}/{}" +#: assets/serializers/asset/common.py:129 +#, fuzzy +#| msgid "Application not exists" +msgid "Platform not exist" +msgstr "应用不存在" -#: assets/serializers/asset.py:37 -msgid "Protocol duplicate: {}" +#: assets/serializers/asset/common.py:145 +#, fuzzy +#| msgid "Protocol duplicate: {}" +msgid "Protocol is required: {}" msgstr "协议重复: {}" -#: assets/serializers/asset.py:66 -msgid "Domain name" -msgstr "网域名称" +#: assets/serializers/asset/host.py:12 +msgid "Vendor" +msgstr "制造商" -#: assets/serializers/asset.py:68 -msgid "Nodes name" -msgstr "节点名称" +#: assets/serializers/asset/host.py:13 +msgid "Model" +msgstr "型号" -#: assets/serializers/asset.py:71 -msgid "Labels name" -msgstr "标签名称" +#: assets/serializers/asset/host.py:14 tickets/models/ticket/general.py:296 +msgid "Serial number" +msgstr "序列号" -#: assets/serializers/asset.py:105 -msgid "Hardware info" -msgstr "硬件信息" +#: assets/serializers/asset/host.py:16 +msgid "CPU model" +msgstr "CPU型号" -#: assets/serializers/asset.py:106 -msgid "Admin user display" -msgstr "特权用户名称" +#: assets/serializers/asset/host.py:17 +msgid "CPU count" +msgstr "CPU数量" -#: assets/serializers/asset.py:107 -msgid "CPU info" -msgstr "CPU信息" +#: assets/serializers/asset/host.py:18 +msgid "CPU cores" +msgstr "CPU核数" -#: assets/serializers/backup.py:20 perms/models/base.py:87 -#: perms/serializers/application/permission.py:17 -#: perms/serializers/application/permission.py:42 -#: perms/serializers/asset/permission.py:18 -#: perms/serializers/asset/permission.py:46 -#: tickets/models/ticket/apply_application.py:27 -#: tickets/models/ticket/apply_asset.py:21 -msgid "Actions" -msgstr "动作" +#: assets/serializers/asset/host.py:19 +msgid "CPU vcpus" +msgstr "CPU总数" -#: assets/serializers/backup.py:31 ops/mixin.py:106 ops/mixin.py:147 -#: settings/serializers/auth/ldap.py:65 -#: xpack/plugins/change_auth_plan/serializers/base.py:43 -msgid "Periodic perform" -msgstr "定时执行" +#: assets/serializers/asset/host.py:20 +msgid "Memory" +msgstr "内存" -#: assets/serializers/backup.py:33 -#: xpack/plugins/change_auth_plan/serializers/base.py:46 -msgid "Currently only mail sending is supported" -msgstr "当前只支持邮件发送" +#: assets/serializers/asset/host.py:21 +msgid "Disk total" +msgstr "硬盘大小" -#: assets/serializers/base.py:16 users/models/user.py:693 -msgid "Private key" -msgstr "ssh私钥" +#: assets/serializers/asset/host.py:22 +msgid "Disk info" +msgstr "硬盘信息" + +#: assets/serializers/asset/host.py:24 +msgid "OS" +msgstr "操作系统" + +#: assets/serializers/asset/host.py:25 +msgid "OS version" +msgstr "系统版本" + +#: assets/serializers/asset/host.py:26 +msgid "OS arch" +msgstr "系统架构" + +#: assets/serializers/asset/host.py:27 +msgid "Hostname raw" +msgstr "主机名原始" -#: assets/serializers/base.py:45 +#: assets/serializers/asset/host.py:28 +msgid "Asset number" +msgstr "资产编号" + +#: assets/serializers/base.py:24 msgid "Key password" msgstr "密钥密码" -#: assets/serializers/base.py:58 -msgid "private key invalid or passphrase error" -msgstr "密钥不合法或密钥密码错误" - -#: assets/serializers/cmd_filter.py:35 assets/serializers/cmd_filter.py:50 -msgid "Action display" -msgstr "动作名称" +#: assets/serializers/cagegory.py:9 +msgid "Constraints" +msgstr "" -#: assets/serializers/cmd_filter.py:51 ops/models/adhoc.py:155 -msgid "Pattern" -msgstr "模式" +#: assets/serializers/cagegory.py:15 +#, fuzzy +#| msgid "Type" +msgid "Types" +msgstr "类型" #: assets/serializers/domain.py:14 assets/serializers/label.py:12 -#: assets/serializers/system_user.py:63 -#: perms/serializers/asset/permission.py:49 +#: perms/serializers/permission.py:83 msgid "Assets amount" msgstr "资产数量" #: assets/serializers/domain.py:15 -msgid "Applications amount" -msgstr "应用数量" - -#: assets/serializers/domain.py:16 msgid "Gateways count" msgstr "网关数量" +#: assets/serializers/label.py:13 assets/serializers/mixin.py:7 +msgid "Category display" +msgstr "类别名称" + +#: assets/serializers/mixin.py:10 audits/serializers.py:27 +#: authentication/serializers/connection_token.py:20 +#: tickets/serializers/flow.py:49 tickets/serializers/ticket/ticket.py:17 +msgid "Type display" +msgstr "类型名称" + #: assets/serializers/node.py:17 msgid "value" msgstr "值" @@ -1197,80 +1300,43 @@ msgstr "不能包含: /" msgid "The same level node name cannot be the same" msgstr "同级别节点名字不能重复" -#: assets/serializers/system_user.py:35 -msgid "SSH key fingerprint" -msgstr "密钥指纹" - -#: assets/serializers/system_user.py:40 -#: perms/serializers/application/permission.py:46 -msgid "Apps amount" -msgstr "应用数量" - -#: assets/serializers/system_user.py:62 -#: perms/serializers/asset/permission.py:50 -msgid "Nodes amount" -msgstr "节点数量" - -#: assets/serializers/system_user.py:64 assets/serializers/system_user.py:269 -msgid "Login mode display" -msgstr "认证方式名称" - -#: assets/serializers/system_user.py:66 -msgid "Ad domain" -msgstr "Ad 网域" - -#: assets/serializers/system_user.py:67 -msgid "Is asset protocol" -msgstr "资产协议" - -#: assets/serializers/system_user.py:68 -msgid "Only ssh and automatic login system users are supported" -msgstr "仅支持ssh协议和自动登录的系统用户" - -#: assets/serializers/system_user.py:108 -msgid "Username same with user with protocol {} only allow 1" -msgstr "用户名和用户相同的一种协议只允许存在一个" - -#: assets/serializers/system_user.py:121 common/validators.py:14 -msgid "Special char not allowed" -msgstr "不能包含特殊字符" - -#: assets/serializers/system_user.py:131 -msgid "* Automatic login mode must fill in the username." -msgstr "自动登录模式,必须填写用户名" - -#: assets/serializers/system_user.py:146 -msgid "Path should starts with /" -msgstr "路径应该以 / 开头" - -#: assets/serializers/system_user.py:158 -msgid "Password or private key required" -msgstr "密码或密钥密码需要一个" +#: assets/serializers/platform.py:24 +#, fuzzy +#| msgid "MFA enabled" +msgid "SFTP enabled" +msgstr "MFA 已启用" -#: assets/serializers/system_user.py:172 -msgid "Only ssh protocol system users are allowed" -msgstr "仅允许ssh协议的系统用户" +#: assets/serializers/platform.py:25 +#, fuzzy +#| msgid "SFTP Root" +msgid "SFTP home" +msgstr "SFTP根路径" -#: assets/serializers/system_user.py:176 -msgid "The protocol must be consistent with the current user: {}" -msgstr "协议必须和当前用户保持一致: {}" +#: assets/serializers/platform.py:28 +#, fuzzy +#| msgid "Auto" +msgid "Auto fill" +msgstr "自动" -#: assets/serializers/system_user.py:180 -msgid "Only system users with automatic login are allowed" -msgstr "仅允许自动登录的系统用户" +#: assets/serializers/platform.py:29 +#, fuzzy +#| msgid "Username attr" +msgid "Username selector" +msgstr "用户名属性" -#: assets/serializers/system_user.py:288 -msgid "System user name" -msgstr "系统用户名称" +#: assets/serializers/platform.py:30 +#, fuzzy +#| msgid "Password rules" +msgid "Password selector" +msgstr "密码规则" -#: assets/serializers/system_user.py:289 orgs/mixins/serializers.py:26 -#: rbac/serializers/rolebinding.py:23 -msgid "Org name" -msgstr "组织名称" +#: assets/serializers/platform.py:31 +msgid "Submit selector" +msgstr "" -#: assets/serializers/system_user.py:298 -msgid "Asset hostname" -msgstr "资产主机名" +#: assets/serializers/platform.py:64 +msgid "Primary" +msgstr "" #: assets/serializers/utils.py:11 msgid "Password can not contains `{{` " @@ -1288,7 +1354,7 @@ msgstr "密码不能包含 `\"` 字符" msgid "The asset {} system platform {} does not support run Ansible tasks" msgstr "资产 {} 系统平台 {} 不支持运行 Ansible 任务" -#: assets/tasks/account_connectivity.py:107 +#: assets/tasks/account_connectivity.py:108 msgid "Test account connectivity: " msgstr "测试账号可连接性: " @@ -1296,11 +1362,11 @@ msgstr "测试账号可连接性: " msgid "Test assets connectivity. " msgstr "测试资产可连接性. " -#: assets/tasks/asset_connectivity.py:91 assets/tasks/asset_connectivity.py:102 +#: assets/tasks/asset_connectivity.py:94 assets/tasks/asset_connectivity.py:107 msgid "Test assets connectivity: " msgstr "测试资产可连接性: " -#: assets/tasks/asset_connectivity.py:113 +#: assets/tasks/asset_connectivity.py:121 msgid "Test if the assets under the node are connectable: " msgstr "测试节点下资产是否可连接: " @@ -1320,65 +1386,27 @@ msgstr "获取资产信息失败:{}" msgid "Update some assets hardware info. " msgstr "更新资产硬件信息. " -#: assets/tasks/gather_asset_hardware_info.py:114 +#: assets/tasks/gather_asset_hardware_info.py:118 msgid "Update asset hardware info: " msgstr "更新资产硬件信息: " -#: assets/tasks/gather_asset_hardware_info.py:120 +#: assets/tasks/gather_asset_hardware_info.py:124 msgid "Update assets hardware info: " msgstr "更新资产硬件信息: " -#: assets/tasks/gather_asset_hardware_info.py:137 +#: assets/tasks/gather_asset_hardware_info.py:146 msgid "Update node asset hardware information: " msgstr "更新节点资产硬件信息: " -#: assets/tasks/gather_asset_users.py:111 +#: assets/tasks/gather_asset_users.py:110 msgid "Gather assets users" msgstr "收集资产上的用户" -#: assets/tasks/nodes_amount.py:27 +#: assets/tasks/nodes_amount.py:29 msgid "" "The task of self-checking is already running and cannot be started repeatedly" msgstr "自检程序已经在运行,不能重复启动" -#: assets/tasks/push_system_user.py:201 -msgid "System user is dynamic: {}" -msgstr "系统用户是动态的: {}" - -#: assets/tasks/push_system_user.py:242 -msgid "Start push system user for platform: [{}]" -msgstr "推送系统用户到平台: [{}]" - -#: assets/tasks/push_system_user.py:243 -#: assets/tasks/system_user_connectivity.py:106 -msgid "Hosts count: {}" -msgstr "主机数量: {}" - -#: assets/tasks/push_system_user.py:264 assets/tasks/push_system_user.py:297 -msgid "Push system users to assets: " -msgstr "推送系统用户到入资产: " - -#: assets/tasks/push_system_user.py:276 -msgid "Push system users to asset: " -msgstr "推送系统用户到入资产: " - -#: assets/tasks/system_user_connectivity.py:56 -msgid "Dynamic system user not support test" -msgstr "动态系统用户不支持测试" - -#: assets/tasks/system_user_connectivity.py:105 -msgid "Start test system user connectivity for platform: [{}]" -msgstr "开始测试系统用户在该系统平台的可连接性: [{}]" - -#: assets/tasks/system_user_connectivity.py:118 -#: assets/tasks/system_user_connectivity.py:129 -msgid "Test system user connectivity: " -msgstr "测试系统用户可连接性: " - -#: assets/tasks/system_user_connectivity.py:148 -msgid "Test system user connectivity period: " -msgstr "定期测试系统用户可连接性: " - #: assets/tasks/utils.py:17 msgid "Asset has been disabled, skipped: {}" msgstr "资产已经被禁用, 跳过: {}" @@ -1430,7 +1458,7 @@ msgid "Symlink" msgstr "建立软链接" #: audits/models.py:38 audits/models.py:66 audits/models.py:89 -#: terminal/models/session.py:51 terminal/models/sharing.py:96 +#: terminal/models/session.py:37 terminal/models/sharing.py:96 msgid "Remote addr" msgstr "远端地址" @@ -1443,9 +1471,8 @@ msgid "Filename" msgstr "文件名" #: audits/models.py:43 audits/models.py:117 terminal/models/sharing.py:104 -#: tickets/views/approve.py:115 -#: xpack/plugins/change_auth_plan/serializers/app.py:87 -#: xpack/plugins/change_auth_plan/serializers/asset.py:198 +#: tickets/views/approve.py:114 +#: xpack/plugins/change_auth_plan/serializers/asset.py:189 msgid "Success" msgstr "成功" @@ -1468,7 +1495,7 @@ msgstr "查看" msgid "Update" msgstr "更新" -#: audits/models.py:64 audits/serializers.py:63 +#: audits/models.py:64 audits/serializers.py:61 msgid "Resource Type" msgstr "资源类型" @@ -1497,10 +1524,6 @@ msgstr "改密日志" msgid "Disabled" msgstr "禁用" -#: audits/models.py:112 settings/models.py:37 -msgid "Enabled" -msgstr "启用" - #: audits/models.py:113 msgid "-" msgstr "-" @@ -1519,7 +1542,7 @@ msgstr "登录IP" msgid "Login city" msgstr "登录城市" -#: audits/models.py:125 audits/serializers.py:44 +#: audits/models.py:125 audits/serializers.py:42 msgid "User agent" msgstr "用户代理" @@ -1530,9 +1553,9 @@ msgstr "用户代理" msgid "MFA" msgstr "MFA" -#: audits/models.py:128 terminal/models/status.py:33 -#: tickets/models/ticket/general.py:281 xpack/plugins/cloud/models.py:175 -#: xpack/plugins/cloud/models.py:227 +#: audits/models.py:128 ops/models/base.py:48 terminal/models/status.py:33 +#: tickets/models/ticket/general.py:281 xpack/plugins/cloud/models.py:171 +#: xpack/plugins/cloud/models.py:223 msgid "Status" msgstr "状态" @@ -1540,7 +1563,7 @@ msgstr "状态" msgid "Date login" msgstr "登录日期" -#: audits/models.py:130 audits/serializers.py:46 +#: audits/models.py:130 audits/serializers.py:44 msgid "Authentication backend" msgstr "认证方式" @@ -1548,48 +1571,22 @@ msgstr "认证方式" msgid "User login log" msgstr "用户登录日志" -#: audits/serializers.py:14 +#: audits/serializers.py:12 msgid "Operate display" msgstr "操作名称" -#: audits/serializers.py:30 tickets/serializers/ticket/ticket.py:18 +#: audits/serializers.py:28 tickets/serializers/ticket/ticket.py:18 msgid "Status display" msgstr "状态名称" -#: audits/serializers.py:31 +#: audits/serializers.py:29 msgid "MFA display" msgstr "MFA名称" -#: audits/serializers.py:45 +#: audits/serializers.py:43 msgid "Reason display" msgstr "原因描述" -#: audits/serializers.py:84 -msgid "Hosts display" -msgstr "主机名称" - -#: audits/serializers.py:96 ops/models/command.py:27 -#: xpack/plugins/cloud/models.py:173 -msgid "Result" -msgstr "结果" - -#: audits/serializers.py:98 terminal/serializers/storage.py:157 -msgid "Hosts" -msgstr "主机" - -#: audits/serializers.py:99 -msgid "Run as" -msgstr "运行用户" - -#: audits/serializers.py:101 -msgid "Run as display" -msgstr "运行用户名称" - -#: audits/serializers.py:102 authentication/models.py:81 -#: rbac/serializers/rolebinding.py:21 -msgid "User display" -msgstr "用户名称" - #: audits/signal_handlers.py:49 msgid "SSH Key" msgstr "SSH 密钥" @@ -1620,7 +1617,7 @@ msgstr "飞书" msgid "DingTalk" msgstr "钉钉" -#: audits/signal_handlers.py:56 authentication/models.py:267 +#: audits/signal_handlers.py:56 authentication/models.py:255 msgid "Temporary token" msgstr "临时密码" @@ -1639,159 +1636,75 @@ msgid "{User} LEFT {UserGroup}" msgstr "{User} 离开 {UserGroup}" #: audits/signal_handlers.py:73 -msgid "Asset and SystemUser" -msgstr "资产与系统用户" - -#: audits/signal_handlers.py:74 -#, python-brace-format -msgid "{Asset} ADD {SystemUser}" -msgstr "{Asset} 添加 {SystemUser}" - -#: audits/signal_handlers.py:75 -#, python-brace-format -msgid "{Asset} REMOVE {SystemUser}" -msgstr "{Asset} 移除 {SystemUser}" - -#: audits/signal_handlers.py:78 msgid "Node and Asset" msgstr "节点与资产" -#: audits/signal_handlers.py:79 +#: audits/signal_handlers.py:74 #, python-brace-format msgid "{Node} ADD {Asset}" msgstr "{Node} 添加 {Asset}" -#: audits/signal_handlers.py:80 +#: audits/signal_handlers.py:75 #, python-brace-format msgid "{Node} REMOVE {Asset}" msgstr "{Node} 移除 {Asset}" -#: audits/signal_handlers.py:83 +#: audits/signal_handlers.py:78 msgid "User asset permissions" msgstr "用户资产授权" -#: audits/signal_handlers.py:84 +#: audits/signal_handlers.py:79 #, python-brace-format msgid "{AssetPermission} ADD {User}" msgstr "{AssetPermission} 添加 {User}" -#: audits/signal_handlers.py:85 +#: audits/signal_handlers.py:80 #, python-brace-format msgid "{AssetPermission} REMOVE {User}" msgstr "{AssetPermission} 移除 {User}" -#: audits/signal_handlers.py:88 +#: audits/signal_handlers.py:83 msgid "User group asset permissions" msgstr "用户组资产授权" -#: audits/signal_handlers.py:89 +#: audits/signal_handlers.py:84 #, python-brace-format msgid "{AssetPermission} ADD {UserGroup}" msgstr "{AssetPermission} 添加 {UserGroup}" -#: audits/signal_handlers.py:90 +#: audits/signal_handlers.py:85 #, python-brace-format msgid "{AssetPermission} REMOVE {UserGroup}" msgstr "{AssetPermission} 移除 {UserGroup}" -#: audits/signal_handlers.py:93 perms/models/asset_permission.py:29 +#: audits/signal_handlers.py:88 perms/models/asset_permission.py:90 msgid "Asset permission" msgstr "资产授权" -#: audits/signal_handlers.py:94 +#: audits/signal_handlers.py:89 #, python-brace-format msgid "{AssetPermission} ADD {Asset}" msgstr "{AssetPermission} 添加 {Asset}" -#: audits/signal_handlers.py:95 +#: audits/signal_handlers.py:90 #, python-brace-format msgid "{AssetPermission} REMOVE {Asset}" msgstr "{AssetPermission} 移除 {Asset}" -#: audits/signal_handlers.py:98 +#: audits/signal_handlers.py:93 msgid "Node permission" msgstr "节点授权" -#: audits/signal_handlers.py:99 +#: audits/signal_handlers.py:94 #, python-brace-format msgid "{AssetPermission} ADD {Node}" msgstr "{AssetPermission} 添加 {Node}" -#: audits/signal_handlers.py:100 +#: audits/signal_handlers.py:95 #, python-brace-format msgid "{AssetPermission} REMOVE {Node}" msgstr "{AssetPermission} 移除 {Node}" -#: audits/signal_handlers.py:103 -msgid "Asset permission and SystemUser" -msgstr "资产授权与系统用户" - -#: audits/signal_handlers.py:104 -#, python-brace-format -msgid "{AssetPermission} ADD {SystemUser}" -msgstr "{AssetPermission} 添加 {SystemUser}" - -#: audits/signal_handlers.py:105 -#, python-brace-format -msgid "{AssetPermission} REMOVE {SystemUser}" -msgstr "{AssetPermission} 移除 {SystemUser}" - -#: audits/signal_handlers.py:108 -msgid "User application permissions" -msgstr "用户应用授权" - -#: audits/signal_handlers.py:109 -#, python-brace-format -msgid "{ApplicationPermission} ADD {User}" -msgstr "{ApplicationPermission} 添加 {User}" - -#: audits/signal_handlers.py:110 -#, python-brace-format -msgid "{ApplicationPermission} REMOVE {User}" -msgstr "{ApplicationPermission} 移除 {User}" - -#: audits/signal_handlers.py:113 -msgid "User group application permissions" -msgstr "用户组应用授权" - -#: audits/signal_handlers.py:114 -#, python-brace-format -msgid "{ApplicationPermission} ADD {UserGroup}" -msgstr "{ApplicationPermission} 添加 {UserGroup}" - -#: audits/signal_handlers.py:115 -#, python-brace-format -msgid "{ApplicationPermission} REMOVE {UserGroup}" -msgstr "{ApplicationPermission} 移除 {UserGroup}" - -#: audits/signal_handlers.py:118 perms/models/application_permission.py:38 -msgid "Application permission" -msgstr "应用授权" - -#: audits/signal_handlers.py:119 -#, python-brace-format -msgid "{ApplicationPermission} ADD {Application}" -msgstr "{ApplicationPermission} 添加 {Application}" - -#: audits/signal_handlers.py:120 -#, python-brace-format -msgid "{ApplicationPermission} REMOVE {Application}" -msgstr "{ApplicationPermission} 移除 {Application}" - -#: audits/signal_handlers.py:123 -msgid "Application permission and SystemUser" -msgstr "应用授权与系统用户" - -#: audits/signal_handlers.py:124 -#, python-brace-format -msgid "{ApplicationPermission} ADD {SystemUser}" -msgstr "{ApplicationPermission} 添加 {SystemUser}" - -#: audits/signal_handlers.py:125 -#, python-brace-format -msgid "{ApplicationPermission} REMOVE {SystemUser}" -msgstr "{ApplicationPermission} 移除 {SystemUser}" - #: authentication/api/confirm.py:40 msgid "This action require verify your MFA" msgstr "此操作需要验证您的 MFA" @@ -1855,7 +1768,7 @@ msgstr "无效的令牌头。符号字符串不应包含无效字符。" msgid "Invalid token or cache refreshed." msgstr "刷新的令牌或缓存无效。" -#: authentication/backends/oauth2/backends.py:155 authentication/models.py:158 +#: authentication/backends/oauth2/backends.py:155 authentication/models.py:146 msgid "User invalid, disabled or expired" msgstr "用户无效,已禁用或已过期" @@ -1936,9 +1849,13 @@ msgid "" msgstr "账号已被锁定(请联系管理员解锁或{}分钟后重试)" #: authentication/errors/const.py:51 +#, fuzzy +#| msgid "" +#| "The ip has been locked (please contact admin to unlock it or try again " +#| "after {} minutes)" msgid "" -"The ip has been locked (please contact admin to unlock it or try again after " -"{} minutes)" +"The address has been locked (please contact admin to unlock it or try again " +"after {} minutes)" msgstr "IP 已被锁定(请联系管理员解锁或{}分钟后重试)" #: authentication/errors/const.py:59 @@ -2107,83 +2024,78 @@ msgstr "该 MFA ({}) 方式没有启用" msgid "Please change your password" msgstr "请修改密码" -#: authentication/models.py:37 -msgid "Access key" -msgstr "Access key" - -#: authentication/models.py:44 +#: authentication/models.py:45 msgid "Private Token" msgstr "SSH 密钥" -#: authentication/models.py:53 +#: authentication/models.py:54 msgid "Expired" msgstr "过期时间" -#: authentication/models.py:57 +#: authentication/models.py:58 msgid "SSO token" msgstr "SSO token" -#: authentication/models.py:72 authentication/models.py:261 -#: authentication/templates/authentication/_access_key_modal.html:31 -#: settings/serializers/auth/radius.py:17 -msgid "Secret" -msgstr "密钥" - -#: authentication/models.py:74 authentication/models.py:264 -#: perms/models/base.py:90 tickets/models/ticket/apply_application.py:30 -#: tickets/models/ticket/apply_asset.py:24 users/models/user.py:707 +#: authentication/models.py:75 authentication/models.py:252 +#: perms/models/asset_permission.py:79 +#: tickets/models/ticket/apply_application.py:29 +#: tickets/models/ticket/apply_asset.py:22 users/models/user.py:707 msgid "Date expired" msgstr "失效日期" -#: authentication/models.py:93 +#: authentication/models.py:82 rbac/serializers/rolebinding.py:21 +msgid "User display" +msgstr "用户名称" + +#: authentication/models.py:87 msgid "Asset display" msgstr "资产名称" -#: authentication/models.py:104 +#: authentication/models.py:92 msgid "Connection token" msgstr "连接令牌" -#: authentication/models.py:106 +#: authentication/models.py:94 msgid "Can view connection token secret" msgstr "可以查看连接令牌密文" -#: authentication/models.py:149 +#: authentication/models.py:137 msgid "Connection token expired at: {}" msgstr "连接令牌过期: {}" -#: authentication/models.py:154 +#: authentication/models.py:142 msgid "User not exists" msgstr "用户不存在" -#: authentication/models.py:163 +#: authentication/models.py:151 msgid "System user not exists" msgstr "系统用户不存在" -#: authentication/models.py:169 +#: authentication/models.py:157 msgid "Asset not exists" msgstr "资产不存在" -#: authentication/models.py:173 +#: authentication/models.py:161 msgid "Asset inactive" msgstr "资产未激活" -#: authentication/models.py:180 +#: authentication/models.py:168 msgid "User has no permission to access asset or permission expired" msgstr "用户没有权限访问资产或权限已过期" -#: authentication/models.py:188 +#: authentication/models.py:176 msgid "Application not exists" msgstr "应用不存在" -#: authentication/models.py:195 +#: authentication/models.py:183 msgid "User has no permission to access application or permission expired" msgstr "用户没有权限访问应用或权限已过期" -#: authentication/models.py:262 +#: authentication/models.py:250 msgid "Verified" msgstr "已校验" -#: authentication/models.py:283 +#: authentication/models.py:271 msgid "Super connection token" msgstr "超级连接令牌" @@ -2195,24 +2107,21 @@ msgstr "异地登录提醒" msgid "binding reminder" msgstr "绑定提醒" -#: authentication/serializers/connection_token.py:23 -#: xpack/plugins/cloud/models.py:34 +#: authentication/serializers/connection_token.py:21 +#: xpack/plugins/cloud/models.py:36 msgid "Validity" msgstr "有效" -#: authentication/serializers/connection_token.py:24 +#: authentication/serializers/connection_token.py:22 msgid "Expired time" msgstr "过期时间" -#: authentication/serializers/connection_token.py:73 +#: authentication/serializers/connection_token.py:68 msgid "Asset or application required" msgstr "资产或应用必填" -#: authentication/serializers/token.py:79 -#: perms/serializers/application/permission.py:20 -#: perms/serializers/application/permission.py:41 -#: perms/serializers/asset/permission.py:19 -#: perms/serializers/asset/permission.py:45 users/serializers/user.py:148 +#: authentication/serializers/token.py:79 perms/serializers/permission.py:60 +#: perms/serializers/permission.py:87 users/serializers/user.py:148 msgid "Is valid" msgstr "账号是否有效" @@ -2262,7 +2171,7 @@ msgstr "删除成功" #: authentication/templates/authentication/_access_key_modal.html:155 #: authentication/templates/authentication/_mfa_confirm_modal.html:53 -#: templates/_modal.html:22 tickets/const.py:45 +#: templates/_modal.html:22 tickets/const.py:44 msgid "Close" msgstr "关闭" @@ -2299,7 +2208,7 @@ msgstr "代码错误" #: authentication/templates/authentication/_msg_reset_password.html:3 #: authentication/templates/authentication/_msg_rest_password_success.html:2 #: authentication/templates/authentication/_msg_rest_public_key_success.html:2 -#: jumpserver/conf.py:390 ops/tasks.py:145 ops/tasks.py:148 +#: jumpserver/conf.py:390 ops/tasks.py:146 ops/tasks.py:152 ops/tasks.py:155 #: perms/templates/perms/_msg_item_permissions_expire.html:3 #: perms/templates/perms/_msg_permed_items_expire.html:3 #: tickets/templates/tickets/approve_check_password.html:33 @@ -2383,7 +2292,7 @@ msgid "" msgstr "如果这次公钥更新不是由你发起的,那么你的账号可能存在安全问题" #: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 -#: templates/flash_message_standalone.html:28 tickets/const.py:20 +#: templates/flash_message_standalone.html:28 tickets/const.py:19 msgid "Cancel" msgstr "取消" @@ -2583,6 +2492,14 @@ msgstr "%(name)s 创建成功" msgid "%(name)s was updated successfully" msgstr "%(name)s 更新成功" +#: common/const/choices.py:10 +msgid "Manual trigger" +msgstr "手动触发" + +#: common/const/choices.py:11 +msgid "Timing trigger" +msgstr "定时触发" + #: common/db/encoder.py:11 msgid "ugettext_lazy" msgstr "ugettext_lazy" @@ -2615,7 +2532,7 @@ msgstr "编码数据为 text" msgid "Encrypt field using Secret Key" msgstr "加密的字段" -#: common/db/models.py:113 +#: common/db/models.py:75 msgid "Updated by" msgstr "更新人" @@ -2623,6 +2540,17 @@ msgstr "更新人" msgid "Object" msgstr "对象" +#: common/drf/fields.py:70 +#, fuzzy, python-brace-format +#| msgid "%s object does not exist." +msgid "Invalid pk \"{pk_value}\" - object does not exist." +msgstr "%s对象不存在" + +#: common/drf/fields.py:71 +#, python-brace-format +msgid "Incorrect type. Expected pk value, received {data_type}." +msgstr "" + #: common/drf/parsers/base.py:17 msgid "The file content overflowed (The maximum length `{}` bytes)" msgstr "文件内容太大 (最大长度 `{}` 字节)" @@ -2631,6 +2559,10 @@ msgstr "文件内容太大 (最大长度 `{}` 字节)" msgid "Parse file error: {}" msgstr "解析文件错误: {}" +#: common/drf/serializers/common.py:86 +msgid "Children" +msgstr "" + #: common/exceptions.py:15 #, python-format msgid "%s object does not exist." @@ -2737,10 +2669,20 @@ msgstr "验证码错误" msgid "Please wait {} seconds before sending" msgstr "请在 {} 秒后发送" -#: common/utils/ip/geoip/utils.py:26 common/utils/ip/utils.py:78 +#: common/utils/ip/geoip/utils.py:26 msgid "Invalid ip" msgstr "无效IP" +#: common/utils/ip/utils.py:78 +#, fuzzy +#| msgid "Invalid signature." +msgid "Invalid address" +msgstr "签名无效" + +#: common/validators.py:14 +msgid "Special char not allowed" +msgstr "不能包含特殊字符" + #: common/validators.py:32 msgid "This field must be unique." msgstr "字段必须唯一" @@ -2805,148 +2747,173 @@ msgstr "邮件" msgid "Site message" msgstr "站内信" +#: ops/ansible/inventory.py:76 +#, fuzzy +#| msgid "Account unavailable" +msgid "No account available" +msgstr "账号无效" + +#: ops/ansible/inventory.py:171 +#, fuzzy +#| msgid "User disabled." +msgid "Ansible disabled" +msgstr "用户已禁用" + +#: ops/ansible/inventory.py:186 +msgid "Skip hosts below:" +msgstr "" + #: ops/api/celery.py:61 ops/api/celery.py:76 msgid "Waiting task start" msgstr "等待任务开始" -#: ops/api/command.py:56 -msgid "Not has host {} permission" -msgstr "没有该主机 {} 权限" - #: ops/apps.py:9 ops/notifications.py:16 msgid "App ops" msgstr "作业中心" -#: ops/mixin.py:29 ops/mixin.py:92 ops/mixin.py:162 -#: settings/serializers/auth/ldap.py:72 +#: ops/const.py:6 +msgid "Push" +msgstr "" + +#: ops/const.py:7 +#, fuzzy +#| msgid "Verified" +msgid "Verify" +msgstr "已校验" + +#: ops/const.py:8 +msgid "Collect" +msgstr "" + +#: ops/const.py:9 +#, fuzzy +#| msgid "Change Password" +msgid "Change password" +msgstr "更改密码" + +#: ops/const.py:19 xpack/plugins/change_auth_plan/models/base.py:27 +msgid "Custom password" +msgstr "自定义密码" + +#: ops/mixin.py:27 ops/mixin.py:90 settings/serializers/auth/ldap.py:72 msgid "Cycle perform" msgstr "周期执行" -#: ops/mixin.py:33 ops/mixin.py:90 ops/mixin.py:109 ops/mixin.py:150 +#: ops/mixin.py:31 ops/mixin.py:88 ops/mixin.py:107 #: settings/serializers/auth/ldap.py:69 msgid "Regularly perform" msgstr "定期执行" -#: ops/mixin.py:112 +#: ops/mixin.py:110 msgid "Interval" msgstr "间隔" -#: ops/mixin.py:122 +#: ops/mixin.py:120 msgid "* Please enter a valid crontab expression" msgstr "* 请输入有效的 crontab 表达式" -#: ops/mixin.py:129 +#: ops/mixin.py:127 msgid "Range {} to {}" msgstr "输入在 {} - {} 范围之间" -#: ops/mixin.py:140 +#: ops/mixin.py:138 msgid "Require periodic or regularly perform setting" msgstr "需要周期或定期设置" -#: ops/mixin.py:151 -msgid "" -"eg: Every Sunday 03:05 run <5 3 * * 0>
Tips: Using 5 digits linux " -"crontab expressions (Online tools)
Note: If both Regularly " -"perform and Cycle perform are set, give priority to Regularly perform" -msgstr "" -"eg:每周日 03:05 执行 <5 3 * * 0>
提示: 使用5位 Linux crontab 表达式 <" -"分 时 日 月 星期> (在线工" -"具
注意: 如果同时设置了定期执行和周期执行,优先使用定期执行" - -#: ops/mixin.py:162 -msgid "Unit: hour" -msgstr "单位: 时" - -#: ops/models/adhoc.py:36 -msgid "Callback" -msgstr "回调" - -#: ops/models/adhoc.py:135 terminal/models/task.py:26 -#: xpack/plugins/gathered_user/models.py:73 -msgid "Task" -msgstr "任务" +#: ops/models/adhoc.py:18 +msgid "Pattern" +msgstr "模式" -#: ops/models/adhoc.py:138 -msgid "Can view task monitor" -msgstr "可以查看任务监控" +#: ops/models/adhoc.py:19 +msgid "Module" +msgstr "" -#: ops/models/adhoc.py:154 -msgid "Tasks" -msgstr "任务" +#: ops/models/adhoc.py:20 ops/models/celery.py:15 terminal/models/task.py:17 +msgid "Args" +msgstr "参数" -#: ops/models/adhoc.py:156 -msgid "Options" -msgstr "选项" +#: ops/models/adhoc.py:21 ops/models/base.py:20 ops/models/playbook.py:27 +#, fuzzy +#| msgid "Command execution" +msgid "Last execution" +msgstr "命令执行" -#: ops/models/adhoc.py:158 -msgid "Run as admin" -msgstr "再次执行" +#: ops/models/adhoc.py:36 +msgid "Adhoc" +msgstr "" -#: ops/models/adhoc.py:161 -msgid "Become" -msgstr "Become" +#: ops/models/adhoc.py:54 +msgid "AdHoc execution" +msgstr "任务执行" -#: ops/models/adhoc.py:162 -msgid "Create by" +#: ops/models/base.py:16 ops/models/base.py:52 terminal/models/sharing.py:24 +msgid "Creator" msgstr "创建者" -#: ops/models/adhoc.py:243 -msgid "AdHoc" -msgstr "任务各版本" +#: ops/models/base.py:19 +#, fuzzy +#| msgid "Account key" +msgid "Account policy" +msgstr "账号密钥" -#: ops/models/adhoc.py:252 -msgid "Task display" -msgstr "任务名称" +#: ops/models/base.py:21 +#, fuzzy +#| msgid "Date last sync" +msgid "Date last run" +msgstr "最后同步日期" -#: ops/models/adhoc.py:254 -msgid "Host amount" -msgstr "主机数量" +#: ops/models/base.py:50 xpack/plugins/cloud/models.py:169 +msgid "Result" +msgstr "结果" -#: ops/models/adhoc.py:256 -msgid "Start time" -msgstr "开始时间" +#: ops/models/base.py:51 +msgid "Summary" +msgstr "" -#: ops/models/adhoc.py:257 -msgid "End time" -msgstr "完成时间" +#: ops/models/celery.py:16 terminal/models/task.py:18 +msgid "Kwargs" +msgstr "其它参数" -#: ops/models/adhoc.py:259 ops/models/command.py:29 -#: terminal/serializers/session.py:40 -msgid "Is finished" -msgstr "是否完成" +#: ops/models/celery.py:17 tickets/models/comment.py:13 +#: tickets/models/ticket/general.py:41 tickets/models/ticket/general.py:277 +msgid "State" +msgstr "状态" -#: ops/models/adhoc.py:261 -msgid "Adhoc raw result" -msgstr "结果" +#: ops/models/celery.py:18 terminal/models/sharing.py:111 tickets/const.py:25 +#: xpack/plugins/change_auth_plan/models/base.py:188 +msgid "Finished" +msgstr "结束" -#: ops/models/adhoc.py:262 -msgid "Adhoc result summary" -msgstr "汇总" +#: ops/models/playbook.py:10 +msgid "Path" +msgstr "" -#: ops/models/adhoc.py:339 -msgid "AdHoc execution" -msgstr "任务执行" +#: ops/models/playbook.py:18 +msgid "Playbook template" +msgstr "" -#: ops/models/command.py:32 -msgid "Date finished" -msgstr "结束日期" +#: ops/models/playbook.py:23 +msgid "Playbook" +msgstr "" -#: ops/models/command.py:113 -msgid "Task start" -msgstr "任务开始" +#: ops/models/playbook.py:24 +msgid "Owner" +msgstr "" -#: ops/models/command.py:147 -msgid "Command `{}` is forbidden ........" -msgstr "命令 `{}` 不允许被执行 ......." +#: ops/models/playbook.py:26 settings/serializers/auth/sms.py:64 +msgid "Template" +msgstr "模板" -#: ops/models/command.py:160 -msgid "Task end" -msgstr "任务结束" +#: ops/models/playbook.py:38 terminal/models/task.py:26 +#: xpack/plugins/gathered_user/models.py:68 +msgid "Task" +msgstr "任务" -#: ops/models/command.py:164 -msgid "Command execution" -msgstr "命令执行" +#: ops/models/playbook.py:39 +#, fuzzy +#| msgid "Run user" +msgid "Run dir" +msgstr "运行的用户" #: ops/notifications.py:17 msgid "Server performance" @@ -2976,11 +2943,23 @@ msgstr "内存使用率超过 {max_threshold}%: => {value}" msgid "CPU load more than {max_threshold}: => {value}" msgstr "CPU 使用率超过 {max_threshold}: => {value}" -#: ops/tasks.py:72 +#: ops/tasks.py:33 +#, fuzzy +#| msgid "Run asset" +msgid "Run ansible task" +msgstr "运行的资产" + +#: ops/tasks.py:57 +#, fuzzy +#| msgid "Run command" +msgid "Run ansible command" +msgstr "运行的命令" + +#: ops/tasks.py:79 msgid "Clean task history period" msgstr "定期清除任务历史" -#: ops/tasks.py:85 +#: ops/tasks.py:92 msgid "Clean celery log period" msgstr "定期清除Celery日志" @@ -2992,17 +2971,17 @@ msgstr "任务列表" msgid "Update task content: {}" msgstr "更新任务内容: {}" -#: orgs/api.py:69 +#: orgs/api.py:67 msgid "The current organization ({}) cannot be deleted" msgstr "当前组织 ({}) 不能被删除" -#: orgs/api.py:74 +#: orgs/api.py:72 msgid "" "LDAP synchronization is set to the current organization. Please switch to " "another organization before deleting" msgstr "LDAP 同步设置组织为当前组织,请切换其他组织后再进行删除操作" -#: orgs/api.py:83 +#: orgs/api.py:81 msgid "The organization have resource ({}) cannot be deleted" msgstr "组织存在资源 ({}) 不能被删除" @@ -3010,116 +2989,109 @@ msgstr "组织存在资源 ({}) 不能被删除" msgid "App organizations" msgstr "组织管理" -#: orgs/mixins/models.py:56 orgs/mixins/serializers.py:25 orgs/models.py:85 -#: orgs/models.py:217 rbac/const.py:7 rbac/models/rolebinding.py:48 +#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:87 +#: rbac/const.py:7 rbac/models/rolebinding.py:48 #: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:62 #: tickets/models/ticket/general.py:300 tickets/serializers/ticket/ticket.py:71 msgid "Organization" msgstr "组织" +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:23 +msgid "Org name" +msgstr "组织名称" + #: orgs/models.py:79 msgid "GLOBAL" msgstr "全局组织" -#: orgs/models.py:87 +#: orgs/models.py:81 +msgid "DEFAULT" +msgstr "" + +#: orgs/models.py:83 +msgid "SYSTEM" +msgstr "" + +#: orgs/models.py:89 msgid "Can view root org" msgstr "可以查看全局组织" -#: orgs/models.py:88 +#: orgs/models.py:90 msgid "Can view all joined org" msgstr "可以查看所有加入的组织" -#: orgs/models.py:222 rbac/models/role.py:46 rbac/models/rolebinding.py:44 -#: users/models/user.py:675 -msgid "Role" -msgstr "角色" - #: perms/apps.py:9 msgid "App permissions" msgstr "授权管理" -#: perms/exceptions.py:9 -msgid "The administrator is modifying permissions. Please wait" -msgstr "管理员正在修改授权,请稍等" - -#: perms/exceptions.py:14 -msgid "The authorization cannot be revoked for the time being" -msgstr "该授权暂时不能撤销" - -#: perms/models/application_permission.py:111 -msgid "Permed application" -msgstr "授权的应用" - -#: perms/models/application_permission.py:114 -msgid "Can view my apps" -msgstr "可以查看我的应用" - -#: perms/models/application_permission.py:115 -msgid "Can view user apps" -msgstr "可以查看用户授权的应用" +#: perms/models/asset_permission.py:72 perms/serializers/permission.py:59 +#: perms/serializers/permission.py:85 +#: tickets/models/ticket/apply_application.py:26 +#: tickets/models/ticket/apply_asset.py:19 +msgid "Actions" +msgstr "动作" -#: perms/models/application_permission.py:116 -msgid "Can view usergroup apps" -msgstr "可以查看用户组授权的应用" +#: perms/models/asset_permission.py:83 +msgid "From ticket" +msgstr "来自工单" -#: perms/models/asset_permission.py:134 +#: perms/models/asset_permission.py:224 msgid "Ungrouped" msgstr "未分组" -#: perms/models/asset_permission.py:136 +#: perms/models/asset_permission.py:226 msgid "Favorite" msgstr "收藏夹" -#: perms/models/asset_permission.py:183 +#: perms/models/asset_permission.py:273 msgid "Permed asset" msgstr "授权的资产" -#: perms/models/asset_permission.py:185 +#: perms/models/asset_permission.py:275 msgid "Can view my assets" msgstr "可以查看我的资产" -#: perms/models/asset_permission.py:186 +#: perms/models/asset_permission.py:276 msgid "Can view user assets" msgstr "可以查看用户授权的资产" -#: perms/models/asset_permission.py:187 +#: perms/models/asset_permission.py:277 msgid "Can view usergroup assets" msgstr "可以查看用户组授权的资产" -#: perms/models/base.py:55 +#: perms/models/const.py:20 settings/serializers/terminal.py:12 +msgid "All" +msgstr "全部" + +#: perms/models/const.py:21 msgid "Connect" msgstr "连接" -#: perms/models/base.py:56 +#: perms/models/const.py:22 msgid "Upload file" msgstr "上传文件" -#: perms/models/base.py:57 +#: perms/models/const.py:23 msgid "Download file" msgstr "下载文件" -#: perms/models/base.py:58 +#: perms/models/const.py:24 msgid "Upload download" msgstr "上传下载" -#: perms/models/base.py:59 +#: perms/models/const.py:25 msgid "Clipboard copy" msgstr "剪贴板复制" -#: perms/models/base.py:60 +#: perms/models/const.py:26 msgid "Clipboard paste" msgstr "剪贴板粘贴" -#: perms/models/base.py:61 +#: perms/models/const.py:27 msgid "Clipboard copy paste" msgstr "剪贴板复制粘贴" -#: perms/models/base.py:94 -msgid "From ticket" -msgstr "来自工单" - #: perms/notifications.py:12 perms/notifications.py:44 -#: perms/notifications.py:88 perms/notifications.py:119 msgid "today" msgstr "今" @@ -3139,71 +3111,39 @@ msgstr "资产授权规则将要过期" msgid "asset permissions of organization {}" msgstr "组织 ({}) 的资产授权" -#: perms/notifications.py:91 -msgid "Your permed applications is about to expire" -msgstr "你授权的应用即将过期" +#: perms/serializers/permission.py:48 +msgid "Users display" +msgstr "用户名称" -#: perms/notifications.py:95 -msgid "permed applications" -msgstr "授权的应用" +#: perms/serializers/permission.py:51 +msgid "User groups display" +msgstr "用户组名称" -#: perms/notifications.py:134 -msgid "Application permissions is about to expire" -msgstr "应用授权规则即将过期" +#: perms/serializers/permission.py:54 +msgid "Assets display" +msgstr "资产名称" -#: perms/notifications.py:138 -msgid "application permissions of organization {}" -msgstr "组织 ({}) 的应用授权" +#: perms/serializers/permission.py:57 +msgid "Nodes display" +msgstr "节点名称" -#: perms/serializers/application/permission.py:21 -#: perms/serializers/application/permission.py:40 -#: perms/serializers/asset/permission.py:20 -#: perms/serializers/asset/permission.py:44 users/serializers/user.py:89 -#: users/serializers/user.py:150 +#: perms/serializers/permission.py:61 perms/serializers/permission.py:86 +#: users/serializers/user.py:89 users/serializers/user.py:150 msgid "Is expired" msgstr "已过期" -#: perms/serializers/application/permission.py:43 -#: perms/serializers/asset/permission.py:47 rbac/serializers/role.py:26 +#: perms/serializers/permission.py:81 rbac/serializers/role.py:26 #: users/serializers/group.py:34 msgid "Users amount" msgstr "用户数量" -#: perms/serializers/application/permission.py:44 -#: perms/serializers/asset/permission.py:48 +#: perms/serializers/permission.py:82 msgid "User groups amount" msgstr "用户组数量" -#: perms/serializers/application/permission.py:45 -#: perms/serializers/asset/permission.py:51 -msgid "System users amount" -msgstr "系统用户数量" - -#: perms/serializers/application/permission.py:79 -msgid "" -"The application list contains applications that are different from the " -"permission type. ({})" -msgstr "应用列表中包含与授权类型不同的应用。({})" - -#: perms/serializers/asset/permission.py:21 -msgid "Users display" -msgstr "用户名称" - -#: perms/serializers/asset/permission.py:22 -msgid "User groups display" -msgstr "用户组名称" - -#: perms/serializers/asset/permission.py:23 -msgid "Assets display" -msgstr "资产名称" - -#: perms/serializers/asset/permission.py:24 -msgid "Nodes display" -msgstr "节点名称" - -#: perms/serializers/asset/permission.py:25 -msgid "System users display" -msgstr "系统用户名称" +#: perms/serializers/permission.py:84 +msgid "Nodes amount" +msgstr "节点数量" #: perms/templates/perms/_msg_item_permissions_expire.html:7 #: perms/templates/perms/_msg_permed_items_expire.html:7 @@ -3221,15 +3161,7 @@ msgstr "" msgid "If you have any question, please contact the administrator" msgstr "如果有疑问或需求,请联系系统管理员" -#: perms/tree/app.py:24 -msgid "My applications" -msgstr "我的应用" - -#: perms/tree/app.py:41 -msgid "Empty" -msgstr "空" - -#: perms/utils/asset/user_permission.py:620 rbac/tree.py:57 +#: perms/utils/user_permission.py:623 rbac/tree.py:57 msgid "My assets" msgstr "我的资产" @@ -3318,6 +3250,11 @@ msgstr "授权" msgid "Built-in" msgstr "内置" +#: rbac/models/role.py:46 rbac/models/rolebinding.py:44 +#: users/models/user.py:675 +msgid "Role" +msgstr "角色" + #: rbac/models/role.py:144 msgid "System role" msgstr "系统角色" @@ -3388,9 +3325,9 @@ msgstr "审计台" msgid "System setting" msgstr "系统设置" -#: rbac/tree.py:37 -msgid "Accounts" -msgstr "账号管理" +#: rbac/tree.py:29 +msgid "Other" +msgstr "其它" #: rbac/tree.py:41 msgid "Session audits" @@ -3844,10 +3781,6 @@ msgstr "原始号码(Src id)" msgid "Business type(Service id)" msgstr "业务类型(Service id)" -#: settings/serializers/auth/sms.py:64 -msgid "Template" -msgstr "模板" - #: settings/serializers/auth/sms.py:65 #, python-brace-format msgid "" @@ -3880,7 +3813,7 @@ msgid "SSO auth key TTL" msgstr "Token 有效期" #: settings/serializers/auth/sso.py:15 -#: xpack/plugins/cloud/serializers/account_attrs.py:159 +#: xpack/plugins/cloud/serializers/account_attrs.py:169 msgid "Unit: second" msgstr "单位: 秒" @@ -4707,7 +4640,7 @@ msgstr "Jmservisor 是在 windows 远程应用发布服务器中用来拉起远 msgid "Offline video player" msgstr "离线录像播放器" -#: terminal/api/endpoint.py:34 +#: terminal/api/endpoint.py:33 msgid "Not found protocol query params" msgstr "" @@ -4795,7 +4728,7 @@ msgstr "输出" #: terminal/backends/command/models.py:25 terminal/models/replay.py:9 #: terminal/models/sharing.py:19 terminal/models/sharing.py:78 #: terminal/templates/terminal/_msg_command_alert.html:10 -#: tickets/models/ticket/command_confirm.py:20 +#: tickets/models/ticket/command_confirm.py:17 msgid "Session" msgstr "会话" @@ -4915,42 +4848,38 @@ msgstr "可以上传会话录像" msgid "Can download session replay" msgstr "可以下载会话录像" -#: terminal/models/session.py:50 terminal/models/sharing.py:101 +#: terminal/models/session.py:36 terminal/models/sharing.py:101 msgid "Login from" msgstr "登录来源" -#: terminal/models/session.py:54 +#: terminal/models/session.py:40 msgid "Replay" msgstr "回放" -#: terminal/models/session.py:59 +#: terminal/models/session.py:44 msgid "Date end" msgstr "结束日期" -#: terminal/models/session.py:260 +#: terminal/models/session.py:236 msgid "Session record" msgstr "会话记录" -#: terminal/models/session.py:262 +#: terminal/models/session.py:238 msgid "Can monitor session" msgstr "可以监控会话" -#: terminal/models/session.py:263 +#: terminal/models/session.py:239 msgid "Can share session" msgstr "可以分享会话" -#: terminal/models/session.py:264 +#: terminal/models/session.py:240 msgid "Can terminate session" msgstr "可以终断会话" -#: terminal/models/session.py:265 +#: terminal/models/session.py:241 msgid "Can validate session action perm" msgstr "可以验证会话动作权限" -#: terminal/models/sharing.py:24 -msgid "Creator" -msgstr "创建者" - #: terminal/models/sharing.py:26 terminal/models/sharing.py:80 msgid "Verify code" msgstr "验证码" @@ -4991,11 +4920,6 @@ msgstr "加入日期" msgid "Date left" msgstr "结束日期" -#: terminal/models/sharing.py:111 tickets/const.py:26 -#: xpack/plugins/change_auth_plan/models/base.py:192 -msgid "Finished" -msgstr "结束" - #: terminal/models/sharing.py:116 msgid "Session join record" msgstr "会话加入记录" @@ -5044,14 +4968,6 @@ msgstr "命令存储" msgid "Replay storage" msgstr "录像存储" -#: terminal/models/task.py:17 -msgid "Args" -msgstr "参数" - -#: terminal/models/task.py:18 -msgid "Kwargs" -msgstr "其它参数" - #: terminal/models/terminal.py:103 msgid "type" msgstr "类型" @@ -5089,22 +5005,18 @@ msgid "" "If asset IP addresses under different endpoints conflict, use asset labels" msgstr "如果不同端点下的资产 IP 有冲突,使用资产标签实现" -#: terminal/serializers/session.py:15 terminal/serializers/session.py:42 +#: terminal/serializers/session.py:17 terminal/serializers/session.py:42 msgid "Terminal display" msgstr "终端显示" -#: terminal/serializers/session.py:32 +#: terminal/serializers/session.py:33 msgid "User ID" msgstr "用户 ID" -#: terminal/serializers/session.py:33 +#: terminal/serializers/session.py:34 msgid "Asset ID" msgstr "资产 ID" -#: terminal/serializers/session.py:34 -msgid "System user ID" -msgstr "系统用户 ID" - #: terminal/serializers/session.py:35 msgid "Login from display" msgstr "登录来源名称" @@ -5121,6 +5033,10 @@ msgstr "是否可加入" msgid "Terminal ID" msgstr "终端 ID" +#: terminal/serializers/session.py:40 +msgid "Is finished" +msgstr "是否完成" + #: terminal/serializers/session.py:41 msgid "Can terminate" msgstr "是否可中断" @@ -5147,7 +5063,7 @@ msgstr "访问密钥 ID(AK)" msgid "Access key secret" msgstr "访问密钥密文(SK)" -#: terminal/serializers/storage.py:65 xpack/plugins/cloud/models.py:220 +#: terminal/serializers/storage.py:65 xpack/plugins/cloud/models.py:216 msgid "Region" msgstr "地域" @@ -5179,6 +5095,10 @@ msgstr "主机无效" msgid "Port invalid" msgstr "端口无效" +#: terminal/serializers/storage.py:157 +msgid "Hosts" +msgstr "主机" + #: terminal/serializers/storage.py:160 msgid "Index by date" msgstr "按日期建索引" @@ -5215,67 +5135,59 @@ msgstr "查看" msgid "Tickets" msgstr "工单管理" -#: tickets/const.py:8 -msgid "General" -msgstr "一般" - #: tickets/const.py:10 msgid "Apply for asset" msgstr "申请资产" -#: tickets/const.py:11 -msgid "Apply for application" -msgstr "申请应用" - -#: tickets/const.py:17 tickets/const.py:25 tickets/const.py:44 +#: tickets/const.py:16 tickets/const.py:24 tickets/const.py:43 msgid "Open" msgstr "打开" -#: tickets/const.py:18 tickets/const.py:31 +#: tickets/const.py:17 tickets/const.py:30 msgid "Approved" msgstr "已同意" -#: tickets/const.py:19 tickets/const.py:32 +#: tickets/const.py:18 tickets/const.py:31 msgid "Rejected" msgstr "已拒绝" -#: tickets/const.py:21 tickets/const.py:34 +#: tickets/const.py:20 tickets/const.py:33 msgid "Reopen" msgstr "" -#: tickets/const.py:30 tickets/const.py:38 +#: tickets/const.py:29 tickets/const.py:37 msgid "Pending" msgstr "待定的" -#: tickets/const.py:33 tickets/const.py:40 +#: tickets/const.py:32 tickets/const.py:39 msgid "Closed" msgstr "关闭的" -#: tickets/const.py:46 +#: tickets/const.py:45 msgid "Approve" msgstr "同意" -#: tickets/const.py:51 +#: tickets/const.py:50 msgid "One level" msgstr "1 级" -#: tickets/const.py:52 +#: tickets/const.py:51 msgid "Two level" msgstr "2 级" -#: tickets/const.py:56 +#: tickets/const.py:55 msgid "Super admin" msgstr "超级管理员" -#: tickets/const.py:57 +#: tickets/const.py:56 msgid "Org admin" msgstr "组织管理员" -#: tickets/const.py:58 +#: tickets/const.py:57 msgid "Super admin and org admin" msgstr "组织管理员或超级管理员" -#: tickets/const.py:59 +#: tickets/const.py:58 msgid "Custom user" msgstr "自定义用户" @@ -5283,14 +5195,7 @@ msgstr "自定义用户" msgid "Ticket already closed" msgstr "工单已经关闭" -#: tickets/handlers/apply_application.py:38 -msgid "" -"Created by the ticket, ticket title: {}, ticket applicant: {}, ticket " -"processor: {}, ticket ID: {}" -msgstr "" -"通过工单创建, 工单标题: {}, 工单申请人: {}, 工单处理人: {}, 工单 ID: {}" - -#: tickets/handlers/apply_asset.py:37 +#: tickets/handlers/apply_asset.py:36 msgid "" "Created by the ticket ticket title: {} ticket applicant: {} ticket " "processor: {} ticket ID: {}" @@ -5325,11 +5230,6 @@ msgstr "申请登录的城市" msgid "Applied login datetime" msgstr "申请登录的日期" -#: tickets/models/comment.py:13 tickets/models/ticket/general.py:41 -#: tickets/models/ticket/general.py:277 -msgid "State" -msgstr "状态" - #: tickets/models/comment.py:14 msgid "common" msgstr "" @@ -5367,17 +5267,16 @@ msgstr "工单流程" msgid "Ticket session relation" msgstr "工单会话" -#: tickets/models/ticket/apply_application.py:12 +#: tickets/models/ticket/apply_application.py:11 #: tickets/models/ticket/apply_asset.py:13 msgid "Permission name" msgstr "授权规则名称" -#: tickets/models/ticket/apply_application.py:21 +#: tickets/models/ticket/apply_application.py:20 msgid "Apply applications" msgstr "申请应用" -#: tickets/models/ticket/apply_application.py:24 -#: tickets/models/ticket/apply_asset.py:18 +#: tickets/models/ticket/apply_application.py:23 msgid "Apply system users" msgstr "申请的系统用户" @@ -5394,6 +5293,12 @@ msgstr "申请节点" msgid "Apply assets" msgstr "申请资产" +#: tickets/models/ticket/apply_asset.py:17 +#, fuzzy +#| msgid "Application account" +msgid "Apply accounts" +msgstr "应用账号" + #: tickets/models/ticket/command_confirm.py:10 msgid "Run user" msgstr "运行的用户" @@ -5402,19 +5307,21 @@ msgstr "运行的用户" msgid "Run asset" msgstr "运行的资产" -#: tickets/models/ticket/command_confirm.py:15 -msgid "Run system user" -msgstr "运行的系统用户" +#: tickets/models/ticket/command_confirm.py:13 +#, fuzzy +#| msgid "account" +msgid "Run account" +msgstr "账号" -#: tickets/models/ticket/command_confirm.py:17 +#: tickets/models/ticket/command_confirm.py:14 msgid "Run command" msgstr "运行的命令" -#: tickets/models/ticket/command_confirm.py:24 +#: tickets/models/ticket/command_confirm.py:21 msgid "From cmd filter" msgstr "来自命令过滤规则" -#: tickets/models/ticket/command_confirm.py:28 +#: tickets/models/ticket/command_confirm.py:25 msgid "From cmd filter rule" msgstr "来自命令过滤规则" @@ -5462,9 +5369,11 @@ msgstr "登录用户" msgid "Login asset" msgstr "登录资产" -#: tickets/models/ticket/login_asset_confirm.py:20 -msgid "Login system user" -msgstr "登录系统用户" +#: tickets/models/ticket/login_asset_confirm.py:19 +#, fuzzy +#| msgid "Login acl" +msgid "Login account" +msgstr "登录访问控制" #: tickets/models/ticket/login_confirm.py:12 msgid "Login datetime" @@ -5510,16 +5419,16 @@ msgstr "当前组织已存在该类型" msgid "Processor" msgstr "处理人" -#: tickets/serializers/ticket/common.py:16 -#: tickets/serializers/ticket/common.py:79 +#: tickets/serializers/ticket/common.py:15 +#: tickets/serializers/ticket/common.py:77 msgid "Created by ticket ({}-{})" msgstr "通过工单创建 ({}-{})" -#: tickets/serializers/ticket/common.py:69 +#: tickets/serializers/ticket/common.py:67 msgid "The expiration date should be greater than the start date" msgstr "过期时间要大于开始时间" -#: tickets/serializers/ticket/common.py:85 +#: tickets/serializers/ticket/common.py:83 msgid "Permission named `{}` already exists" msgstr "授权名称 `{}` 已存在" @@ -5540,7 +5449,7 @@ msgid "Ticket information" msgstr "工单信息" #: tickets/templates/tickets/approve_check_password.html:29 -#: tickets/views/approve.py:39 +#: tickets/views/approve.py:38 msgid "Ticket approval" msgstr "工单审批" @@ -5552,24 +5461,24 @@ msgstr "同意" msgid "Go Login" msgstr "去登录" -#: tickets/views/approve.py:40 +#: tickets/views/approve.py:39 msgid "" "This ticket does not exist, the process has ended, or this link has expired" msgstr "工单不存在,或者工单流程已经结束,或者此链接已经过期" -#: tickets/views/approve.py:69 +#: tickets/views/approve.py:68 msgid "Click the button below to approve or reject" msgstr "点击下方按钮同意或者拒绝" -#: tickets/views/approve.py:71 +#: tickets/views/approve.py:70 msgid "After successful authentication, this ticket can be approved directly" msgstr "认证成功后,工单可直接审批" -#: tickets/views/approve.py:93 +#: tickets/views/approve.py:92 msgid "Illegal approval action" msgstr "无效的审批动作" -#: tickets/views/approve.py:106 +#: tickets/views/approve.py:105 msgid "This user is not authorized to approve this ticket" msgstr "此用户无权审批此工单" @@ -5577,6 +5486,10 @@ msgstr "此用户无权审批此工单" msgid "Could not reset self otp, use profile reset instead" msgstr "不能在该页面重置 MFA 多因子认证, 请去个人信息页面重置" +#: users/apps.py:9 +msgid "Users" +msgstr "用户管理" + #: users/const.py:10 msgid "System administrator" msgstr "系统管理员" @@ -5704,6 +5617,14 @@ msgstr "头像" msgid "Wechat" msgstr "微信" +#: users/models/user.py:685 +msgid "Phone" +msgstr "手机" + +#: users/models/user.py:693 +msgid "Private key" +msgstr "ssh私钥" + #: users/models/user.py:699 msgid "Secret key" msgstr "Secret key" @@ -5720,27 +5641,27 @@ msgstr "最后更新密码日期" msgid "Need update password" msgstr "需要更新密码" -#: users/models/user.py:896 +#: users/models/user.py:897 msgid "Can invite user" msgstr "可以邀请用户" -#: users/models/user.py:897 +#: users/models/user.py:898 msgid "Can remove user" msgstr "可以移除用户" -#: users/models/user.py:898 +#: users/models/user.py:899 msgid "Can match user" msgstr "可以匹配用户" -#: users/models/user.py:907 +#: users/models/user.py:908 msgid "Administrator" msgstr "管理员" -#: users/models/user.py:910 +#: users/models/user.py:911 msgid "Administrator is the super user of system" msgstr "Administrator是初始的超级管理员" -#: users/models/user.py:935 +#: users/models/user.py:936 msgid "User password history" msgstr "用户密码历史" @@ -5811,12 +5732,6 @@ msgstr "系统角色显示" msgid "Org roles display" msgstr "组织角色显示" -#: users/serializers/user.py:81 -#: xpack/plugins/change_auth_plan/models/base.py:35 -#: xpack/plugins/change_auth_plan/serializers/base.py:27 -msgid "Password strategy" -msgstr "密码策略" - #: users/serializers/user.py:83 msgid "MFA enabled" msgstr "MFA 已启用" @@ -5973,10 +5888,6 @@ msgstr "您的密码必须满足:" msgid "Password strength" msgstr "密码强度:" -#: users/templates/users/reset_password.html:29 -msgid "Setting" -msgstr "设置" - #: users/templates/users/reset_password.html:48 msgid "Very weak" msgstr "很弱" @@ -6134,123 +6045,97 @@ msgstr "重置密码成功,返回到登录页面" msgid "XPACK" msgstr "XPack" -#: xpack/plugins/change_auth_plan/api/app.py:112 -#: xpack/plugins/change_auth_plan/api/asset.py:95 +#: xpack/plugins/change_auth_plan/api/asset.py:94 msgid "The parameter 'action' must be [{}]" msgstr "参数 'action' 必须是 [{}]" #: xpack/plugins/change_auth_plan/meta.py:9 -#: xpack/plugins/change_auth_plan/models/asset.py:123 +#: xpack/plugins/change_auth_plan/models/asset.py:124 msgid "Change auth plan" msgstr "改密计划" -#: xpack/plugins/change_auth_plan/models/app.py:46 -#: xpack/plugins/change_auth_plan/models/app.py:95 +#: xpack/plugins/change_auth_plan/models/app.py:45 +#: xpack/plugins/change_auth_plan/models/app.py:94 msgid "Application change auth plan" msgstr "应用改密计划" -#: xpack/plugins/change_auth_plan/models/app.py:99 -#: xpack/plugins/change_auth_plan/models/app.py:151 +#: xpack/plugins/change_auth_plan/models/app.py:98 +#: xpack/plugins/change_auth_plan/models/app.py:150 msgid "Application change auth plan execution" msgstr "应用改密计划执行" -#: xpack/plugins/change_auth_plan/models/app.py:144 -#: xpack/plugins/change_auth_plan/serializers/app.py:64 +#: xpack/plugins/change_auth_plan/models/app.py:143 msgid "App" msgstr "应用" -#: xpack/plugins/change_auth_plan/models/app.py:156 +#: xpack/plugins/change_auth_plan/models/app.py:155 msgid "Application change auth plan task" msgstr "应用改密计划任务" -#: xpack/plugins/change_auth_plan/models/app.py:180 -#: xpack/plugins/change_auth_plan/models/asset.py:263 +#: xpack/plugins/change_auth_plan/models/app.py:179 +#: xpack/plugins/change_auth_plan/models/asset.py:264 msgid "Password cannot be set to blank, exit. " msgstr "密码不能设置为空, 退出. " -#: xpack/plugins/change_auth_plan/models/asset.py:29 -msgid "Append SSH KEY" -msgstr "追加" - -#: xpack/plugins/change_auth_plan/models/asset.py:30 -msgid "Empty and append SSH KEY" -msgstr "清空所有并添加" - -#: xpack/plugins/change_auth_plan/models/asset.py:31 -msgid "Replace (The key generated by JumpServer) " -msgstr "替换 (由 JumpServer 生成的密钥)" - -#: xpack/plugins/change_auth_plan/models/asset.py:49 -#: xpack/plugins/change_auth_plan/serializers/asset.py:36 +#: xpack/plugins/change_auth_plan/models/asset.py:50 +#: xpack/plugins/change_auth_plan/serializers/asset.py:33 msgid "SSH Key strategy" msgstr "SSH 密钥策略" -#: xpack/plugins/change_auth_plan/models/asset.py:67 +#: xpack/plugins/change_auth_plan/models/asset.py:68 msgid "Asset change auth plan" msgstr "资产改密计划" -#: xpack/plugins/change_auth_plan/models/asset.py:134 +#: xpack/plugins/change_auth_plan/models/asset.py:135 msgid "Asset change auth plan execution" msgstr "资产改密计划执行" -#: xpack/plugins/change_auth_plan/models/asset.py:210 +#: xpack/plugins/change_auth_plan/models/asset.py:211 msgid "Change auth plan execution" msgstr "改密计划执行" -#: xpack/plugins/change_auth_plan/models/asset.py:217 +#: xpack/plugins/change_auth_plan/models/asset.py:218 msgid "Asset change auth plan task" msgstr "资产改密计划任务" -#: xpack/plugins/change_auth_plan/models/asset.py:252 +#: xpack/plugins/change_auth_plan/models/asset.py:253 msgid "This asset does not have a privileged user set: " msgstr "该资产没有设置特权用户: " -#: xpack/plugins/change_auth_plan/models/asset.py:258 +#: xpack/plugins/change_auth_plan/models/asset.py:259 msgid "" "The password and key of the current asset privileged user cannot be changed: " msgstr "不能更改当前资产特权用户的密码及密钥: " -#: xpack/plugins/change_auth_plan/models/asset.py:269 +#: xpack/plugins/change_auth_plan/models/asset.py:270 msgid "Public key cannot be set to null, exit. " msgstr "公钥不能设置为空, 退出. " -#: xpack/plugins/change_auth_plan/models/base.py:28 -msgid "All assets use the same random password" -msgstr "使用相同的随机密码" - -#: xpack/plugins/change_auth_plan/models/base.py:29 -msgid "All assets use different random password" -msgstr "使用不同的随机密码" - -#: xpack/plugins/change_auth_plan/models/base.py:39 -msgid "Password rules" -msgstr "密码规则" - -#: xpack/plugins/change_auth_plan/models/base.py:118 +#: xpack/plugins/change_auth_plan/models/base.py:114 msgid "Change auth plan snapshot" msgstr "改密计划快照" -#: xpack/plugins/change_auth_plan/models/base.py:187 +#: xpack/plugins/change_auth_plan/models/base.py:183 msgid "Ready" msgstr "准备" -#: xpack/plugins/change_auth_plan/models/base.py:188 +#: xpack/plugins/change_auth_plan/models/base.py:184 msgid "Preflight check" msgstr "改密前的校验" -#: xpack/plugins/change_auth_plan/models/base.py:189 +#: xpack/plugins/change_auth_plan/models/base.py:185 msgid "Change auth" msgstr "执行改密" -#: xpack/plugins/change_auth_plan/models/base.py:190 +#: xpack/plugins/change_auth_plan/models/base.py:186 msgid "Verify auth" msgstr "验证密码/密钥" -#: xpack/plugins/change_auth_plan/models/base.py:191 +#: xpack/plugins/change_auth_plan/models/base.py:187 msgid "Keep auth" msgstr "保存密码/密钥" -#: xpack/plugins/change_auth_plan/models/base.py:199 +#: xpack/plugins/change_auth_plan/models/base.py:195 msgid "Step" msgstr "步骤" @@ -6273,11 +6158,11 @@ msgstr "" "{} - 改密任务已完成: 未设置加密密码 - 请前往个人信息 -> 文件加密密码中设置加" "密密码" -#: xpack/plugins/change_auth_plan/serializers/asset.py:33 +#: xpack/plugins/change_auth_plan/serializers/asset.py:30 msgid "Change Password" msgstr "更改密码" -#: xpack/plugins/change_auth_plan/serializers/asset.py:34 +#: xpack/plugins/change_auth_plan/serializers/asset.py:31 msgid "Change SSH Key" msgstr "修改 SSH Key" @@ -6413,75 +6298,71 @@ msgstr "已释放" msgid "Cloud center" msgstr "云管中心" -#: xpack/plugins/cloud/models.py:30 +#: xpack/plugins/cloud/models.py:32 msgid "Provider" msgstr "云服务商" -#: xpack/plugins/cloud/models.py:39 +#: xpack/plugins/cloud/models.py:41 msgid "Cloud account" msgstr "云账号" -#: xpack/plugins/cloud/models.py:41 +#: xpack/plugins/cloud/models.py:43 msgid "Test cloud account" msgstr "测试云账号" -#: xpack/plugins/cloud/models.py:85 xpack/plugins/cloud/serializers/task.py:67 -msgid "Account" -msgstr "账号" - -#: xpack/plugins/cloud/models.py:88 xpack/plugins/cloud/serializers/task.py:38 +#: xpack/plugins/cloud/models.py:90 xpack/plugins/cloud/serializers/task.py:37 msgid "Regions" msgstr "地域" -#: xpack/plugins/cloud/models.py:91 +#: xpack/plugins/cloud/models.py:93 msgid "Hostname strategy" msgstr "主机名策略" -#: xpack/plugins/cloud/models.py:100 xpack/plugins/cloud/serializers/task.py:68 +#: xpack/plugins/cloud/models.py:102 xpack/plugins/cloud/serializers/task.py:66 msgid "Unix admin user" msgstr "Unix 管理员" -#: xpack/plugins/cloud/models.py:104 xpack/plugins/cloud/serializers/task.py:69 +#: xpack/plugins/cloud/models.py:106 xpack/plugins/cloud/serializers/task.py:67 msgid "Windows admin user" msgstr "Windows 管理员" -#: xpack/plugins/cloud/models.py:110 xpack/plugins/cloud/serializers/task.py:46 +#: xpack/plugins/cloud/models.py:112 xpack/plugins/cloud/serializers/task.py:44 msgid "IP network segment group" msgstr "IP网段组" -#: xpack/plugins/cloud/models.py:113 xpack/plugins/cloud/serializers/task.py:72 +#: xpack/plugins/cloud/models.py:115 xpack/plugins/cloud/serializers/task.py:70 msgid "Always update" msgstr "总是更新" -#: xpack/plugins/cloud/models.py:119 +#: xpack/plugins/cloud/models.py:121 msgid "Date last sync" msgstr "最后同步日期" -#: xpack/plugins/cloud/models.py:130 xpack/plugins/cloud/models.py:171 +#: xpack/plugins/cloud/models.py:126 xpack/plugins/cloud/models.py:167 msgid "Sync instance task" msgstr "同步实例任务" -#: xpack/plugins/cloud/models.py:182 xpack/plugins/cloud/models.py:230 +#: xpack/plugins/cloud/models.py:178 xpack/plugins/cloud/models.py:226 msgid "Date sync" msgstr "同步日期" -#: xpack/plugins/cloud/models.py:186 +#: xpack/plugins/cloud/models.py:182 msgid "Sync instance task execution" msgstr "同步实例任务执行" -#: xpack/plugins/cloud/models.py:210 +#: xpack/plugins/cloud/models.py:206 msgid "Sync task" msgstr "同步任务" -#: xpack/plugins/cloud/models.py:214 +#: xpack/plugins/cloud/models.py:210 msgid "Sync instance task history" msgstr "同步实例任务历史" -#: xpack/plugins/cloud/models.py:217 +#: xpack/plugins/cloud/models.py:213 msgid "Instance" msgstr "实例" -#: xpack/plugins/cloud/models.py:234 +#: xpack/plugins/cloud/models.py:230 msgid "Sync instance detail" msgstr "同步实例详情" @@ -6697,7 +6578,7 @@ msgstr "订阅 ID" #: xpack/plugins/cloud/serializers/account_attrs.py:95 #: xpack/plugins/cloud/serializers/account_attrs.py:100 -#: xpack/plugins/cloud/serializers/account_attrs.py:124 +#: xpack/plugins/cloud/serializers/account_attrs.py:134 msgid "API Endpoint" msgstr "API 端点" @@ -6713,25 +6594,25 @@ msgstr "如: http://openstack.example.com:5000/v3" msgid "User domain" msgstr "用户域" -#: xpack/plugins/cloud/serializers/account_attrs.py:117 +#: xpack/plugins/cloud/serializers/account_attrs.py:127 msgid "Service account key" msgstr "服务账号密钥" -#: xpack/plugins/cloud/serializers/account_attrs.py:118 +#: xpack/plugins/cloud/serializers/account_attrs.py:128 msgid "The file is in JSON format" msgstr "JSON 格式的文件" -#: xpack/plugins/cloud/serializers/account_attrs.py:131 +#: xpack/plugins/cloud/serializers/account_attrs.py:141 msgid "IP address invalid `{}`, {}" msgstr "IP 地址无效: `{}`, {}" -#: xpack/plugins/cloud/serializers/account_attrs.py:137 +#: xpack/plugins/cloud/serializers/account_attrs.py:147 msgid "" "Format for comma-delimited string,Such as: 192.168.1.0/24, " "10.0.0.0-10.0.0.255" msgstr "格式为逗号分隔的字符串,如:192.168.1.0/24,10.0.0.0-10.0.0.255" -#: xpack/plugins/cloud/serializers/account_attrs.py:141 +#: xpack/plugins/cloud/serializers/account_attrs.py:151 msgid "" "The port is used to detect the validity of the IP address. When the " "synchronization task is executed, only the valid IP address will be " @@ -6740,23 +6621,23 @@ msgstr "" "端口用来检测 IP 地址的有效性,在同步任务执行时,只会同步有效的 IP 地址。
" "如果端口为 0,则表示所有 IP 地址均有效。" -#: xpack/plugins/cloud/serializers/account_attrs.py:149 +#: xpack/plugins/cloud/serializers/account_attrs.py:159 msgid "Hostname prefix" msgstr "主机名前缀" -#: xpack/plugins/cloud/serializers/account_attrs.py:152 +#: xpack/plugins/cloud/serializers/account_attrs.py:162 msgid "IP segment" msgstr "IP 网段" -#: xpack/plugins/cloud/serializers/account_attrs.py:156 +#: xpack/plugins/cloud/serializers/account_attrs.py:166 msgid "Test port" msgstr "测试端口" -#: xpack/plugins/cloud/serializers/account_attrs.py:159 +#: xpack/plugins/cloud/serializers/account_attrs.py:169 msgid "Test timeout" msgstr "测试超时时间" -#: xpack/plugins/cloud/serializers/task.py:29 +#: xpack/plugins/cloud/serializers/task.py:28 msgid "" "Only instances matching the IP range will be synced.
If the instance " "contains multiple IP addresses, the first IP address that matches will be " @@ -6768,19 +6649,19 @@ msgstr "" "到的 IP 地址将被用作创建的资产的 IP。
默认值 * 表示同步所有实例和随机匹配 " "IP 地址。
格式为以逗号分隔的字符串,例如:192.168.1.0/24,10.1.1.1-10.1.1.20" -#: xpack/plugins/cloud/serializers/task.py:36 +#: xpack/plugins/cloud/serializers/task.py:35 msgid "History count" msgstr "执行次数" -#: xpack/plugins/cloud/serializers/task.py:37 +#: xpack/plugins/cloud/serializers/task.py:36 msgid "Instance count" msgstr "实例个数" -#: xpack/plugins/cloud/serializers/task.py:66 +#: xpack/plugins/cloud/serializers/task.py:64 msgid "Linux admin user" msgstr "Linux 管理员" -#: xpack/plugins/cloud/serializers/task.py:71 +#: xpack/plugins/cloud/serializers/task.py:69 #: xpack/plugins/gathered_user/serializers.py:20 msgid "Periodic display" msgstr "定时执行" @@ -6793,15 +6674,15 @@ msgstr "账号无效" msgid "Gathered user" msgstr "收集用户" -#: xpack/plugins/gathered_user/models.py:39 +#: xpack/plugins/gathered_user/models.py:34 msgid "Gather user task" msgstr "收集用户任务" -#: xpack/plugins/gathered_user/models.py:85 +#: xpack/plugins/gathered_user/models.py:80 msgid "gather user task execution" msgstr "收集用户执行" -#: xpack/plugins/gathered_user/models.py:91 +#: xpack/plugins/gathered_user/models.py:86 msgid "Assets is empty, please change nodes" msgstr "资产为空,请更改节点" @@ -6872,3 +6753,409 @@ msgstr "旗舰版" #: xpack/plugins/license/models.py:77 msgid "Community edition" msgstr "社区版" + +#~ msgid "System User" +#~ msgstr "系统用户" + +#~ msgid "Unsupported protocols: {}" +#~ msgstr "不支持的协议: {}" + +#~ msgid "Remote app" +#~ msgstr "远程应用" + +#~ msgid "Custom" +#~ msgstr "自定义" + +#~ msgid "Can view application account secret" +#~ msgstr "可以查看应用账号密码" + +#~ msgid "Can change application account secret" +#~ msgstr "可以查看应用账号密码" + +#~ msgid "Application user" +#~ msgstr "应用用户" + +#~ msgid "Application display" +#~ msgstr "应用名称" + +#~ msgid "Cluster" +#~ msgstr "集群" + +#~ msgid "Asset Info" +#~ msgstr "资产信息" + +#~ msgid "Application path" +#~ msgstr "应用路径" + +#~ msgid "Target URL" +#~ msgstr "目标URL" + +#~ msgid "Chrome username" +#~ msgstr "Chrome 用户名" + +#~ msgid "Chrome password" +#~ msgstr "Chrome 密码" + +#~ msgid "Operating parameter" +#~ msgstr "运行参数" + +#~ msgid "Target url" +#~ msgstr "目标URL" + +#~ msgid "Custom Username" +#~ msgstr "自定义用户名" + +#~ msgid "Mysql workbench username" +#~ msgstr "Mysql 工作台 用户名" + +#~ msgid "Mysql workbench password" +#~ msgstr "Mysql 工作台 密码" + +#~ msgid "Magnus currently supports only 11g and 12c connections" +#~ msgstr "目前 Magnus 只支持连接 11g、12c 版本" + +#~ msgid "Vmware username" +#~ msgstr "Vmware 用户名" + +#~ msgid "Vmware password" +#~ msgstr "Vmware 密码" + +#~ msgid "Base" +#~ msgstr "基础" + +#~ msgid "Public IP" +#~ msgstr "公网IP" + +#~ msgid "AuthBook" +#~ msgstr "资产账号" + +#~ msgid "Can test asset account connectivity" +#~ msgstr "可以测试资产账号连接性" + +#~ msgid "Bandwidth" +#~ msgstr "带宽" + +#~ msgid "Contact" +#~ msgstr "联系人" + +#~ msgid "Intranet" +#~ msgstr "内网" + +#~ msgid "Extranet" +#~ msgstr "外网" + +#~ msgid "Operator" +#~ msgstr "运营商" + +#~ msgid "Default Cluster" +#~ msgstr "默认Cluster" + +#~ msgid "User groups" +#~ msgstr "用户组" + +#~ msgid "System user display" +#~ msgstr "系统用户名称" + +#~ msgid "Protocol format should {}/{}" +#~ msgstr "协议格式 {}/{}" + +#~ msgid "Nodes name" +#~ msgstr "节点名称" + +#~ msgid "Labels name" +#~ msgstr "标签名称" + +#~ msgid "Hardware info" +#~ msgstr "硬件信息" + +#~ msgid "Admin user display" +#~ msgstr "特权用户名称" + +#~ msgid "CPU info" +#~ msgstr "CPU信息" + +#~ msgid "Action display" +#~ msgstr "动作名称" + +#~ msgid "Applications amount" +#~ msgstr "应用数量" + +#~ msgid "SSH key fingerprint" +#~ msgstr "密钥指纹" + +#~ msgid "Apps amount" +#~ msgstr "应用数量" + +#~ msgid "Login mode display" +#~ msgstr "认证方式名称" + +#~ msgid "Ad domain" +#~ msgstr "Ad 网域" + +#~ msgid "Is asset protocol" +#~ msgstr "资产协议" + +#~ msgid "Only ssh and automatic login system users are supported" +#~ msgstr "仅支持ssh协议和自动登录的系统用户" + +#~ msgid "Username same with user with protocol {} only allow 1" +#~ msgstr "用户名和用户相同的一种协议只允许存在一个" + +#~ msgid "* Automatic login mode must fill in the username." +#~ msgstr "自动登录模式,必须填写用户名" + +#~ msgid "Path should starts with /" +#~ msgstr "路径应该以 / 开头" + +#~ msgid "Password or private key required" +#~ msgstr "密码或密钥密码需要一个" + +#~ msgid "Only ssh protocol system users are allowed" +#~ msgstr "仅允许ssh协议的系统用户" + +#~ msgid "The protocol must be consistent with the current user: {}" +#~ msgstr "协议必须和当前用户保持一致: {}" + +#~ msgid "Only system users with automatic login are allowed" +#~ msgstr "仅允许自动登录的系统用户" + +#~ msgid "System user name" +#~ msgstr "系统用户名称" + +#~ msgid "Asset hostname" +#~ msgstr "资产主机名" + +#~ msgid "System user is dynamic: {}" +#~ msgstr "系统用户是动态的: {}" + +#~ msgid "Start push system user for platform: [{}]" +#~ msgstr "推送系统用户到平台: [{}]" + +#~ msgid "Hosts count: {}" +#~ msgstr "主机数量: {}" + +#~ msgid "Push system users to assets: " +#~ msgstr "推送系统用户到入资产: " + +#~ msgid "Push system users to asset: " +#~ msgstr "推送系统用户到入资产: " + +#~ msgid "Dynamic system user not support test" +#~ msgstr "动态系统用户不支持测试" + +#~ msgid "Start test system user connectivity for platform: [{}]" +#~ msgstr "开始测试系统用户在该系统平台的可连接性: [{}]" + +#~ msgid "Test system user connectivity: " +#~ msgstr "测试系统用户可连接性: " + +#~ msgid "Test system user connectivity period: " +#~ msgstr "定期测试系统用户可连接性: " + +#~ msgid "Hosts display" +#~ msgstr "主机名称" + +#~ msgid "Run as" +#~ msgstr "运行用户" + +#~ msgid "Run as display" +#~ msgstr "运行用户名称" + +#~ msgid "Asset and SystemUser" +#~ msgstr "资产与系统用户" + +#, python-brace-format +#~ msgid "{Asset} ADD {SystemUser}" +#~ msgstr "{Asset} 添加 {SystemUser}" + +#, python-brace-format +#~ msgid "{Asset} REMOVE {SystemUser}" +#~ msgstr "{Asset} 移除 {SystemUser}" + +#~ msgid "Asset permission and SystemUser" +#~ msgstr "资产授权与系统用户" + +#, python-brace-format +#~ msgid "{AssetPermission} ADD {SystemUser}" +#~ msgstr "{AssetPermission} 添加 {SystemUser}" + +#, python-brace-format +#~ msgid "{AssetPermission} REMOVE {SystemUser}" +#~ msgstr "{AssetPermission} 移除 {SystemUser}" + +#~ msgid "User application permissions" +#~ msgstr "用户应用授权" + +#, python-brace-format +#~ msgid "{ApplicationPermission} ADD {User}" +#~ msgstr "{ApplicationPermission} 添加 {User}" + +#, python-brace-format +#~ msgid "{ApplicationPermission} REMOVE {User}" +#~ msgstr "{ApplicationPermission} 移除 {User}" + +#~ msgid "User group application permissions" +#~ msgstr "用户组应用授权" + +#, python-brace-format +#~ msgid "{ApplicationPermission} ADD {UserGroup}" +#~ msgstr "{ApplicationPermission} 添加 {UserGroup}" + +#, python-brace-format +#~ msgid "{ApplicationPermission} REMOVE {UserGroup}" +#~ msgstr "{ApplicationPermission} 移除 {UserGroup}" + +#~ msgid "Application permission" +#~ msgstr "应用授权" + +#, python-brace-format +#~ msgid "{ApplicationPermission} ADD {Application}" +#~ msgstr "{ApplicationPermission} 添加 {Application}" + +#, python-brace-format +#~ msgid "{ApplicationPermission} REMOVE {Application}" +#~ msgstr "{ApplicationPermission} 移除 {Application}" + +#~ msgid "Application permission and SystemUser" +#~ msgstr "应用授权与系统用户" + +#, python-brace-format +#~ msgid "{ApplicationPermission} ADD {SystemUser}" +#~ msgstr "{ApplicationPermission} 添加 {SystemUser}" + +#, python-brace-format +#~ msgid "{ApplicationPermission} REMOVE {SystemUser}" +#~ msgstr "{ApplicationPermission} 移除 {SystemUser}" + +#~ msgid "Not has host {} permission" +#~ msgstr "没有该主机 {} 权限" + +#~ msgid "" +#~ "eg: Every Sunday 03:05 run <5 3 * * 0>
Tips: Using 5 digits linux " +#~ "crontab expressions (Online tools)
Note: If both Regularly " +#~ "perform and Cycle perform are set, give priority to Regularly perform" +#~ msgstr "" +#~ "eg:每周日 03:05 执行 <5 3 * * 0>
提示: 使用5位 Linux crontab 表达" +#~ "式 <分 时 日 月 星期> (在线工具
注意: 如果同时设置了定期执行和周期执" +#~ "行,优先使用定期执行" + +#~ msgid "Unit: hour" +#~ msgstr "单位: 时" + +#~ msgid "Callback" +#~ msgstr "回调" + +#~ msgid "Can view task monitor" +#~ msgstr "可以查看任务监控" + +#~ msgid "Tasks" +#~ msgstr "任务" + +#~ msgid "Options" +#~ msgstr "选项" + +#~ msgid "Run as admin" +#~ msgstr "再次执行" + +#~ msgid "Become" +#~ msgstr "Become" + +#~ msgid "Create by" +#~ msgstr "创建者" + +#~ msgid "AdHoc" +#~ msgstr "任务各版本" + +#~ msgid "Task display" +#~ msgstr "任务名称" + +#~ msgid "Host amount" +#~ msgstr "主机数量" + +#~ msgid "Start time" +#~ msgstr "开始时间" + +#~ msgid "End time" +#~ msgstr "完成时间" + +#~ msgid "Adhoc raw result" +#~ msgstr "结果" + +#~ msgid "Adhoc result summary" +#~ msgstr "汇总" + +#~ msgid "Task start" +#~ msgstr "任务开始" + +#~ msgid "Command `{}` is forbidden ........" +#~ msgstr "命令 `{}` 不允许被执行 ......." + +#~ msgid "Task end" +#~ msgstr "任务结束" + +#~ msgid "The administrator is modifying permissions. Please wait" +#~ msgstr "管理员正在修改授权,请稍等" + +#~ msgid "The authorization cannot be revoked for the time being" +#~ msgstr "该授权暂时不能撤销" + +#~ msgid "Permed application" +#~ msgstr "授权的应用" + +#~ msgid "Can view my apps" +#~ msgstr "可以查看我的应用" + +#~ msgid "Can view user apps" +#~ msgstr "可以查看用户授权的应用" + +#~ msgid "Can view usergroup apps" +#~ msgstr "可以查看用户组授权的应用" + +#~ msgid "Your permed applications is about to expire" +#~ msgstr "你授权的应用即将过期" + +#~ msgid "permed applications" +#~ msgstr "授权的应用" + +#~ msgid "Application permissions is about to expire" +#~ msgstr "应用授权规则即将过期" + +#~ msgid "application permissions of organization {}" +#~ msgstr "组织 ({}) 的应用授权" + +#~ msgid "System users amount" +#~ msgstr "系统用户数量" + +#~ msgid "" +#~ "The application list contains applications that are different from the " +#~ "permission type. ({})" +#~ msgstr "应用列表中包含与授权类型不同的应用。({})" + +#~ msgid "System users display" +#~ msgstr "系统用户名称" + +#~ msgid "My applications" +#~ msgstr "我的应用" + +#~ msgid "Empty" +#~ msgstr "空" + +#~ msgid "System user ID" +#~ msgstr "系统用户 ID" + +#~ msgid "Apply for application" +#~ msgstr "申请应用" + +#~ msgid "" +#~ "Created by the ticket, ticket title: {}, ticket applicant: {}, ticket " +#~ "processor: {}, ticket ID: {}" +#~ msgstr "" +#~ "通过工单创建, 工单标题: {}, 工单申请人: {}, 工单处理人: {}, 工单 ID: {}" + +#~ msgid "Run system user" +#~ msgstr "运行的系统用户" + +#~ msgid "Login system user" +#~ msgstr "登录系统用户" diff --git a/apps/notifications/migrations/0002_auto_20210909_1946.py b/apps/notifications/migrations/0002_auto_20210909_1946.py index 75f71fad7..e0f8ac073 100644 --- a/apps/notifications/migrations/0002_auto_20210909_1946.py +++ b/apps/notifications/migrations/0002_auto_20210909_1946.py @@ -30,7 +30,7 @@ def init_user_msg_subscription(apps, schema_editor): to_create.append(UserMsgSubscription(user=user, receive_backends=receive_backends)) UserMsgSubscription.objects.bulk_create(to_create) - print(f'\n Init user message subscription: {len(to_create)}') + print(f'\n\tInit user message subscription: {len(to_create)}') class Migration(migrations.Migration): diff --git a/apps/rbac/builtin.py b/apps/rbac/builtin.py index 3bca6138f..77ec14cf1 100644 --- a/apps/rbac/builtin.py +++ b/apps/rbac/builtin.py @@ -164,7 +164,7 @@ class BuiltinRole: @classmethod def sync_to_db(cls, show_msg=False): roles = cls.get_roles() - print("\n Update builtin roles") + print("\n\tUpdate builtin roles") for pre_role in roles.values(): role, created = pre_role.update_or_create_role() diff --git a/apps/rbac/migrations/0004_auto_20211201_1901.py b/apps/rbac/migrations/0004_auto_20211201_1901.py index 811876f58..669af02cf 100644 --- a/apps/rbac/migrations/0004_auto_20211201_1901.py +++ b/apps/rbac/migrations/0004_auto_20211201_1901.py @@ -29,7 +29,7 @@ def migrate_system_role_binding(apps, schema_editor): role_bindings.append(role_binding) role_binding_model.objects.bulk_create(role_bindings, ignore_conflicts=True) - print("Create role binding: {}-{} using: {:.2f}s".format( + print("\tCreate role binding: {}-{} using: {:.2f}s".format( count, count + len(users), time.time()-start )) count += len(users) @@ -62,7 +62,7 @@ def migrate_org_role_binding(apps, schema_editor): ) role_bindings.append(role_binding) role_binding_model.objects.bulk_create(role_bindings, ignore_conflicts=True) - print("Create role binding: {}-{} using: {:.2f}s".format( + print("\tCreate role binding: {}-{} using: {:.2f}s".format( count, count + len(members), time.time()-start )) count += len(members) diff --git a/apps/rbac/signal_handlers.py b/apps/rbac/signal_handlers.py index 86eefb180..a158b7e6a 100644 --- a/apps/rbac/signal_handlers.py +++ b/apps/rbac/signal_handlers.py @@ -11,7 +11,7 @@ def after_migrate_update_builtin_role_permissions(sender, app_config, **kwargs): # 最后一个 app migrations 后执行, 更新内置角色的权限 last_app = list(apps.get_app_configs())[-1] if app_config.name == last_app.name: - print("After migration, update builtin role permissions") + print("\tAfter migration, update builtin role permissions") BuiltinRole.sync_to_db() diff --git a/apps/tickets/migrations/0013_ticket_serial_num.py b/apps/tickets/migrations/0013_ticket_serial_num.py index 4c457d21f..6a6568175 100644 --- a/apps/tickets/migrations/0013_ticket_serial_num.py +++ b/apps/tickets/migrations/0013_ticket_serial_num.py @@ -12,7 +12,7 @@ def fill_ticket_serial_number(apps, schema_editor): curr_day = '00000000' curr_num = 1 - print(f'\nFill ticket serial number ... ', end='') + print(f'\n Fill ticket serial number ... ') for ticket in tickets: # 跑这个脚本的时候,所有 ticket.serial_num == null date_created = as_current_tz(ticket.date_created) diff --git a/apps/tickets/migrations/0020_auto_20220817_1346.py b/apps/tickets/migrations/0020_auto_20220817_1346.py index 91748dd76..7bdd129f9 100644 --- a/apps/tickets/migrations/0020_auto_20220817_1346.py +++ b/apps/tickets/migrations/0020_auto_20220817_1346.py @@ -15,7 +15,7 @@ def migrate_system_to_account(apps, schema_editor): (apply_login_asset_ticket_model, 'apply_login_system_user', 'apply_login_account', False), ) - print("\nStart migrate system user to account") + print("\n Start migrate system user to account") for model, old_field, new_field, m2m in model_system_user_account: print(" - migrate '{}'".format(model.__name__)) count = 0 diff --git a/apps/users/models/user.py b/apps/users/models/user.py index 78d5eb540..50abee411 100644 --- a/apps/users/models/user.py +++ b/apps/users/models/user.py @@ -254,7 +254,7 @@ class RoleManager(models.Manager): self.user.expire_users_rbac_perms_cache() return result except Exception as e: - logger.error('Create role binding error: {}'.format(e)) + logger.error('\tCreate role binding error: {}'.format(e)) def set(self, roles, clear=False): if clear: diff --git a/utils/test_run_migrations.py b/utils/test_run_migrations.py index 33c7c3c5c..70162ab68 100644 --- a/utils/test_run_migrations.py +++ b/utils/test_run_migrations.py @@ -42,7 +42,7 @@ def migrate_system_role_binding(apps, schema_editor): role_bindings.append(role_binding) role_binding_model.objects.bulk_create(role_bindings, ignore_conflicts=True) - print("Create role binding: {}-{} using: {:.2f}s".format( + print("\tCreate role binding: {}-{} using: {:.2f}s".format( count, count + len(users), time.time()-start )) count += len(users)