diff --git a/frontend/src/i18n/translations/de-DE.ts b/frontend/src/i18n/translations/de-DE.ts
index e8fcfebc..c038338d 100644
--- a/frontend/src/i18n/translations/de-DE.ts
+++ b/frontend/src/i18n/translations/de-DE.ts
@@ -279,7 +279,7 @@ export default {
"admin.config.share.max-size": "Maximale Größe",
"admin.config.share.max-size.description": "Maximale Größe einer Freigabe in Bytes",
"admin.config.share.zip-compression-level": "Zip Komprimierungsstufe",
- "admin.config.share.zip-compression-level.description": "Adjust the level to balance between file size and compression speed. Valid values range from 0 to 9, with 0 being no compression and 9 being maximum compression. ",
+ "admin.config.share.zip-compression-level.description": "Passe den Wert an, um ein Gleichgewicht zwischen Dateigröße und Komprimierungsgeschwindigkeit herzustellen. Gültige Werte liegen zwischen 0 und 9, wobei 0 für keine Komprimierung und 9 für maximale Komprimierung steht.",
"admin.config.smtp.enabled": "Aktiviert",
"admin.config.smtp.enabled.description": "Gibt an, ob SMTP aktiviert ist. Aktiviere dies nur, wenn Du den Host, den Port, die Email, den Benutzernamen und das Passwort deines SMTP-Servers eingegeben hast.",
"admin.config.smtp.host": "Host",
diff --git a/frontend/src/i18n/translations/fi-FI.ts b/frontend/src/i18n/translations/fi-FI.ts
index e3456cd3..35e0ef61 100644
--- a/frontend/src/i18n/translations/fi-FI.ts
+++ b/frontend/src/i18n/translations/fi-FI.ts
@@ -258,7 +258,7 @@ export default {
"admin.config.email.enable-share-email-recipients.description": "Salli sähköpostien jakaminen vastaanottajille. Ota tämä käyttöön vain, jos olet ottanut SMTP:n käyttöön.",
"admin.config.email.share-recipients-subject": "Sähköpostijaon otsikko",
"admin.config.email.share-recipients-subject.description": "Sähköpostin aihe, joka saa lähetetään jaon vastaanottajille.",
- "admin.config.email.share-recipients-message": "Sähköpostijaon otsikko",
+ "admin.config.email.share-recipients-message": "Sähköpostijaon viesti",
"admin.config.email.share-recipients-message.description": "Viesti joka lähetetään jaon vastaanottajille. Saatavilla olevat muuttujat:\n {creator} - Jaon luojan käyttäjänimi\n {shareUrl} - Jaon URL\n {desc} - Jaon kuvaus\n {expires} - Jaon päättymispäivä\n Muuttujat korvataan todellisella arvolla.",
"admin.config.email.reverse-share-subject": "Käänteisen jaon aihe",
"admin.config.email.reverse-share-subject.description": "Aihe sähköpostin joka lähetetään kun joku loi jaon käänteisen jakolinkin kanssa.",
diff --git a/frontend/src/i18n/translations/pt-BR.ts b/frontend/src/i18n/translations/pt-BR.ts
index 543eef02..a2e7815c 100644
--- a/frontend/src/i18n/translations/pt-BR.ts
+++ b/frontend/src/i18n/translations/pt-BR.ts
@@ -26,7 +26,7 @@ export default {
"signin.title": "Bem-vindo de volta",
"signin.description": "Ainda não tem uma conta?",
"signin.button.signup": "Registo",
- "signin.input.email-or-username": "Correio ou Nome de utilizador",
+ "signin.input.email-or-username": "E-mail ou nome de usuário",
"signin.input.email-or-username.placeholder": "Seu e-mail ou nome de usuário",
"signin.input.password": "Senha",
"signin.input.password.placeholder": "A sua senha",
@@ -38,7 +38,7 @@ export default {
"signup.title": "Criar uma conta",
"signup.description": "Já tem uma conta?",
"signup.button.signin": "Iniciar sessão",
- "signup.input.username": "Utilizador",
+ "signup.input.username": "Nome de usuário",
"signup.input.username.placeholder": "Seu nome de usuário",
"signup.input.email": "E-mail",
"signup.input.email.placeholder": "Seu e-mail",
@@ -56,7 +56,7 @@ export default {
// /account
"account.title": "A minha conta",
"account.card.info.title": "Informação sobre a conta",
- "account.card.info.username": "Nome do usuário",
+ "account.card.info.username": "Nome de usuário",
"account.card.info.email": "E-mail",
"account.notify.info.success": "A conta foi atualizada com sucesso",
"account.card.password.title": "Senha",
@@ -150,7 +150,7 @@ export default {
// END /admin
// /admin/users
"admin.users.title": "Gerenciamento de usuários",
- "admin.users.table.username": "Nome do usuário",
+ "admin.users.table.username": "Nome de usuário",
"admin.users.table.email": "E-mail",
"admin.users.table.admin": "Admin",
"admin.users.edit.update.title": "Atualizar usuário {username}",
@@ -163,7 +163,7 @@ export default {
"admin.users.edit.delete.description": "Você realmente quer excluir este usuário e todos os seus compartilhamentos?",
// showCreateUserModal.tsx
"admin.users.modal.create.title": "Criar usuário",
- "admin.users.modal.create.username": "Nome do usuário",
+ "admin.users.modal.create.username": "Nome de usuário",
"admin.users.modal.create.email": "E-mail",
"admin.users.modal.create.password": "Senha",
"admin.users.modal.create.manual-password": "Definir senha manualmente",
@@ -281,14 +281,14 @@ export default {
"admin.config.share.zip-compression-level": "Nível de compressão",
"admin.config.share.zip-compression-level.description": "Ajuste o nível para equilibrar entre o tamanho do arquivo e a velocidade de compressão. Valores válidos vão de 0 a 9, com 0 sendo sem compressão e 9 sendo compressão máxima. ",
"admin.config.smtp.enabled": "Ativado",
- "admin.config.smtp.enabled.description": "Se o SMTP está habilitado. Apenas defina como verdadeiro se você digitou o host, porta, e-mail, usuário e senha do seu servidor SMTP.",
+ "admin.config.smtp.enabled.description": "Se o SMTP está habilitado. Apenas defina como verdadeiro se você digitou o servidor, porta, e-mail, usuário e senha do seu servidor SMTP.",
"admin.config.smtp.host": "Servidor",
"admin.config.smtp.host.description": "Nome do Servidor SMTP",
"admin.config.smtp.port": "Porta",
"admin.config.smtp.port.description": "Porta do Servidor SMTP",
"admin.config.smtp.email": "E-mail",
"admin.config.smtp.email.description": "Endereço de e-mail do qual os e-mails são enviados",
- "admin.config.smtp.username": "Nome do usuário",
+ "admin.config.smtp.username": "Nome de usuário",
"admin.config.smtp.username.description": "Nome de usuário do servidor SMTP",
"admin.config.smtp.password": "Senha",
"admin.config.smtp.password.description": "Senha do servidor SMTP",
diff --git a/frontend/src/i18n/translations/ru-RU.ts b/frontend/src/i18n/translations/ru-RU.ts
index f93fcdc5..b93ba762 100644
--- a/frontend/src/i18n/translations/ru-RU.ts
+++ b/frontend/src/i18n/translations/ru-RU.ts
@@ -1,438 +1,323 @@
export default {
// Navbar
- "navbar.upload": "Upload",
- "navbar.signin": "Sign in",
- "navbar.home": "Home",
- "navbar.signup": "Sign Up",
-
- "navbar.links.shares": "My shares",
- "navbar.links.reverse": "Reverse shares",
-
- "navbar.avatar.account": "My account",
- "navbar.avatar.admin": "Administration",
- "navbar.avatar.signout": "Sign out",
+ "navbar.upload": "Загрузить",
+ "navbar.signin": "Вход",
+ "navbar.home": "Главная",
+ "navbar.signup": "Зарегистрироваться",
+ "navbar.links.shares": "Мои загрузки",
+ "navbar.links.reverse": "Обратные загрузки",
+ "navbar.avatar.account": "Мой аккаунт",
+ "navbar.avatar.admin": "Администрирование",
+ "navbar.avatar.signout": "Выйти",
// END navbar
-
// /
- "home.title": "A self-hosted file sharing platform.",
-
- "home.description":
- "Do you really want to give your personal files in the hand of third parties like WeTransfer?",
- "home.bullet.a.name": "Self-Hosted",
- "home.bullet.a.description": "Host Pingvin Share on your own machine.",
- "home.bullet.b.name": "Privacy",
- "home.bullet.b.description":
- "Your files are your files and should never get into the hands of third parties.",
- "home.bullet.c.name": "No annoying file size limit",
- "home.bullet.c.description":
- "Upload as big files as you want. Only your hard drive will be your limit.",
-
- "home.button.start": "Get started",
- "home.button.source": "Source code",
+ "home.title": "Платформа для обмена файлами с собственного хостинга.",
+ "home.description": "Вы действительно хотите предоставить свои личные файлы в руки третьих лиц, таких как WeTransfer?",
+ "home.bullet.a.name": "На собственном сервере",
+ "home.bullet.a.description": "Pingvin Share работает на вашей машине.",
+ "home.bullet.b.name": "Конфиденциальность",
+ "home.bullet.b.description": "Ваши файлы - это ваши файлы и никогда не должны попадать в руки третьих лиц.",
+ "home.bullet.c.name": "Без раздражающего ограничения размера файла",
+ "home.bullet.c.description": "Загружайте файлы с любым размером. Только ваш жесткий диск будет пределом.",
+ "home.button.start": "Начнем",
+ "home.button.source": "Исходный код",
// END /
-
// /auth/signin
- "signin.title": "Welcome back",
- "signin.description": "You don't have an account yet?",
- "signin.button.signup": "Sign up",
- "signin.input.email-or-username": "Email or username",
- "signin.input.email-or-username.placeholder": "Your email or username",
- "signin.input.password": "Password",
- "signin.input.password.placeholder": "Your password",
- "signin.button.submit": "Sign in",
- "signIn.notify.totp-required.title": "Two-factor authentication required",
- "signIn.notify.totp-required.description":
- "Please enter your two-factor authentication code",
-
+ "signin.title": "С возвращением",
+ "signin.description": "У вас еще нет учетной записи?",
+ "signin.button.signup": "Зарегистрироваться",
+ "signin.input.email-or-username": "Email или логин",
+ "signin.input.email-or-username.placeholder": "Эл. почта или логин",
+ "signin.input.password": "Пароль",
+ "signin.input.password.placeholder": "Ваш пароль",
+ "signin.button.submit": "Вход",
+ "signIn.notify.totp-required.title": "Требуется двухфакторная аутентификация",
+ "signIn.notify.totp-required.description": "Пожалуйста, введите код Вашей 2-х факторной аутентификации",
// END /auth/signin
-
// /auth/signup
- "signup.title": "Create an account",
- "signup.description": "Already have an account?",
- "signup.button.signin": "Sign in",
- "signup.input.username": "Username",
- "signup.input.username.placeholder": "Your username",
- "signup.input.email": "Email",
- "signup.input.email.placeholder": "Your email",
- "signup.button.submit": "Let's get started",
-
+ "signup.title": "Создать аккаунт",
+ "signup.description": "Уже есть учётная запись?",
+ "signup.button.signin": "Вход",
+ "signup.input.username": "Логин",
+ "signup.input.username.placeholder": "Ваш логин (имя пользователя)",
+ "signup.input.email": "Электронная почта",
+ "signup.input.email.placeholder": "Адрес эл. почты",
+ "signup.button.submit": "Давайте начнём",
// END /auth/signup
-
// /auth/reset-password
- "resetPassword.title": "Forgot your password?",
- "resetPassword.description": "Enter your email to reset your password.",
- "resetPassword.notify.success":
- "An email has been sent with a link to reset your password.",
- "resetPassword.button.back": "Back to sign in page",
- "resetPassword.text.resetPassword": "Reset password",
- "resetPassword.text.enterNewPassword": "Enter your new password",
- "resetPassword.input.password": "New password",
- "resetPassword.notify.passwordReset":
- "Your password has been reset successfully.",
-
+ "resetPassword.title": "Забыли пароль?",
+ "resetPassword.description": "Введите ваш email для восстановления пароля.",
+ "resetPassword.notify.success": "Вам направлено письмо со ссылкой для сброса пароля.",
+ "resetPassword.button.back": "Вернуться на страницу входа",
+ "resetPassword.text.resetPassword": "Сбросить пароль",
+ "resetPassword.text.enterNewPassword": "Введите новый пароль",
+ "resetPassword.input.password": "Новый пароль",
+ "resetPassword.notify.passwordReset": "Ваш пароль был успешно сброшен!",
// /account
- "account.title": "My account",
-
- "account.card.info.title": "Account info",
- "account.card.info.username": "Username",
- "account.card.info.email": "Email",
- "account.notify.info.success": "Account updated successfully",
-
- "account.card.password.title": "Password",
- "account.card.password.old": "Old password",
- "account.card.password.new": "New password",
- "account.notify.password.success": "Password changed successfully",
-
- "account.card.security.title": "Security",
- "account.card.security.totp.enable.description":
- "Enter your current password to start enabling TOTP",
- "account.card.security.totp.disable.description":
- "Enter your current password to disable TOTP",
- "account.card.security.totp.button.start": "Start",
- "account.modal.totp.title": "Enable TOTP",
- "account.modal.totp.step1": "Step 1: Add your authenticator",
- "account.modal.totp.step2": "Step 2: Validate your code",
- "account.modal.totp.enterManually": "Enter manually",
- "account.modal.totp.code": "Code",
- "account.modal.totp.clickToCopy": "Click to copy",
- "account.modal.totp.verify": "Verify",
- "account.notify.totp.disable": "TOTP disabled successfully",
- "account.notify.totp.enable": "TOTP enabled successfully",
-
- "account.card.language.title": "Language",
- "account.card.language.description":
- "The project is translated by the community. Some languages might be incomplete.",
- "account.card.color.title": "Color scheme",
-
+ "account.title": "Мой аккаунт",
+ "account.card.info.title": "Информация об аккаунте",
+ "account.card.info.username": "Логин",
+ "account.card.info.email": "Электронная почта",
+ "account.notify.info.success": "Настройки учетной записи успешно обновлены",
+ "account.card.password.title": "Пароль",
+ "account.card.password.old": "Старый пароль",
+ "account.card.password.new": "Новый пароль",
+ "account.notify.password.success": "Пароль успешно изменён",
+ "account.card.security.title": "Безопасность",
+ "account.card.security.totp.enable.description": "Введите ваш текущий пароль для начала включения TOTP",
+ "account.card.security.totp.disable.description": "Введите ваш текущий пароль, чтобы отключить TOTP",
+ "account.card.security.totp.button.start": "Начать",
+ "account.modal.totp.title": "Включить TOTP",
+ "account.modal.totp.step1": "Шаг 1: Добавьте свой аутентификатор",
+ "account.modal.totp.step2": "Шаг 2: Проверка кода",
+ "account.modal.totp.enterManually": "Ввести вручную",
+ "account.modal.totp.code": "Код",
+ "account.modal.totp.clickToCopy": "Нажмите, чтобы скопировать",
+ "account.modal.totp.verify": "Подтвердить",
+ "account.notify.totp.disable": "TOTP успешно отключен",
+ "account.notify.totp.enable": "TOTP успешно включен",
+ "account.card.language.title": "Язык",
+ "account.card.language.description": "Проект переведен сообществом. Некоторые языки могут быть неполными.",
+ "account.card.color.title": "Цветовая схема",
// ThemeSwitcher.tsx
- "account.theme.dark": "Dark",
- "account.theme.light": "Light",
- "account.theme.system": "System",
-
- "account.button.delete": "Delete Account",
- "account.modal.delete.title": "Delete Account",
- "account.modal.delete.description":
- "Do you really want to delete your account including all your active shares?",
+ "account.theme.dark": "Тёмная",
+ "account.theme.light": "Светлая",
+ "account.theme.system": "Системная",
+ "account.button.delete": "Удалить аккаунт",
+ "account.modal.delete.title": "Удалить аккаунт",
+ "account.modal.delete.description": "Вы действительно хотите удалить свою учетную запись, включая все ваши загрузки?",
// END /account
-
// /account/shares
- "account.shares.title": "My shares",
- "account.shares.title.empty": "It's empty here 👀",
- "account.shares.description.empty": "You don't have any shares.",
- "account.shares.button.create": "Create one",
-
- "account.shares.info.title": "Share informations",
+ "account.shares.title": "Мои загрузки",
+ "account.shares.title.empty": "Тут пусто 👀",
+ "account.shares.description.empty": "У вас нет загрузок.",
+ "account.shares.button.create": "Создать одну",
+ "account.shares.info.title": "Сведения",
"account.shares.table.id": "ID",
- "account.shares.table.name": "Name",
- "account.shares.table.description": "Description",
- "account.shares.table.visitors": "Visitors",
- "account.shares.table.expiresAt": "Expires at",
- "account.shares.table.createdAt": "Created at",
- "account.shares.table.size": "Size",
-
- "account.shares.modal.share-informations": "Share informations",
- "account.shares.modal.share-link": "Share link",
-
- "account.shares.modal.delete.title": "Delete share {share}",
- "account.shares.modal.delete.description":
- "Do you really want to delete this share?",
-
+ "account.shares.table.name": "Название",
+ "account.shares.table.description": "Описание",
+ "account.shares.table.visitors": "Посетителей",
+ "account.shares.table.expiresAt": "Действительно до",
+ "account.shares.table.createdAt": "Создано",
+ "account.shares.table.size": "Размер",
+ "account.shares.modal.share-informations": "Сведения",
+ "account.shares.modal.share-link": "Поделиться ссылкой",
+ "account.shares.modal.delete.title": "Удалить загрузку {share}",
+ "account.shares.modal.delete.description": "Вы действительно хотите удалить эту загрузку?",
// END /account/shares
-
// /account/reverseShares
- "account.reverseShares.title": "Reverse shares",
- "account.reverseShares.description":
- "A reverse share allows you to generate a unique URL that allows external users to create a share.",
-
- "account.reverseShares.title.empty": "It's empty here 👀",
- "account.reverseShares.description.empty":
- "You don't have any reverse shares.",
-
+ "account.reverseShares.title": "Обратные загрузки",
+ "account.reverseShares.description": "Обратная загрузка позволяет генерировать уникальный URL, позволяющий внешним пользователям загружать файлы.",
+ "account.reverseShares.title.empty": "Тут пусто 👀",
+ "account.reverseShares.description.empty": "У вас пока нет обратных загрузок.",
// showCreateReverseShareModal.tsx
- "account.reverseShares.modal.expiration.label": "Expiration",
- "account.reverseShares.modal.expiration.minute-singular": "Minute",
- "account.reverseShares.modal.expiration.minute-plural": "Minutes",
- "account.reverseShares.modal.expiration.hour-singular": "Hour",
- "account.reverseShares.modal.expiration.hour-plural": "Hours",
- "account.reverseShares.modal.expiration.day-singular": "Day",
- "account.reverseShares.modal.expiration.day-plural": "Days",
- "account.reverseShares.modal.expiration.week-singular": "Week",
- "account.reverseShares.modal.expiration.week-plural": "Weeks",
- "account.reverseShares.modal.expiration.month-singular": "Month",
- "account.reverseShares.modal.expiration.month-plural": "Months",
- "account.reverseShares.modal.expiration.year-singular": "Year",
- "account.reverseShares.modal.expiration.year-plural": "Years",
-
- "account.reverseShares.modal.max-size.label": "Max share size",
-
- "account.reverseShares.modal.send-email": "Send email notification",
- "account.reverseShares.modal.send-email.description":
- "Send an email notification when a share is created with this reverse share link.",
-
- "account.reverseShares.modal.max-use.label": "Max uses",
- "account.reverseShares.modal.max-use.description":
- "The maximum amount of times this URL can be used to create a share.",
- "account.reverseShare.never-expires": "This reverse share will never expire.",
- "account.reverseShare.expires-on":
- "This reverse share will expire on {expiration}.",
-
- "account.reverseShares.table.no-shares": "No shares created yet",
- "account.reverseShares.table.count.singular": "share",
- "account.reverseShares.table.count.plural": "shares",
- "account.reverseShares.table.shares": "Shares",
- "account.reverseShares.table.remaining": "Remaining uses",
- "account.reverseShares.table.max-size": "Max share size",
- "account.reverseShares.table.expires": "Expires at",
-
- "account.reverseShares.modal.reverse-share-link": "Reverse share link",
-
- "account.reverseShares.modal.delete.title": "Delete reverse share",
- "account.reverseShares.modal.delete.description":
- "Do you really want to delete this reverse share? If you do, the associated shares will be deleted as well.",
-
+ "account.reverseShares.modal.expiration.label": "Истекает",
+ "account.reverseShares.modal.expiration.minute-singular": "Минута",
+ "account.reverseShares.modal.expiration.minute-plural": "Минут(ы)",
+ "account.reverseShares.modal.expiration.hour-singular": "Час",
+ "account.reverseShares.modal.expiration.hour-plural": "Часов",
+ "account.reverseShares.modal.expiration.day-singular": "День",
+ "account.reverseShares.modal.expiration.day-plural": "Дней",
+ "account.reverseShares.modal.expiration.week-singular": "Неделя",
+ "account.reverseShares.modal.expiration.week-plural": "Недель",
+ "account.reverseShares.modal.expiration.month-singular": "Месяц",
+ "account.reverseShares.modal.expiration.month-plural": "Месяца(-ев)",
+ "account.reverseShares.modal.expiration.year-singular": "Год",
+ "account.reverseShares.modal.expiration.year-plural": "Года (лет)",
+ "account.reverseShares.modal.max-size.label": "Макс. размер загрузки",
+ "account.reverseShares.modal.send-email": "Отправить уведомление по эл. почте",
+ "account.reverseShares.modal.send-email.description": "Отправлять уведомление по электронной почте, когда загрузка создается с помощью этой обратной ссылки.",
+ "account.reverseShares.modal.max-use.label": "Максимум использований",
+ "account.reverseShares.modal.max-use.description": "Максимальное количество раз, когда URL может быть использован для создания загрузки.",
+ "account.reverseShare.never-expires": "Эта обратная загрузка никогда не устареет.",
+ "account.reverseShare.expires-on": "Эта обратная загрузка устареет {expiration}.",
+ "account.reverseShares.table.no-shares": "Нет созданных загрузок",
+ "account.reverseShares.table.count.singular": "загрузка",
+ "account.reverseShares.table.count.plural": "загрузки",
+ "account.reverseShares.table.shares": "Загрузки",
+ "account.reverseShares.table.remaining": "Осталось использований",
+ "account.reverseShares.table.max-size": "Макс. размер загрузки",
+ "account.reverseShares.table.expires": "Действительно до",
+ "account.reverseShares.modal.reverse-share-link": "Ссылка обратной загрузки",
+ "account.reverseShares.modal.delete.title": "Удалить обратную загрузку",
+ "account.reverseShares.modal.delete.description": "Вы действительно хотите удалить эту обратную загрузку? Если вы это сделаете, то все связанные обратные загрузки будут также удалены.",
// END /account/reverseShares
-
// /admin
- "admin.title": "Administration",
- "admin.button.users": "User management",
- "admin.button.config": "Configuration",
- "admin.version": "Version",
+ "admin.title": "Администрирование",
+ "admin.button.users": "Управление пользователями",
+ "admin.button.config": "Конфигурация",
+ "admin.version": "Версия",
// END /admin
-
// /admin/users
- "admin.users.title": "User management",
- "admin.users.table.username": "Username",
- "admin.users.table.email": "Email",
- "admin.users.table.admin": "Admin",
-
- "admin.users.edit.update.title": "Update user {username}",
- "admin.users.edit.update.admin-privileges": "Admin privileges",
- "admin.users.edit.update.change-password.title": "Change password",
- "admin.users.edit.update.change-password.field": "New password",
- "admin.users.edit.update.change-password.button": "Save new password",
- "admin.users.edit.update.notify.password.success":
- "Password changed successfully",
-
- "admin.users.edit.delete.title": "Delete user {username}",
- "admin.users.edit.delete.description":
- "Do you really want to delete this user and all his shares?",
-
+ "admin.users.title": "Управление пользователями",
+ "admin.users.table.username": "Логин",
+ "admin.users.table.email": "Электронная почта",
+ "admin.users.table.admin": "Администратор",
+ "admin.users.edit.update.title": "Обновить пользователя {username}",
+ "admin.users.edit.update.admin-privileges": "Права администратора",
+ "admin.users.edit.update.change-password.title": "Изменить пароль",
+ "admin.users.edit.update.change-password.field": "Новый пароль",
+ "admin.users.edit.update.change-password.button": "Сохранить новый пароль",
+ "admin.users.edit.update.notify.password.success": "Пароль успешно изменён",
+ "admin.users.edit.delete.title": "Удалить пользователя {username}",
+ "admin.users.edit.delete.description": "Вы действительно хотите удалить этого пользователя и все его загрузки?",
// showCreateUserModal.tsx
- "admin.users.modal.create.title": "Create user",
- "admin.users.modal.create.username": "Username",
- "admin.users.modal.create.email": "Email",
- "admin.users.modal.create.password": "Password",
- "admin.users.modal.create.manual-password": "Set password manually",
- "admin.users.modal.create.manual-password.description":
- "If not checked, the user will receive an email with a link to set their password.",
- "admin.users.modal.create.admin": "Admin privileges",
- "admin.users.modal.create.admin.description":
- "If checked, the user will be able to access the admin panel.",
-
+ "admin.users.modal.create.title": "Создать пользователя",
+ "admin.users.modal.create.username": "Логин",
+ "admin.users.modal.create.email": "Электронная почта",
+ "admin.users.modal.create.password": "Пароль",
+ "admin.users.modal.create.manual-password": "Установить пароль вручную",
+ "admin.users.modal.create.manual-password.description": "Если флажок не установлен, пользователь получит письмо со ссылкой для установки пароля.",
+ "admin.users.modal.create.admin": "Права администратора",
+ "admin.users.modal.create.admin.description": "Если отмечено, пользователь будет иметь доступ к панели администратора.",
// END /admin/users
-
// /upload
- "upload.title": "Upload",
-
- "upload.notify.generic-error":
- "An error occurred while finishing your share.",
- "upload.notify.count-failed": "{count} files failed to upload. Trying again.",
-
+ "upload.title": "Загрузить",
+ "upload.notify.generic-error": "Произошла ошибка при завершении вашей загрузки.",
+ "upload.notify.count-failed": "Не удалось загрузить файлы {count}. Повтор попытки.",
// Dropzone.tsx
- "upload.dropzone.title": "Upload files",
- "upload.dropzone.description":
- "Drag'n'drop files here to start your share. We can accept only files that are less than {maxSize} in total.",
- "upload.dropzone.notify.file-too-big":
- "Your files exceed the maximum share size of {maxSize}.",
-
+ "upload.dropzone.title": "Загрузить файлы",
+ "upload.dropzone.description": "Перетащите сюда файлы для начала загрузки. Мы можем принимать только файлы, которые меньше {maxSize}.",
+ "upload.dropzone.notify.file-too-big": "Ваши файлы превышают максимальный размер в {maxSize}.",
// FileList.tsx
- "upload.filelist.name": "Name",
- "upload.filelist.size": "Size",
-
+ "upload.filelist.name": "Название",
+ "upload.filelist.size": "Размер",
// showCreateUploadModal.tsx
- "upload.modal.title": "Create Share",
- "upload.modal.link.error.invalid":
- "Can only contain letters, numbers, underscores, and hyphens",
- "upload.modal.link.error.taken": "This link is already in use",
- "upload.modal.not-signed-in": "You're not signed in",
- "upload.modal.not-signed-in-description":
- "You will be unable to delete your share manually and view the visitor count.",
-
- "upload.modal.expires.never": "never",
- "upload.modal.expires.never-long": "Never Expires",
-
- "upload.modal.link.label": "Link",
- "upload.modal.expires.label": "Expiration",
- "upload.modal.expires.minute-singular": "Minute",
- "upload.modal.expires.minute-plural": "Minutes",
- "upload.modal.expires.hour-singular": "Hour",
- "upload.modal.expires.hour-plural": "Hours",
- "upload.modal.expires.day-singular": "Day",
- "upload.modal.expires.day-plural": "Days",
- "upload.modal.expires.week-singular": "Week",
- "upload.modal.expires.week-plural": "Weeks",
- "upload.modal.expires.month-singular": "Month",
- "upload.modal.expires.month-plural": "Months",
- "upload.modal.expires.year-singular": "Year",
- "upload.modal.expires.year-plural": "Years",
-
- "upload.modal.accordion.description.title": "Description",
- "upload.modal.accordion.description.placeholder":
- "Note for the recipients of this share",
-
- "upload.modal.accordion.email.title": "Email recipients",
- "upload.modal.accordion.email.placeholder": "Enter email recipients",
- "upload.modal.accordion.email.invalid-email": "Invalid email address",
-
- "upload.modal.accordion.security.title": "Security options",
- "upload.modal.accordion.security.password.label": "Password protection",
- "upload.modal.accordion.security.password.placeholder": "No password",
- "upload.modal.accordion.security.max-views.label": "Maximum views",
- "upload.modal.accordion.security.max-views.placeholder": "No limit",
-
+ "upload.modal.title": "Загрузить",
+ "upload.modal.link.error.invalid": "Имя пользователя должно состоять только из букв, цифр, подчёркиваний и дефисов",
+ "upload.modal.link.error.taken": "Эта ссылка уже используется",
+ "upload.modal.not-signed-in": "Вы не авторизованы",
+ "upload.modal.not-signed-in-description": "Вы не сможете удалить свои файлы вручную и просмотреть количество посетителей.",
+ "upload.modal.expires.never": "никогда",
+ "upload.modal.expires.never-long": "Никогда не истекает",
+ "upload.modal.link.label": "Ссылка",
+ "upload.modal.expires.label": "Истекает",
+ "upload.modal.expires.minute-singular": "Минута",
+ "upload.modal.expires.minute-plural": "Минут(ы)",
+ "upload.modal.expires.hour-singular": "Час",
+ "upload.modal.expires.hour-plural": "Часов",
+ "upload.modal.expires.day-singular": "День",
+ "upload.modal.expires.day-plural": "Дней",
+ "upload.modal.expires.week-singular": "Неделя",
+ "upload.modal.expires.week-plural": "Недель",
+ "upload.modal.expires.month-singular": "Месяц",
+ "upload.modal.expires.month-plural": "Месяца(-ев)",
+ "upload.modal.expires.year-singular": "Год",
+ "upload.modal.expires.year-plural": "Года (лет)",
+ "upload.modal.accordion.description.title": "Описание",
+ "upload.modal.accordion.description.placeholder": "Примечание для получателей этой загрузки",
+ "upload.modal.accordion.email.title": "Получатели письма",
+ "upload.modal.accordion.email.placeholder": "Получатели e-mail",
+ "upload.modal.accordion.email.invalid-email": "Недопустимый адрес электронной почты",
+ "upload.modal.accordion.security.title": "Параметры безопасности",
+ "upload.modal.accordion.security.password.label": "Защита паролем",
+ "upload.modal.accordion.security.password.placeholder": "Без пароля",
+ "upload.modal.accordion.security.max-views.label": "Максимум просмотров",
+ "upload.modal.accordion.security.max-views.placeholder": "Без ограничения",
// showCompletedUploadModal.tsx
- "upload.modal.completed.never-expires": "This share will never expire.",
- "upload.modal.completed.expires-on":
- "This share will expire on {expiration}.",
- "upload.modal.completed.share-ready": "Share ready",
-
+ "upload.modal.completed.never-expires": "Эта загрузка никогда не устареет.",
+ "upload.modal.completed.expires-on": "Эта загрузка устареет {expiration}.",
+ "upload.modal.completed.share-ready": "Готово",
// END /upload
-
// /share/[id]
- "share.title": "Share {shareId}",
- "share.description": "Look what I've shared with you!",
- "share.error.visitor-limit-exceeded.title": "Visitor limit exceeded",
- "share.error.visitor-limit-exceeded.description":
- "The visitor limit from this share has been exceeded.",
- "share.error.removed.title": "Share removed",
- "share.error.not-found.title": "Share not found",
- "share.error.not-found.description":
- "The share you're looking for doesn't exist.",
-
- "share.modal.password.title": "Password required",
- "share.modal.password.description":
- "To access this share please enter the password for the share.",
- "share.modal.password": "Password",
- "share.modal.error.invalid-password": "Invalid password",
-
- "share.button.download-all": "Download all",
- "share.notify.download-all-preparing":
- "The share is preparing. Try again in a few minutes.",
-
- "share.modal.file-link": "File link",
- "share.table.name": "Name",
- "share.table.size": "Size",
-
- "share.modal.file-preview.error.not-supported.title": "Preview not supported",
- "share.modal.file-preview.error.not-supported.description":
- "A preview for thise file type is unsupported. Please download the file to view it.",
-
+ "share.title": "Загрузка {shareId}",
+ "share.description": "Посмотрите, чем я поделился с вами!",
+ "share.error.visitor-limit-exceeded.title": "Превышен лимит посетителей",
+ "share.error.visitor-limit-exceeded.description": "Превышен лимит посетителей.",
+ "share.error.removed.title": "Загрузка удалена",
+ "share.error.not-found.title": "Загрузка не найдена",
+ "share.error.not-found.description": "Страница, которую вы ищете, не существует.",
+ "share.modal.password.title": "Требуется пароль",
+ "share.modal.password.description": "Для доступа к этому ресурсу введите пароль для общего доступа.",
+ "share.modal.password": "Пароль",
+ "share.modal.error.invalid-password": "Неверный пароль",
+ "share.button.download-all": "Скачать все",
+ "share.notify.download-all-preparing": "Загрузка готовится. Повторите попытку через несколько минут.",
+ "share.modal.file-link": "Ссылка на файл",
+ "share.table.name": "Название",
+ "share.table.size": "Размер",
+ "share.modal.file-preview.error.not-supported.title": "Предпросмотр не поддерживается",
+ "share.modal.file-preview.error.not-supported.description": "Предварительный просмотр этого типа файла не поддерживается. Пожалуйста, скачайте файл для его просмотра.",
// END /share/[id]
-
// /admin/config
- "admin.config.title": "Configuration",
- "admin.config.category.general": "General",
- "admin.config.category.share": "Share",
- "admin.config.category.email": "Email",
+ "admin.config.title": "Конфигурация",
+ "admin.config.category.general": "Общее",
+ "admin.config.category.share": "Загрузки",
+ "admin.config.category.email": "Электронная почта",
"admin.config.category.smtp": "SMTP",
-
- "admin.config.general.app-name": "App name",
- "admin.config.general.app-name.description": "Name of the application",
- "admin.config.general.app-url": "App URL",
- "admin.config.general.app-url.description":
- "On which URL Pingvin Share is available",
- "admin.config.general.show-home-page": "Show home page",
- "admin.config.general.show-home-page.description":
- "Whether to show the home page",
- "admin.config.general.logo": "Logo",
- "admin.config.general.logo.description":
- "Change your logo by uploading a new image. The image must be a PNG and should have the format 1:1.",
- "admin.config.general.logo.placeholder": "Pick image",
-
- "admin.config.email.enable-share-email-recipients":
- "Enable share email recipients",
- "admin.config.email.enable-share-email-recipients.description":
- "Whether to allow emails to share recipients. Only enable this if you have enabled SMTP.",
- "admin.config.email.share-recipients-subject": "Share recipients subject",
- "admin.config.email.share-recipients-subject.description":
- "Subject of the email which gets sent to the share recipients.",
- "admin.config.email.share-recipients-message": "Share recipients message",
- "admin.config.email.share-recipients-message.description":
- "Message which gets sent to the share recipients. Available variables:\n {creator} - The username of the creator of the share\n {shareUrl} - The URL of the share\n {desc} - The description of the share\n {expires} - The expiration date of the share\n The variables will be replaced with the actual value.",
- "admin.config.email.reverse-share-subject": "Reverse share subject",
- "admin.config.email.reverse-share-subject.description":
- "Subject of the email which gets sent when someone created a share with your reverse share link.",
- "admin.config.email.reverse-share-message": "Reverse share message",
- "admin.config.email.reverse-share-message.description":
- "Message which gets sent when someone created a share with your reverse share link. {shareUrl} will be replaced with the creator's name and the share URL.",
- "admin.config.email.reset-password-subject": "Reset password subject",
- "admin.config.email.reset-password-subject.description":
- "Subject of the email which gets sent when a user requests a password reset.",
- "admin.config.email.reset-password-message": "Reset password message",
- "admin.config.email.reset-password-message.description":
- "Message which gets sent when a user requests a password reset. {url} will be replaced with the reset password URL.",
- "admin.config.email.invite-subject": "Invite subject",
- "admin.config.email.invite-subject.description":
- "Subject of the email which gets sent when an admin invites a user.",
- "admin.config.email.invite-message": "Invite message",
- "admin.config.email.invite-message.description":
- "Message which gets sent when an admin invites a user. {url} will be replaced with the invite URL and {password} with the password.",
- "admin.config.share.allow-registration": "Allow registration",
- "admin.config.share.allow-registration.description":
- "Whether registration is allowed",
- "admin.config.share.allow-unauthenticated-shares":
- "Allow unauthenticated shares",
- "admin.config.share.allow-unauthenticated-shares.description":
- "Whether unauthenticated users can create shares",
- "admin.config.share.max-size": "Max size",
- "admin.config.share.max-size.description": "Maximum share size in bytes",
- "admin.config.share.zip-compression-level": "Zip compression level",
- "admin.config.share.zip-compression-level.description":
- "Adjust the level to balance between file size and compression speed. Valid values range from 0 to 9, with 0 being no compression and 9 being maximum compression. ",
-
- "admin.config.smtp.enabled": "Enabled",
- "admin.config.smtp.enabled.description":
- "Whether SMTP is enabled. Only set this to true if you entered the host, port, email, user and password of your SMTP server.",
- "admin.config.smtp.host": "Host",
- "admin.config.smtp.host.description": "Host of the SMTP server",
- "admin.config.smtp.port": "Port",
- "admin.config.smtp.port.description": "Port of the SMTP server",
- "admin.config.smtp.email": "Email",
- "admin.config.smtp.email.description":
- "Email address which the emails get sent from",
- "admin.config.smtp.username": "Username",
- "admin.config.smtp.username.description": "Username of the SMTP server",
- "admin.config.smtp.password": "Password",
- "admin.config.smtp.password.description": "Password of the SMTP server",
- "admin.config.smtp.button.test": "Send test email",
-
+ "admin.config.general.app-name": "Название приложения",
+ "admin.config.general.app-name.description": "Видимое название приложения",
+ "admin.config.general.app-url": "URL-адрес приложения",
+ "admin.config.general.app-url.description": "Адрес на котором доступен Pingvin Share",
+ "admin.config.general.show-home-page": "Показывать домашнюю страницу",
+ "admin.config.general.show-home-page.description": "Показывать ли домашнюю страницу или нет",
+ "admin.config.general.logo": "Логотип",
+ "admin.config.general.logo.description": "Измените свой логотип, загрузив новое изображение. Изображение должно быть PNG и должно иметь формат 1:1.",
+ "admin.config.general.logo.placeholder": "Выберите изображение",
+ "admin.config.email.enable-share-email-recipients": "Включить обмен с получателями электронной почты",
+ "admin.config.email.enable-share-email-recipients.description": "Разрешить ли отправку писем получателям. Включите, только если вы включили SMTP.",
+ "admin.config.email.share-recipients-subject": "Заголовок письма (загрузка)",
+ "admin.config.email.share-recipients-subject.description": "Тема письма, которое отправляется получателям акции.",
+ "admin.config.email.share-recipients-message": "Сообщение письма загрузки",
+ "admin.config.email.share-recipients-message.description": "Сообщение, которое отправляется получателям публикации. Доступные переменные:\n {creator} - Имя пользователя создателя загрузки\n {shareUrl} - URL загрузки\n {desc} - Описание загрузки\n {expires} - Дата истечения загрузки\n Переменные будут заменены на фактическое значение.",
+ "admin.config.email.reverse-share-subject": "Заголовок письма (обратная загрузка)",
+ "admin.config.email.reverse-share-subject.description": "Тема письма, которое отправляется, когда кто-то создал загрузку с вашей обратной ссылкой.",
+ "admin.config.email.reverse-share-message": "Сообщение письма обратной загрузки",
+ "admin.config.email.reverse-share-message.description": "Сообщение, которое отправляется, когда кто-то создал загрузку с вашей обратной ссылкой. {shareUrl} будет заменен именем создателя и URL-адресом общего доступа.",
+ "admin.config.email.reset-password-subject": "Тема сброса пароля",
+ "admin.config.email.reset-password-subject.description": "Тема письма, которое отправляется, когда пользователь запрашивает сброс пароля.",
+ "admin.config.email.reset-password-message": "Сообщение о сбросе пароля",
+ "admin.config.email.reset-password-message.description": "Сообщение, которое отправляется при запросе сброса пароля. {url} будет заменён ссылкой.",
+ "admin.config.email.invite-subject": "Тема приглашения",
+ "admin.config.email.invite-subject.description": "Тема письма, которое отправляется, когда администратор приглашает пользователя.",
+ "admin.config.email.invite-message": "Сообщение с приглашением",
+ "admin.config.email.invite-message.description": "Сообщение приглашения. {url} будет заменён ссылкой приглашения, а {password} паролем.",
+ "admin.config.share.allow-registration": "Разрешить регистрацию",
+ "admin.config.share.allow-registration.description": "Разрешена ли регистрация",
+ "admin.config.share.allow-unauthenticated-shares": "Разрешить неавторизованные загрузки",
+ "admin.config.share.allow-unauthenticated-shares.description": "Могут ли неавторизованные пользователи создавать загрузки",
+ "admin.config.share.max-size": "Максимальный размер",
+ "admin.config.share.max-size.description": "Максимальный размер файла в байтах",
+ "admin.config.share.zip-compression-level": "Уровень сжатия Zip",
+ "admin.config.share.zip-compression-level.description": "Регулировка уровня баланса между размером файла и скоростью сжатия. Допустимые значения от 0 до 9, с 0 без сжатия, а 9 - максимальное сжатие. ",
+ "admin.config.smtp.enabled": "Включено",
+ "admin.config.smtp.enabled.description": "Включено ли SMTP. Установите значение true только если вы ввели хост, порт, email, пользователь и пароль вашего SMTP-сервера.",
+ "admin.config.smtp.host": "Хост",
+ "admin.config.smtp.host.description": "Сервер SMTP сервера",
+ "admin.config.smtp.port": "Порт",
+ "admin.config.smtp.port.description": "Порт SMTP сервера",
+ "admin.config.smtp.email": "Электронная почта",
+ "admin.config.smtp.email.description": "Адрес электронной почты, от которого отправляются письма",
+ "admin.config.smtp.username": "Логин",
+ "admin.config.smtp.username.description": "Имя пользователя SMTP сервера",
+ "admin.config.smtp.password": "Пароль",
+ "admin.config.smtp.password.description": "Пароль SMTP-сервера",
+ "admin.config.smtp.button.test": "Отправить тестовое письмо",
// 404
- "404.description": "Oops this page doesn't exist.",
- "404.button.home": "Bring me back home",
-
+ "404.description": "Упс, этой страницы не существует.",
+ "404.button.home": "Верните меня домой",
// Common translations
- "common.button.save": "Save",
- "common.button.create": "Create",
- "common.button.submit": "Submit",
- "common.button.delete": "Delete",
- "common.button.cancel": "Cancel",
- "common.button.confirm": "Confirm",
- "common.button.disable": "Disable",
- "common.button.share": "Share",
- "common.button.generate": "Generate",
- "common.button.done": "Done",
- "common.text.link": "Link",
- "common.text.or": "or",
- "common.button.go-back": "Go back",
- "common.notify.copied": "Your link was copied to the clipboard",
- "common.success": "Success",
-
- "common.error": "Error",
- "common.error.unknown": "An unknown error occurred",
- "common.error.invalid-email": "Invalid email address",
- "common.error.too-short": "Must be at least {length} characters",
- "common.error.too-long": "Must be at most {length} characters",
- "common.error.exact-length": "Must be exactly {length} characters",
- "common.error.invalid-number": "Must be a number",
- "common.error.field-required": "This field is required",
-};
+ "common.button.save": "Сохранить",
+ "common.button.create": "Создать",
+ "common.button.submit": "Отправить",
+ "common.button.delete": "Удалить",
+ "common.button.cancel": "Отмена",
+ "common.button.confirm": "Подтвердить",
+ "common.button.disable": "Отключить",
+ "common.button.share": "Поделиться",
+ "common.button.generate": "Сгенерировать",
+ "common.button.done": "Готово",
+ "common.text.link": "Ссылка",
+ "common.text.or": "или",
+ "common.button.go-back": "Назад",
+ "common.notify.copied": "Ваша ссылка скопирована в буфер обмена",
+ "common.success": "Успешно",
+ "common.error": "Ошибочка",
+ "common.error.unknown": "Произошла неизвестная ошибка",
+ "common.error.invalid-email": "Недопустимый адрес электронной почты",
+ "common.error.too-short": "Должно быть не менее {length} символов",
+ "common.error.too-long": "Должно быть не больше {length} символов",
+ "common.error.exact-length": "Должно быть ровно {length} символов",
+ "common.error.invalid-number": "Должно быть числом",
+ "common.error.field-required": "Поле обязательно для заполнения"
+};
\ No newline at end of file