Compare commits

..
17 Commits
Author SHA1 Message Date
Amruth Pillai dcf1b28c22 chore: release v5.1.9 2026-06-18 18:57:09 +02:00
Amruth Pillai f14d8ce693 feat: add Atlas Cloud sponsorship placements 2026-06-18 18:53:01 +02:00
robertoandAmruth Pillai 2317a82106 fix: register language-specific Noto fallback fonts for non-Latin scripts (#3158)
* fix: use language-specific Noto fonts for CJK PDF fallback

* feat: extend fallback to Arabic/Hebrew/Thai

---------

Co-authored-by: Amruth Pillai <im.amruth@gmail.com>
2026-06-17 13:37:09 +02:00
Cantale08andsantino cantale a523e13bfd Problem in word wrapping in the templates (#3136)
Co-authored-by: santino cantale <sopor@ARBA-TSM-WS020.tsm.local>
2026-06-17 13:28:19 +02:00
albanofazzitoandAlbano 1be75240dd fix: use non-empty placeholder for redacted resume name (#3138)
* fix: use non-empty placeholder for redacted resume name

* fix: update stale test title to match new placeholder behavior

---------

Co-authored-by: Albano <alumno26.fazzito.albano@ipm.edu.ar>
2026-06-17 13:27:39 +02:00
sdeonvacation 7275da7303 fix(ai): handle markdown-fenced JSON in analyzeResume response (#3142)
Some providers (notably Anthropic via proxies) wrap JSON output in
markdown code fences (```json ... ```), causing Output.object to
throw NoObjectGeneratedError / JSONParseError.

Replace Output.object with manual JSON boundary extraction that works
regardless of fencing. Also propagate the original AISDKError as cause
in throwAiProviderGatewayError for better diagnostics.
2026-06-17 13:27:06 +02:00
Lihan YANG bc498449d3 Fix MCP PDF download test mock (#3144) 2026-06-17 13:26:42 +02:00
Andrea Accardo 3937f7ed2b feat: add flag to disable api rate limit (#3149)
Signed-off-by: aaccardo <hackardo@gmail.com>
2026-06-17 13:26:27 +02:00
github-actions[bot]andCrowdin Bot d6de3f830f Sync Translations from Crowdin (#3162)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-17 13:18:31 +02:00
Amruth Pillai ef5ff30b13 chore: update linter configuration and add rimraf dependency 2026-06-17 10:51:10 +02:00
Amruth Pillai 37faf592b7 chore: update dependencies 2026-06-17 10:40:23 +02:00
github-actions[bot]andCrowdin Bot 76bd1e80f7 [skip ci] chore(i18n): sync translations from crowdin (#3148)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-06 09:33:09 +02:00
Amruth Pillai 042d076efa chore: update dependencies 2026-06-05 23:35:23 +02:00
github-actions[bot]andCrowdin Bot b9e4ab78ef Sync Translations from Crowdin (#3135)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-01 15:32:53 +02:00
Amruth Pillai 90a9bb9cf1 feat: add "Hide Link Underline" translation for multiple languages 2026-06-01 15:31:39 +02:00
Amruth Pillai 5fb4976ec9 feat: add hide link underline option to resume settings, resolves #3134 2026-06-01 15:30:49 +02:00
github-actions[bot]andCrowdin Bot d6a9bc6c4b Sync Translations from Crowdin (#3132)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-01 15:09:18 +02:00
138 changed files with 8128 additions and 3250 deletions
+7
View File
@@ -93,6 +93,13 @@ FLAG_DISABLE_EMAIL_AUTH="false"
# This is useful if you are using a machine with limited resources, like a Raspberry Pi.
FLAG_DISABLE_IMAGE_PROCESSING="false"
# This flag disables API rate limiting for authentication endpoints.
# Rate limiting is enabled by default in production to prevent abuse.
FLAG_DISABLE_API_RATE_LIMIT="false"
# This flag shows sponsor placements on the public landing page.
FLAG_SHOW_SPONSORS="false"
# Allows dynamic OAuth client registration to use any parseable redirect URI,
# including custom schemes, private hosts, and non-loopback http:// URLs.
# WARNING: Enabling this on a public or multi-tenant deployment can enable phishing
+14
View File
@@ -31,6 +31,20 @@ Reactive Resume makes building resumes straightforward. Pick a template, fill in
Built with privacy as a core principle, Reactive Resume gives you complete ownership of your data. The codebase is fully open-source under the MIT license, with no tracking, no ads, and no hidden costs.
## Sponsors
Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Thank you to every sponsor who helps fund hosting, maintenance, and continued development for the community.
<p>
<a href="https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=reactive-resume">
<img src="apps/web/public/sponsors/atlas-cloud-logo-white.svg" alt="Atlas Cloud" width="320" />
</a>
</p>
[Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=reactive-resume) supports Reactive Resume as a project sponsor. Atlas Cloud provides a unified AI platform for developers, with access to hundreds of models for chat, image generation, video generation, media processing, and GPU cloud workloads through one API key, one endpoint, and one billing account.
If your company would like to sponsor Reactive Resume, email [hello@amruthpillai.com](mailto:hello@amruthpillai.com).
## Features
**Resume Building**
+32 -32
View File
@@ -17,24 +17,24 @@
"#react-pdf-renderer": "@react-pdf/renderer"
},
"dependencies": {
"@ai-sdk/anthropic": "^3.0.81",
"@ai-sdk/google": "^3.0.80",
"@ai-sdk/openai": "^3.0.67",
"@ai-sdk/openai-compatible": "^2.0.48",
"@aws-sdk/client-s3": "^3.1057.0",
"@better-auth/api-key": "^1.6.13",
"@better-auth/drizzle-adapter": "^1.6.13",
"@better-auth/infra": "^0.2.11",
"@better-auth/oauth-provider": "^1.6.13",
"@better-auth/passkey": "^1.6.13",
"@hono/node-server": "^2.0.4",
"@ai-sdk/anthropic": "^3.0.85",
"@ai-sdk/google": "^3.0.83",
"@ai-sdk/openai": "^3.0.72",
"@ai-sdk/openai-compatible": "^2.0.51",
"@aws-sdk/client-s3": "^3.1070.0",
"@better-auth/api-key": "^1.6.19",
"@better-auth/drizzle-adapter": "^1.6.19",
"@better-auth/infra": "^0.2.14",
"@better-auth/oauth-provider": "^1.6.19",
"@better-auth/passkey": "^1.6.19",
"@hono/node-server": "^2.0.5",
"@modelcontextprotocol/sdk": "^1.29.0",
"@orpc/client": "^1.14.4",
"@orpc/experimental-ratelimit": "^1.14.4",
"@orpc/json-schema": "^1.14.4",
"@orpc/openapi": "^1.14.4",
"@orpc/server": "^1.14.4",
"@orpc/zod": "^1.14.4",
"@orpc/client": "^1.14.6",
"@orpc/experimental-ratelimit": "^1.14.6",
"@orpc/json-schema": "^1.14.6",
"@orpc/openapi": "^1.14.6",
"@orpc/server": "^1.14.6",
"@orpc/zod": "^1.14.6",
"@react-pdf/renderer": "^4.5.1",
"@reactive-resume/api": "workspace:*",
"@reactive-resume/auth": "workspace:*",
@@ -46,29 +46,29 @@
"@sindresorhus/slugify": "^3.0.0",
"@t3-oss/env-core": "^0.13.11",
"@uiw/color-convert": "^2.10.3",
"ai": "^6.0.193",
"ai": "^6.0.207",
"bcrypt": "^6.0.0",
"better-auth": "1.6.13",
"better-auth": "1.6.19",
"cjk-regex": "^3.4.0",
"deepmerge-ts": "^7.1.5",
"dompurify": "^3.4.7",
"dompurify": "^3.4.10",
"dotenv": "^17.4.2",
"drizzle-orm": "1.0.0-rc.3",
"drizzle-zod": "1.0.0-beta.14-a36c63d",
"es-toolkit": "^1.47.0",
"es-toolkit": "^1.47.1",
"fast-json-patch": "^3.1.1",
"hono": "^4.12.23",
"hono": "^4.12.25",
"jsonrepair": "^3.14.0",
"node-html-parser": "^7.1.0",
"nodemailer": "^8.0.10",
"ollama-ai-provider-v2": "^3.5.1",
"nodemailer": "^9.0.0",
"ollama-ai-provider-v2": "^3.6.0",
"pg": "^8.21.0",
"phosphor-icons-react-pdf": "^0.1.3",
"react": "^19.2.6",
"react-email": "^6.5.0",
"react": "^19.2.7",
"react-email": "^6.6.3",
"react-pdf-html": "^2.1.5",
"resumable-stream": "^2.2.12",
"sharp": "^0.34.5",
"sharp": "^0.35.1",
"ts-pattern": "^5.9.0",
"unique-names-generator": "^4.7.1",
"uuid": "^14.0.0",
@@ -76,13 +76,13 @@
},
"devDependencies": {
"@reactive-resume/config": "workspace:*",
"@types/node": "^25.9.1",
"@types/node": "^25.9.3",
"@types/pg": "^8.20.0",
"@types/react": "^19.2.15",
"@typescript/native-preview": "7.0.0-dev.20260527.2",
"tsdown": "^0.22.1",
"@types/react": "^19.2.17",
"@typescript/native-preview": "7.0.0-dev.20260617.2",
"tsdown": "^0.22.3",
"tsx": "^4.22.4",
"typescript": "^6.0.3",
"vitest": "^4.1.8"
"vitest": "^4.1.9"
}
}
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: af\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Vra enigiets oor hierdie CV"
msgid "Aspect Ratio"
msgstr "Aspekverhouding"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Heg lêers aan"
@@ -1750,6 +1754,10 @@ msgstr "Wys"
msgid "Hide Icons"
msgstr "Versteek ikone"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Versteek skakelonderstreep"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reaktiewe CV is gratis en oopbron. As dit jou gehelp het, oorweeg dit as
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume is oopbron, privaatheid-gefokus en heeltemal gratis. Anders as ander hervatbouers, wys dit nie advertensies nie, spoor nie jou data na nie en sluit nie funksies agter 'n betaalmuur nie."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Tekskleur"
msgid "Thai"
msgstr "Thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Die agent benodig jou insette."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: am\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Amharic\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -442,6 +442,10 @@ msgstr "ስለዚህ የስራ ልምድ መግለጫ ማንኛውንም ነገ
msgid "Aspect Ratio"
msgstr "የመገናኛ መጠን"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "ፋይሎችን አያይዝ"
@@ -1750,6 +1754,10 @@ msgstr "አሳይ"
msgid "Hide Icons"
msgstr "አዶዎችን ደብቅ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "የአገናኝ መስመሩን ደብቅ"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "አብራጭ"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "የድምቀት ቀለም"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "ምላሽ ሰጪ የስራ ልምድ (Reactive) ነፃ እና ክፍት
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ክፍት ምንጭ፣ ግላዊነትን የሚመርጥ እና ፍጹም ነፃ ነው። ከሌሎች የየታሪክ ማቅረቢያዎች የተለየ ምክንያቱ ማስታወቂያ አያሳይም፣ መረጃዎን አይከታተልም፣ ባህሪዎችንም በክፍያ ግድግዳ አያስገባም።"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "የጽሁፍ ቀለም"
msgid "Thai"
msgstr "ታይኛ"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "ወኪሉ የእርስዎን ግብዓት ይፈልጋል።"
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ar\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
@@ -442,6 +442,10 @@ msgstr "اسأل عن أي شيء بخصوص هذه السيرة الذاتية"
msgid "Aspect Ratio"
msgstr "نسبة الأبعاد"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "إرفاق الملفات"
@@ -1750,6 +1754,10 @@ msgstr "إخفاء"
msgid "Hide Icons"
msgstr "إخفاء الأيقونات"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "إخفاء الرابط (تسطير)"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "برنامج Reactive Resume مجاني ومفتوح المصدر. إذ
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume مفتوح المصدر ويركز على الخصوصية ومجاني تمامًا. وعلى عكس أدوات إنشاء السير الذاتية الأخرى، لا يعرض إعلانات، ولا يتتبع بياناتك، ولا يقيّد ميزاتك خلف جدار دفع."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "لون النص"
msgid "Thai"
msgstr "التايلاندية"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "يحتاج الوكيل إلى رأيك."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: az\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Azerbaijani\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Bu CV haqqında hər hansı bir sual verin"
msgid "Aspect Ratio"
msgstr "Propor­siya"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Faylları əlavə edin"
@@ -1750,6 +1754,10 @@ msgstr "Gizlət"
msgid "Hide Icons"
msgstr "Nişanları gizlət"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Linkin Alt Xəttini Gizlət"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Vurğula"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Vurğulama Rəngi"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume pulsuz və açıq mənbəlidir. Əgər sizə kömək edi
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume açıq mənbəlidir, məxfilik yönümlüdür və tamamilə pulsuzdur. Digər özgeçmiş qurucularından fərqli olaraq, o reklamlara yer vermir, məlumatınızı izləmir və funksiyaları ödəniş divarının arxasında məhdudlaşdırmır."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Mətn Rəngi"
msgid "Thai"
msgstr "Tay"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agentin sizin fikrinizə ehtiyacı var."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: bg\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Попитайте нещо относно тази автобиогра
msgid "Aspect Ratio"
msgstr "Съотношение на страните"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Прикачи файлове"
@@ -1750,6 +1754,10 @@ msgstr "Скриване"
msgid "Hide Icons"
msgstr "Скриване на икони"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Скриване на подчертаната връзка"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume е безплатен и с отворен код. Ак
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume е с отворен код, фокусиран върху поверителността и напълно безплатен. За разлика от други конструктори на автобиографии, той не показва реклами, не проследява данните ви и не ограничава функциите зад платена стена."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Цвят на текста"
msgid "Thai"
msgstr "Тайландски"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Агентът се нуждае от вашето мнение."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: bn\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Bengali\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "এই জীবনবৃত্তান্ত সম্পর্কে
msgid "Aspect Ratio"
msgstr "আকারের অনুপাত"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "ফাইলগুলো সংযুক্ত করুন"
@@ -1750,6 +1754,10 @@ msgstr "লুকান"
msgid "Hide Icons"
msgstr "আইকন লুকান"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "লিঙ্ক আন্ডারলাইন লুকান"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "হাইলাইট"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "হাইলাইট রঙ"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "রিঅ্যাক্টিভ রেজ্যুমে বিনা
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume মুক্ত উৎস, গোপনীয়তা-কেন্দ্রিক এবং সম্পূর্ণ বিনামূল্যে। অন্য জীবনবৃত্তান্ত নির্মাতাদের মতো এটি কোনো বিজ্ঞাপন দেখায় না, আপনার ডেটা ট্র্যাক করে না, বা ফিচারগুলো পেওয়ালের আড়ালে আটকে রাখে না।"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "টেক্সটের রঙ"
msgid "Thai"
msgstr "থাই"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "এজেন্টের আপনার মতামত প্রয়োজন।"
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ca\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Pregunta qualsevol cosa sobre aquest currículum"
msgid "Aspect Ratio"
msgstr "Relació d’aspecte"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Adjunta fitxers"
@@ -1750,6 +1754,10 @@ msgstr "Amaga"
msgid "Hide Icons"
msgstr "Amaga les icones"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Amaga el subratllat d'enllaços"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume és gratuït i de codi obert. Si t'ha ajudat, considera
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume és de codi obert, centrat en la privadesa i completament gratuït. A diferència d’altres creadors de currículums, no mostra anuncis, no rastreja les dades ni limita les funcions darrere d’un mur de pagament."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Color del text"
msgid "Thai"
msgstr "Tai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "L'agent necessita la teva opinió."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: cs\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -442,6 +442,10 @@ msgstr "Zeptejte se na cokoli ohledně tohoto životopisu"
msgid "Aspect Ratio"
msgstr "Poměr stran"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Přiložit soubory"
@@ -1750,6 +1754,10 @@ msgstr "Skrýt"
msgid "Hide Icons"
msgstr "Skrýt ikony"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Skrýt podtržení odkazu"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume je zdarma a má otevřený zdrojový kód. Pokud vám po
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume je open source, zaměřené na soukromí a zcela zdarma. Na rozdíl od jiných nástrojů pro tvorbu životopisů nezobrazuje reklamy, nesleduje vaše data a neomezuje funkce za paywallem."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Barva textu"
msgid "Thai"
msgstr "Thajština"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agent potřebuje váš vstup."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: da\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Spørg om noget om dette CV"
msgid "Aspect Ratio"
msgstr "Billedformat"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Vedhæft filer"
@@ -1750,6 +1754,10 @@ msgstr "Skjul"
msgid "Hide Icons"
msgstr "Skjul ikoner"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Skjul linkunderstregning"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume er gratis og open source. Hvis det har hjulpet dig, så
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume er open-source, fokuserer på privatliv og er helt gratis. I modsætning til andre CV-byggere viser det ingen reklamer, sporer ikke dine data og begrænser ikke funktioner bag en betalingsmur."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Tekstfarve"
msgid "Thai"
msgstr "Thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agenten har brug for din input."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Fragen Sie alles zu diesem Lebenslauf"
msgid "Aspect Ratio"
msgstr "Seitenverhältnis"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Anhängen von Dateien"
@@ -1750,6 +1754,10 @@ msgstr "Ausblenden"
msgid "Hide Icons"
msgstr "Symbole ausblenden"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Link ausblenden Unterstreichung"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume ist kostenlos und Open Source. Wenn es Ihnen geholfen ha
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ist Open Source, datenschutzorientiert und vollständig kostenlos. Anders als andere Lebenslauf-Builder zeigt es keine Werbung an, trackt deine Daten nicht und versteckt keine Funktionen hinter einer Bezahlschranke."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Textfarbe"
msgid "Thai"
msgstr "Thailändisch"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Der Agent benötigt Ihre Mithilfe."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: el\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Ρωτήστε οτιδήποτε σχετικά με αυτό το βι
msgid "Aspect Ratio"
msgstr "Αναλογία διαστάσεων"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Επισύναψη αρχείων"
@@ -1750,6 +1754,10 @@ msgstr "Απόκρυψη"
msgid "Hide Icons"
msgstr "Απόκρυψη εικονιδίων"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Απόκρυψη υπογράμμισης συνδέσμου"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Το Reactive Resume είναι δωρεάν και ανοιχτού κ
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Το Reactive Resume είναι ανοικτού κώδικα, με έμφαση στο απόρρητο και εντελώς δωρεάν. Σε αντίθεση με άλλους κατασκευαστές βιογραφικών σημειωμάτων, δεν εμφανίζει διαφημίσεις, δεν παρακολουθεί τα δεδομένα σας και δεν περιορίζει τις λειτουργίες του πίσω από paywall."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Χρώμα κειμένου"
msgid "Thai"
msgstr "Ταϊλανδικά"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Ο πράκτορας χρειάζεται τη συμβολή σας."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: en_GB\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: English, United Kingdom\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Ask anything about this resume"
msgid "Aspect Ratio"
msgstr "Aspect Ratio"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Attach files"
@@ -1750,6 +1754,10 @@ msgstr "Hide"
msgid "Hide Icons"
msgstr "Hide Icons"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Hide Link Underline"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume is free and open source. If it has helped you, please co
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Text Colour"
msgid "Thai"
msgstr "Thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "The agent needs your input."
+16
View File
@@ -437,6 +437,10 @@ msgstr "Ask anything about this resume"
msgid "Aspect Ratio"
msgstr "Aspect Ratio"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Attach files"
@@ -1745,6 +1749,10 @@ msgstr "Hide"
msgid "Hide Icons"
msgstr "Hide Icons"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Hide Link Underline"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2644,6 +2652,10 @@ msgstr "Reactive Resume is free and open source. If it has helped you, please co
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3310,6 +3322,10 @@ msgstr "Text Color"
msgid "Thai"
msgstr "Thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "The agent needs your input."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Haz cualquier pregunta sobre este currículum."
msgid "Aspect Ratio"
msgstr "Relación de aspecto"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Adjuntar archivos"
@@ -1750,6 +1754,10 @@ msgstr "Ocultar"
msgid "Hide Icons"
msgstr "Ocultar iconos"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Ocultar enlace subrayado"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume es gratuito y de código abierto. Si te ha sido útil, c
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume es de código abierto, centrado en la privacidad y completamente gratuito. A diferencia de otros creadores de currículums, no muestra anuncios, no rastrea tus datos ni limita tus funciones tras un muro de pago."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Color del texto"
msgid "Thai"
msgstr "Tailandés"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "El agente necesita tu opinión."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: fa\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "در مورد این رزومه هر سوالی دارید بپرسید"
msgid "Aspect Ratio"
msgstr "نسبت تصویر"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "پیوست کردن فایل‌ها"
@@ -1750,6 +1754,10 @@ msgstr "پنهان کردن"
msgid "Hide Icons"
msgstr "پنهان کردن آیکون‌ها"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "پنهان کردن زیرخط لینک"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "هایلایت"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "رنگ برجسته"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "رزومه واکنشی رایگان و متن‌باز است. اگر
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume متن‌باز، حریم‌خصوصی‌محور و کاملاً رایگان است. برخلاف سایر رزومه‌سازها، هیچ تبلیغی نشان نمی‌دهد، داده‌های شما را رهگیری نمی‌کند و قابلیت‌هایتان را پشت دیوار پرداخت محدود نمی‌کند."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "رنگ متن"
msgid "Thai"
msgstr "تایلندی"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "نماینده به نظرات شما نیاز دارد."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: fi\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Kysy mitä tahansa tästä ansioluettelosta"
msgid "Aspect Ratio"
msgstr "Kuvasuhde"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Liitä tiedostoja"
@@ -1750,6 +1754,10 @@ msgstr "Piilota"
msgid "Hide Icons"
msgstr "Piilota kuvakkeet"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Piilota linkin alleviivaus"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume on ilmainen ja avoimen lähdekoodin työkalu. Jos siitä
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume on avoimen lähdekoodin, yksityisyyteen keskittyvä ja täysin ilmainen. Toisin kuin monet muut ansioluettelon laatijat, se ei näytä mainoksia, seuraa tietojasi tai piilota ominaisuuksia maksumuurin taakse."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Tekstiväri"
msgid "Thai"
msgstr "thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Välittäjä tarvitsee panostasi."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -442,6 +442,10 @@ msgstr "Posez toutes vos questions concernant ce CV"
msgid "Aspect Ratio"
msgstr "Format d'image"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Joindre des fichiers"
@@ -1750,6 +1754,10 @@ msgstr "Masquer"
msgid "Hide Icons"
msgstr "Masquer les icônes"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Masquer le lien Souligner"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume est un logiciel libre et gratuit. S'il vous a été util
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume est un logiciel libre, respectueux de la vie privée et entièrement gratuit. Contrairement à d'autres outils de création de CV, il n'affiche pas de publicité, ne suit pas vos données et ne limite pas vos fonctionnalités derrière un mur payant."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Couleur du texte"
msgid "Thai"
msgstr "Thaïlandais"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "L'agent a besoin de votre contribution."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: he\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
@@ -442,6 +442,10 @@ msgstr "שאלו כל דבר בנוגע לקורות חיים אלה"
msgid "Aspect Ratio"
msgstr "יחס גובה־רוחב"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "צרף קבצים"
@@ -1750,6 +1754,10 @@ msgstr "הסתרה"
msgid "Hide Icons"
msgstr "הסתר סמלים"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "הסתר קו תחתון של קישור"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "ריאקטיבי קורות חיים הם חינמיים ובקוד פת
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume הוא בקוד פתוח, ממוקד פרטיות וחינמי לחלוטין. בניגוד לבוני קורות חיים אחרים, הוא לא מציג פרסומות, לא עוקב אחרי הנתונים שלך ולא נועל יכולות מאחורי חומת תשלום."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "צבע כתב"
msgid "Thai"
msgstr "תאית"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "הסוכן זקוק לתשומתך."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: hi\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "इस रिज्यूमे के बारे में कुछ
msgid "Aspect Ratio"
msgstr "आकार अनुपात"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "फ़ाइलों को संलग्न करें"
@@ -1750,6 +1754,10 @@ msgstr "छुपायें"
msgid "Hide Icons"
msgstr "आइकन छिपाएँ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "लिंक के नीचे की रेखा छिपाएँ"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "हाइलाइट"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "हाइलाइट रंग"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "रिएक्टिव रिज्यूम मुफ़्त और
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ओपन‑सोर्स, गोपनीयता‑केंद्रित और पूरी तरह मुफ़्त है। अन्य रेज़्यूमे बिल्डर के विपरीत, यह विज्ञापन नहीं दिखाता, आपका डेटा ट्रैक नहीं करता और न ही आपकी सुविधाओं को पेवॉल के पीछे सीमित करता है।"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "अक्षरों का रंग"
msgid "Thai"
msgstr "थाई"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "एजेंट को आपके सुझाव की आवश्यकता है।"
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: hu\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Kérdezzen bármit erről az önéletrajzról"
msgid "Aspect Ratio"
msgstr "Méretarány"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Fájlok csatolása"
@@ -1750,6 +1754,10 @@ msgstr "Elrejtés"
msgid "Hide Icons"
msgstr "Ikonok elrejtése"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Hivatkozás aláhúzásának elrejtése"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "A Reactive Resume ingyenes és nyílt forráskódú. Ha segített, kérj
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "A Reactive Resume nyílt forráskódú, adatvédelem‑központú és teljesen ingyenes. Más önéletrajz‑készítőkkel ellentétben nem jelenít meg hirdetéseket, nem követi az adataidat, és nem zár funkciókat fizetős fal mögé."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Szövegszín"
msgid "Thai"
msgstr "thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Az ügynöknek szüksége van az Ön közreműködésére."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: id\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -442,6 +442,10 @@ msgstr "Tanyakan apa pun tentang resume ini."
msgid "Aspect Ratio"
msgstr "Rasio Aspek"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Lampirkan file"
@@ -1750,6 +1754,10 @@ msgstr "Sembunyikan"
msgid "Hide Icons"
msgstr "Sembunyikan Ikon"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Sembunyikan Garis Bawah Tautan"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Sorot"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Warna Sorot"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume gratis dan bersifat open source. Jika aplikasi ini berma
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume bersifat sumber terbuka, berfokus pada privasi, dan sepenuhnya gratis. Tidak seperti pembuat resume lainnya, aplikasi ini tidak menampilkan iklan, melacak data Anda, atau membatasi fitur di balik paywall."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Warna Teks"
msgid "Thai"
msgstr "Thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agen tersebut membutuhkan masukan Anda."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: it\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Chiedi qualsiasi cosa su questo curriculum"
msgid "Aspect Ratio"
msgstr "Proporzioni"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Allega i file"
@@ -1750,6 +1754,10 @@ msgstr "Nascondi"
msgid "Hide Icons"
msgstr "Nascondi icone"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Nascondi il collegamento sottolineato"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume è gratuito e open source. Se ti è stato utile, conside
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume è open source, incentrato sulla privacy e completamente gratuito. A differenza di altri generatori di curriculum, non mostra annunci, non traccia i tuoi dati e non limita le funzionalità dietro un paywall."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Colore del testo"
msgid "Thai"
msgstr "Thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "L'agente ha bisogno del tuo contributo."
+201 -185
View File
File diff suppressed because it is too large Load Diff
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: km\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Khmer\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -442,6 +442,10 @@ msgstr "សួរអ្វីមួយអំពីប្រវត្តិរូ
msgid "Aspect Ratio"
msgstr "សមាមាត្រទ្រង់ទ្រាយ"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "ភ្ជាប់ឯកសារ"
@@ -1750,6 +1754,10 @@ msgstr "លាក់"
msgid "Hide Icons"
msgstr "លាក់រូបតំណាង"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "លាក់​បន្ទាត់​ក្រោម​តំណ"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "រំលេច"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "ពណ៌​បន្លិច"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume គឺឥតគិតថ្លៃ និងជាប្
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume គឺ​បើក​ប្រភព ផ្តោតលើ​ភាព​ឯកជន និង​ឥតគិតថ្លៃ​ទាំងស្រុង។ ខុស​ពី​កម្មវិធី​បង្កើត​ប្រវត្តិរូប​ផ្សេងៗ វា​មិន​បង្ហាញ​ពាណិជ្ជកម្ម មិន​តាមដាន​ទិន្នន័យ​របស់​អ្នក ហើយ​មិន​កំណត់​មុខងារ​ពីក្រោយ paywall ឡើយ។"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "ពណ៌​អត្ថបទ"
msgid "Thai"
msgstr "Thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "ភ្នាក់ងារត្រូវការមតិយោបល់ពីអ្នក។"
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: kn\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Kannada\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "ಈ ರೆಸ್ಯೂಮ್ ಬಗ್ಗೆ ಏನಾದರೂ ಕೇ
msgid "Aspect Ratio"
msgstr "ಆಕಾರ ಅನುಪಾತ"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "ಫೈಲ್‌ಗಳನ್ನು ಲಗತ್ತಿಸಿ"
@@ -1750,6 +1754,10 @@ msgstr "ಮರೆಮಾಡಿ"
msgid "Hide Icons"
msgstr "ಐಕಾನ್‌ಗಳನ್ನು ಮರೆಮಾಡಿ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "ಲಿಂಕ್ ಅಂಡರ್‌ಲೈನ್ ಅನ್ನು ಮರೆಮಾಡಿ"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "ಹೈಲೈಟ್ ಮಾಡಿ"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "ಬಣ್ಣವನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "ರಿಯಾಕ್ಟಿವ್ ರೆಸ್ಯೂಮ್ ಉಚಿತ ಮ
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ಮುಕ್ತ-ಮೂಲ, ಗೌಪ್ಯತಿಗೆ ಪ್ರಾಧಾನ್ಯ ನೀಡುವ ಹಾಗು ಸಂಪೂರ್ಣವಾಗಿ ಉಚಿತವಾಗಿದೆ. ಇತರೆ ರೆಸ್ಯೂಮ್ ನಿರ್ಮಾಪಕರಿಗಿಂತ ವಿಭಿನ್ನವಾಗಿ, ಇದು ಜಾಹೀರಾತುಗಳನ್ನು ತೋರಿಸುವುದಿಲ್ಲ, ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದಿಲ್ಲ, ಅಥವಾ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪೇಯ್‌ವಾಲ್ ಹಿಂದೆ ಮಿತಿ ಮಾಡುವುದಿಲ್ಲ."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "ಅಕ್ಷರದ ಬಣ್ಣ"
msgid "Thai"
msgstr "ಥಾಯ್"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "ಏಜೆಂಟ್‌ಗೆ ನಿಮ್ಮ ಸಲಹೆಯ ಅಗತ್ಯವಿದೆ."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ko\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -442,6 +442,10 @@ msgstr "이력서에 대해 궁금한 점이 있으면 무엇이든 물어보세
msgid "Aspect Ratio"
msgstr "가로세로 비율"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "파일 첨부"
@@ -1750,6 +1754,10 @@ msgstr "숨기기"
msgid "Hide Icons"
msgstr "아이콘 숨기기"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "링크 밑줄 숨기기"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume는 무료 오픈 소스 소프트웨어입니다. 도움
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume는 오픈 소스, 개인정보 보호 중심, 완전 무료 서비스입니다. 다른 이력서 작성 도구와 달리 광고를 표시하지 않고, 데이터를 추적하지 않으며, 기능을 페이월 뒤에 숨기지도 않습니다."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "텍스트 색상"
msgid "Thai"
msgstr "태국어"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "상담원이 고객님의 입력을 필요로 합니다."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: lt\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Lithuanian\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n"
@@ -442,6 +442,10 @@ msgstr "Klauskite bet ko apie šį gyvenimo aprašymą"
msgid "Aspect Ratio"
msgstr "Vaizdo santykis"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Pridėti failus"
@@ -1750,6 +1754,10 @@ msgstr "Paslėpti"
msgid "Hide Icons"
msgstr "Slėpti piktogramas"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Slėpti nuorodos pabraukimą"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Paryškinti"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Paryškinimo spalva"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "„Reactive Resume“ yra nemokamas ir atvirojo kodo. Jei jis jums padė
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "„Reactive Resume“ yra atvirojo kodo, orientuota į privatumą ir visiškai nemokama. Skirtingai nei kiti gyvenimo aprašymų kūrėjai, ji nerodo reklamų, nerenka jūsų duomenų ir neapriboja funkcijų už mokamos sienos."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Teksto spalva"
msgid "Thai"
msgstr "Tajų"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agentui reikia jūsų indėlio."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: lv\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
@@ -442,6 +442,10 @@ msgstr "Jautājiet jebko par šo CV"
msgid "Aspect Ratio"
msgstr "Proporcijas"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Pievienot failus"
@@ -1750,6 +1754,10 @@ msgstr "Slēpt"
msgid "Hide Icons"
msgstr "Slēpt ikonas"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Slēpt saites pasvītrojumu"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Izcelt"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Izcelt krāsu"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive CV ir bezmaksas un atvērtā koda resurss. Ja tas jums ir palī
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ir atvērtā pirmkoda, uz privātumu vērsts un pilnīgi bezmaksas. Atšķirībā no citiem CV veidotājiem tas nerāda reklāmas, neizseko jūsu datus un neierobežo funkcijas ar maksas sienu."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Teksta krāsa"
msgid "Thai"
msgstr "Taju"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Aģentam ir nepieciešama jūsu ieguldījums."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ml\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Malayalam\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "ഈ റെസ്യൂമെയെക്കുറിച്ച് എന
msgid "Aspect Ratio"
msgstr "ആസ്പെക്ട് റേഷ്യോ"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "ഫയലുകൾ അറ്റാച്ചുചെയ്യുക"
@@ -1750,6 +1754,10 @@ msgstr "മറയ്ക്കുക"
msgid "Hide Icons"
msgstr "ഐക്കണുകൾ മറയ്ക്കുക"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "ലിങ്ക് അടിവര മറയ്ക്കുക"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "ഹൈലൈറ്റ്"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "നിറം ഹൈലൈറ്റ് ചെയ്യുക"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "റിയാക്ടീവ് റെസ്യൂമെ സൌജന്
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ഓപ്പൺ സോഴ്‌സും സ്വകാര്യത കേന്ദ്രീകൃതവുമായ, പൂർണ്ണമായും സൗജന്യമായൊരു ആപ്പാണ്. മറ്റ് റിസ്യൂം ബിൽഡറുകളെ അപേക്ഷിച്ച്, ഇത് പരസ്യങ്ങൾ കാണിക്കുകയോ, നിങ്ങളുടെ ഡാറ്റ ട്രാക്ക് ചെയ്യുകയോ, സവിശേഷതകൾ പേയ്വാളിന് പിന്നിൽ ഒതുക്കുകയോ ചെയ്യുന്നില്ല."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "ടെക്സ്റ്റ് നിറം"
msgid "Thai"
msgstr "തായ്"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "ഏജന്റിന് നിങ്ങളുടെ അഭിപ്രായം ആവശ്യമാണ്."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: mr\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Marathi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "या रिझ्युमेबद्दल काहीही वि
msgid "Aspect Ratio"
msgstr "प्रसर गुणोत्तर"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "फाईल्स जोडा"
@@ -1750,6 +1754,10 @@ msgstr "लपवा"
msgid "Hide Icons"
msgstr "चिन्हे लपवा"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "लिंक लपवा"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "हायलाइट"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "हायलाइट रंग"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "रिॲक्टिव्ह रिझ्युमे मोफत आ
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume हे मुक्त-स्रोत, गोपनीयता-केंद्रित आणि पूर्णपणे मोफत आहे. इतर रेझ्युमे बिल्डर्सप्रमाणेच नाही, हे जाहिराती दाखवत नाही, तुमचा डेटा ट्रॅक करत नाही किंवा फिचर्स पेवॉलच्या मागे मर्यादित करत नाही."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "मजकुराचा रंग"
msgid "Thai"
msgstr "थाई"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "एजंटला तुमच्या माहितीची आवश्यकता आहे."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ms\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Malay\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -442,6 +442,10 @@ msgstr "Tanya apa-apa sahaja tentang resume ini"
msgid "Aspect Ratio"
msgstr "Nisbah Aspek"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Lampirkan fail"
@@ -1750,6 +1754,10 @@ msgstr "Sembunyi"
msgid "Hide Icons"
msgstr "Sembunyikan Ikon"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Sembunyikan Garis Bawah Pautan"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Sorot"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Warna Serlahan"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Resume Reaktif adalah percuma dan sumber terbuka. Jika ia telah membantu
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ialah sumber terbuka, berfokuskan privasi dan benar-benar percuma. Tidak seperti pembina resume yang lain, ia tidak memaparkan iklan, menjejak data anda atau mengehadkan ciri di sebalik dinding bayaran."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Warna Teks"
msgid "Thai"
msgstr "Thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Ejen memerlukan input anda."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ne\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Nepali\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "यो बायोडाटा बारे केहि सोध्
msgid "Aspect Ratio"
msgstr "आकार अनुपात (Aspect Ratio)"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "फाइलहरू संलग्न गर्नुहोस्"
@@ -1750,6 +1754,10 @@ msgstr "ल्यুকाउनुहोस्"
msgid "Hide Icons"
msgstr "आइकनहरू लुकाउनुहोस्"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "लिङ्क अन्डरलाइन लुकाउनुहोस्"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "हाइलाइट"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "हाइलाइट रङ"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "प्रतिक्रियाशील रिजुमे नि:श
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume खुला-स्रोत, गोपनीयता-केन्द्रित र पूर्ण रूपमा निःशुल्क छ। अन्य बायोडाटा निर्माण गर्ने साधनहरूको विपरीत, यसले विज्ञापन देखाउँदैन, तपाईंको डाटा ट्र्याक गर्दैन, वा सुविधालाई भुक्तानी पछाडि थुन्न्दैन।"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "पाठ रङ"
msgid "Thai"
msgstr "थाइ"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "एजेन्टलाई तपाईंको सुझाव चाहिन्छ।"
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: nl\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Stel gerust al je vragen over dit cv."
msgid "Aspect Ratio"
msgstr "Beeldverhouding"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Voeg bestanden toe"
@@ -1750,6 +1754,10 @@ msgstr "Verbergen"
msgid "Hide Icons"
msgstr "Pictogrammen verbergen"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Link onderstrepen verbergen"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Markeren"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Markeer de kleur"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume is gratis en open source. Als het je geholpen heeft, ove
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume is open-source, privacygericht en volledig gratis. In tegenstelling tot andere cv-bouwers toont het geen advertenties, volgt het uw gegevens niet en beperkt het uw functies niet achter een betaalmuur."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Tekstkleur"
msgid "Thai"
msgstr "Thais"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "De agent heeft uw input nodig."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: no\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Spør om hva som helst om denne CV-en"
msgid "Aspect Ratio"
msgstr "Størrelsesforhold"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Legg ved filer"
@@ -1750,6 +1754,10 @@ msgstr "Skjul"
msgid "Hide Icons"
msgstr "Skjul ikoner"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Skjul lenkeunderstrek"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Fremhev"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Uthevingsfarge"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume er gratis og har åpen kildekode. Hvis det har hjulpet d
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume er åpen kildekode, personvernfokusert og helt gratis. I motsetning til andre CV-byggere viser den ikke annonser, sporer ikke dataene dine og begrenser ikke funksjoner bak en betalingsmur."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Tekstfarge"
msgid "Thai"
msgstr "Thai"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agenten trenger din innspill."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: or\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Odia\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "ଏହି ରିଜ୍ୟୁମ୍ ବିଷୟରେ କିଛି ବ
msgid "Aspect Ratio"
msgstr "ଆସ୍ପେକ୍ଟ ଅନୁପାତ"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "ଫାଇଲ୍ ସଂଲଗ୍ନ କରନ୍ତୁ"
@@ -1750,6 +1754,10 @@ msgstr "ଲୁଚାନ୍ତୁ"
msgid "Hide Icons"
msgstr "ଚିତ୍ରସଂକେତଗୁଡିକୁ ଲୁଚାନ୍ତୁ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "ଲିଙ୍କ ଅଣ୍ଡରଲାଇନ୍ ଲୁଚାନ୍ତୁ"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "ହାଇଲାଇଟ୍"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "ହାଇଲାଇଟ୍ ରଙ୍ଗ"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "ପ୍ରତିକ୍ରିୟାଶୀଳ ରିଜ୍ୟୁମ୍ ମ
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ଖୋଲା‑ମୂଳ, ଗୋପନୀୟତା‑କେନ୍ଦ୍ରିତ ଏବଂ ସଂପୂର୍ଣ୍ଣ ଭାବରେ ନିଶୁଳ୍କ। ଅନ୍ୟ ରେଜ୍ୟୁମେ ବିଲ୍ଡରଗୁଡିକ ଭଳି ଏହା ବିଜ୍ଞାପନ ଦେଖାଏ ନାହିଁ, ଆପଣଙ୍କ ତଥ୍ୟକୁ ଟ୍ରାକ୍ କରେ ନାହିଁ, କିମ୍ବା ପେୱାଲ୍ ପଛରେ ବିଶେଷତାଗୁଡିକୁ ଆଟକାଇ ରଖେ ନାହିଁ।"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "ପାଠ୍ୟ ରଙ୍ଗ"
msgid "Thai"
msgstr "ଥାଇ"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "ଏଜେଣ୍ଟଙ୍କୁ ଆପଣଙ୍କ ମତାମତ ଆବଶ୍ୟକ।"
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: pl\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
@@ -442,6 +442,10 @@ msgstr "Zapytaj o wszystko na temat tego CV"
msgid "Aspect Ratio"
msgstr "Proporcje obrazu"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Dołącz pliki"
@@ -1750,6 +1754,10 @@ msgstr "Ukryj"
msgid "Hide Icons"
msgstr "Ukryj ikony"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Ukryj podkreślenie linku"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Zakreślenie"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Podświetl kolor"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume jest darmowy i ma otwarte oprogramowanie. Jeśli Ci pomo
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume jest open-source, skupione na prywatności i całkowicie darmowe. W przeciwieństwie do innych kreatorów CV nie wyświetla reklam, nie śledzi Twoich danych ani nie ukrywa funkcji za paywallem."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Kolor tekstu"
msgid "Thai"
msgstr "Tajski"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agent potrzebuje Twojej opinii."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Pergunte qualquer coisa sobre este currículo."
msgid "Aspect Ratio"
msgstr "Proporção da imagem"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Anexar arquivos"
@@ -1750,6 +1754,10 @@ msgstr "Ocultar"
msgid "Hide Icons"
msgstr "Ocultar ícones"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Ocultar link sublinhado"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Realce"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Cor de destaque"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "O Reactive Resume é gratuito e de código aberto. Se ele lhe foi útil,
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "O Reactive Resume é de código aberto, focado em privacidade e completamente gratuito. Ao contrário de outros criadores de currículos, ele não exibe anúncios, não rastreia seus dados e não limita recursos atrás de um paywall."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Cor do texto"
msgid "Thai"
msgstr "Tailandês"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "O agente precisa da sua opinião."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Pergunte qualquer coisa sobre este currículo."
msgid "Aspect Ratio"
msgstr "Proporção"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Anexar ficheiros"
@@ -1750,6 +1754,10 @@ msgstr "Ocultar"
msgid "Hide Icons"
msgstr "Ocultar ícones"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Ocultar link sublinhado"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Realce"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Cor de destaque"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "O Reactive Resume é gratuito e de código aberto. Se ele lhe foi útil,
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "O Reactive Resume é de código aberto, focado na privacidade e completamente gratuito. Ao contrário de outros criadores de currículos, não mostra anúncios, não rastreia os seus dados nem limita funcionalidades atrás de um paywall."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Cor do texto"
msgid "Thai"
msgstr "Tailandês"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "O agente precisa da sua opinião."
+17 -1
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ro\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:31\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n"
@@ -442,6 +442,10 @@ msgstr "Întreabă orice despre acest CV"
msgid "Aspect Ratio"
msgstr "Raport de aspect"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Atașați fișiere"
@@ -1750,6 +1754,10 @@ msgstr "Ascunde"
msgid "Hide Icons"
msgstr "Ascunde pictogramele"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Ascunde sublinierea linkului"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume este gratuit și open source. Dacă te-a ajutat, te rug
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume este open-source, axat pe confidențialitate și complet gratuit. Spre deosebire de alți constructori de CV-uri, nu afișează reclame, nu vă urmărește datele și nu limitează funcționalitățile în spatele unui paywall."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Culoare text"
msgid "Thai"
msgstr "Thailandeză"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agentul are nevoie de contribuția dumneavoastră."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ru\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
@@ -442,6 +442,10 @@ msgstr "Задайте любой вопрос по поводу этого ре
msgid "Aspect Ratio"
msgstr "Соотношение сторон"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Прикрепить файлы"
@@ -1750,6 +1754,10 @@ msgstr "Скрыть"
msgid "Hide Icons"
msgstr "Скрыть значки"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Скрыть подчеркивание ссылки"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Подсветка"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Цвет выделения"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume — бесплатный проект с открыты
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume — это проект с открытым исходным кодом, ориентированный на конфиденциальность и полностью бесплатный. В отличие от других конструкторов резюме, он не показывает рекламу, не отслеживает ваши данные и не ограничивает функции платной подпиской."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Цвет текста"
msgid "Thai"
msgstr "Тайский"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Агенту необходима ваша помощь."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: sk\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -442,6 +442,10 @@ msgstr "Opýtajte sa na čokoľvek ohľadom tohto životopisu"
msgid "Aspect Ratio"
msgstr "Pomer strán"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Priložiť súbory"
@@ -1750,6 +1754,10 @@ msgstr "Skryť"
msgid "Hide Icons"
msgstr "Skryť ikony"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Skryť podčiarknutie odkazu"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Zvýraznenie"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Farba zvýraznenia"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume je bezplatný a má otvorený zdrojový kód. Ak vám po
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume je open‑source, zamerané na súkromie a úplne zadarmo. Na rozdiel od iných nástrojov na tvorbu životopisov nezobrazuje reklamy, nesleduje tvoje dáta a neuzamyká funkcie za paywallom."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Farba textu"
msgid "Thai"
msgstr "Thajčina"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agent potrebuje váš názor."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: sl\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
@@ -442,6 +442,10 @@ msgstr "Vprašajte karkoli o tem življenjepisu"
msgid "Aspect Ratio"
msgstr "Razmerje stranic"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Priložite datoteke"
@@ -1750,6 +1754,10 @@ msgstr "Skrij"
msgid "Hide Icons"
msgstr "Skrij ikone"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Skrij podčrtano povezavo"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Označi"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Barva označevanja"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume je brezplačen in odprtokoden. Če vam je pomagal, prosi
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume je odprtokoden, osredotočen na zasebnost in popolnoma brezplačen. Za razliko od drugih graditeljev življenjepisov ne prikazuje oglasov, ne sledi vašim podatkom in ne omejuje funkcij z zidovi plačila."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Barva besedila"
msgid "Thai"
msgstr "tajščina"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agent potrebuje vaše mnenje."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: sq\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Albanian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Pyetni për çdo gjë në lidhje me këtë CV"
msgid "Aspect Ratio"
msgstr "Proporcioni"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Bashkëngjit skedarë"
@@ -1750,6 +1754,10 @@ msgstr "Fshih"
msgid "Hide Icons"
msgstr "Fshih ikonat"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Fshih nënvizimin e lidhjes"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Thekso"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Ngjyra e theksimit"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive CV është falas dhe me kod të hapur. Nëse ju ka ndihmuar, ju
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume është me burim të hapur, i përqendruar te privatësia dhe krejtësisht falas. Ndryshe nga ndërtuesit e tjerë të CV-ve, nuk shfaq reklama, nuk gjurmon të dhënat tuaja dhe nuk i kufizon veçoritë pas një muri pagese."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Ngjyra e tekstit"
msgid "Thai"
msgstr "Tajlandisht"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agjenti ka nevojë për kontributin tuaj."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: sr\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Serbian (Cyrillic)\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -442,6 +442,10 @@ msgstr "Питајте било шта о овом животопису"
msgid "Aspect Ratio"
msgstr "Однос стране"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Приложи датотеке"
@@ -1750,6 +1754,10 @@ msgstr "Сакриј"
msgid "Hide Icons"
msgstr "Сакриј иконе"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Сакриј подвучену везу"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Истакни"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Боја истицања"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Реактивни резиме је бесплатан и отворе
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Реактивни Резиме је отвореног кода, усмерен на приватност и потпуно бесплатан. За разлику од других алата за креирање резимеа, не приказује огласе, не прати ваше податке и не ограничава функције иза платног зида."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Боја текста"
msgid "Thai"
msgstr "Тајландски"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Агенту је потребан ваш допринос."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: sv\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Fråga vad som helst om detta CV"
msgid "Aspect Ratio"
msgstr "Bildförhållande"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Bifoga filer"
@@ -1750,6 +1754,10 @@ msgstr "Dölj"
msgid "Hide Icons"
msgstr "Dölj ikoner"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Dölj länkunderstrykning"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Markera"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Markeringsfärg"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume är gratis och har öppen källkod. Om det har hjälpt d
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume har en öppen källkod, är integritetsfokuserat och helt gratis. Till skillnad från andra CV-byggare visas inga annonser, spårar dig inte och gömmer inte funktioner bakom en betalvägg."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Textfärg"
msgid "Thai"
msgstr "Thailändska"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agenten behöver din input."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ta\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Tamil\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "இந்த சுயவிவரம் பற்றி எதையு
msgid "Aspect Ratio"
msgstr "ஒப்புத்திணைவு விகிதம்"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "கோப்புகளை இணைக்கவும்"
@@ -1750,6 +1754,10 @@ msgstr "மறை"
msgid "Hide Icons"
msgstr "சின்னங்களை மறைக்கவும்"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "இணைப்பு அடிக்கோட்டை மறைக்கவும்"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "ஹைலைட்"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "ஹைலைட் நிறம்"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "ரியாக்டிவ் ரெஸ்யூம் இலவசம
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume திறந்த மூலமாகவும், தனியுரிமை மீது கவனம் செலுத்தியதாகவும், முற்றிலும் இலவசமாகவும் உள்ளது. மற்ற ரெஸ்யூம் பில்டர்களைப் போல் இது விளம்பரங்களை காட்டாது, உங்கள் தரவை கண்காணிக்காது, அல்லது அம்சங்களை கட்டண சுவருக்கு பின்னால் பூட்டாது."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "எழுத்து நிறம்"
msgid "Thai"
msgstr "தாய்"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "முகவருக்கு உங்கள் கருத்து தேவைப்படுகிறது."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: te\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Telugu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "ఈ రెజ్యూమె గురించి ఏమైనా అ
msgid "Aspect Ratio"
msgstr "కారక నిష్పత్తి"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "ఫైళ్లను జతచేయండి"
@@ -1750,6 +1754,10 @@ msgstr "హైడ్"
msgid "Hide Icons"
msgstr "చిహ్నాలను దాచండి"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "లింక్ అండర్‌లైన్‌ను దాచండి"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "హైలైట్"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "హైలైట్ రంగు"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "రియాక్టివ్ రెజ్యూమ్ ఉచితం
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ఓపెన్‌సోర్స్‌, గోప్యతపై దృష్టి సారించినది మరియు పూర్తిగా ఉచితం. ఇతర జీవన చరిత్ర తయారీదార్ల వలె ప్రకటనలను చూపించదు, మీ డేటాను ట్రాక్ చేయదు, లేదా ఫీచర్లను వాలుతో పరిమితం చేయదు."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "టెక్స్ట్ కలర్"
msgid "Thai"
msgstr "థాయ్"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "ఏజెంట్‌కు మీ సమాచారం అవసరం."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: th\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -442,6 +442,10 @@ msgstr "สอบถามอะไรก็ได้เกี่ยวกับ
msgid "Aspect Ratio"
msgstr "อัตราส่วนภาพ"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "แนบไฟล์"
@@ -1750,6 +1754,10 @@ msgstr "ซ่อน"
msgid "Hide Icons"
msgstr "ซ่อนไอคอน"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "ซ่อนเส้นขีดใต้ลิงก์"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "ไฮไลต์"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "สีไฮไลท์"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume เป็นซอฟต์แวร์ฟรีแล
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume เป็นโอเพ่นซอร์ส เน้นความเป็นส่วนตัว และฟรีอย่างสมบูรณ์ แตกต่างจากเครื่องมือสร้างเรซูเม่อื่น ๆ ไม่มีโฆษณา ไม่ติดตามข้อมูลของคุณ หรือจำกัดฟีเจอร์หลังระบบจ่ายเงิน"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "สีตัวอักษร"
msgid "Thai"
msgstr "ไทย"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "ตัวแทนต้องการข้อมูลจากคุณ"
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: tr\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -442,6 +442,10 @@ msgstr "Bu özgeçmişle ilgili her şeyi sorabilirsiniz."
msgid "Aspect Ratio"
msgstr "En/Boy Oranı"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Dosyaları ekleyin"
@@ -1750,6 +1754,10 @@ msgstr "Gizle"
msgid "Hide Icons"
msgstr "Simgeleri Gizle"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Bağlantının altını çizili kısmını gizle"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Vurgula"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Vurgu Rengi"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume ücretsiz ve açık kaynaklıdır. Eğer size yardımcı
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Özgeçmiş açık kaynaklı, gizliliğe önem veren ve tamamen ücretsizdir. Diğer özgeçmiş oluşturuculardan farklı olarak reklam göstermez, verilerinizi takip etmez veya özelliklerinizi bir ödeme duvarının arkasına gizlemez."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Metin Rengi"
msgid "Thai"
msgstr "Tayca"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Temsilcinin sizin görüşünüze ihtiyacı var."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: uk\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Ukrainian\n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
@@ -442,6 +442,10 @@ msgstr "Запитайте що завгодно щодо цього резюм
msgid "Aspect Ratio"
msgstr "Пропорції"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Додати файли"
@@ -1750,6 +1754,10 @@ msgstr "Приховати"
msgid "Hide Icons"
msgstr "Приховати значки"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Приховати посилання Підкреслення"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Виділити"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Колір виділення"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume — безкоштовний ресурс з відкр
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume є open-source, орієнтована на приватність і повністю безкоштовна. На відміну від інших редакторів резюме, вона не показує рекламу, не відстежує ваші дані і не обмежує функції за оплатою."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Колір тексту"
msgid "Thai"
msgstr "Тайська"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Агенту потрібна ваша думка."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: uz\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Uzbek\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -442,6 +442,10 @@ msgstr "Ushbu rezyume haqida biron narsa so'rang"
msgid "Aspect Ratio"
msgstr "Tomonlar nisbati"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Fayllarni biriktirish"
@@ -1750,6 +1754,10 @@ msgstr "Yashirish"
msgid "Hide Icons"
msgstr "Belgilarni yashirish"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Havola ostiga chizilgan chiziqni yashirish"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Ajratib ko‘rsatish"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Belgilash rangi"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume bepul va ochiq kodli. Agar u sizga yordam bergan bo'lsa,
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume ochiq manbali, maxfiylikka yo'naltirilgan va butunlay bepul. Boshqa rezume tuzuvchilardan farqli o'laroq, u reklamalarni ko'rsatmaydi, ma'lumotlaringizni kuzatmaydi yoki funksiyalarni to'lov devori ortida cheklamaydi."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Matn rangi"
msgid "Thai"
msgstr "Tay tili"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Agent sizning fikringizni bilishi kerak."
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: vi\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -442,6 +442,10 @@ msgstr "Hãy hỏi bất cứ điều gì về sơ yếu lý lịch này."
msgid "Aspect Ratio"
msgstr "Tỷ lệ khung hình"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "Đính kèm tệp"
@@ -1750,6 +1754,10 @@ msgstr "Ẩn đi"
msgid "Hide Icons"
msgstr "Ẩn biểu tượng"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "Ẩn gạch chân liên kết"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "Làm nổi bật"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "Màu nổi bật"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume là phần mềm mã nguồn mở miễn phí. Nếu th
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Resume Phản Ứng là mã nguồn mở, tập trung vào quyền riêng tư và hoàn toàn miễn phí. Khác với các trình tạo hồ sơ khác, nó không hiển thị quảng cáo, không theo dõi dữ liệu của bạn, và không giới hạn tính năng đằng sau tường phí."
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "Màu chữ"
msgid "Thai"
msgstr "Thái"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "Nhân viên cần thông tin đầu vào từ bạn."
+21 -5
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: zh\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-05 21:35\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -442,6 +442,10 @@ msgstr "关于这份简历,有什么想问的吗?"
msgid "Aspect Ratio"
msgstr "宽高比"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "附加文件"
@@ -1114,7 +1118,7 @@ msgstr "Discord 频道"
#: src/components/ui/donation-toast.tsx
msgid "Dismiss"
msgstr "解雇"
msgstr "忽略"
#: src/routes/_home/-sections/footer.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
@@ -1127,7 +1131,7 @@ msgstr "没有账户?<0/>"
#: src/components/ui/donation-toast.tsx
msgid "Donate"
msgstr "捐"
msgstr "捐赠"
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -1750,6 +1754,10 @@ msgstr "隐藏"
msgid "Hide Icons"
msgstr "隐藏图标"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "隐藏链接下划线"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "高亮"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "高亮颜色"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2643,12 +2651,16 @@ msgstr "Reactive Resume 是一款免费开源的简历生成器,可简化创
#: src/components/ui/donation-toast.tsx
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
msgstr "Reactive Resume 是免费开源的。如果它对您有所帮助,请考虑捐赠。"
msgstr "Reactive Resume 是一个免授权费并且代码开源的项目。如果它对您有所帮助,可向我们捐赠以变得更好。"
#: src/routes/_home/-sections/faq.tsx
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume 是开源、注重隐私且完全免费的。与其他简历生成器不同,它不会展示广告、跟踪你的数据,也不会把功能锁在付费墙后面。"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "文本颜色"
msgid "Thai"
msgstr "泰语"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "经纪人需要您的意见。"
+18 -2
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: zh\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-06-01 12:55\n"
"PO-Revision-Date: 2026-06-01 13:32\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -442,6 +442,10 @@ msgstr "關於這份履歷,有什麼想問的嗎?"
msgid "Aspect Ratio"
msgstr "顯示比例"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr "附加文件"
@@ -1750,6 +1754,10 @@ msgstr "隱藏"
msgid "Hide Icons"
msgstr "隱藏圖示"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr "隱藏連結下劃線"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -1783,7 +1791,7 @@ msgstr "螢光標記"
#: src/components/input/rich-input.tsx
msgid "Highlight Color"
msgstr ""
msgstr "高亮顏色"
#: src/libs/locale.ts
msgid "Hindi"
@@ -2649,6 +2657,10 @@ msgstr "Reactive Resume 是免費開源的。如果它對您有所幫助,請
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume 是開放原始碼、重視隱私且完全免費的工具。與其他履歷建立工具不同,它不會顯示廣告、不追蹤您的資料,也不會把功能鎖在付費牆後面。"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3315,6 +3327,10 @@ msgstr "字型色彩"
msgid "Thai"
msgstr "泰文"
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr "經紀人需要您的意見。"
+16
View File
@@ -437,6 +437,10 @@ msgstr ""
msgid "Aspect Ratio"
msgstr ""
#: src/routes/_home/-sections/sponsors.tsx
msgid "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
msgstr "Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the project, email <0>{sponsorshipEmail}</0>."
#: src/routes/agent/$threadId.tsx
msgid "Attach files"
msgstr ""
@@ -1745,6 +1749,10 @@ msgstr ""
msgid "Hide Icons"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide Link Underline"
msgstr ""
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
@@ -2644,6 +2652,10 @@ msgstr ""
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr ""
#: src/routes/_home/-sections/sponsors.tsx
msgid "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
msgstr "Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Their sponsorship helps fund hosting, maintenance, and continued development for the community."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
@@ -3310,6 +3322,10 @@ msgstr ""
msgid "Thai"
msgstr ""
#: src/routes/_home/-sections/sponsors.tsx
msgid "Thank you to our sponsors"
msgstr "Thank you to our sponsors"
#: src/routes/agent/$threadId.tsx
msgid "The agent needs your input."
msgstr ""
+37 -36
View File
@@ -4,7 +4,7 @@
"type": "module",
"private": true,
"scripts": {
"build": "rm -rf dist && vite build",
"build": "rimraf dist && vite build",
"dev": "vite dev",
"serve": "vite preview",
"start": "vite preview",
@@ -16,20 +16,20 @@
"lingui:extract": "lingui extract --clean --overwrite"
},
"dependencies": {
"@ai-sdk/react": "^3.0.195",
"@ai-sdk/react": "^3.0.209",
"@base-ui/react": "^1.5.0",
"@better-auth/api-key": "^1.6.13",
"@better-auth/infra": "^0.2.11",
"@better-auth/oauth-provider": "^1.6.13",
"@better-auth/passkey": "^1.6.13",
"@better-auth/api-key": "^1.6.19",
"@better-auth/infra": "^0.2.14",
"@better-auth/oauth-provider": "^1.6.19",
"@better-auth/passkey": "^1.6.19",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@lingui/core": "^6.1.0",
"@lingui/react": "^6.1.0",
"@orpc/client": "^1.14.4",
"@orpc/server": "^1.14.4",
"@orpc/tanstack-query": "^1.14.4",
"@lingui/core": "^6.4.0",
"@lingui/react": "^6.4.0",
"@orpc/client": "^1.14.6",
"@orpc/server": "^1.14.6",
"@orpc/tanstack-query": "^1.14.6",
"@phosphor-icons/react": "^2.1.10",
"@react-pdf/renderer": "^4.5.1",
"@reactive-resume/ai": "workspace:*",
@@ -42,36 +42,36 @@
"@reactive-resume/schema": "workspace:*",
"@reactive-resume/ui": "workspace:*",
"@reactive-resume/utils": "workspace:*",
"@tailwindcss/vite": "^4.3.0",
"@tailwindcss/vite": "^4.3.1",
"@tanstack/react-form": "^1.33.0",
"@tanstack/react-hotkeys": "^0.10.0",
"@tanstack/react-query": "^5.100.14",
"@tanstack/react-router": "^1.170.10",
"@tiptap/extension-color": "^3.24.0",
"@tiptap/extension-highlight": "^3.24.0",
"@tiptap/extension-table": "^3.24.0",
"@tiptap/extension-text-align": "^3.24.0",
"@tiptap/extension-text-style": "^3.24.0",
"@tiptap/pm": "^3.24.0",
"@tiptap/react": "^3.24.0",
"@tiptap/starter-kit": "^3.24.0",
"@tanstack/react-query": "^5.101.0",
"@tanstack/react-router": "^1.170.16",
"@tiptap/extension-color": "^3.27.0",
"@tiptap/extension-highlight": "^3.27.0",
"@tiptap/extension-table": "^3.27.0",
"@tiptap/extension-text-align": "^3.27.0",
"@tiptap/extension-text-style": "^3.27.0",
"@tiptap/pm": "^3.27.0",
"@tiptap/react": "^3.27.0",
"@tiptap/starter-kit": "^3.27.0",
"@types/js-cookie": "^3.0.6",
"@uiw/color-convert": "^2.10.3",
"@uiw/react-color-colorful": "^2.10.3",
"ai": "^6.0.193",
"better-auth": "1.6.13",
"ai": "^6.0.207",
"better-auth": "1.6.19",
"cmdk": "^1.1.1",
"drizzle-orm": "1.0.0-rc.3",
"es-toolkit": "^1.47.0",
"fuse.js": "^7.4.0",
"es-toolkit": "^1.47.1",
"fuse.js": "^7.4.2",
"immer": "^11.1.8",
"js-cookie": "^3.0.8",
"motion": "^12.40.0",
"pdfjs-dist": "6.0.227",
"pg": "^8.21.0",
"qrcode.react": "^4.2.0",
"react": "^19.2.6",
"react-dom": "^19.2.6",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"react-markdown": "^10.1.0",
"react-resizable-panels": "^4.11.2",
"react-window": "^2.2.7",
@@ -83,23 +83,24 @@
"zustand": "^5.0.14"
},
"devDependencies": {
"@babel/core": "^7.29.7",
"@lingui/babel-plugin-lingui-macro": "^6.1.0",
"@lingui/cli": "^6.1.0",
"@lingui/format-po": "^6.1.0",
"@lingui/vite-plugin": "^6.1.0",
"@babel/core": "^8.0.0",
"@lingui/babel-plugin-lingui-macro": "^6.4.0",
"@lingui/cli": "^6.4.0",
"@lingui/format-po": "^6.4.0",
"@lingui/vite-plugin": "^6.4.0",
"@reactive-resume/config": "workspace:*",
"@rolldown/plugin-babel": "^0.2.3",
"@tanstack/router-plugin": "^1.168.13",
"@tanstack/router-plugin": "^1.168.18",
"@types/babel__core": "^7.20.5",
"@types/pg": "^8.20.0",
"@types/react": "^19.2.15",
"@types/react": "^19.2.17",
"@types/react-dom": "^19.2.3",
"@typescript/native-preview": "7.0.0-dev.20260527.2",
"@typescript/native-preview": "7.0.0-dev.20260617.2",
"@vitejs/plugin-react": "^6.0.2",
"babel-plugin-macros": "^3.1.0",
"babel-plugin-react-compiler": "^1.0.0",
"typescript": "^6.0.3",
"rimraf": "^6.1.3",
"vite": "^8.0.16"
}
}
+1
View File
@@ -1,4 +1,5 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<title>Reactive Resume</title>
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#FAFAFA"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2517 137.634 61.6567 137.614C75.0665 136.968 85.1471 135.549 96.385 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7679 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#FAFAFA"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

+1
View File
@@ -1,4 +1,5 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<title>Reactive Resume</title>
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#FAFAFA"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2517 137.634 61.6567 137.614C75.0665 136.968 85.1471 135.549 96.385 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7679 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#FAFAFA"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

+1
View File
@@ -1,4 +1,5 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<title>Reactive Resume</title>
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#09090B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2518 137.634 61.6569 137.614C75.0665 136.968 85.1471 135.549 96.3849 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7678 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#09090B"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

+1
View File
@@ -1,4 +1,5 @@
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<title>Reactive Resume</title>
<rect width="512" height="512" fill="#09090B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M183.603 184.722L156.74 220H183.545L197.032 201.54L209.701 220H237.938L211.008 183.874L211.014 183.866L210.81 183.608L205.927 177.44L197.895 167.292L197.882 167.31L197.669 167.007L196.926 166.068L196.98 166.025L185.367 149.472H157.52L183.603 184.722ZM200.951 163.096L214.129 179.747L237.027 149.472H210.872L200.951 163.096Z" fill="#FAFAFA"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M69.1088 98.9125V190H94.8735V165.797H108.938L108.938 165.797C108.943 165.797 108.948 165.797 108.953 165.797C118.377 165.381 125.285 164.448 133.094 161.494C133.195 161.455 133.296 161.417 133.397 161.378L133.382 161.356C138.893 158.705 143.19 155.066 146.273 150.442C149.569 145.41 151.218 139.468 151.218 132.615C151.218 125.675 149.569 119.689 146.273 114.658C142.976 109.539 138.292 105.636 132.219 102.946C126.234 100.257 119.077 98.9125 110.749 98.9125H69.1088ZM136.456 165.836L111.867 170.09L125.453 190H153.039L136.456 165.836ZM94.8735 145.888H109.187C114.566 145.888 118.556 144.716 121.159 142.374C123.848 140.032 125.193 136.779 125.193 132.615C125.193 128.364 123.848 125.068 121.159 122.725C118.556 120.383 114.566 119.212 109.187 119.212H94.8735V145.888Z" fill="#FAFAFA"/>

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

@@ -0,0 +1,55 @@
<svg role="img" aria-labelledby="atlas-cloud-logo-title" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1224 792">
<title id="atlas-cloud-logo-title">Atlas Cloud</title>
<defs>
<style>
.cls-1 {
clip-path: url(#clippath);
}
.cls-2 {
fill: none;
}
.cls-2, .cls-3 {
stroke-width: 0px;
}
.cls-4 {
clip-path: url(#clippath-1);
}
.cls-5 {
clip-path: url(#clippath-2);
}
.cls-3 {
fill: #000;
}
</style>
<clipPath id="clippath">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
<clipPath id="clippath-1">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
<clipPath id="clippath-2">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
</defs>
<g class="cls-1">
<path class="cls-3" d="M104.38,315.14L20.73,476.86c38.73-15.32,70.03-17.6,98.12-16.26l-12.85-28.4c-5.63-.57-21.86-.57-29.57,1.45l27.95-62.14s42.06,91.31,42.13,91.32c8.09,1.27,29.8,8.55,41.52,14.03l-83.66-161.72Z"/>
</g>
<polygon class="cls-3" points="207.87 323.37 207.87 361.57 189.68 361.57 189.68 381.76 207.87 381.76 207.87 471.35 234.07 471.35 234.07 381.76 252.87 381.76 252.87 361.57 234.07 361.57 234.07 323.37 207.87 323.37"/>
<rect class="cls-3" x="268.07" y="323.37" width="26.19" height="147.98"/>
<g class="cls-4">
<path class="cls-3" d="M340.48,416.95c0,13.6,9.79,33.39,33.39,33.39,14.6,0,24.2-7.6,29.2-17.59,2.6-4.8,3.8-10,4.2-15.4.2-5.2-.8-10.6-3-15.4-4.6-10.4-14.8-19.4-30.6-19.4-21.2,0-33.19,17.2-33.19,34.19v.2ZM433.26,471.35h-26.19v-15.8c-7,12.8-21.6,19.2-36.99,19.2-35.2,0-55.8-27.4-55.8-58.4,0-34.6,25-58.19,55.8-58.19,20,0,32.19,10.6,36.99,19.4v-16h26.19v109.78Z"/>
<path class="cls-3" d="M506.87,391.16c-.2-5.8-3.2-11.8-13.4-11.8-8.8,0-12.99,5.6-12.99,11,.2,7,8.2,10.79,18.6,13.8,17.6,4.8,36.6,10,36.8,33.59.4,22.6-18.6,36.99-41.59,36.99-17,0-40-8.8-41.99-35.39h26.19c1,11.8,11.2,14.2,16.2,14.2,8.2,0,15.2-5.4,15-12.8,0-9.4-8.2-12-28.4-18.99-14.8-4.6-26.79-12.8-26.99-28.6,0-21.6,18.19-35,39.39-35,14.8,0,36.8,6.6,39,33h-25.8Z"/>
<path class="cls-3" d="M760.26,421.76c-9,30.59-37.8,52.39-72.39,52.39-45.19,0-77.59-35.8-77.59-76.99s30.59-76.58,77.39-76.58c42.59.2,66.79,31.59,72.59,53.19h-31.4c-4.6-10.19-17.8-26.79-41.39-26.99-28.8,0-47.39,24.2-47.39,50.39s19.4,50.79,47.6,50.79c26.39,0,38.39-20.8,41.19-26.19h31.4Z"/>
</g>
<rect class="cls-3" x="779.68" y="323.37" width="26.19" height="147.98"/>
<g class="cls-5">
<path class="cls-3" d="M852.09,416.56c0,19.2,14.59,33.39,32.59,33.39s32.4-14.2,32.4-33.6-14.4-33.59-32.4-33.59-32.59,14.2-32.59,33.59v.2ZM825.89,416.15c0-28,20.6-57.79,58.79-57.79s58.79,29.79,58.79,57.99-20.59,58.19-58.79,58.19-58.79-29.79-58.79-58.19v-.2Z"/>
<path class="cls-3" d="M1064.87,471.35h-24.6v-14.6c-4.6,8.6-14.4,18.2-34.19,18-36-.2-42.79-27.6-42.79-46.8v-66.39h26.19v59.79c0,16.2,5.4,28.99,23.99,28.8,18.8,0,25.2-12.4,25.2-28v-60.59h26.2v109.78Z"/>
<path class="cls-3" d="M1111.28,416.35c0,18.6,13.4,33.8,33.59,33.8,9.6,0,18.2-3.8,24.4-10,6.2-6.2,9.8-14.8,9.39-24.4,0-9.6-3.8-17.8-9.8-23.6-6-6-14.39-9.6-23.79-9.6-21.4,0-33.8,16.4-33.8,33.59v.2ZM1203.27,471.35h-25v-15.8c-4.8,8.2-15.2,19.2-37.6,19.2-33.79,0-55.59-26.4-55.59-58.4,0-35.59,25.4-58.19,55.19-58.19,21,0,32.8,11.19,36.8,17.59v-52.39h26.2v147.98Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1,55 @@
<svg role="img" aria-labelledby="atlas-cloud-logo-title" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1224 792">
<title id="atlas-cloud-logo-title">Atlas Cloud</title>
<defs>
<style>
.cls-1 {
clip-path: url(#clippath);
}
.cls-2 {
fill: none;
}
.cls-2, .cls-3 {
stroke-width: 0px;
}
.cls-4 {
clip-path: url(#clippath-1);
}
.cls-5 {
clip-path: url(#clippath-2);
}
.cls-3 {
fill: #fff;
}
</style>
<clipPath id="clippath">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
<clipPath id="clippath-1">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
<clipPath id="clippath-2">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
</defs>
<g class="cls-1">
<path class="cls-3" d="M104.38,315.14L20.73,476.86c38.73-15.32,70.03-17.6,98.12-16.26l-12.85-28.4c-5.63-.57-21.86-.57-29.57,1.45l27.95-62.14s42.06,91.31,42.13,91.32c8.09,1.27,29.8,8.55,41.52,14.03l-83.66-161.72Z"/>
</g>
<polygon class="cls-3" points="207.87 323.37 207.87 361.57 189.68 361.57 189.68 381.76 207.87 381.76 207.87 471.35 234.07 471.35 234.07 381.76 252.87 381.76 252.87 361.57 234.07 361.57 234.07 323.37 207.87 323.37"/>
<rect class="cls-3" x="268.07" y="323.37" width="26.19" height="147.98"/>
<g class="cls-4">
<path class="cls-3" d="M340.48,416.95c0,13.6,9.79,33.39,33.39,33.39,14.6,0,24.2-7.6,29.2-17.59,2.6-4.8,3.8-10,4.2-15.4.2-5.2-.8-10.6-3-15.4-4.6-10.4-14.8-19.4-30.6-19.4-21.2,0-33.19,17.2-33.19,34.19v.2ZM433.26,471.35h-26.19v-15.8c-7,12.8-21.6,19.2-36.99,19.2-35.2,0-55.8-27.4-55.8-58.4,0-34.6,25-58.19,55.8-58.19,20,0,32.19,10.6,36.99,19.4v-16h26.19v109.78Z"/>
<path class="cls-3" d="M506.87,391.16c-.2-5.8-3.2-11.8-13.4-11.8-8.8,0-12.99,5.6-12.99,11,.2,7,8.2,10.79,18.6,13.8,17.6,4.8,36.6,10,36.8,33.59.4,22.6-18.6,36.99-41.59,36.99-17,0-40-8.8-41.99-35.39h26.19c1,11.8,11.2,14.2,16.2,14.2,8.2,0,15.2-5.4,15-12.8,0-9.4-8.2-12-28.4-18.99-14.8-4.6-26.79-12.8-26.99-28.6,0-21.6,18.19-35,39.39-35,14.8,0,36.8,6.6,39,33h-25.8Z"/>
<path class="cls-3" d="M760.26,421.76c-9,30.59-37.8,52.39-72.39,52.39-45.19,0-77.59-35.8-77.59-76.99s30.59-76.58,77.39-76.58c42.59.2,66.79,31.59,72.59,53.19h-31.4c-4.6-10.19-17.8-26.79-41.39-26.99-28.8,0-47.39,24.2-47.39,50.39s19.4,50.79,47.6,50.79c26.39,0,38.39-20.8,41.19-26.19h31.4Z"/>
</g>
<rect class="cls-3" x="779.68" y="323.37" width="26.19" height="147.98"/>
<g class="cls-5">
<path class="cls-3" d="M852.09,416.56c0,19.2,14.59,33.39,32.59,33.39s32.4-14.2,32.4-33.6-14.4-33.59-32.4-33.59-32.59,14.2-32.59,33.59v.2ZM825.89,416.15c0-28,20.6-57.79,58.79-57.79s58.79,29.79,58.79,57.99-20.59,58.19-58.79,58.19-58.79-29.79-58.79-58.19v-.2Z"/>
<path class="cls-3" d="M1064.87,471.35h-24.6v-14.6c-4.6,8.6-14.4,18.2-34.19,18-36-.2-42.79-27.6-42.79-46.8v-66.39h26.19v59.79c0,16.2,5.4,28.99,23.99,28.8,18.8,0,25.2-12.4,25.2-28v-60.59h26.2v109.78Z"/>
<path class="cls-3" d="M1111.28,416.35c0,18.6,13.4,33.8,33.59,33.8,9.6,0,18.2-3.8,24.4-10,6.2-6.2,9.8-14.8,9.39-24.4,0-9.6-3.8-17.8-9.8-23.6-6-6-14.39-9.6-23.79-9.6-21.4,0-33.8,16.4-33.8,33.59v.2ZM1203.27,471.35h-25v-15.8c-4.8,8.2-15.2,19.2-37.6,19.2-33.79,0-55.59-26.4-55.59-58.4,0-35.59,25.4-58.19,55.19-58.19,21,0,32.8,11.19,36.8,17.59v-52.39h26.2v147.98Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1,55 @@
// @vitest-environment happy-dom
import { render } from "@testing-library/react";
import { describe, expect, it } from "vitest";
import { i18n } from "@lingui/core";
import { I18nProvider } from "@lingui/react";
import { Sponsors } from "./sponsors";
const sponsorUrl = "https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=reactive-resume";
i18n.loadAndActivate({ locale: "en", messages: {} });
const renderSponsors = (show: boolean) =>
render(
<I18nProvider i18n={i18n}>
<Sponsors show={show} />
</I18nProvider>,
);
describe("Sponsors", () => {
it("renders nothing when sponsors are hidden", () => {
const { container } = renderSponsors(false);
expect(container).toBeEmptyDOMElement();
});
it("renders the Atlas Cloud sponsor link when sponsors are visible", () => {
const { getByRole } = renderSponsors(true);
const link = getByRole("link", { name: "Atlas Cloud" });
expect(link).toHaveAttribute("href", sponsorUrl);
expect(link).toHaveAttribute("target", "_blank");
expect(link).toHaveAttribute("rel", "noopener noreferrer");
});
it("renders the full Atlas Cloud logo", () => {
const { getByAltText } = renderSponsors(true);
const logo = getByAltText("Atlas Cloud");
expect(logo).toHaveAttribute("src", "/sponsors/atlas-cloud-logo-black.svg");
expect(logo).toHaveClass("h-20");
});
it("thanks sponsors and links sponsorship inquiries to email", () => {
const { getByRole, getByText, queryByText } = renderSponsors(true);
expect(queryByText("Sponsors")).not.toBeInTheDocument();
expect(getByRole("heading", { name: "Thank you to our sponsors" })).toBeInTheDocument();
expect(getByText(/stays free, open-source, and independent/i)).toBeInTheDocument();
expect(getByRole("link", { name: "hello@amruthpillai.com" })).toHaveAttribute(
"href",
"mailto:hello@amruthpillai.com",
);
});
});
@@ -0,0 +1,63 @@
import { Trans } from "@lingui/react/macro";
const atlasCloudUrl = "https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=reactive-resume";
const sponsorshipEmail = "hello@amruthpillai.com";
type SponsorsProps = {
show: boolean;
};
export const Sponsors = ({ show }: SponsorsProps) => {
if (!show) return null;
return (
<section className="px-8 py-20">
<div className="mx-auto flex max-w-4xl flex-col items-center text-center">
<h2 className="max-w-3xl font-semibold text-2xl tracking-tight md:text-4xl">
<Trans>Thank you to our sponsors</Trans>
</h2>
<p className="mt-5 max-w-2xl text-base text-muted-foreground leading-relaxed">
<Trans>
Reactive Resume stays free, open-source, and independent because companies choose to support the work behind
it. Their sponsorship helps fund hosting, maintenance, and continued development for the community.
</Trans>
</p>
<a
href={atlasCloudUrl}
target="_blank"
rel="noopener noreferrer"
aria-label="Atlas Cloud"
className="mt-12 block"
>
<img
src="/sponsors/atlas-cloud-logo-black.svg"
alt="Atlas Cloud"
className="h-20 w-auto md:h-24 dark:hidden"
loading="lazy"
/>
<img
src="/sponsors/atlas-cloud-logo-white.svg"
alt=""
className="hidden h-20 w-auto md:h-24 dark:block"
loading="lazy"
/>
</a>
<p className="mt-8 max-w-2xl text-muted-foreground leading-relaxed">
<Trans>
Atlas Cloud supports Reactive Resume as a project sponsor. If your company would like to sponsor the
project, email{" "}
<a
href={`mailto:${sponsorshipEmail}`}
className="font-medium text-foreground underline-offset-4 hover:underline"
>
{sponsorshipEmail}
</a>
.
</Trans>
</p>
</div>
</section>
);
};
+4
View File
@@ -6,6 +6,7 @@ import { Features } from "./-sections/features";
import { Footer } from "./-sections/footer";
import { Hero } from "./-sections/hero";
import { Prefooter } from "./-sections/prefooter";
import { Sponsors } from "./-sections/sponsors";
import { Statistics } from "./-sections/statistics";
import { Templates } from "./-sections/templates";
import { Testimonials } from "./-sections/testimonials";
@@ -24,6 +25,8 @@ export const Route = createFileRoute("/_home/")({
});
function RouteComponent() {
const { flags } = Route.useRouteContext();
return (
<main id="main-content" className="relative">
<Hero />
@@ -31,6 +34,7 @@ function RouteComponent() {
<div className="container mx-auto px-4 sm:px-6 lg:px-12">
<div className="border-border border-x [&>section:first-child]:border-t-0 [&>section]:border-border [&>section]:border-t">
<Statistics />
<Sponsors show={flags.showSponsors} />
<Features />
<Templates />
<Testimonials />
@@ -258,6 +258,30 @@ function PageSectionForm() {
)}
</form.Field>
<form.Field name="hideLinkUnderline">
{(field) => (
<FormItem
className="col-span-full flex items-center gap-x-3 py-1"
hasError={field.state.meta.isTouched && field.state.meta.errors.length > 0}
>
<FormControl
render={
<Switch
checked={field.state.value}
onCheckedChange={(checked) => {
field.handleChange(checked);
handleAutoSave("hideLinkUnderline", checked);
}}
/>
}
/>
<FormLabel>
<Trans>Hide Link Underline</Trans>
</FormLabel>
</FormItem>
)}
</form.Field>
<form.Field name="hideIcons">
{(field) => (
<FormItem
+1 -1
View File
@@ -47,7 +47,7 @@
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"preset": "recommended",
"correctness": {
"useExhaustiveDependencies": "info"
},
+29
View File
@@ -4,6 +4,35 @@ description: "List of all notable changes and updates to Reactive Resume"
rss: true
---
<Update label="v5.1.9" description="18th June 2026">
## Highlights
- **Better multilingual PDF rendering.** PDF generation now uses script-aware Noto fallback stacks for Korean, Japanese, Traditional and Simplified Chinese, Arabic, Hebrew, and Thai, so non-Latin resumes render more reliably in the live preview and exported PDFs. [#3158](https://github.com/amruthpillai/reactive-resume/pull/3158)
- **Hide Link Underline setting.** Resume page settings now include a dedicated **Hide Link Underline** option that is saved with the resume and respected by PDF templates. [5fb4976ec](https://github.com/amruthpillai/reactive-resume/commit/5fb4976ec), [#3134](https://github.com/amruthpillai/reactive-resume/issues/3134)
- **Sponsor placements.** The landing page and docs now include optional sponsor placements for Atlas Cloud, controlled by a new feature flag so deployments can opt in when appropriate. [f14d8ce69](https://github.com/amruthpillai/reactive-resume/commit/f14d8ce69)
## Resume Builder & Rendering
- Added the **Hide Link Underline** page option to the builder, resume schema, default resume data, import path, and shared PDF link rendering. [5fb4976ec](https://github.com/amruthpillai/reactive-resume/commit/5fb4976ec), [90a9bb9cf](https://github.com/amruthpillai/reactive-resume/commit/90a9bb9cf), [#3134](https://github.com/amruthpillai/reactive-resume/issues/3134)
- Fixed mixed CJK and Latin word wrapping so CJK text can still break per character without splitting Latin words letter by letter. [#3136](https://github.com/amruthpillai/reactive-resume/pull/3136)
- Added locale and content-aware PDF fallback fonts for Korean, Japanese, Chinese, Arabic, Hebrew, and Thai, while keeping CJK-specific line breaking limited to CJK scripts. [#3158](https://github.com/amruthpillai/reactive-resume/pull/3158)
- Fixed redacted resume access checks so placeholder resume data uses a non-empty name. [#3138](https://github.com/amruthpillai/reactive-resume/pull/3138)
## AI, MCP & Self-Hosting
- Fixed AI resume analysis when model responses wrap JSON in Markdown code fences. [#3142](https://github.com/amruthpillai/reactive-resume/pull/3142)
- Added `FLAG_DISABLE_API_RATE_LIMIT` for trusted self-hosted deployments that need to disable authentication API rate limiting, and documented it in the Docker self-hosting guide. [#3149](https://github.com/amruthpillai/reactive-resume/pull/3149)
- Added `FLAG_SHOW_SPONSORS`, sponsor assets, landing-page placement, docs navigation, and README sponsor information for Atlas Cloud. [f14d8ce69](https://github.com/amruthpillai/reactive-resume/commit/f14d8ce69)
- Fixed the MCP PDF download test mock to match the current tool behavior. [#3144](https://github.com/amruthpillai/reactive-resume/pull/3144)
## Localization & Maintenance
- Synced translation catalogs from Crowdin across the app. [#3132](https://github.com/amruthpillai/reactive-resume/pull/3132), [#3135](https://github.com/amruthpillai/reactive-resume/pull/3135), [#3148](https://github.com/amruthpillai/reactive-resume/pull/3148), [#3162](https://github.com/amruthpillai/reactive-resume/pull/3162)
- Updated workspace dependencies and refreshed linting/tooling configuration. [042d076ef](https://github.com/amruthpillai/reactive-resume/commit/042d076ef), [37faf592b](https://github.com/amruthpillai/reactive-resume/commit/37faf592b), [ef5ff30b](https://github.com/amruthpillai/reactive-resume/commit/ef5ff30b)
**Full Changelog**: [v5.1.8...v5.1.9](https://github.com/amruthpillai/reactive-resume/compare/v5.1.8...v5.1.9)
</Update>
<Update label="v5.1.8" description="1st June 2026">
## Highlights
+18
View File
@@ -0,0 +1,18 @@
---
title: Sponsors
description: Meet the sponsors supporting Reactive Resume.
---
Reactive Resume stays free, open-source, and independent because companies choose to support the work behind it. Thank you to every sponsor who helps fund hosting, maintenance, and continued development for the community.
## Atlas Cloud
<img src="/images/sponsors/atlas-cloud-logo-white.svg" alt="Atlas Cloud" width="360" />
[Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=reactive-resume) supports Reactive Resume as a project sponsor. Atlas Cloud provides a unified AI platform for developers, with access to hundreds of models for chat, image generation, video generation, media processing, and GPU cloud workloads through one API key, one endpoint, and one billing account.
Explore Atlas Cloud at [atlascloud.ai](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=reactive-resume).
## Sponsor Reactive Resume
If your company would like to sponsor Reactive Resume, email [hello@amruthpillai.com](mailto:hello@amruthpillai.com).
+1 -1
View File
@@ -105,7 +105,7 @@
},
{
"group": "Community",
"pages": ["community/spotlight"]
"pages": ["community/sponsors", "community/spotlight"]
},
{
"group": "Legal",
+1
View File
@@ -1,4 +1,5 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<title>Reactive Resume</title>
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#FAFAFA"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2517 137.634 61.6567 137.614C75.0665 136.968 85.1471 135.549 96.385 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7679 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#FAFAFA"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

+1
View File
@@ -207,6 +207,7 @@ Here's a complete list of environment variables you can configure:
| `FLAG_DISABLE_SIGNUPS` | Disables new user signups | `false` |
| `FLAG_DISABLE_EMAIL_AUTH` | Disables email/password login (SSO only) | `false` |
| `FLAG_DISABLE_IMAGE_PROCESSING` | Disables image processing | `false` |
| `FLAG_SHOW_SPONSORS` | Shows sponsor placements on the public landing page | `false` |
| `FLAG_ALLOW_UNSAFE_OAUTH_REDIRECT_URI` | Allows arbitrary dynamic OAuth redirect URIs | `false` |
| `FLAG_ALLOW_UNSAFE_AI_BASE_URL` | Allows unsafe/private/non-public AI provider base URLs | `false` |
@@ -0,0 +1,55 @@
<svg role="img" aria-labelledby="atlas-cloud-logo-title" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1224 792">
<title id="atlas-cloud-logo-title">Atlas Cloud</title>
<defs>
<style>
.cls-1 {
clip-path: url(#clippath);
}
.cls-2 {
fill: none;
}
.cls-2, .cls-3 {
stroke-width: 0px;
}
.cls-4 {
clip-path: url(#clippath-1);
}
.cls-5 {
clip-path: url(#clippath-2);
}
.cls-3 {
fill: #000;
}
</style>
<clipPath id="clippath">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
<clipPath id="clippath-1">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
<clipPath id="clippath-2">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
</defs>
<g class="cls-1">
<path class="cls-3" d="M104.38,315.14L20.73,476.86c38.73-15.32,70.03-17.6,98.12-16.26l-12.85-28.4c-5.63-.57-21.86-.57-29.57,1.45l27.95-62.14s42.06,91.31,42.13,91.32c8.09,1.27,29.8,8.55,41.52,14.03l-83.66-161.72Z"/>
</g>
<polygon class="cls-3" points="207.87 323.37 207.87 361.57 189.68 361.57 189.68 381.76 207.87 381.76 207.87 471.35 234.07 471.35 234.07 381.76 252.87 381.76 252.87 361.57 234.07 361.57 234.07 323.37 207.87 323.37"/>
<rect class="cls-3" x="268.07" y="323.37" width="26.19" height="147.98"/>
<g class="cls-4">
<path class="cls-3" d="M340.48,416.95c0,13.6,9.79,33.39,33.39,33.39,14.6,0,24.2-7.6,29.2-17.59,2.6-4.8,3.8-10,4.2-15.4.2-5.2-.8-10.6-3-15.4-4.6-10.4-14.8-19.4-30.6-19.4-21.2,0-33.19,17.2-33.19,34.19v.2ZM433.26,471.35h-26.19v-15.8c-7,12.8-21.6,19.2-36.99,19.2-35.2,0-55.8-27.4-55.8-58.4,0-34.6,25-58.19,55.8-58.19,20,0,32.19,10.6,36.99,19.4v-16h26.19v109.78Z"/>
<path class="cls-3" d="M506.87,391.16c-.2-5.8-3.2-11.8-13.4-11.8-8.8,0-12.99,5.6-12.99,11,.2,7,8.2,10.79,18.6,13.8,17.6,4.8,36.6,10,36.8,33.59.4,22.6-18.6,36.99-41.59,36.99-17,0-40-8.8-41.99-35.39h26.19c1,11.8,11.2,14.2,16.2,14.2,8.2,0,15.2-5.4,15-12.8,0-9.4-8.2-12-28.4-18.99-14.8-4.6-26.79-12.8-26.99-28.6,0-21.6,18.19-35,39.39-35,14.8,0,36.8,6.6,39,33h-25.8Z"/>
<path class="cls-3" d="M760.26,421.76c-9,30.59-37.8,52.39-72.39,52.39-45.19,0-77.59-35.8-77.59-76.99s30.59-76.58,77.39-76.58c42.59.2,66.79,31.59,72.59,53.19h-31.4c-4.6-10.19-17.8-26.79-41.39-26.99-28.8,0-47.39,24.2-47.39,50.39s19.4,50.79,47.6,50.79c26.39,0,38.39-20.8,41.19-26.19h31.4Z"/>
</g>
<rect class="cls-3" x="779.68" y="323.37" width="26.19" height="147.98"/>
<g class="cls-5">
<path class="cls-3" d="M852.09,416.56c0,19.2,14.59,33.39,32.59,33.39s32.4-14.2,32.4-33.6-14.4-33.59-32.4-33.59-32.59,14.2-32.59,33.59v.2ZM825.89,416.15c0-28,20.6-57.79,58.79-57.79s58.79,29.79,58.79,57.99-20.59,58.19-58.79,58.19-58.79-29.79-58.79-58.19v-.2Z"/>
<path class="cls-3" d="M1064.87,471.35h-24.6v-14.6c-4.6,8.6-14.4,18.2-34.19,18-36-.2-42.79-27.6-42.79-46.8v-66.39h26.19v59.79c0,16.2,5.4,28.99,23.99,28.8,18.8,0,25.2-12.4,25.2-28v-60.59h26.2v109.78Z"/>
<path class="cls-3" d="M1111.28,416.35c0,18.6,13.4,33.8,33.59,33.8,9.6,0,18.2-3.8,24.4-10,6.2-6.2,9.8-14.8,9.39-24.4,0-9.6-3.8-17.8-9.8-23.6-6-6-14.39-9.6-23.79-9.6-21.4,0-33.8,16.4-33.8,33.59v.2ZM1203.27,471.35h-25v-15.8c-4.8,8.2-15.2,19.2-37.6,19.2-33.79,0-55.59-26.4-55.59-58.4,0-35.59,25.4-58.19,55.19-58.19,21,0,32.8,11.19,36.8,17.59v-52.39h26.2v147.98Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1,55 @@
<svg role="img" aria-labelledby="atlas-cloud-logo-title" id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1224 792">
<title id="atlas-cloud-logo-title">Atlas Cloud</title>
<defs>
<style>
.cls-1 {
clip-path: url(#clippath);
}
.cls-2 {
fill: none;
}
.cls-2, .cls-3 {
stroke-width: 0px;
}
.cls-4 {
clip-path: url(#clippath-1);
}
.cls-5 {
clip-path: url(#clippath-2);
}
.cls-3 {
fill: #fff;
}
</style>
<clipPath id="clippath">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
<clipPath id="clippath-1">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
<clipPath id="clippath-2">
<rect class="cls-2" x="20.73" y="315.14" width="1182.55" height="161.72"/>
</clipPath>
</defs>
<g class="cls-1">
<path class="cls-3" d="M104.38,315.14L20.73,476.86c38.73-15.32,70.03-17.6,98.12-16.26l-12.85-28.4c-5.63-.57-21.86-.57-29.57,1.45l27.95-62.14s42.06,91.31,42.13,91.32c8.09,1.27,29.8,8.55,41.52,14.03l-83.66-161.72Z"/>
</g>
<polygon class="cls-3" points="207.87 323.37 207.87 361.57 189.68 361.57 189.68 381.76 207.87 381.76 207.87 471.35 234.07 471.35 234.07 381.76 252.87 381.76 252.87 361.57 234.07 361.57 234.07 323.37 207.87 323.37"/>
<rect class="cls-3" x="268.07" y="323.37" width="26.19" height="147.98"/>
<g class="cls-4">
<path class="cls-3" d="M340.48,416.95c0,13.6,9.79,33.39,33.39,33.39,14.6,0,24.2-7.6,29.2-17.59,2.6-4.8,3.8-10,4.2-15.4.2-5.2-.8-10.6-3-15.4-4.6-10.4-14.8-19.4-30.6-19.4-21.2,0-33.19,17.2-33.19,34.19v.2ZM433.26,471.35h-26.19v-15.8c-7,12.8-21.6,19.2-36.99,19.2-35.2,0-55.8-27.4-55.8-58.4,0-34.6,25-58.19,55.8-58.19,20,0,32.19,10.6,36.99,19.4v-16h26.19v109.78Z"/>
<path class="cls-3" d="M506.87,391.16c-.2-5.8-3.2-11.8-13.4-11.8-8.8,0-12.99,5.6-12.99,11,.2,7,8.2,10.79,18.6,13.8,17.6,4.8,36.6,10,36.8,33.59.4,22.6-18.6,36.99-41.59,36.99-17,0-40-8.8-41.99-35.39h26.19c1,11.8,11.2,14.2,16.2,14.2,8.2,0,15.2-5.4,15-12.8,0-9.4-8.2-12-28.4-18.99-14.8-4.6-26.79-12.8-26.99-28.6,0-21.6,18.19-35,39.39-35,14.8,0,36.8,6.6,39,33h-25.8Z"/>
<path class="cls-3" d="M760.26,421.76c-9,30.59-37.8,52.39-72.39,52.39-45.19,0-77.59-35.8-77.59-76.99s30.59-76.58,77.39-76.58c42.59.2,66.79,31.59,72.59,53.19h-31.4c-4.6-10.19-17.8-26.79-41.39-26.99-28.8,0-47.39,24.2-47.39,50.39s19.4,50.79,47.6,50.79c26.39,0,38.39-20.8,41.19-26.19h31.4Z"/>
</g>
<rect class="cls-3" x="779.68" y="323.37" width="26.19" height="147.98"/>
<g class="cls-5">
<path class="cls-3" d="M852.09,416.56c0,19.2,14.59,33.39,32.59,33.39s32.4-14.2,32.4-33.6-14.4-33.59-32.4-33.59-32.59,14.2-32.59,33.59v.2ZM825.89,416.15c0-28,20.6-57.79,58.79-57.79s58.79,29.79,58.79,57.99-20.59,58.19-58.79,58.19-58.79-29.79-58.79-58.19v-.2Z"/>
<path class="cls-3" d="M1064.87,471.35h-24.6v-14.6c-4.6,8.6-14.4,18.2-34.19,18-36-.2-42.79-27.6-42.79-46.8v-66.39h26.19v59.79c0,16.2,5.4,28.99,23.99,28.8,18.8,0,25.2-12.4,25.2-28v-60.59h26.2v109.78Z"/>
<path class="cls-3" d="M1111.28,416.35c0,18.6,13.4,33.8,33.59,33.8,9.6,0,18.2-3.8,24.4-10,6.2-6.2,9.8-14.8,9.39-24.4,0-9.6-3.8-17.8-9.8-23.6-6-6-14.39-9.6-23.79-9.6-21.4,0-33.8,16.4-33.8,33.59v.2ZM1203.27,471.35h-25v-15.8c-4.8,8.2-15.2,19.2-37.6,19.2-33.79,0-55.59-26.4-55.59-58.4,0-35.59,25.4-58.19,55.19-58.19,21,0,32.8,11.19,36.8,17.59v-52.39h26.2v147.98Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

+1
View File
@@ -1,4 +1,5 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<title>Reactive Resume</title>
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#FAFAFA"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2517 137.634 61.6567 137.614C75.0665 136.968 85.1471 135.549 96.385 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7679 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#FAFAFA"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

+1
View File
@@ -1,4 +1,5 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<title>Reactive Resume</title>
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.611 166.311L132.877 219.804H173.524L193.973 191.813L213.183 219.804H256L215.673 165.707L215.15 165.046L207.461 155.332L195.329 140.004L195.258 139.915L193.813 138.089L193.923 138.001L176.286 112.861H134.061L173.611 166.311ZM199.89 133.554L214.959 112.861H254.619L219.874 158.8L199.89 133.554Z" fill="#09090B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 36.1959V174.314H39.0678V137.614H60.3938L60.4323 137.671C60.8436 137.653 61.2518 137.634 61.6569 137.614C75.0665 136.968 85.1471 135.549 96.3849 131.385C96.7596 131.246 97.1355 131.104 97.5128 130.959L97.4591 130.881C105.816 126.86 112.331 121.344 117.006 114.331C122.005 106.702 124.504 97.6915 124.504 87.2997C124.504 76.7764 122.005 67.7 117.006 60.0706C112.007 52.3097 104.904 46.3903 95.6964 42.3125C86.62 38.2347 75.7678 36.1959 63.1399 36.1959H0ZM102.156 137.725L64.8705 144.175L85.4361 174.314H127.266L102.156 137.725ZM39.0678 107.426H60.7721C68.9277 107.426 74.9786 105.65 78.9248 102.098C83.0026 98.5465 85.0415 93.6137 85.0415 87.2997C85.0415 80.8542 83.0026 75.8556 78.9248 72.304C74.9786 68.7523 68.9277 66.9765 60.7721 66.9765H39.0678V107.426Z" fill="#09090B"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

+4
View File
@@ -117,6 +117,8 @@ ENCRYPTION_SECRET=""
FLAG_DISABLE_SIGNUPS="false"
FLAG_DISABLE_EMAIL_AUTH="false"
FLAG_DISABLE_IMAGE_PROCESSING="false"
FLAG_DISABLE_API_RATE_LIMIT="false"
FLAG_SHOW_SPONSORS="false"
# Allows any parseable dynamic OAuth redirect URI. Keep false unless this is a trusted self-hosted deployment.
FLAG_ALLOW_UNSAFE_OAUTH_REDIRECT_URI="false"
# Allows unsafe/private/non-public AI provider base URLs. Keep false unless this is a trusted self-hosted deployment.
@@ -356,6 +358,8 @@ openssl rand -hex 32
- **`FLAG_DISABLE_SIGNUPS`**: Disables new signups (web app and server). Useful for private instances.
- **`FLAG_DISABLE_EMAIL_AUTH`**: Disables email/password login entirely. Also disables email verification, forgot password, and reset password flows. Users can still sign up via social auth (Google/GitHub/LinkedIn/Custom OAuth), unless FLAG_DISABLE_SIGNUPS is also set to true. Useful when only SSO is required.
- **`FLAG_DISABLE_IMAGE_PROCESSING`**: Disables image processing. This is useful if you are using a machine with limited resources, like a Raspberry Pi.
- **`FLAG_DISABLE_API_RATE_LIMIT`**: Disables API rate limiting for authentication endpoints. Rate limiting is enabled by default in production to prevent abuse.
- **`FLAG_SHOW_SPONSORS`**: Shows sponsor placements on the public landing page. Disabled by default for self-hosted instances.
- **`FLAG_ALLOW_UNSAFE_OAUTH_REDIRECT_URI`**: Allows dynamic OAuth client registration to use any parseable redirect URI, including custom schemes, private hosts, and non-loopback `http://` URLs. **Warning: enabling this on a public or multi-tenant deployment can enable phishing or token exfiltration.** Only enable on trusted, self-hosted deployments.
- **`FLAG_ALLOW_UNSAFE_AI_BASE_URL`**: Allows AI providers to be configured with unsafe, private, or non-public base URLs, including `http://` and private/loopback addresses (for example, a local Ollama instance at `http://192.168.1.10:11434`). Public HTTPS provider URLs remain the safe default. **Warning: enabling this on a multi-tenant deployment is an SSRF risk.** Only enable on trusted, self-hosted deployments.
</Accordion>
+5 -1
View File
@@ -2290,9 +2290,13 @@
"disableEmailAuth": {
"type": "boolean",
"description": "Whether email-based authentication is disabled on this instance."
},
"showSponsors": {
"type": "boolean",
"description": "Whether sponsor placements are shown on this instance."
}
},
"required": ["disableSignups", "disableEmailAuth"]
"required": ["disableSignups", "disableEmailAuth", "showSponsors"]
}
}
}
+10 -10
View File
@@ -1,7 +1,7 @@
{
"name": "reactive-resume",
"description": "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume.",
"version": "5.1.8",
"version": "5.1.9",
"private": true,
"license": "MIT",
"author": {
@@ -13,7 +13,7 @@
"type": "git",
"url": "https://github.com/amruthpillai/reactive-resume.git"
},
"packageManager": "pnpm@11.5.0",
"packageManager": "pnpm@11.7.0",
"workspaces": [
"apps/*",
"packages/*",
@@ -38,7 +38,7 @@
"test:agent": "turbo run test:agent"
},
"devDependencies": {
"@biomejs/biome": "^2.4.16",
"@biomejs/biome": "^2.5.0",
"@commitlint/cli": "^21.0.2",
"@commitlint/config-conventional": "^21.0.2",
"@reactive-resume/config": "workspace:*",
@@ -46,14 +46,14 @@
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/node": "^25.9.1",
"@vitest/coverage-v8": "^4.1.8",
"happy-dom": "^20.9.0",
"knip": "^6.15.0",
"@types/node": "^25.9.3",
"@vitest/coverage-v8": "^4.1.9",
"happy-dom": "^20.10.5",
"knip": "^6.17.1",
"lefthook": "^2.1.9",
"npm-check-updates": "^22.2.1",
"turbo": "^2.9.16",
"npm-check-updates": "^22.2.3",
"turbo": "^2.9.18",
"typescript": "^6.0.3",
"vitest": "^4.1.8"
"vitest": "^4.1.9"
}
}
+1 -1
View File
@@ -29,7 +29,7 @@
},
"devDependencies": {
"@reactive-resume/config": "workspace:*",
"@typescript/native-preview": "7.0.0-dev.20260527.2",
"@typescript/native-preview": "7.0.0-dev.20260617.2",
"typescript": "^6.0.3"
}
}
+16 -16
View File
@@ -19,14 +19,14 @@
"test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests"
},
"dependencies": {
"@ai-sdk/anthropic": "^3.0.81",
"@ai-sdk/google": "^3.0.80",
"@ai-sdk/openai": "^3.0.67",
"@ai-sdk/openai-compatible": "^2.0.48",
"@aws-sdk/client-s3": "^3.1057.0",
"@orpc/client": "^1.14.4",
"@orpc/experimental-ratelimit": "^1.14.4",
"@orpc/server": "^1.14.4",
"@ai-sdk/anthropic": "^3.0.85",
"@ai-sdk/google": "^3.0.83",
"@ai-sdk/openai": "^3.0.72",
"@ai-sdk/openai-compatible": "^2.0.51",
"@aws-sdk/client-s3": "^3.1070.0",
"@orpc/client": "^1.14.6",
"@orpc/experimental-ratelimit": "^1.14.6",
"@orpc/server": "^1.14.6",
"@reactive-resume/ai": "workspace:*",
"@reactive-resume/auth": "workspace:*",
"@reactive-resume/db": "workspace:*",
@@ -35,24 +35,24 @@
"@reactive-resume/resume": "workspace:*",
"@reactive-resume/schema": "workspace:*",
"@reactive-resume/utils": "workspace:*",
"ai": "^6.0.193",
"ai": "^6.0.207",
"bcrypt": "^6.0.0",
"better-auth": "1.6.13",
"better-auth": "1.6.19",
"drizzle-orm": "1.0.0-rc.3",
"drizzle-zod": "1.0.0-beta.14-a36c63d",
"es-toolkit": "^1.47.0",
"ioredis": "^5.11.0",
"ollama-ai-provider-v2": "^3.5.1",
"react": "^19.2.6",
"es-toolkit": "^1.47.1",
"ioredis": "^5.11.1",
"ollama-ai-provider-v2": "^3.6.0",
"react": "^19.2.7",
"resumable-stream": "^2.2.12",
"sharp": "^0.34.5",
"sharp": "^0.35.1",
"ts-pattern": "^5.9.0",
"zod": "^4.4.3"
},
"devDependencies": {
"@reactive-resume/config": "workspace:*",
"@types/bcrypt": "^6.0.0",
"@typescript/native-preview": "7.0.0-dev.20260527.2",
"@typescript/native-preview": "7.0.0-dev.20260617.2",
"typescript": "^6.0.3"
}
}
+1 -1
View File
@@ -28,7 +28,7 @@ describe("resume DTO output validation", () => {
hasPassword: dbResume.hasPassword,
};
expect(publicResume.name).toBe("");
expect(publicResume.name).toBe("Resume");
expect(publicResume.data.metadata.notes).toBe("");
expect(resumeDto.getBySlug.output.safeParse(publicResume).success).toBe(true);
});
+7 -6
View File
@@ -23,8 +23,9 @@ function isCredentialEncryptionUnavailable(error: unknown): boolean {
return error instanceof Error && error.message === "AI_CREDENTIAL_ENCRYPTION_UNAVAILABLE";
}
function throwAiProviderGatewayError(): never {
throw new ORPCError("BAD_GATEWAY", { message: "Could not reach the AI provider." });
/** Throws a BAD_GATEWAY ORPCError, preserving the original cause for upstream error reporters. */
function throwAiProviderGatewayError(cause?: unknown): never {
throw new ORPCError("BAD_GATEWAY", { message: "Could not reach the AI provider.", cause });
}
function throwAiProviderConfigError(): never {
@@ -85,7 +86,7 @@ export const aiRouter = {
} catch (error) {
if (isCredentialEncryptionUnavailable(error)) throwCredentialEncryptionUnavailable();
if (isInvalidAiBaseUrlError(error)) throwAiProviderConfigError();
if (isAiProviderGatewayError(error)) throwAiProviderGatewayError();
if (isAiProviderGatewayError(error)) throwAiProviderGatewayError(error);
if (error instanceof ZodError) throwResumeStructureError(error);
throw error;
}
@@ -131,7 +132,7 @@ export const aiRouter = {
} catch (error) {
if (isCredentialEncryptionUnavailable(error)) throwCredentialEncryptionUnavailable();
if (isInvalidAiBaseUrlError(error)) throwAiProviderConfigError();
if (isAiProviderGatewayError(error)) throwAiProviderGatewayError();
if (isAiProviderGatewayError(error)) throwAiProviderGatewayError(error);
if (error instanceof ZodError) throwResumeStructureError(error);
throw error;
}
@@ -174,7 +175,7 @@ export const aiRouter = {
} catch (error) {
if (isCredentialEncryptionUnavailable(error)) throwCredentialEncryptionUnavailable();
if (isInvalidAiBaseUrlError(error)) throwAiProviderConfigError();
if (isAiProviderGatewayError(error)) throwAiProviderGatewayError();
if (isAiProviderGatewayError(error)) throwAiProviderGatewayError(error);
throw error;
}
}),
@@ -228,7 +229,7 @@ export const aiRouter = {
} catch (error) {
if (isCredentialEncryptionUnavailable(error)) throwCredentialEncryptionUnavailable();
if (isInvalidAiBaseUrlError(error)) throwAiProviderConfigError();
if (isAiProviderGatewayError(error)) throwAiProviderGatewayError();
if (isAiProviderGatewayError(error)) throwAiProviderGatewayError(error);
if (error instanceof ZodError) {
throw new ORPCError("BAD_REQUEST", {
message: "Invalid resume analysis structure",
+15 -5
View File
@@ -28,7 +28,7 @@ import {
} from "@reactive-resume/ai/tools/patch-proposal";
import { aiProviderSchema } from "@reactive-resume/ai/types";
import { applyResumePatches } from "@reactive-resume/resume/patch";
import { resumeAnalysisOutputSchema, resumeAnalysisSchema } from "@reactive-resume/schema/resume/analysis";
import { resumeAnalysisSchema } from "@reactive-resume/schema/resume/analysis";
import { supportsProviderNativeWebSearch } from "./capabilities";
import { resolveAiBaseUrl } from "./url-policy";
@@ -248,28 +248,38 @@ function buildAnalyzeResumeSystemPrompt(resumeData: ResumeData): string {
return `${analyzeResumeSystemPromptTemplate}\n\n## Resume Data\n\n${JSON.stringify(resumeData, null, 2)}`;
}
/** Sends resume data to the AI provider and returns a structured analysis, parsing raw JSON from the response text. */
async function analyzeResume(input: AnalyzeResumeInput): Promise<ResumeAnalysis> {
const model = getModel(input);
const systemPrompt = buildAnalyzeResumeSystemPrompt(input.resumeData);
const result = await generateText({
model,
output: Output.object({ schema: resumeAnalysisOutputSchema }),
messages: [
{ role: "system", content: systemPrompt },
{
role: "user",
content:
"Analyze this resume and return a structured report with scorecard, overall score, strengths, and actionable suggestions.",
"Analyze this resume and return a structured report with scorecard, overall score, strengths, and actionable suggestions. Return ONLY raw JSON, no markdown fences or explanations.",
},
],
});
if (result.output == null) {
const text = result.text;
const fenceMatch = text.match(/```(?:json)?\s*([\s\S]*?)\s*```/);
const candidate = fenceMatch?.[1] ?? text;
const firstBrace = candidate.indexOf("{");
const lastBrace = candidate.lastIndexOf("}");
if (firstBrace === -1 || lastBrace === -1 || lastBrace < firstBrace) {
throw new Error("AI returned no structured analysis output.");
}
return resumeAnalysisSchema.parse(result.output);
const jsonString = candidate.substring(firstBrace, lastBrace + 1);
const parsed = JSON.parse(jsonString);
return resumeAnalysisSchema.parse(parsed);
}
export const aiService = {
@@ -19,6 +19,7 @@ export const flagsRouter = {
z.object({
disableSignups: z.boolean().describe("Whether new user signups are disabled on this instance."),
disableEmailAuth: z.boolean().describe("Whether email-based authentication is disabled on this instance."),
showSponsors: z.boolean().describe("Whether sponsor placements are shown on this instance."),
}),
)
.handler((): FeatureFlags => flagsService.getFlags()),
@@ -3,6 +3,7 @@ import { describe, expect, it, vi } from "vitest";
const envMock = vi.hoisted(() => ({
FLAG_DISABLE_SIGNUPS: false,
FLAG_DISABLE_EMAIL_AUTH: false,
FLAG_SHOW_SPONSORS: false,
}));
vi.mock("@reactive-resume/env/server", () => ({ env: envMock }));
@@ -16,6 +17,7 @@ describe("flagsService.getFlags", () => {
expect(flagsService.getFlags()).toEqual({
disableSignups: false,
disableEmailAuth: false,
showSponsors: false,
});
});
@@ -25,6 +27,7 @@ describe("flagsService.getFlags", () => {
expect(flagsService.getFlags()).toEqual({
disableSignups: true,
disableEmailAuth: false,
showSponsors: false,
});
});
@@ -34,16 +37,32 @@ describe("flagsService.getFlags", () => {
expect(flagsService.getFlags()).toEqual({
disableSignups: false,
disableEmailAuth: true,
showSponsors: false,
});
});
it("returns showSponsors=true when env flag is set", () => {
envMock.FLAG_DISABLE_SIGNUPS = false;
envMock.FLAG_DISABLE_EMAIL_AUTH = false;
envMock.FLAG_SHOW_SPONSORS = true;
expect(flagsService.getFlags()).toEqual({
disableSignups: false,
disableEmailAuth: false,
showSponsors: true,
});
});
it("reads the latest env values on every call (no stale cache)", () => {
envMock.FLAG_DISABLE_SIGNUPS = false;
envMock.FLAG_SHOW_SPONSORS = false;
const before = flagsService.getFlags();
envMock.FLAG_DISABLE_SIGNUPS = true;
envMock.FLAG_SHOW_SPONSORS = true;
const after = flagsService.getFlags();
expect(before.disableSignups).toBe(false);
expect(after.disableSignups).toBe(true);
expect(before.showSponsors).toBe(false);
expect(after.showSponsors).toBe(true);
});
});
@@ -3,11 +3,13 @@ import { env } from "@reactive-resume/env/server";
export type FeatureFlags = {
disableSignups: boolean;
disableEmailAuth: boolean;
showSponsors: boolean;
};
export const flagsService = {
getFlags: (): FeatureFlags => ({
disableSignups: env.FLAG_DISABLE_SIGNUPS,
disableEmailAuth: env.FLAG_DISABLE_EMAIL_AUTH,
showSponsors: env.FLAG_SHOW_SPONSORS,
}),
};
@@ -53,13 +53,13 @@ describe("redactResumeForViewer", () => {
expect(redactResumeForViewer(resume, true)).toBe(resume);
});
it("strips name to empty for non-owner", () => {
it("replaces name with placeholder for non-owner", () => {
const resume = {
name: "Senior Eng @ Foo — final draft",
data: defaultResumeData,
};
const result = redactResumeForViewer(resume, false);
expect(result.name).toBe("");
expect(result.name).toBe("Resume");
});
it("strips metadata.notes for non-owner", () => {
@@ -56,7 +56,7 @@ export function redactResumeForViewer<T extends { name: string; data: ResumeData
return {
...resume,
name: "",
name: "Resume",
data: {
...resume.data,
metadata: {
+9 -9
View File
@@ -16,27 +16,27 @@
"test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests"
},
"dependencies": {
"@better-auth/api-key": "^1.6.13",
"@better-auth/drizzle-adapter": "^1.6.13",
"@better-auth/infra": "^0.2.11",
"@better-auth/oauth-provider": "^1.6.13",
"@better-auth/passkey": "^1.6.13",
"@better-auth/api-key": "^1.6.19",
"@better-auth/drizzle-adapter": "^1.6.19",
"@better-auth/infra": "^0.2.14",
"@better-auth/oauth-provider": "^1.6.19",
"@better-auth/passkey": "^1.6.19",
"@reactive-resume/db": "workspace:*",
"@reactive-resume/email": "workspace:*",
"@reactive-resume/env": "workspace:*",
"@reactive-resume/utils": "workspace:*",
"bcrypt": "^6.0.0",
"better-auth": "1.6.13",
"better-auth": "1.6.19",
"drizzle-orm": "1.0.0-rc.3",
"jose": "^6.2.3",
"react": "^19.2.6",
"react": "^19.2.7",
"zod": "^4.4.3"
},
"devDependencies": {
"@reactive-resume/config": "workspace:*",
"@types/bcrypt": "^6.0.0",
"@types/react": "^19.2.15",
"@typescript/native-preview": "7.0.0-dev.20260527.2",
"@types/react": "^19.2.17",
"@typescript/native-preview": "7.0.0-dev.20260617.2",
"typescript": "^6.0.3"
}
}
+1 -1
View File
@@ -26,7 +26,7 @@ import { createGithubProfileMapper, createProfileMapper } from "./oauth-profile"
import { getTrustedOrigins } from "./trusted-origins";
const authBaseUrl = env.APP_URL;
const isRateLimitEnabled = process.env.NODE_ENV === "production";
const isRateLimitEnabled = process.env.NODE_ENV === "production" && !env.FLAG_DISABLE_API_RATE_LIMIT;
function getOAuthAudiences(): string[] {
const base = authBaseUrl.replace(/\/$/, "");
+1 -1
View File
@@ -31,7 +31,7 @@
"devDependencies": {
"@reactive-resume/config": "workspace:*",
"@types/pg": "^8.20.0",
"@typescript/native-preview": "7.0.0-dev.20260527.2",
"@typescript/native-preview": "7.0.0-dev.20260617.2",
"drizzle-kit": "1.0.0-rc.3",
"typescript": "^6.0.3"
}
+1 -1
View File
@@ -20,7 +20,7 @@
},
"devDependencies": {
"@reactive-resume/config": "workspace:*",
"@typescript/native-preview": "7.0.0-dev.20260527.2",
"@typescript/native-preview": "7.0.0-dev.20260617.2",
"typescript": "^6.0.3"
}
}
+7 -7
View File
@@ -17,16 +17,16 @@
},
"dependencies": {
"@reactive-resume/env": "workspace:*",
"nodemailer": "^8.0.10",
"react": "^19.2.6",
"react-email": "^6.5.0"
"nodemailer": "^9.0.0",
"react": "^19.2.7",
"react-email": "^6.6.3"
},
"devDependencies": {
"@react-email/ui": "^6.5.0",
"@react-email/ui": "^6.6.3",
"@reactive-resume/config": "workspace:*",
"@types/nodemailer": "^8.0.0",
"@types/react": "^19.2.15",
"@typescript/native-preview": "7.0.0-dev.20260527.2",
"@types/nodemailer": "^8.0.1",
"@types/react": "^19.2.17",
"@typescript/native-preview": "7.0.0-dev.20260617.2",
"typescript": "^6.0.3"
}
}
+2 -1
View File
@@ -1,5 +1,6 @@
import type { SendMailOptions, Transporter } from "nodemailer";
import type { ReactElement } from "react";
import nodemailer, { type SendMailOptions, type Transporter } from "nodemailer";
import nodemailer from "nodemailer";
import { render } from "react-email";
import { env } from "@reactive-resume/env/server";

Some files were not shown because too many files have changed in this diff Show More