diff --git a/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationController.ts b/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationController.ts index 16e95ea1f6..f65d9a66a6 100644 --- a/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationController.ts +++ b/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationController.ts @@ -11,6 +11,7 @@ import { observable, computed, makeObservable } from 'mobx'; import { injectable } from '@cloudbeaver/core-di'; import { CommonDialogService, ConfirmationDialogDelete, DialogueStateResult } from '@cloudbeaver/core-dialogs'; import { NotificationService } from '@cloudbeaver/core-events'; +import { LocalizationService } from '@cloudbeaver/core-localization'; import { resourceKeyList } from '@cloudbeaver/core-sdk'; import { DatabaseConnection, compareConnections, ConnectionsResource } from '../ConnectionsResource'; @@ -31,7 +32,8 @@ export class ConnectionsAdministrationController { constructor( private notificationService: NotificationService, private connectionsResource: ConnectionsResource, - private commonDialogService: CommonDialogService + private commonDialogService: CommonDialogService, + private localizationService: LocalizationService, ) { makeObservable(this, { isProcessing: observable, @@ -69,13 +71,13 @@ export class ConnectionsAdministrationController { return; } - const connectionNames = deletionList - .map(id => this.connectionsResource.get(id)?.name) - .filter(Boolean); + const connectionNames = deletionList.map(id => this.connectionsResource.get(id)?.name).filter(Boolean); + const nameList = connectionNames.map(name => `"${name}"`).join(', '); + const message = `${this.localizationService.translate('connections_administration_delete_confirmation')}${nameList}. ${this.localizationService.translate('ui_are_you_sure')}`; const result = await this.commonDialogService.open(ConfirmationDialogDelete, { title: 'ui_data_delete_confirmation', - message: `You're going to delete these connections: ${connectionNames.map(name => `"${name}"`).join(', ')}. Are you sure?`, + message, confirmActionText: 'ui_delete', }); diff --git a/webapp/packages/core-connections/src/locales/en.ts b/webapp/packages/core-connections/src/locales/en.ts index 9da755c109..dad249176e 100644 --- a/webapp/packages/core-connections/src/locales/en.ts +++ b/webapp/packages/core-connections/src/locales/en.ts @@ -11,6 +11,7 @@ export default [ ['connections_administration_configuration_wizard_title', 'Add database connections'], ['connections_administration_configuration_wizard_message', 'Here you can create database connections manually or using a database server search.\nYou can skip this step and configure the connections later.'], ['connections_administration_connection_no_information', 'No information available'], + ['connections_administration_delete_confirmation', "You're going to delete these connections: "], ['connections_administration_tools_add_tooltip', 'Add new connection'], ['connections_administration_tools_refresh_tooltip', 'Refresh connection list'], ['connections_administration_tools_delete_tooltip', 'Delete selected connections'], diff --git a/webapp/packages/core-connections/src/locales/ru.ts b/webapp/packages/core-connections/src/locales/ru.ts index 14dfd3abf0..2b3ba45c10 100644 --- a/webapp/packages/core-connections/src/locales/ru.ts +++ b/webapp/packages/core-connections/src/locales/ru.ts @@ -10,6 +10,7 @@ export default [ ['connections_administration_configuration_wizard_step_description', 'Подключения к базам'], ['connections_administration_configuration_wizard_message', 'Here you can create database connections manually or using a database server search.\nYou can skip this step and configure the connections later.'], ['connections_administration_connection_no_information', 'Нет доступной информации'], + ['connections_administration_delete_confirmation', 'Вы собираетесь удалить следующие подключения: '], ['connections_administration_tools_add_tooltip', 'Добавить новое подключение'], ['connections_administration_tools_refresh_tooltip', 'Обновить список подключений'], ['connections_administration_tools_delete_tooltip', 'Удалить выбранные подключения'], diff --git a/webapp/packages/core-localization/src/locales/en.ts b/webapp/packages/core-localization/src/locales/en.ts index c633674101..c13b2dff8c 100644 --- a/webapp/packages/core-localization/src/locales/en.ts +++ b/webapp/packages/core-localization/src/locales/en.ts @@ -49,9 +49,11 @@ export const defaultENLocale = [ ['ui_reconnect', 'Reconnect'], ['ui_forget', 'Forget'], ['ui_set', 'Set'], + ['ui_are_you_sure', 'Are you sure?'], + ['ui_options', 'Options'], - ['root_permission_denied', 'You have no permissions'], - ['root_permission_no_permission', 'You have no permission for this action'], + ['root_permission_denied', "You don't have permissions"], + ['root_permission_no_permission', "You don't have permission for this action"], ['app_root_session_expire_warning_title', 'Session is about to expire'], ['app_root_session_expire_warning_message', 'Your session will expire in less than 5 minutes. To keep working, close this popup.'], ['app_root_session_expire_warning_button', 'I am here'], diff --git a/webapp/packages/core-localization/src/locales/ru.ts b/webapp/packages/core-localization/src/locales/ru.ts index f5c52dd262..f76326bf9f 100644 --- a/webapp/packages/core-localization/src/locales/ru.ts +++ b/webapp/packages/core-localization/src/locales/ru.ts @@ -47,6 +47,8 @@ export const defaultRULocale = [ ['ui_reconnect', 'Переподключиться'], ['ui_forget', 'Забыть'], ['ui_set', 'Установить'], + ['ui_are_you_sure', 'Вы уверены?'], + ['ui_options', 'Параметры'], ['root_permission_denied', 'Отказано в доступе'], ['root_permission_no_permission', 'У вас нет разрешения на это действие'], diff --git a/webapp/packages/core-notifications/src/NotificationsItem/ErrorDetailsDialog/ErrorDetailsDialog.tsx b/webapp/packages/core-notifications/src/NotificationsItem/ErrorDetailsDialog/ErrorDetailsDialog.tsx index a6a6ea0481..9b36028543 100644 --- a/webapp/packages/core-notifications/src/NotificationsItem/ErrorDetailsDialog/ErrorDetailsDialog.tsx +++ b/webapp/packages/core-notifications/src/NotificationsItem/ErrorDetailsDialog/ErrorDetailsDialog.tsx @@ -12,6 +12,7 @@ import styled from 'reshadow'; import { useClipboard, Button, Iframe } from '@cloudbeaver/core-blocks'; import { CommonDialogWrapper, DialogComponent } from '@cloudbeaver/core-dialogs'; +import { useTranslate } from '@cloudbeaver/core-localization'; import { useStyles } from '@cloudbeaver/core-theming'; import { ErrorModel, IErrorInfo } from './ErrorModel'; @@ -35,6 +36,8 @@ function DisplayErrorInfo({ error }: {error: IErrorInfo}) { } export const ErrorDetailsDialog: DialogComponent = observer(function ErrorDetailsDialog(props) { + const translate = useTranslate(); + const error = useMemo( () => (props.payload instanceof Error ? new ErrorModel({ error: props.payload }) @@ -56,9 +59,9 @@ export const ErrorDetailsDialog: DialogComponent = observe footer={( <> {error.textToCopy && ( - + )} - + )} style={dialogStyle} diff --git a/webapp/packages/plugin-administration/src/ConfigurationWizard/ServerConfiguration/Form/ServerConfigurationFeaturesForm.tsx b/webapp/packages/plugin-administration/src/ConfigurationWizard/ServerConfiguration/Form/ServerConfigurationFeaturesForm.tsx index 4d27fb229d..2f54d48db6 100644 --- a/webapp/packages/plugin-administration/src/ConfigurationWizard/ServerConfiguration/Form/ServerConfigurationFeaturesForm.tsx +++ b/webapp/packages/plugin-administration/src/ConfigurationWizard/ServerConfiguration/Form/ServerConfigurationFeaturesForm.tsx @@ -39,7 +39,7 @@ export const ServerConfigurationFeaturesForm: PlaceholderComponent - {translate('administration_configuration_wizard_configuration_features_group')} + {translate('administration_configuration_wizard_configuration_services_group')} {() => styled(styles)( <> diff --git a/webapp/packages/plugin-administration/src/locales/ru.ts b/webapp/packages/plugin-administration/src/locales/ru.ts index 1fd428cbc9..9809a479bf 100644 --- a/webapp/packages/plugin-administration/src/locales/ru.ts +++ b/webapp/packages/plugin-administration/src/locales/ru.ts @@ -6,6 +6,7 @@ export default [ ['administration_configuration_wizard_configuration_server_info', 'Информация о сервере'], ['administration_configuration_wizard_configuration_server_name', 'Название сервера'], + ['administration_configuration_wizard_configuration_server_url', 'URL Сервера'], ['administration_configuration_wizard_configuration_server_info_unsaved', 'Есть несохранённые изменения'], ['administration_configuration_wizard_configuration_server_session_lifetime', 'Время сессии'], ['administration_configuration_wizard_configuration_server_session_lifetime_description', 'В случае бездействия пользователя на протяжении указанного количества минут, его сессия будет закрыта.'], diff --git a/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsAdministrationService.ts b/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsAdministrationService.ts index 25a9038cab..996281ff87 100644 --- a/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsAdministrationService.ts +++ b/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsAdministrationService.ts @@ -44,7 +44,7 @@ export class AuthConfigurationsAdministrationService extends Bootstrap { }); this.administrationItemService.create({ name: 'auth-configurations', - type: AdministrationItemType.Default, + type: AdministrationItemType.Administration, order: 5, configurationWizardOptions: { description: 'administration_identity_providers_wizard_description', diff --git a/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsTable/useConfigurationsTable.tsx b/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsTable/useConfigurationsTable.tsx index c249d84a35..a5542250bf 100644 --- a/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsTable/useConfigurationsTable.tsx +++ b/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/AuthConfigurationsTable/useConfigurationsTable.tsx @@ -13,6 +13,7 @@ import { TableState, useObservableRef } from '@cloudbeaver/core-blocks'; import { useService } from '@cloudbeaver/core-di'; import { CommonDialogService, ConfirmationDialogDelete, DialogueStateResult } from '@cloudbeaver/core-dialogs'; import { NotificationService } from '@cloudbeaver/core-events'; +import { useTranslate } from '@cloudbeaver/core-localization'; import { AdminAuthProviderConfiguration, resourceKeyList } from '@cloudbeaver/core-sdk'; interface State { @@ -28,6 +29,8 @@ export function useConfigurationsTable(): Readonly { const dialogService = useService(CommonDialogService); const resource = useService(AuthConfigurationsResource); + const translate = useTranslate(); + return useObservableRef(() => ({ tableState: new TableState(), processing: false, @@ -60,13 +63,13 @@ export function useConfigurationsTable(): Readonly { return; } - const configurationsNames = deletionList - .map(id => resource.get(id)?.displayName) - .filter(Boolean); + const configurationNames = deletionList.map(id => resource.get(id)?.displayName).filter(Boolean); + const nameList = configurationNames.map(name => `"${name}"`).join(', '); + const message = `${translate('administration_identity_providers_delete_confirmation')}${nameList}. ${translate('ui_are_you_sure')}`; const result = await dialogService.open(ConfirmationDialogDelete, { title: 'ui_data_delete_confirmation', - message: `You're going to delete these configurations: ${configurationsNames.map(name => `"${name}"`).join(', ')}. Are you sure?`, + message, confirmActionText: 'ui_delete', }); diff --git a/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/Options/AuthConfigurationOptionsTabService.ts b/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/Options/AuthConfigurationOptionsTabService.ts index da4f9e52d1..63607b5fe6 100644 --- a/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/Options/AuthConfigurationOptionsTabService.ts +++ b/webapp/packages/plugin-authentication/src/Administration/IdentityProviders/Options/AuthConfigurationOptionsTabService.ts @@ -28,7 +28,7 @@ export class AuthConfigurationOptionsTabService extends Bootstrap { register(): void { this.authConfigurationFormService.tabsContainer.add({ key: 'options', - name: 'Options', + name: 'ui_options', order: 1, panel: () => AuthConfigurationOptions, }); diff --git a/webapp/packages/plugin-authentication/src/Administration/Roles/Options/RoleOptionsTabService.ts b/webapp/packages/plugin-authentication/src/Administration/Roles/Options/RoleOptionsTabService.ts index 3e705319d3..287cd30546 100644 --- a/webapp/packages/plugin-authentication/src/Administration/Roles/Options/RoleOptionsTabService.ts +++ b/webapp/packages/plugin-authentication/src/Administration/Roles/Options/RoleOptionsTabService.ts @@ -28,7 +28,7 @@ export class RoleOptionsTabService extends Bootstrap { register(): void { this.roleFormService.tabsContainer.add({ key: 'options', - name: 'Options', + name: 'ui_options', order: 1, panel: () => RoleOptions, }); diff --git a/webapp/packages/plugin-authentication/src/Administration/Roles/RolesTable/useRolesTable.tsx b/webapp/packages/plugin-authentication/src/Administration/Roles/RolesTable/useRolesTable.tsx index cfac852621..20ba6d0223 100644 --- a/webapp/packages/plugin-authentication/src/Administration/Roles/RolesTable/useRolesTable.tsx +++ b/webapp/packages/plugin-authentication/src/Administration/Roles/RolesTable/useRolesTable.tsx @@ -13,6 +13,7 @@ import { TableState, useObservableRef } from '@cloudbeaver/core-blocks'; import { useService } from '@cloudbeaver/core-di'; import { CommonDialogService, ConfirmationDialogDelete, DialogueStateResult } from '@cloudbeaver/core-dialogs'; import { NotificationService } from '@cloudbeaver/core-events'; +import { useTranslate } from '@cloudbeaver/core-localization'; import { resourceKeyList } from '@cloudbeaver/core-sdk'; interface State { @@ -28,6 +29,8 @@ export function useRolesTable(): Readonly { const dialogService = useService(CommonDialogService); const resource = useService(RolesResource); + const translate = useTranslate(); + return useObservableRef(() => ({ tableState: new TableState(), processing: false, @@ -60,9 +63,11 @@ export function useRolesTable(): Readonly { return; } + const roleNames = deletionList.map(name => `"${name}"`).join(', '); + const message = `${translate('administration_roles_delete_confirmation')}${roleNames}. ${translate('ui_are_you_sure')}`; const result = await dialogService.open(ConfirmationDialogDelete, { title: 'ui_data_delete_confirmation', - message: `You're going to delete these roles: ${deletionList.map(name => `"${name}"`).join(', ')}. Are you sure?`, + message, confirmActionText: 'ui_delete', }); diff --git a/webapp/packages/plugin-authentication/src/Administration/Users/UsersAdministrationController.ts b/webapp/packages/plugin-authentication/src/Administration/Users/UsersAdministrationController.ts index 688c3bcfdd..0756c3894d 100644 --- a/webapp/packages/plugin-authentication/src/Administration/Users/UsersAdministrationController.ts +++ b/webapp/packages/plugin-authentication/src/Administration/Users/UsersAdministrationController.ts @@ -12,6 +12,7 @@ import { AdminUser, AuthProvidersResource, AUTH_PROVIDER_LOCAL_ID, UsersResource import { injectable, IInitializableController } from '@cloudbeaver/core-di'; import { CommonDialogService, ConfirmationDialogDelete, DialogueStateResult } from '@cloudbeaver/core-dialogs'; import { NotificationService } from '@cloudbeaver/core-events'; +import { LocalizationService } from '@cloudbeaver/core-localization'; import { ErrorDetailsDialog } from '@cloudbeaver/core-notifications'; import { GQLErrorCatcher, resourceKeyList } from '@cloudbeaver/core-sdk'; @@ -56,6 +57,7 @@ export class UsersAdministrationController implements IInitializableController { private authProvidersResource: AuthProvidersResource, private usersResource: UsersResource, private commonDialogService: CommonDialogService, + private localizationService: LocalizationService ) { makeObservable(this, { isDeleting: observable, @@ -92,9 +94,12 @@ export class UsersAdministrationController implements IInitializableController { return; } + const userNames = deletionList.map(name => `"${name}"`).join(', '); + const message = `${this.localizationService.translate('authentication_administration_users_delete_confirmation')}${userNames}. ${this.localizationService.translate('ui_are_you_sure')}`; + const result = await this.commonDialogService.open(ConfirmationDialogDelete, { title: 'ui_data_delete_confirmation', - message: `You're going to delete these users: ${deletionList.map(name => `"${name}"`).join(', ')}. Are you sure?`, + message, confirmActionText: 'ui_delete', }); diff --git a/webapp/packages/plugin-authentication/src/locales/en.ts b/webapp/packages/plugin-authentication/src/locales/en.ts index 22e24b877a..f20880d787 100644 --- a/webapp/packages/plugin-authentication/src/locales/en.ts +++ b/webapp/packages/plugin-authentication/src/locales/en.ts @@ -27,6 +27,8 @@ export default [ ['authentication_administration_user_updated', 'User updated'], ['authentication_administration_user_created', 'User was created successfully'], ['authentication_administration_user_create_failed', 'Error creating new user'], + ['authentication_administration_users_delete_confirmation', "You're going to delete these users: "], + ['authentication_user_name', 'User name'], ['authentication_user_credentials', 'Credentials'], ['authentication_user_current_password', 'Current password'], @@ -53,7 +55,7 @@ export default [ ['administration_configuration_wizard_configuration_anonymous_access', 'Allow anonymous access'], ['administration_configuration_wizard_configuration_anonymous_access_description', 'Allows to work with CloudBeaver without user authentication'], ['administration_configuration_wizard_configuration_authentication_group', 'Authentication settings'], - ['administration_configuration_wizard_configuration_features_group', 'Features'], + ['administration_configuration_wizard_configuration_services_group', 'Services'], ['administration_configuration_wizard_configuration_services', 'Services'], ['administration_configuration_wizard_configuration_authentication', 'Enable users authentication'], ['administration_configuration_wizard_configuration_authentication_description', 'Allows users to authenticate. Otherwise only anonymous access is enabled'], @@ -74,6 +76,7 @@ export default [ ['administration_identity_providers_add_tooltip', 'Add new configuration'], ['administration_identity_providers_refresh_tooltip', 'Refresh configuration list'], ['administration_identity_providers_delete_tooltip', 'Delete selected configurations'], + ['administration_identity_providers_delete_confirmation', "You're going to delete these configurations: "], ['administration_identity_providers_provider_save_error', 'Save configuration error'], ['administration_identity_providers_provider_create_error', 'Create configuration error'], ['administration_identity_providers_configuration_list_update_success', 'Configuration list was refreshed'], @@ -93,6 +96,7 @@ export default [ ['administration_roles_add_tooltip', 'Add new role'], ['administration_roles_refresh_tooltip', 'Refresh role list'], ['administration_roles_delete_tooltip', 'Delete selected roles'], + ['administration_roles_delete_confirmation', "You're going to delete these roles: "], ['administration_roles_role_granted_users_tab_title', 'Users'], ['administration_roles_role_granted_users_search_placeholder', 'Search for user ID...'], diff --git a/webapp/packages/plugin-authentication/src/locales/it.ts b/webapp/packages/plugin-authentication/src/locales/it.ts index 49e1fc966c..34818ef585 100644 --- a/webapp/packages/plugin-authentication/src/locales/it.ts +++ b/webapp/packages/plugin-authentication/src/locales/it.ts @@ -51,7 +51,6 @@ export default [ ['administration_configuration_wizard_configuration_anonymous_access', 'Permetti l\'accesso anonimo'], ['administration_configuration_wizard_configuration_anonymous_access_description', 'Permetti di lavorare con CloudBeaver senza autenticazione'], ['administration_configuration_wizard_configuration_authentication_group', 'Impostazioni di autenticazione'], - ['administration_configuration_wizard_configuration_features_group', 'Функции'], ['administration_configuration_wizard_configuration_services', 'Servizi'], ['administration_configuration_wizard_configuration_authentication', 'Abilita l\'autenticazione utente'], ['administration_configuration_wizard_configuration_authentication_description', 'Permetti agli utenti di autenticarsi. In alternativa solo l\'accesso anonimo sarà attivo'], diff --git a/webapp/packages/plugin-authentication/src/locales/ru.ts b/webapp/packages/plugin-authentication/src/locales/ru.ts index 2e0aff1fa3..cdfee88edf 100644 --- a/webapp/packages/plugin-authentication/src/locales/ru.ts +++ b/webapp/packages/plugin-authentication/src/locales/ru.ts @@ -1,7 +1,9 @@ export default [ - ['authentication_login_dialog_title', 'Авторизация'], + ['authentication_login_dialog_title', 'Аутентификация'], ['authentication_login', 'Войти'], ['authentication_logout', 'Выйти'], + ['authentication_authenticate', 'Аутентифицироваться'], + ['authentication_request_token', 'Необходима дополнительная аутентификация'], ['authentication_identity_provider_search_placeholder', 'Поиск по имени или описанию конфигурации...'], ['authentication_identity_provider_dialog_subtitle', 'Выберите конфигурацию с помощью которой вы хотите войти'], ['authentication_administration_user_connections_user_add', 'Создание пользователя'], @@ -25,6 +27,8 @@ export default [ ['authentication_administration_user_updated', 'Пользователь обновлен'], ['authentication_administration_user_created', 'Пользователь создан успешно'], ['authentication_administration_user_create_failed', 'Не удалось создать пользователя'], + ['authentication_administration_users_delete_confirmation', 'Вы собираетесь удалить следующих пользователей: '], + ['authentication_user_name', 'Имя'], ['authentication_user_credentials', 'Учетные данные'], ['authentication_user_current_password', 'Текущий пароль'], @@ -45,6 +49,16 @@ export default [ ['authentication_user_icon_tooltip', 'Пользователь'], ['authentication_role_icon_tooltip', 'Роль'], + ['administration_configuration_wizard_configuration_admin', 'Учетные данные администратора'], + ['administration_configuration_wizard_configuration_admin_name', 'Логин'], + ['administration_configuration_wizard_configuration_admin_password', 'Пароль'], + ['administration_configuration_wizard_configuration_anonymous_access', 'Разрешить анонимный доступ'], + ['administration_configuration_wizard_configuration_anonymous_access_description', 'Позволяет работать с CloudBeaver без пользовательской аутентификации'], + ['administration_configuration_wizard_configuration_authentication_group', 'Настройки аутентификации'], + ['administration_configuration_wizard_configuration_services_group', 'Сервисы'], + ['administration_configuration_wizard_configuration_authentication', 'Включить пользовательскую аутентификацию'], + ['administration_configuration_wizard_configuration_authentication_description', 'Позволяет пользователям аутентифицироваться. Иначе будет включен анонимный доступ'], + ['administration_identity_providers_tab_title', 'Провайдеры идентификации'], ['administration_identity_providers_provider', 'Провайдер'], ['administration_identity_providers_provider_id', 'Идентификатор'], @@ -56,11 +70,12 @@ export default [ ['administration_identity_providers_provider_configuration_links', 'Ссылки'], ['administration_identity_providers_provider_configuration_links_metadata', 'Скачать файл метаданных'], ['administration_identity_providers_wizard_description', 'Добавьте провайдеры идентификации'], - ['administration_identity_providers_configuration_create', 'Создание конфигурации'], + ['administration_identity_providers_configuration_add', 'Создание конфигурации'], ['administration_identity_providers_choose_provider_placeholder', 'Выберите провайдер...'], ['administration_identity_providers_add_tooltip', 'Добавить новую конфигурацию'], ['administration_identity_providers_refresh_tooltip', 'Обновить список конфигураций'], ['administration_identity_providers_delete_tooltip', 'Удалить выбранные конфигурации'], + ['administration_identity_providers_delete_confirmation', 'Вы собираетесь удалить следующие конфигурации: '], ['administration_identity_providers_provider_save_error', 'Ошибка при сохранении конфигурации'], ['administration_identity_providers_provider_create_error', 'Ошибка при создании конфигурации'], ['administration_identity_providers_configuration_list_update_success', 'Список конфигураций успешно обновлен'], @@ -79,7 +94,8 @@ export default [ ['administration_roles_role_list_update_fail', 'Не удалось обновить список ролей'], ['administration_roles_add_tooltip', 'Создать новую роль'], ['administration_roles_refresh_tooltip', 'Обновить список ролей'], - ['administration_roles_delete_tooltip', 'Уадлить выбранные роли'], + ['administration_roles_delete_tooltip', 'Удалить выбранные роли'], + ['administration_roles_delete_confirmation', 'Вы собираетесь удалить следующие роли: '], ['administration_roles_role_granted_users_tab_title', 'Пользователи'], ['administration_roles_role_granted_users_search_placeholder', 'Поиск по ID пользователя...'],