diff --git a/.env.example b/.env.example index 18835b9f..578a027f 100644 --- a/.env.example +++ b/.env.example @@ -22,7 +22,7 @@ VITE_TESSERACT_AVAILABLE_LANGUAGES= VITE_OCR_FONT_BASE_URL= # Default UI language (build-time) -# Supported: en, ar, be, fr, de, es, zh, zh-TW, vi, tr, id, it, pt, nl, da, ko, sv, ru +# Supported: en, ar, be, fr, de, es, zh, zh-TW, vi, tr, id, it, pt, nl, da, ko, sv, ru, pl, ja, uk, sk, ca, fa VITE_DEFAULT_LANGUAGE= # Custom branding (build-time) diff --git a/.htaccess b/.htaccess index 5c790594..f4bb362b 100644 --- a/.htaccess +++ b/.htaccess @@ -99,7 +99,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -117,11 +117,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) diff --git a/README.md b/README.md index 3204db63..f90e0687 100644 --- a/README.md +++ b/README.md @@ -735,7 +735,7 @@ docker run -p 3000:8080 bentopdf **Default Language:** -Set the default UI language at build time. Users can still switch languages — this only changes the initial default. Supported: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. +Set the default UI language at build time. Users can still switch languages — this only changes the initial default. Supported: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. ```bash docker build --build-arg VITE_DEFAULT_LANGUAGE=fr -t bentopdf . diff --git a/docs/ar/self-hosting/apache.md b/docs/ar/self-hosting/apache.md index 7171021e..68b124e4 100644 --- a/docs/ar/self-hosting/apache.md +++ b/docs/ar/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/ar/self-hosting/docker.md b/docs/ar/self-hosting/docker.md index 6ef286e8..6d226e7c 100644 --- a/docs/ar/self-hosting/docker.md +++ b/docs/ar/self-hosting/docker.md @@ -149,7 +149,7 @@ docker run -d -p 3000:8080 bentopdf:custom بالنسبة لـ OCR، اترك متغيرات `VITE_TESSERACT_*` فارغة لاستخدام الأصول الافتراضية عبر الإنترنت، أو اضبطها الثلاثة معًا لـ OCR المستضاف ذاتيًا أو بدون اتصال. تُرفض التغييرات الجزئية لإعدادات OCR لأن العامل والبيئة الأساسية ومجلد traineddata يجب أن تتطابق. وللحصول على ملف PDF قابل للبحث بالكامل دون اتصال، اضبط أيضًا `VITE_OCR_FONT_BASE_URL` لكي تُحمَّل خطوط الطبقة النصية الخاصة بـ OCR من خادمك الداخلي بدل روابط خطوط Noto العامة. -يحدد `VITE_DEFAULT_LANGUAGE` لغة الواجهة للزوار لأول مرة. القيم المدعومة: `en` و`ar` و`be` و`fr` و`de` و`es` و`zh` و`zh-TW` و`vi` و`tr` و`id` و`it` و`pt` و`nl` و`da`. ما زال بإمكان المستخدمين تبديل اللغة، وهذا يغيّر الافتراضي فقط. +يحدد `VITE_DEFAULT_LANGUAGE` لغة الواجهة للزوار لأول مرة. القيم المدعومة: `en` و`ar` و`be` و`fr` و`de` و`es` و`zh` و`zh-TW` و`vi` و`tr` و`id` و`it` و`pt` و`nl` و`da` و`ko` و`sv` و`ru` و`pl` و`ja` و`uk` و`sk` و`ca` و`fa`. ما زال بإمكان المستخدمين تبديل اللغة، وهذا يغيّر الافتراضي فقط. مثال: diff --git a/docs/ar/self-hosting/hostinger.md b/docs/ar/self-hosting/hostinger.md index 1dc42a9b..8cb17832 100644 --- a/docs/ar/self-hosting/hostinger.md +++ b/docs/ar/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Header always set Cross-Origin-Embedder-Policy "require-corp" ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/be/self-hosting/apache.md b/docs/be/self-hosting/apache.md index 2b1fff65..dc39b0f1 100644 --- a/docs/be/self-hosting/apache.md +++ b/docs/be/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/be/self-hosting/docker.md b/docs/be/self-hosting/docker.md index 46499cfc..ca45c42c 100644 --- a/docs/be/self-hosting/docker.md +++ b/docs/be/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP уключае `'unsafe-eval'` у `script-src`, бо асяроддзе вы Для OCR пакіньце зменныя `VITE_TESSERACT_*` пустымі, каб выкарыстоўваць анлайн-рэсурсы па змаўчанні, або задайце ўсе тры разам для ўласнага/аўтаномнага OCR. Частковыя перавызначэнні OCR адхіляюцца, бо воркер, асноўнае асяроддзе выканання і каталог traineddata павінны адпавядаць адно аднаму. Для цалкам аўтаномнага PDF з магчымасцю пошуку таксама задайце `VITE_OCR_FONT_BASE_URL`, каб шрыфты тэкставага слоя OCR загружаліся з вашага ўнутранага сервера, а не з публічных URL шрыфтоў Noto. -`VITE_DEFAULT_LANGUAGE` задае мову інтэрфейсу для новых наведвальнікаў. Падтрымліваемыя значэнні: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Карыстальнікі ўсё роўна могуць пераключаць мову, гэта змяняе толькі значэнне па змаўчанні. +`VITE_DEFAULT_LANGUAGE` задае мову інтэрфейсу для новых наведвальнікаў. Падтрымліваемыя значэнні: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Карыстальнікі ўсё роўна могуць пераключаць мову, гэта змяняе толькі значэнне па змаўчанні. Прыклад: diff --git a/docs/be/self-hosting/hostinger.md b/docs/be/self-hosting/hostinger.md index 290da96c..7c6d99e4 100644 --- a/docs/be/self-hosting/hostinger.md +++ b/docs/be/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Header always set Cross-Origin-Embedder-Policy "require-corp" ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/ca/self-hosting/apache.md b/docs/ca/self-hosting/apache.md index 50838591..31940f2e 100644 --- a/docs/ca/self-hosting/apache.md +++ b/docs/ca/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/ca/self-hosting/docker.md b/docs/ca/self-hosting/docker.md index 66135a34..94e1c987 100644 --- a/docs/ca/self-hosting/docker.md +++ b/docs/ca/self-hosting/docker.md @@ -149,7 +149,7 @@ La CSP inclou `'unsafe-eval'` a `script-src` perquè el runtime de LibreOffice W Per a l'OCR, deixa buides les variables `VITE_TESSERACT_*` per utilitzar els recursos en línia per defecte, o defineix-les totes tres alhora per a l'OCR autoallotjat o sense connexió. Les substitucions parcials d'OCR es rebutgen perquè el worker, el runtime principal i el directori de traineddata han de coincidir. Per generar PDF cercables totalment sense connexió, defineix també `VITE_OCR_FONT_BASE_URL` perquè les fonts de la capa de text d'OCR es carreguin des del teu servidor intern i no des de les URL públiques de fonts Noto. -`VITE_DEFAULT_LANGUAGE` defineix l'idioma de la interfície per als visitants que hi entren per primera vegada. Valors admesos: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Els usuaris poden canviar d'idioma igualment: això només canvia el valor per defecte. +`VITE_DEFAULT_LANGUAGE` defineix l'idioma de la interfície per als visitants que hi entren per primera vegada. Valors admesos: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Els usuaris poden canviar d'idioma igualment: això només canvia el valor per defecte. Exemple: diff --git a/docs/ca/self-hosting/hostinger.md b/docs/ca/self-hosting/hostinger.md index 62fbf897..c654c8ac 100644 --- a/docs/ca/self-hosting/hostinger.md +++ b/docs/ca/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Assegura't que la regla de l'extensió `.html` i les rutes d'idioma estan ben co ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/da/self-hosting/apache.md b/docs/da/self-hosting/apache.md index ffd47fb9..c02c59a0 100644 --- a/docs/da/self-hosting/apache.md +++ b/docs/da/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/da/self-hosting/docker.md b/docs/da/self-hosting/docker.md index dd0f620c..dd0298b0 100644 --- a/docs/da/self-hosting/docker.md +++ b/docs/da/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP indeholder `'unsafe-eval'` i `script-src`, fordi LibreOffice WASM-runtime (b For OCR skal du lade `VITE_TESSERACT_*`-variablerne stå tomme for at bruge standardressourcerne online, eller sætte alle tre sammen til selvhostet/offline OCR. Delvise OCR-overskrivninger afvises, fordi worker, kerne-runtime og traineddata-mappe skal passe sammen. For fuldt offline søgbar PDF-output skal du også sætte `VITE_OCR_FONT_BASE_URL`, så OCR-tekstlagets skrifttyper indlæses fra din interne server i stedet for de offentlige Noto-skrift-URL'er. -`VITE_DEFAULT_LANGUAGE` angiver brugerfladens sprog for førstegangsbesøgende. Understøttede værdier: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Brugere kan stadig skifte sprog, det ændrer kun standarden. +`VITE_DEFAULT_LANGUAGE` angiver brugerfladens sprog for førstegangsbesøgende. Understøttede værdier: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Brugere kan stadig skifte sprog, det ændrer kun standarden. Eksempel: diff --git a/docs/da/self-hosting/hostinger.md b/docs/da/self-hosting/hostinger.md index dc7a3397..4398eaa9 100644 --- a/docs/da/self-hosting/hostinger.md +++ b/docs/da/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Sørg for, at reglen for filtypen `.html` og sprogrutene er konfigureret korrekt ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/de/self-hosting/apache.md b/docs/de/self-hosting/apache.md index a8633426..e5c8d764 100644 --- a/docs/de/self-hosting/apache.md +++ b/docs/de/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/de/self-hosting/docker.md b/docs/de/self-hosting/docker.md index 2ffa3820..10d0e41c 100644 --- a/docs/de/self-hosting/docker.md +++ b/docs/de/self-hosting/docker.md @@ -149,7 +149,7 @@ Die CSP enthält `'unsafe-eval'` in `script-src`, weil die LibreOffice-WASM-Runt Lassen Sie für OCR die `VITE_TESSERACT_*`-Variablen leer, um die Standard-Online-Ressourcen zu nutzen, oder setzen Sie alle drei zusammen für selbst gehostetes/Offline-OCR. Teilweise Überschreibungen werden abgelehnt, weil Worker, Core-Runtime und traineddata-Verzeichnis zusammenpassen müssen. Für eine vollständig offline erzeugte durchsuchbare PDF setzen Sie zusätzlich `VITE_OCR_FONT_BASE_URL`, damit die OCR-Textebenen-Schriften von Ihrem internen Server statt von den öffentlichen Noto-Schrift-URLs geladen werden. -`VITE_DEFAULT_LANGUAGE` legt die Oberflächensprache für Erstbesucher fest. Unterstützte Werte: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Nutzer können die Sprache weiterhin wechseln, das ändert nur den Standard. +`VITE_DEFAULT_LANGUAGE` legt die Oberflächensprache für Erstbesucher fest. Unterstützte Werte: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Nutzer können die Sprache weiterhin wechseln, das ändert nur den Standard. Beispiel: diff --git a/docs/de/self-hosting/hostinger.md b/docs/de/self-hosting/hostinger.md index 1ba4be1a..d0c312cd 100644 --- a/docs/de/self-hosting/hostinger.md +++ b/docs/de/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Stellen Sie sicher, dass die Regel für die Endung `.html` und die Sprachrouten ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/es/self-hosting/apache.md b/docs/es/self-hosting/apache.md index 58f1c169..8fd08ae7 100644 --- a/docs/es/self-hosting/apache.md +++ b/docs/es/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/es/self-hosting/docker.md b/docs/es/self-hosting/docker.md index c517a505..cbc011bf 100644 --- a/docs/es/self-hosting/docker.md +++ b/docs/es/self-hosting/docker.md @@ -149,7 +149,7 @@ La CSP incluye `'unsafe-eval'` en `script-src` porque el runtime WASM de LibreOf Para el OCR, deja vacías las variables `VITE_TESSERACT_*` para usar los recursos en línea predeterminados, o define las tres juntas para un OCR autoalojado o sin conexión. Las sobrescrituras parciales de OCR se rechazan porque el worker, el runtime principal y el directorio de traineddata deben coincidir. Para una salida de PDF con texto buscable totalmente sin conexión, define también `VITE_OCR_FONT_BASE_URL` para que las fuentes de la capa de texto del OCR se carguen desde tu servidor interno en lugar de las URL públicas de las fuentes Noto. -`VITE_DEFAULT_LANGUAGE` define el idioma de la interfaz para quienes visitan por primera vez. Valores admitidos: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Los usuarios pueden seguir cambiando de idioma: esto solo cambia el valor predeterminado. +`VITE_DEFAULT_LANGUAGE` define el idioma de la interfaz para quienes visitan por primera vez. Valores admitidos: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Los usuarios pueden seguir cambiando de idioma: esto solo cambia el valor predeterminado. Ejemplo: diff --git a/docs/es/self-hosting/hostinger.md b/docs/es/self-hosting/hostinger.md index c03f4465..ee81b6ea 100644 --- a/docs/es/self-hosting/hostinger.md +++ b/docs/es/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Asegúrate de que la regla de la extensión `.html` y las rutas de idioma estén ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/fa/self-hosting/apache.md b/docs/fa/self-hosting/apache.md index b3616c00..afaa3a55 100644 --- a/docs/fa/self-hosting/apache.md +++ b/docs/fa/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/fa/self-hosting/docker.md b/docs/fa/self-hosting/docker.md index 9841b17e..99ea2010 100644 --- a/docs/fa/self-hosting/docker.md +++ b/docs/fa/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP شامل `'unsafe-eval'` در `script-src` است، زیرا محیط اجر برای OCR، متغیرهای `VITE_TESSERACT_*` را خالی بگذارید تا از منابع آنلاین پیش‌فرض استفاده شود، یا برای OCR میزبانی‌شده یا آفلاین هر سه را با هم تنظیم کنید. بازنویسی‌های ناقص OCR رد می‌شوند، چون worker، هستهٔ اجرایی و پوشهٔ traineddata باید با هم سازگار باشند. برای خروجی PDF قابل‌جستجوی کاملاً آفلاین، `VITE_OCR_FONT_BASE_URL` را نیز تنظیم کنید تا فونت‌های لایهٔ متنی OCR به‌جای URLهای عمومی فونت Noto از سرور داخلی شما بارگذاری شوند. -`VITE_DEFAULT_LANGUAGE` زبان رابط کاربری را برای بازدیدکنندگان بار اول تعیین می‌کند. مقادیر پشتیبانی‌شده: `en`، `ar`، `be`، `fr`، `de`، `es`، `zh`، `zh-TW`، `vi`، `tr`، `id`، `it`، `pt`، `nl`، `da`. کاربران همچنان می‌توانند زبان را تغییر دهند؛ این فقط پیش‌فرض را تغییر می‌دهد. +`VITE_DEFAULT_LANGUAGE` زبان رابط کاربری را برای بازدیدکنندگان بار اول تعیین می‌کند. مقادیر پشتیبانی‌شده: `en`، `ar`، `be`، `fr`، `de`، `es`، `zh`، `zh-TW`، `vi`، `tr`، `id`، `it`، `pt`، `nl`، `da`، `ko`، `sv`، `ru`، `pl`، `ja`، `uk`، `sk`، `ca`، `fa`. کاربران همچنان می‌توانند زبان را تغییر دهند؛ این فقط پیش‌فرض را تغییر می‌دهد. مثال: diff --git a/docs/fa/self-hosting/hostinger.md b/docs/fa/self-hosting/hostinger.md index 648bac1f..94338a38 100644 --- a/docs/fa/self-hosting/hostinger.md +++ b/docs/fa/self-hosting/hostinger.md @@ -152,7 +152,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -164,7 +164,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -173,11 +173,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -212,11 +212,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -255,7 +255,7 @@ Header always set Cross-Origin-Embedder-Policy "require-corp" ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/fr/self-hosting/apache.md b/docs/fr/self-hosting/apache.md index 5db56a34..dce29ee0 100644 --- a/docs/fr/self-hosting/apache.md +++ b/docs/fr/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/fr/self-hosting/docker.md b/docs/fr/self-hosting/docker.md index 10c70e0a..e9a6a88b 100644 --- a/docs/fr/self-hosting/docker.md +++ b/docs/fr/self-hosting/docker.md @@ -149,7 +149,7 @@ La CSP inclut `'unsafe-eval'` dans `script-src`, car le runtime LibreOffice WASM Pour l'OCR, laissez les variables `VITE_TESSERACT_*` vides afin d'utiliser les ressources en ligne par défaut, ou définissez les trois ensemble pour un OCR auto-hébergé/hors ligne. Les remplacements OCR partiels sont refusés, car le worker, le runtime principal et le dossier traineddata doivent correspondre. Pour une production de PDF avec texte recherchable entièrement hors ligne, définissez aussi `VITE_OCR_FONT_BASE_URL` afin que les polices de la couche de texte OCR soient chargées depuis votre serveur interne plutôt que depuis les URL publiques des polices Noto. -`VITE_DEFAULT_LANGUAGE` définit la langue de l'interface pour les nouveaux visiteurs. Valeurs prises en charge : `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Les utilisateurs peuvent toujours changer de langue : cela ne modifie que la valeur par défaut. +`VITE_DEFAULT_LANGUAGE` définit la langue de l'interface pour les nouveaux visiteurs. Valeurs prises en charge : `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Les utilisateurs peuvent toujours changer de langue : cela ne modifie que la valeur par défaut. Exemple : diff --git a/docs/fr/self-hosting/hostinger.md b/docs/fr/self-hosting/hostinger.md index 6090686f..22b4ebfb 100644 --- a/docs/fr/self-hosting/hostinger.md +++ b/docs/fr/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Assurez-vous que la règle d'extension `.html` et les routes de langue sont corr ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/id/self-hosting/apache.md b/docs/id/self-hosting/apache.md index 773f607d..9f8e0a95 100644 --- a/docs/id/self-hosting/apache.md +++ b/docs/id/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/id/self-hosting/docker.md b/docs/id/self-hosting/docker.md index b3930ef0..9107cc74 100644 --- a/docs/id/self-hosting/docker.md +++ b/docs/id/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP menyertakan `'unsafe-eval'` di `script-src` karena runtime LibreOffice WASM Untuk OCR, biarkan variabel `VITE_TESSERACT_*` kosong untuk memakai aset online default, atau atur ketiganya sekaligus untuk OCR hosting mandiri/offline. Penimpaan OCR sebagian ditolak karena worker, runtime inti, dan direktori traineddata harus cocok. Untuk keluaran PDF yang dapat dicari secara offline penuh, atur juga `VITE_OCR_FONT_BASE_URL` agar font lapisan teks OCR dimuat dari server internal Anda, bukan dari URL font Noto publik. -`VITE_DEFAULT_LANGUAGE` menentukan bahasa UI untuk pengunjung pertama kali. Nilai yang didukung: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Pengguna tetap dapat berganti bahasa, ini hanya mengubah default. +`VITE_DEFAULT_LANGUAGE` menentukan bahasa UI untuk pengunjung pertama kali. Nilai yang didukung: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Pengguna tetap dapat berganti bahasa, ini hanya mengubah default. Contoh: diff --git a/docs/id/self-hosting/hostinger.md b/docs/id/self-hosting/hostinger.md index c267f408..70cc249a 100644 --- a/docs/id/self-hosting/hostinger.md +++ b/docs/id/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Pastikan aturan ekstensi `.html` dan rute bahasa dikonfigurasi dengan benar. Ben ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/it/self-hosting/apache.md b/docs/it/self-hosting/apache.md index 8d0d208b..23b20145 100644 --- a/docs/it/self-hosting/apache.md +++ b/docs/it/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/it/self-hosting/docker.md b/docs/it/self-hosting/docker.md index d50abefa..64b26b51 100644 --- a/docs/it/self-hosting/docker.md +++ b/docs/it/self-hosting/docker.md @@ -149,7 +149,7 @@ La CSP include `'unsafe-eval'` in `script-src` perché il runtime LibreOffice WA Per l'OCR, lascia vuote le variabili `VITE_TESSERACT_*` per usare le risorse online predefinite, oppure impostale tutte e tre insieme per un OCR self-hosted/offline. Le sostituzioni parziali dell'OCR vengono rifiutate perché worker, runtime core e directory dei traineddata devono corrispondere. Per un output PDF ricercabile completamente offline, imposta anche `VITE_OCR_FONT_BASE_URL` in modo che i font del livello di testo OCR vengano caricati dal tuo server interno invece che dagli URL pubblici dei font Noto. -`VITE_DEFAULT_LANGUAGE` imposta la lingua dell'interfaccia per i nuovi visitatori. Valori supportati: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Gli utenti possono comunque cambiare lingua: questo modifica solo il valore predefinito. +`VITE_DEFAULT_LANGUAGE` imposta la lingua dell'interfaccia per i nuovi visitatori. Valori supportati: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Gli utenti possono comunque cambiare lingua: questo modifica solo il valore predefinito. Esempio: diff --git a/docs/it/self-hosting/hostinger.md b/docs/it/self-hosting/hostinger.md index 60d5d940..db32ced8 100644 --- a/docs/it/self-hosting/hostinger.md +++ b/docs/it/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Verifica che la regola per l'estensione `.html` e le route delle lingue siano co ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/ja/self-hosting/apache.md b/docs/ja/self-hosting/apache.md index 69bbd342..09fff757 100644 --- a/docs/ja/self-hosting/apache.md +++ b/docs/ja/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/ja/self-hosting/docker.md b/docs/ja/self-hosting/docker.md index 619b9463..49e3cf42 100644 --- a/docs/ja/self-hosting/docker.md +++ b/docs/ja/self-hosting/docker.md @@ -149,7 +149,7 @@ CSPの `script-src` に `'unsafe-eval'` が含まれているのは、LibreOffic OCRでは、`VITE_TESSERACT_*` 変数を空のままにするとデフォルトのオンラインアセットを使い、セルフホスト/オフラインのOCRでは3つすべてを一緒に設定します。ワーカー、コアランタイム、traineddataディレクトリは対応している必要があるため、一部だけの上書きは拒否されます。完全オフラインで検索可能なPDFを出力するには、`VITE_OCR_FONT_BASE_URL` も設定して、OCRテキストレイヤー用フォントを公開のNotoフォントURLではなく社内サーバーから読み込むようにします。 -`VITE_DEFAULT_LANGUAGE` は、初めて訪れたユーザーのUI言語を設定します。サポートされる値:`en`、`ar`、`be`、`fr`、`de`、`es`、`zh`、`zh-TW`、`vi`、`tr`、`id`、`it`、`pt`、`nl`、`da`。ユーザーは引き続き言語を切り替えられ、これは既定値を変えるだけです。 +`VITE_DEFAULT_LANGUAGE` は、初めて訪れたユーザーのUI言語を設定します。サポートされる値:`en`、`ar`、`be`、`fr`、`de`、`es`、`zh`、`zh-TW`、`vi`、`tr`、`id`、`it`、`pt`、`nl`、`da`、`ko`、`sv`、`ru`、`pl`、`ja`、`uk`、`sk`、`ca`、`fa`。ユーザーは引き続き言語を切り替えられ、これは既定値を変えるだけです。 例: diff --git a/docs/ja/self-hosting/hostinger.md b/docs/ja/self-hosting/hostinger.md index d6ee5562..1240ecad 100644 --- a/docs/ja/self-hosting/hostinger.md +++ b/docs/ja/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Header always set Cross-Origin-Embedder-Policy "require-corp" ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/ko/self-hosting/apache.md b/docs/ko/self-hosting/apache.md index e1e81a6a..86fbe80f 100644 --- a/docs/ko/self-hosting/apache.md +++ b/docs/ko/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/ko/self-hosting/docker.md b/docs/ko/self-hosting/docker.md index e3639138..b0f1bd02 100644 --- a/docs/ko/self-hosting/docker.md +++ b/docs/ko/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP의 `script-src`에는 `'unsafe-eval'`이 포함되어 있습니다. LibreOff OCR의 경우 `VITE_TESSERACT_*` 변수를 비워 두면 기본 온라인 에셋을 사용하고, 직접 호스팅하거나 오프라인 OCR을 쓰려면 세 가지를 함께 설정하세요. 워커, 코어 런타임, traineddata 디렉터리가 서로 일치해야 하므로 일부만 덮어쓰는 것은 거부됩니다. 완전히 오프라인으로 검색 가능한 PDF를 만들려면 `VITE_OCR_FONT_BASE_URL`도 설정하여 OCR 텍스트 레이어 글꼴을 공개 Noto 글꼴 URL 대신 내부 서버에서 불러오도록 하세요. -`VITE_DEFAULT_LANGUAGE`는 처음 방문하는 사용자의 UI 언어를 설정합니다. 지원되는 값: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. 사용자는 언제든 언어를 바꿀 수 있으며, 이 값은 기본값만 바꿉니다. +`VITE_DEFAULT_LANGUAGE`는 처음 방문하는 사용자의 UI 언어를 설정합니다. 지원되는 값: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. 사용자는 언제든 언어를 바꿀 수 있으며, 이 값은 기본값만 바꿉니다. 예시: diff --git a/docs/ko/self-hosting/hostinger.md b/docs/ko/self-hosting/hostinger.md index 3ab1c70d..98b405a3 100644 --- a/docs/ko/self-hosting/hostinger.md +++ b/docs/ko/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Header always set Cross-Origin-Embedder-Policy "require-corp" ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/nl/self-hosting/apache.md b/docs/nl/self-hosting/apache.md index 541be7bb..8b974715 100644 --- a/docs/nl/self-hosting/apache.md +++ b/docs/nl/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/nl/self-hosting/docker.md b/docs/nl/self-hosting/docker.md index bb0c523c..9b8a1db7 100644 --- a/docs/nl/self-hosting/docker.md +++ b/docs/nl/self-hosting/docker.md @@ -149,7 +149,7 @@ De CSP bevat `'unsafe-eval'` in `script-src`, omdat de LibreOffice WASM-runtime Laat voor OCR de `VITE_TESSERACT_*`-variabelen leeg om de standaard online assets te gebruiken, of stel alle drie samen in voor zelfgehoste/offline OCR. Gedeeltelijke OCR-overschrijvingen worden geweigerd, omdat de worker, de core-runtime en de traineddata-map bij elkaar moeten passen. Stel voor volledig offline doorzoekbare PDF-uitvoer ook `VITE_OCR_FONT_BASE_URL` in, zodat de OCR-tekstlaaglettertypen van je interne server worden geladen in plaats van van de openbare Noto-lettertype-URL's. -`VITE_DEFAULT_LANGUAGE` stelt de interfacetaal in voor nieuwe bezoekers. Ondersteunde waarden: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Gebruikers kunnen nog steeds van taal wisselen: dit verandert alleen de standaardtaal. +`VITE_DEFAULT_LANGUAGE` stelt de interfacetaal in voor nieuwe bezoekers. Ondersteunde waarden: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Gebruikers kunnen nog steeds van taal wisselen: dit verandert alleen de standaardtaal. Voorbeeld: diff --git a/docs/nl/self-hosting/hostinger.md b/docs/nl/self-hosting/hostinger.md index 1835a1e2..293d4bd1 100644 --- a/docs/nl/self-hosting/hostinger.md +++ b/docs/nl/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Controleer of de regel voor de extensie `.html` en de taalroutes correct zijn ge ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/pl/self-hosting/apache.md b/docs/pl/self-hosting/apache.md index 06066744..5ead0308 100644 --- a/docs/pl/self-hosting/apache.md +++ b/docs/pl/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/pl/self-hosting/docker.md b/docs/pl/self-hosting/docker.md index 68fc33f6..5a3b3d47 100644 --- a/docs/pl/self-hosting/docker.md +++ b/docs/pl/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP zawiera `'unsafe-eval'` w `script-src`, ponieważ środowisko LibreOffice WA W przypadku OCR zostaw zmienne `VITE_TESSERACT_*` puste, aby używać domyślnych zasobów online, albo ustaw wszystkie trzy razem dla OCR hostowanego samodzielnie lub offline. Częściowe nadpisania OCR są odrzucane, ponieważ worker, środowisko uruchomieniowe i katalog traineddata muszą do siebie pasować. Aby uzyskać w pełni offline przeszukiwalny plik PDF, ustaw też `VITE_OCR_FONT_BASE_URL`, aby czcionki warstwy tekstowej OCR były ładowane z Twojego wewnętrznego serwera, a nie z publicznych adresów czcionek Noto. -`VITE_DEFAULT_LANGUAGE` ustawia język interfejsu dla nowych odwiedzających. Obsługiwane wartości: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Użytkownicy nadal mogą zmienić język: to zmienia tylko wartość domyślną. +`VITE_DEFAULT_LANGUAGE` ustawia język interfejsu dla nowych odwiedzających. Obsługiwane wartości: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Użytkownicy nadal mogą zmienić język: to zmienia tylko wartość domyślną. Przykład: diff --git a/docs/pl/self-hosting/hostinger.md b/docs/pl/self-hosting/hostinger.md index 42770427..bc982372 100644 --- a/docs/pl/self-hosting/hostinger.md +++ b/docs/pl/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Upewnij się, że reguła rozszerzenia `.html` i trasy językowe są poprawnie s ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/pt/self-hosting/apache.md b/docs/pt/self-hosting/apache.md index b8cbc256..c4c3d51f 100644 --- a/docs/pt/self-hosting/apache.md +++ b/docs/pt/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/pt/self-hosting/docker.md b/docs/pt/self-hosting/docker.md index 819313a7..bfd33d35 100644 --- a/docs/pt/self-hosting/docker.md +++ b/docs/pt/self-hosting/docker.md @@ -149,7 +149,7 @@ A CSP inclui `'unsafe-eval'` no `script-src` porque o runtime do LibreOffice WAS Para o OCR, deixe as variáveis `VITE_TESSERACT_*` vazias para usar os recursos online padrão, ou defina as três juntas para OCR hospedado por conta própria/offline. Substituições parciais do OCR são rejeitadas porque o worker, o runtime principal e o diretório traineddata precisam corresponder. Para uma saída de PDF pesquisável totalmente offline, defina também `VITE_OCR_FONT_BASE_URL`, de modo que as fontes da camada de texto do OCR sejam carregadas do seu servidor interno e não das URLs públicas de fontes Noto. -`VITE_DEFAULT_LANGUAGE` define o idioma da interface para quem visita pela primeira vez. Valores aceitos: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Os usuários ainda podem trocar de idioma; isso só muda o padrão. +`VITE_DEFAULT_LANGUAGE` define o idioma da interface para quem visita pela primeira vez. Valores aceitos: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Os usuários ainda podem trocar de idioma; isso só muda o padrão. Exemplo: diff --git a/docs/pt/self-hosting/hostinger.md b/docs/pt/self-hosting/hostinger.md index 29b74087..26147a68 100644 --- a/docs/pt/self-hosting/hostinger.md +++ b/docs/pt/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Verifique se a regra da extensão `.html` e as rotas de idioma estão configurad ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/ru/self-hosting/apache.md b/docs/ru/self-hosting/apache.md index 23213ea4..ca8f345c 100644 --- a/docs/ru/self-hosting/apache.md +++ b/docs/ru/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/ru/self-hosting/docker.md b/docs/ru/self-hosting/docker.md index 0617952d..a6ca8d2d 100644 --- a/docs/ru/self-hosting/docker.md +++ b/docs/ru/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP включает `'unsafe-eval'` в `script-src`, потому что сре Для OCR оставьте переменные `VITE_TESSERACT_*` пустыми, чтобы использовать онлайн-ресурсы по умолчанию, или задайте все три вместе для OCR на своём сервере или офлайн. Частичное переопределение отклоняется, потому что воркер, основной рантайм и каталог traineddata должны соответствовать друг другу. Для полностью офлайнового вывода PDF с возможностью поиска также задайте `VITE_OCR_FONT_BASE_URL`, чтобы шрифты текстового слоя OCR загружались с вашего внутреннего сервера, а не по публичным URL Noto. -`VITE_DEFAULT_LANGUAGE` задаёт язык интерфейса для новых посетителей. Поддерживаемые значения: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Пользователи по-прежнему могут переключать язык: меняется только значение по умолчанию. +`VITE_DEFAULT_LANGUAGE` задаёт язык интерфейса для новых посетителей. Поддерживаемые значения: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Пользователи по-прежнему могут переключать язык: меняется только значение по умолчанию. Пример: diff --git a/docs/ru/self-hosting/hostinger.md b/docs/ru/self-hosting/hostinger.md index ba9b67f2..4b500be4 100644 --- a/docs/ru/self-hosting/hostinger.md +++ b/docs/ru/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Header always set Cross-Origin-Embedder-Policy "require-corp" ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/self-hosting/apache.md b/docs/self-hosting/apache.md index 8b557ae3..d21e7146 100644 --- a/docs/self-hosting/apache.md +++ b/docs/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/self-hosting/docker.md b/docs/self-hosting/docker.md index 8490982d..d0839aeb 100644 --- a/docs/self-hosting/docker.md +++ b/docs/self-hosting/docker.md @@ -149,7 +149,7 @@ The CSP includes `'unsafe-eval'` in `script-src` because the LibreOffice WASM ru For OCR, leave the `VITE_TESSERACT_*` variables empty to use the default online assets, or set all three together for self-hosted/offline OCR. Partial OCR overrides are rejected because the worker, core runtime, and traineddata directory must match. For fully offline searchable PDF output, also set `VITE_OCR_FONT_BASE_URL` so the OCR text-layer fonts are loaded from your internal server instead of the public Noto font URLs. -`VITE_DEFAULT_LANGUAGE` sets the UI language for first-time visitors. Supported values: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Users can still switch languages — this only changes the default. +`VITE_DEFAULT_LANGUAGE` sets the UI language for first-time visitors. Supported values: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Users can still switch languages — this only changes the default. Example: diff --git a/docs/self-hosting/hostinger.md b/docs/self-hosting/hostinger.md index ae0ca99e..a03c97e5 100644 --- a/docs/self-hosting/hostinger.md +++ b/docs/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Make sure the `.html` extension rule and language routes are correctly configure ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/sk/self-hosting/apache.md b/docs/sk/self-hosting/apache.md index f2fe898d..3d40774f 100644 --- a/docs/sk/self-hosting/apache.md +++ b/docs/sk/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/sk/self-hosting/docker.md b/docs/sk/self-hosting/docker.md index 8f373348..3eda7af8 100644 --- a/docs/sk/self-hosting/docker.md +++ b/docs/sk/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP obsahuje `'unsafe-eval'` v `script-src`, pretože runtime LibreOffice WASM ( Pre OCR nechajte premenné `VITE_TESSERACT_*` prázdne, ak chcete použiť predvolené online zdroje, alebo nastavte všetky tri naraz pre vlastné či offline OCR. Čiastočné prepísanie OCR sa odmietne, pretože worker, základný runtime a priečinok traineddata musia zodpovedať. Pre úplne offline prehľadávateľné PDF nastavte aj `VITE_OCR_FONT_BASE_URL`, aby sa písma textovej vrstvy OCR načítali z vášho interného servera namiesto verejných URL písiem Noto. -`VITE_DEFAULT_LANGUAGE` nastavuje jazyk rozhrania pre nových návštevníkov. Podporované hodnoty: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Používatelia môžu jazyk stále prepnúť, mení sa len predvolená hodnota. +`VITE_DEFAULT_LANGUAGE` nastavuje jazyk rozhrania pre nových návštevníkov. Podporované hodnoty: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Používatelia môžu jazyk stále prepnúť, mení sa len predvolená hodnota. Príklad: diff --git a/docs/sk/self-hosting/hostinger.md b/docs/sk/self-hosting/hostinger.md index e2508e97..ba830052 100644 --- a/docs/sk/self-hosting/hostinger.md +++ b/docs/sk/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Uistite sa, že pravidlo pre príponu `.html` a jazykové trasy sú správne nas ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/sv/self-hosting/apache.md b/docs/sv/self-hosting/apache.md index abc2cd33..f542cd0f 100644 --- a/docs/sv/self-hosting/apache.md +++ b/docs/sv/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/sv/self-hosting/docker.md b/docs/sv/self-hosting/docker.md index 35c31ce1..54328992 100644 --- a/docs/sv/self-hosting/docker.md +++ b/docs/sv/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP innehåller `'unsafe-eval'` i `script-src` eftersom LibreOffice WASM-körmil För OCR, lämna variablerna `VITE_TESSERACT_*` tomma för att använda de förvalda onlineresurserna, eller ange alla tre tillsammans för självhostad/offline-OCR. Partiella OCR-åsidosättningar avvisas eftersom workern, kärnkörmiljön och traineddata-katalogen måste matcha varandra. För sökbara PDF-filer helt offline, ange även `VITE_OCR_FONT_BASE_URL` så att OCR-textlagrets typsnitt laddas från din interna server i stället för de publika Noto-typsnitts-URL:erna. -`VITE_DEFAULT_LANGUAGE` anger gränssnittsspråk för förstagångsbesökare. Värden som stöds: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Användare kan fortfarande byta språk, det är bara standardvärdet som ändras. +`VITE_DEFAULT_LANGUAGE` anger gränssnittsspråk för förstagångsbesökare. Värden som stöds: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Användare kan fortfarande byta språk, det är bara standardvärdet som ändras. Exempel: diff --git a/docs/sv/self-hosting/hostinger.md b/docs/sv/self-hosting/hostinger.md index 068117c7..47923567 100644 --- a/docs/sv/self-hosting/hostinger.md +++ b/docs/sv/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Kontrollera att regeln för filändelsen `.html` och språkrouterna är rätt ko ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/tr/self-hosting/apache.md b/docs/tr/self-hosting/apache.md index 70caf05d..d32fdafc 100644 --- a/docs/tr/self-hosting/apache.md +++ b/docs/tr/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/tr/self-hosting/docker.md b/docs/tr/self-hosting/docker.md index e3e3bf5d..13ee191e 100644 --- a/docs/tr/self-hosting/docker.md +++ b/docs/tr/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP, `script-src` içinde `'unsafe-eval'` içerir, çünkü LibreOffice WASM ça OCR için, varsayılan çevrimiçi varlıkları kullanmak üzere `VITE_TESSERACT_*` değişkenlerini boş bırakın veya kendi sunucunuzdaki/çevrimdışı OCR için üçünü birlikte ayarlayın. Kısmi OCR geçersiz kılmaları reddedilir, çünkü worker, çekirdek çalışma zamanı ve traineddata dizini birbiriyle eşleşmelidir. Tamamen çevrimdışı aranabilir PDF çıktısı için ayrıca `VITE_OCR_FONT_BASE_URL` değerini ayarlayın, böylece OCR metin katmanı yazı tipleri herkese açık Noto yazı tipi URL'leri yerine dahili sunucunuzdan yüklenir. -`VITE_DEFAULT_LANGUAGE`, ilk kez gelen ziyaretçiler için arayüz dilini belirler. Desteklenen değerler: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Kullanıcılar dili yine değiştirebilir, bu yalnızca varsayılanı değiştirir. +`VITE_DEFAULT_LANGUAGE`, ilk kez gelen ziyaretçiler için arayüz dilini belirler. Desteklenen değerler: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Kullanıcılar dili yine değiştirebilir, bu yalnızca varsayılanı değiştirir. Örnek: diff --git a/docs/tr/self-hosting/hostinger.md b/docs/tr/self-hosting/hostinger.md index a271a45f..dc19c9e6 100644 --- a/docs/tr/self-hosting/hostinger.md +++ b/docs/tr/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Başlıklar uygulanmıyorsa, `mod_headers` modülünü etkinleştirmek için Hos ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/uk/self-hosting/apache.md b/docs/uk/self-hosting/apache.md index ff0c9727..add7a26f 100644 --- a/docs/uk/self-hosting/apache.md +++ b/docs/uk/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/uk/self-hosting/docker.md b/docs/uk/self-hosting/docker.md index c7946a21..ddd40861 100644 --- a/docs/uk/self-hosting/docker.md +++ b/docs/uk/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP містить `'unsafe-eval'` у `script-src`, тому що runtime LibreO Для OCR залиште змінні `VITE_TESSERACT_*` порожніми, щоб використовувати типові онлайн-ресурси, або задайте всі три разом для самостійного/офлайн OCR. Часткові перевизначення OCR відхиляються, бо worker, основний runtime і каталог traineddata мають збігатися. Для повністю офлайн-виводу пошукового PDF також задайте `VITE_OCR_FONT_BASE_URL`, щоб шрифти текстового шару OCR завантажувалися з вашого внутрішнього сервера, а не з публічних URL шрифтів Noto. -`VITE_DEFAULT_LANGUAGE` задає мову інтерфейсу для нових відвідувачів. Підтримувані значення: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Користувачі й далі можуть змінювати мову: це змінює лише типове значення. +`VITE_DEFAULT_LANGUAGE` задає мову інтерфейсу для нових відвідувачів. Підтримувані значення: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Користувачі й далі можуть змінювати мову: це змінює лише типове значення. Приклад: diff --git a/docs/uk/self-hosting/hostinger.md b/docs/uk/self-hosting/hostinger.md index 8c4252b2..e2a31af2 100644 --- a/docs/uk/self-hosting/hostinger.md +++ b/docs/uk/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Header always set Cross-Origin-Embedder-Policy "require-corp" ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/vi/self-hosting/apache.md b/docs/vi/self-hosting/apache.md index 3aad3eca..119dbbc8 100644 --- a/docs/vi/self-hosting/apache.md +++ b/docs/vi/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/vi/self-hosting/docker.md b/docs/vi/self-hosting/docker.md index 45236f9b..a806bcfb 100644 --- a/docs/vi/self-hosting/docker.md +++ b/docs/vi/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP có `'unsafe-eval'` trong `script-src` vì runtime LibreOffice WASM (dùng c Với OCR, hãy để trống các biến `VITE_TESSERACT_*` để dùng tài nguyên trực tuyến mặc định, hoặc đặt cả ba cùng lúc cho OCR tự lưu trữ/ngoại tuyến. Ghi đè OCR một phần sẽ bị từ chối vì worker, runtime lõi và thư mục traineddata phải khớp nhau. Để có đầu ra PDF có thể tìm kiếm hoàn toàn ngoại tuyến, hãy đặt thêm `VITE_OCR_FONT_BASE_URL` để phông chữ lớp văn bản OCR được tải từ máy chủ nội bộ của bạn thay vì URL phông Noto công khai. -`VITE_DEFAULT_LANGUAGE` đặt ngôn ngữ giao diện cho khách truy cập lần đầu. Giá trị được hỗ trợ: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`. Người dùng vẫn có thể đổi ngôn ngữ, giá trị này chỉ đổi mặc định. +`VITE_DEFAULT_LANGUAGE` đặt ngôn ngữ giao diện cho khách truy cập lần đầu. Giá trị được hỗ trợ: `en`, `ar`, `be`, `fr`, `de`, `es`, `zh`, `zh-TW`, `vi`, `tr`, `id`, `it`, `pt`, `nl`, `da`, `ko`, `sv`, `ru`, `pl`, `ja`, `uk`, `sk`, `ca`, `fa`. Người dùng vẫn có thể đổi ngôn ngữ, giá trị này chỉ đổi mặc định. Ví dụ: diff --git a/docs/vi/self-hosting/hostinger.md b/docs/vi/self-hosting/hostinger.md index 21abddd9..19dde46a 100644 --- a/docs/vi/self-hosting/hostinger.md +++ b/docs/vi/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Nếu các header không được áp dụng, hãy liên hệ bộ phận hỗ t ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/zh-TW/self-hosting/apache.md b/docs/zh-TW/self-hosting/apache.md index eca90711..c31ceb35 100644 --- a/docs/zh-TW/self-hosting/apache.md +++ b/docs/zh-TW/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/zh-TW/self-hosting/docker.md b/docs/zh-TW/self-hosting/docker.md index 0dd9f468..a99d17b5 100644 --- a/docs/zh-TW/self-hosting/docker.md +++ b/docs/zh-TW/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP 在 `script-src` 中包含 `'unsafe-eval'`,因為 LibreOffice WASM 執行 OCR 方面,將 `VITE_TESSERACT_*` 變數留空即使用預設的線上資源,或三個一起設定以使用自行架設/離線 OCR。部分覆寫 OCR 設定會被拒絕,因為 worker、核心執行環境與 traineddata 目錄必須相符。若要完全離線產生可搜尋的 PDF,也請設定 `VITE_OCR_FONT_BASE_URL`,讓 OCR 文字層字型從您的內部伺服器載入,而不是公開的 Noto 字型 URL。 -`VITE_DEFAULT_LANGUAGE` 設定首次造訪者的介面語言。支援的值:`en`、`ar`、`be`、`fr`、`de`、`es`、`zh`、`zh-TW`、`vi`、`tr`、`id`、`it`、`pt`、`nl`、`da`。使用者仍可切換語言,此設定只會變更預設值。 +`VITE_DEFAULT_LANGUAGE` 設定首次造訪者的介面語言。支援的值:`en`、`ar`、`be`、`fr`、`de`、`es`、`zh`、`zh-TW`、`vi`、`tr`、`id`、`it`、`pt`、`nl`、`da`、`ko`、`sv`、`ru`、`pl`、`ja`、`uk`、`sk`、`ca`、`fa`。使用者仍可切換語言,此設定只會變更預設值。 範例: diff --git a/docs/zh-TW/self-hosting/hostinger.md b/docs/zh-TW/self-hosting/hostinger.md index 71450adc..68f72fee 100644 --- a/docs/zh-TW/self-hosting/hostinger.md +++ b/docs/zh-TW/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Header always set Cross-Origin-Embedder-Policy "require-corp" ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/docs/zh/self-hosting/apache.md b/docs/zh/self-hosting/apache.md index 94cefd06..62273180 100644 --- a/docs/zh/self-hosting/apache.md +++ b/docs/zh/self-hosting/apache.md @@ -113,7 +113,7 @@ RewriteRule ^ - [L] # ============================================ # LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root @@ -122,11 +122,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # ADD .HTML EXTENSION (ROOT LEVEL) @@ -183,10 +183,10 @@ RewriteRule ^en/?$ /pdf/ [R=301,L] RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf/$1/index.html [L] RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f diff --git a/docs/zh/self-hosting/docker.md b/docs/zh/self-hosting/docker.md index 91909ecd..45ea82c3 100644 --- a/docs/zh/self-hosting/docker.md +++ b/docs/zh/self-hosting/docker.md @@ -149,7 +149,7 @@ CSP 的 `script-src` 中包含 `'unsafe-eval'`,因为 LibreOffice WASM 运行 对于 OCR,将 `VITE_TESSERACT_*` 变量留空即可使用默认的在线资源,或者三个一起设置以用于自托管/离线 OCR。部分覆盖会被拒绝,因为 worker、核心运行时和 traineddata 目录必须相互匹配。要完全离线输出可搜索 PDF,还需设置 `VITE_OCR_FONT_BASE_URL`,让 OCR 文本层字体从您的内部服务器加载,而不是公共的 Noto 字体 URL。 -`VITE_DEFAULT_LANGUAGE` 设置首次访问者的界面语言。支持的值:`en`、`ar`、`be`、`fr`、`de`、`es`、`zh`、`zh-TW`、`vi`、`tr`、`id`、`it`、`pt`、`nl`、`da`。用户仍可切换语言,这只会更改默认值。 +`VITE_DEFAULT_LANGUAGE` 设置首次访问者的界面语言。支持的值:`en`、`ar`、`be`、`fr`、`de`、`es`、`zh`、`zh-TW`、`vi`、`tr`、`id`、`it`、`pt`、`nl`、`da`、`ko`、`sv`、`ru`、`pl`、`ja`、`uk`、`sk`、`ca`、`fa`。用户仍可切换语言,这只会更改默认值。 示例: diff --git a/docs/zh/self-hosting/hostinger.md b/docs/zh/self-hosting/hostinger.md index 0b700879..8cb9c4ce 100644 --- a/docs/zh/self-hosting/hostinger.md +++ b/docs/zh/self-hosting/hostinger.md @@ -151,7 +151,7 @@ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Remove trailing slash (except for language root directories) RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$ +RewriteCond %{REQUEST_URI} !^/(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/$ RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [R=301,L] @@ -163,7 +163,7 @@ RewriteRule ^ - [L] # ============================================ # 5.1. LANGUAGE ROUTES # ============================================ -# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt +# Supported languages: ar, be, da, de, es, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW, ca, fa # English has no prefix - served from root # English prefix redirects to root (for SEO consistency) @@ -172,11 +172,11 @@ RewriteRule ^en/(.+)$ /$1 [R=301,L] # Language prefix root (e.g., /de/ -> /de/index.html) RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /$1/index.html [L] # Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html) RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # ============================================ # 5.5. DOCS ROUTING (VitePress) @@ -211,11 +211,11 @@ RewriteBase /pdf-tools/ # Language prefix root RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/?$ /pdf-tools/$1/index.html [L] # Language prefix with path RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /pdf-tools/$1/$2.html [L] # Root level .html extension RewriteCond %{REQUEST_FILENAME} !-f @@ -254,7 +254,7 @@ Header always set Cross-Origin-Embedder-Policy "require-corp" ```apache # Language routes serve actual files from language directories RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f -RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L] +RewriteRule ^(ar|be|da|de|es|fr|id|it|ja|ko|nl|pl|pt|ru|sk|sv|tr|uk|vi|zh|zh-TW|ca|fa)/([^/]+)/?$ /$1/$2.html [L] # Root level pages RewriteCond %{REQUEST_FILENAME}.html -f diff --git a/scripts/prepare-airgap.sh b/scripts/prepare-airgap.sh index 7ec2f5de..e683b4a9 100755 --- a/scripts/prepare-airgap.sh +++ b/scripts/prepare-airgap.sh @@ -358,11 +358,11 @@ interactive_mode() { # [4] Default language (optional) echo -e "${BOLD}[4/8] Default UI Language ${GREEN}(optional)${NC}" - echo " Supported: en, ar, be, da, de, es, fr, id, it, nl, pt, tr, vi, zh, zh-TW" + echo " Supported: en, ar, be, ca, da, de, es, fa, fr, id, it, ja, ko, nl, pl, pt, ru, sk, sv, tr, uk, vi, zh, zh-TW" while true; do read -r -p " Language [en]: " input LANGUAGE="${input:-}" - if [ -z "$LANGUAGE" ] || echo " en ar be da de es fr id it nl pt tr vi zh zh-TW " | grep -q " $LANGUAGE "; then + if [ -z "$LANGUAGE" ] || echo " en ar be ca da de es fa fr id it ja ko nl pl pt ru sk sv tr uk vi zh zh-TW " | grep -q " $LANGUAGE "; then break fi warn "Invalid language code '${LANGUAGE}'. Try again." @@ -500,7 +500,7 @@ fi # Validate language code if provided if [ -n "$LANGUAGE" ]; then - VALID_LANGS="en ar be da de es fr id it nl pt tr vi zh zh-TW" + VALID_LANGS="en ar be ca da de es fa fr id it ja ko nl pl pt ru sk sv tr uk vi zh zh-TW" if ! echo " $VALID_LANGS " | grep -q " $LANGUAGE "; then error "Invalid language code: ${LANGUAGE}" error "Supported: ${VALID_LANGS}"