fix rabbitai bot suggestions

This commit is contained in:
xtotdam
2026-03-14 14:48:49 +03:00
parent 03ecaf8603
commit cb4db2d762
4 changed files with 13 additions and 13 deletions

View File

@@ -27,7 +27,7 @@ http {
index index.html; index index.html;
absolute_redirect off; absolute_redirect off;
location ~ ^/(en|ar|be|da|de|es|fr|id|it|nl|pt|ru|tr|vi|zh|zh-TW)(/.*)?$ { location ~ ^/(en|ar|be|da|de|es|fr|id|it|ko|nl|pt|ru|sv|tr|vi|zh|zh-TW)(/.*)?$ {
try_files $uri $uri/ $uri.html /$1/index.html /index.html; try_files $uri $uri/ $uri.html /$1/index.html /index.html;
expires 5m; expires 5m;
add_header Cache-Control "public, must-revalidate"; add_header Cache-Control "public, must-revalidate";
@@ -35,7 +35,7 @@ http {
add_header Cross-Origin-Opener-Policy "same-origin" always; add_header Cross-Origin-Opener-Policy "same-origin" always;
} }
location ~ ^/(.+?)/(en|ar|be|da|de|es|fr|id|it|nl|pt|ru|tr|vi|zh|zh-TW)(/.*)?$ { location ~ ^/(.+?)/(en|ar|be|da|de|es|fr|id|it|ko|nl|pt|ru|sv|tr|vi|zh|zh-TW)(/.*)?$ {
try_files $uri $uri/ $uri.html /$1/$2/index.html /$1/index.html /index.html; try_files $uri $uri/ $uri.html /$1/$2/index.html /$1/index.html /index.html;
expires 5m; expires 5m;
add_header Cache-Control "public, must-revalidate"; add_header Cache-Control "public, must-revalidate";

View File

@@ -182,7 +182,7 @@
}, },
"areFilesSecure": { "areFilesSecure": {
"question": "Мои файлы в безопасности? Где они обрабатываются?", "question": "Мои файлы в безопасности? Где они обрабатываются?",
"answer": "Your files are as secure as possible because they never leave your computer. All processing happens directly in your web browser (client-side). We never upload your files to a server, so you maintain complete privacy and control over your documents." "answer": "Ваши файлы максимально защищены, потому что они никогда не покидают ваш компьютер. Вся обработка происходит прямо в вашем браузере (на стороне клиента). Мы никогда не загружаем ваши файлы на сервер, поэтому вы полностью сохраняете конфиденциальность и контроль над своими документами."
}, },
"platforms": { "platforms": {
"question": "BentoPDF работает на Mac, Windows, и на смартфонах?", "question": "BentoPDF работает на Mac, Windows, и на смартфонах?",
@@ -297,7 +297,7 @@
}, },
"openSource": { "openSource": {
"title": "Дух открытого кода", "title": "Дух открытого кода",
"description": "Создано попринципам прозрачности. Мы опираемся на замечательные библиотеки с открытым исходным кодом, такие как PDF-lib и PDF.js, и верим в то, что, действуя сообща, мы можем создать мощнве инструменты, доступные всем." "description": "Создано по принципам прозрачности. Мы опираемся на замечательные библиотеки с открытым исходным кодом, такие как PDF-lib и PDF.js, и верим в то, что, действуя сообща, мы можем создать мощные инструменты, доступные всем."
} }
}, },
"cta": { "cta": {

View File

@@ -23,7 +23,7 @@
"compressPdf": { "compressPdf": {
"name": "Сжатие PDF", "name": "Сжатие PDF",
"subtitle": "Уменьшить размер PDF-файла.", "subtitle": "Уменьшить размер PDF-файла.",
"algorithmLabel": "Алгорим сжатия", "algorithmLabel": "Алгоритм сжатия",
"condense": "Condense (рекомендуется)", "condense": "Condense (рекомендуется)",
"photon": "Photon (для PDF с большим числом изображений)", "photon": "Photon (для PDF с большим числом изображений)",
"condenseInfo": "Condense использует усовершенствованное сжатие: удаляет лишнее, оптимизирует изображения и шрифты. Лучший выбор для большинства PDF.", "condenseInfo": "Condense использует усовершенствованное сжатие: удаляет лишнее, оптимизирует изображения и шрифты. Лучший выбор для большинства PDF.",
@@ -153,7 +153,7 @@
"subtitle": "Заполнить форму прямо в браузере. Поддерживает формы XFA." "subtitle": "Заполнить форму прямо в браузере. Поддерживает формы XFA."
}, },
"createPdfForm": { "createPdfForm": {
"name": "Сохдание PDF-форм", "name": "Создание PDF-форм",
"subtitle": "Создать заполняемую PDF-форму с перетаскиваемыми текстовыми полями." "subtitle": "Создать заполняемую PDF-форму с перетаскиваемыми текстовыми полями."
}, },
"removeBlankPages": { "removeBlankPages": {
@@ -397,7 +397,7 @@
"subtitle": "Переупорядочить страницы для двухсторонней печати разворотов. Сложите распечатанные листы и прошейте, чтобы сделать буклет.", "subtitle": "Переупорядочить страницы для двухсторонней печати разворотов. Сложите распечатанные листы и прошейте, чтобы сделать буклет.",
"howItWorks": "Как это работает:", "howItWorks": "Как это работает:",
"step1": "Загрузите PDF-файл.", "step1": "Загрузите PDF-файл.",
"step2": "Страницы буду переупорядочены для печати в формате буклета.", "step2": "Страницы будут переупорядочены для печати в формате буклета.",
"step3": "Распечатайте с двух сторон, сложите и прошейте.", "step3": "Распечатайте с двух сторон, сложите и прошейте.",
"paperSize": "Размер бумаги", "paperSize": "Размер бумаги",
"orientation": "Ориентация", "orientation": "Ориентация",
@@ -515,7 +515,7 @@
"subtitle": "Извлечь таблицы из документа в формате Excel (XLSX)." "subtitle": "Извлечь таблицы из документа в формате Excel (XLSX)."
}, },
"pdfToText": { "pdfToText": {
"name": "PDF в Text", "name": "PDF в текст",
"subtitle": "Извлечь текст из документа в текстовом формате (.txt). Поддерживает несколько файлов.", "subtitle": "Извлечь текст из документа в текстовом формате (.txt). Поддерживает несколько файлов.",
"note": "Данный инструмент работает ТОЛЬКО с PDF-файлами, созданными электронно. Для отсканированных документов или PDF-файлов, основывающихся на изображениях, используйте инструмент «Распознавание текста в PDF».", "note": "Данный инструмент работает ТОЛЬКО с PDF-файлами, созданными электронно. Для отсканированных документов или PDF-файлов, основывающихся на изображениях, используйте инструмент «Распознавание текста в PDF».",
"convertButton": "Извлечь текст" "convertButton": "Извлечь текст"
@@ -528,7 +528,7 @@
"uploadCert": "Загрузить сертификат (.pfx, .p12)", "uploadCert": "Загрузить сертификат (.pfx, .p12)",
"certPassword": "Пароль от сертификата", "certPassword": "Пароль от сертификата",
"certPasswordPlaceholder": "Введите Пароль от сертификата", "certPasswordPlaceholder": "Введите Пароль от сертификата",
"certInfo": "Сведениф о сертификате", "certInfo": "Сведения о сертификате",
"certSubject": "Субъект", "certSubject": "Субъект",
"certIssuer": "Издатель", "certIssuer": "Издатель",
"certValidity": "Срок действия", "certValidity": "Срок действия",

View File

@@ -58,7 +58,7 @@ export const getLanguageFromUrl = (): SupportedLanguage => {
} }
const langMatch = path.match( const langMatch = path.match(
/^\/(en|ar|fr|es|de|zh|zh-TW|vi|tr|id|it|pt|nl|be|da|ko|ru)(?:\/|$)/ /^\/(en|ar|fr|es|de|zh|zh-TW|vi|tr|id|it|pt|nl|be|da|ko|sv|ru)(?:\/|$)/
); );
if ( if (
langMatch && langMatch &&
@@ -134,7 +134,7 @@ export const changeLanguage = (lang: SupportedLanguage): void => {
let pagePathWithoutLang = relativePath; let pagePathWithoutLang = relativePath;
const langPrefixMatch = relativePath.match( const langPrefixMatch = relativePath.match(
/^\/(en|ar|fr|es|de|zh|zh-TW|vi|tr|id|it|pt|nl|be|da|ko|ru)(\/.*)?$/ /^\/(en|ar|fr|es|de|zh|zh-TW|vi|tr|id|it|pt|nl|be|da|ko|sv|ru)(\/.*)?$/
); );
if (langPrefixMatch) { if (langPrefixMatch) {
pagePathWithoutLang = langPrefixMatch[2] || '/'; pagePathWithoutLang = langPrefixMatch[2] || '/';
@@ -227,7 +227,7 @@ export const rewriteLinks = (): void => {
} }
const langPrefixRegex = new RegExp( const langPrefixRegex = new RegExp(
`^(${basePath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})?/?(en|ar|fr|es|de|zh|zh-TW|vi|tr|id|it|pt|nl|be|da|ko|ru)(/|$)` `^(${basePath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')})?/?(en|ar|fr|es|de|zh|zh-TW|vi|tr|id|it|pt|nl|be|da|ko|sv|ru)(/|$)`
); );
if (langPrefixRegex.test(href)) { if (langPrefixRegex.test(href)) {
return; return;