472 lines
28 KiB
Go
472 lines
28 KiB
Go
package server
|
||
|
||
func t(locale, key string) string {
|
||
if translations, ok := _translations[locale]; ok {
|
||
if v, ok := translations[key]; ok {
|
||
return v
|
||
}
|
||
}
|
||
if translations, ok := _translations["en"]; ok {
|
||
if v, ok := translations[key]; ok {
|
||
return v
|
||
}
|
||
}
|
||
if locale == "ru" {
|
||
return "Перевод временно недоступен"
|
||
}
|
||
return "Translation unavailable"
|
||
}
|
||
|
||
var _translations = map[string]map[string]string{
|
||
"ru": {
|
||
"home.title": "Синхронизация Верстака",
|
||
"home.eyebrow": "Локальная работа, когда нужно",
|
||
"home.heading": "Ваши vault остаются вашими",
|
||
"home.description": "Verstak Sync Server безопасно связывает ваши устройства, не заменяя локальный vault.",
|
||
"home.login": "Войти",
|
||
"home.register": "Создать аккаунт",
|
||
"home.version": "Версия",
|
||
"nav.primary": "Основная навигация",
|
||
"nav.login": "Войти",
|
||
"nav.register": "Регистрация",
|
||
"footer.localFirst": "Локальная работа прежде всего",
|
||
"locale.label": "Язык",
|
||
"locale.system": "Системный",
|
||
"locale.apply": "Применить язык",
|
||
"auth.welcome": "Добро пожаловать",
|
||
"auth.account": "Учётная запись",
|
||
"auth.loginTitle": "Вход в синхронизацию",
|
||
"auth.login": "Войти",
|
||
"auth.logout": "Выйти",
|
||
"auth.register": "Создать аккаунт",
|
||
"auth.registerTitle": "Создать аккаунт",
|
||
"auth.haveAccount": "Уже есть аккаунт? Войти",
|
||
"auth.forgot": "Забыли пароль?",
|
||
"auth.forgotTitle": "Восстановление пароля",
|
||
"auth.forgotDescription": "Укажите email, и мы отправим ссылку для сброса пароля, если аккаунт существует.",
|
||
"auth.sendLink": "Отправить ссылку",
|
||
"auth.backLogin": "Вернуться ко входу",
|
||
"auth.resetTitle": "Новый пароль",
|
||
"auth.savePassword": "Сохранить пароль",
|
||
"field.username": "Имя пользователя",
|
||
"field.usernameOrEmail": "Имя пользователя или email",
|
||
"field.email": "Email",
|
||
"field.password": "Пароль",
|
||
"field.newPassword": "Новый пароль",
|
||
"field.confirmPassword": "Подтвердите пароль",
|
||
"register.resultTitle": "Проверьте почту",
|
||
"register.resultMessage": "Если SMTP настроен, мы отправили ссылку подтверждения. После подтверждения можно войти.",
|
||
"forgot.sentTitle": "Проверьте почту",
|
||
"forgot.sentMessage": "Если аккаунт существует, ссылка для сброса уже отправлена.",
|
||
"reset.doneTitle": "Пароль изменён",
|
||
"reset.doneMessage": "Теперь можно войти с новым паролем.",
|
||
"common.continue": "Продолжить",
|
||
"common.back": "Назад",
|
||
"common.actions": "Действия",
|
||
"error.label": "Ошибка",
|
||
"error.badRequest": "Некорректный запрос",
|
||
"error.tryAgain": "Проверьте данные и повторите попытку.",
|
||
"error.registrationDisabled": "Регистрация отключена администратором.",
|
||
"error.allFieldsRequired": "Все поля обязательны.",
|
||
"error.passwordInvalid": "Пароль не соответствует требованиям безопасности.",
|
||
"error.accountTaken": "Имя пользователя или email уже заняты.",
|
||
"error.emailRequired": "Введите email.",
|
||
"error.passwordMismatch": "Пароли не совпадают.",
|
||
"error.invalidCredentials": "Неверное имя пользователя или пароль.",
|
||
"error.internal": "Внутренняя ошибка. Повторите попытку позже.",
|
||
"admin.eyebrow": "Администрирование сервера",
|
||
"admin.loginTitle": "Вход администратора",
|
||
"admin.navigation": "Навигация администратора",
|
||
"admin.overview": "Обзор",
|
||
"admin.access": "Доступ",
|
||
"admin.activeDevices": "Активные устройства",
|
||
"admin.operations": "Операции",
|
||
"admin.vaults": "Vault",
|
||
"admin.storage": "Хранилище",
|
||
"admin.audit": "Аудит",
|
||
"admin.settings": "Настройки",
|
||
"admin.diagnostics": "Диагностика",
|
||
"admin.serviceHealth": "Состояние сервиса",
|
||
"admin.lastActivity": "Последняя активность",
|
||
"admin.noVaults": "Vault пока нет",
|
||
"admin.databaseBytes": "Размер базы данных, байт",
|
||
"admin.blobBytes": "Объём blobs, байт",
|
||
"admin.retentionNote": "Журнал операций не удаляется автоматически: он нужен новым устройствам для восстановления состояния.",
|
||
"admin.event": "Событие",
|
||
"admin.time": "Время",
|
||
"admin.noAudit": "Событий аудита пока нет",
|
||
"admin.database": "База данных доступна",
|
||
"admin.blobStorage": "Blob-хранилище доступно",
|
||
"admin.schema": "Версия схемы",
|
||
"admin.serverTime": "Время сервера",
|
||
"admin.healthJSON": "Открыть health JSON",
|
||
"admin.manage": "Управление",
|
||
"admin.saveUser": "Сохранить пользователя",
|
||
"user.account": "Моя учётная запись",
|
||
"user.devices": "Подключённые устройства",
|
||
"user.noDevices": "Устройств пока нет",
|
||
"device.name": "Устройство",
|
||
"device.vault": "Vault",
|
||
"device.version": "Версия клиента",
|
||
"device.lastSeen": "Последняя активность",
|
||
"device.status": "Статус",
|
||
"device.active": "Активно",
|
||
"device.revoked": "Отозвано",
|
||
"device.revoke": "Отозвать",
|
||
"device.revokeConfirm": "Отозвать это устройство? Для продолжения нужен пароль.",
|
||
"server.registerTitle": "Регистрация",
|
||
"server.register": "Регистрация",
|
||
"server.username": "Имя пользователя",
|
||
"server.email": "Email",
|
||
"server.password": "Пароль",
|
||
"server.registerBtn": "Зарегистрироваться",
|
||
"server.alreadyHaveAccount": "Уже есть аккаунт?",
|
||
"server.loginBtn": "Войти",
|
||
"server.loginTitle": "Вход",
|
||
"server.usernameOrEmail": "Имя пользователя или email",
|
||
"server.forgotPassword": "Забыли пароль?",
|
||
"server.adminLink": "Админ",
|
||
"server.dashboard": "Панель управления",
|
||
"server.allFieldsRequired": "Все поля обязательны",
|
||
"server.back": "Назад",
|
||
"server.emailConfirmBody": "Подтвердите регистрацию: %s",
|
||
"server.emailConfirmSubject": "Verstak — подтверждение email",
|
||
"server.registrationSuccess": "Регистрация успешна",
|
||
"server.registrationEmailSent": "Письмо с ссылкой подтверждения отправлено.",
|
||
"server.registrationCheckEmail": "Проверьте почту и подтвердите аккаунт.",
|
||
"server.registrationAutoMessage": "Email не подтверждается. Токен подтверждения выведен в лог сервера.",
|
||
"server.resetPasswordTitle": "Сброс пароля",
|
||
"server.resetPassword": "Сброс пароля",
|
||
"server.resetInstruction": "Введите email для получения ссылки сброса.",
|
||
"server.sendLink": "Отправить ссылку",
|
||
"server.backToLogin": "Вернуться к входу",
|
||
"server.emailSentTitle": "Письмо отправлено",
|
||
"server.emailSent": "Письмо отправлено",
|
||
"server.emailSentMessage": "Если аккаунт существует, ссылка для сброса пароля отправлена на почту.",
|
||
"server.goHome": "На главную",
|
||
"server.newPasswordTitle": "Новый пароль",
|
||
"server.newPassword": "Новый пароль",
|
||
"server.passwordConfirm": "Подтвердите пароль",
|
||
"server.save": "Сохранить",
|
||
"server.passwordChanged": "Пароль изменён",
|
||
"server.passwordChangedMessage": "Пароль успешно изменён. Теперь можно войти.",
|
||
"server.emailConfirmed": "Email подтверждён",
|
||
"server.emailConfirmedMessage": "Аккаунт активирован. Теперь можно войти.",
|
||
"server.needEmail": "Введите email",
|
||
"server.passwordsDoNotMatch": "Пароли не совпадают",
|
||
"server.newPasswordResult": "Новый пароль для %s:\n",
|
||
"server.logout": "Выйти",
|
||
"server.error": "Ошибка",
|
||
"server.internalError": "Что-то пошло не так. Повторите попытку.",
|
||
"server.registrationFailed": "Не удалось зарегистрировать аккаунт. Повторите попытку.",
|
||
"userDashboard.devices": "Устройства",
|
||
"userDashboard.device": "Устройство",
|
||
"userDashboard.status": "Статус",
|
||
"userDashboard.connected": "Подключено",
|
||
"userDashboard.lastSeen": "Последний раз",
|
||
"userDashboard.version": "Версия",
|
||
"userDashboard.connectNew": "Подключить новое устройство",
|
||
"userDashboard.connectNewHint": "Установите Верстак на новом устройстве и выполните регистрацию.",
|
||
"userDashboard.revokeConfirm": "Отозвать устройство?",
|
||
"userDashboard.revokePrompt": "Введите пароль для подтверждения:",
|
||
"userDashboard.noDevices": "Нет устройств",
|
||
"userDashboard.active": "Активно",
|
||
"userDashboard.revoked": "Отозвано",
|
||
"userDashboard.revoke": "Отозвать",
|
||
"admin.login": "Вход администратора",
|
||
"admin.username": "Имя пользователя",
|
||
"admin.password": "Пароль",
|
||
"admin.loginBtn": "Войти",
|
||
"admin.dashboard": "Панель управления",
|
||
"admin.deviceCount": "Устройств",
|
||
"admin.opsCount": "Операций",
|
||
"admin.devices": "Устройства",
|
||
"admin.noDevices": "Нет устройств",
|
||
"admin.device": "Устройство",
|
||
"admin.user": "Пользователь",
|
||
"admin.version": "Версия",
|
||
"admin.status": "Статус",
|
||
"admin.lastSeen": "Последний раз",
|
||
"admin.active": "Активно",
|
||
"admin.revoked": "Отозвано",
|
||
"admin.revoke": "Отозвать",
|
||
"admin.smtp": "SMTP",
|
||
"admin.users": "Пользователи",
|
||
"admin.usersHeading": "Пользователи",
|
||
"admin.healthCheck": "Проверка здоровья",
|
||
"admin.smtpServer": "SMTP сервер",
|
||
"admin.smtpPort": "SMTP порт",
|
||
"admin.smtpType": "Тип шифрования",
|
||
"admin.smtpNoEncryption": "Без шифрования",
|
||
"admin.smtpUsername": "Имя пользователя SMTP",
|
||
"admin.smtpPassword": "Пароль SMTP",
|
||
"admin.smtpFrom": "Отправитель",
|
||
"admin.smtpServerURL": "URL сервера",
|
||
"admin.smtpSave": "Сохранить",
|
||
"admin.smtpTest": "Тест",
|
||
"admin.smtpTitle": "Настройки SMTP",
|
||
"admin.smtpTesting": "Проверка...",
|
||
"admin.smtpPassed": "✓ Тест пройден",
|
||
"admin.smtpRequired": "Укажите SMTP-сервер, порт и отправителя.",
|
||
"admin.smtpTestFailed": "Не удалось проверить настройки SMTP. Повторите попытку.",
|
||
"admin.revokeConfirm": "Вы уверены?",
|
||
"common.loading": "Загрузка...",
|
||
"common.ok": "OK",
|
||
"common.error": "Ошибка",
|
||
"admin.filterPlaceholder": "Поиск...",
|
||
"admin.email": "Email",
|
||
"admin.actions": "Действия",
|
||
"admin.confirmTitle": "Подтверждение",
|
||
"admin.modalCancel": "Отмена",
|
||
"admin.modalConfirm": "Подтвердить",
|
||
"admin.editUser": "Редактировать пользователя",
|
||
"admin.editBtn": "Сохранить",
|
||
"admin.resultTitle": "Результат",
|
||
"admin.confirmed": "Подтверждён",
|
||
"admin.unconfirmed": "Не подтверждён",
|
||
"admin.blocked": "Заблокирован",
|
||
"admin.unblock": "Разблокировать",
|
||
"admin.block": "Заблокировать",
|
||
"admin.resetPassword": "Сбросить пароль",
|
||
"admin.noUsers": "Нет пользователей",
|
||
"admin.resetPasswordConfirm": "Сбросить пароль",
|
||
"admin.resetPasswordMessage": "Новый пароль: ",
|
||
"admin.resetBtn": "Сбросить",
|
||
"admin.deleteUser": "Удалить",
|
||
"admin.deleteUserMessage": "Удалить пользователя %s?",
|
||
"admin.deleteBtn": "Удалить",
|
||
"admin.unblockUserTitle": "Разблокировать",
|
||
"admin.blockUserTitle": "Заблокировать",
|
||
"admin.unblockUserMessage": "Разблокировать пользователя?",
|
||
"admin.blockUserMessage": "Заблокировать пользователя?",
|
||
"admin.createUser": "Создать пользователя",
|
||
"admin.createUserBtn": "Создать",
|
||
"admin.createUserFailed": "Не удалось создать пользователя. Повторите попытку.",
|
||
},
|
||
"en": {
|
||
"home.title": "Verstak Sync",
|
||
"home.eyebrow": "Local work, when it matters",
|
||
"home.heading": "Your vaults stay yours",
|
||
"home.description": "Verstak Sync Server securely connects your devices without replacing the local vault.",
|
||
"home.login": "Login",
|
||
"home.register": "Create account",
|
||
"home.version": "Version",
|
||
"nav.primary": "Primary navigation",
|
||
"nav.login": "Login",
|
||
"nav.register": "Register",
|
||
"footer.localFirst": "Local-first by design",
|
||
"locale.label": "Language",
|
||
"locale.system": "System",
|
||
"locale.apply": "Apply language",
|
||
"auth.welcome": "Welcome",
|
||
"auth.account": "Account",
|
||
"auth.loginTitle": "Sign in to sync",
|
||
"auth.login": "Login",
|
||
"auth.logout": "Logout",
|
||
"auth.register": "Create account",
|
||
"auth.registerTitle": "Create an account",
|
||
"auth.haveAccount": "Already have an account? Login",
|
||
"auth.forgot": "Forgot password?",
|
||
"auth.forgotTitle": "Reset your password",
|
||
"auth.forgotDescription": "Enter your email and we will send a reset link if the account exists.",
|
||
"auth.sendLink": "Send reset link",
|
||
"auth.backLogin": "Back to login",
|
||
"auth.resetTitle": "New password",
|
||
"auth.savePassword": "Save password",
|
||
"field.username": "Username",
|
||
"field.usernameOrEmail": "Username or email",
|
||
"field.email": "Email",
|
||
"field.password": "Password",
|
||
"field.newPassword": "New password",
|
||
"field.confirmPassword": "Confirm password",
|
||
"register.resultTitle": "Check your email",
|
||
"register.resultMessage": "If SMTP is configured, we sent a confirmation link. You can sign in after confirmation.",
|
||
"forgot.sentTitle": "Check your email",
|
||
"forgot.sentMessage": "If the account exists, a reset link has been sent.",
|
||
"reset.doneTitle": "Password changed",
|
||
"reset.doneMessage": "You can now sign in with your new password.",
|
||
"common.continue": "Continue",
|
||
"common.back": "Back",
|
||
"common.actions": "Actions",
|
||
"error.label": "Error",
|
||
"error.badRequest": "Invalid request",
|
||
"error.tryAgain": "Check the entered data and try again.",
|
||
"error.registrationDisabled": "Registration is disabled by the administrator.",
|
||
"error.allFieldsRequired": "All fields are required.",
|
||
"error.passwordInvalid": "The password does not meet the security requirements.",
|
||
"error.accountTaken": "Username or email is already in use.",
|
||
"error.emailRequired": "Enter an email address.",
|
||
"error.passwordMismatch": "Passwords do not match.",
|
||
"error.invalidCredentials": "Invalid username or password.",
|
||
"error.internal": "Internal error. Please try again later.",
|
||
"admin.eyebrow": "Server administration",
|
||
"admin.loginTitle": "Administrator login",
|
||
"admin.navigation": "Administrator navigation",
|
||
"admin.overview": "Overview",
|
||
"admin.access": "Access",
|
||
"admin.activeDevices": "Active devices",
|
||
"admin.operations": "Operations",
|
||
"admin.vaults": "Vaults",
|
||
"admin.storage": "Storage",
|
||
"admin.audit": "Audit log",
|
||
"admin.settings": "Settings",
|
||
"admin.diagnostics": "Diagnostics",
|
||
"admin.serviceHealth": "Service health",
|
||
"admin.lastActivity": "Last activity",
|
||
"admin.noVaults": "No vaults yet",
|
||
"admin.databaseBytes": "Database size, bytes",
|
||
"admin.blobBytes": "Blob storage, bytes",
|
||
"admin.retentionNote": "Operations are not deleted automatically: new devices need them to restore state.",
|
||
"admin.event": "Event",
|
||
"admin.time": "Time",
|
||
"admin.noAudit": "No audit events yet",
|
||
"admin.database": "Database reachable",
|
||
"admin.blobStorage": "Blob storage writable",
|
||
"admin.schema": "Schema version",
|
||
"admin.serverTime": "Server time",
|
||
"admin.healthJSON": "Open health JSON",
|
||
"admin.manage": "Manage",
|
||
"admin.saveUser": "Save user",
|
||
"user.account": "My account",
|
||
"user.devices": "Connected devices",
|
||
"user.noDevices": "No devices yet",
|
||
"device.name": "Device",
|
||
"device.vault": "Vault",
|
||
"device.version": "Client version",
|
||
"device.lastSeen": "Last activity",
|
||
"device.status": "Status",
|
||
"device.active": "Active",
|
||
"device.revoked": "Revoked",
|
||
"device.revoke": "Revoke",
|
||
"device.revokeConfirm": "Revoke this device? Your password is required to continue.",
|
||
"server.registerTitle": "Registration",
|
||
"server.register": "Register",
|
||
"server.username": "Username",
|
||
"server.email": "Email",
|
||
"server.password": "Password",
|
||
"server.registerBtn": "Register",
|
||
"server.alreadyHaveAccount": "Already have an account?",
|
||
"server.loginBtn": "Login",
|
||
"server.loginTitle": "Login",
|
||
"server.usernameOrEmail": "Username or email",
|
||
"server.forgotPassword": "Forgot password?",
|
||
"server.adminLink": "Admin",
|
||
"server.dashboard": "Dashboard",
|
||
"server.allFieldsRequired": "All fields are required",
|
||
"server.back": "Back",
|
||
"server.emailConfirmBody": "Confirm registration: %s",
|
||
"server.emailConfirmSubject": "Verstak — email confirmation",
|
||
"server.registrationSuccess": "Registration successful",
|
||
"server.registrationEmailSent": "Confirmation link has been sent.",
|
||
"server.registrationCheckEmail": "Check your email and confirm your account.",
|
||
"server.registrationAutoMessage": "Email is not confirmed. Confirmation token logged to server.",
|
||
"server.resetPasswordTitle": "Reset Password",
|
||
"server.resetPassword": "Reset Password",
|
||
"server.resetInstruction": "Enter your email to receive a reset link.",
|
||
"server.sendLink": "Send link",
|
||
"server.backToLogin": "Back to login",
|
||
"server.emailSentTitle": "Email sent",
|
||
"server.emailSent": "Email sent",
|
||
"server.emailSentMessage": "If the account exists, a reset link has been sent.",
|
||
"server.goHome": "Go home",
|
||
"server.newPasswordTitle": "New Password",
|
||
"server.newPassword": "New Password",
|
||
"server.passwordConfirm": "Confirm Password",
|
||
"server.save": "Save",
|
||
"server.passwordChanged": "Password changed",
|
||
"server.passwordChangedMessage": "Password has been changed. You can now login.",
|
||
"server.emailConfirmed": "Email confirmed",
|
||
"server.emailConfirmedMessage": "Account activated. You can now login.",
|
||
"server.needEmail": "Enter email",
|
||
"server.passwordsDoNotMatch": "Passwords do not match",
|
||
"server.newPasswordResult": "New password for %s:\n",
|
||
"server.logout": "Logout",
|
||
"server.error": "Error",
|
||
"server.internalError": "Something went wrong. Please try again.",
|
||
"server.registrationFailed": "Could not register the account. Please try again.",
|
||
"userDashboard.devices": "Devices",
|
||
"userDashboard.device": "Device",
|
||
"userDashboard.status": "Status",
|
||
"userDashboard.connected": "Connected",
|
||
"userDashboard.lastSeen": "Last seen",
|
||
"userDashboard.version": "Version",
|
||
"userDashboard.connectNew": "Connect new device",
|
||
"userDashboard.connectNewHint": "Install Verstak on a new device and register it.",
|
||
"userDashboard.revokeConfirm": "Revoke device?",
|
||
"userDashboard.revokePrompt": "Enter password to confirm:",
|
||
"userDashboard.noDevices": "No devices",
|
||
"userDashboard.active": "Active",
|
||
"userDashboard.revoked": "Revoked",
|
||
"userDashboard.revoke": "Revoke",
|
||
"admin.login": "Admin Login",
|
||
"admin.username": "Username",
|
||
"admin.password": "Password",
|
||
"admin.loginBtn": "Login",
|
||
"admin.dashboard": "Admin Dashboard",
|
||
"admin.deviceCount": "Devices",
|
||
"admin.opsCount": "Operations",
|
||
"admin.devices": "Devices",
|
||
"admin.noDevices": "No devices",
|
||
"admin.device": "Device",
|
||
"admin.user": "User",
|
||
"admin.version": "Version",
|
||
"admin.status": "Status",
|
||
"admin.lastSeen": "Last seen",
|
||
"admin.active": "Active",
|
||
"admin.revoked": "Revoked",
|
||
"admin.revoke": "Revoke",
|
||
"admin.smtp": "SMTP",
|
||
"admin.users": "Users",
|
||
"admin.usersHeading": "Users",
|
||
"admin.healthCheck": "Health Check",
|
||
"admin.smtpServer": "SMTP Server",
|
||
"admin.smtpPort": "SMTP Port",
|
||
"admin.smtpType": "Encryption",
|
||
"admin.smtpNoEncryption": "None",
|
||
"admin.smtpUsername": "SMTP Username",
|
||
"admin.smtpPassword": "SMTP Password",
|
||
"admin.smtpFrom": "From",
|
||
"admin.smtpServerURL": "Server URL",
|
||
"admin.smtpSave": "Save",
|
||
"admin.smtpTest": "Test",
|
||
"admin.smtpTitle": "SMTP Settings",
|
||
"admin.smtpTesting": "Testing...",
|
||
"admin.smtpPassed": "✓ Test passed",
|
||
"admin.smtpRequired": "Enter the SMTP server, port, and sender.",
|
||
"admin.smtpTestFailed": "Could not test the SMTP settings. Please try again.",
|
||
"admin.revokeConfirm": "Are you sure?",
|
||
"common.loading": "Loading...",
|
||
"common.ok": "OK",
|
||
"common.error": "Error",
|
||
"admin.filterPlaceholder": "Search...",
|
||
"admin.email": "Email",
|
||
"admin.actions": "Actions",
|
||
"admin.confirmTitle": "Confirm",
|
||
"admin.modalCancel": "Cancel",
|
||
"admin.modalConfirm": "Confirm",
|
||
"admin.editUser": "Edit User",
|
||
"admin.editBtn": "Save",
|
||
"admin.resultTitle": "Result",
|
||
"admin.confirmed": "Confirmed",
|
||
"admin.unconfirmed": "Unconfirmed",
|
||
"admin.blocked": "Blocked",
|
||
"admin.unblock": "Unblock",
|
||
"admin.block": "Block",
|
||
"admin.resetPassword": "Reset Password",
|
||
"admin.noUsers": "No users",
|
||
"admin.resetPasswordConfirm": "Reset Password",
|
||
"admin.resetPasswordMessage": "New password: ",
|
||
"admin.resetBtn": "Reset",
|
||
"admin.deleteUser": "Delete",
|
||
"admin.deleteUserMessage": "Delete user %s?",
|
||
"admin.deleteBtn": "Delete",
|
||
"admin.unblockUserTitle": "Unblock",
|
||
"admin.blockUserTitle": "Block",
|
||
"admin.unblockUserMessage": "Unblock user?",
|
||
"admin.blockUserMessage": "Block user?",
|
||
"admin.createUser": "Create User",
|
||
"admin.createUserBtn": "Create",
|
||
"admin.createUserFailed": "Could not create the user. Please try again.",
|
||
},
|
||
}
|