feat(frontend): storage, trash, policy, stories, shares, jobs, bots, media, login and notes speak russian and english

This commit is contained in:
hh committed 2026-10-19 03:53:08 +00:00
1 parent e5a5edcaae
commit 4a5c92f0e9
51 files changed
+1504 -588

No files matched your search

+139
View File
@@ -0,0 +1,139 @@
import type { Messages } from "#lib/i18n/types.js";
export const shares = {
"shares.checkFailed": {
en: "Could not check the link",
ru: "Не удалось проверить ссылку",
},
"shares.copied": { en: "Link copied", ru: "Ссылка скопирована" },
"shares.copy": { en: "Copy link", ru: "Копировать ссылку" },
"shares.copyFailed": {
en: "Could not copy the link",
ru: "Не удалось скопировать ссылку",
},
"shares.days": {
en: { one: "{count} day", other: "{count} days" },
ru: {
few: "{count} дня",
many: "{count} дней",
one: "{count} день",
other: "{count} дня",
},
},
"shares.downloads": {
en: { one: "{count} download", other: "{count} downloads" },
ru: {
few: "{count} скачивания",
many: "{count} скачиваний",
one: "{count} скачивание",
other: "{count} скачивания",
},
},
"shares.downloadsOf": { en: "{count} of {max}", ru: "{count} из {max}" },
"shares.empty.hint": {
en: "Share a file from the media menu",
ru: "Откройте доступ к файлу из меню медиа",
},
"shares.empty.title": { en: "Nothing shared", ru: "Ничего не открыто" },
"shares.expired": { en: "expired {date}", ru: "истекла {date}" },
"shares.file": { en: "file", ru: "файл" },
"shares.footnote": {
en: {
one: "{count} link · preview crawlers don't count as downloads",
other: "{count} links · preview crawlers don't count as downloads",
},
ru: {
few: "{count} ссылки · превью-краулеры не списывают скачивания",
many: "{count} ссылок · превью-краулеры не списывают скачивания",
one: "{count} ссылка · превью-краулеры не списывают скачивания",
other: "{count} ссылки · превью-краулеры не списывают скачивания",
},
},
"shares.forever": { en: "no expiry", ru: "бессрочно" },
"shares.forget": { en: "Remove from list", ru: "Убрать из списка" },
"shares.forgetFailed": {
en: "Could not remove the entry",
ru: "Не удалось удалить запись",
},
"shares.hours": {
en: { one: "{count} hour", other: "{count} hours" },
ru: {
few: "{count} часа",
many: "{count} часов",
one: "{count} час",
other: "{count} часа",
},
},
"shares.keep": { en: "As is", ru: "Как есть" },
"shares.lastDownload": {
en: "Last download: {date}",
ru: "Последнее скачивание: {date}",
},
"shares.lifetime": { en: "Link lifetime", ru: "Срок жизни ссылки" },
"shares.limit": { en: "Download limit", ru: "Лимит скачиваний" },
"shares.listFailed": {
en: "Could not load the links",
ru: "Не удалось загрузить список ссылок",
},
"shares.newLink": { en: "New link", ru: "Новая ссылка" },
"shares.noChat": { en: "No chat", ru: "Без чата" },
"shares.noExpiry": { en: "No expiry", ru: "Бессрочно" },
"shares.noLimit": { en: "No limit", ru: "Без лимита" },
"shares.opened": { en: "Link sharing is on", ru: "Доступ по ссылке открыт" },
"shares.openFailed": {
en: "Could not share the file",
ru: "Не удалось открыть доступ",
},
"shares.private": {
en: "Only you can access it now",
ru: "Сейчас доступен только вам",
},
"shares.publicHint": {
en: "Anyone with the link can open the file. You can revoke it at any time.",
ru: "Файл откроется всем, у кого есть ссылка. Отозвать можно в любой момент.",
},
"shares.publish": { en: "Create link", ru: "Открыть доступ" },
"shares.qr.hide": { en: "Hide QR code", ru: "Скрыть QR-код" },
"shares.qr.label": {
en: "QR code of the file link",
ru: "QR-код ссылки на файл",
},
"shares.qr.show": { en: "Show QR code", ru: "Показать QR-код" },
"shares.raw.after": {
en: " downloads it under its real name. Telegram preview crawlers don't count as downloads.",
ru: " скачает под настоящим именем. Превью-краулеры Telegram скачивания не списывают.",
},
"shares.raw.before": {
en: "The link serves the file as is: images and videos open right in the browser, ",
ru: "Ссылка отдаёт файл как есть: картинки и видео откроются прямо в браузере, ",
},
"shares.reissue": { en: "Issue a new link", ru: "Выдать новую ссылку" },
"shares.reissued": { en: "New link issued", ru: "Выдана новая ссылка" },
"shares.reissueFailed": {
en: "Could not reissue the link",
ru: "Не удалось перевыпустить ссылку",
},
"shares.revoke": { en: "Revoke", ru: "Отозвать" },
"shares.revoked": { en: "revoked", ru: "отозвана" },
"shares.revokedToast": { en: "Access revoked", ru: "Доступ отозван" },
"shares.revokeFailed": {
en: "Could not revoke access",
ru: "Не удалось отозвать доступ",
},
"shares.state.active": { en: "Active", ru: "Открыт" },
"shares.state.exhausted": { en: "Limit reached", ru: "Лимит исчерпан" },
"shares.state.expired": { en: "Expired", ru: "Истёк" },
"shares.state.revoked": { en: "Revoked", ru: "Отозван" },
"shares.tab.active": { en: "Active", ru: "Открытые" },
"shares.tab.all": { en: "All", ru: "Все" },
"shares.toMessage": { en: "Go to message", ru: "К сообщению" },
"shares.until": { en: "until {date}", ru: "до {date}" },
"shares.updated": {
en: "Link settings updated",
ru: "Настройки ссылки обновлены",
},
"shares.updateFailed": {
en: "Could not update the link",
ru: "Не удалось обновить ссылку",
},
} satisfies Messages;