verstak-sync-server/internal/server/locale.go

472 lines
28 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.",
},
}