diff --git a/REDESIGN_PLAN.md b/REDESIGN_PLAN.md index c7e92f80d..67cf56c1f 100644 --- a/REDESIGN_PLAN.md +++ b/REDESIGN_PLAN.md @@ -1521,9 +1521,9 @@ The known 0.25.0 defects are accepted until upstream fixes them: - **Conversion.** The host tree becomes Forme elements. On the way, styles are normalised, `Link` becomes `href`, and `Svg` becomes markup. Nodes tagged `data-resume-node` are registered in `globalThis.__formeSourceMap`, so Forme's layout info yields the page map for click-to-edit, Check and Fit. - **Rendering.** `@formepdf/core` renders in Node; the browser uses `@formepdf/core/worker` with explicit WASM init. One `renderResume()` returns the PDF bytes, the page map and warnings. - **Fonts.** The bytes are fetched once and cached. WOFF is inflated to sfnt, and the GSUB `liga`, `clig` and `dlig` features are renamed so the shaper skips them (the #156 workaround). Fallback families become a Forme fallback chain. -- **Rich text.** `react-pdf-html` is replaced by a renderer from normalized HTML to Forme text runs and native lists, which also replaces the react-pdf layout patches for list markers and whitespace. +- **Rich text.** `react-pdf-html` is replaced by a small `Html` renderer in `packages/pdf/src/text.tsx` with the same contract (per-tag renderers, tag and class stylesheet, inline runs grouped into one text). - **Icons.** Phosphor icons are generated as SVG markup from `@phosphor-icons/react`, replacing `phosphor-icons-react-pdf`. -- **Semantic CSS.** The adapter maps resolved styles to Forme style objects. Properties Forme can't draw become diagnostics in the stylesheet editor, for example `object-fit`, `text-indent`, `vertical-align` and `-resume-min-presence-ahead`. +- **Semantic CSS.** The language is unchanged, so saved stylesheets keep working. Resolved styles flow through the same conversion as template styles. Declarations Forme can't draw raise an `ENGINE_UNSUPPORTED` warning in the stylesheet editor: `z-index`, `max-lines`, `text-indent`, `vertical-align`, `object-position`, `text-decoration-color`/`-style`, `-resume-min-presence-ahead` and dashed or dotted borders. `object-fit` is drawn by the converter. - **Free-form pages.** They render in two passes: measure the content height, then render at that height. - **Removed:** `@react-pdf/renderer`, `@react-pdf/hyphenate`, `react-pdf-html`, `phosphor-icons-react-pdf`, and the four react-pdf patches. Hyphenation uses Forme's `hyphens` and `lang`. diff --git a/apps/server/package.json b/apps/server/package.json index 30a63e240..8d7e71e6e 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -14,9 +14,6 @@ "test:ci": "vitest run --coverage --reporter=default --reporter=github-actions --reporter=json --reporter=junit --outputFile.json=reports/vitest-results.json --outputFile.junit=reports/vitest-junit.xml --passWithNoTests", "test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests" }, - "imports": { - "#react-pdf-renderer": "@react-pdf/renderer" - }, "dependencies": { "@ai-sdk/anthropic": "^4.0.65", "@ai-sdk/cerebras": "^3.0.57", @@ -38,6 +35,8 @@ "@better-auth/oauth-provider": "^1.7.6", "@better-auth/passkey": "^1.7.6", "@bramus/specificity": "^2.4.2", + "@formepdf/core": "0.25.0", + "@formepdf/react": "0.25.0", "@hono/node-server": "^2.1.1", "@modelcontextprotocol/sdk": "^1.30.1", "@orpc/client": "^1.15.4", @@ -46,8 +45,6 @@ "@orpc/openapi": "^1.15.4", "@orpc/server": "^1.15.4", "@orpc/zod": "^1.15.4", - "@react-pdf/hyphenate": "0.1.0", - "@react-pdf/renderer": "^4.9.0", "@reactive-resume/api": "workspace:*", "@reactive-resume/auth": "workspace:*", "@reactive-resume/db": "workspace:*", @@ -71,6 +68,7 @@ "es-toolkit": "^1.52.0", "fast-json-patch": "^3.1.1", "fast-png": "^8.0.0", + "fflate": "^0.8.3", "hono": "^4.13.9", "ioredis": "^6.0.0", "jose": "^6.2.12", @@ -79,10 +77,9 @@ "nodemailer": "^10.0.11", "ollama-ai-provider-v2": "^4.0.1", "pg": "^8.23.0", - "phosphor-icons-react-pdf": "^0.1.3", "react": "^19.3.0", "react-email": "^6.11.0", - "react-pdf-html": "^2.1.5", + "react-reconciler": "0.34.0", "resumable-stream": "^2.2.13", "sanitize-html": "^2.17.7", "sharp": "^0.35.5", diff --git a/apps/server/src/static/web.ts b/apps/server/src/static/web.ts index a1f0ddcd0..82a5035cd 100644 --- a/apps/server/src/static/web.ts +++ b/apps/server/src/static/web.ts @@ -63,8 +63,9 @@ const BASE_SECURITY_HEADERS = { "X-Frame-Options": "DENY", "X-Content-Type-Options": "nosniff", "Referrer-Policy": "strict-origin-when-cross-origin", + // `wasm-unsafe-eval` lets the PDF engine (Forme, WebAssembly) start in the browser. "Content-Security-Policy-Report-Only": - "default-src 'self'; img-src 'self' data: blob:; font-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; object-src 'none'", + "default-src 'self'; img-src 'self' data: blob:; font-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'wasm-unsafe-eval'; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; object-src 'none'", }; const ROOT_TITLE = "Reactive Resume — A free and open-source resume builder"; diff --git a/apps/server/tsdown.config.ts b/apps/server/tsdown.config.ts index bf7d7c8b2..fa403a1a5 100644 --- a/apps/server/tsdown.config.ts +++ b/apps/server/tsdown.config.ts @@ -37,7 +37,9 @@ const shouldExternalizeThirdParty = (id: string) => { .slice(0, id.startsWith("@") ? 2 : 1) .join("/"); if (id.startsWith("@reactive-resume/") || bundledInteropPackages.has(packageName)) return false; - if (id.startsWith("@/") || id.startsWith(".") || id.startsWith("/") || id.startsWith("\0")) return false; + // Subpath imports (`#…`) are resolved by the workspace package that declares them, so they're bundled with it. + if (id.startsWith("@/") || id.startsWith("#") || id.startsWith(".") || id.startsWith("/") || id.startsWith("\0")) + return false; return true; }; diff --git a/apps/web/locales/af-ZA.po b/apps/web/locales/af-ZA.po index 7d6c89f7f..958ebd6db 100644 --- a/apps/web/locales/af-ZA.po +++ b/apps/web/locales/af-ZA.po @@ -1509,6 +1509,10 @@ msgstr "Randwydte" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Verdeel die CV in die gewone afdelings sodat dit gesegmenteer kan word." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Huidige filters" msgid "Current Password" msgstr "Huidige wagwoord" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Tans beskikbaar vir Duitse CV's. Gebruik die taal wat op die bladsy ingestel is." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Pasgemaak" diff --git a/apps/web/locales/am-ET.po b/apps/web/locales/am-ET.po index 416c448b8..a960fcdf7 100644 --- a/apps/web/locales/am-ET.po +++ b/apps/web/locales/am-ET.po @@ -1509,6 +1509,10 @@ msgstr "የክልል ወፍራምነት" msgid "Break the resume into the usual sections so it can be segmented." msgstr "ለመከፋፈል እንዲያመች የስራ ልምድ ማስረጃውን ወደ መደበኛ ክፍሎች ይከፋፍሉት።" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "የአሁኑ ማጣሪያዎች" msgid "Current Password" msgstr "አሁን ያለዎት የይለፍ ቃል" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "በአሁኑ ጊዜ ለጀርመን ከቆመበት ቀጥል ይገኛል። በገጽ የተዘጋጀውን ቋንቋ ይጠቀማል።" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "ብጁ" diff --git a/apps/web/locales/ar-SA.po b/apps/web/locales/ar-SA.po index 3aa153a26..d6f206a09 100644 --- a/apps/web/locales/ar-SA.po +++ b/apps/web/locales/ar-SA.po @@ -1509,6 +1509,10 @@ msgstr "عرض الإطار" msgid "Break the resume into the usual sections so it can be segmented." msgstr "قسّم السيرة الذاتية إلى الأقسام المعتادة لتسهيل تجزئتها." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "المرشحات الحالية" msgid "Current Password" msgstr "كلمة المرور الحالية" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "متوفر حاليًا للسير الذاتية باللغة الألمانية. يستخدم اللغة المحددة في «الصفحة»." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "مخصص" diff --git a/apps/web/locales/az-AZ.po b/apps/web/locales/az-AZ.po index 77dadde37..02e86886b 100644 --- a/apps/web/locales/az-AZ.po +++ b/apps/web/locales/az-AZ.po @@ -1509,6 +1509,10 @@ msgstr "Sərhəd Qalınlığı" msgid "Break the resume into the usual sections so it can be segmented." msgstr "CV-ni adi bölmələrə ayırın ki, seqmentləşdirilə bilsin." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Cari filtrlər" msgid "Current Password" msgstr "Cari Parol" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Hazırda alman dilindəki CV-lər üçün mövcuddur. Səhifədə təyin olunmuş dili istifadə edir." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Fərdiləşdirilmiş" diff --git a/apps/web/locales/bg-BG.po b/apps/web/locales/bg-BG.po index e7923b456..d7aac893e 100644 --- a/apps/web/locales/bg-BG.po +++ b/apps/web/locales/bg-BG.po @@ -1509,6 +1509,10 @@ msgstr "Дебелина на рамката" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Разделете автобиографията на обичайните раздели, за да може да бъде сегментирана." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Актуални филтри" msgid "Current Password" msgstr "Текуща парола" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Понастоящем е достъпна за автобиографии на немски език. Използва езика, зададен в „Страница“." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Потребителски" diff --git a/apps/web/locales/bn-BD.po b/apps/web/locales/bn-BD.po index dc34f5762..0ecb1b0ab 100644 --- a/apps/web/locales/bn-BD.po +++ b/apps/web/locales/bn-BD.po @@ -1509,6 +1509,10 @@ msgstr "বর্ডার প্রস্থ" msgid "Break the resume into the usual sections so it can be segmented." msgstr "জীবনবৃত্তান্তটিকে প্রচলিত সেকশনে ভাগ করুন, যাতে এটি বিভক্ত করা যায়।" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "বর্তমান ফিল্টার" msgid "Current Password" msgstr "বর্তমান পাসওয়ার্ড" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "বর্তমানে জার্মান পুনর্বাসনের জন্য উপলব্ধ। পৃষ্ঠায় নির্ধারিত ভাষা ব্যবহার করে।" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "কাস্টম" diff --git a/apps/web/locales/ca-ES.po b/apps/web/locales/ca-ES.po index bf03bb19c..f8c4d5d7d 100644 --- a/apps/web/locales/ca-ES.po +++ b/apps/web/locales/ca-ES.po @@ -1509,6 +1509,10 @@ msgstr "Gruix de la vora" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Divideix el currículum en les seccions habituals perquè es pugui segmentar." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Filtres actuals" msgid "Current Password" msgstr "Contrasenya actual" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Actualment disponible per a currículums en alemany. Utilitza l'idioma establert a la pàgina." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Personalitzat" diff --git a/apps/web/locales/cs-CZ.po b/apps/web/locales/cs-CZ.po index c11cf2921..d80a0ebf1 100644 --- a/apps/web/locales/cs-CZ.po +++ b/apps/web/locales/cs-CZ.po @@ -1509,6 +1509,10 @@ msgstr "Šířka ohraničení" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Rozdělte životopis do obvyklých sekcí, aby jej bylo možné segmentovat." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Aktuální filtry" msgid "Current Password" msgstr "Aktuální heslo" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "V současné době je k dispozici pro německé životopisy. Používá jazyk nastavený v okně „Stránka“." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Vlastní" diff --git a/apps/web/locales/da-DK.po b/apps/web/locales/da-DK.po index 895682bd1..468480dcc 100644 --- a/apps/web/locales/da-DK.po +++ b/apps/web/locales/da-DK.po @@ -1509,6 +1509,10 @@ msgstr "Kantbredde" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Del CV'et op i de sædvanlige afsnit, så det kan segmenteres." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Aktuelle filtre" msgid "Current Password" msgstr "Nuværende adgangskode" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Er i øjeblikket tilgængelig for tyske CV’er. Bruger det sprog, der er angivet under »Side«." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Brugerdefineret" diff --git a/apps/web/locales/de-DE.po b/apps/web/locales/de-DE.po index 8d997983c..4a41cb21f 100644 --- a/apps/web/locales/de-DE.po +++ b/apps/web/locales/de-DE.po @@ -1509,6 +1509,10 @@ msgstr "Rahmenbreite" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Gliedern Sie den Lebenslauf in die üblichen Abschnitte, damit er segmentiert werden kann." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Aktuelle Filter" msgid "Current Password" msgstr "Aktuelles Passwort" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Derzeit für deutsche Lebensläufe verfügbar. Verwendet die unter „Seite“ festgelegte Sprache." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Benutzerdefiniert" diff --git a/apps/web/locales/el-GR.po b/apps/web/locales/el-GR.po index 8803383ef..a8555758f 100644 --- a/apps/web/locales/el-GR.po +++ b/apps/web/locales/el-GR.po @@ -1509,6 +1509,10 @@ msgstr "Πλάτος περιγράμματος" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Χωρίστε το βιογραφικό στις συνήθεις ενότητες ώστε να μπορεί να τμηματοποιηθεί." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Τρέχοντα φίλτρα" msgid "Current Password" msgstr "Τρέχων κωδικός πρόσβασης" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Διατίθεται προς το παρόν για γερμανικά βιογραφικά. Χρησιμοποιεί τη γλώσσα που έχει οριστεί στη σελίδα." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Προσαρμοσμένο" diff --git a/apps/web/locales/en-GB.po b/apps/web/locales/en-GB.po index addcdced4..6edd4dda9 100644 --- a/apps/web/locales/en-GB.po +++ b/apps/web/locales/en-GB.po @@ -1509,6 +1509,10 @@ msgstr "Border Width" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Break the resume into the usual sections so it can be segmented." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Current filters" msgid "Current Password" msgstr "Current Password" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Currently available for German resumes. Uses the language set in Page." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Custom" diff --git a/apps/web/locales/en-US.po b/apps/web/locales/en-US.po index 1c081b9d4..f2352e18e 100644 --- a/apps/web/locales/en-US.po +++ b/apps/web/locales/en-US.po @@ -1504,6 +1504,10 @@ msgstr "Border Width" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Break the resume into the usual sections so it can be segmented." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "Breaks long words between syllables, using the language set in Page." + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2439,10 +2443,6 @@ msgstr "Current filters" msgid "Current Password" msgstr "Current Password" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Currently available for German resumes. Uses the language set in Page." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Custom" diff --git a/apps/web/locales/es-ES.po b/apps/web/locales/es-ES.po index 1a05361f0..5b17069d4 100644 --- a/apps/web/locales/es-ES.po +++ b/apps/web/locales/es-ES.po @@ -1509,6 +1509,10 @@ msgstr "Ancho del borde" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Divida el currículum en las secciones habituales para que pueda segmentarse." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Filtros actuales" msgid "Current Password" msgstr "Contraseña actual" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Actualmente disponible para currículos en alemán. Utiliza el idioma configurado en «Página»." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "A medida" diff --git a/apps/web/locales/fa-IR.po b/apps/web/locales/fa-IR.po index cdcfced03..3b3bafe02 100644 --- a/apps/web/locales/fa-IR.po +++ b/apps/web/locales/fa-IR.po @@ -1509,6 +1509,10 @@ msgstr "عرض حاشیه" msgid "Break the resume into the usual sections so it can be segmented." msgstr "رزومه را به بخش‌های معمول تقسیم کنید تا قابل بخش‌بندی باشد." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "فیلترهای فعلی" msgid "Current Password" msgstr "گذرواژهٔ فعلی" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "در حال حاضر برای رزومه‌های آلمانی در دسترس است. از زبان تعیین‌شده در صفحه استفاده می‌کند." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "سفارشی" diff --git a/apps/web/locales/fi-FI.po b/apps/web/locales/fi-FI.po index c77966490..54a0a842d 100644 --- a/apps/web/locales/fi-FI.po +++ b/apps/web/locales/fi-FI.po @@ -1509,6 +1509,10 @@ msgstr "Reunan leveys" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Jaa ansioluettelo tavanomaisiin osioihin, jotta se voidaan segmentoida." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Nykyiset suodattimet" msgid "Current Password" msgstr "Nykyinen salasana" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Saatavilla tällä hetkellä saksankielisille ansioluetteloille. Käyttää Sivut-kohdassa määritettyä kieltä." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Custom" diff --git a/apps/web/locales/fr-FR.po b/apps/web/locales/fr-FR.po index 89e44b5b9..8171cc7f4 100644 --- a/apps/web/locales/fr-FR.po +++ b/apps/web/locales/fr-FR.po @@ -1509,6 +1509,10 @@ msgstr "Largeur de la bordure" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Divisez le CV selon les sections habituelles pour qu'il puisse être segmenté." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Filtres actuels" msgid "Current Password" msgstr "Mot de passe actuel" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Actuellement disponible pour les CV en allemand. Utilise la langue définie dans la page." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Sur mesure" diff --git a/apps/web/locales/he-IL.po b/apps/web/locales/he-IL.po index 5a9b85c1f..27a54212e 100644 --- a/apps/web/locales/he-IL.po +++ b/apps/web/locales/he-IL.po @@ -1509,6 +1509,10 @@ msgstr "רוחב מסגרת" msgid "Break the resume into the usual sections so it can be segmented." msgstr "פרק את קורות החיים למקטעים המקובלים כדי שניתן יהיה לפלח אותם." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "מסננים נוכחיים" msgid "Current Password" msgstr "סיסמה נוכחית" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "זמין כרגע עבור קורות חיים בגרמנית. משתמש בשפה שהוגדרה ב\"דף\"." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "מותאם אישית" diff --git a/apps/web/locales/hi-IN.po b/apps/web/locales/hi-IN.po index 0f6dadedc..1b09c91a3 100644 --- a/apps/web/locales/hi-IN.po +++ b/apps/web/locales/hi-IN.po @@ -1509,6 +1509,10 @@ msgstr "बॉर्डर चौड़ाई" msgid "Break the resume into the usual sections so it can be segmented." msgstr "बायोडाटा को सामान्य सेक्शन में बांटें ताकि इसे विभाजित किया जा सके।" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "वर्तमान फ़िल्टर" msgid "Current Password" msgstr "वर्तमान पासवर्ड" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "वर्तमान में जर्मन रिज्यूमे के लिए उपलब्ध है। यह पेज में सेट की गई भाषा का उपयोग करता है।" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "अनुकूलित" diff --git a/apps/web/locales/hu-HU.po b/apps/web/locales/hu-HU.po index d26d1d535..6dbf0af09 100644 --- a/apps/web/locales/hu-HU.po +++ b/apps/web/locales/hu-HU.po @@ -1509,6 +1509,10 @@ msgstr "Szegély vastagsága" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Bontsd az önéletrajzot a megszokott szakaszokra, hogy szegmentálható legyen." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Aktuális szűrők" msgid "Current Password" msgstr "Jelenlegi jelszó" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Jelenleg német nyelvű önéletrajzokhoz érhető el. A „Page” menüpontban beállított nyelvet használja." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Custom" diff --git a/apps/web/locales/id-ID.po b/apps/web/locales/id-ID.po index 39c425b19..c33ae17a2 100644 --- a/apps/web/locales/id-ID.po +++ b/apps/web/locales/id-ID.po @@ -1509,6 +1509,10 @@ msgstr "Lebar Tepi" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Pecah resume menjadi bagian-bagian umum agar dapat disegmentasi." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Filter saat ini" msgid "Current Password" msgstr "Kata Sandi Saat Ini" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Saat ini tersedia untuk CV dalam bahasa Jerman. Menggunakan bahasa yang ditetapkan di halaman." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Kustom" diff --git a/apps/web/locales/it-IT.po b/apps/web/locales/it-IT.po index f42c89e8c..591f26b83 100644 --- a/apps/web/locales/it-IT.po +++ b/apps/web/locales/it-IT.po @@ -1509,6 +1509,10 @@ msgstr "Larghezza del bordo" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Suddividi il curriculum nelle sezioni consuete così può essere segmentato." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Filtri attuali" msgid "Current Password" msgstr "Password attuale" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Attualmente disponibile per i curriculum in lingua tedesca. Utilizza la lingua impostata nella pagina." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Personalizzato" diff --git a/apps/web/locales/ja-JP.po b/apps/web/locales/ja-JP.po index 2eef64c6d..ff6ffdbc4 100644 --- a/apps/web/locales/ja-JP.po +++ b/apps/web/locales/ja-JP.po @@ -1509,6 +1509,10 @@ msgstr "枠線の幅" msgid "Break the resume into the usual sections so it can be segmented." msgstr "履歴書を一般的なセクションに分けて、区分けできるようにしてください。" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "現在のフィルター" msgid "Current Password" msgstr "現在のパスワード" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "現在、ドイツ語の履歴書に対応しています。「ページ」で設定された言語を使用します。" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "カスタム" diff --git a/apps/web/locales/km-KH.po b/apps/web/locales/km-KH.po index 9a1ec3933..1705e9358 100644 --- a/apps/web/locales/km-KH.po +++ b/apps/web/locales/km-KH.po @@ -1509,6 +1509,10 @@ msgstr "ទទឹង​គែម" msgid "Break the resume into the usual sections so it can be segmented." msgstr "បំបែកប្រវត្តិរូបសង្ខេបជាផ្នែកធម្មតា ដើម្បីឱ្យវាអាចត្រូវបានបែងចែក។" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "តម្រងបច្ចុប្បន្ន" msgid "Current Password" msgstr "ពាក្យសម្ងាត់​បច្ចុប្បន្ន" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "បច្ចុប្បន្នមានសម្រាប់ប្រវត្តិរូបសង្ខេបរបស់អាល្លឺម៉ង់។ ប្រើភាសាដែលបានកំណត់ក្នុងទំព័រ។" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "ផ្ទាល់ខ្លួន" diff --git a/apps/web/locales/kn-IN.po b/apps/web/locales/kn-IN.po index 87592760b..03b87519b 100644 --- a/apps/web/locales/kn-IN.po +++ b/apps/web/locales/kn-IN.po @@ -1509,6 +1509,10 @@ msgstr "ಗಡಿಯ ಅಗಲ" msgid "Break the resume into the usual sections so it can be segmented." msgstr "ಇದನ್ನು ವಿಭಾಗಿಸಬಹುದಾಗುವಂತೆ ರೆಸ್ಯೂಮೆಯನ್ನು ಸಾಮಾನ್ಯ ವಿಭಾಗಗಳಾಗಿ ಒಡೆಯಿರಿ." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "ಪ್ರಸ್ತುತ ಫಿಲ್ಟರ್‌ಗಳು" msgid "Current Password" msgstr "ಪ್ರಸ್ತುತ ಪಾಸ್‌ವರ್ಡ್" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "ಪ್ರಸ್ತುತ ಜರ್ಮನ್ ರೆಸ್ಯೂಮ್‌ಗಳಿಗೆ ಲಭ್ಯವಿದೆ. ಪುಟದಲ್ಲಿ ಹೊಂದಿಸಲಾದ ಭಾಷೆಯನ್ನು ಬಳಸುತ್ತದೆ." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "ಕಸ್ಟಮ್" diff --git a/apps/web/locales/ko-KR.po b/apps/web/locales/ko-KR.po index aab51cc6e..232ae218c 100644 --- a/apps/web/locales/ko-KR.po +++ b/apps/web/locales/ko-KR.po @@ -1509,6 +1509,10 @@ msgstr "테두리 두께" msgid "Break the resume into the usual sections so it can be segmented." msgstr "이력서를 일반적인 섹션으로 나누어 구분할 수 있게 하세요." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "현재 필터" msgid "Current Password" msgstr "현재 비밀번호" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "현재 독일어 이력서에 대해 제공됩니다. ‘페이지’에서 설정된 언어를 사용합니다." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "사용자 지정" diff --git a/apps/web/locales/lt-LT.po b/apps/web/locales/lt-LT.po index 91954c1f3..7167a26f0 100644 --- a/apps/web/locales/lt-LT.po +++ b/apps/web/locales/lt-LT.po @@ -1509,6 +1509,10 @@ msgstr "Rėmelio plotis" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Padalykite gyvenimo aprašymą į įprastus skyrius, kad jį būtų galima segmentuoti." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Dabartiniai filtrai" msgid "Current Password" msgstr "Dabartinis slaptažodis" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Šiuo metu ši funkcija prieinama vokiškiems CV. Naudojama „Page“ nustatytą kalba." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Pasirinktinis" diff --git a/apps/web/locales/lv-LV.po b/apps/web/locales/lv-LV.po index 53fc14a42..c47bf4111 100644 --- a/apps/web/locales/lv-LV.po +++ b/apps/web/locales/lv-LV.po @@ -1509,6 +1509,10 @@ msgstr "Apmales platums" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Sadaliet CV ierastajās sadaļās, lai to varētu segmentēt." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Pašreizējie filtri" msgid "Current Password" msgstr "Pašreizējā parole" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Pašlaik pieejams vācu valodas CV. Izmanto „Lapā” iestatīto valodu." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Pielāgots" diff --git a/apps/web/locales/ml-IN.po b/apps/web/locales/ml-IN.po index ede1f7eb3..96381894f 100644 --- a/apps/web/locales/ml-IN.po +++ b/apps/web/locales/ml-IN.po @@ -1509,6 +1509,10 @@ msgstr "ബോർഡർ വീതി" msgid "Break the resume into the usual sections so it can be segmented." msgstr "വിഭജിക്കാൻ കഴിയുംവിധം റിസ്യൂമിനെ പതിവ് വിഭാഗങ്ങളായി തിരിക്കുക." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "നിലവിലെ ഫിൽട്ടറുകൾ" msgid "Current Password" msgstr "നിലവിലെ പാസ്‌വേഡ്" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "നിലവിൽ ജർമ്മൻ റെസ്യൂമുകൾക്കായി ലഭ്യമാണ്. പേജിൽ സജ്ജീകരിച്ച ഭാഷയാണ് ഇത് ഉപയോഗിക്കുന്നത്." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "ഇഷ്ടാനുസൃതം" diff --git a/apps/web/locales/mr-IN.po b/apps/web/locales/mr-IN.po index a5fc9a0b1..5ada9c78f 100644 --- a/apps/web/locales/mr-IN.po +++ b/apps/web/locales/mr-IN.po @@ -1509,6 +1509,10 @@ msgstr "सीमेची जाडी" msgid "Break the resume into the usual sections so it can be segmented." msgstr "रेझ्युमेचे विभाजन करता यावे म्हणून तो नेहमीच्या विभागांमध्ये विभागा." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "वर्तमान फिल्टर" msgid "Current Password" msgstr "वर्तमान पासवर्ड" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "सध्या जर्मन रिझ्युमेसाठी उपलब्ध आहे. पृष्ठात सेट केलेली भाषा वापरते." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "सानुकूल" diff --git a/apps/web/locales/ms-MY.po b/apps/web/locales/ms-MY.po index 2bd35d46f..bc6c747b8 100644 --- a/apps/web/locales/ms-MY.po +++ b/apps/web/locales/ms-MY.po @@ -1509,6 +1509,10 @@ msgstr "Lebar Sempadan" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Pecahkan resume kepada bahagian biasa supaya ia boleh disegmenkan." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Penapis semasa" msgid "Current Password" msgstr "Kata Laluan Semasa" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Pada masa ini tersedia untuk resume Jerman. Menggunakan set bahasa yang ditetapkan pada halaman." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Kustom" diff --git a/apps/web/locales/ne-NP.po b/apps/web/locales/ne-NP.po index 613b81dc5..738b177d0 100644 --- a/apps/web/locales/ne-NP.po +++ b/apps/web/locales/ne-NP.po @@ -1509,6 +1509,10 @@ msgstr "बोर्डर (किनारा) चौडाइ" msgid "Break the resume into the usual sections so it can be segmented." msgstr "बायोडाटालाई सामान्य खण्डहरूमा विभाजन गर्नुहोस् ताकि यसलाई छुट्याउन सकियोस्।" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "हालको फिल्टरहरू" msgid "Current Password" msgstr "हालको पासवर्ड" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "हाल जर्मन रिजुमेहरूका लागि उपलब्ध छ। पृष्ठमा सेट गरिएको भाषा प्रयोग गर्दछ।" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "अनुकूलित" diff --git a/apps/web/locales/nl-NL.po b/apps/web/locales/nl-NL.po index 7cf6d505a..86b04bc89 100644 --- a/apps/web/locales/nl-NL.po +++ b/apps/web/locales/nl-NL.po @@ -1509,6 +1509,10 @@ msgstr "Lijndikte" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Verdeel het cv in de gebruikelijke secties, zodat het kan worden gesegmenteerd." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Huidige filters" msgid "Current Password" msgstr "Huidige wachtwoord" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Momenteel beschikbaar voor Duitse cv’s. Maakt gebruik van de taal die is ingesteld onder ‘Pagina’." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Aangepaste" diff --git a/apps/web/locales/no-NO.po b/apps/web/locales/no-NO.po index d8932d370..36cdd33d0 100644 --- a/apps/web/locales/no-NO.po +++ b/apps/web/locales/no-NO.po @@ -1509,6 +1509,10 @@ msgstr "Kantbredde" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Del CV-en inn i de vanlige seksjonene, slik at den kan segmenteres." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Gjeldende filtre" msgid "Current Password" msgstr "Nåværende passord" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Foreløpig tilgjengelig for tyske CV-er. Bruker språket som er angitt under «Side»." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Egendefinert" diff --git a/apps/web/locales/or-IN.po b/apps/web/locales/or-IN.po index 56cb5f4d0..de9dbd1ec 100644 --- a/apps/web/locales/or-IN.po +++ b/apps/web/locales/or-IN.po @@ -1509,6 +1509,10 @@ msgstr "ବର୍ଡର୍ ପ୍ରସ୍ଥ" msgid "Break the resume into the usual sections so it can be segmented." msgstr "ରେଜ୍ୟୁମେକୁ ସାଧାରଣ ବିଭାଗଗୁଡ଼ିକରେ ଭାଙ୍ଗନ୍ତୁ ଯାହା ଦ୍ୱାରା ଏହାକୁ ଖଣ୍ଡ କରାଯାଇପାରିବ।" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "ସାମ୍ପ୍ରତିକ ଫିଲ୍ଟର୍ |" msgid "Current Password" msgstr "ବର୍ତ୍ତମାନର ପାସୱାର୍ଡ" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "ଜର୍ମାନ୍ ରେଜ୍ୟୁମ୍ ପାଇଁ ବର୍ତ୍ତମାନ ଉପଲବ୍ଧ | ପୃଷ୍ଠାରେ ସେଟ୍ ହୋଇଥିବା ଭାଷା ବ୍ୟବହାର କରେ |" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "କଷ୍ଟମ୍" diff --git a/apps/web/locales/pl-PL.po b/apps/web/locales/pl-PL.po index 4489e1328..ed4aae414 100644 --- a/apps/web/locales/pl-PL.po +++ b/apps/web/locales/pl-PL.po @@ -1509,6 +1509,10 @@ msgstr "Szerokość obramowania" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Podziel CV na typowe sekcje, aby można je było posegmentować." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Aktualne filtry" msgid "Current Password" msgstr "Obecne hasło" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Obecnie funkcja ta jest dostępna dla CV w języku niemieckim. Wykorzystuje ustawienia językowe określone w oknie „Strona”." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Niestandardowe" diff --git a/apps/web/locales/pt-BR.po b/apps/web/locales/pt-BR.po index a6c94444a..37d5fa311 100644 --- a/apps/web/locales/pt-BR.po +++ b/apps/web/locales/pt-BR.po @@ -1509,6 +1509,10 @@ msgstr "Largura da borda" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Divida o currículo nas seções habituais para que possa ser segmentado." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Filtros atuais" msgid "Current Password" msgstr "Senha atual" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Atualmente disponível para currículos em alemão. Utiliza o idioma definido na página." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Personalizado" diff --git a/apps/web/locales/pt-PT.po b/apps/web/locales/pt-PT.po index f6e99e204..0a900ef6a 100644 --- a/apps/web/locales/pt-PT.po +++ b/apps/web/locales/pt-PT.po @@ -1509,6 +1509,10 @@ msgstr "Largura da borda" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Divida o currículo nas secções habituais para que possa ser segmentado." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Filtros atuais" msgid "Current Password" msgstr "Senha atual" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Atualmente disponível para currículos em alemão. Utiliza o idioma definido na página." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Personalizado" diff --git a/apps/web/locales/ro-RO.po b/apps/web/locales/ro-RO.po index b78d2b199..45ddcba79 100644 --- a/apps/web/locales/ro-RO.po +++ b/apps/web/locales/ro-RO.po @@ -1509,6 +1509,10 @@ msgstr "Lățime bordură" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Împărțiți CV-ul în secțiunile obișnuite pentru a putea fi segmentat." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Filtre curente" msgid "Current Password" msgstr "Parolă curentă" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Disponibil în prezent pentru CV-urile în limba germană. Utilizează limba setată în pagina „Page”." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Personalizat" diff --git a/apps/web/locales/ru-RU.po b/apps/web/locales/ru-RU.po index 6ab0c442e..63038e3e0 100644 --- a/apps/web/locales/ru-RU.po +++ b/apps/web/locales/ru-RU.po @@ -1509,6 +1509,10 @@ msgstr "Ширина рамки" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Разбейте резюме на привычные разделы, чтобы его можно было сегментировать." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Текущие фильтры" msgid "Current Password" msgstr "Текущий пароль" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "В настоящее время доступно для резюме на немецком языке. Используется язык, заданный в настройках страницы." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Пользовательский" diff --git a/apps/web/locales/sk-SK.po b/apps/web/locales/sk-SK.po index 89f048b6c..5727910aa 100644 --- a/apps/web/locales/sk-SK.po +++ b/apps/web/locales/sk-SK.po @@ -1509,6 +1509,10 @@ msgstr "Šírka okraja" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Rozdeľte životopis na obvyklé sekcie, aby sa dal segmentovať." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Aktuálne filtre" msgid "Current Password" msgstr "Aktuálne heslo" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "V súčasnosti je táto funkcia k dispozícii pre nemecké životopisy. Používa jazyk nastavený v okne „Stránka“." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Vlastné" diff --git a/apps/web/locales/sl-SI.po b/apps/web/locales/sl-SI.po index 2cfc79a57..59f9c796e 100644 --- a/apps/web/locales/sl-SI.po +++ b/apps/web/locales/sl-SI.po @@ -1509,6 +1509,10 @@ msgstr "Širina obrobe" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Razdelite življenjepis na običajne razdelke, da ga je mogoče segmentirati." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Trenutni filtri" msgid "Current Password" msgstr "Trenutno geslo" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Trenutno na voljo za nemške življenjepise. Uporablja jezik, nastavljen v meniju »Stran«." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Po meri" diff --git a/apps/web/locales/sq-AL.po b/apps/web/locales/sq-AL.po index ace3680af..62253667e 100644 --- a/apps/web/locales/sq-AL.po +++ b/apps/web/locales/sq-AL.po @@ -1509,6 +1509,10 @@ msgstr "Gjerësia e kornizës" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Ndajeni CV-në në seksionet e zakonshme që të mund të segmentohet." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Filtrat aktualë" msgid "Current Password" msgstr "Fjalëkalimi aktual" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Aktualisht i disponueshëm për rezumet gjermane. Përdor gjuhën e vendosur në faqe." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Sipas porosisë" diff --git a/apps/web/locales/sr-SP.po b/apps/web/locales/sr-SP.po index 89fbcf385..7704c9d4f 100644 --- a/apps/web/locales/sr-SP.po +++ b/apps/web/locales/sr-SP.po @@ -1509,6 +1509,10 @@ msgstr "Ширина оквира" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Поделите биографију на уобичајене одељке како би могла да се сегментира." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Тренутни филтери" msgid "Current Password" msgstr "Тренутна лозинка" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Тренутно је доступан за немачке биографије. Користи језик подешен на страници." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "По мери" diff --git a/apps/web/locales/sv-SE.po b/apps/web/locales/sv-SE.po index a2e3e8337..f8e19d0bc 100644 --- a/apps/web/locales/sv-SE.po +++ b/apps/web/locales/sv-SE.po @@ -1509,6 +1509,10 @@ msgstr "Kantbredd" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Dela upp CV:t i de vanliga avsnitten så att det kan segmenteras." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Aktuella filter" msgid "Current Password" msgstr "Nuvarande lösenord" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Finns för närvarande för tyska CV:n. Använder det språk som är inställt under ”Sida”." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Anpassad" diff --git a/apps/web/locales/ta-IN.po b/apps/web/locales/ta-IN.po index 35201b86b..2f3a8d64e 100644 --- a/apps/web/locales/ta-IN.po +++ b/apps/web/locales/ta-IN.po @@ -1509,6 +1509,10 @@ msgstr "எல்லையின் அகலம்" msgid "Break the resume into the usual sections so it can be segmented." msgstr "பிரிக்கக்கூடிய வகையில் ரெஸ்யூமை வழக்கமான பிரிவுகளாகப் பிரிக்கவும்." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "தற்போதைய வடிப்பான்கள்" msgid "Current Password" msgstr "தற்போதைய கடவுச்சொல்" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "தற்போது ஜெர்மன் ரெஸ்யூம்களுக்குக் கிடைக்கிறது. பக்கத்தில் அமைக்கப்பட்ட மொழியைப் பயன்படுத்துகிறது." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "தனிப்பயன்" diff --git a/apps/web/locales/te-IN.po b/apps/web/locales/te-IN.po index 675e939e0..4bfcea1ad 100644 --- a/apps/web/locales/te-IN.po +++ b/apps/web/locales/te-IN.po @@ -1509,6 +1509,10 @@ msgstr "సరిహద్దు వెడల్పు" msgid "Break the resume into the usual sections so it can be segmented." msgstr "విభజించగలిగేలా రెజ్యూమ్‌ను మామూలు విభాగాలుగా విడగొట్టండి." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "ప్రస్తుత ఫిల్టర్లు" msgid "Current Password" msgstr "ప్రస్తుత పాస్‌వర్డ్" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "ప్రస్తుతం జర్మన్ రెస్యూమ్‌ల కోసం అందుబాటులో ఉంది. పేజీలో సెట్ చేసిన భాషను ఉపయోగిస్తుంది." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "స్వంతం" diff --git a/apps/web/locales/th-TH.po b/apps/web/locales/th-TH.po index f8227acb3..3561de319 100644 --- a/apps/web/locales/th-TH.po +++ b/apps/web/locales/th-TH.po @@ -1509,6 +1509,10 @@ msgstr "ความกว้างของกรอบ" msgid "Break the resume into the usual sections so it can be segmented." msgstr "แบ่งเรซูเม่ออกเป็นส่วนตามปกติเพื่อให้แบ่งส่วนได้" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "ตัวกรองปัจจุบัน" msgid "Current Password" msgstr "รหัสผ่านเดิม" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "ปัจจุบันรองรับเรซูเม่ภาษาเยอรมัน ใช้ภาษาที่ตั้งค่าไว้ในหน้า" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "กำหนดเอง" diff --git a/apps/web/locales/tr-TR.po b/apps/web/locales/tr-TR.po index d21427690..cd52f1c82 100644 --- a/apps/web/locales/tr-TR.po +++ b/apps/web/locales/tr-TR.po @@ -1509,6 +1509,10 @@ msgstr "Kenar Kalınlığı" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Bölümlere ayrılabilmesi için özgeçmişi alışılmış bölümlere ayırın." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Mevcut filtreler" msgid "Current Password" msgstr "Geçerli Parola" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Şu anda Almanca özgeçmişler için kullanılabilir. Sayfa ayarlarında belirlenen dili kullanır." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Özel" diff --git a/apps/web/locales/uk-UA.po b/apps/web/locales/uk-UA.po index c614538d0..0a75ab4f6 100644 --- a/apps/web/locales/uk-UA.po +++ b/apps/web/locales/uk-UA.po @@ -1509,6 +1509,10 @@ msgstr "Товщина рамки" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Розбийте резюме на звичні розділи, щоб його можна було сегментувати." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Поточні фільтри" msgid "Current Password" msgstr "Поточний пароль" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Наразі доступно для німецьких резюме. Використовує мову, встановлену в розділі «Сторінка»." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Нестандартний" diff --git a/apps/web/locales/uz-UZ.po b/apps/web/locales/uz-UZ.po index b59395794..8af024662 100644 --- a/apps/web/locales/uz-UZ.po +++ b/apps/web/locales/uz-UZ.po @@ -1509,6 +1509,10 @@ msgstr "Chegara kengligi" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Rezyumeni segmentlash mumkin boʻlishi uchun odatiy boʻlimlarga ajrating." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Joriy filtrlar" msgid "Current Password" msgstr "Joriy parol" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Hozirda nemis tilidagi rezyumelar uchun mavjud. Sahifada belgilangan tilni ishlatadi." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Moslashtirilgan" diff --git a/apps/web/locales/vi-VN.po b/apps/web/locales/vi-VN.po index 436736de9..51aa5875b 100644 --- a/apps/web/locales/vi-VN.po +++ b/apps/web/locales/vi-VN.po @@ -1509,6 +1509,10 @@ msgstr "Độ rộng bo viền" msgid "Break the resume into the usual sections so it can be segmented." msgstr "Chia sơ yếu lý lịch thành các phần thông thường để có thể phân đoạn được." +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "Bộ lọc hiện tại" msgid "Current Password" msgstr "Mật khẩu hiện tại" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "Hiện đang hỗ trợ sơ yếu lý lịch bằng tiếng Đức. Sử dụng ngôn ngữ được thiết lập trong phần “Trang”." - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "Tùy chỉnh" diff --git a/apps/web/locales/zh-CN.po b/apps/web/locales/zh-CN.po index fb98fba6a..6a9f5d88d 100644 --- a/apps/web/locales/zh-CN.po +++ b/apps/web/locales/zh-CN.po @@ -1509,6 +1509,10 @@ msgstr "边框宽度" msgid "Break the resume into the usual sections so it can be segmented." msgstr "把简历拆分成常见的几个部分,方便系统进行分段。" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "当前筛选条件" msgid "Current Password" msgstr "当前密码" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "目前支持德语简历。使用“页面”中设置的语言。" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "定制" diff --git a/apps/web/locales/zh-TW.po b/apps/web/locales/zh-TW.po index a983e35d0..ac94cc60c 100644 --- a/apps/web/locales/zh-TW.po +++ b/apps/web/locales/zh-TW.po @@ -1509,6 +1509,10 @@ msgstr "邊框寬度" msgid "Break the resume into the usual sections so it can be segmented." msgstr "把履歷拆分成常見的幾個部分,方便系統進行分段。" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2444,10 +2448,6 @@ msgstr "目前的篩選條件" msgid "Current Password" msgstr "目前密碼" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "目前支援德語履歷。使用「頁面」中設定的語言。" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "自訂" diff --git a/apps/web/locales/zu-ZA.po b/apps/web/locales/zu-ZA.po index be20b550e..330496ffa 100644 --- a/apps/web/locales/zu-ZA.po +++ b/apps/web/locales/zu-ZA.po @@ -1504,6 +1504,10 @@ msgstr "" msgid "Break the resume into the usual sections so it can be segmented." msgstr "" +#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +msgid "Breaks long words between syllables, using the language set in Page." +msgstr "" + #. Screen-reader dialog title for the command palette in the resume builder #: src/features/command-palette/index.tsx msgid "Builder Command Palette" @@ -2439,10 +2443,6 @@ msgstr "" msgid "Current Password" msgstr "" -#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx -msgid "Currently available for German resumes. Uses the language set in Page." -msgstr "" - #: src/components/input/color-picker.tsx msgid "Custom" msgstr "" diff --git a/apps/web/package.json b/apps/web/package.json index d7e0f946c..61bbb0d14 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -40,7 +40,6 @@ "@orpc/server": "^1.15.4", "@orpc/tanstack-query": "^1.15.4", "@phosphor-icons/react": "^2.1.10", - "@react-pdf/renderer": "^4.9.0", "@reactive-resume/ai": "workspace:*", "@reactive-resume/api": "workspace:*", "@reactive-resume/auth": "workspace:*", diff --git a/apps/web/public/third-party-notices.txt b/apps/web/public/third-party-notices.txt index 2fc6c5c66..c2c828d32 100644 --- a/apps/web/public/third-party-notices.txt +++ b/apps/web/public/third-party-notices.txt @@ -1,17 +1,17 @@ -Third-party notices for German PDF hyphenation -============================================= +Third-party notices for PDF rendering +===================================== -Reactive Resume includes the following third-party components for German -PDF hyphenation. Their copyright and license notices follow. +Reactive Resume renders PDFs with the Forme engine, which runs in the browser +as WebAssembly. Its copyright and license notice follows. -@react-pdf/hyphenate 0.1.0 -------------------------- -Source: https://github.com/diegomura/react-pdf/tree/master/packages/hyphenate -License source: https://github.com/diegomura/react-pdf/blob/master/LICENSE +@formepdf/core 0.25.0 +--------------------- +Source: https://github.com/formepdf/forme +License: MIT MIT License -Copyright (c) 2017-present Diego Muracciole +Copyright (c) 2026 Daniel Molitor Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -31,59 +31,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -German hyphenation patterns (de-1996), version 2018-03-31 ------------------------------------------------------- -Reformed German orthography (2006). -Authors: Deutschsprachige Trennmustermannschaft -Distributed by hyphen 1.6.6 and used by @react-pdf/hyphenate. -Source: https://github.com/ytiurin/hyphen/blob/d008cbe2b4da162e7ec71dbb624d527aa3028eca/patterns/de-1996.js -Pattern source: http://repo.or.cz/w/wortliste.git?a=commit;h=8b9a428c271e064f0047a364c532308f0fd4051f - -Copyright (C) 2013-2018 -Stephan Hennig, Werner Lemberg, Günter Milde, -Sander van Geloven, Georg Pfeiffer, Gisbert W. Selke, -Tobias Wendorf - -MIT License - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the “Software”), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -hyphen 1.6.6 ------------- -Source: https://github.com/ytiurin/hyphen/tree/d008cbe2b4da162e7ec71dbb624d527aa3028eca - -ISC License (ISC) - -Copyright (c) 2021, Yevhen Tiurin - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Forme hyphenates text with the hypher crate and the TeX hyphenation patterns +it bundles. Their notices are published with that project: +https://github.com/typst/hypher diff --git a/apps/web/src/features/resume/export/pdf-document.tsx b/apps/web/src/features/resume/export/pdf-document.ts similarity index 59% rename from apps/web/src/features/resume/export/pdf-document.tsx rename to apps/web/src/features/resume/export/pdf-document.ts index 89cc0d14d..d4016df7c 100644 --- a/apps/web/src/features/resume/export/pdf-document.tsx +++ b/apps/web/src/features/resume/export/pdf-document.ts @@ -1,10 +1,8 @@ import type { PageMap } from "@reactive-resume/pdf/page-map"; import type { ResumeData } from "@reactive-resume/schema/resume/data"; import type { Template } from "@reactive-resume/schema/templates"; -import { useMemo } from "react"; import { createResumePdfBlob as createPdfBlob } from "@reactive-resume/pdf/browser"; -import { ResumeDocument } from "@reactive-resume/pdf/document"; -import { createSectionTitleResolverForLocale, useSectionTitleResolver } from "@/libs/resume/section-title-locale"; +import { createSectionTitleResolverForLocale } from "@/libs/resume/section-title-locale"; type ResumePdfRenderOptions = { includeCoverLetterHeader?: boolean; @@ -15,22 +13,6 @@ type CreateResumePdfBlobExtras = { onPageMap?: (pageMap: PageMap) => void; }; -export const useLocalizedResumeDocument = (data?: ResumeData, template?: Template) => { - const sectionTitleResolver = useSectionTitleResolver(data?.metadata.page.locale); - - return useMemo(() => { - if (!data || !sectionTitleResolver) return null; - - return ( - - ); - }, [data, template, sectionTitleResolver]); -}; - export const createResumePdfBlob = async ( data: ResumeData, template?: Template, diff --git a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/typography.test.tsx b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/typography.test.tsx index 8f684d93b..c584c2251 100644 --- a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/typography.test.tsx +++ b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/typography.test.tsx @@ -59,9 +59,7 @@ describe("Typography hyphenation", () => { const toggle = screen.getByRole("switch", { name: "Hyphenation" }); expect(toggle).not.toBeChecked(); - expect(toggle).toHaveAccessibleDescription( - "Currently available for German resumes. Uses the language set in Page.", - ); + expect(toggle).toHaveAccessibleDescription("Breaks long words between syllables, using the language set in Page."); expect(state.update).not.toHaveBeenCalled(); }); diff --git a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx index 84380e386..8f4bd13e5 100644 --- a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx +++ b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx @@ -99,7 +99,7 @@ function TypographySectionForm() { - Currently available for German resumes. Uses the language set in Page. + Breaks long words between syllables, using the language set in Page. )} diff --git a/apps/web/src/routes/templates/$.tsx b/apps/web/src/routes/templates/$.tsx index ba17a1fb5..e5f3c0e1a 100644 --- a/apps/web/src/routes/templates/$.tsx +++ b/apps/web/src/routes/templates/$.tsx @@ -1,15 +1,10 @@ import { createFileRoute } from "@tanstack/react-router"; -import { lazy, Suspense } from "react"; +import { useEffect, useState } from "react"; import { sampleResumeData } from "@reactive-resume/schema/resume/sample"; import { templateSchema } from "@reactive-resume/schema/templates"; -import { useLocalizedResumeDocument } from "@/features/resume/export/pdf-document"; +import { createResumePdfBlob } from "@/features/resume/export/pdf-document"; import { createNoindexFollowMeta } from "@/libs/seo"; -const PDFViewer = lazy(async () => { - const { PDFViewer } = await import("@react-pdf/renderer"); - return { default: PDFViewer }; -}); - export const Route = createFileRoute("/templates/$")({ component: TemplatePdfRoute, errorComponent: () =>
Template not found
, @@ -20,18 +15,30 @@ export const Route = createFileRoute("/templates/$")({ function TemplatePdfRoute() { const params = Route.useParams(); + const template = templateSchema.parse(params._splat?.split(".")[0] ?? "azurill"); + const [url, setUrl] = useState(); - const templateName = params._splat?.split(".")[0] ?? "azurill"; - const template = templateSchema.parse(templateName); - const resumeDocument = useLocalizedResumeDocument(sampleResumeData, template); + useEffect(() => { + let objectUrl: string | undefined; + let cancelled = false; + void createResumePdfBlob(sampleResumeData, template).then((blob) => { + if (cancelled) return; + objectUrl = URL.createObjectURL(blob); + setUrl(objectUrl); + }); + return () => { + cancelled = true; + if (objectUrl) URL.revokeObjectURL(objectUrl); + }; + }, [template]); - if (!resumeDocument) return null; + if (!url) return null; return ( - - - {resumeDocument} - - +