Compare commits

...
21 Commits
Author SHA1 Message Date
Amruth Pillai bfb2e8bb7e update changelog 2026-03-17 23:45:33 +01:00
Amruth Pillai 189290e093 consistent imports 2026-03-17 23:42:35 +01:00
Martin Joneš 7b541f3567 Resolve chromedp hostname to IP (#2811) 2026-03-17 23:42:04 +01:00
Amruth Pillai 5cd16a62d9 v5.0.12 (#2814)
* refactor to @base-ui/react

* fix all

* fixes to accordion

* more updates

* switch to chat/completions api from openai

* update version to v5.0.12
2026-03-17 23:38:06 +01:00
Amruth PillaiandCopilot Autofix powered by AI 89beb43ea2 Sync Translations from Crowdin (#2810)
* New translations en-us.po (English, United Kingdom)
[ci skip]

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-17 16:03:32 +01:00
Amruth Pillai 55757857bd Sync Translations from Crowdin (#2809)
* New translations en-us.po (English, United Kingdom)
[ci skip]

* New translations en-us.po (English, United Kingdom)
[ci skip]
2026-03-17 15:49:57 +01:00
Amruth Pillai 584444c1fc New translations en-us.po (English, United Kingdom) (#2808)
[ci skip]
2026-03-17 12:38:50 +01:00
fb61bb4a63 fix: resolve multi-page PDF crashes and Gemini API ingestion errors (#2781)
* fix: resolve multi-page PDF crashes and Gemini API ingestion errors

* fix type errors

* refactor: address PR review feedback and prevent call stack recursion in regex payload scanner

---------

Co-authored-by: Ofir <ofir@example.com>
Co-authored-by: Amruth Pillai <im.amruth@gmail.com>
2026-03-16 23:08:40 +01:00
Yeung Lihan ea8fd838d9 feat(import): normalize missing layout sections for reactive resume json (#2799)
* feat(import): normalize missing layout sections for reactive resume json

* chore: add comments
2026-03-16 23:08:21 +01:00
Franco CarraraandFranco Carrara a3c58b0068 add or statement so logged users can see public resumes (#2801)
Co-authored-by: Franco Carrara <franco.carrara@crombie.dev>
2026-03-13 04:20:35 +01:00
Amruth Pillai e0e8879caf New translations en-us.po (German) (#2800)
[ci skip]
2026-03-12 20:12:47 +01:00
Yao Changyi feab19913b feat: Allow sidebar button list to scroll internally on overflow (#2791) 2026-03-10 22:58:56 +01:00
Yao Changyi afbe56af0d fix: Fix unnecessary scrollbar appearing on the right sidebar (#2792) 2026-03-10 22:58:21 +01:00
Amruth PillaiandCopilot d22ab8202c Sync Translations from Crowdin (#2797)
* New translations en-us.po (French)
[ci skip]

* Update locales/fr-FR.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update locales/fr-FR.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update locales/fr-FR.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-10 22:57:16 +01:00
Amruth Pillai f4b6db222c update dependencies 2026-03-06 12:11:22 +01:00
Amruth Pillai 44177c0d1b Sync Translations from Crowdin (#2779)
* New translations en-us.po (German)
[ci skip]

* New translations en-us.po (Romanian)
[ci skip]

* New translations en-us.po (French)
[ci skip]

* New translations en-us.po (Spanish)
[ci skip]

* New translations en-us.po (Afrikaans)
[ci skip]

* New translations en-us.po (Arabic)
[ci skip]

* New translations en-us.po (Bulgarian)
[ci skip]

* New translations en-us.po (Catalan)
[ci skip]

* New translations en-us.po (Czech)
[ci skip]

* New translations en-us.po (Danish)
[ci skip]

* New translations en-us.po (Greek)
[ci skip]

* New translations en-us.po (Finnish)
[ci skip]

* New translations en-us.po (Hebrew)
[ci skip]

* New translations en-us.po (Hungarian)
[ci skip]

* New translations en-us.po (Italian)
[ci skip]

* New translations en-us.po (Japanese)
[ci skip]

* New translations en-us.po (Korean)
[ci skip]

* New translations en-us.po (Lithuanian)
[ci skip]

* New translations en-us.po (Dutch)
[ci skip]

* New translations en-us.po (Norwegian)
[ci skip]

* New translations en-us.po (Polish)
[ci skip]

* New translations en-us.po (Portuguese)
[ci skip]

* New translations en-us.po (Russian)
[ci skip]

* New translations en-us.po (Slovak)
[ci skip]

* New translations en-us.po (Slovenian)
[ci skip]

* New translations en-us.po (Albanian)
[ci skip]

* New translations en-us.po (Serbian (Cyrillic))
[ci skip]

* New translations en-us.po (Swedish)
[ci skip]

* New translations en-us.po (Turkish)
[ci skip]

* New translations en-us.po (Ukrainian)
[ci skip]

* New translations en-us.po (Chinese Simplified)
[ci skip]

* New translations en-us.po (Chinese Traditional)
[ci skip]

* New translations en-us.po (Vietnamese)
[ci skip]

* New translations en-us.po (Portuguese, Brazilian)
[ci skip]

* New translations en-us.po (Indonesian)
[ci skip]

* New translations en-us.po (Persian)
[ci skip]

* New translations en-us.po (Khmer)
[ci skip]

* New translations en-us.po (Tamil)
[ci skip]

* New translations en-us.po (Bengali)
[ci skip]

* New translations en-us.po (Marathi)
[ci skip]

* New translations en-us.po (Thai)
[ci skip]

* New translations en-us.po (Latvian)
[ci skip]

* New translations en-us.po (Azerbaijani)
[ci skip]

* New translations en-us.po (Hindi)
[ci skip]

* New translations en-us.po (Malay)
[ci skip]

* New translations en-us.po (Telugu)
[ci skip]

* New translations en-us.po (Malayalam)
[ci skip]

* New translations en-us.po (Uzbek)
[ci skip]

* New translations en-us.po (Kannada)
[ci skip]

* New translations en-us.po (Odia)
[ci skip]

* New translations en-us.po (Amharic)
[ci skip]

* New translations en-us.po (Nepali)
[ci skip]
2026-03-06 10:30:11 +01:00
Amruth Pillai 1d59ea3bd0 fix migration 2026-03-05 11:59:14 +01:00
TheDuke427androot 5e9ae64b2b fix(experience): remove bold from role titles and tighten role progression spacing (#2777)
Co-authored-by: root <root@reactive-resume-dev.one.one.one.one>
2026-03-05 10:13:59 +01:00
Amruth Pillai 46392d9dfc fixes #2774 2026-03-05 10:10:55 +01:00
Amruth Pillai 6734da4bee add translations for role progression, fixes #2775 2026-03-05 09:51:07 +01:00
Amruth Pillai 27edc963ce 📦 v5.0.11 - https://docs.rxresu.me/changelog 2026-03-04 23:06:23 +01:00
205 changed files with 16369 additions and 9154 deletions
+4 -1
View File
@@ -27,13 +27,16 @@ GOOGLE_CLIENT_SECRET=""
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""
# Custom OAuth Provider
# Custom OAuth Provider (optional)
OAUTH_PROVIDER_NAME=""
OAUTH_CLIENT_ID=""
OAUTH_CLIENT_SECRET=""
OAUTH_DISCOVERY_URL=""
OAUTH_AUTHORIZATION_URL=""
# Better Auth Dashboard (optional)
BETTER_AUTH_API_KEY=""
# --- Email (optional) ---
# If all keys are disabled, the app logs the email to be sent to the console instead.
SMTP_HOST="localhost"
+1 -1
View File
@@ -2,7 +2,7 @@
const nextPackages = ["@monaco-editor/react"];
const betaPackages = ["vite", "drizzle-orm", "drizzle-kit"];
const betaPackages = ["drizzle-orm", "drizzle-kit"];
/** @type {import('npm-check-updates').RunOptions} */
module.exports = {
+2 -2
View File
@@ -24,6 +24,7 @@
"i18n-ally.enabledParsers": ["po"],
"i18n-ally.localesPaths": ["locales"],
"i18n-ally.sourceLanguage": "en-US",
"js/ts.experimental.useTsgo": true,
"search.exclude": {
"**/routeTree.gen.ts": true,
"locales/**.po": true,
@@ -35,6 +36,5 @@
["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"],
["cn\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"]
],
"tailwindCSS.experimental.configFile": "src/styles/globals.css",
"typescript.tsdk": "node_modules/typescript/lib"
"tailwindCSS.experimental.configFile": "src/styles/globals.css"
}
+5 -2
View File
@@ -1,6 +1,6 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "radix-vega",
"style": "base-vega",
"rsc": false,
"tsx": true,
"tailwind": {
@@ -12,12 +12,15 @@
},
"iconLibrary": "phosphor",
"menuColor": "default",
"menuAccent": "subtle",
"menuAccent": "bold",
"aliases": {
"components": "@/components",
"utils": "@/utils/style",
"ui": "@/components/ui",
"lib": "@/utils",
"hooks": "@/hooks"
},
"registries": {
"@animate-ui": "https://animate-ui.com/r/{name}.json"
}
}
+18
View File
@@ -4,6 +4,24 @@ description: "List of all notable changes and updates to Reactive Resume"
rss: true
---
<Update label="v5.0.12" description="17th March 2026">
- **Features & Improvements**
- Refactor the component system to `@base-ui/react` across the app, replacing older primitive wrappers and standardizing interactive UI behavior (dialogs, menus, accordions, comboboxes, switches, and more).
- Improve auth infrastructure with Better Auth dashboard/sentinel integration and expanded IP/header handling for proxied deployments.
- Add a dedicated `src/server.ts` server entry using `FastResponse` to improve runtime compatibility for server responses.
- **Fixes**
- Normalize printer endpoint to use IP address when using chromedp, fixing issues with proxied deployments.
- Switch OpenAI integration to the `chat/completions` flow for resume import and AI features, reducing provider compatibility issues.
- Improve AI PDF/DOCX resume parsing by sending files directly to models (multimodal input), removing fragile local text extraction.
- Harden AI resume import normalization: merge section defaults, enforce required fields, and auto-generate missing IDs/flags so parsed resumes validate reliably.
- Fix regressions introduced during the UI migration, including accordion behavior and button styling/interaction edge cases.
- **Other**
- Update dependencies and lockfile.
- Sync translation strings across locales.
</Update>
<Update label="v5.0.10" description="24th February 2026">
- **Fixes**
- Show section titles for summary-type custom sections in the resume builder. [#2744](https://github.com/amruthpillai/reactive-resume/pull/2744)
+1
View File
@@ -16,6 +16,7 @@ export default defineConfig({
"de-DE",
"el-GR",
"en-US",
"en-GB",
"es-ES",
"fa-IR",
"fi-FI",
BIN
View File
Binary file not shown.
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Amharic\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -42,6 +42,11 @@ msgstr "(በአዲስ ታብ ይከፈታል)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# ንጥል} other {# ንጥሎች}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "ከዚህ በኋላ አምድ ያክሉ"
msgid "Add Column Before"
msgstr "ከዚህ በፊት አምድ ያክሉ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "ገጽ ያክሉ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "ከዚህ በኋላ ረድፍ ያክሉ"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "ለሁሉም ይገናኛል"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "መለያ አለዎት? <0><1>አሁን ይግቡ <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "ሽልማተኛ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "ሽልማቶች"
@@ -489,14 +503,11 @@ msgstr "መሀከል ማሰለፊያ"
msgid "Center view"
msgstr "መመለሻን ወደ መሀከል አድርግ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "የማረጋገጫዎች"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "ቋንቋ ቀይር"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "ቋንቋን ወደ ... ቀይር"
@@ -537,14 +548,15 @@ msgstr "ክብ"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "ምርጫን ሰርዝ"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "ፋይል ለማምጣት ለመምረጥ እዚህ ጠቅ ያድርጉ"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "የኮድ ብሎክ"
@@ -622,6 +634,7 @@ msgstr "ይህንን ሚስጥራዊ ቁልፍ ቅጂ አድርጉ እና ውስ
msgid "Copy URL"
msgstr "URL ቅጂ አድርግ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "የየታሪክዎን በመሰረዝ ላይ…"
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "ሰነዶች"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "መለያ የለዎትም? <0><1>አሁን መለያ ፍጠሩ <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "ደች"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "ትምህርት"
@@ -996,6 +1011,10 @@ msgstr "ሁለት-ደረጃ ማረጋገጫን በመነቃቃት ላይ…"
msgid "English"
msgstr "እንግሊዝኛ"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "የመለያዎን ደህንነት በተጨማሪ ደረጃዎች በመጨመር ያጠናክሩ።"
@@ -1040,6 +1059,7 @@ msgstr "ሙያዊ የየታሪክ ማቅረቢያዎችን ለመፍጠር፣
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "ልምድ"
@@ -1069,6 +1089,10 @@ msgstr "ወደ ውጪ አስመጣ"
msgid "Failed to setup two-factor authentication."
msgstr "ሁለት-ደረጃ ማረጋገጫን ማሰናዳት አልተሳካም።"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "መለያዎች"
@@ -1330,6 +1354,7 @@ msgstr "በመስመር ላይ ኮድ"
msgid "Insert Table"
msgstr "ሰንጠረዥ አስገባ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "ፍላጎቶች"
@@ -1395,6 +1420,7 @@ msgstr "መሬት አቀማመጥ"
msgid "Language"
msgstr "ቋንቋ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "ቋንቋዎች"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "ምንም ማስታወቂያ የለም፣ ምንም መከታተያ የለም"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "ምንም ውጤት አልተገኘም።"
@@ -1666,6 +1691,14 @@ msgstr "ተደራሽ ዝርዝር"
msgid "Organization"
msgstr "ድርጅት"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "ገጽ"
@@ -1715,6 +1748,7 @@ msgstr "የይለፍ ቃል ጥበቃ ተነስቷል።"
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "ፖርቹጋልኛ (ብራዚል)"
msgid "Portuguese (Portugal)"
msgstr "ፖርቹጋልኛ (ፖርቱጋል)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "ችሎታ"
msgid "Profile"
msgstr "መገለጫ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "ፕሮፋይሎች"
@@ -1810,6 +1846,7 @@ msgstr "ፕሮፋይሎች"
msgid "Progress Bar"
msgstr "የሂደት አሰሳ ማስመሪያ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "ፕሮጀክቶች"
@@ -1826,6 +1863,7 @@ msgstr "የየታሪክዎን በይለፍ ቃል ይከላከሉት፣ የይ
msgid "Provider"
msgstr "ሰብታሪ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "ህትመቶች"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "ደግመው አድርጉ (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "ማመልከቻዎች"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "ዳስ አድርግ"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "የይለፍ ቃልዎ አስታውሰዎ? <0><1>አሁን ይግቡ <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "የይለፍ ቃል ጥበቃን በማስወገድ ላይ…"
msgid "Rename"
msgstr "ስም ቀይር"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "ስህተት ሪፖርት አድርግ"
@@ -1954,6 +2001,10 @@ msgstr "የየታሪክ ማቅረቢያዎች"
msgid "Right Align"
msgstr "በቀኝ ማሰለፊያ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "ሮማኒያንኛ"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "ፈልግ..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "ፈልግ..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "የክፍል ዓይነት"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "ይምረጡ..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "አንድ-አምድ የሆነ፣ የታማኝ እና ኃላፊነት ያ
msgid "Size"
msgstr "መጠን"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "ችሎታዎች"
@@ -2240,6 +2290,7 @@ msgstr "መሰረዣ"
msgid "Subreddit"
msgstr "ሰብሬዲት"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "ማጠቃለያ"
@@ -2698,6 +2749,7 @@ msgstr "ቪትናምኛ"
msgid "Views"
msgstr "ተመልካቶች"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "በነፃ ፈቃድ"
+72 -20
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-02-09 22:30\n"
"PO-Revision-Date: 2026-03-05 10:45\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"
@@ -42,6 +42,11 @@ msgstr "(يفتح في علامة تبويب جديدة)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, zero {# عنصر} one {# عنصر} two {# عنصران} few {# عناصر} many {# عنصرًا} other {# عنصر}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "إضافة عمود بعد"
msgid "Add Column Before"
msgstr "إضافة عمود قبل"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "إضافة صفحة"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "إضافة صف بعد"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "السماح بالوصول العام"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "لديك حساب بالفعل؟ <0><1>سجّل الدخول الآن <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "المُكرِّم"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "الجوائز"
@@ -489,14 +503,11 @@ msgstr "محاذاة في الوسط"
msgid "Center view"
msgstr "مركزة العرض"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "الشهادات"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "تغيير اللغة"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "تغيير اللغة إلى..."
@@ -537,14 +548,15 @@ msgstr "دائرة"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "مسح التحديد"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "انقر هنا لتحديد ملف لاستيراده"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "كتلة برمجية"
@@ -622,6 +634,7 @@ msgstr "انسخ مفتاحك السري هذا واستخدمه في تطبيق
msgid "Copy URL"
msgstr "نسخ عنوان URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "جاري حذف سيرتك الذاتية..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "إرشادات الاستخدام"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "لا تملك حسابًا؟ <0><1>أنشئ واحدًا الآن <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "الهولندية"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "التعليم"
@@ -996,6 +1011,10 @@ msgstr "جاري تمكين المصادقة الثنائية..."
msgid "English"
msgstr "الإنجليزية"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "عزّز أمان حسابك بطبقات إضافية من الحماية."
@@ -1040,6 +1059,7 @@ msgstr "كل ما تحتاجه لإنشاء سير ذاتية احترافية
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "الخبرة"
@@ -1069,6 +1089,10 @@ msgstr "تصدير"
msgid "Failed to setup two-factor authentication."
msgstr "فشل إعداد المصادقة الثنائية."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "الميزات"
@@ -1330,6 +1354,7 @@ msgstr "كود ضمن السطر"
msgid "Insert Table"
msgstr "إدراج جدول"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "الاهتمامات"
@@ -1395,6 +1420,7 @@ msgstr "أفقي"
msgid "Language"
msgstr "اللّغة"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "اللغات"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "بدون إعلانات، بدون تتبّع"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "لم نعثر على نتائج."
@@ -1666,6 +1691,14 @@ msgstr "قائمة مرتبة"
msgid "Organization"
msgstr "المنظمة"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "صفحة"
@@ -1715,6 +1748,7 @@ msgstr "تم تمكين حماية كلمة المرور."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "البرتغالية (البرازيل)"
msgid "Portuguese (Portugal)"
msgstr "البرتغالية (البرتغال)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "مدى الإتقان"
msgid "Profile"
msgstr "الملف الشخصي"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "الملفات الشخصية"
@@ -1810,6 +1846,7 @@ msgstr "الملفات الشخصية"
msgid "Progress Bar"
msgstr "شريط التقدّم"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "المشاريع"
@@ -1826,6 +1863,7 @@ msgstr "احمِ سيرتك الذاتية بكلمة مرور، واسمح فق
msgid "Provider"
msgstr "المزوّد"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "المنشورات"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "إعادة (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "المراجعون"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "تحديث"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "هل تذكّرت كلمة المرور؟ <0><1>سجّل الدخول الآن <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "جاري إزالة حماية كلمة المرور..."
msgid "Rename"
msgstr "إعادة التسمية"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "الإبلاغ عن خطأ برمجي"
@@ -1954,6 +2001,10 @@ msgstr "السير الذاتية"
msgid "Right Align"
msgstr "محاذاة لليمين"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "الرومانية"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "ابحث عن..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "ابحث..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "نوع القسم"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "اختر..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "عمود واحد؛ مصقول ورسمي للوظائف العليا أ
msgid "Size"
msgstr "الحجم"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "المهارات"
@@ -2240,6 +2290,7 @@ msgstr "شطب"
msgid "Subreddit"
msgstr "سبريديت"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "الملخّص"
@@ -2698,6 +2749,7 @@ msgstr "الفيتنامية"
msgid "Views"
msgstr "المشاهدات"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "التطوع"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Azerbaijani\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(yeni vərəqdə açılır)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# element} other {# element}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Sonra Sütun əlavə et"
msgid "Add Column Before"
msgstr "Əvvəl Sütun əlavə et"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Səhifə əlavə et"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Sonra Sətir əlavə et"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "İctimai Girişi İcazə ver"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Artıq hesabınız var? <0><1>İndi daxil olun <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Mükafat verən"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Mükafatlar"
@@ -489,14 +503,11 @@ msgstr "Mərkəzləndir"
msgid "Center view"
msgstr "Baxışı mərkəzləşdir"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Sertifikatlar"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Dili dəyiş"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Dili dəyiş..."
@@ -537,14 +548,15 @@ msgstr "Dairə"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Seçimi təmizlə"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "İdxal üçün fayl seçmək üçün bura klikləyin"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Kod Bloku"
@@ -622,6 +634,7 @@ msgstr "Bu gizli açarı kopyalayın və verilənlərinizə daxil olmaq üçün
msgid "Copy URL"
msgstr "URL‑i kopyala"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Özgeçmişiniz silinir..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Sənədləşmə"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Hesabınız yoxdur? <0><1>İndi qeydiyyatdan keçin <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Niderland"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Təhsil"
@@ -996,6 +1011,10 @@ msgstr "İki mərhələli autentifikasiyanı aktivləşdirmə prosesi gedir..."
msgid "English"
msgstr "İngilis"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Hesabınızın təhlükəsizliyini əlavə qoruma qatları ilə gücləndirin."
@@ -1040,6 +1059,7 @@ msgstr "Peşəkar özgeçmişlər yaratmaq, fərdiləşdirmək və paylaşmaq ü
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Təcrübə"
@@ -1069,6 +1089,10 @@ msgstr "İxrac"
msgid "Failed to setup two-factor authentication."
msgstr "İki mərhələli autentifikasiyanı qurmaq alınmadı."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Xüsusiyyətlər"
@@ -1330,6 +1354,7 @@ msgstr "Sətirdaxili Kod"
msgid "Insert Table"
msgstr "Cədvəl əlavə et"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Maraqlar"
@@ -1395,6 +1420,7 @@ msgstr "Landşaft"
msgid "Language"
msgstr "Dil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Dillər"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Reklam yoxdur, İzləmə yoxdur"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Nəticə tapılmadı."
@@ -1666,6 +1691,14 @@ msgstr "Nömrələnmiş Siyahı"
msgid "Organization"
msgstr "Təşkilat"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Səhifə"
@@ -1715,6 +1748,7 @@ msgstr "Parol qorunması aktiv edilib."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portuqal (Braziliya)"
msgid "Portuguese (Portugal)"
msgstr "Portuqal (Portuqaliya)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Bacarıq Səviyyəsi"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profillər"
@@ -1810,6 +1846,7 @@ msgstr "Profillər"
msgid "Progress Bar"
msgstr "Proqres Zolağı"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Layihələr"
@@ -1826,6 +1863,7 @@ msgstr "Özgeçmişinizi parol ilə qoruyun və yalnız parolu bilənlərin ona
msgid "Provider"
msgstr "Provayder"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Nəşrlər"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Təkrarla (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referanslar"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Yenilə"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Parolunuzu xatırladınız? <0><1>İndi daxil olun <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Parol qorunması silinir..."
msgid "Rename"
msgstr "Yenidən adlandır"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Xəta Bildir"
@@ -1954,6 +2001,10 @@ msgstr "Özgeçmişlər"
msgid "Right Align"
msgstr "Sağdan Sətirlə"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumın"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Axtar..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Axtar..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Bölmə Növü"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Seç..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Tək sütunlu; yüksək vəzifəli və ya müəssisə səviyyəli vəzif
msgid "Size"
msgstr "Ölçü"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Bacarıqlar"
@@ -2240,6 +2290,7 @@ msgstr "Üstündən xətt çək"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Xülasə"
@@ -2698,6 +2749,7 @@ msgstr "Vyetnam"
msgid "Views"
msgstr "Baxışlar"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Könüllü"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:45\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(отваря се в нов раздел)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# елемент} other {# елемента}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Добавяне на колона след"
msgid "Add Column Before"
msgstr "Добавяне на колона преди"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Добавяне на страница"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Добавяне на ред след"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Разрешаване на публичен достъп"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Вече имате акаунт? <0><1>Влезте сега <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Присъдил"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Награди"
@@ -489,14 +503,11 @@ msgstr "Подравняване в центъра"
msgid "Center view"
msgstr "Центриране на изгледа"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Сертификати"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Промяна на езика"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Промяна на езика на..."
@@ -537,14 +548,15 @@ msgstr "Кръг"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Изчистване на избора"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Кликнете тук, за да изберете файл за импортиране"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Блок с код"
@@ -622,6 +634,7 @@ msgstr "Копирайте този таен ключ и го използвай
msgid "Copy URL"
msgstr "Копиране на URL адрес"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Вашата автобиография се изтрива..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Документация"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Нямате профил? <0><1>Създайте един сега <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Нидерландски"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Образование"
@@ -996,6 +1011,10 @@ msgstr "Активиране на двуфакторно удостоверяв
msgid "English"
msgstr "Английски"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Подобрете сигурността на профила си с допълнителни нива на защита."
@@ -1040,6 +1059,7 @@ msgstr "Всичко, от което се нуждаете, за да създ
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Професионален опит"
@@ -1069,6 +1089,10 @@ msgstr "Експорт"
msgid "Failed to setup two-factor authentication."
msgstr "Неуспешно настройване на двуфакторно удостоверяване."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Функции"
@@ -1330,6 +1354,7 @@ msgstr "Вграден код"
msgid "Insert Table"
msgstr "Вмъкване на таблица"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Интереси"
@@ -1395,6 +1420,7 @@ msgstr "Пейзаж"
msgid "Language"
msgstr "Език"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Езици"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Без реклами, без проследяване"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Няма намерени резултати."
@@ -1666,6 +1691,14 @@ msgstr "Подреден списък"
msgid "Organization"
msgstr "Организация"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Страница"
@@ -1715,6 +1748,7 @@ msgstr "Защитата с парола е включена."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Португалски (Бразилия)"
msgid "Portuguese (Portugal)"
msgstr "Португалски (Португалия)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Ниво на умение"
msgid "Profile"
msgstr "Профил"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Профили"
@@ -1810,6 +1846,7 @@ msgstr "Профили"
msgid "Progress Bar"
msgstr "Лента за напредък"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Проекти"
@@ -1826,6 +1863,7 @@ msgstr "Защитете автобиографията си с парола и
msgid "Provider"
msgstr "Доставчик"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Публикации"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Повтори (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Препоръки"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Опресняване"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Спомнихте си паролата? <0><1>Влезте сега <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Премахване на защитата с парола..."
msgid "Rename"
msgstr "Преименуване"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Съобщаване за грешка"
@@ -1954,6 +2001,10 @@ msgstr "Автобиографии"
msgid "Right Align"
msgstr "Подравняване вдясно"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Румънски"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Търсене на..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Търсене..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Тип раздел"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Изберете..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Една колона; изпипан и сериозен за стар
msgid "Size"
msgstr "Размер"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Умения"
@@ -2240,6 +2290,7 @@ msgstr "Зачеркване"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Резюме"
@@ -2698,6 +2749,7 @@ msgstr "Виетнамски"
msgid "Views"
msgstr "Преглеждания"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Доброволчество"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Bengali\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(নতুন ট্যাবে খুলবে)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {#টি আইটেম} other {#টি আইটেম}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "পরের দিকে কলাম যোগ করুন"
msgid "Add Column Before"
msgstr "আগের দিকে কলাম যোগ করুন"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "পৃষ্ঠা যোগ করুন"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "পরের দিকে সারি যোগ করুন"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "সর্বজনীন অ্যাক্সেসের অনুমতি দিন"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "ইতিমধ্যেই একটি অ্যাকাউন্ট আছে? <0><1>এখনই সাইন ইন করুন <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "পুরস্কারদাতা"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "পুরস্কার"
@@ -489,14 +503,11 @@ msgstr "মধ্যের দিকে অ্যালাইন"
msgid "Center view"
msgstr "ভিউ কেন্দ্র করুন"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "সার্টিফিকেশনসমূহ"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "ভাষা পরিবর্তন করুন"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "ভাষা পরিবর্তন করুন..."
@@ -537,14 +548,15 @@ msgstr "বৃত্ত"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "নির্বাচন মুছে ফেলুন"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "ইমপোর্ট করার জন্য এখান ক্লিক করে একটি ফাইল নির্বাচন করুন"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "কোড ব্লক"
@@ -622,6 +634,7 @@ msgstr "এই সিক্রেট কী কপি করে আপনার
msgid "Copy URL"
msgstr "URL কপি করুন"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "আপনার জীবনবৃত্তান্ত মুছে ফ
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "ডকুমেন্টেশন"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "অ্যাকাউন্ট নেই? <0><1>এখনই একটি তৈরি করুন <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "ডাচ"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "শিক্ষা"
@@ -996,6 +1011,10 @@ msgstr "টু‑ফ্যাক্টর প্রমাণীকরণ সক
msgid "English"
msgstr "ইংরেজি"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "অতিরিক্ত সুরক্ষার স্তর যোগ করে আপনার অ্যাকাউন্টের নিরাপত্তা বাড়িয়ে তুলুন।"
@@ -1040,6 +1059,7 @@ msgstr "পেশাদার জীবনবৃত্তান্ত তৈর
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "অভিজ্ঞতা"
@@ -1069,6 +1089,10 @@ msgstr "এক্সপোর্ট"
msgid "Failed to setup two-factor authentication."
msgstr "টু‑ফ্যাক্টর প্রমাণীকরণ সেটআপ করতে ব্যর্থ হয়েছে।"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "বৈশিষ্ট্যসমূহ"
@@ -1330,6 +1354,7 @@ msgstr "ইনলাইন কোড"
msgid "Insert Table"
msgstr "টেবিল যুক্ত করুন"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "আগ্রহসমূহ"
@@ -1395,6 +1420,7 @@ msgstr "ল্যান্ডস্কেপ"
msgid "Language"
msgstr "ভাষা"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "ভাষাসমূহ"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "কোনো বিজ্ঞাপন নয়, কোনো ট্র্যাকিং নয়"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "কোন ফলাফল খুঁজে পাওয়া যায়নি।"
@@ -1666,6 +1691,14 @@ msgstr "ক্রমযুক্ত লিস্ট"
msgid "Organization"
msgstr "প্রতিষ্ঠান"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "পৃষ্ঠা"
@@ -1715,6 +1748,7 @@ msgstr "পাসওয়ার্ড সুরক্ষা চালু কর
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "পর্তুগিজ (ব্রাজিল)"
msgid "Portuguese (Portugal)"
msgstr "পর্তুগিজ (পর্তুগাল)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "দক্ষতা (Proficiency)"
msgid "Profile"
msgstr "প্রোফাইল"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "প্রোফাইলসমূহ"
@@ -1810,6 +1846,7 @@ msgstr "প্রোফাইলসমূহ"
msgid "Progress Bar"
msgstr "প্রগতি নির্দেশক বার"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "প্রোজেক্টসমূহ"
@@ -1826,6 +1863,7 @@ msgstr "আপনার জীবনবৃত্তান্তকে পাস
msgid "Provider"
msgstr "প্রদানকারী"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "প্রকাশনাসমূহ"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "রি-ডু (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "রেফারেন্সসমূহ"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "রিফ্রেশ"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "পাসওয়ার্ড মনে আছে? <0><1>এখনই সাইন ইন করুন <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "পাসওয়ার্ড সুরক্ষা সরানো হ
msgid "Rename"
msgstr "নাম বদলান"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "বাগ রিপোর্ট করুন"
@@ -1954,6 +2001,10 @@ msgstr "জীবনবৃত্তান্তসমূহ"
msgid "Right Align"
msgstr "ডান দিকে অ্যালাইন"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "রোমানিয়ান"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "খুঁজুন..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "অনুসন্ধান..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "বিভাগের ধরন"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "নির্বাচন করুন..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "এক কলামের লেআউট; প্রাজ্ঞ ও গ
msgid "Size"
msgstr "আকার"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "স্কিলসমূহ"
@@ -2240,6 +2290,7 @@ msgstr "স্ট্রাইক"
msgid "Subreddit"
msgstr "সাবরেডিট"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "সারাংশ"
@@ -2698,6 +2749,7 @@ msgstr "ভিয়েতনামি"
msgid "Views"
msgstr "ভিউ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "স্বেচ্ছাসেবী"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:45\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(s’obre en una pestanya nova)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# element} other {# elements}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Afegeix una columna després"
msgid "Add Column Before"
msgstr "Afegeix una columna abans"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Afegeix pàgina"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Afegeix una fila després"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Permet accés públic"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Ja tens un compte? <0><1>Inicia sessió ara <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Concedent"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Premis"
@@ -489,14 +503,11 @@ msgstr "Alinea al centre"
msgid "Center view"
msgstr "Centra la vista"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certificacions"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Canvia l’idioma"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Canvia l’idioma a..."
@@ -537,14 +548,15 @@ msgstr "Cercle"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Esborra la selecció"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Fes clic aquí per seleccionar un fitxer per importar"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Bloc de codi"
@@ -622,6 +634,7 @@ msgstr "Copia aquesta clau secreta i utilitza-la a les aplicacions per accedir a
msgid "Copy URL"
msgstr "Copia l’URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "S’està suprimint el currículum..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Documentació"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "No tens un compte? <0><1>Crea’n un ara <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Neerlandès"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Educació"
@@ -996,6 +1011,10 @@ msgstr "S’està activant l’autenticació en dos passos..."
msgid "English"
msgstr "Anglès"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Millora la seguretat del compte amb capes addicionals de protecció."
@@ -1040,6 +1059,7 @@ msgstr "Tot el que necessites per crear, personalitzar i compartir currículums
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Experiència"
@@ -1069,6 +1089,10 @@ msgstr "Exporta"
msgid "Failed to setup two-factor authentication."
msgstr "No s’ha pogut configurar l’autenticació en dos passos."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funcions"
@@ -1330,6 +1354,7 @@ msgstr "Codi en línia"
msgid "Insert Table"
msgstr "Insereix una taula"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interessos"
@@ -1395,6 +1420,7 @@ msgstr "Apaïsat"
msgid "Language"
msgstr "Idioma"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Idiomes"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Sense publicitat, sense seguiment"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "No s’han trobat resultats."
@@ -1666,6 +1691,14 @@ msgstr "Llista ordenada"
msgid "Organization"
msgstr "Organització"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Pàgina"
@@ -1715,6 +1748,7 @@ msgstr "La protecció amb contrasenya s’ha activat."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portuguès (Brasil)"
msgid "Portuguese (Portugal)"
msgstr "Portuguès (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Competència"
msgid "Profile"
msgstr "Perfil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Perfils"
@@ -1810,6 +1846,7 @@ msgstr "Perfils"
msgid "Progress Bar"
msgstr "Barra de progrés"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projectes"
@@ -1826,6 +1863,7 @@ msgstr "Protegeix el currículum amb una contrasenya i permet que només les per
msgid "Provider"
msgstr "Proveïdor"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publicacions"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Repetir (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referències"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Actualitza"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Recordes la contrasenya? <0><1>Inicia sessió ara <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "S’està desactivant la protecció amb contrasenya..."
msgid "Rename"
msgstr "Canvia el nom"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Informa d’un error"
@@ -1954,6 +2001,10 @@ msgstr "Currículums"
msgid "Right Align"
msgstr "Alinea a la dreta"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Romanès"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Cerca..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Cerca..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Tipus de secció"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Selecciona..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Una sola columna; polit i seriós per a posicions sènior o d’àmbit c
msgid "Size"
msgstr "Mida"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Habilitats"
@@ -2240,6 +2290,7 @@ msgstr "Barrat"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Resum"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamita"
msgid "Views"
msgstr "Visualitzacions"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Voluntariat"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:45\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -42,6 +42,11 @@ msgstr "(otevře se na nové kartě)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# položka} few {# položky} many {# položek} other {# položky}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Přidat sloupec za"
msgid "Add Column Before"
msgstr "Přidat sloupec před"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Přidat stránku"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Přidat řádek za"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Povolit veřejný přístup"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Máte už účet? <0><1>Přihlaste se nyní <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Udělil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Ocenění"
@@ -489,14 +503,11 @@ msgstr "Zarovnat na střed"
msgid "Center view"
msgstr "Vycentrovat zobrazení"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Osvědčení"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Změnit jazyk"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Změnit jazyk na…"
@@ -537,14 +548,15 @@ msgstr "Kruh"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Zrušit výběr"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Kliknutím zde vyberte soubor k importu"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Blok kódu"
@@ -622,6 +634,7 @@ msgstr "Zkopírujte tento tajný klíč a použijte ho ve svých aplikacích pro
msgid "Copy URL"
msgstr "Kopírovat URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Mazání životopisu…"
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentace"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Nemáte účet? <0><1>Vytvořte si ho nyní <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Nizozemština"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Vzdělání"
@@ -996,6 +1011,10 @@ msgstr "Aktivace dvoufázového ověření…"
msgid "English"
msgstr "Angličtina"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Zvyšte zabezpečení svého účtu pomocí dalších vrstev ochrany."
@@ -1040,6 +1059,7 @@ msgstr "Vše, co potřebujete k vytvoření, přizpůsobení a sdílení profesi
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Zkušenosti"
@@ -1069,6 +1089,10 @@ msgstr "Export"
msgid "Failed to setup two-factor authentication."
msgstr "Dvoufázové ověření se nepodařilo nastavit."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funkce"
@@ -1330,6 +1354,7 @@ msgstr "Řádkový kód"
msgid "Insert Table"
msgstr "Vložit tabulku"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Zájmy"
@@ -1395,6 +1420,7 @@ msgstr "Krajina"
msgid "Language"
msgstr "Jazyk"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Jazyky"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Bez reklam, bez sledování"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Nebyly nalezeny žádné výsledky."
@@ -1666,6 +1691,14 @@ msgstr "Číslovaný seznam"
msgid "Organization"
msgstr "Organizace"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Stránka"
@@ -1715,6 +1748,7 @@ msgstr "Ochrana heslem byla aktivována."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugalština (Brazílie)"
msgid "Portuguese (Portugal)"
msgstr "Portugalština (Portugalsko)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Znalost"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profily"
@@ -1810,6 +1846,7 @@ msgstr "Profily"
msgid "Progress Bar"
msgstr "Ukazatel průběhu"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projekty"
@@ -1826,6 +1863,7 @@ msgstr "Chraňte svůj životopis heslem a umožněte jeho zobrazení jen lidem,
msgid "Provider"
msgstr "Poskytovatel"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikace"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Znovu (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Reference"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Obnovit"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Pamatujete si heslo? <0><1>Přihlaste se nyní <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Odstraňování ochrany heslem…"
msgid "Rename"
msgstr "Přejmenovat"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Nahlásit chybu"
@@ -1954,6 +2001,10 @@ msgstr "Životopisy"
msgid "Right Align"
msgstr "Zarovnat vpravo"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumunština"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Hledat…"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Hledat…"
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Typ sekce"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Vybrat…"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Jednosloupcové; uhlazené a seriózní pro seniorské nebo enterprise p
msgid "Size"
msgstr "Velikost"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Dovednosti"
@@ -2240,6 +2290,7 @@ msgstr "Přeškrtnutí"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Souhrn"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamština"
msgid "Views"
msgstr "Zobrazení"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Dobrovolnictví"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:45\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(åbner i ny fane)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# element} other {# elementer}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Tilføj kolonne efter"
msgid "Add Column Before"
msgstr "Tilføj kolonne før"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Tilføj side"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Tilføj række efter"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Tillad offentlig adgang"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Har du allerede en konto? <0><1>Log ind nu <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Prisuddeler"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Priser"
@@ -489,14 +503,11 @@ msgstr "Centrer justering"
msgid "Center view"
msgstr "Centrér visning"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certificeringer"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Skift sprog"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Skift sprog til..."
@@ -537,14 +548,15 @@ msgstr "Cirkel"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Ryd markering"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Klik her for at vælge en fil, der skal importeres"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Kodeblok"
@@ -622,6 +634,7 @@ msgstr "Kopiér denne hemmelige nøgle og brug den i dine applikationer for at f
msgid "Copy URL"
msgstr "Kopiér URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Sletter dit CV..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentation"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Har du ikke en konto? <0><1>Opret en nu <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Hollandsk"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Uddannelse"
@@ -996,6 +1011,10 @@ msgstr "Aktiverer to-faktor-godkendelse..."
msgid "English"
msgstr "Engelsk"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Forstærk sikkerheden på din konto med ekstra beskyttelseslag."
@@ -1040,6 +1059,7 @@ msgstr "Alt hvad du behøver for at oprette, tilpasse og dele professionelle CV'
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Erfaring"
@@ -1069,6 +1089,10 @@ msgstr "Eksportér"
msgid "Failed to setup two-factor authentication."
msgstr "Det lykkedes ikke at konfigurere to-faktor-godkendelse."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funktioner"
@@ -1330,6 +1354,7 @@ msgstr "Indlejret kode"
msgid "Insert Table"
msgstr "Indsæt tabel"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interesser"
@@ -1395,6 +1420,7 @@ msgstr "Liggende"
msgid "Language"
msgstr "Sprog"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Sprog"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Ingen reklamer, ingen sporing"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Ingen resultater fundet."
@@ -1666,6 +1691,14 @@ msgstr "Nummereret liste"
msgid "Organization"
msgstr "Organisation"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Side"
@@ -1715,6 +1748,7 @@ msgstr "Adgangskodebeskyttelse er blevet aktiveret."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugisisk (Brasilien)"
msgid "Portuguese (Portugal)"
msgstr "Portugisisk (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Kompetenceniveau"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profiler"
@@ -1810,6 +1846,7 @@ msgstr "Profiler"
msgid "Progress Bar"
msgstr "Statuslinje"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projekter"
@@ -1826,6 +1863,7 @@ msgstr "Beskyt dit CV med en adgangskode, og lad kun personer med adgangskoden s
msgid "Provider"
msgstr "Udbyder"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikationer"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Gentag (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referencer"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Opdater"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Kan du huske din adgangskode? <0><1>Log ind nu <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Fjerner adgangskodebeskyttelse..."
msgid "Rename"
msgstr "Omdøb"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Rapportér en fejl"
@@ -1954,6 +2001,10 @@ msgstr "CV'er"
msgid "Right Align"
msgstr "Højrejustér"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumænsk"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Søg efter..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Søg..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Afsnitstype"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Vælg..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Enkeltkolonne; poleret og seriøs til senior- eller enterprise-stillinge
msgid "Size"
msgstr "Størrelse"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Færdigheder"
@@ -2240,6 +2290,7 @@ msgstr "Gennemstreget"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Opsummering"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamesisk"
msgid "Views"
msgstr "Visninger"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Frivillig"
+72 -21
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-03-02 01:13\n"
"PO-Revision-Date: 2026-03-12 11:46\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(öffnet in neuem Tab)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# Element} other {# Elemente}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr "{0, plural, one {# Rolle} other {# Rollen}}"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Spalte danach einfügen"
msgid "Add Column Before"
msgstr "Spalte davor einfügen"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Seite hinzufügen"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Zeile danach einfügen"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Öffentlichen Zugriff erlauben"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Sie haben bereits ein Konto? <0><1>Jetzt anmelden <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Ausstellende Stelle"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Auszeichnungen"
@@ -489,14 +503,11 @@ msgstr "Zentriert"
msgid "Center view"
msgstr "Ansicht zentrieren"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Zertifizierungen"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Sprache ändern"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Sprache ändern zu..."
@@ -537,14 +548,15 @@ msgstr "Kreis"
msgid "Clear chat history"
msgstr "Chatverlauf löschen"
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Auswahl löschen"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Hier klicken, um eine Datei zum Importieren auszuwählen"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Code-Block"
@@ -622,6 +634,7 @@ msgstr "Kopiere diesen geheimen Schlüssel und verwende ihn in deinen Anwendunge
msgid "Copy URL"
msgstr "URL kopieren"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr "Anschreiben"
@@ -837,6 +850,7 @@ msgstr "Ihr Lebenslauf wird gelöscht..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentation"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Sie haben noch kein Konto? <0><1>Jetzt erstellen <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Niederländisch"
msgid "e.g. Change my name to..."
msgstr "z. B. meinen Namen ändern zu..."
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Ausbildung"
@@ -996,6 +1011,10 @@ msgstr "Die Zwei-Faktor-Authentifizierung wird aktiviert..."
msgid "English"
msgstr "Englisch"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Verbessere die Sicherheit deines Kontos mit zusätzlichen Schutzebenen."
@@ -1040,6 +1059,7 @@ msgstr "Alles, was du brauchst, um professionelle Lebensläufe zu erstellen, anz
msgid "Exit Fullscreen"
msgstr "Vollbild schließen"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Erfahrung"
@@ -1069,6 +1089,10 @@ msgstr "Exportieren"
msgid "Failed to setup two-factor authentication."
msgstr "Die Einrichtung der Zwei-Faktor-Authentifizierung ist fehlgeschlagen."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funktionen"
@@ -1330,6 +1354,7 @@ msgstr "Inline-Code"
msgid "Insert Table"
msgstr "Tabelle einfügen"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interessen"
@@ -1395,6 +1420,7 @@ msgstr "Querformat"
msgid "Language"
msgstr "Sprache"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Sprachen"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Keine Werbung, kein Tracking"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Keine Ergebnisse gefunden."
@@ -1666,6 +1691,14 @@ msgstr "Nummerierte Liste"
msgid "Organization"
msgstr "Organisation"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Seite"
@@ -1715,6 +1748,7 @@ msgstr "Der Passwortschutz wurde aktiviert."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugiesisch (Brasilien)"
msgid "Portuguese (Portugal)"
msgstr "Portugiesisch (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Kompetenz"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profile"
@@ -1810,6 +1846,7 @@ msgstr "Profile"
msgid "Progress Bar"
msgstr "Fortschrittsbalken"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projekte"
@@ -1826,6 +1863,7 @@ msgstr "Schütze deinen Lebenslauf mit einem Passwort, sodass nur Personen mit d
msgid "Provider"
msgstr "Anbieter"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Veröffentlichungen"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Wiederholen (Strg+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referenzen"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Aktualisieren"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Sie erinnern sich wieder an Ihr Passwort? <0><1>Jetzt anmelden <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Passwortschutz wird entfernt..."
msgid "Rename"
msgstr "Umbenennen"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Fehler melden"
@@ -1954,6 +2001,10 @@ msgstr "Lebensläufe"
msgid "Right Align"
msgstr "Rechtsbündig"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumänisch"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Suchen nach..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Suchen..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Abschnittstyp"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Auswählen..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Einspaltig; seriös und ausgefeilt für Senior- oder Enterprise-Position
msgid "Size"
msgstr "Größe"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Fähigkeiten"
@@ -2240,6 +2290,7 @@ msgstr "Durchgestrichen"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Zusammenfassung"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamesisch"
msgid "Views"
msgstr "Aufrufe"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Freiwillige Arbeit"
@@ -2848,4 +2900,3 @@ msgstr "Herauszoomen"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(ανοίγει σε νέα καρτέλα)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# στοιχείο} other {# στοιχεία}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Προσθήκη στήλης μετά"
msgid "Add Column Before"
msgstr "Προσθήκη στήλης πριν"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Προσθήκη σελίδας"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Προσθήκη γραμμής μετά"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Να επιτρέπεται δημόσια πρόσβαση"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Έχετε ήδη λογαριασμό; <0><1>Συνδεθείτε τώρα <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Βραβευτής"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Βραβεία"
@@ -489,14 +503,11 @@ msgstr "Στοίχιση στο κέντρο"
msgid "Center view"
msgstr "Κεντράρισμα προβολής"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Πιστοποιήσεις"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Αλλαγή γλώσσας"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Αλλαγή γλώσσας σε..."
@@ -537,14 +548,15 @@ msgstr "Κύκλος"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Απαλοιφή επιλογής"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Κάντε κλικ εδώ για να επιλέξετε ένα αρχείο προς εισαγωγή"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Μπλοκ κώδικα"
@@ -622,6 +634,7 @@ msgstr "Αντιγράψτε αυτό το μυστικό κλειδί και χ
msgid "Copy URL"
msgstr "Αντιγραφή URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Διαγραφή του βιογραφικού σας σημειώματ
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Τεκμηρίωση"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Δεν έχετε λογαριασμό; <0><1>Δημιουργήστε έναν τώρα <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Ολλανδικά"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Εκπαίδευση"
@@ -996,6 +1011,10 @@ msgstr "Ενεργοποίηση ελέγχου ταυτότητας δύο πα
msgid "English"
msgstr "Αγγλικά"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Ενισχύστε την ασφάλεια του λογαριασμού σας με επιπλέον επίπεδα προστασίας."
@@ -1040,6 +1059,7 @@ msgstr "Όλα όσα χρειάζεστε για να δημιουργήσετ
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Εμπειρία"
@@ -1069,6 +1089,10 @@ msgstr "Εξαγωγή"
msgid "Failed to setup two-factor authentication."
msgstr "Αποτυχία ρύθμισης ελέγχου ταυτότητας δύο παραγόντων."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Λειτουργίες"
@@ -1330,6 +1354,7 @@ msgstr "Ενσωματωμένος κώδικας"
msgid "Insert Table"
msgstr "Εισαγωγή πίνακα"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Ενδιαφέροντα"
@@ -1395,6 +1420,7 @@ msgstr "Οριζόντιος προσανατολισμός"
msgid "Language"
msgstr "Γλώσσα"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Γλώσσες"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Χωρίς διαφημίσεις, χωρίς παρακολούθηση"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Δεν βρέθηκαν αποτελέσματα."
@@ -1666,6 +1691,14 @@ msgstr "Αριθμημένη λίστα"
msgid "Organization"
msgstr "Οργανισμός"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Σελίδα"
@@ -1715,6 +1748,7 @@ msgstr "Η προστασία με κωδικό πρόσβασης έχει εν
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Πορτογαλικά (Βραζιλίας)"
msgid "Portuguese (Portugal)"
msgstr "Πορτογαλικά (Πορτογαλίας)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Επάρκεια"
msgid "Profile"
msgstr "Προφίλ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Προφίλ"
@@ -1810,6 +1846,7 @@ msgstr "Προφίλ"
msgid "Progress Bar"
msgstr "Γραμμή προόδου"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Έργα"
@@ -1826,6 +1863,7 @@ msgstr "Προστατέψτε το βιογραφικό σας σημείωμα
msgid "Provider"
msgstr "Πάροχος"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Δημοσιεύσεις"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Επανάληψη (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Συστάσεις"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Ανανέωση"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Θυμάστε τον κωδικό πρόσβασής σας; <0><1>Συνδεθείτε τώρα <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Κατάργηση προστασίας με κωδικό πρόσβασ
msgid "Rename"
msgstr "Μετονομασία"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Αναφορά σφάλματος"
@@ -1954,6 +2001,10 @@ msgstr "Βιογραφικά σημειώματα"
msgid "Right Align"
msgstr "Στοίχιση δεξιά"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Ρουμανικά"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Αναζήτηση για..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Αναζήτηση..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Τύπος ενότητας"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Επιλέξτε..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Μονή στήλη· προσεγμένο και σοβαρό για α
msgid "Size"
msgstr "Μέγεθος"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Δεξιότητες"
@@ -2240,6 +2290,7 @@ msgstr "Διακριτική διαγραφή"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Σύνοψη"
@@ -2698,6 +2749,7 @@ msgstr "Βιετναμέζικα"
msgid "Views"
msgstr "Προβολές"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Εθελοντική εργασία"
+2902
View File
File diff suppressed because it is too large Load Diff
+69 -17
View File
@@ -37,6 +37,11 @@ msgstr "(opens in new tab)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# item} other {# items}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr "{0, plural, one {# role} other {# roles}}"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -190,10 +195,18 @@ msgstr "Add Column After"
msgid "Add Column Before"
msgstr "Add Column Before"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr "Add multiple roles to show career progression at the same company."
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Add Page"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr "Add Role"
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Add Row After"
@@ -228,8 +241,8 @@ msgid "Allow Public Access"
msgstr "Allow Public Access"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Already have an account? <0><1>Sign in now <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr "Already have an account? <0/>"
#: src/utils/locale.ts
msgid "Amharic"
@@ -354,6 +367,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Awarder"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Awards"
@@ -484,14 +498,11 @@ msgstr "Center Align"
msgid "Center view"
msgstr "Center view"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certifications"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Change language"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Change language to..."
@@ -532,14 +543,15 @@ msgstr "Circle"
msgid "Clear chat history"
msgstr "Clear chat history"
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Clear selection"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Click here to select a file to import"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr "Close"
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Code Block"
@@ -617,6 +629,7 @@ msgstr "Copy this secret key and use it in your applications to access your data
msgid "Copy URL"
msgstr "Copy URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr "Cover Letter"
@@ -832,6 +845,7 @@ msgstr "Deleting your resume..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -874,8 +888,8 @@ msgid "Documentation"
msgstr "Documentation"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Don't have an account? <0><1>Create one now <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr "Don't have an account? <0/>"
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -943,6 +957,7 @@ msgstr "Dutch"
msgid "e.g. Change my name to..."
msgstr "e.g. Change my name to..."
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Education"
@@ -991,6 +1006,10 @@ msgstr "Enabling two-factor authentication..."
msgid "English"
msgstr "English"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr "English (United Kingdom)"
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Enhance the security of your account with additional layers of protection."
@@ -1035,6 +1054,7 @@ msgstr "Everything you need to create, customize, and share professional resumes
msgid "Exit Fullscreen"
msgstr "Exit Fullscreen"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Experience"
@@ -1064,6 +1084,10 @@ msgstr "Export"
msgid "Failed to setup two-factor authentication."
msgstr "Failed to setup two-factor authentication."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr "Failed to sign in. Please try again."
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Features"
@@ -1325,6 +1349,7 @@ msgstr "Inline Code"
msgid "Insert Table"
msgstr "Insert Table"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interests"
@@ -1390,6 +1415,7 @@ msgstr "Landscape"
msgid "Language"
msgstr "Language"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Languages"
@@ -1600,7 +1626,6 @@ msgid "No Advertising, No Tracking"
msgstr "No Advertising, No Tracking"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "No results found."
@@ -1661,6 +1686,14 @@ msgstr "Ordered List"
msgid "Organization"
msgstr "Organization"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr "Overall Period"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr "Overall Title (optional)"
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Page"
@@ -1710,6 +1743,7 @@ msgstr "Password protection has been enabled."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1765,6 +1799,7 @@ msgstr "Portuguese (Brazil)"
msgid "Portuguese (Portugal)"
msgstr "Portuguese (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1797,6 +1832,7 @@ msgstr "Proficiency"
msgid "Profile"
msgstr "Profile"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profiles"
@@ -1805,6 +1841,7 @@ msgstr "Profiles"
msgid "Progress Bar"
msgstr "Progress Bar"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projects"
@@ -1821,6 +1858,7 @@ msgstr "Protect your resume with a password, and let only people with the passwo
msgid "Provider"
msgstr "Provider"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publications"
@@ -1870,6 +1908,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Redo (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "References"
@@ -1879,8 +1918,12 @@ msgid "Refresh"
msgstr "Refresh"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Remember your password? <0><1>Sign in now <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr "Remember your password? <0/>"
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr "Remove"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1898,6 +1941,10 @@ msgstr "Removing password protection..."
msgid "Rename"
msgstr "Rename"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr "Reorder"
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Report a Bug"
@@ -1949,6 +1996,10 @@ msgstr "Resumes"
msgid "Right Align"
msgstr "Right Align"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr "Role Progression"
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Romanian"
@@ -1999,7 +2050,6 @@ msgid "Search for..."
msgstr "Search for..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Search..."
@@ -2012,7 +2062,6 @@ msgid "Section Type"
msgstr "Section Type"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Select..."
@@ -2145,6 +2194,7 @@ msgstr "Single-column; polished and serious for senior or enterprise-level posit
msgid "Size"
msgstr "Size"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Skills"
@@ -2235,6 +2285,7 @@ msgstr "Strike"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Summary"
@@ -2693,6 +2744,7 @@ msgstr "Vietnamese"
msgid "Views"
msgstr "Views"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Volunteer"
+72 -20
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-02-17 09:51\n"
"PO-Revision-Date: 2026-03-05 10:45\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(abrir en una nueva pestaña)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# elemento} other {# elementos}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Añadir columna después"
msgid "Add Column Before"
msgstr "Añadir columna antes"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Añadir página"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Añadir fila después"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Permitir acceso público"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "¿Ya tienes una cuenta? <0><1>Inicia sesión ahora <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Otorgante"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Premios"
@@ -489,14 +503,11 @@ msgstr "Alinear al centro"
msgid "Center view"
msgstr "Centrar vista"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certificaciones"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Cambiar idioma"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Cambiar idioma a..."
@@ -537,14 +548,15 @@ msgstr "Círculo"
msgid "Clear chat history"
msgstr "Limpiar historial del chat"
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Borrar selección"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Haz clic aquí para seleccionar un archivo para importar"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Bloque de código"
@@ -622,6 +634,7 @@ msgstr "Copia esta clave secreta y úsala en tus aplicaciones para acceder a tus
msgid "Copy URL"
msgstr "Copiar URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr "Carta de presentación"
@@ -837,6 +850,7 @@ msgstr "Eliminando tu currículum..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Documentación"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "¿No tienes una cuenta? <0><1>Crea una ahora <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Neerlandés"
msgid "e.g. Change my name to..."
msgstr "ej. Cambiar mi nombre a..."
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Formación académica"
@@ -996,6 +1011,10 @@ msgstr "Habilitando la autenticación de doble factor..."
msgid "English"
msgstr "Inglés"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Refuerza la seguridad de tu cuenta con capas adicionales de protección."
@@ -1040,6 +1059,7 @@ msgstr "Todo lo que necesitas para crear, personalizar y compartir currículums
msgid "Exit Fullscreen"
msgstr "Salir de pantalla completa"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Experiencia"
@@ -1069,6 +1089,10 @@ msgstr "Exportar"
msgid "Failed to setup two-factor authentication."
msgstr "No se pudo configurar la autenticación de doble factor."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funciones"
@@ -1330,6 +1354,7 @@ msgstr "Código en línea"
msgid "Insert Table"
msgstr "Insertar tabla"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Intereses"
@@ -1395,6 +1420,7 @@ msgstr "Horizontal"
msgid "Language"
msgstr "Idioma"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Idiomas"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Sin publicidad, sin rastreo"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "No se han encontrado resultados."
@@ -1666,6 +1691,14 @@ msgstr "Lista ordenada"
msgid "Organization"
msgstr "Organización"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Página"
@@ -1715,6 +1748,7 @@ msgstr "La protección con contraseña se ha habilitado."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugués (Brasil)"
msgid "Portuguese (Portugal)"
msgstr "Portugués (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Nivel de dominio"
msgid "Profile"
msgstr "Perfil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Perfiles"
@@ -1810,6 +1846,7 @@ msgstr "Perfiles"
msgid "Progress Bar"
msgstr "Barra de progreso"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Proyectos"
@@ -1826,6 +1863,7 @@ msgstr "Protege tu currículum con una contraseña y permite que solo las person
msgid "Provider"
msgstr "Proveedor"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publicaciones"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Rehacer (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referencias"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Actualizar"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "¿Recuerdas tu contraseña? <0><1>Inicia sesión ahora <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Quitando la protección con contraseña..."
msgid "Rename"
msgstr "Renombrar"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Informar de un error"
@@ -1954,6 +2001,10 @@ msgstr "Currículums"
msgid "Right Align"
msgstr "Alinear a la derecha"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumano"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Buscar..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Buscar..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Tipo de sección"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Seleccionar..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Una sola columna; pulido y serio para puestos sénior o de nivel empresa
msgid "Size"
msgstr "Tamaño"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Habilidades"
@@ -2240,6 +2290,7 @@ msgstr "Tachado"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Resumen"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamita"
msgid "Views"
msgstr "Visualizaciones"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Voluntariado"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(در زبانهٔ جدید باز می‌شود)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# مورد} other {# مورد}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "افزودن ستون بعد از این"
msgid "Add Column Before"
msgstr "افزودن ستون قبل از این"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "افزودن صفحه"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "افزودن ردیف بعد از این"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "اجازهٔ دسترسی عمومی"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "قبلاً حساب دارید؟ <0><1>همین حالا وارد شوید <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "جایزه‌دهنده"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "جوایز"
@@ -489,14 +503,11 @@ msgstr "تراز وسط"
msgid "Center view"
msgstr "مرکز نما"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "گواهینامه‌ها"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "تغییر زبان"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "تغییر زبان به..."
@@ -537,14 +548,15 @@ msgstr "دایره"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "پاک کردن انتخاب"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "برای انتخاب فایل برای وارد کردن، اینجا کلیک کنید"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "بلوک کد"
@@ -622,6 +634,7 @@ msgstr "این کلید مخفی را کپی کنید و برای دسترسی
msgid "Copy URL"
msgstr "کپی URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "در حال حذف رزومه شما..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "مستندات"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "حساب ندارید؟ <0><1>همین حالا یکی بسازید <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "هلندی"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "تحصیلات"
@@ -996,6 +1011,10 @@ msgstr "در حال فعال‌کردن احراز هویت دو مرحله‌ا
msgid "English"
msgstr "انگلیسی"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "امنیت حساب خود را با لایه‌های اضافی حفاظت افزایش دهید."
@@ -1040,6 +1059,7 @@ msgstr "همه‌چیزی که برای ایجاد، شخصی‌سازی و اش
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "تجربه"
@@ -1069,6 +1089,10 @@ msgstr "خروجی گرفتن"
msgid "Failed to setup two-factor authentication."
msgstr "راه‌اندازی احراز هویت دو مرحله‌ای ناموفق بود."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "امکانات"
@@ -1330,6 +1354,7 @@ msgstr "کد درون‌خطی"
msgid "Insert Table"
msgstr "درج جدول"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "علاقه‌مندی‌ها"
@@ -1395,6 +1420,7 @@ msgstr "افقی"
msgid "Language"
msgstr "زبان"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "زبان‌ها"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "بدون تبلیغات، بدون رهگیری"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "موردی یافت نشد."
@@ -1666,6 +1691,14 @@ msgstr "فهرست شماره‌دار"
msgid "Organization"
msgstr "سازمان"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "صفحه"
@@ -1715,6 +1748,7 @@ msgstr "حفاظت با گذرواژه فعال شده است."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "پرتغالی (برزیل)"
msgid "Portuguese (Portugal)"
msgstr "پرتغالی (پرتغال)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "مهارت"
msgid "Profile"
msgstr "پروفایل"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "پروفایل‌ها"
@@ -1810,6 +1846,7 @@ msgstr "پروفایل‌ها"
msgid "Progress Bar"
msgstr "نوار پیشرفت"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "پروژه‌ها"
@@ -1826,6 +1863,7 @@ msgstr "از رزومه خود با یک گذرواژه محافظت کنید و
msgid "Provider"
msgstr "ارائه‌دهنده"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "انتشارها"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "انجام دوباره (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "معرف‌ها"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "تازه‌سازی"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "گذرواژه‌تان را به یاد آوردید؟ <0><1>همین حالا وارد شوید <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "در حال حذف حفاظت با گذرواژه..."
msgid "Rename"
msgstr "تغییر نام"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "گزارش باگ"
@@ -1954,6 +2001,10 @@ msgstr "رزومه‌ها"
msgid "Right Align"
msgstr "تراز راست"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "رومانیایی"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "جستجو برای..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "جستجو..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "نوع بخش"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "انتخاب..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "تک‌ستونه؛ صیقل‌خورده و جدی برای موقعی
msgid "Size"
msgstr "اندازه"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "مهارت‌ها"
@@ -2240,6 +2290,7 @@ msgstr "خط‌خورده"
msgid "Subreddit"
msgstr "ردیت"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "چکیده"
@@ -2698,6 +2749,7 @@ msgstr "ویتنامی"
msgid "Views"
msgstr "بازدیدها"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "داوطلبانه"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(avautuu uuteen välilehteen)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# kohde} other {# kohdetta}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Lisää sarake jälkeen"
msgid "Add Column Before"
msgstr "Lisää sarake ennen"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Lisää sivu"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Lisää rivi jälkeen"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Salli julkinen käyttö"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Onko sinulla jo tili? <0><1>Kirjaudu sisään nyt <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Palkitsija"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Palkinnot"
@@ -489,14 +503,11 @@ msgstr "Keskitä"
msgid "Center view"
msgstr "Keskitä näkymä"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Sertifikaatit"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Vaihda kieli"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Vaihda kieli..."
@@ -537,14 +548,15 @@ msgstr "Ympyrä"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Tyhjennä valinta"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Napsauta tästä valitaksesi tuotavan tiedoston"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Koodilohko"
@@ -622,6 +634,7 @@ msgstr "Kopioi tämä salainen avain ja käytä sitä sovelluksissasi tietojesi
msgid "Copy URL"
msgstr "Kopioi URL-osoite"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Poistetaan ansioluetteloasi..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentaatio"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Eikö sinulla ole tiliä? <0><1>Luo tili nyt <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "hollanti"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Koulutus"
@@ -996,6 +1011,10 @@ msgstr "Otetaan kaksivaiheista todennusta käyttöön..."
msgid "English"
msgstr "englanti"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Paranna tilisi turvallisuutta lisäsuojaustasoilla."
@@ -1040,6 +1059,7 @@ msgstr "Kaikki, mitä tarvitset ammattimaisen ansioluettelon luomiseen, mukautta
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Työkokemus"
@@ -1069,6 +1089,10 @@ msgstr "Vienti"
msgid "Failed to setup two-factor authentication."
msgstr "Kaksivaiheisen todennuksen käyttöönotto epäonnistui."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Ominaisuudet"
@@ -1330,6 +1354,7 @@ msgstr "Rivikoodaus"
msgid "Insert Table"
msgstr "Lisää taulukko"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Kiinnostuksen kohteet"
@@ -1395,6 +1420,7 @@ msgstr "Vaaka"
msgid "Language"
msgstr "Kieli"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Kielet"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Ei mainoksia, ei seurantaa"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Tuloksia ei löytynyt."
@@ -1666,6 +1691,14 @@ msgstr "Numeroitu lista"
msgid "Organization"
msgstr "Organisaatio"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Sivu"
@@ -1715,6 +1748,7 @@ msgstr "Salasanasuojaus on otettu käyttöön."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "portugali (Brasilia)"
msgid "Portuguese (Portugal)"
msgstr "portugali (Portugali)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Osaamistaso"
msgid "Profile"
msgstr "Profiili"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profiilit"
@@ -1810,6 +1846,7 @@ msgstr "Profiilit"
msgid "Progress Bar"
msgstr "Edistymispalkki"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projektit"
@@ -1826,6 +1863,7 @@ msgstr "Suojaa ansioluettelosi salasanalla ja anna vain salasanan tietävien nä
msgid "Provider"
msgstr "Palveluntarjoaja"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Julkaisut"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Tee uudelleen (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Suosittelijat"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Päivitä"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Muistatko salasanasi? <0><1>Kirjaudu sisään nyt <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Poistetaan salasanasuojausta..."
msgid "Rename"
msgstr "Nimeä uudelleen"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Ilmoita virheestä"
@@ -1954,6 +2001,10 @@ msgstr "Ansioluettelot"
msgid "Right Align"
msgstr "Tasaa oikealle"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "romania"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Etsi..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Hae..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Osion tyyppi"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Valitse..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Yksipalstainen; viimeistelty ja asiallinen kokeneille tai yritystason te
msgid "Size"
msgstr "Koko"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Taidot"
@@ -2240,6 +2290,7 @@ msgstr "Yliviivaus"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Yhteenveto"
@@ -2698,6 +2749,7 @@ msgstr "vietnam"
msgid "Views"
msgstr "Katselut"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Vapaaehtoistyö"
+72 -20
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-02-11 19:56\n"
"PO-Revision-Date: 2026-03-10 15:31\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -42,6 +42,11 @@ msgstr "(s'ouvre dans un nouvel onglet)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# élément} other {# éléments}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr "{0, plural, one {# poste} other {# postes}}"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Ajouter une colonne après"
msgid "Add Column Before"
msgstr "Ajouter une colonne avant"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr "Ajouter plusieurs postes pour montrer la progression de carrière dans la même entreprise."
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Ajouter une page"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr "Ajouter un poste"
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Ajouter une ligne après"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Autoriser l'accès public"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Vous avez déjà un compte ? <0><1>Connectez-vous maintenant <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Remise par"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Récompenses"
@@ -489,14 +503,11 @@ msgstr "Alignement centré"
msgid "Center view"
msgstr "Centrer la vue"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certifications"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Changer la langue"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Changer la langue en..."
@@ -537,14 +548,15 @@ msgstr "Cercle"
msgid "Clear chat history"
msgstr "Effacer l'historique de chat"
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Effacer la sélection"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Cliquez ici pour sélectionner un fichier à importer"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Bloc de code"
@@ -622,6 +634,7 @@ msgstr "Copiez cette clé secrète et utilisez-la dans vos applications pour acc
msgid "Copy URL"
msgstr "Copier l'URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr "Lettre de motivation"
@@ -837,6 +850,7 @@ msgstr "Suppression de votre CV en cours..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Documentation"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Vous n'avez pas de compte ? <0><1>Créez-en un maintenant <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Néerlandais"
msgid "e.g. Change my name to..."
msgstr "Par ex. : Changer mon nom en"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Formation"
@@ -996,6 +1011,10 @@ msgstr "Activation de l'authentification à deux facteurs..."
msgid "English"
msgstr "Anglais"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Améliorez la sécurité de votre compte avec des niveaux de protection supplémentaires."
@@ -1040,6 +1059,7 @@ msgstr "Tout ce dont vous avez besoin pour créer, personnaliser et partager des
msgid "Exit Fullscreen"
msgstr "Quitter le mode plein écran"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Expérience"
@@ -1069,6 +1089,10 @@ msgstr "Exporter"
msgid "Failed to setup two-factor authentication."
msgstr "Échec de la configuration de l'authentification à deux facteurs."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr "Échec de la connexion. Veuillez réessayer."
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Fonctionnalités"
@@ -1330,6 +1354,7 @@ msgstr "Code en ligne"
msgid "Insert Table"
msgstr "Insérer un tableau"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Centres d'intérêt"
@@ -1395,6 +1420,7 @@ msgstr "Paysage"
msgid "Language"
msgstr "Langue"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Langues"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Pas de publicité, pas de suivi"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Aucun résultat trouvé."
@@ -1666,6 +1691,14 @@ msgstr "Liste triée"
msgid "Organization"
msgstr "Organisation"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr "Période globale"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr "Titre global (optionnel)"
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Page"
@@ -1715,6 +1748,7 @@ msgstr "La protection par mot de passe a été activée."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugais (Brésil)"
msgid "Portuguese (Portugal)"
msgstr "Portugais (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Maîtrise"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profils"
@@ -1810,6 +1846,7 @@ msgstr "Profils"
msgid "Progress Bar"
msgstr "Barre de progression"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projets"
@@ -1826,6 +1863,7 @@ msgstr "Protégez votre CV à l'aide d'un mot de passe et ne laissez que les per
msgid "Provider"
msgstr "Fournisseur"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publications"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Rétablir (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Références"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Actualiser"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Vous vous souvenez de votre mot de passe ? <0><1>Connectez-vous maintenant <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr "Supprimer"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Suppression de la protection par mot de passe..."
msgid "Rename"
msgstr "Renommer"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr "Réorganiser"
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Signaler un bug"
@@ -1954,6 +2001,10 @@ msgstr "CVs"
msgid "Right Align"
msgstr "Alignement à droite"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr "Progression de poste"
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Roumain"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Rechercher..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Recherche..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Type de section"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Sélectionner..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Colonne unique ; soigné et sérieux pour les postes de seniors ou de di
msgid "Size"
msgstr "Taille"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Compétences"
@@ -2240,6 +2290,7 @@ msgstr "Barré"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Résumé"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamien"
msgid "Views"
msgstr "Vues"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Bénévole"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\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"
@@ -42,6 +42,11 @@ msgstr "(נפתח בלשונית חדשה)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# פריט} two {# פריטים} many {# פריטים} other {# פריטים}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "הוספת עמודה אחרי"
msgid "Add Column Before"
msgstr "הוספת עמודה לפני"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "הוספת עמוד"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "הוספת שורה אחרי"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "לאפשר גישה ציבורית"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "כבר יש לך חשבון? <0><1>התחברות עכשיו <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "גוף מעניק"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "פרסים"
@@ -489,14 +503,11 @@ msgstr "יישור למרכז"
msgid "Center view"
msgstr "מרכוז התצוגה"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "הסמכות"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "שינוי שפה"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "שינוי השפה אל..."
@@ -537,14 +548,15 @@ msgstr "עיגול"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "ניקוי הבחירה"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "לחץ כאן כדי לבחור קובץ לייבוא"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "בלוק קוד"
@@ -622,6 +634,7 @@ msgstr "העתק את המפתח הסודי הזה והשתמש בו ביישו
msgid "Copy URL"
msgstr "העתקת כתובת"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "מוחק את קורות החיים שלך..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "תיעוד"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "אין לך חשבון? <0><1>יצירת חשבון עכשיו <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "הולנדית"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "השכלה"
@@ -996,6 +1011,10 @@ msgstr "הגנה עם אימות דו־שלבי..."
msgid "English"
msgstr "אנגלית"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "חזק את האבטחה של החשבון שלך עם שכבות הגנה נוספות."
@@ -1040,6 +1059,7 @@ msgstr "כל מה שצריך כדי ליצור, להתאים אישית ולשת
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "ניסיון"
@@ -1069,6 +1089,10 @@ msgstr "ייצוא"
msgid "Failed to setup two-factor authentication."
msgstr "ההגנה עם אימות דו־שלבי נכשלה."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "יכולות"
@@ -1330,6 +1354,7 @@ msgstr "קוד מוטמע"
msgid "Insert Table"
msgstr "הוספת טבלה"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "תחביבים"
@@ -1395,6 +1420,7 @@ msgstr "לרוחב"
msgid "Language"
msgstr "שפה"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "שפות"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "בלי פרסום, בלי מעקב"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "לא נמצאו תוצאות."
@@ -1666,6 +1691,14 @@ msgstr "רשימה ממוספרת"
msgid "Organization"
msgstr "ארגון"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "עמוד"
@@ -1715,6 +1748,7 @@ msgstr "ההגנה באמצעות סיסמה הופעלה."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "פורטוגזית (ברזיל)"
msgid "Portuguese (Portugal)"
msgstr "פורטוגזית (פורטוגל)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "רמת מיומנות"
msgid "Profile"
msgstr "פרופיל"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "פרופילים"
@@ -1810,6 +1846,7 @@ msgstr "פרופילים"
msgid "Progress Bar"
msgstr "פס התקדמות"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "פרויקטים"
@@ -1826,6 +1863,7 @@ msgstr "הגן על קורות החיים שלך באמצעות סיסמה, כך
msgid "Provider"
msgstr "ספק"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "פרסומים"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "בצע שוב (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "ממליצים"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "רענון"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "נזכרת בסיסמה? <0><1>התחברות עכשיו <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "מסיר את ההגנה באמצעות סיסמה..."
msgid "Rename"
msgstr "שינוי שם"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "דיווח על באג"
@@ -1954,6 +2001,10 @@ msgstr "מסמכי קורות חיים"
msgid "Right Align"
msgstr "יישור לימין"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "רומנית"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "חיפוש..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "חיפוש..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "סוג סעיף"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "בחירה..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "עמודה אחת; מלוטש ורציני לתפקידים בכירים
msgid "Size"
msgstr "גודל"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "מיומנויות"
@@ -2240,6 +2290,7 @@ msgstr "קו חוצה"
msgid "Subreddit"
msgstr "סברדיט"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "תקציר"
@@ -2698,6 +2749,7 @@ msgstr "וייטנאמית"
msgid "Views"
msgstr "צפיות"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "התנדבות"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(नए टैब में खुलता है)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# आइटम} other {# आइटम}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "इसके बाद कॉलम जोड़ें"
msgid "Add Column Before"
msgstr "इसके पहले कॉलम जोड़ें"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "पेज जोड़ें"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "इसके बाद पंक्ति जोड़ें"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "सार्वजनिक एक्सेस की अनुमति दें"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "पहले से ही खाता है? <0><1>अभी साइन इन करें <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "पुरस्कार देने वाला"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "पुरस्कार"
@@ -489,14 +503,11 @@ msgstr "मध्य में संरेखित करें"
msgid "Center view"
msgstr "दृश्य को केंद्र में करें"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "प्रमाणपत्र"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "भाषा बदलें"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "भाषा बदलें..."
@@ -537,14 +548,15 @@ msgstr "गोला"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "चयन साफ़ करें"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "इम्पोर्ट करने के लिए फ़ाइल चुनने हेतु यहाँ क्लिक करें"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "कोड ब्लॉक"
@@ -622,6 +634,7 @@ msgstr "इस सीक्रेट कुंजी को कॉपी कर
msgid "Copy URL"
msgstr "URL कॉपी करें"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "आपका रेज़्यूमे हटाया जा रह
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "आलेख"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "खाता नहीं है? <0><1>अभी एक बनाएँ <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "डच"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "शिक्षा"
@@ -996,6 +1011,10 @@ msgstr "दो‑कारक प्रमाणीकरण सक्षम क
msgid "English"
msgstr "अंग्रेज़ी"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "अपने खाते की सुरक्षा को अतिरिक्त सुरक्षा स्तरों के साथ बढ़ाएँ।"
@@ -1040,6 +1059,7 @@ msgstr "पेशेवर रेज़्यूमे बनाने, अन
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "अनुभव"
@@ -1069,6 +1089,10 @@ msgstr "निर्यात"
msgid "Failed to setup two-factor authentication."
msgstr "दो‑कारक प्रमाणीकरण सेटअप करने में विफल।"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "विशेषताएँ"
@@ -1330,6 +1354,7 @@ msgstr "इनलाइन कोड"
msgid "Insert Table"
msgstr "तालिका डालें"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "रुचियाँ"
@@ -1395,6 +1420,7 @@ msgstr "लैंडस्केप"
msgid "Language"
msgstr "भाषा"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "भाषाएँ"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "कोई विज्ञापन नहीं, कोई ट्रैकिंग नहीं"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "कोई परिणाम नहीं मिला।"
@@ -1666,6 +1691,14 @@ msgstr "क्रमबद्ध सूची"
msgid "Organization"
msgstr "संगठन"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "पृष्ठ"
@@ -1715,6 +1748,7 @@ msgstr "पासवर्ड सुरक्षा सक्षम कर द
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "पुर्तगाली (ब्राज़ील)"
msgid "Portuguese (Portugal)"
msgstr "पुर्तगाली (पुर्तगाल)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "दक्षता"
msgid "Profile"
msgstr "प्रोफ़ाइल"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "प्रोफ़ाइल"
@@ -1810,6 +1846,7 @@ msgstr "प्रोफ़ाइल"
msgid "Progress Bar"
msgstr "प्रगति पट्टी"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "प्रोजेक्ट्स"
@@ -1826,6 +1863,7 @@ msgstr "अपने रेज़्यूमे को पासवर्ड
msgid "Provider"
msgstr "प्रोवाइडर"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "प्रकाशन"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "रीडू (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "रेफ़रेंस"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "रिफ़्रेश"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "पासवर्ड याद है? <0><1>अभी साइन इन करें <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "पासवर्ड सुरक्षा हटाई जा रह
msgid "Rename"
msgstr "नाम बदलें"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "बग की रिपोर्ट करें"
@@ -1954,6 +2001,10 @@ msgstr "रेज़्यूमे"
msgid "Right Align"
msgstr "दाएँ संरेखित करें"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "रोमानियाई"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "खोजें..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "खोजें..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "अनुभाग प्रकार"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "चुनें..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "सिंगल‑कॉलम; वरिष्ठ या एंटर
msgid "Size"
msgstr "आकार"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "कौशल"
@@ -2240,6 +2290,7 @@ msgstr "स्ट्राइक"
msgid "Subreddit"
msgstr "सबरेडिट"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "सारांश"
@@ -2698,6 +2749,7 @@ msgstr "वियतनामी"
msgid "Views"
msgstr "दृश्य"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "स्वयंसेवा"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(új lapon nyílik meg)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# elem} other {# elem}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Oszlop hozzáadása utána"
msgid "Add Column Before"
msgstr "Oszlop hozzáadása elé"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Oldal hozzáadása"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Sor hozzáadása alá"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Nyilvános hozzáférés engedélyezése"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Már van fiókod? <0><1>Jelentkezz be most <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Díjazó"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Díjak"
@@ -489,14 +503,11 @@ msgstr "Középre igazítás"
msgid "Center view"
msgstr "Nézet középre"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Tanúsítványok"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Nyelv módosítása"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Nyelv módosítása erre..."
@@ -537,14 +548,15 @@ msgstr "Kör"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Kijelölés törlése"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Kattints ide az importálandó fájl kiválasztásához"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Kódblokk"
@@ -622,6 +634,7 @@ msgstr "Másold ki ezt a titkos kulcsot, és használd az alkalmazásaidban az a
msgid "Copy URL"
msgstr "URL másolása"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Önéletrajz törlése..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentáció"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Nincs fiókod? <0><1>Hozz létre egyet most <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "holland"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Tanulmányok"
@@ -996,6 +1011,10 @@ msgstr "Kétlépcsős hitelesítés engedélyezése..."
msgid "English"
msgstr "Angol"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Növeld a fiókod biztonságát további védelmi rétegek hozzáadásával."
@@ -1040,6 +1059,7 @@ msgstr "Minden, amire szükséged van professzionális önéletrajzok létrehoz
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Tapasztalat"
@@ -1069,6 +1089,10 @@ msgstr "Exportálás"
msgid "Failed to setup two-factor authentication."
msgstr "Nem sikerült beállítani a kétlépcsős hitelesítést."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funkciók"
@@ -1330,6 +1354,7 @@ msgstr "Sorközi kód"
msgid "Insert Table"
msgstr "Táblázat beszúrása"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Érdeklődési körök"
@@ -1395,6 +1420,7 @@ msgstr "Fekvő"
msgid "Language"
msgstr "Nyelv"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Nyelvek"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Nincs reklám, nincs követés"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Nincs találat."
@@ -1666,6 +1691,14 @@ msgstr "Sorszámozott lista"
msgid "Organization"
msgstr "Szervezet"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Oldal"
@@ -1715,6 +1748,7 @@ msgstr "A jelszóvédelem be lett kapcsolva."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "portugál (Brazília)"
msgid "Portuguese (Portugal)"
msgstr "portugál (Portugália)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Jártasság"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profilok"
@@ -1810,6 +1846,7 @@ msgstr "Profilok"
msgid "Progress Bar"
msgstr "Folyamatjelző sáv"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projektek"
@@ -1826,6 +1863,7 @@ msgstr "Védd az önéletrajzodat jelszóval, és engedd, hogy csak a jelszó bi
msgid "Provider"
msgstr "Szolgáltató"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikációk"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Újra (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referenciák"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Frissítés"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Eszébe jutott a jelszó? <0><1>Jelentkezz be most <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Jelszóvédelem eltávolítása..."
msgid "Rename"
msgstr "Átnevezés"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Hiba jelentése"
@@ -1954,6 +2001,10 @@ msgstr "Önéletrajzok"
msgid "Right Align"
msgstr "Jobbra igazítás"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "román"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Keresés önéletrajzra..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Keresés..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Szekció típusa"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Válassz..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Egyoszlopos; kifinomult és komoly, vezetői vagy vállalati szintű poz
msgid "Size"
msgstr "Méret"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Készségek"
@@ -2240,6 +2290,7 @@ msgstr "Áthúzás"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Összegzés"
@@ -2698,6 +2749,7 @@ msgstr "vietnámi"
msgid "Views"
msgstr "Megtekintések"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Önkéntesség"
+72 -21
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-02-27 03:19\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -42,6 +42,11 @@ msgstr "(terbuka di tab baru)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, other {# item}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Tambah Kolom Setelah"
msgid "Add Column Before"
msgstr "Tambah Kolom Sebelum"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Tambah Halaman"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Tambah Baris Setelah"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Izinkan Akses Publik"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Sudah punya akun? <0><1>Masuk sekarang <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Pemberi Penghargaan"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Penghargaan"
@@ -489,14 +503,11 @@ msgstr "Rata Tengah"
msgid "Center view"
msgstr "Pusatkan tampilan"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Sertifikasi"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Ubah bahasa"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Ubah bahasa ke..."
@@ -537,14 +548,15 @@ msgstr "Lingkaran"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Hapus pilihan"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Klik di sini untuk memilih file yang akan diimpor"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Blok Kode"
@@ -622,6 +634,7 @@ msgstr "Salin kunci rahasia ini dan gunakan di aplikasi Anda untuk mengakses dat
msgid "Copy URL"
msgstr "Salin URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Menghapus resume Anda..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentasi"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Tidak punya akun? <0><1>Buat sekarang <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Belanda"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Pendidikan"
@@ -996,6 +1011,10 @@ msgstr "Mengaktifkan autentikasi dua faktor..."
msgid "English"
msgstr "Inggris"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Tingkatkan keamanan akun Anda dengan lapisan perlindungan tambahan."
@@ -1040,6 +1059,7 @@ msgstr "Segala yang Anda butuhkan untuk membuat, menyesuaikan, dan membagikan re
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Pengalaman"
@@ -1069,6 +1089,10 @@ msgstr "Ekspor"
msgid "Failed to setup two-factor authentication."
msgstr "Gagal menyiapkan autentikasi dua faktor."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Fitur"
@@ -1330,6 +1354,7 @@ msgstr "Kode Inline"
msgid "Insert Table"
msgstr "Sisipkan Tabel"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Minat"
@@ -1395,6 +1420,7 @@ msgstr "Lanskap"
msgid "Language"
msgstr "Bahasa"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Bahasa"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Tanpa Iklan, Tanpa Pelacakan"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Tidak ada hasil."
@@ -1666,6 +1691,14 @@ msgstr "Daftar Bernomor"
msgid "Organization"
msgstr "Organisasi"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Halaman"
@@ -1715,6 +1748,7 @@ msgstr "Perlindungan kata sandi telah diaktifkan."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugis (Brasil)"
msgid "Portuguese (Portugal)"
msgstr "Portugis (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Kemahiran"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profil"
@@ -1810,6 +1846,7 @@ msgstr "Profil"
msgid "Progress Bar"
msgstr "Bilah Progres"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Proyek"
@@ -1826,6 +1863,7 @@ msgstr "Lindungi resume Anda dengan kata sandi, dan biarkan hanya orang yang mem
msgid "Provider"
msgstr "Penyedia"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikasi"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Ulangi (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referensi"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Muat Ulang"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Ingat kata sandi Anda? <0><1>Masuk sekarang <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Menghapus perlindungan kata sandi..."
msgid "Rename"
msgstr "Ganti Nama"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Laporkan Bug"
@@ -1954,6 +2001,10 @@ msgstr "Resume"
msgid "Right Align"
msgstr "Rata Kanan"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumania"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Cari..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Cari..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Tipe Bagian"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Pilih..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Satu kolom; rapi dan serius untuk posisi tingkat senior atau level perus
msgid "Size"
msgstr "Ukuran"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Keahlian"
@@ -2240,6 +2290,7 @@ msgstr "Coret"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Ringkasan"
@@ -2698,6 +2749,7 @@ msgstr "Vietnam"
msgid "Views"
msgstr "Tampilan"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Relawan"
@@ -2848,4 +2900,3 @@ msgstr "Perkecil"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(apre in una nuova scheda)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# elemento} other {# elementi}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Aggiungi colonna dopo"
msgid "Add Column Before"
msgstr "Aggiungi colonna prima"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Aggiungi pagina"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Aggiungi riga dopo"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Consenti accesso pubblico"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Hai già un account? <0><1>Accedi ora <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Premiatore"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Premi"
@@ -489,14 +503,11 @@ msgstr "Allinea al centro"
msgid "Center view"
msgstr "Centra vista"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certificazioni"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Cambia lingua"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Cambia lingua in..."
@@ -537,14 +548,15 @@ msgstr "Cerchio"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Pulisci selezione"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Fai clic qui per selezionare un file da importare"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Blocco di codice"
@@ -622,6 +634,7 @@ msgstr "Copia questa chiave segreta e usala nelle tue applicazioni per accedere
msgid "Copy URL"
msgstr "Copia URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr "Lettera di presentazione"
@@ -837,6 +850,7 @@ msgstr "Eliminazione del tuo curriculum in corso..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Documentazione"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Non hai un account? <0><1>Creane uno ora <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Olandese"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Formazione"
@@ -996,6 +1011,10 @@ msgstr "Attivazione dell'autenticazione a due fattori..."
msgid "English"
msgstr "Inglese"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Aumenta la sicurezza del tuo account con ulteriori livelli di protezione."
@@ -1040,6 +1059,7 @@ msgstr "Tutto ciò di cui hai bisogno per creare, personalizzare e condividere c
msgid "Exit Fullscreen"
msgstr "Esci dalla modalità a schermo intero"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Esperienza"
@@ -1069,6 +1089,10 @@ msgstr "Esporta"
msgid "Failed to setup two-factor authentication."
msgstr "Impossibile configurare l'autenticazione a due fattori."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funzionalità"
@@ -1330,6 +1354,7 @@ msgstr "Codice inline"
msgid "Insert Table"
msgstr "Inserisci tabella"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interessi"
@@ -1395,6 +1420,7 @@ msgstr "Orizzontale"
msgid "Language"
msgstr "Lingua"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Lingue"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Nessuna pubblicità, nessun tracciamento"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Nessun risultato trovato."
@@ -1666,6 +1691,14 @@ msgstr "Elenco numerato"
msgid "Organization"
msgstr "Organizzazione"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Pagina"
@@ -1715,6 +1748,7 @@ msgstr "La protezione tramite password è stata attivata."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portoghese (Brasile)"
msgid "Portuguese (Portugal)"
msgstr "Portoghese (Portogallo)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Competenza"
msgid "Profile"
msgstr "Profilo"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profili"
@@ -1810,6 +1846,7 @@ msgstr "Profili"
msgid "Progress Bar"
msgstr "Barra di avanzamento"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Progetti"
@@ -1826,6 +1863,7 @@ msgstr "Proteggi il tuo curriculum con una password e consenti solo alle persone
msgid "Provider"
msgstr "Provider"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Pubblicazioni"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Ripristina (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referenze"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Aggiorna"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Ti ricordi la password? <0><1>Accedi ora <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Rimozione della protezione tramite password..."
msgid "Rename"
msgstr "Rinomina"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Segnala un bug"
@@ -1954,6 +2001,10 @@ msgstr "Curricula"
msgid "Right Align"
msgstr "Allinea a destra"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumeno"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Cerca..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Cerca..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Tipo di sezione"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Seleziona..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Una singola colonna; curato e serio per posizioni senior o a livello ent
msgid "Size"
msgstr "Dimensione"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Competenze"
@@ -2240,6 +2290,7 @@ msgstr "Barrato"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Riepilogo"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamita"
msgid "Views"
msgstr "Visualizzazioni"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Volontariato"
+72 -20
View File
@@ -8,7 +8,7 @@ msgstr ""
"Language: ja\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -42,6 +42,11 @@ msgstr "(新しいタブで開きます)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, other {# 件のアイテム}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "後に列を追加"
msgid "Add Column Before"
msgstr "前に列を追加"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "ページを追加"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "後に行を追加"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "公開アクセスを許可"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "すでにアカウントをお持ちですか?<0><1>今すぐサインイン <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "授与者"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "受賞歴"
@@ -489,14 +503,11 @@ msgstr "中央揃え"
msgid "Center view"
msgstr "中央に表示"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "認定資格"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "言語を変更"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "言語を変更..."
@@ -537,14 +548,15 @@ msgstr "円"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "選択をクリア"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "ここをクリックしてインポートするファイルを選択"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "コードブロック"
@@ -622,6 +634,7 @@ msgstr "このシークレットキーをコピーし、アプリケーション
msgid "Copy URL"
msgstr "URL をコピー"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "履歴書を削除しています..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "ドキュメンテーション"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "アカウントをお持ちでないですか?<0><1>今すぐ作成 <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "オランダ語"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "学歴"
@@ -996,6 +1011,10 @@ msgstr "二要素認証を有効にしています..."
msgid "English"
msgstr "英語"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "アカウントのセキュリティを強化するために、追加の保護レイヤーを有効にしましょう。"
@@ -1040,6 +1059,7 @@ msgstr "プロフェッショナルな履歴書を作成・カスタマイズ・
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "職務経験"
@@ -1069,6 +1089,10 @@ msgstr "エクスポート"
msgid "Failed to setup two-factor authentication."
msgstr "二要素認証の設定に失敗しました。"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "機能"
@@ -1330,6 +1354,7 @@ msgstr "インラインコード"
msgid "Insert Table"
msgstr "表を挿入"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "興味・関心"
@@ -1395,6 +1420,7 @@ msgstr "横長"
msgid "Language"
msgstr "言語"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "言語"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "広告なし・トラッキングなし"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "結果が見つかりません。"
@@ -1666,6 +1691,14 @@ msgstr "番号付きリスト"
msgid "Organization"
msgstr "団体名"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "ページ"
@@ -1715,6 +1748,7 @@ msgstr "パスワード保護を有効にしました。"
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "ポルトガル語(ブラジル)"
msgid "Portuguese (Portugal)"
msgstr "ポルトガル語(ポルトガル)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "熟練度"
msgid "Profile"
msgstr "プロフィール"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "プロフィール"
@@ -1810,6 +1846,7 @@ msgstr "プロフィール"
msgid "Progress Bar"
msgstr "プログレスバー"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "プロジェクト"
@@ -1826,6 +1863,7 @@ msgstr "履歴書をパスワードで保護し、パスワードを知ってい
msgid "Provider"
msgstr "プロバイダー"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "掲載情報"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "やり直し(Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "推薦者"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "再読み込み"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "パスワードを思い出しましたか?<0><1>今すぐサインイン <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "パスワード保護を解除しています..."
msgid "Rename"
msgstr "名前を変更"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "バグを報告"
@@ -1954,6 +2001,10 @@ msgstr "履歴書"
msgid "Right Align"
msgstr "右揃え"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "ルーマニア語"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "検索..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "検索..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "セクションタイプ"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "選択..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "1 カラムレイアウトで、落ち着いた印象の真面目なデ
msgid "Size"
msgstr "サイズ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "スキル"
@@ -2240,6 +2290,7 @@ msgstr "取り消し線"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "要約"
@@ -2698,6 +2749,7 @@ msgstr "ベトナム語"
msgid "Views"
msgstr "閲覧数"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "ボランティア"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Khmer\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -42,6 +42,11 @@ msgstr "(បើក​ក្នុងផ្ទាំង​ថ្មី)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, other {# ធាតុ}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "បន្ថែម​ជួរឈរ​នៅ​ក្រោយ"
msgid "Add Column Before"
msgstr "បន្ថែម​ជួរឈរ​នៅ​មុខ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "បន្ថែម​ទំព័រ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "បន្ថែម​ជួរដេក​នៅ​ក្រោយ"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "អនុញ្ញាត​ឱ្យ​ចូល​ដំណើរការ​សាធារណៈ"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "មានគណនីរួចហើយ​ឬ? <0><1>ចូល​ឥឡូវនេះ <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "អ្នក​ផ្តល់​រង្វាន់"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "រង្វាន់"
@@ -489,14 +503,11 @@ msgstr "តម្រង់​កណ្ដាល"
msgid "Center view"
msgstr "ផ្ដោត​ទិដ្ឋភាព​ទៅ​កណ្ដាល"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "វិញ្ញាបនបត្រ"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "ប្ដូរ​ភាសា"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "ប្តូរ​ភាសា​ទៅ..."
@@ -537,14 +548,15 @@ msgstr "រង្វង់"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "សម្អាត​ការ​ជ្រើសរើស"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "ចុច​ទីនេះ​ដើម្បី​ជ្រើស​ឯកសារ​មួយ​ដើម្បី​នាំចូល"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "កូដ​ប្លុក"
@@ -622,6 +634,7 @@ msgstr "ចម្លង​កូនសោ​សម្ងាត់​នេះ
msgid "Copy URL"
msgstr "ចម្លង URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "កំពុង​លុប​ប្រវត្តិរូប​រប
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "ឯកសារ"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "មិន​មាន​គណនី​ឬ? <0><1>បង្កើត​មួយ​ឥឡូវនេះ <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Dutch"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "ការ​សិក្សា"
@@ -996,6 +1011,10 @@ msgstr "កំពុង​បើក​ការ​ផ្ទៀងផ្ទាត
msgid "English"
msgstr "ភាសា​អង់គ្លេស"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "បង្កើន​សុវត្ថិភាព​គណនី​របស់​អ្នក​ដោយ​បន្ថែម​ក្រឡុក​ការពារ​បន្ថែម។"
@@ -1040,6 +1059,7 @@ msgstr "អ្វីៗ​ដែល​អ្នក​ត្រូវការ
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "បទពិសោធន៍"
@@ -1069,6 +1089,10 @@ msgstr "នាំចេញ"
msgid "Failed to setup two-factor authentication."
msgstr "បានបរាជ័យ​ក្នុងការ​រៀបចំ​ការ​ផ្ទៀងផ្ទាត់​ពីរ​ជាន់។"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "មុខងារ"
@@ -1330,6 +1354,7 @@ msgstr "កូដ​ក្នុង​បន្ទាត់"
msgid "Insert Table"
msgstr "បញ្ចូល​តារាង"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "ចំណាប់អារម្មណ៍"
@@ -1395,6 +1420,7 @@ msgstr "ផ្ទៃ​ទេសភាព"
msgid "Language"
msgstr "ភាសា"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "ភាសា"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "គ្មាន​ការ​ផ្សពាណិជ្ជកម្ម គ្មាន​ការ​តាមដាន"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "រក​មិន​ឃើញ​លទ្ធផល។"
@@ -1666,6 +1691,14 @@ msgstr "បញ្ជី​មាន​លេខ"
msgid "Organization"
msgstr "អង្គការ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "ទំព័រ"
@@ -1715,6 +1748,7 @@ msgstr "ការ​ការពារ​ដោយ​ពាក្យសម្ង
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portuguese (Brazil)"
msgid "Portuguese (Portugal)"
msgstr "Portuguese (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "កម្រិត​ជំនាញ"
msgid "Profile"
msgstr "ប្រវត្តិ​សង្ខេប"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "ប្រវត្តិ​សង្ខេប​បណ្ដាញ​សង្គម"
@@ -1810,6 +1846,7 @@ msgstr "ប្រវត្តិ​សង្ខេប​បណ្ដាញ​ស
msgid "Progress Bar"
msgstr "របារ​វឌ្ឍនភាព"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "គម្រោង"
@@ -1826,6 +1863,7 @@ msgstr "ការពារ​ប្រវត្តិរូប​របស់​
msgid "Provider"
msgstr "អ្នកផ្តល់សេវា"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "អត្ថបទផ្សព្វផ្សាយ"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "ធ្វើម្ដងទៀត (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "យោង"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "ផ្ទៀងផ្ទាត់​ម្ដងទៀត"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "ចង់​ចាំ​ពាក្យសម្ងាត់វិញ​ហើយ​ឬ? <0><1>ចូល​ឥឡូវនេះ <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "កំពុង​ដក​ការ​ការពារ​ដោយ​
msgid "Rename"
msgstr "ប្ដូរ​ឈ្មោះ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "រាយការណ៍​កំហុស"
@@ -1954,6 +2001,10 @@ msgstr "ប្រវត្តិរូប"
msgid "Right Align"
msgstr "តម្រង់​ស្ដាំ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Romanian"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "ស្វែងរក​ប្រវត្តិរូប..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "ស្វែងរក..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "ប្រភេទ​ផ្នែក"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "ជ្រើស..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "ជួរឈរ​តែមួយ រូបរាង​រលោង ន
msgid "Size"
msgstr "ទំហំ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "ជំនាញ"
@@ -2240,6 +2290,7 @@ msgstr "អក្សរ​ឆូត"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "សង្ខេប"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamese"
msgid "Views"
msgstr "ចំនួន​មើល"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "ស្ម័គ្រចិត្ត"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Kannada\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(ಹೊಸ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ತೆರೆಯುತ್
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# ಐಟಂ} other {# ಐಟಂಗಳು}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "ಕಾಲಮ್ ಅನ್ನು ನಂತರ ಸೇರಿಸಿ"
msgid "Add Column Before"
msgstr "ಕಾಲಮ್ ಅನ್ನು ಮೊದಲು ಸೇರಿಸಿ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "ಪುಟವನ್ನು ಸೇರಿಸಿ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "ಸಾಲನ್ನು ನಂತರ ಸೇರಿಸಿ"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "ಸಾರ್ವಜನಿಕ ಪ್ರವೇಶಕ್ಕೆ ಅನುಮತಿಸಿ"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "ಈಗಾಗಲೇ ಖಾತೆಯಿದೆಯಾ? <0><1>ಈಗಲೇ ಸೈನ್ ಇನ್ ಮಾಡಿ <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "ಪ್ರಶಸ್ತಿದಾರ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "ಪ್ರಶಸ್ತಿಗಳು"
@@ -489,14 +503,11 @@ msgstr "ಮಧ್ಯ ಸರಿಸು"
msgid "Center view"
msgstr "ಮಧ್ಯದಲ್ಲಿ ವೀಕ್ಷಿಸಿ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "ಪ್ರಮಾಣಪತ್ರಗಳು"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "ಭಾಷೆ ಬದಲಾಯಿಸಿ"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "ಭಾಷೆಯನ್ನು ಈ ಕೆಳಗಿನದಕ್ಕೆ ಬದಲಾಯಿಸಿ..."
@@ -537,14 +548,15 @@ msgstr "ವೃತ್ತ"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "ಆಯ್ಕೆಯನ್ನು ತೆರವುಗೊಳಿಸಿ"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "ಆಮದು ಮಾಡಲು ಕಡತವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "ಕೋಡ್ ಬ್ಲಾಕ್"
@@ -622,6 +634,7 @@ msgstr "ಈ ಸೀಕ್ರೆಟ್ ಕೀ ಅನ್ನು ನಕಲಿಸಿ
msgid "Copy URL"
msgstr "URL ನಕಲಿಸಿ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ ಅಳಿಸಲಾಗುತ್
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "ದಾಖಲೀಕರಣ"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "ಖಾತೆಯಿಲ್ಲವೇ? <0><1>ಈಗಲೇ ಖಾತೇ ರಚಿಸಿ <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "ಡಚ್"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "ಶಿಕ್ಷಣ"
@@ -996,6 +1011,10 @@ msgstr "ಎರಡು ಅಂಶದ ದೃಢೀಕರಣವನ್ನು ಸಕ್
msgid "English"
msgstr "ಆಂಗ್ಲ"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "ನಿಮ್ಮ ಖಾತೆಯ ಭದ್ರತೆಯನ್ನು ಹೆಚ್ಚುವರಿ ರಕ್ಷಣಾ ಪದರಗಳೊಂದಿಗೆ ಹೆಚ್ಚಿಸಿ."
@@ -1040,6 +1059,7 @@ msgstr "ವೃತ್ತಿಪರ ರೆಸ್ಯೂಮ್‌ಗಳನ್ನು
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "ಅನುಭವ"
@@ -1069,6 +1089,10 @@ msgstr "ರಫ್ತು ಮಾಡು"
msgid "Failed to setup two-factor authentication."
msgstr "ಎರಡು ಅಂಶಗಳ ದೃಢೀಕರಣವನ್ನು ಹೊಂದಿಸಲು ವಿಫಲವಾಗಿದೆ."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "ವೈಶಿಷ್ಟ್ಯಗಳು"
@@ -1330,6 +1354,7 @@ msgstr "ಇನ್‌ಲೈನ್ ಕೋಡ್"
msgid "Insert Table"
msgstr "ಟೇಬಲ್ ಸೇರಿಸಿ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "ಆಸಕ್ತಿಗಳು"
@@ -1395,6 +1420,7 @@ msgstr "ಲೆಂಡ್ಸ್ಕೇಪ್"
msgid "Language"
msgstr "ಭಾಷೆ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "ಭಾಷೆಗಳು"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "ಯಾವುದೇ ಜಾಹೀರಾತುಗಳಿಲ್ಲ, ಯಾವುದೇ ಟ್ರ್ಯಾಕಿಂಗ್ ಇಲ್ಲ"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "ಯಾವುದೇ ಫಲಿತಾಂಶಗಳು ಕಂಡುಬರಲಿಲ್ಲ."
@@ -1666,6 +1691,14 @@ msgstr "ಕ್ರಮಿತ ಪಟ್ಟ್ತಿ"
msgid "Organization"
msgstr "ಸಂಸ್ಥೆ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "ಪುಟ"
@@ -1715,6 +1748,7 @@ msgstr "ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಣೆಯನ್ನು ಸಕ
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "ಪೋರ್ಚುಗೀಸ್ (ಬ್ರೆಜಿಲ್)"
msgid "Portuguese (Portugal)"
msgstr "ಪೋರ್ಚುಗೀಸ್ (ಪೋರ್ಚುಗಲ್)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "ಪಾರುಂಗತತೆ"
msgid "Profile"
msgstr "ಪ್ರೊಫೈಲ್"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "ಪ್ರೊಫೈಲ್‌ಗಳು"
@@ -1810,6 +1846,7 @@ msgstr "ಪ್ರೊಫೈಲ್‌ಗಳು"
msgid "Progress Bar"
msgstr "ಪ್ರಗತಿ ಪಟ್ಟೆ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "ಯೋಜನೆಗಳು"
@@ -1826,6 +1863,7 @@ msgstr "ಪಾಸ್‌ವರ್ಡ್‌ನೊಂದಿಗೆ ನಿಮ್ಮ
msgid "Provider"
msgstr "ಪ್ರದಾಯಕ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "ಪ್ರಕಟನೆಗಳು"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "ಪುನಃಮಾಡು (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "ಪರಿಚಯಗಳು"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "ರಿಫ್ರೆಶ್ ಮಾಡಿ"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ನೆನಪಿದೆಯೇ? <0><1>ಈಗಲೇ ಸೈನ್ ಇನ್ ಮಾಡಿ <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಣೆಯನ್ನು ತೆ
msgid "Rename"
msgstr "ಮರುಹೆಸರಿಸಿ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "ದೋಷವನ್ನು ವರದಿ ಮಾಡಿ"
@@ -1954,6 +2001,10 @@ msgstr "ರೆಸ್ಯೂಮೇ"
msgid "Right Align"
msgstr "ಬಲ ಸರಿಸು"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "ರೊಮೇನಿಯನ್"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "ಹುಡುಕಿ..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "ಹುಡುಕಿ..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "ವಿಭಾಗದ ಪ್ರಕಾರ"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "ಆಯ್ಕೆಮಾಡಿ..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "ಒಂದು ಕಾಲಮ್; ಹಿರಿಯ ಅಥವಾ ಎಂಟರ
msgid "Size"
msgstr "ಗಾತ್ರ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "ಕೌಶಲ್ಯಗಳು"
@@ -2240,6 +2290,7 @@ msgstr "ಸ್ಟ್ರೈಕ್"
msgid "Subreddit"
msgstr "ಸಬ್‌ರೆಡಿಟ್"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "ಸಾರಾಂಶ"
@@ -2698,6 +2749,7 @@ msgstr "ವಿಯೆಟ್ನಾಮೀಸ್"
msgid "Views"
msgstr "ವೀಕ್ಷಣೆಗಳು"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "ಸ್ವಯಂಸೇವಕ"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -42,6 +42,11 @@ msgstr "(새 탭에서 열림)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, other {#개 항목}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "뒤에 열 추가"
msgid "Add Column Before"
msgstr "앞에 열 추가"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "페이지 추가"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "뒤에 행 추가"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "공개 액세스 허용"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "이미 계정이 있으신가요? <0><1>지금 로그인하기 <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "수여자"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "수상 내역"
@@ -489,14 +503,11 @@ msgstr "가운데 정렬"
msgid "Center view"
msgstr "보기 가운데로"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "자격증"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "언어 변경"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "언어를 변경..."
@@ -537,14 +548,15 @@ msgstr "원"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "선택 해제"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "가져올 파일을 선택하려면 여기를 클릭하세요"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "코드 블록"
@@ -622,6 +634,7 @@ msgstr "이 비밀 키를 복사해 애플리케이션에 붙여넣어 데이터
msgid "Copy URL"
msgstr "URL 복사"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "이력서를 삭제하는 중입니다..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "문서"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "계정이 없으신가요? <0><1>지금 가입하기 <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "네덜란드어"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "학력"
@@ -996,6 +1011,10 @@ msgstr "2단계 인증을 활성화하는 중입니다..."
msgid "English"
msgstr "영어"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "계정 보안을 강화하기 위해 추가 보호 계층을 적용하세요."
@@ -1040,6 +1059,7 @@ msgstr "전문적인 이력서를 만들고, 사용자 지정하고, 공유하
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "경력"
@@ -1069,6 +1089,10 @@ msgstr "내보내기"
msgid "Failed to setup two-factor authentication."
msgstr "2단계 인증 설정에 실패했습니다."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "기능"
@@ -1330,6 +1354,7 @@ msgstr "인라인 코드"
msgid "Insert Table"
msgstr "표 삽입"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "관심사"
@@ -1395,6 +1420,7 @@ msgstr "가로"
msgid "Language"
msgstr "언어"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "언어"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "광고 없음, 추적 없음"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "결과가 없습니다."
@@ -1666,6 +1691,14 @@ msgstr "번호 매기기 목록"
msgid "Organization"
msgstr "기관"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "페이지"
@@ -1715,6 +1748,7 @@ msgstr "비밀번호 보호가 활성화되었습니다."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "포르투갈어(브라질)"
msgid "Portuguese (Portugal)"
msgstr "포르투갈어(포르투갈)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "숙련도"
msgid "Profile"
msgstr "프로필"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "프로필"
@@ -1810,6 +1846,7 @@ msgstr "프로필"
msgid "Progress Bar"
msgstr "진행률 바"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "프로젝트"
@@ -1826,6 +1863,7 @@ msgstr "이력서를 비밀번호로 보호해, 비밀번호를 아는 사람만
msgid "Provider"
msgstr "제공자"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "출판물"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "다시 실행 (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "추천인"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "새로고침"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "비밀번호가 기억나시나요? <0><1>지금 로그인하기 <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "비밀번호 보호를 제거하는 중입니다..."
msgid "Rename"
msgstr "이름 바꾸기"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "버그 신고"
@@ -1954,6 +2001,10 @@ msgstr "이력서"
msgid "Right Align"
msgstr "오른쪽 정렬"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "루마니아어"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "검색..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "검색..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "섹션 유형"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "선택..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "단일 열 구성에 세련되고 진중한 느낌을 더한 템플릿
msgid "Size"
msgstr "크기"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "기술"
@@ -2240,6 +2290,7 @@ msgstr "취소선"
msgid "Subreddit"
msgstr "서브레딧"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "요약"
@@ -2698,6 +2749,7 @@ msgstr "베트남어"
msgid "Views"
msgstr "조회 수"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "봉사"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\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"
@@ -42,6 +42,11 @@ msgstr "(atsidaro naujame skirtuke)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# elementas} few {# elementai} many {# elementų} other {# elemento}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Pridėti stulpelį po"
msgid "Add Column Before"
msgstr "Pridėti stulpelį prieš"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Pridėti puslapį"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Pridėti eilutę po"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Leisti viešą prieigą"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Jau turite paskyrą? <0><1>Prisijunkite dabar <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Apdovanotojas"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Apdovanojimai"
@@ -489,14 +503,11 @@ msgstr "Lygiuoti centre"
msgid "Center view"
msgstr "Centruoti vaizdą"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Sertifikatai"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Pakeisti kalbą"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Pakeisti kalbą į..."
@@ -537,14 +548,15 @@ msgstr "Apskritimas"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Išvalyti pasirinkimą"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Spustelėkite čia, kad pasirinktumėte importuojamą failą"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Kodo blokas"
@@ -622,6 +634,7 @@ msgstr "Nukopijuokite šį slaptą raktą ir naudokite jį savo programose duome
msgid "Copy URL"
msgstr "Kopijuoti URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Jūsų gyvenimo aprašymas ištrinamas..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentacija"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Neturite paskyros? <0><1>Sukurkite ją dabar <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Olandų"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Išsilavinimas"
@@ -996,6 +1011,10 @@ msgstr "Įjungiamas dviejų veiksnių tapatumo patvirtinimas..."
msgid "English"
msgstr "Anglų"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Sustiprinkite savo paskyros saugumą papildomais apsaugos lygiais."
@@ -1040,6 +1059,7 @@ msgstr "Viskas, ko reikia sukurti, pritaikyti ir bendrinti profesionalius gyveni
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Patirtis"
@@ -1069,6 +1089,10 @@ msgstr "Eksportuoti"
msgid "Failed to setup two-factor authentication."
msgstr "Nepavyko nustatyti dviejų veiksnių tapatumo patvirtinimo."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funkcijos"
@@ -1330,6 +1354,7 @@ msgstr "Įterptinis kodas"
msgid "Insert Table"
msgstr "Įterpti lentelę"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Pomėgiai"
@@ -1395,6 +1420,7 @@ msgstr "Gulsčias"
msgid "Language"
msgstr "Kalba"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Kalbos"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Be reklamų, be sekimo"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Rezultatų nerasta."
@@ -1666,6 +1691,14 @@ msgstr "Sunumeruotas sąrašas"
msgid "Organization"
msgstr "Organizacija"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Puslapis"
@@ -1715,6 +1748,7 @@ msgstr "Apsauga slaptažodžiu įjungta."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugalų (Brazilija)"
msgid "Portuguese (Portugal)"
msgstr "Portugalų (Portugalija)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Įgūdžių lygis"
msgid "Profile"
msgstr "Profilis"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profiliai"
@@ -1810,6 +1846,7 @@ msgstr "Profiliai"
msgid "Progress Bar"
msgstr "Progreso juosta"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projektai"
@@ -1826,6 +1863,7 @@ msgstr "Apsaugokite savo gyvenimo aprašymą slaptažodžiu ir leiskite jį maty
msgid "Provider"
msgstr "Tiekėjas"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikacijos"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Atkurti (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Rekomendacijos"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Perkrauti"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Prisiminate slaptažodį? <0><1>Prisijunkite dabar <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Šalinama apsauga slaptažodžiu..."
msgid "Rename"
msgstr "Pervadinti"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Pranešti apie klaidą"
@@ -1954,6 +2001,10 @@ msgstr "Gyvenimo aprašymai"
msgid "Right Align"
msgstr "Lygiuoti dešinėje"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumunų"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Ieškoti..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Paieška..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Skyriaus tipas"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Pasirinkti..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Vienas stulpelis; solidus ir rimtas vyresnio ar aukšto lygio pareigoms.
msgid "Size"
msgstr "Dydis"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Įgūdžiai"
@@ -2240,6 +2290,7 @@ msgstr "Perbraukti"
msgid "Subreddit"
msgstr "Subreditas"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Santrauka"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamiečių"
msgid "Views"
msgstr "Peržiūros"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Savanorystė"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\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"
@@ -42,6 +42,11 @@ msgstr "(atveras jaunā cilnē)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, zero {# ierakstu} one {# ieraksts} other {# ieraksti}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Pievienot kolonnu pēc"
msgid "Add Column Before"
msgstr "Pievienot kolonnu pirms"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Pievienot lapu"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Pievienot rindu pēc"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Atļaut publisku piekļuvi"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Jums jau ir konts? <0><1>Piesakieties tagad <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Apbalvotājs"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Apbalvojumi"
@@ -489,14 +503,11 @@ msgstr "Centrēt"
msgid "Center view"
msgstr "Centra skats"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Sertifikāti"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Mainīt valodu"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Mainīt valodu uz..."
@@ -537,14 +548,15 @@ msgstr "Aplis"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Notīrīt izvēli"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Noklikšķiniet šeit, lai izvēlētos importējamo failu"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Koda bloks"
@@ -622,6 +634,7 @@ msgstr "Nokopējiet šo slepeno atslēgu un izmantojiet to savās lietotnēs, la
msgid "Copy URL"
msgstr "Kopēt URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Tiek dzēsts jūsu CV..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentācija"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Nav konta? <0><1>Izveidojiet to tagad <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Holandiešu"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Izglītība"
@@ -996,6 +1011,10 @@ msgstr "Tiek ieslēgta divu faktoru autentifikācija..."
msgid "English"
msgstr "Angļu"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Pastipriniet sava konta drošību ar papildu aizsardzības līmeņiem."
@@ -1040,6 +1059,7 @@ msgstr "Viss, kas jums nepieciešams, lai izveidotu, pielāgotu un kopīgotu pro
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Pieredze"
@@ -1069,6 +1089,10 @@ msgstr "Eksports"
msgid "Failed to setup two-factor authentication."
msgstr "Neizdevās iestatīt divu faktoru autentifikāciju."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funkcijas"
@@ -1330,6 +1354,7 @@ msgstr "Iekļautais kods"
msgid "Insert Table"
msgstr "Ievietot tabulu"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Intereses"
@@ -1395,6 +1420,7 @@ msgstr "Ainava"
msgid "Language"
msgstr "Valoda"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Valodas"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Bez reklāmām, bez izsekošanas"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Rezultāti nav atrasti."
@@ -1666,6 +1691,14 @@ msgstr "Numurēts saraksts"
msgid "Organization"
msgstr "Organizācija"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Lapa"
@@ -1715,6 +1748,7 @@ msgstr "Paroles aizsardzība ir aktivēta."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugāļu (Brazīlija)"
msgid "Portuguese (Portugal)"
msgstr "Portugāļu (Portugāle)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Prasmju līmenis"
msgid "Profile"
msgstr "Profils"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profili"
@@ -1810,6 +1846,7 @@ msgstr "Profili"
msgid "Progress Bar"
msgstr "Progresa josla"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projekti"
@@ -1826,6 +1863,7 @@ msgstr "Aizsargājiet savu CV ar paroli un ļaujiet to skatīt tikai cilvēkiem,
msgid "Provider"
msgstr "Pakalpojumu sniedzējs"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikācijas"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Atkārtot (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Atsauksmes"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Atsvaidzināt"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Atceraties savu paroli? <0><1>Piesakieties tagad <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Tiek noņemta paroles aizsardzība..."
msgid "Rename"
msgstr "Pārdēvēt"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Ziņot par kļūdu"
@@ -1954,6 +2001,10 @@ msgstr "CV"
msgid "Right Align"
msgstr "Izlīdzināt pa labi"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumāņu"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Meklēt..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Meklēt..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Sadaļas tips"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Atlasīt..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Vienkolonnu izkārtojums; nopietns un noslīpēts vecākā līmeņa vai
msgid "Size"
msgstr "Izmērs"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Prasmes"
@@ -2240,6 +2290,7 @@ msgstr "Pārsvītrot"
msgid "Subreddit"
msgstr "Subreddits"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Kopsavilkums"
@@ -2698,6 +2749,7 @@ msgstr "Vjetnamiešu"
msgid "Views"
msgstr "Skatījumi"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Brīvprātīgais darbs"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Malayalam\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(പുതിയ ടാബിൽ തുറക്കും)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# ഇനം} other {# ഇനങ്ങൾ}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "കോളം പിന്നീട് ചേർക്കുക"
msgid "Add Column Before"
msgstr "കോളം മുമ്പ് ചേർക്കുക"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "പേജ് ചേർക്കുക"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "വരി പിന്നീട് ചേർക്കുക"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "പബ്ലിക് ആക്സസ് അനുവദിക്കുക"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "ഇതിനകം ഒരു അക്കൗണ്ടുണ്ടോ? <0><1>ഇപ്പോൾ തന്നെ സൈൻ ഇൻ ചെയ്യൂ <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "അവാർഡ് നൽകുന്ന വ്യക്തി/സ്ഥാപനം"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "അവാർഡുകൾ"
@@ -489,14 +503,11 @@ msgstr "സെന്റർ അലൈനിൽ ആക്കുക"
msgid "Center view"
msgstr "കാഴ്ച സെന്ററിലാക്കുക"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "സർട്ടിഫിക്കേഷനുകൾ"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "ഭാഷ മാറ്റുക"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "ഭാഷ മാറ്റുക..."
@@ -537,14 +548,15 @@ msgstr "വൃത്തം"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "തിരഞ്ഞെടുപ്പ് ക്ലിയർ ചെയ്യുക"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "ഇംപോർട്ട് ചെയ്യാൻ ഒരു ഫയൽ തിരഞ്ഞെടുക്കാൻ ഇവിടെ ക്ലിക്ക് ചെയ്യുക"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "കോഡ് ബ്ലോക്ക്"
@@ -622,6 +634,7 @@ msgstr "ഈ സീക്രട്ട് കീ പകർത്തി, നിങ
msgid "Copy URL"
msgstr "URL പകർത്തുക"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "നിങ്ങളുടെ റിസ്യൂം ഡിലീറ്റ
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "ഡോക്യുമെന്റേഷൻ"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "അക്കൗണ്ടില്ലേയോ? <0><1>ഇപ്പോൾ തന്നെ ഒന്ന് സൃഷ്‌ടിക്കൂ <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "ഡച്ച്"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "വിദ്യാഭ്യാസം"
@@ -996,6 +1011,10 @@ msgstr "ടു‑ഫാക്ടർ ഓത്‌ന്റിക്കേഷൻ
msgid "English"
msgstr "ഇംഗ്ലീഷ്"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "നിങ്ങളുടെ അക്കൗണ്ടിന്റെ സുരക്ഷയെ കൂടുതൽ സംരക്ഷണ ലെയറുകൾ ഉപയോഗിച്ച് മെച്ചപ്പെടുത്തുക."
@@ -1040,6 +1059,7 @@ msgstr "പ്രൊഫഷണൽ റിസ്യൂങ്ങൾ സൃഷ്‌
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "അനുഭവം"
@@ -1069,6 +1089,10 @@ msgstr "എക്സ്പോർട്ട്"
msgid "Failed to setup two-factor authentication."
msgstr "ടു‑ഫാക്ടർ ഓത്‌ന്റിക്കേഷൻ സജ്ജീകരിക്കാൻ പരാജയപ്പെട്ടു."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "സവിശേഷതകൾ"
@@ -1330,6 +1354,7 @@ msgstr "ഇൻലൈൻ കോഡ്"
msgid "Insert Table"
msgstr "ടേബിൾ ചേർക്കുക"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "താൽപര്യങ്ങൾ"
@@ -1395,6 +1420,7 @@ msgstr "ലാൻഡ്‌സ്‌കേപ്പ്"
msgid "Language"
msgstr "ഭാഷ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "ഭാഷകൾ"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "പരസ്യങ്ങളില്ല, ട്രാക്കിംഗ് ഇല്ല"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "ഒരൊന്നുമാത്രം ഫലങ്ങളൊന്നും ലഭ്യമല്ല."
@@ -1666,6 +1691,14 @@ msgstr "ഓർഡേർഡ് ലിസ്റ്റ്"
msgid "Organization"
msgstr "സ്ഥാപനം"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "പേജ്"
@@ -1715,6 +1748,7 @@ msgstr "പാസ്‌വേഡ് സംരക്ഷണം പ്രാപ്
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "പോർച്ചുഗീസ് (ബ്രസീൽ)"
msgid "Portuguese (Portugal)"
msgstr "പോർച്ചുഗീസ് (പോർച്ചുഗൽ)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "പ്രാവീണ്യം"
msgid "Profile"
msgstr "പ്രൊഫൈൽ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "പ്രൊഫൈലുകൾ"
@@ -1810,6 +1846,7 @@ msgstr "പ്രൊഫൈലുകൾ"
msgid "Progress Bar"
msgstr "പ്രോഗ്രസ് ബാർ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "പ്രോജക്ടുകൾ"
@@ -1826,6 +1863,7 @@ msgstr "നിങ്ങളുടെ റിസ്യൂമിനെ ഒരു പ
msgid "Provider"
msgstr "പ്രൊവൈഡർ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "പ്രസിദ്ധീകരണങ്ങൾ"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "റീഡു (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "റഫറൻസുകൾ"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "റിഫ്രെഷ് ചെയ്യുക"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "നിങ്ങളുടെ പാസ്‌വേഡ് ഓർമ്മയുണ്ടോ? <0><1>ഇപ്പോൾ തന്നെ സൈൻ ഇൻ ചെയ്യൂ <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "പാസ്‌വേഡ് സംരക്ഷണം നീക്കം
msgid "Rename"
msgstr "പുനർനാമകരണം ചെയ്യുക"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "ഒരു ബഗ് റിപ്പോർട്ട് ചെയ്യുക"
@@ -1954,6 +2001,10 @@ msgstr "റിസ്യൂങ്ങൾ"
msgid "Right Align"
msgstr "റൈറ്റ് അലൈനിൽ ആക്കുക"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "റൊമാനിയൻ"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "തിരയുക..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "തിരയുക..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "സെക്ഷൻ തരം"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "തിരഞ്ഞെടുക്കുക..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "ഒറ്റ കോളമാണ്; polished ആയും ഗൗരവ
msgid "Size"
msgstr "സൈസ്"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "സ്കിൽസ്"
@@ -2240,6 +2290,7 @@ msgstr "സ്ട്രൈക്ക്"
msgid "Subreddit"
msgstr "സബ്‌റെഡിറ്റ്"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "സമ്മരി"
@@ -2698,6 +2749,7 @@ msgstr "വിയറ്റ്നാമീസ്"
msgid "Views"
msgstr "വ്യൂകൾ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "വളന്റിയർ"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Marathi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(नवीन टॅबमध्ये उघडतो)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# वस्तू} other {# वस्तू}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "नंतर स्तंभ जोडा"
msgid "Add Column Before"
msgstr "आधी स्तंभ जोडा"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "पान जोडा"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "नंतर ओळ जोडा"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "सार्वजनिक अ‍ॅक्सेस परवानगी द्या"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "आधीच खाते आहे का? <0><1>आता साइन इन करा <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "पुरस्कार दाता"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "पुरस्कार"
@@ -489,14 +503,11 @@ msgstr "मधोमध जुळवा"
msgid "Center view"
msgstr "व्ह्यू केंद्रावर आणा"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "प्रमाणपत्रे"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "भाषा बदला"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "भाषा बदला..."
@@ -537,14 +548,15 @@ msgstr "गोलाकार"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "निवड साफ करा"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "इम्पोर्ट करण्यासाठी फाईल निवडण्यासाठी येथे क्लिक करा"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "कोड ब्लॉक"
@@ -622,6 +634,7 @@ msgstr "ही गुप्त key कॉपी करा आणि तुमच
msgid "Copy URL"
msgstr "URL कॉपी करा"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "तुमचा रेझ्युमे हटवला जात आ
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "दस्तऐवजीकरण"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "खाते नाही का? <0><1>आत्ता साइन अप करा <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "डच"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "शिक्षण"
@@ -996,6 +1011,10 @@ msgstr "दुहेरी घटक ओथेंटिकेशन सक्ष
msgid "English"
msgstr "इंग्रजी"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "तुमच्या खात्याची सुरक्षा अधिक मजबूत करण्यासाठी अतिरिक्त संरक्षण स्तर जोडा."
@@ -1040,6 +1059,7 @@ msgstr "व्यावसायिक रेझ्युमे तयार,
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "अनुभव"
@@ -1069,6 +1089,10 @@ msgstr "निर्यात करा"
msgid "Failed to setup two-factor authentication."
msgstr "दुहेरी घटक ओथेंटिकेशन सेटअप करण्यात अयशस्वी."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "वैशिष्ट्ये"
@@ -1330,6 +1354,7 @@ msgstr "इनलाइन कोड"
msgid "Insert Table"
msgstr "टेबल घाला"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "आवडी"
@@ -1395,6 +1420,7 @@ msgstr "लँडस्केप"
msgid "Language"
msgstr "भाषा"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "भाषा"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "जाहिरात नाही, ट्रॅकिंग नाही"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "कोणतेही परिणाम आढळले नाहीत."
@@ -1666,6 +1691,14 @@ msgstr "क्रमबद्ध यादी"
msgid "Organization"
msgstr "संघटना"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "पान"
@@ -1715,6 +1748,7 @@ msgstr "पासवर्ड संरक्षण सक्षम केले
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "पोर्तुगीज (ब्राझील)"
msgid "Portuguese (Portugal)"
msgstr "पोर्तुगीज (पोर्तुगाल)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "प्रभावीता"
msgid "Profile"
msgstr "प्रोफाईल"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "प्रोफाईल्स"
@@ -1810,6 +1846,7 @@ msgstr "प्रोफाईल्स"
msgid "Progress Bar"
msgstr "प्रगती पट्टी"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "प्रोजेक्ट्स"
@@ -1826,6 +1863,7 @@ msgstr "तुमचा रेझ्युमे पासवर्डने स
msgid "Provider"
msgstr "प्रोव्हायडर"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "प्रकाशने"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "पुन्हा करा (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "रेफरन्सेस"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "ताजेतवाने करा"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "पासवर्ड आठवला? <0><1>आता साइन इन करा <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "पासवर्ड संरक्षण काढून टाकल
msgid "Rename"
msgstr "नाव बदला"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "बग कळवा"
@@ -1954,6 +2001,10 @@ msgstr "रेझ्युमे"
msgid "Right Align"
msgstr "उजवीकडे जुळवा"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "रोमानियन"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "शोधा..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "शोधा..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "विभागाचा प्रकार"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "निवडा..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "एकाच स्तंभाचा, परिष्कृत आण
msgid "Size"
msgstr "आकार"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "कौशल्ये"
@@ -2240,6 +2290,7 @@ msgstr "स्ट्राइक"
msgid "Subreddit"
msgstr "सबरेडिट"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "सारांश"
@@ -2698,6 +2749,7 @@ msgstr "व्हिएतनामी"
msgid "Views"
msgstr "दृश्ये"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "स्वयंसेवा"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Malay\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -42,6 +42,11 @@ msgstr "(dibuka dalam tab baharu)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, other {# item}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Tambah Lajur Selepas"
msgid "Add Column Before"
msgstr "Tambah Lajur Sebelum"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Tambah Halaman"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Tambah Baris Selepas"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Benarkan Akses Awam"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Sudah mempunyai akaun? <0><1>Log masuk sekarang <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Pemberi Anugerah"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Anugerah"
@@ -489,14 +503,11 @@ msgstr "Jajaran Tengah"
msgid "Center view"
msgstr "Pusatkan paparan"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Pensijilan"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Tukar bahasa"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Tukar bahasa kepada..."
@@ -537,14 +548,15 @@ msgstr "Bulatan"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Kosongkan pilihan"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Klik di sini untuk memilih fail untuk diimport"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Blok Kod"
@@ -622,6 +634,7 @@ msgstr "Salin kunci rahsia ini dan gunakan dalam aplikasi anda untuk mengakses d
msgid "Copy URL"
msgstr "Salin URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Memadam resume anda..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentasi"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Tidak mempunyai akaun? <0><1>Daftar sekarang <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Belanda"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Pendidikan"
@@ -996,6 +1011,10 @@ msgstr "Mengaktifkan pengesahan dua faktor..."
msgid "English"
msgstr "Bahasa Inggeris"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Tingkatkan keselamatan akaun anda dengan lapisan perlindungan tambahan."
@@ -1040,6 +1059,7 @@ msgstr "Segala yang anda perlukan untuk mencipta, menyesuaikan dan berkongsi res
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Pengalaman"
@@ -1069,6 +1089,10 @@ msgstr "Eksport"
msgid "Failed to setup two-factor authentication."
msgstr "Gagal menyediakan pengesahan dua faktor."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Ciri"
@@ -1330,6 +1354,7 @@ msgstr "Kod Sebaris"
msgid "Insert Table"
msgstr "Sisip Jadual"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Minat"
@@ -1395,6 +1420,7 @@ msgstr "Lanskap"
msgid "Language"
msgstr "Bahasa"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Bahasa"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Tiada Pengiklanan, Tiada Penjejakan"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Tiada keputusan dijumpai."
@@ -1666,6 +1691,14 @@ msgstr "Senarai Bernombor"
msgid "Organization"
msgstr "Organisasi"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Halaman"
@@ -1715,6 +1748,7 @@ msgstr "Perlindungan kata laluan telah diaktifkan."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugis (Brazil)"
msgid "Portuguese (Portugal)"
msgstr "Portugis (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Kecekapan"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profil"
@@ -1810,6 +1846,7 @@ msgstr "Profil"
msgid "Progress Bar"
msgstr "Bar Kemajuan"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projek"
@@ -1826,6 +1863,7 @@ msgstr "Lindungi resume anda dengan kata laluan, dan benarkan hanya orang yang m
msgid "Provider"
msgstr "Penyedia"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Penerbitan"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Buat Semula (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Rujukan"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Muat semula"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Masih ingat kata laluan anda? <0><1>Log masuk sekarang <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Membuang perlindungan kata laluan..."
msgid "Rename"
msgstr "Namakan Semula"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Laporkan Pepijat"
@@ -1954,6 +2001,10 @@ msgstr "Resume"
msgid "Right Align"
msgstr "Jajaran Kanan"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rom"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Cari..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Cari..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Jenis Seksyen"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Pilih..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Satu kolum; kemas dan serius untuk jawatan kanan atau peringkat perusaha
msgid "Size"
msgstr "Saiz"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Kemahiran"
@@ -2240,6 +2290,7 @@ msgstr "Coret"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Ringkasan"
@@ -2698,6 +2749,7 @@ msgstr "Vietnam"
msgid "Views"
msgstr "Paparan"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Sukarelawan"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Nepali\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(नयाँ ट्याबमा खुल्छ)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# वस्तु} other {# वस्तुहरू}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "पछि स्तम्भ थप्नुहोस्"
msgid "Add Column Before"
msgstr "अघिल्लो स्तम्भ थप्नुहोस्"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "पृष्ठ थप्नुहोस्"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "पछि पङ्क्ति थप्नुहोस्"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "सार्वजनिक पहुँच अनुमति दिनुहोस्"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "पहिले नै खाता छ? <0><1>अहिले साइन इन गर्नुहोस् <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "पुरस्कार प्रदान गर्ने"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "पुरस्कारहरू"
@@ -489,14 +503,11 @@ msgstr "बीचतिर क्रमबद्ध (Center Align)"
msgid "Center view"
msgstr "दृश्य केन्द्रमा ल्याउनुहोस्"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "प्रमाणपत्रहरू"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "भाषा परिवर्तन गर्नुहोस्"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "भाषा यसमा परिवर्तन गर्नुहोस्..."
@@ -537,14 +548,15 @@ msgstr "वृत्त"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "चयन खाली गर्नुहोस्"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "आयात गर्न फाइल छान्न यहाँ क्लिक गर्नुहोस्"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "कोड ब्लक"
@@ -622,6 +634,7 @@ msgstr "यो गोप्य key प्रतिलिपि गरेर आ
msgid "Copy URL"
msgstr "URL प्रतिलिपि गर्नुहोस्"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "तपाईंको बायोडाटा मेटाउँदै.
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "प्रलेखन (Documentation)"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "खाता छैन? <0><1>अहिले नै एउटा बनाउनुहोस् <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "डच"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "शिक्षा"
@@ -996,6 +1011,10 @@ msgstr "दुई-कारक प्रमाणीकरण सक्रिय
msgid "English"
msgstr "अंग्रेजी"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "थप सुरक्षा तहहरू सहित तपाईंको खाताको सुरक्षा बढाउनुहोस्।"
@@ -1040,6 +1059,7 @@ msgstr "व्यावसायिक बायोडाटा बनाउन,
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "अनुभव"
@@ -1069,6 +1089,10 @@ msgstr "निर्यात"
msgid "Failed to setup two-factor authentication."
msgstr "दुई-कारक प्रमाणीकरण सेटअप गर्न असफल भयो।"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "विशेषताहरू"
@@ -1330,6 +1354,7 @@ msgstr "इनलाइन कोड"
msgid "Insert Table"
msgstr "टेबल घुसाउनुहोस्"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "रुचिहरू"
@@ -1395,6 +1420,7 @@ msgstr "ल्यान्डस्केप"
msgid "Language"
msgstr "भाषा"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "भाषाहरू"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "कुनै विज्ञापन छैन, कुनै ट्र्याकिङ छैन"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "कुनै परिणाम फेला परेन।"
@@ -1666,6 +1691,14 @@ msgstr "क्रमबद्ध सूची"
msgid "Organization"
msgstr "संस्था"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "पृष्ठ"
@@ -1715,6 +1748,7 @@ msgstr "पासवर्ड सुरक्षा सक्रिय गरि
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "पोर्चुगाली (ब्राजिल)"
msgid "Portuguese (Portugal)"
msgstr "पोर्चुगाली (पोर्चुगल)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "दक्षता (Proficiency)"
msgid "Profile"
msgstr "प्रोफाइल"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "प्रोफाइलहरू"
@@ -1810,6 +1846,7 @@ msgstr "प्रोफाइलहरू"
msgid "Progress Bar"
msgstr "प्रगति बार (Progress Bar)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "परियोजनाहरू"
@@ -1826,6 +1863,7 @@ msgstr "तपाईंको बायोडाटा पासवर्डल
msgid "Provider"
msgstr "प्रदाता (Provider)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "प्रकाशनहरू"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "रिडु (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "सन्दर्भहरू (References)"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "रिफ्रेस गर्नुहोस्"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "पासवर्ड सम्झनुभयो? <0><1>अहिले साइन इन गर्नुहोस् <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "पासवर्ड सुरक्षा हटाइँदैछ..."
msgid "Rename"
msgstr "नाम परिवर्तन गर्नुहोस्"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "बग (Bug) रिपोर्ट गर्नुहोस्"
@@ -1954,6 +2001,10 @@ msgstr "बायोडाटाहरू"
msgid "Right Align"
msgstr "दायाँतिर क्रमबद्ध (Right Align)"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "रुमानियन"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "यसको लागि खोज्नुहोस्..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "खोज्नुहोस्..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "खण्ड प्रकार"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "छान्नुहोस्..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "एक स्तम्भ; पॉलिस गरिएको र गम
msgid "Size"
msgstr "आकार"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "सीपहरू"
@@ -2240,6 +2290,7 @@ msgstr "स्ट्राइक (Strikethrough)"
msgid "Subreddit"
msgstr "सबरेडिट"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "सारांश"
@@ -2698,6 +2749,7 @@ msgstr "भियतनामी"
msgid "Views"
msgstr "हेर्ने संख्या (Views)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "स्वयंसेवक"
+72 -21
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-02-24 13:05\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(opent in nieuw tabblad)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# item} other {# items}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Kolom erna toevoegen"
msgid "Add Column Before"
msgstr "Kolom ervoor toevoegen"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Pagina toevoegen"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Rij erna toevoegen"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Openbare toegang toestaan"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Heeft u al een account? <0><1>Meld u nu aan <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Prijsuitreiker"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Prijzen"
@@ -489,14 +503,11 @@ msgstr "Centreren"
msgid "Center view"
msgstr "Weergave centreren"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certificeringen"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Taal wijzigen"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Taal wijzigen naar..."
@@ -537,14 +548,15 @@ msgstr "Cirkel"
msgid "Clear chat history"
msgstr "Chatgeschiedenis verwijderen"
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Selectie wissen"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Klik hier om een bestand te selecteren om te importeren"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Codeblok"
@@ -622,6 +634,7 @@ msgstr "Kopieer deze geheime sleutel en gebruik deze in uw applicaties om toegan
msgid "Copy URL"
msgstr "URL kopiëren"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr "Motivatiebrief"
@@ -837,6 +850,7 @@ msgstr "Uw cv wordt verwijderd..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Documentatie"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Geen account? <0><1>Maak er nu een aan <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Nederlands"
msgid "e.g. Change my name to..."
msgstr "bijv. Wijzig mijn naam naar..."
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Opleiding"
@@ -996,6 +1011,10 @@ msgstr "Tweestapsverificatie wordt ingeschakeld..."
msgid "English"
msgstr "Engels"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Verhoog de beveiliging van uw account met extra beschermingslagen."
@@ -1040,6 +1059,7 @@ msgstr "Alles wat u nodig heeft om professionele cv's te maken, aan te passen en
msgid "Exit Fullscreen"
msgstr "Volledig scherm afsluiten"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Ervaring"
@@ -1069,6 +1089,10 @@ msgstr "Exporteren"
msgid "Failed to setup two-factor authentication."
msgstr "Het instellen van tweestapsverificatie is mislukt."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Functies"
@@ -1330,6 +1354,7 @@ msgstr "Inline code"
msgid "Insert Table"
msgstr "Tabel invoegen"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interesses"
@@ -1395,6 +1420,7 @@ msgstr "Liggend"
msgid "Language"
msgstr "Taal"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Talen"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Geen advertenties, geen tracking"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Geen resultaten gevonden."
@@ -1666,6 +1691,14 @@ msgstr "Genummerde lijst"
msgid "Organization"
msgstr "Organisatie"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Pagina"
@@ -1715,6 +1748,7 @@ msgstr "Wachtwoordbeveiliging is ingeschakeld."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugees (Brazilië)"
msgid "Portuguese (Portugal)"
msgstr "Portugees (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Vaardigheid"
msgid "Profile"
msgstr "Profiel"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profielen"
@@ -1810,6 +1846,7 @@ msgstr "Profielen"
msgid "Progress Bar"
msgstr "Voortgangsbalk"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projecten"
@@ -1826,6 +1863,7 @@ msgstr "Bescherm uw cv met een wachtwoord en laat alleen mensen met het wachtwoo
msgid "Provider"
msgstr "Provider"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publicaties"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Opnieuw uitvoeren (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referenties"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Vernieuwen"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Herinnert u zich uw wachtwoord? <0><1>Meld u nu aan <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Wachtwoordbeveiliging wordt verwijderd..."
msgid "Rename"
msgstr "Hernoemen"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Meld een bug"
@@ -1954,6 +2001,10 @@ msgstr "Cv's"
msgid "Right Align"
msgstr "Rechts uitlijnen"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Roemeens"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Zoeken naar..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Zoeken..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Sectietype"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Selecteren..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Enkelkoloms; gepolijst en serieus voor senior- of functies op ondernemin
msgid "Size"
msgstr "Grootte"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Vaardigheden"
@@ -2240,6 +2290,7 @@ msgstr "Doorhalen"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Overzicht"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamees"
msgid "Views"
msgstr "Weergaven"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Vrijwilliger"
@@ -2848,4 +2900,3 @@ msgstr "Uitzoomen"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(åpnes i ny fane)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# element} other {# elementer}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Legg til kolonne etter"
msgid "Add Column Before"
msgstr "Legg til kolonne før"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Legg til side"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Legg til rad etter"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Tillat offentlig tilgang"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Har du allerede en konto? <0><1>Logg inn nå <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Prisgiver"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Priser"
@@ -489,14 +503,11 @@ msgstr "Midtstill"
msgid "Center view"
msgstr "Sentrer visning"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Sertifiseringer"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Endre språk"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Endre språk til..."
@@ -537,14 +548,15 @@ msgstr "Sirkel"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Fjern valg"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Klikk her for å velge en fil å importere"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Kodeblokk"
@@ -622,6 +634,7 @@ msgstr "Kopier denne hemmelige nøkkelen og bruk den i applikasjonene dine for
msgid "Copy URL"
msgstr "Kopier URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Sletter CV-en din..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentasjon"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Har du ikke en konto? <0><1>Opprett en nå <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Nederlandsk"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Utdanning"
@@ -996,6 +1011,10 @@ msgstr "Aktiverer tofaktorautentisering..."
msgid "English"
msgstr "Engelsk"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Styrk sikkerheten til kontoen din med ekstra lag med beskyttelse."
@@ -1040,6 +1059,7 @@ msgstr "Alt du trenger for å opprette, tilpasse og dele profesjonelle CV-er. By
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Erfaring"
@@ -1069,6 +1089,10 @@ msgstr "Eksporter"
msgid "Failed to setup two-factor authentication."
msgstr "Kunne ikke sette opp tofaktorautentisering."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funksjoner"
@@ -1330,6 +1354,7 @@ msgstr "Innebygd kode"
msgid "Insert Table"
msgstr "Sett inn tabell"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interesser"
@@ -1395,6 +1420,7 @@ msgstr "Liggende"
msgid "Language"
msgstr "Språk"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Språk"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Ingen annonser, ingen sporing"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Ingen resultater funnet."
@@ -1666,6 +1691,14 @@ msgstr "Nummerert liste"
msgid "Organization"
msgstr "Organisasjon"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Side"
@@ -1715,6 +1748,7 @@ msgstr "Passordbeskyttelse er aktivert."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugisisk (Brasil)"
msgid "Portuguese (Portugal)"
msgstr "Portugisisk (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Ferdighetsnivå"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profiler"
@@ -1810,6 +1846,7 @@ msgstr "Profiler"
msgid "Progress Bar"
msgstr "Fremdriftslinje"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Prosjekter"
@@ -1826,6 +1863,7 @@ msgstr "Beskytt CV-en din med et passord, og la bare personer med passordet se d
msgid "Provider"
msgstr "Tilbyder"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikasjoner"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Gjør om (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referanser"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Oppdater"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Husker du passordet ditt? <0><1>Logg inn nå <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Fjerner passordbeskyttelse..."
msgid "Rename"
msgstr "Endre navn"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Rapporter en feil"
@@ -1954,6 +2001,10 @@ msgstr "CV-er"
msgid "Right Align"
msgstr "Høyrejuster"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumensk"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Søk etter..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Søk..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Seksjonstype"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Velg..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Enkolonners; polert og seriøs for senior- eller virksomhetsnivåstillin
msgid "Size"
msgstr "Størrelse"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Ferdigheter"
@@ -2240,6 +2290,7 @@ msgstr "Gjennomstreking"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Sammendrag"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamesisk"
msgid "Views"
msgstr "Visninger"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Frivillig"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Odia\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(ନୂତନ ଟାବ୍‌ରେ ଖୋଲେ)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# ଆଇଟମ୍} other {# ଆଇଟମ୍}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "ପରେ କଲମ୍ ଯୋଡନ୍ତୁ"
msgid "Add Column Before"
msgstr "ପୂର୍ବେ କଲମ୍ ଯୋଡନ୍ତୁ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "ପେଜ୍ ଯୋଡନ୍ତୁ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "ପରେ ପଙ୍କ୍ତି ଯୋଡନ୍ତୁ"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "ସାର୍ବଜନିକ ଆକ୍ସେସ୍ ଅନୁମତି ଦିଅନ୍ତୁ"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "ପହିଲାରୁ ଗୋଟିଏ ଆକାଉଣ୍ଟ ଅଛି କି? <0><1>ଏବେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "ପୁରସ୍କାରଦାତା"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "ପୁରସ୍କାରଗୁଡିକ"
@@ -489,14 +503,11 @@ msgstr "ମଧ୍ୟରେ ସଙ୍ଗୁଯୋଗ କରନ୍ତୁ"
msgid "Center view"
msgstr "ଭ୍ୟୁକୁ ମଧ୍ୟରେ ରଖନ୍ତୁ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "ପ୍ରମାଣପତ୍ରଗୁଡିକ"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "ଭାଷା ପରିବର୍ତ୍ତନ କରନ୍ତୁ"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "ଭାଷାକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ..."
@@ -537,14 +548,15 @@ msgstr "ବୃତ୍ତ"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "ଚୟନ ସଫା କରନ୍ତୁ"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "ଆୟାତ କରିବା ପାଇଁ ଫାଇଲ୍ ଚୟନ କରିବାକୁ ଏଠାରେ କ୍ଲିକ୍ କରନ୍ତୁ"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "କୋଡ୍ ବ୍ଲକ୍"
@@ -622,6 +634,7 @@ msgstr "ଏହି ଗୁପ୍ତ କିକୁ କପି କରନ୍ତୁ ଏ
msgid "Copy URL"
msgstr "URL କପି କରନ୍ତୁ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "ଆପଣଙ୍କ ରେଜ୍ୟୁମେ ବିଲୋପ ହୋଇଯ
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "ଦଳିଲପତ୍ର"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "ଆକାଉଣ୍ଟ ନଥିଲେ କି? <0><1>ଏବେ ଏକ ତିଆରି କରନ୍ତୁ <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "ଡଚ୍"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "ଶିକ୍ଷା"
@@ -996,6 +1011,10 @@ msgstr "ଦ୍ୱି-ଘଟକ ପରିଚୟ ପ୍ରମାଣିକରଣ
msgid "English"
msgstr "ଇଂରାଜୀ"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "ଅତିରିକ୍ତ ସୁରକ୍ଷା ସ୍ତର ସହିତ ଆପଣଙ୍କ ଆକାଉଣ୍ଟର ସୁରକ୍ଷାକୁ ବଢାନ୍ତୁ।"
@@ -1040,6 +1059,7 @@ msgstr "ପେଶାଦାର ରେଜ୍ୟୁମେ ତିଆରି, କଷ
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "ଅନୁଭବ"
@@ -1069,6 +1089,10 @@ msgstr "ନିର୍ଯ୍ୟାତ"
msgid "Failed to setup two-factor authentication."
msgstr "ଦ୍ୱି-ଘଟକ ପରିଚୟ ପ୍ରମାଣିକରଣ ସେଟ୍‌ଆପ୍ କରିବାରେ ବିଫଳ ହେଲା।"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "ବିଶେଷତାଗୁଡିକ"
@@ -1330,6 +1354,7 @@ msgstr "ଇନ୍ଲାଇନ୍ କୋଡ୍"
msgid "Insert Table"
msgstr "ଟେବୁଲ୍ ଲଗାନ୍ତୁ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "ରୁଚିଗୁଡିକ"
@@ -1395,6 +1420,7 @@ msgstr "ଲ୍ୟାଣ୍ଡସ୍କେପ୍"
msgid "Language"
msgstr "ଭାଷା"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "ଭାଷାଗୁଡିକ"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "ବିଜ୍ଞାପନ ନାହିଁ, ଟ୍ରାକିଂ ନାହିଁ"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "କୌଣସି ଫଳାଫଳ ମିଳିଲା ନାହିଁ।"
@@ -1666,6 +1691,14 @@ msgstr "କ୍ରମିକ ତାଲିକା"
msgid "Organization"
msgstr "ସଂଗଠନ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "ପେଜ୍"
@@ -1715,6 +1748,7 @@ msgstr "ପାସୱାର୍ଡ ସୁରକ୍ଷା ସକ୍ରିୟ କର
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "ପୋର୍ତୁଗିଜ୍ (ବ୍ରାଜିଲ୍)"
msgid "Portuguese (Portugal)"
msgstr "ପୋର୍ତୁଗିଜ୍ (ପୋର୍ତୁଗାଲ୍)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "ପ୍ରବୀଣତା"
msgid "Profile"
msgstr "ପ୍ରୋଫାଇଲ୍"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "ପ୍ରୋଫାଇଲ୍‌ଗୁଡିକ"
@@ -1810,6 +1846,7 @@ msgstr "ପ୍ରୋଫାଇଲ୍‌ଗୁଡିକ"
msgid "Progress Bar"
msgstr "ପ୍ରଗତି ବାର୍"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "ପ୍ରକଳ୍ପଗୁଡିକ"
@@ -1826,6 +1863,7 @@ msgstr "ପାସୱାର୍ଡ ସହ ଆପଣଙ୍କ ରେଜ୍ୟୁମ
msgid "Provider"
msgstr "ପ୍ରଦାନକାରୀ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "ପ୍ରକାଶନଗୁଡିକ"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "ପুনରାବୃତ୍ତି (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "ସନ୍ଦର୍ଭଗୁଡିକ"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "ରିଫ୍ରେଶ କରନ୍ତୁ"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "ପାସୱାର୍ଡ ମନେ ପକାଇଲେ କି? <0><1>ଏବେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "ପାସୱାର୍ଡ ସୁରକ୍ଷା ଅପସାରଣ ହେ
msgid "Rename"
msgstr "ପୁନଃନାମକରଣ କରନ୍ତୁ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "ଗୋଟିଏ ବଗ୍ ରିପୋର୍ଟ କରନ୍ତୁ"
@@ -1954,6 +2001,10 @@ msgstr "ରେଜ୍ୟୁମେଗୁଡିକ"
msgid "Right Align"
msgstr "ଡାହାଣ ସଙ୍ଗୁଯୋଗ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "ରୋମାନିଆନ୍"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "ଖୋଜନ୍ତୁ..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "ଖୋଜନ୍ତୁ..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "ବିଭାଗ ପ୍ରକାର"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "ଚୟନ କରନ୍ତୁ..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "ଏକକ‑କଲମ୍; ବରିଷ୍ଠ କିମ୍ବା ଉଦ
msgid "Size"
msgstr "ଆକାର"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "କୌଶଳଗୁଡିକ"
@@ -2240,6 +2290,7 @@ msgstr "ଷ୍ଟ୍ରାଇକ୍"
msgid "Subreddit"
msgstr "ସବ୍ରେଡିଟ୍ (Subreddit)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "ସାରାଂଶ"
@@ -2698,6 +2749,7 @@ msgstr "ଭିଏତନାମୀ"
msgid "Views"
msgstr "ଦେଖା ଯାଇଛି"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "ସ୍ୱେଚ୍ଛାସେବକ"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\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"
@@ -42,6 +42,11 @@ msgstr "(otwiera się w nowej karcie)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# element} few {# elementy} many {# elementów} other {# elementu}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Dodaj kolumnę po"
msgid "Add Column Before"
msgstr "Dodaj kolumnę przed"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Dodaj stronę"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Dodaj wiersz po"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Zezwól na publiczny dostęp"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Masz już konto? <0><1>Zaloguj się teraz <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Przyznający wyróżnienie"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Wyróżnienia"
@@ -489,14 +503,11 @@ msgstr "Wyrównaj do środka"
msgid "Center view"
msgstr "Wyśrodkuj widok"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certyfikaty"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Zmień język"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Zmień język na..."
@@ -537,14 +548,15 @@ msgstr "Koło"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Wyczyść wybór"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Kliknij tutaj, aby wybrać plik do importu"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Blok kodu"
@@ -622,6 +634,7 @@ msgstr "Skopiuj ten tajny klucz i użyj go w swoich aplikacjach, aby uzyskać do
msgid "Copy URL"
msgstr "Kopiuj URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Usuwanie CV..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentacja"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Nie masz konta? <0><1>Utwórz je teraz <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Holenderski"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Wykształcenie"
@@ -996,6 +1011,10 @@ msgstr "Włączanie uwierzytelniania dwuskładnikowego..."
msgid "English"
msgstr "Angielski"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Zwiększ bezpieczeństwo swojego konta dzięki dodatkowym warstwom ochrony."
@@ -1040,6 +1059,7 @@ msgstr "Wszystko, czego potrzebujesz, aby tworzyć, dostosowywać i udostępnia
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Doświadczenie"
@@ -1069,6 +1089,10 @@ msgstr "Eksportuj"
msgid "Failed to setup two-factor authentication."
msgstr "Nie udało się skonfigurować uwierzytelniania dwuskładnikowego."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funkcje"
@@ -1330,6 +1354,7 @@ msgstr "Kod inline"
msgid "Insert Table"
msgstr "Wstaw tabelę"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Zainteresowania"
@@ -1395,6 +1420,7 @@ msgstr "Poziomy"
msgid "Language"
msgstr "Język"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Języki"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Bez reklam, bez śledzenia"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Brak wyników."
@@ -1666,6 +1691,14 @@ msgstr "Lista numerowana"
msgid "Organization"
msgstr "Organizacja"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Strona"
@@ -1715,6 +1748,7 @@ msgstr "Ochrona hasłem została włączona."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugalski (Brazylia)"
msgid "Portuguese (Portugal)"
msgstr "Portugalski (Portugalia)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Poziom zaawansowania"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profile"
@@ -1810,6 +1846,7 @@ msgstr "Profile"
msgid "Progress Bar"
msgstr "Pasek postępu"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projekty"
@@ -1826,6 +1863,7 @@ msgstr "Chroń swoje CV hasłem i pozwól, by tylko osoby znające hasło mogły
msgid "Provider"
msgstr "Dostawca"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikacje"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Ponów (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referencje"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Odśwież"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Pamiętasz hasło? <0><1>Zaloguj się teraz <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Wyłączanie ochrony hasłem..."
msgid "Rename"
msgstr "Zmień nazwę"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Zgłoś błąd"
@@ -1954,6 +2001,10 @@ msgstr "CV"
msgid "Right Align"
msgstr "Wyrównaj do prawej"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumuński"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Szukaj CV..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Szukaj..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Typ sekcji"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Wybierz..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Jedna kolumna; dopracowany i poważny układ dla stanowisk seniorskich l
msgid "Size"
msgstr "Rozmiar"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Umiejętności"
@@ -2240,6 +2290,7 @@ msgstr "Przekreślenie"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Podsumowanie"
@@ -2698,6 +2749,7 @@ msgstr "Wietnamski"
msgid "Views"
msgstr "Wyświetlenia"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Wolontariat"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(abre em uma nova aba)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# item} other {# itens}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Adicionar coluna depois"
msgid "Add Column Before"
msgstr "Adicionar coluna antes"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Adicionar página"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Adicionar linha depois"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Permitir acesso público"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Já tem uma conta? <0><1>Entre agora <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Concedente"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Prêmios"
@@ -489,14 +503,11 @@ msgstr "Alinhar ao centro"
msgid "Center view"
msgstr "Centralizar visualização"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certificações"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Mudar idioma"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Mudar idioma para..."
@@ -537,14 +548,15 @@ msgstr "Círculo"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Limpar seleção"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Clique aqui para selecionar um arquivo para importar"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Bloco de código"
@@ -622,6 +634,7 @@ msgstr "Copie esta chave secreta e use-a em seus aplicativos para acessar seus d
msgid "Copy URL"
msgstr "Copiar URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Excluindo seu currículo..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Documentação"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Não tem uma conta? <0><1>Crie uma agora <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Holandês"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Formação"
@@ -996,6 +1011,10 @@ msgstr "Ativando a autenticação de dois fatores..."
msgid "English"
msgstr "Inglês"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Aumente a segurança da sua conta com camadas adicionais de proteção."
@@ -1040,6 +1059,7 @@ msgstr "Tudo o que você precisa para criar, personalizar e compartilhar curríc
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Experiência"
@@ -1069,6 +1089,10 @@ msgstr "Exportar"
msgid "Failed to setup two-factor authentication."
msgstr "Falha ao configurar a autenticação de dois fatores."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Recursos"
@@ -1330,6 +1354,7 @@ msgstr "Código em linha"
msgid "Insert Table"
msgstr "Inserir tabela"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interesses"
@@ -1395,6 +1420,7 @@ msgstr "Paisagem"
msgid "Language"
msgstr "Idioma"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Idiomas"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Sem publicidade, sem rastreamento"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Nenhum resultado encontrado."
@@ -1666,6 +1691,14 @@ msgstr "Lista numerada"
msgid "Organization"
msgstr "Organização"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Página"
@@ -1715,6 +1748,7 @@ msgstr "A proteção por senha foi ativada."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Português (Brasil)"
msgid "Portuguese (Portugal)"
msgstr "Português (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Proficiência"
msgid "Profile"
msgstr "Perfil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Perfis"
@@ -1810,6 +1846,7 @@ msgstr "Perfis"
msgid "Progress Bar"
msgstr "Barra de progresso"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projetos"
@@ -1826,6 +1863,7 @@ msgstr "Proteja seu currículo com uma senha e permita que apenas pessoas com a
msgid "Provider"
msgstr "Provedor"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publicações"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Refazer (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referências"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Atualizar"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Lembrou da sua senha? <0><1>Entre agora <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Removendo proteção por senha..."
msgid "Rename"
msgstr "Renomear"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Reportar um bug"
@@ -1954,6 +2001,10 @@ msgstr "Currículos"
msgid "Right Align"
msgstr "Alinhar à direita"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Romeno"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Pesquisar..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Pesquisar..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Tipo de seção"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Selecionar..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Uma coluna; polido e sério para posições sênior ou de nível corpora
msgid "Size"
msgstr "Tamanho"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Habilidades"
@@ -2240,6 +2290,7 @@ msgstr "Tachar"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Resumo"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamita"
msgid "Views"
msgstr "Visualizações"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Voluntariado"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(abre num novo separador)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# item} other {# items}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Adicionar coluna após"
msgid "Add Column Before"
msgstr "Adicionar coluna antes"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Adicionar página"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Adicionar linha após"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Permitir acesso público"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Já tem uma conta? <0><1>Inicie sessão agora <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Instituição"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Prémios"
@@ -489,14 +503,11 @@ msgstr "Alinhar ao centro"
msgid "Center view"
msgstr "Centrar vista"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certificações"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Mudar idioma"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Mudar idioma para..."
@@ -537,14 +548,15 @@ msgstr "Círculo"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Limpar seleção"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Clique aqui para selecionar um ficheiro para importar"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Bloco de código"
@@ -622,6 +634,7 @@ msgstr "Copie esta chave secreta e utilize-a nas suas aplicações para aceder a
msgid "Copy URL"
msgstr "Copiar URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "A apagar o seu currículo..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Documentação"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Não tem uma conta? <0><1>Crie uma agora <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Neerlandês"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Formação"
@@ -996,6 +1011,10 @@ msgstr "A ativar a autenticação de dois factores..."
msgid "English"
msgstr "Inglês"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Reforce a segurança da sua conta com camadas adicionais de proteção."
@@ -1040,6 +1059,7 @@ msgstr "Tudo o que precisa para criar, personalizar e partilhar currículos prof
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Experiência"
@@ -1069,6 +1089,10 @@ msgstr "Exportar"
msgid "Failed to setup two-factor authentication."
msgstr "Falha ao configurar a autenticação de dois fatores."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funcionalidades"
@@ -1330,6 +1354,7 @@ msgstr "Código em linha"
msgid "Insert Table"
msgstr "Inserir tabela"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interesses"
@@ -1395,6 +1420,7 @@ msgstr "Paisagem"
msgid "Language"
msgstr "Idioma"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Idiomas"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Sem publicidade, sem rastreamento"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Nenhum resultado encontrado."
@@ -1666,6 +1691,14 @@ msgstr "Lista ordenada"
msgid "Organization"
msgstr "Organização"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Página"
@@ -1715,6 +1748,7 @@ msgstr "A proteção por senha foi ativada."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Português (Brasil)"
msgid "Portuguese (Portugal)"
msgstr "Português (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Proficiência"
msgid "Profile"
msgstr "Perfil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Perfis"
@@ -1810,6 +1846,7 @@ msgstr "Perfis"
msgid "Progress Bar"
msgstr "Barra de progresso"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projetos"
@@ -1826,6 +1863,7 @@ msgstr "Proteja o seu currículo com uma senha e permita que apenas pessoas com
msgid "Provider"
msgstr "Fornecedor"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publicações"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Refazer (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referências"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Recarregar"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Lembra-se da sua senha? <0><1>Inicie sessão agora <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "A remover a proteção por senha..."
msgid "Rename"
msgstr "Renomear"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Reportar um bug"
@@ -1954,6 +2001,10 @@ msgstr "Currículos"
msgid "Right Align"
msgstr "Alinhar à direita"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Romeno"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Procurar..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Pesquisar..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Tipo de secção"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Selecionar..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Uma coluna; polido e sério para posições sénior ou de nível empresa
msgid "Size"
msgstr "Tamanho"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Competências"
@@ -2240,6 +2290,7 @@ msgstr "Rasurar"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Resumo"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamita"
msgid "Views"
msgstr "Visualizações"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Voluntariado"
+72 -20
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-02-09 22:30\n"
"PO-Revision-Date: 2026-03-05 10:45\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"
@@ -42,6 +42,11 @@ msgstr "(se deschide într-o filă nouă)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# element} few {# elemente} other {# de elemente}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Adăugați coloană după"
msgid "Add Column Before"
msgstr "Adăugați coloană înainte"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Adăugați pagină"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Adăugați rând după"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Permite acces public"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Aveți deja un cont? <0><1>Autentificați-vă acum <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Acordant"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Distincții"
@@ -489,14 +503,11 @@ msgstr "Aliniere la centru"
msgid "Center view"
msgstr "Centrează vizualizarea"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certificări"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Schimbați limba"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Schimbați limba în..."
@@ -537,14 +548,15 @@ msgstr "Cerc"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Ștergeți selecția"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Faceți clic aici pentru a selecta un fișier de importat"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Bloc de cod"
@@ -622,6 +634,7 @@ msgstr "Copiați această cheie secretă și folosiți-o în aplicațiile dvs. p
msgid "Copy URL"
msgstr "Copiază URL-ul"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Se șterge CV-ul..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Documentație"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Nu aveți un cont? <0><1>Creați unul acum <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Olandeză"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Educație"
@@ -996,6 +1011,10 @@ msgstr "Se activează autentificarea cu doi factori..."
msgid "English"
msgstr "Engleză"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Sporiți securitatea contului prin straturi suplimentare de protecție."
@@ -1040,6 +1059,7 @@ msgstr "Tot ce aveți nevoie pentru a crea, personaliza și partaja CV-uri profe
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Experiență"
@@ -1069,6 +1089,10 @@ msgstr "Exportă"
msgid "Failed to setup two-factor authentication."
msgstr "Configurarea autentificării cu doi factori a eșuat."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funcționalități"
@@ -1330,6 +1354,7 @@ msgstr "Cod în linie"
msgid "Insert Table"
msgstr "Inserează tabel"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interese"
@@ -1395,6 +1420,7 @@ msgstr "Landscape"
msgid "Language"
msgstr "Limbă"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Limbi"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Fără reclame, fără urmărire"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Nu s-a găsit niciun rezultat."
@@ -1666,6 +1691,14 @@ msgstr "Listă ordonată"
msgid "Organization"
msgstr "Organizație"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Pagină"
@@ -1715,6 +1748,7 @@ msgstr "Protecția prin parolă a fost activată."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugheză (Brazilia)"
msgid "Portuguese (Portugal)"
msgstr "Portugheză (Portugalia)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Nivel de competență"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profile"
@@ -1810,6 +1846,7 @@ msgstr "Profile"
msgid "Progress Bar"
msgstr "Bară de progres"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Proiecte"
@@ -1826,6 +1863,7 @@ msgstr "Protejați CV-ul cu o parolă și permiteți doar persoanelor care o cun
msgid "Provider"
msgstr "Furnizor"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publicații"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Refă (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referințe"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Reîncarcă"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Vă amintiți parola? <0><1>Autentificați-vă acum <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Se elimină protecția prin parolă..."
msgid "Rename"
msgstr "Redenumește"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Raportați o eroare"
@@ -1954,6 +2001,10 @@ msgstr "CV-uri"
msgid "Right Align"
msgstr "Aliniere la dreapta"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Română"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Căutați..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Căutare..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Tip secțiune"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Selectați..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "O singură coloană; finisat și serios pentru poziții de nivel senior
msgid "Size"
msgstr "Dimensiune"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Abilități"
@@ -2240,6 +2290,7 @@ msgstr "Tăiat"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Sumar"
@@ -2698,6 +2749,7 @@ msgstr "Vietnameză"
msgid "Views"
msgstr "Vizualizări"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Voluntariat"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\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"
@@ -42,6 +42,11 @@ msgstr "(открывается в новой вкладке)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# элемент} few {# элемента} many {# элементов} other {# элементов}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Добавить столбец после"
msgid "Add Column Before"
msgstr "Добавить столбец до"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Добавить страницу"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Добавить строку после"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Разрешить публичный доступ"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Уже есть учетная запись? <0><1>Войдите сейчас <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Наградивший"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Награды"
@@ -489,14 +503,11 @@ msgstr "Выровнять по центру"
msgid "Center view"
msgstr "Центрировать вид"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Сертификаты"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Изменить язык"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Изменить язык на..."
@@ -537,14 +548,15 @@ msgstr "Круг"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Очистить выбор"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Нажмите здесь, чтобы выбрать файл для импорта"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Блок кода"
@@ -622,6 +634,7 @@ msgstr "Скопируйте этот секретный ключ и испол
msgid "Copy URL"
msgstr "Скопировать URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Удаление вашего резюме..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Документация"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Нет учетной записи? <0><1>Создайте её сейчас <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Нидерландский"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Образование"
@@ -996,6 +1011,10 @@ msgstr "Включение двухфакторной аутентификаци
msgid "English"
msgstr "Английский"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Усильте безопасность своей учетной записи дополнительными уровнями защиты."
@@ -1040,6 +1059,7 @@ msgstr "Все, что нужно для создания, настройки и
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Опыт"
@@ -1069,6 +1089,10 @@ msgstr "Экспорт"
msgid "Failed to setup two-factor authentication."
msgstr "Не удалось настроить двухфакторную аутентификацию."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Возможности"
@@ -1330,6 +1354,7 @@ msgstr "Встроенный код"
msgid "Insert Table"
msgstr "Вставить таблицу"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Интересы"
@@ -1395,6 +1420,7 @@ msgstr "Альбомная"
msgid "Language"
msgstr "Язык"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Языки"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Без рекламы и отслеживания"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Результатов не найдено."
@@ -1666,6 +1691,14 @@ msgstr "Нумерованный список"
msgid "Organization"
msgstr "Организация"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Страница"
@@ -1715,6 +1748,7 @@ msgstr "Защита паролем включена."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Португальский (Бразилия)"
msgid "Portuguese (Portugal)"
msgstr "Португальский (Португалия)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Компетентность"
msgid "Profile"
msgstr "Профиль"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Профили"
@@ -1810,6 +1846,7 @@ msgstr "Профили"
msgid "Progress Bar"
msgstr "Индикатор прогресса"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Проекты"
@@ -1826,6 +1863,7 @@ msgstr "Защитите свое резюме паролем, чтобы его
msgid "Provider"
msgstr "Провайдер"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Публикации"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Повторить (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Рекомендации"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Обновить"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Вспомнили пароль? <0><1>Войдите сейчас <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Отключение защиты паролем..."
msgid "Rename"
msgstr "Переименовать"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Сообщить об ошибке"
@@ -1954,6 +2001,10 @@ msgstr "Резюме"
msgid "Right Align"
msgstr "Выровнять по правому краю"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Румынский"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Поиск..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Поиск..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Тип раздела"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Выберите..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Одноколоночный макет; строгий и солидн
msgid "Size"
msgstr "Размер"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Навыки"
@@ -2240,6 +2290,7 @@ msgstr "Зачеркнутый"
msgid "Subreddit"
msgstr "Сабреддит"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Краткое содержание"
@@ -2698,6 +2749,7 @@ msgstr "Вьетнамский"
msgid "Views"
msgstr "Просмотры"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Волонтерство"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -42,6 +42,11 @@ msgstr "(otvorí sa na novej karte)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# položka} few {# položky} many {# položiek} other {# položky}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Pridať stĺpec za"
msgid "Add Column Before"
msgstr "Pridať stĺpec pred"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Pridať stranu"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Pridať riadok za"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Povoliť verejný prístup"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Už máš účet? <0><1>Prihlás sa teraz <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Udeľovateľ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Ocenenia"
@@ -489,14 +503,11 @@ msgstr "Zarovnať na stred"
msgid "Center view"
msgstr "Vycentrovať zobrazenie"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certifikácie"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Zmeniť jazyk"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Zmeniť jazyk na..."
@@ -537,14 +548,15 @@ msgstr "Kruh"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Zrušiť výber"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Kliknutím sem vyber súbor na import"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Blok kódu"
@@ -622,6 +634,7 @@ msgstr "Skopíruj tento tajný kľúč a použi ho vo svojich aplikáciách na p
msgid "Copy URL"
msgstr "Kopírovať URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Vymazávam tvoj životopis..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentácia"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Nemáš účet? <0><1>Vytvor si ho teraz <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Holandčina"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Vzdelanie"
@@ -996,6 +1011,10 @@ msgstr "Zapínam dvojfaktorové overenie..."
msgid "English"
msgstr "Angličtina"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Zvýš bezpečnosť svojho účtu ďalšími vrstvami ochrany."
@@ -1040,6 +1059,7 @@ msgstr "Všetko, čo potrebuješ na vytvorenie, prispôsobenie a zdieľanie prof
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Skúsenosti"
@@ -1069,6 +1089,10 @@ msgstr "Export"
msgid "Failed to setup two-factor authentication."
msgstr "Nastavenie dvojfaktorového overenia zlyhalo."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funkcie"
@@ -1330,6 +1354,7 @@ msgstr "Vložený kód"
msgid "Insert Table"
msgstr "Vložiť tabuľku"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Záujmy"
@@ -1395,6 +1420,7 @@ msgstr "Na šírku"
msgid "Language"
msgstr "Jazyk"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Jazyky"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Bez reklám, bez sledovania"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Nenašli sa žiadne výsledky."
@@ -1666,6 +1691,14 @@ msgstr "Číslovaný zoznam"
msgid "Organization"
msgstr "Organizácia"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Strana"
@@ -1715,6 +1748,7 @@ msgstr "Ochrana heslom bola zapnutá."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugalčina (Brazília)"
msgid "Portuguese (Portugal)"
msgstr "Portugalčina (Portugalsko)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Úroveň znalosti"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profily"
@@ -1810,6 +1846,7 @@ msgstr "Profily"
msgid "Progress Bar"
msgstr "Ukazovateľ priebehu"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projekty"
@@ -1826,6 +1863,7 @@ msgstr "Ochráň svoj životopis heslom a umožni zobrazenie len tým, ktorí he
msgid "Provider"
msgstr "Poskytovateľ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikácie"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Znovu (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referencie"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Obnoviť"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Spomínaš si na heslo? <0><1>Prihlás sa teraz <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Odstraňujem ochranu heslom..."
msgid "Rename"
msgstr "Premenovať"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Nahlásiť chybu"
@@ -1954,6 +2001,10 @@ msgstr "Životopisy"
msgid "Right Align"
msgstr "Zarovnať vpravo"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumunčina"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Hľadať..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Hľadať..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Typ sekcie"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Vybrať..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Jednostĺpcové rozloženie; uhladené a seriózne pre seniorské alebo
msgid "Size"
msgstr "Veľkosť"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Zručnosti"
@@ -2240,6 +2290,7 @@ msgstr "Prečiarknuté"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Zhrnutie"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamčina"
msgid "Views"
msgstr "Zobrazenia"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Dobrovoľníctvo"
+55 -1
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\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"
@@ -42,6 +42,11 @@ msgstr "(odpre se v novem zavihku)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# postavka} two {# postavki} few {# postavke} other {# postavk}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Dodaj stolpec za"
msgid "Add Column Before"
msgstr "Dodaj stolpec pred"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Dodaj stran"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Dodaj vrstico za"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Podeljevalec"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Priznanja"
@@ -489,6 +503,7 @@ msgstr "Poravnava na sredino"
msgid "Center view"
msgstr "Poravnaj pogled na sredino"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certifikati"
@@ -622,6 +637,7 @@ msgstr "Kopirajte to skrivno kodo in jo uporabite v svojih aplikacijah za dostop
msgid "Copy URL"
msgstr "Kopiraj URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +853,7 @@ msgstr "Brišem vaš življenjepis..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -948,6 +965,7 @@ msgstr "Nizozemščina"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Izobrazba"
@@ -1040,6 +1058,7 @@ msgstr "Vse, kar potrebujete za ustvarjanje, prilagajanje in deljenje strokovnih
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Izkušnje"
@@ -1069,6 +1088,10 @@ msgstr "Izvozi"
msgid "Failed to setup two-factor authentication."
msgstr "Ni bilo mogoče nastaviti dvostopenjskega preverjanja pristnosti."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funkcionalnosti"
@@ -1330,6 +1353,7 @@ msgstr "Inline koda"
msgid "Insert Table"
msgstr "Vstavi tabelo"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interesi"
@@ -1395,6 +1419,7 @@ msgstr "Ležeče (Landscape)"
msgid "Language"
msgstr "Jezik"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Jeziki"
@@ -1666,6 +1691,14 @@ msgstr "Oštevilčen seznam"
msgid "Organization"
msgstr "Organizacija"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Stran"
@@ -1715,6 +1748,7 @@ msgstr "Zaščita z geslom je bila omogočena."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "portugalščina (Brazilija)"
msgid "Portuguese (Portugal)"
msgstr "portugalščina (Portugalska)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Znanje"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profili"
@@ -1810,6 +1846,7 @@ msgstr "Profili"
msgid "Progress Bar"
msgstr "Indikator napredka"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projekti"
@@ -1826,6 +1863,7 @@ msgstr "Zaščitite svoj življenjepis z geslom in dovolite ogled le tistim, ki
msgid "Provider"
msgstr "Ponudnik"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikacije"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Ponovi (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Reference"
@@ -1887,6 +1926,10 @@ msgstr "Osveži"
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Se spomnite gesla? <0><1>Prijavite se zdaj <2/></1></0>"
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
msgstr "Odstrani geslo"
@@ -1903,6 +1946,10 @@ msgstr "Odstranjevanje zaščite z geslom..."
msgid "Rename"
msgstr "Preimenuj"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Prijavite napako"
@@ -1954,6 +2001,10 @@ msgstr "Življenjepisi"
msgid "Right Align"
msgstr "Poravnaj desno"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "romunščina"
@@ -2150,6 +2201,7 @@ msgstr "Enojen stolpec; izpiljeno in resno za višje ali podjetniške položaje.
msgid "Size"
msgstr "Velikost"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Spretnosti"
@@ -2240,6 +2292,7 @@ msgstr "Prečrtano"
msgid "Subreddit"
msgstr "Podreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Povzetek"
@@ -2698,6 +2751,7 @@ msgstr "vietnamščina"
msgid "Views"
msgstr "Ogledi"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Prostovoljec"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Albanian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(hapet në skedë të re)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# element} other {# elemente}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Shto kolonë pas"
msgid "Add Column Before"
msgstr "Shto kolonë para"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Shto faqe"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Shto rresht pas"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Lejo akses publik"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Keni tashmë një llogari? <0><1>Hyni tani <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Dhurues"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Çmime"
@@ -489,14 +503,11 @@ msgstr "Rreshto në qendër"
msgid "Center view"
msgstr "Qendro pamjen"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certifikime"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Ndrysho gjuhën"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Ndrysho gjuhën në..."
@@ -537,14 +548,15 @@ msgstr "Rreth"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Pastro përzgjedhjen"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Klikoni këtu për të zgjedhur një skedar për importim"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Bllok kodi"
@@ -622,6 +634,7 @@ msgstr "Kopjoni këtë çelës sekret dhe përdoreni në aplikacionet tuaja për
msgid "Copy URL"
msgstr "Kopjo URL-në"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Po fshihet CV-ja juaj..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentacioni"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Nuk keni një llogari? <0><1>Krijoni një tani <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Holandisht"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Arsimimi"
@@ -996,6 +1011,10 @@ msgstr "Po aktivizohet vërtetimi me dy faktorë..."
msgid "English"
msgstr "Anglisht"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Forconi sigurinë e llogarisë suaj me shtresa shtesë mbrojtjeje."
@@ -1040,6 +1059,7 @@ msgstr "Gjithçka që ju nevojitet për të krijuar, personalizuar dhe shpërnda
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Eksperienca"
@@ -1069,6 +1089,10 @@ msgstr "Exporto"
msgid "Failed to setup two-factor authentication."
msgstr "Dështoi konfigurimi i vërtetimit me dy faktorë."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Veçori"
@@ -1330,6 +1354,7 @@ msgstr "Kod në rresht"
msgid "Insert Table"
msgstr "Shto tabelë"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Interesa"
@@ -1395,6 +1420,7 @@ msgstr "Peizazh"
msgid "Language"
msgstr "Gjuha"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Gjuhët"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Pa reklama, pa gjurmim"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Nuk u gjetën rezultate."
@@ -1666,6 +1691,14 @@ msgstr "Listë e renditur"
msgid "Organization"
msgstr "Organizata"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Faqja"
@@ -1715,6 +1748,7 @@ msgstr "Mbrojtja me fjalëkalim është aktivizuar."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugalisht (Brazil)"
msgid "Portuguese (Portugal)"
msgstr "Portugalisht (Portugali)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Aftësi"
msgid "Profile"
msgstr "Profili"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profile"
@@ -1810,6 +1846,7 @@ msgstr "Profile"
msgid "Progress Bar"
msgstr "Shtyllë progresi"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projekte"
@@ -1826,6 +1863,7 @@ msgstr "Mbroni CV-në tuaj me një fjalëkalim dhe lejoni vetëm personat me fja
msgid "Provider"
msgstr "Ofruesi"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikime"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Ribëje (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referenca"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Rifresko"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "E kujtuat fjalëkalimin? <0><1>Hyni tani <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Po hiqet mbrojtja me fjalëkalim..."
msgid "Rename"
msgstr "Riemërto"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Raporto një gabim"
@@ -1954,6 +2001,10 @@ msgstr "CV-të"
msgid "Right Align"
msgstr "Rreshto djathtas"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumanisht"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Kërko për..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Kërko..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Lloji i seksionit"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Zgjidh..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Një kolonë e vetme; e lustruar dhe serioze për pozicione të larta os
msgid "Size"
msgstr "Madhësia"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Aftësi"
@@ -2240,6 +2290,7 @@ msgstr "Heqje"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Përmbledhja"
@@ -2698,6 +2749,7 @@ msgstr "Vietnameze"
msgid "Views"
msgstr "Shikime"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Vullnetare"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\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"
@@ -42,6 +42,11 @@ msgstr "(отвара се у новом језичку)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# ставка} few {# ставке} other {# ставки}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Додај колону после"
msgid "Add Column Before"
msgstr "Додај колону пре"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Додај страницу"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Додај ред после"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Дозволи јавни приступ"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Већ имате налог? <0><1>Пријавите се сада <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Додељивач награде"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Награде"
@@ -489,14 +503,11 @@ msgstr "Поравнај по средини"
msgid "Center view"
msgstr "Центрирај приказ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Сертификације"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Промени језик"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Промени језик у..."
@@ -537,14 +548,15 @@ msgstr "Круг"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Обриши избор"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Кликните овде да изаберете датотеку за увоз"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Блок кода"
@@ -622,6 +634,7 @@ msgstr "Копирајте овај тајни кључ и користите г
msgid "Copy URL"
msgstr "Копирај URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Брисање вашег резимеа..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Документација"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Немате налог? <0><1>Креирајте га сада <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Холандски"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Образовање"
@@ -996,6 +1011,10 @@ msgstr "Омогућавање двофакторске аутентификац
msgid "English"
msgstr "Енглески"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Побољшајте безбедност свог налога додатним слојевима заштите."
@@ -1040,6 +1059,7 @@ msgstr "Све што вам је потребно да креирате, при
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Искуство"
@@ -1069,6 +1089,10 @@ msgstr "Извоз"
msgid "Failed to setup two-factor authentication."
msgstr "Није успело подешавање двофакторске аутентификације."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Функције"
@@ -1330,6 +1354,7 @@ msgstr "Унутрашњи кôд"
msgid "Insert Table"
msgstr "Уметни табелу"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Интересовања"
@@ -1395,6 +1420,7 @@ msgstr "Пејзаж"
msgid "Language"
msgstr "Језик"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Језици"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Без оглашавања, без праћења"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Нема резултата."
@@ -1666,6 +1691,14 @@ msgstr "Нумерисана листа"
msgid "Organization"
msgstr "Организација"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Страница"
@@ -1715,6 +1748,7 @@ msgstr "Заштита лозинком је омогућена."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Португалски (Бразил)"
msgid "Portuguese (Portugal)"
msgstr "Португалски (Португал)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Степен познавања"
msgid "Profile"
msgstr "Профил"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Профили"
@@ -1810,6 +1846,7 @@ msgstr "Профили"
msgid "Progress Bar"
msgstr "Трака напретка"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Пројекти"
@@ -1826,6 +1863,7 @@ msgstr "Заштитите свој резиме лозинком и дозво
msgid "Provider"
msgstr "Провајдер"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Публикације"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Понови (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Референце"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Освежи"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Сећате се лозинке? <0><1>Пријавите се сада <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Уклањање заштите лозинком..."
msgid "Rename"
msgstr "Преименуј"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Пријави грешку"
@@ -1954,6 +2001,10 @@ msgstr "Резимеи"
msgid "Right Align"
msgstr "Поравнај десно"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Румунски"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Претражи резимее..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Претражи..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Тип одељка"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Изаберите..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Једноколонац; уштогљен и озбиљан за сен
msgid "Size"
msgstr "Величина"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Вештине"
@@ -2240,6 +2290,7 @@ msgstr "Прецртано"
msgid "Subreddit"
msgstr "Субредит"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Сажетак"
@@ -2698,6 +2749,7 @@ msgstr "Вијетнамски"
msgid "Views"
msgstr "Прегледи"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Волонтерски рад"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(öppnas i ny flik)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {Kolumn} other {Kolumner}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Lägg till kolumn efter"
msgid "Add Column Before"
msgstr "Lägg till kolumn före"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Lägg till sida"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Lägg till rad efter"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Tillåt offentlig åtkomst"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Har du redan ett konto? <0><1>Logga in nu <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Utmärkelse"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Utmärkelser"
@@ -489,14 +503,11 @@ msgstr "Centrera"
msgid "Center view"
msgstr "Centrera vy"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Certifieringar"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Ändra språk"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Ändra språk till..."
@@ -537,14 +548,15 @@ msgstr "Cirkel"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Rensa markering"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Klicka här för att välja en fil att importera"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Kodblock"
@@ -622,6 +634,7 @@ msgstr "Kopiera denna hemliga nyckel och använd den i dina applikationer för a
msgid "Copy URL"
msgstr "Kopiera URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Raderar ditt CV..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dokumentation"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Har du inget konto? <0><1>Skapa ett nu <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Nederländska"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Utbildning"
@@ -996,6 +1011,10 @@ msgstr "Aktiverar tvåfaktorsautentisering..."
msgid "English"
msgstr "Engelska"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Förbättra säkerheten för ditt konto med ytterligare skyddslager."
@@ -1040,6 +1059,7 @@ msgstr "Allt du behöver för att skapa, anpassa och dela professionella CV:n. B
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Erfarenhet"
@@ -1069,6 +1089,10 @@ msgstr "Exportera"
msgid "Failed to setup two-factor authentication."
msgstr "Det gick inte att ställa in tvåfaktorsautentisering."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funktioner"
@@ -1330,6 +1354,7 @@ msgstr "Inline-kod"
msgid "Insert Table"
msgstr "Infoga tabell"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Intressen"
@@ -1395,6 +1420,7 @@ msgstr "Liggande"
msgid "Language"
msgstr "Språk"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Språk"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Ingen reklam, ingen spårning"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Inga resultat hittades."
@@ -1666,6 +1691,14 @@ msgstr "Numrerad lista"
msgid "Organization"
msgstr "Organisation"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Sida"
@@ -1715,6 +1748,7 @@ msgstr "Lösenordsskydd har aktiverats."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugisiska (Brasilien)"
msgid "Portuguese (Portugal)"
msgstr "Portugisiska (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Färdighet"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profiler"
@@ -1810,6 +1846,7 @@ msgstr "Profiler"
msgid "Progress Bar"
msgstr "Förloppsindikator"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projekt"
@@ -1826,6 +1863,7 @@ msgstr "Skydda ditt CV med ett lösenord och låt endast personer med lösenorde
msgid "Provider"
msgstr "Leverantör"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Publikationer"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Gör om (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referenser"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Uppdatera"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Kommer du ihåg ditt lösenord? <0><1>Logga in nu <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Tar bort lösenordsskydd..."
msgid "Rename"
msgstr "Döp om"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Rapportera en bugg"
@@ -1954,6 +2001,10 @@ msgstr "CV"
msgid "Right Align"
msgstr "Högerjustera"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumänska"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Sök efter..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Sök..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Avsnittstyp"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Välj..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "En kolumn; polerad och seriös för seniora eller roller på företagsni
msgid "Size"
msgstr "Storlek"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Färdigheter"
@@ -2240,6 +2290,7 @@ msgstr "Genomstrykning"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Sammanfattning"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamesiska"
msgid "Views"
msgstr "Visningar"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Volontärarbete"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Tamil\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(புதிய தாவலில் திறக்கிறது)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# உருப்படி} other {# உருப்படிகள்}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "பின் நெடுவரிசைச் சேர்க்கவ
msgid "Add Column Before"
msgstr "முன் நெடுவரிசைச் சேர்க்கவும்"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "பக்கத்தைச் சேர்க்கவும்"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "பின் வரியைச் சேர்க்கவும்"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "பொது அணுகலை அனுமதிக்கவும்"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "ஏற்கனவே கணக்கு இருக்கிறதா? <0><1>உடனே உள்நுழைக <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "விருது வழங்குநர்"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "விருதுகள்"
@@ -489,14 +503,11 @@ msgstr "நடுவில் சீரமை"
msgid "Center view"
msgstr "நடுப்பார்வை"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "சான்றிதழ்கள்"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "மொழியை மாற்று"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "மொழியை மாற்ற..."
@@ -537,14 +548,15 @@ msgstr "வட்டம்"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "தேர்வை அழிக்கவும்"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "இறக்குமதி செய்ய ஒரு கோப்பை தேர்ந்தெடுக்க இங்கே கிளிக் செய்யவும்"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "குறியீட்டு தொகுதி"
@@ -622,6 +634,7 @@ msgstr "இந்த ரகசிய விசையை நகலெடுத்
msgid "Copy URL"
msgstr "URL-ஐ நகலெடு"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "உங்கள் ரெஸ்யூமியை நீக்கிக
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "ஆவணங்கள்"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "கணக்கு இல்லையா? <0><1>இப்போதே ஒன்றை உருவாக்கவும் <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "டச்சு"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "கல்வி"
@@ -996,6 +1011,10 @@ msgstr "இரண்டு நிலை அங்கீகாரத்தை இ
msgid "English"
msgstr "ஆங்கிலம்"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "உங்கள் கணக்கின் பாதுகாப்பை கூடுதல் பாதுகாப்பு அடுக்குகளால் மேம்படுத்துங்கள்."
@@ -1040,6 +1059,7 @@ msgstr "தொழில்முறை ரெஸ்யூமிகளை உர
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "அனுபவம்"
@@ -1069,6 +1089,10 @@ msgstr "ஏற்றுமதி"
msgid "Failed to setup two-factor authentication."
msgstr "இரண்டு நிலை அங்கீகாரத்தை அமைப்பது தோல்வியடைந்தது."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "அம்சங்கள்"
@@ -1330,6 +1354,7 @@ msgstr "இன்லைன் குறியீடு"
msgid "Insert Table"
msgstr "அட்டவணையை நுழைக்கவும்"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "விருப்பங்கள்"
@@ -1395,6 +1420,7 @@ msgstr "கிடைமட்டப் படலம்"
msgid "Language"
msgstr "மொழி"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "மொழிகள்"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "விளம்பரம் இல்லை, கண்காணிப்பு இல்லை"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "எந்த முடிவுகளும் கிடைக்கவில்லை."
@@ -1666,6 +1691,14 @@ msgstr "வரிசைப்படுத்தப்பட்ட பட்ட
msgid "Organization"
msgstr "நிறுவனம் / அமைப்பு"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "பக்கம்"
@@ -1715,6 +1748,7 @@ msgstr "கடவுச்சொல் பாதுகாப்பு இயக
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "போர்ச்சுகீஸ் (பிரேஸில்)"
msgid "Portuguese (Portugal)"
msgstr "போர்ச்சுகீஸ் (போர்ச்சுகல்)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "திறமைத் தரம்"
msgid "Profile"
msgstr "சுயவிவரம்"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "சுயவிவரங்கள்"
@@ -1810,6 +1846,7 @@ msgstr "சுயவிவரங்கள்"
msgid "Progress Bar"
msgstr "முன்னேற்ற பட்டை"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "திட்டங்கள்"
@@ -1826,6 +1863,7 @@ msgstr "உங்கள் ரெஸ்யூமியை கடவுச்ச
msgid "Provider"
msgstr "வழங்குபவர்"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "வெளியீடுகள்"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "மீண்டும் செயல்படுத்து (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "பரிந்துரைகள்"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "மீண்டும் ஏற்று"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "உங்கள் கடவுச்சொல் நினைவில் இருக்கிறதா? <0><1>உடனே உள்நுழைக <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "கடவுச்சொல் பாதுகாப்பை நீக
msgid "Rename"
msgstr "மறுபெயரிடு"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "ஒரு பிழையை அறிவிக்கவும்"
@@ -1954,6 +2001,10 @@ msgstr "ரெஸ்யூமிகள்"
msgid "Right Align"
msgstr "வலது சீரமை"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "ரோமேனியன்"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "தேடுங்கள்..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "தேடல்..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "பகுதி வகை"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "தேர்வு செய்க..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "ஒற்றை நெடுவரிசை; மெத்தனமாக
msgid "Size"
msgstr "அளவு"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "திறன்கள்"
@@ -2240,6 +2290,7 @@ msgstr "கோடு கிழித்தல்"
msgid "Subreddit"
msgstr "சப்ரெட்டிட்"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "சுருக்கம்"
@@ -2698,6 +2749,7 @@ msgstr "வியட்‌നாமீஸ்"
msgid "Views"
msgstr "பார்வைகள்"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "தன்னார்வம்"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Telugu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(కొత్త ట్యాబ్‌లో తెరవబడుతు
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# అంశం} other {# అంశాలు}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "తరువాత కాలమ్ చేర్చండి"
msgid "Add Column Before"
msgstr "ముందు కాలమ్ చేర్చండి"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "పేజీ జోడించండి"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "తరువాత వరుస చేర్చండి"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "ప్రజా యాక్సెస్‌ని అనుమతించండి"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "మీకు ఖాతా ఉందా? <0><1>ఇప్పుడే సైన్ ఇన్ చెయ్యండి <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "పురస్కార దాత"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "పురస్కారాలు"
@@ -489,14 +503,11 @@ msgstr "మద్యAlign"
msgid "Center view"
msgstr "ప్రదర్శనను మధ్య భాగంగా ఉంచండి"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "ప్రామாணపత్రాలు"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "భాష మార్చండి"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "భాష మార్చండి..."
@@ -537,14 +548,15 @@ msgstr "వృత్తం"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "ఎంపికను క్లియర్ చేయండి"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "ఇంపోర్ట్ చేయడానికి ఫైల్ ను ఎంచుకోవడానికి ఇక్కడ క్లిక్ చేయండి"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "కోడ్ బ్లాక్"
@@ -622,6 +634,7 @@ msgstr "ఈ సీక్రెట్ కీని కాపీ చేసి మ
msgid "Copy URL"
msgstr "URLని కాపీ చేయండి"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "మీ రిజ్యూమ్‌ను తొలగిస్తున
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "డాక్యుమెంటేషన్"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "ఖాతా లేదా? <0><1>ఇప్పుడు ఖాతా సృష్టించండి <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "డచ్"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "విద్య"
@@ -996,6 +1011,10 @@ msgstr "రెండు దశల ధృవీకరణను ప్రారం
msgid "English"
msgstr "ఆంగ్లం"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "మీ ఖాతా భద్రతను అదనపు పరిరక్షణతో మెరుగుపరచండి."
@@ -1040,6 +1059,7 @@ msgstr "ప్రొఫెషనల్ రిజ్యూమ్‌లు సృ
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "అనుభవం"
@@ -1069,6 +1089,10 @@ msgstr "ఎగుమతి"
msgid "Failed to setup two-factor authentication."
msgstr "రెండు దశల ధృవీకరణను సెటప్ చేయడంలో విఫలమయ్యారు."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "ఫీచర్లు"
@@ -1330,6 +1354,7 @@ msgstr "ఇన్‌లైన్ కోడ్"
msgid "Insert Table"
msgstr "టేబుల్ చేర్చండి"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "అభిరుచులు"
@@ -1395,6 +1420,7 @@ msgstr "ల్యాండ్‌స్కేప్"
msgid "Language"
msgstr "భాష"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "భాషలు"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "ప్రకటనలు లేవు, ట్రాకింగ్ లేదు"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "ఏ ఫలితాలు లభించలేదు."
@@ -1666,6 +1691,14 @@ msgstr "ఆర్డర్డ్ లిస్ట్"
msgid "Organization"
msgstr "ఆర్గనైజేషన్"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "పేజ్"
@@ -1715,6 +1748,7 @@ msgstr "పాస్‌వర్డ్ రక్షణను ప్రారం
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "పోర్చుగీస్ (బ్రెజిల్)"
msgid "Portuguese (Portugal)"
msgstr "పోర్చుగీస్ (పోర్చుగల్)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "నైపుణ్యం స్థాయి"
msgid "Profile"
msgstr "ప్రొఫైల్"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "ప్రొఫైల్స్"
@@ -1810,6 +1846,7 @@ msgstr "ప్రొఫైల్స్"
msgid "Progress Bar"
msgstr "ప్రోగ్రెస్ బార్"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "ప్రాజెక్ట్స్"
@@ -1826,6 +1863,7 @@ msgstr "మీ రిజ్యూమ్‌ను పాస్‌వర్డ్
msgid "Provider"
msgstr "ప్రొవైడర్"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "పబ్లికేషన్స్"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "రీడూ (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "రిఫరెన్స్లు"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "రిఫ్రెష్ చేయండి"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "మీకు పాస్‌వర్డ్ గుర్తుంది? <0><1>ఇప్పుడే సైన్ ఇన్ అవ్వండి <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "పాస్‌వర్డ్ రక్షణను తీసివే
msgid "Rename"
msgstr "రీనేమ్"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "బగ్‌ను నివేదించండి"
@@ -1954,6 +2001,10 @@ msgstr "రిజ్యూమ్స్"
msgid "Right Align"
msgstr "కుడి align చేయండి"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "రోమేనియన్"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "శోధించండి..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "శోధన..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "విభాగపు రకం"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "ఎంచుకోండి..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "ఒకే-కాలమ్; శుభ్రమైన మరియు ప
msgid "Size"
msgstr "సైజు"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "స్కిల్స్"
@@ -2240,6 +2290,7 @@ msgstr "స్ట్రైక్"
msgid "Subreddit"
msgstr "సబ్రెడిట్"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "సమ్మరీ"
@@ -2698,6 +2749,7 @@ msgstr "వియత్నామీస్"
msgid "Views"
msgstr "వ్యూస్"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "వాలంటియర్"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -42,6 +42,11 @@ msgstr "(เปิดในแท็บใหม่)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, other {# รายการ}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "เพิ่มคอลัมน์หลัง"
msgid "Add Column Before"
msgstr "เพิ่มคอลัมน์ก่อน"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "เพิ่มหน้าใหม่"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "เพิ่มแถวหลัง"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "อนุญาตให้เข้าถึงแบบสาธารณะ"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "มีบัญชีอยู่แล้ว? <0><1>เข้าสู่ระบบตอนนี้ <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "ผู้มอบรางวัล"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "รางวัล"
@@ -489,14 +503,11 @@ msgstr "จัดกึ่งกลาง"
msgid "Center view"
msgstr "ศูนย์กลางมุมมอง"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "ใบรับรอง"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "เปลี่ยนภาษา"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "เปลี่ยนภาษาเป็น..."
@@ -537,14 +548,15 @@ msgstr "วงกลม"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "ล้างการเลือก"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "คลิกที่นี่เพื่อเลือกไฟล์ที่จะนำเข้า"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "บล็อกโค้ด"
@@ -622,6 +634,7 @@ msgstr "คัดลอกคีย์ลับนี้และใช้ใน
msgid "Copy URL"
msgstr "คัดลอก URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "กำลังลบเรซูเม่ของคุณ..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "เอกสารอ้างอิง"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "ยังไม่มีบัญชีใช่ไหม? <0><1>สร้างบัญชีเลยตอนนี้ <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "ดัตช์"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "การศึกษา"
@@ -996,6 +1011,10 @@ msgstr "กำลังเปิดใช้งานการยืนยัน
msgid "English"
msgstr "ภาษาอังกฤษ"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "เพิ่มความปลอดภัยให้กับบัญชีของคุณด้วยชั้นการป้องกันเพิ่มเติม"
@@ -1040,6 +1059,7 @@ msgstr "ทุกสิ่งที่คุณต้องการในกา
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "ประสบการณ์"
@@ -1069,6 +1089,10 @@ msgstr "ส่งออก"
msgid "Failed to setup two-factor authentication."
msgstr "ตั้งค่าการยืนยันตัวตนสองขั้นตอนล้มเหลว"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "คุณสมบัติ"
@@ -1330,6 +1354,7 @@ msgstr "โค้ดอินไลน์"
msgid "Insert Table"
msgstr "แทรกตาราง"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "ความสนใจ"
@@ -1395,6 +1420,7 @@ msgstr "แนวนอน"
msgid "Language"
msgstr "ภาษา"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "ภาษา"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "ไม่มีโฆษณา ไม่มีการติดตาม"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "ไม่พบผลลัพธ์"
@@ -1666,6 +1691,14 @@ msgstr "ลำดับรายการแบบเรียงลำดับ
msgid "Organization"
msgstr "องค์กร"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "หน้า"
@@ -1715,6 +1748,7 @@ msgstr "เปิดการป้องกันด้วยรหัสผ่
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "โปรตุเกส (บราซิล)"
msgid "Portuguese (Portugal)"
msgstr "โปรตุเกส (โปรตุเกส)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "ความชำนาญ"
msgid "Profile"
msgstr "โปรไฟล์"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "โปรไฟล์"
@@ -1810,6 +1846,7 @@ msgstr "โปรไฟล์"
msgid "Progress Bar"
msgstr "แถบความคืบหน้า"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "โปรเจกต์"
@@ -1826,6 +1863,7 @@ msgstr "ปกป้องเรซูเม่ของคุณด้วยร
msgid "Provider"
msgstr "ผู้ให้บริการ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "สิ่งตีพิมพ์"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "ทำซ้ำ (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "บุคคลอ้างอิง"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "รีเฟรช"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "จำรหัสผ่านของคุณได้หรือไม่? <0><1>ลงชื่อเข้าใช้ตอนนี้ <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "กำลังลบการป้องกันด้วยรหั
msgid "Rename"
msgstr "เปลี่ยนชื่อ"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "แจ้งข้อผิดพลาด"
@@ -1954,6 +2001,10 @@ msgstr "เรซูเม่"
msgid "Right Align"
msgstr "ชิดขวา"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "โรมาเนีย"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "ค้นหา..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "ค้นหา..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "ประเภทของเซกชั่น"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "เลือก..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "คอลัมน์เดียว มีความเรียบ
msgid "Size"
msgstr "ขนาด"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "ทักษะ"
@@ -2240,6 +2290,7 @@ msgstr "ขีดฆ่า"
msgid "Subreddit"
msgstr "ซับเรดดิต"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "ภาพรวม"
@@ -2698,6 +2749,7 @@ msgstr "เวียดนาม"
msgid "Views"
msgstr "ยอดดู"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "อาสาสมัคร"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -42,6 +42,11 @@ msgstr "(yeni sekmede açılır)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# öğe} other {# öğe}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Sonra Sütun Ekle"
msgid "Add Column Before"
msgstr "Önce Sütun Ekle"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Sayfa Ekle"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Sonra Satır Ekle"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Herkese Açık Erişime İzin Ver"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Zaten bir hesabınız var mı? <0><1>Şimdi giriş yapın <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Ödül veren"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Ödüller"
@@ -489,14 +503,11 @@ msgstr "Ortala"
msgid "Center view"
msgstr "Görünümü ortala"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Sertifikalar"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Dili değiştir"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Dili şuna değiştir..."
@@ -537,14 +548,15 @@ msgstr "Daire"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Seçimi temizle"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "İçe aktarmak için bir dosya seçmek üzere buraya tıklayın"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Kod Bloğu"
@@ -622,6 +634,7 @@ msgstr "Bu gizli anahtarı kopyalayıp uygulamalarınızda verilerinize erişmek
msgid "Copy URL"
msgstr "URL'yi Kopyala"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Özgeçmişiniz siliniyor..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Dökümantasyon"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Hesabınız yok mu? <0><1>Şimdi oluşturun <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Felemenkçe"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Eğitim"
@@ -996,6 +1011,10 @@ msgstr "İki faktörlü kimlik doğrulama etkinleştiriliyor..."
msgid "English"
msgstr "İngilizce"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Hesabınızın güvenliğini ek koruma katmanlarıyla artırın."
@@ -1040,6 +1059,7 @@ msgstr "Profesyonel özgeçmişler oluşturmak, özelleştirmek ve paylaşmak i
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Deneyim"
@@ -1069,6 +1089,10 @@ msgstr "Dışa aktar"
msgid "Failed to setup two-factor authentication."
msgstr "İki faktörlü kimlik doğrulama kurulamadı."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Özellikler"
@@ -1330,6 +1354,7 @@ msgstr "Satır İçi Kod"
msgid "Insert Table"
msgstr "Tablo Ekle"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "İlgi Alanları"
@@ -1395,6 +1420,7 @@ msgstr "Yatay"
msgid "Language"
msgstr "Dil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Diller"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Reklam Yok, Takip Yok"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Hiçbir sonuç bulunamadı."
@@ -1666,6 +1691,14 @@ msgstr "Sıralı Liste"
msgid "Organization"
msgstr "Organizasyon"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Sayfa"
@@ -1715,6 +1748,7 @@ msgstr "Şifre koruması etkinleştirildi."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portekizce (Brezilya)"
msgid "Portuguese (Portugal)"
msgstr "Portekizce (Portekiz)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Yeterlilik"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profiller"
@@ -1810,6 +1846,7 @@ msgstr "Profiller"
msgid "Progress Bar"
msgstr "İlerleme Çubuğu"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Projeler"
@@ -1826,6 +1863,7 @@ msgstr "Özgeçmişinizi bir şifre ile koruyun ve yalnızca şifreye sahip kiş
msgid "Provider"
msgstr "Sağlayıcı"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Yayınlar"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Yinele (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Referanslar"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Yenile"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Şifrenizi hatırlıyor musunuz? <0><1>Şimdi giriş yapın <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Şifre koruması kaldırılıyor..."
msgid "Rename"
msgstr "Yeniden adlandır"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Bir Hata Bildir"
@@ -1954,6 +2001,10 @@ msgstr "Özgeçmişler"
msgid "Right Align"
msgstr "Sağa Hizala"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumence"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Ara..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Ara..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Bölüm Türü"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Seç..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Tek sütun; üst düzey veya kurumsal pozisyonlar için ciddi ve özenli
msgid "Size"
msgstr "Boyut"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Yetenekler"
@@ -2240,6 +2290,7 @@ msgstr "Üstü Çizili"
msgid "Subreddit"
msgstr "Alt Reddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Özet"
@@ -2698,6 +2749,7 @@ msgstr "Vietnamca"
msgid "Views"
msgstr "Görüntülenmeler"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Gönüllü"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\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"
@@ -42,6 +42,11 @@ msgstr "(відкриється у новій вкладці)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# елемент} few {# елементи} many {# елементів} other {# елементів}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Додати Колонку Справа"
msgid "Add Column Before"
msgstr "Додати Колонку Зліва"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Додати сторінку"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Додати Рядок Знизу"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Дозволити Загальний Доступ"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Вже маєте профіль? <0><1>Увійдіть зараз <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Ким видано"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Нагороди"
@@ -489,14 +503,11 @@ msgstr "Вирівняти по центру"
msgid "Center view"
msgstr "Центрувати перегляд"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Сертифікати"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Змінити мову"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Змінити мову на..."
@@ -537,14 +548,15 @@ msgstr "Кругле"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Очистити вибір"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Натисніть тут, щоб вибрати файл для імпорту"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Блок коду"
@@ -622,6 +634,7 @@ msgstr "Скопіюйте цей секретний ключ та викори
msgid "Copy URL"
msgstr "Скопіювати URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Видалення вашого резюме..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Документація"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Не маєте профілю? <0><1>Створіть його зараз <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Голландська"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Освіта"
@@ -996,6 +1011,10 @@ msgstr "Увімкнення двофакторної автентифікаці
msgid "English"
msgstr "Англійська"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Підвищте безпеку свого профілю додатковими рівнями захисту."
@@ -1040,6 +1059,7 @@ msgstr "Все необхідне для створення, налаштува
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Досвід"
@@ -1069,6 +1089,10 @@ msgstr "Експорт"
msgid "Failed to setup two-factor authentication."
msgstr "Не вдалося налаштувати двофакторну автентифікацію."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Функції"
@@ -1330,6 +1354,7 @@ msgstr "Вбудований код"
msgid "Insert Table"
msgstr "Вставити таблицю"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Інтереси"
@@ -1395,6 +1420,7 @@ msgstr "Альбомна орієнтація"
msgid "Language"
msgstr "Мова"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Мови"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Без реклами, без відстеження"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Результатів не знайдено."
@@ -1666,6 +1691,14 @@ msgstr "Нумерований список"
msgid "Organization"
msgstr "Організація"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Сторінка"
@@ -1715,6 +1748,7 @@ msgstr "Захист паролем увімкнено."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Португальська (Бразилія)"
msgid "Portuguese (Portugal)"
msgstr "Португальська (Португалія)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Рівень володіння"
msgid "Profile"
msgstr "Профіль"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Профілі"
@@ -1810,6 +1846,7 @@ msgstr "Профілі"
msgid "Progress Bar"
msgstr "Індикатор прогресу"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Проєкти"
@@ -1826,6 +1863,7 @@ msgstr "Захистіть своє резюме паролем, і тільки
msgid "Provider"
msgstr "Провайдер"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Публікації"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Повторити (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Рекомендації"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Оновити"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Пам’ятаєте свій пароль? <0><1>Увійдіть зараз <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Видалення захисту паролем..."
msgid "Rename"
msgstr "Перейменувати"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Повідомити про помилку"
@@ -1954,6 +2001,10 @@ msgstr "Резюме"
msgid "Right Align"
msgstr "Вирівняти праворуч"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Румунська"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Пошук..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Пошук..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Тип секції"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Оберіть..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Одна колонка; акуратно й серйозно для с
msgid "Size"
msgstr "Розмір"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Навички"
@@ -2240,6 +2290,7 @@ msgstr "Закреслення"
msgid "Subreddit"
msgstr "Сабреддіт"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Загальні відомості"
@@ -2698,6 +2749,7 @@ msgstr "Вʼєтнамська"
msgid "Views"
msgstr "Перегляди"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Волонтер"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Uzbek\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -42,6 +42,11 @@ msgstr "(yangi tabda ochiladi)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, one {# element} other {# elementlar}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Ustundan keyin ustun qo‘shish"
msgid "Add Column Before"
msgstr "Ustundan oldin ustun qo‘shish"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Sahifa qo‘shish"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Qatordan keyin qator qo‘shish"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Ommaviy kirishga ruxsat berish"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Akkountingiz bormi? <0><1>Hozir kiring <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Mukofotlovchi"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Mukofotlar"
@@ -489,14 +503,11 @@ msgstr "Markazda tekislash"
msgid "Center view"
msgstr "Markazga koʻrish"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Sertifikatlar"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Tilni o'zgartirish"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Tilni oʻzgartirish..."
@@ -537,14 +548,15 @@ msgstr "Doira"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Tanlovni tozalash"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Import qilish uchun faylni tanlash uchun shu yerni bosing"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Kod bloki"
@@ -622,6 +634,7 @@ msgstr "Ushbu maxfiy kalitni nusxalab, maʼlumotlaringizga kirish uchun ilovalar
msgid "Copy URL"
msgstr "URL-ni nusxalash"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Rezyumeni o‘chirilmoqda..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Hujjatlar"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Hisobingiz yo‘qmi? <0><1>Hozir yaratish <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Golland tili"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Ta'lim"
@@ -996,6 +1011,10 @@ msgstr "Ikki bosqichli autentifikatsiya yoqilmoqda..."
msgid "English"
msgstr "Inglizcha"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Hisobingiz xavfsizligini qo‘shimcha himoya qatlamlari bilan oshiring."
@@ -1040,6 +1059,7 @@ msgstr "Professional rezyumelar yaratish, sozlash va ulashish uchun kerakli barc
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Tajriba"
@@ -1069,6 +1089,10 @@ msgstr "Eksport"
msgid "Failed to setup two-factor authentication."
msgstr "Ikki bosqichli autentifikatsiyani o‘rnatishda xatolik yuz berdi."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Xususiyatlar"
@@ -1330,6 +1354,7 @@ msgstr "Inline kod"
msgid "Insert Table"
msgstr "Jadval qoʻshish"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Qiziqishlar"
@@ -1395,6 +1420,7 @@ msgstr "Gorizontal holat"
msgid "Language"
msgstr "Til"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Tillar"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Reklamasiz, kuzatuvsiz"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Hech qanday natija topilmadi."
@@ -1666,6 +1691,14 @@ msgstr "Tartibli roʻyxat"
msgid "Organization"
msgstr "Tashkilot"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Sahifa"
@@ -1715,6 +1748,7 @@ msgstr "Parol bilan himoya yoqildi."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Portugalcha (Braziliya)"
msgid "Portuguese (Portugal)"
msgstr "Portugalcha (Portugaliya)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Daraja"
msgid "Profile"
msgstr "Profil"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Profillar"
@@ -1810,6 +1846,7 @@ msgstr "Profillar"
msgid "Progress Bar"
msgstr "Progres paneli"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Loyihalar"
@@ -1826,6 +1863,7 @@ msgstr "Rezyumeingizni parol bilan himoya qiling va faqat parolga ega odamlar un
msgid "Provider"
msgstr "Provayder"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Nashrlar"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Qayta bajarish (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Tavsiyalar"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Yangilash"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Parolingiz esingizdami? <0><1>Hozir kiring <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Parol himoyasi olib tashlanmoqda..."
msgid "Rename"
msgstr "Nomini o‘zgartirish"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Xatolik haqida xabar berish"
@@ -1954,6 +2001,10 @@ msgstr "Rezyumelar"
msgid "Right Align"
msgstr "O‘ngga hizalash"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumin tili"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Qidiruv..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Qidiruv..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Bo'lim turi"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Tanlang..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Bir ustunli; sayqallangan va jiddiy, yuqori darajali yoki korporativ lav
msgid "Size"
msgstr "Hajmi"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Koʻnikmalar"
@@ -2240,6 +2290,7 @@ msgstr "Ustiga chizish"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Qisqacha ma'lumot"
@@ -2698,6 +2749,7 @@ msgstr "Vyetnam tili"
msgid "Views"
msgstr "Ko‘rishlar"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Ko‘ngillilar"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -42,6 +42,11 @@ msgstr "(mở ở tab mới)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, other {# mục}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "Thêm cột sau"
msgid "Add Column Before"
msgstr "Thêm cột trước"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "Thêm trang"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Thêm dòng sau"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "Cho phép truy cập công khai"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "Bạn đã có tài khoản? <0><1>Đăng nhập ngay <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Bên trao giải"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "Giải thưởng"
@@ -489,14 +503,11 @@ msgstr "Căn giữa"
msgid "Center view"
msgstr "Căn giữa màn hình"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "Chứng chỉ"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "Thay đổi ngôn ngữ"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "Đổi ngôn ngữ sang..."
@@ -537,14 +548,15 @@ msgstr "Vòng tròn"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "Xóa lựa chọn"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "Nhấn vào đây để chọn file cần nhập khẩu"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Khối mã"
@@ -622,6 +634,7 @@ msgstr "Sao chép khóa bí mật này và sử dụng trong ứng dụng của
msgid "Copy URL"
msgstr "Sao chép URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "Đang xóa bản lý lịch của bạn..."
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "Tài liệu"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "Bạn chưa có tài khoản? <0><1>Tạo ngay bây giờ <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "Tiếng Hà Lan"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "Giáo dục"
@@ -996,6 +1011,10 @@ msgstr "Đang bật xác thực hai yếu tố..."
msgid "English"
msgstr "Tiếng Anh"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "Tăng cường bảo mật cho tài khoản của bạn với nhiều lớp bảo vệ bổ sung."
@@ -1040,6 +1059,7 @@ msgstr "Mọi thứ bạn cần để tạo, tùy chỉnh và chia sẻ bản l
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "Kinh nghiệm"
@@ -1069,6 +1089,10 @@ msgstr "Xuất"
msgid "Failed to setup two-factor authentication."
msgstr "Thiết lập xác thực hai yếu tố thất bại."
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Tính năng"
@@ -1330,6 +1354,7 @@ msgstr "Mã nội tuyến"
msgid "Insert Table"
msgstr "Chèn bảng"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "Sở thích"
@@ -1395,6 +1420,7 @@ msgstr "Ngang"
msgid "Language"
msgstr "Ngôn ngữ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "Ngôn ngữ"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "Không quảng cáo, không theo dõi"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "Không tìm thấy kết quả."
@@ -1666,6 +1691,14 @@ msgstr "Danh sách có thứ tự"
msgid "Organization"
msgstr "Tổ chức"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "Trang"
@@ -1715,6 +1748,7 @@ msgstr "Bảo vệ bằng mật khẩu đã được bật."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "Bồ Đào Nha (Brazil)"
msgid "Portuguese (Portugal)"
msgstr "Bồ Đào Nha (Bồ Đào Nha)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "Trình độ"
msgid "Profile"
msgstr "Hồ sơ"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "Hồ sơ"
@@ -1810,6 +1846,7 @@ msgstr "Hồ sơ"
msgid "Progress Bar"
msgstr "Thanh tiến trình"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "Dự án"
@@ -1826,6 +1863,7 @@ msgstr "Bảo vệ sơ yếu lý lịch của bạn bằng mật khẩu và ch
msgid "Provider"
msgstr "Nhà cung cấp"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "Ấn phẩm"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "Làm lại (Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "Người tham khảo"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "Làm mới"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "Bạn nhớ mật khẩu? <0><1>Đăng nhập ngay <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "Đang xóa bảo vệ mật khẩu..."
msgid "Rename"
msgstr "Đổi tên"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Báo lỗi"
@@ -1954,6 +2001,10 @@ msgstr "Sơ yếu lý lịch"
msgid "Right Align"
msgstr "Căn phải"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "Rumani"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "Tìm kiếm..."
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "Tìm kiếm..."
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "Loại phần"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "Chọn..."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "Một cột; chỉnh chu và nghiêm túc cho vị trí cấp cao hoặc
msgid "Size"
msgstr "Kích thước"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Kỹ năng"
@@ -2240,6 +2290,7 @@ msgstr "Gạch ngang"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "Tóm tắt"
@@ -2698,6 +2749,7 @@ msgstr "Tiếng Việt"
msgid "Views"
msgstr "Lượt xem"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "Tình nguyện viên"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -42,6 +42,11 @@ msgstr "(在新标签页中打开)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, other {# 项}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "在后面添加列"
msgid "Add Column Before"
msgstr "在前面添加列"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "添加页面"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "在后面添加行"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "允许公开访问"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "已经有账号?<0><1>立即登录 <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "授予者"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "奖项"
@@ -489,14 +503,11 @@ msgstr "居中对齐"
msgid "Center view"
msgstr "视图居中"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "证书"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "更改语言"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "将语言更改为…"
@@ -537,14 +548,15 @@ msgstr "圆形"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "清除选择"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "点击此处选择要导入的文件"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "代码块"
@@ -622,6 +634,7 @@ msgstr "复制此密钥,并在你的应用程序中使用它来访问你的数
msgid "Copy URL"
msgstr "复制 URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "正在删除你的简历…"
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "文档"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "没有账号?<0><1>立即创建 <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "荷兰语"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "教育经历"
@@ -996,6 +1011,10 @@ msgstr "正在使用双重身份验证保护…"
msgid "English"
msgstr "英语"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "为你的账号增加更多保护层,提升安全性。"
@@ -1040,6 +1059,7 @@ msgstr "你创建、定制和分享专业简历所需的一切。以隐私为核
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "工作经历"
@@ -1069,6 +1089,10 @@ msgstr "导出"
msgid "Failed to setup two-factor authentication."
msgstr "设置双重身份验证失败。"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "功能"
@@ -1330,6 +1354,7 @@ msgstr "行内代码"
msgid "Insert Table"
msgstr "插入表格"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "兴趣爱好"
@@ -1395,6 +1420,7 @@ msgstr "横向"
msgid "Language"
msgstr "语言"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "语言"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "无广告,无跟踪"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "没找到结果。"
@@ -1666,6 +1691,14 @@ msgstr "有序列表"
msgid "Organization"
msgstr "组织"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "页面"
@@ -1715,6 +1748,7 @@ msgstr "密码保护已启用。"
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "葡萄牙语(巴西)"
msgid "Portuguese (Portugal)"
msgstr "葡萄牙语(葡萄牙)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "熟练度"
msgid "Profile"
msgstr "个人资料"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "个人资料"
@@ -1810,6 +1846,7 @@ msgstr "个人资料"
msgid "Progress Bar"
msgstr "进度条"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "项目"
@@ -1826,6 +1863,7 @@ msgstr "用密码保护你的简历,只允许拥有密码的人查看。"
msgid "Provider"
msgstr "服务提供商"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "出版物"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "重做(Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "推荐人"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "刷新"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "想起你的密码了?<0><1>立即登录 <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "正在移除密码保护…"
msgid "Rename"
msgstr "重命名"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "报告错误"
@@ -1954,6 +2001,10 @@ msgstr "简历"
msgid "Right Align"
msgstr "右对齐"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "罗马尼亚语"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "搜索…"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "搜索…"
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "章节类型"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "选择…"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "单栏布局;风格精致严肃,适合高级或企业级职位。"
msgid "Size"
msgstr "大小"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "Skills"
@@ -2240,6 +2290,7 @@ msgstr "删除线"
msgid "Subreddit"
msgstr "Subreddit 论坛"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "总结"
@@ -2698,6 +2749,7 @@ msgstr "越南语"
msgid "Views"
msgstr "查看"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "志愿者经历"
+72 -20
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-02-09 22:31\n"
"PO-Revision-Date: 2026-03-05 10:46\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -42,6 +42,11 @@ msgstr "(在新分頁中開啟)"
msgid "{0, plural, one {# item} other {# items}}"
msgstr "{0, plural, other {# 個項目}}"
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -195,10 +200,18 @@ msgstr "在後方新增欄"
msgid "Add Column Before"
msgstr "在前方新增欄"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr "新增頁面"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "在後方新增列"
@@ -233,8 +246,8 @@ msgid "Allow Public Access"
msgstr "允許公開存取"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgstr "已經有帳戶了嗎?<0><1>立即登入 <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
msgid "Amharic"
@@ -359,6 +372,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "頒獎者"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr "獎項"
@@ -489,14 +503,11 @@ msgstr "置中對齊"
msgid "Center view"
msgstr "置中檢視"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr "證照"
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr "變更語言"
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr "變更語言為…"
@@ -537,14 +548,15 @@ msgstr "圓形"
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr "清除選取"
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr "按這裡選擇要匯入的檔案"
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "程式碼區塊"
@@ -622,6 +634,7 @@ msgstr "複製這組私密金鑰,並在您的應用程式中使用它來存取
msgid "Copy URL"
msgstr "複製 URL"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -837,6 +850,7 @@ msgstr "正在刪除您的履歷…"
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -879,8 +893,8 @@ msgid "Documentation"
msgstr "文件"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgstr "沒有帳戶嗎?<0><1>立即建立 <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
@@ -948,6 +962,7 @@ msgstr "荷蘭語"
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr "學歷"
@@ -996,6 +1011,10 @@ msgstr "正在啟用雙因子驗證…"
msgid "English"
msgstr "英文"
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr "透過額外的保護層級強化您的帳戶安全。"
@@ -1040,6 +1059,7 @@ msgstr "建立、客製化與分享專業履歷所需的一切功能一應俱全
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr "經歷"
@@ -1069,6 +1089,10 @@ msgstr "導出"
msgid "Failed to setup two-factor authentication."
msgstr "設定雙因子驗證失敗。"
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "功能"
@@ -1330,6 +1354,7 @@ msgstr "行內程式碼"
msgid "Insert Table"
msgstr "插入表格"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr "興趣"
@@ -1395,6 +1420,7 @@ msgstr "橫向"
msgid "Language"
msgstr "語言"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr "語言"
@@ -1605,7 +1631,6 @@ msgid "No Advertising, No Tracking"
msgstr "無廣告、無追蹤"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr "找不到相符的結果。"
@@ -1666,6 +1691,14 @@ msgstr "編號清單"
msgid "Organization"
msgstr "組織"
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr "頁"
@@ -1715,6 +1748,7 @@ msgstr "已啟用密碼保護。"
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1770,6 +1804,7 @@ msgstr "葡萄牙語(巴西)"
msgid "Portuguese (Portugal)"
msgstr "葡萄牙語(葡萄牙)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1802,6 +1837,7 @@ msgstr "熟練度"
msgid "Profile"
msgstr "個人設置"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr "個人檔案"
@@ -1810,6 +1846,7 @@ msgstr "個人檔案"
msgid "Progress Bar"
msgstr "進度條"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr "專案"
@@ -1826,6 +1863,7 @@ msgstr "使用密碼保護您的履歷,只有知道密碼的人才能檢視。
msgid "Provider"
msgstr "服務提供者"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr "出版品"
@@ -1875,6 +1913,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr "重做(Ctrl+Y)"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr "推薦人"
@@ -1884,8 +1923,12 @@ msgid "Refresh"
msgstr "重新整理"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgstr "想起密碼了嗎?<0><1>立即登入 <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
@@ -1903,6 +1946,10 @@ msgstr "正在移除密碼保護…"
msgid "Rename"
msgstr "重新命名"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "回報錯誤"
@@ -1954,6 +2001,10 @@ msgstr "履歷"
msgid "Right Align"
msgstr "靠右對齊"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr "羅馬尼亞語"
@@ -2004,9 +2055,8 @@ msgid "Search for..."
msgstr "搜尋履歷…"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr "搜尋…"
msgstr ""
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
@@ -2017,9 +2067,8 @@ msgid "Section Type"
msgstr "段落類型"
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr "選取…"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
@@ -2150,6 +2199,7 @@ msgstr "單欄版面,風格精緻嚴謹,適合資深或企業級職位。"
msgid "Size"
msgstr "尺寸"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr "技能"
@@ -2240,6 +2290,7 @@ msgstr "刪除線"
msgid "Subreddit"
msgstr "Subreddit"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr "摘要"
@@ -2698,6 +2749,7 @@ msgstr "越南語"
msgid "Views"
msgstr "檢視數"
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr "志工服務"
+66 -14
View File
@@ -37,6 +37,11 @@ msgstr ""
msgid "{0, plural, one {# item} other {# items}}"
msgstr ""
#. placeholder {0}: item.roles.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "{0, plural, one {# role} other {# roles}}"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "{column, plural, one {# Column} other {# Columns}}"
@@ -190,10 +195,18 @@ msgstr ""
msgid "Add Column Before"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Add Page"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Add Role"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr ""
@@ -228,7 +241,7 @@ msgid "Allow Public Access"
msgstr ""
#: src/routes/auth/register.tsx
msgid "Already have an account? <0><1>Sign in now <2/></1></0>"
msgid "Already have an account? <0/>"
msgstr ""
#: src/utils/locale.ts
@@ -354,6 +367,7 @@ msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Awards"
msgstr ""
@@ -484,14 +498,11 @@ msgstr ""
msgid "Center view"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Certifications"
msgstr ""
#: src/routes/_home/-sections/header.tsx
msgid "Change language"
msgstr ""
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change language to..."
msgstr ""
@@ -532,14 +543,15 @@ msgstr ""
msgid "Clear chat history"
msgstr ""
#: src/components/ui/multiple-combobox.tsx
msgid "Clear selection"
msgstr ""
#: src/dialogs/resume/import.tsx
msgid "Click here to select a file to import"
msgstr ""
#: src/components/ui/dialog.tsx
#: src/components/ui/sheet.tsx
msgid "Close"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr ""
@@ -617,6 +629,7 @@ msgstr ""
msgid "Copy URL"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Cover Letter"
msgstr ""
@@ -832,6 +845,7 @@ msgstr ""
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
@@ -874,7 +888,7 @@ msgid "Documentation"
msgstr ""
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0><1>Create one now <2/></1></0>"
msgid "Don't have an account? <0/>"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
@@ -943,6 +957,7 @@ msgstr ""
msgid "e.g. Change my name to..."
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Education"
msgstr ""
@@ -991,6 +1006,10 @@ msgstr ""
msgid "English"
msgstr ""
#: src/utils/locale.ts
msgid "English (United Kingdom)"
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Enhance the security of your account with additional layers of protection."
msgstr ""
@@ -1035,6 +1054,7 @@ msgstr ""
msgid "Exit Fullscreen"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Experience"
msgstr ""
@@ -1064,6 +1084,10 @@ msgstr ""
msgid "Failed to setup two-factor authentication."
msgstr ""
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr ""
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr ""
@@ -1325,6 +1349,7 @@ msgstr ""
msgid "Insert Table"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Interests"
msgstr ""
@@ -1390,6 +1415,7 @@ msgstr ""
msgid "Language"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Languages"
msgstr ""
@@ -1600,7 +1626,6 @@ msgid "No Advertising, No Tracking"
msgstr ""
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "No results found."
msgstr ""
@@ -1661,6 +1686,14 @@ msgstr ""
msgid "Organization"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Period"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Overall Title (optional)"
msgstr ""
#: src/utils/resume/section.tsx
msgid "Page"
msgstr ""
@@ -1710,6 +1743,7 @@ msgstr ""
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
@@ -1765,6 +1799,7 @@ msgstr ""
msgid "Portuguese (Portugal)"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
@@ -1797,6 +1832,7 @@ msgstr ""
msgid "Profile"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Profiles"
msgstr ""
@@ -1805,6 +1841,7 @@ msgstr ""
msgid "Progress Bar"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Projects"
msgstr ""
@@ -1821,6 +1858,7 @@ msgstr ""
msgid "Provider"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Publications"
msgstr ""
@@ -1870,6 +1908,7 @@ msgctxt "'Ctrl' may be replaced with the locale-specific equivalent (e.g. 'Strg'
msgid "Redo (Ctrl+Y)"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "References"
msgstr ""
@@ -1879,7 +1918,11 @@ msgid "Refresh"
msgstr ""
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0><1>Sign in now <2/></1></0>"
msgid "Remember your password? <0/>"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
@@ -1898,6 +1941,10 @@ msgstr ""
msgid "Rename"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr ""
@@ -1949,6 +1996,10 @@ msgstr ""
msgid "Right Align"
msgstr ""
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr ""
#: src/utils/locale.ts
msgid "Romanian"
msgstr ""
@@ -1999,7 +2050,6 @@ msgid "Search for..."
msgstr ""
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Search..."
msgstr ""
@@ -2012,7 +2062,6 @@ msgid "Section Type"
msgstr ""
#: src/components/ui/combobox.tsx
#: src/components/ui/multiple-combobox.tsx
msgid "Select..."
msgstr ""
@@ -2145,6 +2194,7 @@ msgstr ""
msgid "Size"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Skills"
msgstr ""
@@ -2235,6 +2285,7 @@ msgstr ""
msgid "Subreddit"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Summary"
msgstr ""
@@ -2693,6 +2744,7 @@ msgstr ""
msgid "Views"
msgstr ""
#: src/dialogs/resume/sections/custom.tsx
#: src/utils/resume/section.tsx
msgid "Volunteer"
msgstr ""
@@ -0,0 +1,2 @@
ALTER TABLE "apikey" RENAME COLUMN "user_id" TO "reference_id";--> statement-breakpoint
ALTER TABLE "apikey" ADD COLUMN "config_id" text NOT NULL DEFAULT 'default';
File diff suppressed because it is too large Load Diff
+70 -59
View File
@@ -1,10 +1,10 @@
{
"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.0.10",
"version": "5.0.12",
"license": "MIT",
"type": "module",
"packageManager": "pnpm@10.30.3",
"packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be",
"repository": {
"type": "git",
"url": "https://github.com/amruthpillai/reactive-resume.git"
@@ -22,61 +22,65 @@
"db:push": "drizzle-kit push",
"db:studio": "drizzle-kit studio",
"dev": "vite dev",
"preview": "vite preview",
"docs:dev": "cd docs && npx mint dev",
"knip": "knip",
"lingui:extract": "lingui extract --clean --overwrite",
"lint": "biome check --write",
"preview": "vite preview",
"start": "node .output/server/index.mjs",
"typecheck": "tsc --noEmit"
"typecheck": "tsgo --noEmit"
},
"dependencies": {
"@ai-sdk/anthropic": "^3.0.55",
"@ai-sdk/google": "^3.0.37",
"@ai-sdk/openai": "^3.0.39",
"@ai-sdk/react": "^3.0.114",
"@aws-sdk/client-s3": "^3.1001.0",
"@better-auth/api-key": "^1.5.3",
"@better-auth/drizzle-adapter": "^1.5.3",
"@ai-sdk/anthropic": "^3.0.58",
"@ai-sdk/google": "^3.0.43",
"@ai-sdk/openai": "^3.0.41",
"@ai-sdk/react": "^3.0.118",
"@aws-sdk/client-s3": "^3.1011.0",
"@base-ui/react": "^1.3.0",
"@better-auth/api-key": "^1.5.5",
"@better-auth/drizzle-adapter": "^1.5.5",
"@better-auth/infra": "^0.1.12",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@fontsource-variable/ibm-plex-sans": "^5.2.8",
"@hookform/resolvers": "^5.2.2",
"@lingui/core": "^5.9.2",
"@lingui/react": "^5.9.2",
"@lingui/core": "^5.9.3",
"@lingui/react": "^5.9.3",
"@modelcontextprotocol/sdk": "^1.27.1",
"@monaco-editor/react": "4.8.0-rc.3",
"@orpc/client": "^1.13.6",
"@orpc/json-schema": "^1.13.6",
"@orpc/openapi": "^1.13.6",
"@orpc/server": "^1.13.6",
"@orpc/tanstack-query": "^1.13.6",
"@orpc/zod": "^1.13.6",
"@orpc/client": "^1.13.7",
"@orpc/json-schema": "^1.13.7",
"@orpc/openapi": "^1.13.7",
"@orpc/server": "^1.13.7",
"@orpc/tanstack-query": "^1.13.7",
"@orpc/zod": "^1.13.7",
"@phosphor-icons/react": "^2.1.10",
"@phosphor-icons/web": "^2.1.2",
"@sindresorhus/slugify": "^3.0.0",
"@t3-oss/env-core": "^0.13.10",
"@tanstack/react-query": "5.90.21",
"@tanstack/react-router": "^1.163.3",
"@tanstack/react-router-ssr-query": "^1.163.3",
"@tanstack/react-start": "^1.166.1",
"@tanstack/zod-adapter": "^1.163.3",
"@tiptap/extension-highlight": "^3.20.0",
"@tiptap/extension-table": "^3.20.0",
"@tiptap/extension-text-align": "^3.20.0",
"@tiptap/pm": "^3.20.0",
"@tiptap/react": "^3.20.0",
"@tiptap/starter-kit": "^3.20.0",
"ai": "^6.0.112",
"ai-sdk-ollama": "^3.8.0",
"@tanstack/react-query": "^5.90.21",
"@tanstack/react-router": "^1.167.4",
"@tanstack/react-router-ssr-query": "^1.166.9",
"@tanstack/react-start": "^1.166.16",
"@tanstack/zod-adapter": "^1.166.9",
"@tiptap/extension-highlight": "^3.20.4",
"@tiptap/extension-table": "^3.20.4",
"@tiptap/extension-text-align": "^3.20.4",
"@tiptap/pm": "^3.20.4",
"@tiptap/react": "^3.20.4",
"@tiptap/starter-kit": "^3.20.4",
"@uiw/color-convert": "^2.9.6",
"@uiw/react-color-colorful": "^2.9.6",
"ai": "^6.0.116",
"ai-sdk-ollama": "^3.8.1",
"bcrypt": "^6.0.0",
"better-auth": "v1.5.3",
"better-auth": "^1.5.5",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"dompurify": "^3.3.1",
"drizzle-orm": "^1.0.0-beta.15-859cf75",
"dompurify": "^3.3.3",
"drizzle-orm": "1.0.0-beta.18-7eb39f0",
"drizzle-zod": "^0.8.3",
"es-toolkit": "^1.45.1",
"fast-deep-equal": "^3.1.3",
@@ -85,22 +89,25 @@
"immer": "^11.1.4",
"input-otp": "^1.4.2",
"js-cookie": "^3.0.5",
"jsonrepair": "^3.13.3",
"lucide-react": "^0.577.0",
"monaco-editor": "^0.55.1",
"motion": "^12.35.0",
"nodemailer": "^8.0.1",
"pg": "^8.19.0",
"puppeteer-core": "^24.38.0",
"motion": "^12.38.0",
"nodemailer": "^8.0.2",
"pg": "^8.20.0",
"puppeteer-core": "^24.39.1",
"qrcode.react": "^4.2.0",
"radix-ui": "^1.4.3",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-hook-form": "^7.71.2",
"react-hotkeys-hook": "^5.2.4",
"react-resizable-panels": "^4.7.1",
"react-resizable-panels": "^4.7.3",
"react-window": "^2.2.7",
"react-zoom-pan-pinch": "^3.7.0",
"shadcn": "^4.0.8",
"sharp": "^0.34.5",
"sonner": "^2.0.7",
"srvx": "^0.11.12",
"tailwind-merge": "^3.5.0",
"tailwindcss": "^4.2.1",
"ts-pattern": "^5.9.0",
@@ -111,50 +118,54 @@
"workbox-window": "^7.4.0",
"zod": "^4.3.6",
"zundo": "^2.3.0",
"zustand": "^5.0.11"
"zustand": "^5.0.12"
},
"devDependencies": {
"@biomejs/biome": "^2.4.5",
"@lingui/babel-plugin-lingui-macro": "^5.9.2",
"@lingui/cli": "^5.9.2",
"@lingui/vite-plugin": "^5.9.2",
"@babel/core": "^7.29.0",
"@biomejs/biome": "^2.4.7",
"@lingui/babel-plugin-lingui-macro": "^5.9.3",
"@lingui/cli": "^5.9.3",
"@lingui/vite-plugin": "^5.9.3",
"@rolldown/plugin-babel": "^0.2.1",
"@tailwindcss/vite": "^4.2.1",
"@types/bcrypt": "^6.0.0",
"@types/js-cookie": "^3.0.6",
"@types/node": "^25.3.3",
"@types/node": "^25.5.0",
"@types/nodemailer": "^7.0.11",
"@types/pg": "^8.18.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.4",
"@typescript/native-preview": "7.0.0-dev.20260317.1",
"@vitejs/plugin-react": "^6.0.1",
"babel-plugin-macros": "^3.1.0",
"drizzle-kit": "^1.0.0-beta.15-859cf75",
"knip": "^5.85.0",
"nitro": "npm:nitro-nightly@latest",
"drizzle-kit": "1.0.0-beta.18-7eb39f0",
"knip": "^5.87.0",
"nitro": "3.0.260311-beta",
"node-addon-api": "^8.6.0",
"node-gyp": "^12.2.0",
"npm-check-updates": "^19.6.3",
"npm-check-updates": "^19.6.5",
"tsx": "^4.21.0",
"typescript": "^5.9.3",
"vite": "^8.0.0-beta.16",
"vite": "^8.0.0",
"vite-plugin-pwa": "^1.2.0"
},
"pnpm": {
"overrides": {
"vite": "^8.0.0-beta.16",
"hono": "^4.11.10",
"minimatch": "^10.2.3",
"@isaacs/brace-expansion": "^5.0.1",
"ajv": "^8.18.0",
"basic-ftp": "^5.2.0",
"fast-xml-parser": "^5.3.8",
"hono": "^4.11.10",
"lodash": "^4.17.23",
"markdown-it": "^14.1.1",
"ajv": "^8.18.0",
"minimatch": "^10.2.3",
"qs": "^6.14.2",
"fast-xml-parser": "^5.3.8"
"serialize-javascript": "^7.0.4",
"vite": "^8.0.0"
},
"onlyBuiltDependencies": [
"bcrypt",
"esbuild",
"msw",
"sharp"
]
}
+4065 -2929
View File
File diff suppressed because it is too large Load Diff
+7 -5
View File
@@ -305,11 +305,13 @@ export function AIChat() {
return (
<Popover open={open} onOpenChange={handleOpenChange}>
<PopoverTrigger asChild>
<Button size="icon" variant="ghost">
<SparkleIcon />
</Button>
</PopoverTrigger>
<PopoverTrigger
render={
<Button size="icon" variant="ghost">
<SparkleIcon />
</Button>
}
/>
<PopoverContent className="flex h-128 w-md flex-col gap-y-0 overflow-hidden p-0" side="top" align="center">
{/* Header with clear button */}
+36 -824
View File
@@ -1,829 +1,41 @@
import { EyedropperIcon } from "@phosphor-icons/react";
import { Slider as SliderPrimitive, Slot as SlotPrimitive } from "radix-ui";
import * as React from "react";
import { VisuallyHiddenInput } from "@/components/input/visually-hidden-input";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover";
import {
type ColorValue,
type HSVColorValue,
hexToRgb,
hsvToRgb,
parseRgbString,
rgbToHsv,
rgbToString,
} from "@/utils/color";
import { useComposedRefs } from "@/utils/compose-refs";
import { cn } from "@/utils/style";
import { type ColorResult, hsvaToRgbaString, rgbaStringToHsva } from "@uiw/color-convert";
import ReactColorColorful from "@uiw/react-color-colorful";
import { useMemo } from "react";
import { useControlledState } from "@/hooks/use-controlled-state";
import { Popover, PopoverContent, PopoverTrigger } from "../ui/popover";
interface EyeDropper {
open: (options?: { signal?: AbortSignal }) => Promise<{ sRGBHex: string }>;
}
declare global {
interface Window {
EyeDropper?: {
new (): EyeDropper;
};
}
}
type Direction = "ltr" | "rtl";
const DirectionContext = React.createContext<Direction | undefined>(undefined);
function useDirection(dirProp?: Direction): Direction {
const contextDir = React.useContext(DirectionContext);
return dirProp ?? contextDir ?? "ltr";
}
function useLazyRef<T>(fn: () => T) {
const ref = React.useRef<T | null>(null);
if (ref.current === null) {
ref.current = fn();
}
return ref as React.RefObject<T>;
}
interface ColorPickerStoreState {
color: ColorValue;
hsv: HSVColorValue;
open: boolean;
}
interface ColorPickerStoreCallbacks {
onColorChange?: (colorString: string) => void;
onOpenChange?: (open: boolean) => void;
}
function colorValuesEqual(a: ColorValue, b: ColorValue): boolean {
return a.r === b.r && a.g === b.g && a.b === b.b && a.a === b.a;
}
function hsvValuesEqual(a: HSVColorValue, b: HSVColorValue): boolean {
return a.h === b.h && a.s === b.s && a.v === b.v && a.a === b.a;
}
interface ColorPickerStore {
subscribe: (cb: () => void) => () => void;
getState: () => ColorPickerStoreState;
setColor: (value: ColorValue) => void;
setHsv: (value: HSVColorValue) => void;
setOpen: (value: boolean) => void;
syncColor: (value: ColorValue) => void;
notify: () => void;
}
function createColorPickerStore(
listenersRef: React.RefObject<Set<() => void>>,
stateRef: React.RefObject<ColorPickerStoreState>,
callbacks?: ColorPickerStoreCallbacks,
): ColorPickerStore {
const store: ColorPickerStore = {
subscribe: (cb) => {
if (listenersRef.current) {
listenersRef.current.add(cb);
return () => listenersRef.current?.delete(cb);
}
return () => {};
},
getState: () =>
stateRef.current || {
color: { r: 0, g: 0, b: 0, a: 1 },
hsv: { h: 0, s: 0, v: 0, a: 1 },
open: false,
},
setColor: (value: ColorValue) => {
if (!stateRef.current) return;
if (colorValuesEqual(stateRef.current.color, value)) return;
stateRef.current.color = value;
stateRef.current.hsv = rgbToHsv(value);
if (callbacks?.onColorChange) {
const colorString = rgbToString(value);
callbacks.onColorChange(colorString);
}
store.notify();
},
setHsv: (value: HSVColorValue) => {
if (!stateRef.current) return;
if (hsvValuesEqual(stateRef.current.hsv, value)) return;
stateRef.current.hsv = value;
stateRef.current.color = hsvToRgb(value);
if (callbacks?.onColorChange) {
const colorString = rgbToString(stateRef.current.color);
callbacks.onColorChange(colorString);
}
store.notify();
},
syncColor: (value: ColorValue) => {
if (!stateRef.current) return;
if (colorValuesEqual(stateRef.current.color, value)) return;
stateRef.current.color = value;
stateRef.current.hsv = rgbToHsv(value);
store.notify();
},
setOpen: (value: boolean) => {
if (!stateRef.current) return;
if (Object.is(stateRef.current.open, value)) return;
stateRef.current.open = value;
if (callbacks?.onOpenChange) {
callbacks.onOpenChange(value);
}
store.notify();
},
notify: () => {
if (listenersRef.current) {
for (const cb of listenersRef.current) {
cb();
}
}
},
};
return store;
}
function useColorPickerStoreContext(consumerName: string) {
const context = React.useContext(ColorPickerStoreContext);
if (!context) {
throw new Error(`\`${consumerName}\` must be used within \`ColorPickerRoot\``);
}
return context;
}
function useColorPickerStore<U>(selector: (state: ColorPickerStoreState) => U): U {
const store = useColorPickerStoreContext("useColorPickerStoreSelector");
const getSnapshot = React.useCallback(() => selector(store.getState()), [store, selector]);
return React.useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);
}
interface ColorPickerContextValue {
dir: Direction;
disabled?: boolean;
readOnly?: boolean;
required?: boolean;
}
const ColorPickerStoreContext = React.createContext<ColorPickerStore | null>(null);
const ColorPickerContext = React.createContext<ColorPickerContextValue | null>(null);
function useColorPickerContext(consumerName: string) {
const context = React.useContext(ColorPickerContext);
if (!context) {
throw new Error(`\`${consumerName}\` must be used within \`ColorPickerRoot\``);
}
return context;
}
interface ColorPickerRootProps
extends Omit<React.ComponentProps<"div">, "onValueChange">,
Pick<React.ComponentProps<typeof Popover>, "defaultOpen" | "open" | "onOpenChange" | "modal"> {
type ColorPickerProps = {
value?: string;
defaultValue?: string;
onValueChange?: (value: string) => void;
dir?: Direction;
name?: string;
asChild?: boolean;
disabled?: boolean;
readOnly?: boolean;
required?: boolean;
}
function ColorPickerRoot(props: ColorPickerRootProps) {
const {
value: valueProp,
defaultValue = "rgb(0, 0, 0)",
onValueChange,
defaultOpen,
open: openProp,
onOpenChange,
name,
disabled,
readOnly,
required,
...rootProps
} = props;
const initialColor = React.useMemo(() => {
const colorString = valueProp ?? defaultValue;
const parsed = parseRgbString(colorString);
const color = parsed ?? { r: 0, g: 0, b: 0, a: 1 };
return {
color,
hsv: rgbToHsv(color),
open: openProp ?? defaultOpen ?? false,
};
}, [valueProp, defaultValue, openProp, defaultOpen]);
const stateRef = useLazyRef(() => initialColor);
const listenersRef = useLazyRef(() => new Set<() => void>());
const storeCallbacks = React.useMemo<ColorPickerStoreCallbacks>(
() => ({
onColorChange: onValueChange,
onOpenChange: onOpenChange,
}),
[onValueChange, onOpenChange],
);
const store = React.useMemo(
() => createColorPickerStore(listenersRef, stateRef, storeCallbacks),
[listenersRef, stateRef, storeCallbacks],
);
return (
<ColorPickerStoreContext.Provider value={store}>
<ColorPickerRootImpl
{...rootProps}
value={valueProp}
defaultOpen={defaultOpen}
open={openProp}
onOpenChange={onOpenChange}
name={name}
disabled={disabled}
readOnly={readOnly}
required={required}
/>
</ColorPickerStoreContext.Provider>
);
}
interface ColorPickerRootImplProps extends Omit<ColorPickerRootProps, "defaultValue" | "onValueChange"> {}
function ColorPickerRootImpl(props: ColorPickerRootImplProps) {
const {
value: valueProp,
dir: dirProp,
defaultOpen,
open: openProp,
onOpenChange,
name,
ref,
asChild,
disabled,
modal,
readOnly,
required,
...rootProps
} = props;
const store = useColorPickerStoreContext("ColorPickerRootImpl");
const dir = useDirection(dirProp);
const [formTrigger, setFormTrigger] = React.useState<HTMLDivElement | null>(null);
const composedRef = useComposedRefs(ref, (node) => setFormTrigger(node));
const isFormControl = formTrigger ? !!formTrigger.closest("form") : true;
React.useEffect(() => {
if (valueProp !== undefined) {
const parsed = parseRgbString(valueProp);
if (parsed) {
const currentState = store.getState();
const color = { ...parsed, a: parsed.a ?? currentState.color.a };
store.syncColor(color);
}
}
}, [valueProp, store]);
React.useEffect(() => {
if (openProp !== undefined) {
store.setOpen(openProp);
}
}, [openProp, store]);
const contextValue = React.useMemo<ColorPickerContextValue>(
() => ({
dir,
disabled,
readOnly,
required,
}),
[dir, disabled, readOnly, required],
);
const value = useColorPickerStore((state) => rgbToString(state.color));
const open = useColorPickerStore((state) => state.open);
const onPopoverOpenChange = React.useCallback(
(newOpen: boolean) => {
store.setOpen(newOpen);
onOpenChange?.(newOpen);
},
[store, onOpenChange],
);
const RootPrimitive = asChild ? SlotPrimitive.Slot : "div";
return (
<ColorPickerContext.Provider value={contextValue}>
<Popover defaultOpen={defaultOpen} open={open} onOpenChange={onPopoverOpenChange} modal={modal}>
<RootPrimitive {...rootProps} ref={composedRef} />
{isFormControl && (
<VisuallyHiddenInput
type="hidden"
name={name}
value={value}
disabled={disabled}
readOnly={readOnly}
required={required}
control={formTrigger}
/>
)}
</Popover>
</ColorPickerContext.Provider>
);
}
interface ColorPickerTriggerProps extends React.ComponentProps<typeof PopoverTrigger> {}
function ColorPickerTrigger(props: ColorPickerTriggerProps) {
const { asChild, ...triggerProps } = props;
const context = useColorPickerContext("ColorPickerTrigger");
const TriggerPrimitive = asChild ? SlotPrimitive.Slot : PopoverTrigger;
return (
<PopoverTrigger asChild disabled={context.disabled}>
<TriggerPrimitive data-slot="color-picker-trigger" {...triggerProps} />
</PopoverTrigger>
);
}
interface ColorPickerContentProps extends React.ComponentProps<typeof PopoverContent> {}
function ColorPickerContent(props: ColorPickerContentProps) {
const { asChild, className, children, ...popoverContentProps } = props;
return (
<PopoverContent
data-slot="color-picker-content"
asChild={asChild}
{...popoverContentProps}
className={cn("flex w-[340px] flex-col gap-4 p-4", className)}
>
{children}
</PopoverContent>
);
}
interface ColorPickerSwatchProps extends React.ComponentProps<"div"> {
asChild?: boolean;
}
function ColorPickerSwatch(props: ColorPickerSwatchProps) {
const { asChild, className, ...swatchProps } = props;
const context = useColorPickerContext("ColorPickerSwatch");
const color = useColorPickerStore((state) => state.color);
const backgroundStyle = React.useMemo(() => {
if (!color) {
return {
background:
"linear-gradient(to bottom right, transparent calc(50% - 1px), hsl(var(--destructive)) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)) no-repeat",
};
}
const colorString = `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a})`;
if (color.a < 1) {
return {
background: `linear-gradient(${colorString}, ${colorString}), repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%) 0% 50% / 8px 8px`,
};
}
return {
backgroundColor: colorString,
};
}, [color]);
const ariaLabel = !color ? "No color selected" : `Current color: ${rgbToString(color)}`;
const SwatchPrimitive = asChild ? SlotPrimitive.Slot : "div";
return (
<div className="flex size-9 items-center justify-start">
<SwatchPrimitive
{...swatchProps}
role="img"
aria-label={ariaLabel}
data-slot="color-picker-swatch"
className={cn("box-border size-7 rounded-md border", context.disabled && "opacity-50", className)}
style={{
...backgroundStyle,
forcedColorAdjust: "none",
}}
/>
</div>
);
}
interface ColorPickerAreaProps extends React.ComponentProps<"div"> {
asChild?: boolean;
}
function ColorPickerArea(props: ColorPickerAreaProps) {
const { asChild, className, ref, ...areaProps } = props;
const context = useColorPickerContext("ColorPickerArea");
const store = useColorPickerStoreContext("ColorPickerArea");
const hsv = useColorPickerStore((state) => state.hsv);
const isDraggingRef = React.useRef(false);
const areaRef = React.useRef<HTMLDivElement>(null);
const composedRef = useComposedRefs(ref, areaRef);
const updateColorFromPosition = React.useCallback(
(clientX: number, clientY: number) => {
if (!areaRef.current) return;
const rect = areaRef.current.getBoundingClientRect();
const x = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width));
const y = Math.max(0, Math.min(1, 1 - (clientY - rect.top) / rect.height));
const newHsv: HSVColorValue = {
h: hsv?.h ?? 0,
s: Math.round(x * 100),
v: Math.round(y * 100),
a: hsv?.a ?? 1,
};
store.setHsv(newHsv);
},
[hsv, store],
);
const onPointerDown = React.useCallback(
(event: React.PointerEvent) => {
if (context.disabled) return;
isDraggingRef.current = true;
areaRef.current?.setPointerCapture(event.pointerId);
updateColorFromPosition(event.clientX, event.clientY);
},
[context.disabled, updateColorFromPosition],
);
const onPointerMove = React.useCallback(
(event: React.PointerEvent) => {
if (isDraggingRef.current) {
updateColorFromPosition(event.clientX, event.clientY);
}
},
[updateColorFromPosition],
);
const onPointerUp = React.useCallback((event: React.PointerEvent) => {
isDraggingRef.current = false;
areaRef.current?.releasePointerCapture(event.pointerId);
}, []);
const hue = hsv?.h ?? 0;
const backgroundHue = hsvToRgb({ h: hue, s: 100, v: 100, a: 1 });
const AreaPrimitive = asChild ? SlotPrimitive.Slot : "div";
return (
<AreaPrimitive
data-slot="color-picker-area"
{...areaProps}
className={cn(
"relative h-40 w-full cursor-crosshair touch-none rounded-md border",
context.disabled && "pointer-events-none opacity-50",
className,
)}
ref={composedRef}
onPointerDown={onPointerDown}
onPointerMove={onPointerMove}
onPointerUp={onPointerUp}
>
<div className="absolute inset-0 overflow-hidden rounded-md">
<div
className="absolute inset-0"
style={{
backgroundColor: `rgb(${backgroundHue.r}, ${backgroundHue.g}, ${backgroundHue.b})`,
}}
/>
<div
className="absolute inset-0"
style={{
background: "linear-gradient(to right, #fff, transparent)",
}}
/>
<div
className="absolute inset-0"
style={{
background: "linear-gradient(to bottom, transparent, #000)",
}}
/>
</div>
<div
className="absolute size-3 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white"
style={{
left: `${hsv?.s ?? 0}%`,
top: `${100 - (hsv?.v ?? 0)}%`,
}}
/>
</AreaPrimitive>
);
}
interface ColorPickerHueSliderProps extends React.ComponentProps<typeof SliderPrimitive.Root> {}
function ColorPickerHueSlider(props: ColorPickerHueSliderProps) {
const { className, ...sliderProps } = props;
const context = useColorPickerContext("ColorPickerHueSlider");
const store = useColorPickerStoreContext("ColorPickerHueSlider");
const hsv = useColorPickerStore((state) => state.hsv);
const onValueChange = React.useCallback(
(values: number[]) => {
const newHsv: HSVColorValue = {
h: values[0] ?? 0,
s: hsv?.s ?? 0,
v: hsv?.v ?? 0,
a: hsv?.a ?? 1,
};
store.setHsv(newHsv);
},
[hsv, store],
);
return (
<SliderPrimitive.Root
data-slot="color-picker-hue-slider"
{...sliderProps}
max={360}
step={1}
className={cn("relative flex w-full touch-none select-none items-center", className)}
value={[hsv?.h ?? 0]}
onValueChange={onValueChange}
disabled={context.disabled}
>
<SliderPrimitive.Track className="relative h-3 w-full grow overflow-hidden rounded-full bg-[linear-gradient(to_right,#ff0000_0%,#ffff00_16.66%,#00ff00_33.33%,#00ffff_50%,#0000ff_66.66%,#ff00ff_83.33%,#ff0000_100%)]">
<SliderPrimitive.Range className="absolute h-full" />
</SliderPrimitive.Track>
<SliderPrimitive.Thumb className="block size-4 rounded-full border border-primary/50 bg-background transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50" />
</SliderPrimitive.Root>
);
}
type ColorPickerEyeDropperProps = React.ComponentProps<typeof Button>;
function ColorPickerEyeDropper(props: ColorPickerEyeDropperProps) {
const { children, size, ...buttonProps } = props;
const context = useColorPickerContext("ColorPickerEyeDropper");
const store = useColorPickerStoreContext("ColorPickerEyeDropper");
const color = useColorPickerStore((state) => state.color);
const onEyeDropper = React.useCallback(async () => {
if (!window.EyeDropper) return;
try {
const eyeDropper = new window.EyeDropper();
const result = await eyeDropper.open();
if (result.sRGBHex) {
const currentAlpha = color?.a ?? 1;
const newColor = hexToRgb(result.sRGBHex, currentAlpha);
store.setColor(newColor);
}
} catch (error) {
console.warn("EyeDropper error:", error);
}
}, [color, store]);
const hasEyeDropper = typeof window !== "undefined" && !!window.EyeDropper;
if (!hasEyeDropper) return null;
const buttonSize = size ?? (children ? "default" : "icon");
return (
<Button
data-slot="color-picker-eye-dropper"
{...buttonProps}
variant="outline"
size={buttonSize}
onClick={onEyeDropper}
disabled={context.disabled}
>
{children ?? <EyedropperIcon />}
</Button>
);
}
interface ColorPickerAlphaSliderProps extends React.ComponentProps<typeof SliderPrimitive.Root> {}
function ColorPickerAlphaSlider(props: ColorPickerAlphaSliderProps) {
const { className, ...sliderProps } = props;
const context = useColorPickerContext("ColorPickerAlphaSlider");
const store = useColorPickerStoreContext("ColorPickerAlphaSlider");
const color = useColorPickerStore((state) => state.color);
const onValueChange = React.useCallback(
(values: number[]) => {
const alpha = (values[0] ?? 0) / 100;
const newColor = { ...color, a: alpha };
store.setColor(newColor);
},
[color, store],
);
const gradientColor = `rgb(${color?.r ?? 0}, ${color?.g ?? 0}, ${color?.b ?? 0})`;
return (
<SliderPrimitive.Root
data-slot="color-picker-alpha-slider"
{...sliderProps}
max={100}
step={1}
disabled={context.disabled}
className={cn("relative flex w-full touch-none select-none items-center", className)}
value={[Math.round((color?.a ?? 1) * 100)]}
onValueChange={onValueChange}
>
<SliderPrimitive.Track
className="relative h-3 w-full grow overflow-hidden rounded-full"
style={{
background:
"linear-gradient(45deg, #ccc 25%, transparent 25%), linear-gradient(-45deg, #ccc 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ccc 75%), linear-gradient(-45deg, transparent 75%, #ccc 75%)",
backgroundSize: "8px 8px",
backgroundPosition: "0 0, 0 4px, 4px -4px, -4px 0px",
}}
>
<div
className="absolute inset-0 rounded-full"
style={{
background: `linear-gradient(to right, transparent, ${gradientColor})`,
}}
/>
<SliderPrimitive.Range className="absolute h-full" />
</SliderPrimitive.Track>
<SliderPrimitive.Thumb className="block size-4 rounded-full border border-primary/50 bg-background transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50" />
</SliderPrimitive.Root>
);
}
interface ColorPickerInputProps extends Omit<React.ComponentProps<typeof Input>, "value" | "onChange"> {
withoutAlpha?: boolean;
}
function ColorPickerInput(props: ColorPickerInputProps) {
const context = useColorPickerContext("ColorPickerInput");
const store = useColorPickerStoreContext("ColorPickerInput");
const color = useColorPickerStore((state) => state.color);
const onChannelChange = React.useCallback(
(channel: "r" | "g" | "b" | "a", max: number, isAlpha = false) =>
(event: React.ChangeEvent<HTMLInputElement>) => {
const value = Number.parseInt(event.target.value, 10);
if (!Number.isNaN(value) && value >= 0 && value <= max) {
const newValue = isAlpha ? value / 100 : value;
const newColor = { ...color, [channel]: newValue };
store.setColor(newColor);
}
},
[color, store],
);
const rValue = Math.round(color?.r ?? 0);
const gValue = Math.round(color?.g ?? 0);
const bValue = Math.round(color?.b ?? 0);
const alphaValue = Math.round((color?.a ?? 1) * 100);
return (
<div data-slot="color-picker-input-wrapper" className="flex items-center gap-2">
<span>R</span>
<Input
type="number"
aria-label="Red color component (0-255)"
placeholder="0"
inputMode="numeric"
pattern="[0-9]*"
min="0"
max="255"
className="flex-1 shrink-0"
value={rValue}
onChange={onChannelChange("r", 255)}
disabled={context.disabled}
/>
<span>G</span>
<Input
type="number"
aria-label="Green color component (0-255)"
placeholder="0"
inputMode="numeric"
pattern="[0-9]*"
min="0"
max="255"
className="flex-1 shrink-0"
value={gValue}
onChange={onChannelChange("g", 255)}
disabled={context.disabled}
/>
<span>B</span>
<Input
type="number"
aria-label="Blue color component (0-255)"
placeholder="0"
inputMode="numeric"
pattern="[0-9]*"
min="0"
max="255"
className="flex-1 shrink-0"
value={bValue}
onChange={onChannelChange("b", 255)}
disabled={context.disabled}
/>
{!props.withoutAlpha && (
<>
<span>A</span>
<Input
type="number"
aria-label="Alpha transparency percentage"
placeholder="100"
inputMode="numeric"
pattern="[0-9]*"
min="0"
max="100"
className="flex-1 shrink-0"
value={alphaValue}
onChange={onChannelChange("a", 100, true)}
disabled={context.disabled}
/>
</>
)}
</div>
);
}
type ColorPickerProps = Omit<React.ComponentProps<typeof ColorPickerRoot>, never>;
const ColorPicker = (props: ColorPickerProps) => {
return (
<ColorPickerRoot {...props}>
<ColorPickerTrigger asChild>
<ColorPickerSwatch />
</ColorPickerTrigger>
<ColorPickerContent>
<ColorPickerArea />
<div className="flex items-center gap-4">
<ColorPickerEyeDropper />
<div className="flex flex-1 flex-col gap-4">
<ColorPickerHueSlider />
<ColorPickerAlphaSlider />
</div>
</div>
<ColorPickerInput />
</ColorPickerContent>
</ColorPickerRoot>
);
onChange?: (value: string) => void;
};
export {
ColorPicker,
//
ColorPickerRoot,
ColorPickerTrigger,
ColorPickerContent,
ColorPickerArea,
ColorPickerHueSlider,
ColorPickerAlphaSlider,
ColorPickerSwatch,
ColorPickerEyeDropper,
ColorPickerInput,
//
ColorPickerRoot as Root,
ColorPickerTrigger as Trigger,
ColorPickerContent as Content,
ColorPickerArea as Area,
ColorPickerHueSlider as HueSlider,
ColorPickerAlphaSlider as AlphaSlider,
ColorPickerSwatch as Swatch,
ColorPickerEyeDropper as EyeDropper,
ColorPickerInput as Input,
};
export function ColorPicker({ value, defaultValue, onChange }: ColorPickerProps) {
const [currentValue, setCurrentValue] = useControlledState<string>({
value,
defaultValue,
onChange,
});
const color = useMemo(() => rgbaStringToHsva(currentValue), [currentValue]);
function onColorChange(color: ColorResult) {
const rgbaString = hsvaToRgbaString(color.hsva);
setCurrentValue(rgbaString);
}
return (
<Popover>
<PopoverTrigger>
<div
className="size-6 shrink-0 cursor-pointer rounded-full border border-foreground transition-opacity hover:opacity-60"
style={{ backgroundColor: currentValue }}
/>
</PopoverTrigger>
<PopoverContent className="max-w-fit rounded-xl p-2">
<ReactColorColorful color={color} onChange={onColorChange} />
</PopoverContent>
</Popover>
);
}
+13 -9
View File
@@ -14,14 +14,18 @@ export function GithubStarsButton() {
: t`Star us on GitHub (opens in new tab)`;
return (
<Button asChild variant="outline">
<a target="_blank" href="https://github.com/amruthpillai/reactive-resume" aria-label={ariaLabel} rel="noopener">
<GithubLogoIcon aria-hidden="true" />
{starCount != null ? (
<CountUp to={starCount} duration={0.5} separator="," className="font-bold" aria-hidden="true" />
) : null}
<StarIcon aria-hidden="true" />
</a>
</Button>
<Button
variant="outline"
nativeButton={false}
render={
<a target="_blank" href="https://github.com/amruthpillai/reactive-resume" aria-label={ariaLabel} rel="noopener">
<GithubLogoIcon aria-hidden="true" />
{starCount != null ? (
<CountUp to={starCount} duration={0.5} separator="," className="font-bold" aria-hidden="true" />
) : null}
<StarIcon aria-hidden="true" />
</a>
}
/>
);
}
+7 -5
View File
@@ -91,11 +91,13 @@ export function IconPicker({ value, onChange, popoverProps, ...props }: IconPick
return (
<Popover {...popoverProps}>
<PopoverTrigger asChild>
<Button size="icon" variant="outline" {...props}>
<i className={cn("ph size-4 text-base", `ph-${value}`)} />
</Button>
</PopoverTrigger>
<PopoverTrigger
render={
<Button size="icon" variant="outline" {...props}>
<i className={cn("ph size-4 text-base", `ph-${value}`)} />
</Button>
}
/>
<PopoverContent align="start" className="h-[326px] w-[290px] gap-0 p-0">
<IconSearchInput value={search} onChange={setSearch} />
+56 -49
View File
@@ -50,7 +50,6 @@ import {
useEditorState,
} from "@tiptap/react";
import StarterKit from "@tiptap/starter-kit";
import { VisuallyHidden } from "radix-ui";
import { useMemo, useState } from "react";
import { toast } from "sonner";
import { match } from "ts-pattern";
@@ -170,10 +169,10 @@ export function RichInput({ value, onChange, style, className, editorClassName,
<Dialog open={isFullscreen} onOpenChange={setIsFullscreen}>
<DialogContent className="flex h-[95svh] max-h-none! w-[95svw] max-w-none! flex-col p-4 sm:max-w-none! 2xl:max-w-none!">
<VisuallyHidden.Root>
<div className="sr-only">
<DialogTitle>Fullscreen Editor</DialogTitle>
<DialogDescription>Edit content in fullscreen mode</DialogDescription>
</VisuallyHidden.Root>
</div>
{editorElement}
</DialogContent>
</Dialog>
@@ -420,21 +419,24 @@ function EditorToolbar({ editor, isFullscreen }: { editor: Editor; isFullscreen:
<div className="mx-1 h-5 w-px bg-border" />
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button size={isFullscreen ? "lg" : "sm"} tabIndex={-1} variant="ghost" className="rounded-none">
{match(state)
.with({ isParagraph: true }, () => <ParagraphIcon className="size-3.5" />)
.with({ isHeading1: true }, () => <TextHOneIcon className="size-3.5" />)
.with({ isHeading2: true }, () => <TextHTwoIcon className="size-3.5" />)
.with({ isHeading3: true }, () => <TextHThreeIcon className="size-3.5" />)
.with({ isHeading4: true }, () => <TextHFourIcon className="size-3.5" />)
.with({ isHeading5: true }, () => <TextHFiveIcon className="size-3.5" />)
.with({ isHeading6: true }, () => <TextHSixIcon className="size-3.5" />)
.otherwise(() => (
<ParagraphIcon className="size-3.5" />
))}
</Button>
</DropdownMenuTrigger>
<DropdownMenuTrigger
render={
<Button size={isFullscreen ? "lg" : "sm"} tabIndex={-1} variant="ghost" className="rounded-none">
{match(state)
.with({ isParagraph: true }, () => <ParagraphIcon className="size-3.5" />)
.with({ isHeading1: true }, () => <TextHOneIcon className="size-3.5" />)
.with({ isHeading2: true }, () => <TextHTwoIcon className="size-3.5" />)
.with({ isHeading3: true }, () => <TextHThreeIcon className="size-3.5" />)
.with({ isHeading4: true }, () => <TextHFourIcon className="size-3.5" />)
.with({ isHeading5: true }, () => <TextHFiveIcon className="size-3.5" />)
.with({ isHeading6: true }, () => <TextHSixIcon className="size-3.5" />)
.otherwise(() => (
<ParagraphIcon className="size-3.5" />
))}
</Button>
}
/>
<DropdownMenuContent>
<DropdownMenuCheckboxItem
disabled={!state.canParagraph}
@@ -490,18 +492,21 @@ function EditorToolbar({ editor, isFullscreen }: { editor: Editor; isFullscreen:
</DropdownMenu>
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button size={isFullscreen ? "lg" : "sm"} tabIndex={-1} variant="ghost" className="rounded-none">
{match(state)
.with({ isLeftAlign: true }, () => <TextAlignLeftIcon className="size-3.5" />)
.with({ isCenterAlign: true }, () => <TextAlignCenterIcon className="size-3.5" />)
.with({ isRightAlign: true }, () => <TextAlignRightIcon className="size-3.5" />)
.with({ isJustifyAlign: true }, () => <TextAlignJustifyIcon className="size-3.5" />)
.otherwise(() => (
<TextAlignLeftIcon className="size-3.5" />
))}
</Button>
</DropdownMenuTrigger>
<DropdownMenuTrigger
render={
<Button size={isFullscreen ? "lg" : "sm"} tabIndex={-1} variant="ghost" className="rounded-none">
{match(state)
.with({ isLeftAlign: true }, () => <TextAlignLeftIcon className="size-3.5" />)
.with({ isCenterAlign: true }, () => <TextAlignCenterIcon className="size-3.5" />)
.with({ isRightAlign: true }, () => <TextAlignRightIcon className="size-3.5" />)
.with({ isJustifyAlign: true }, () => <TextAlignJustifyIcon className="size-3.5" />)
.otherwise(() => (
<TextAlignLeftIcon className="size-3.5" />
))}
</Button>
}
/>
<DropdownMenuContent>
<DropdownMenuCheckboxItem
disabled={!state.canLeftAlign}
@@ -631,52 +636,54 @@ function EditorToolbar({ editor, isFullscreen }: { editor: Editor; isFullscreen:
</Toggle>
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button
size={isFullscreen ? "lg" : "sm"}
tabIndex={-1}
variant="ghost"
className="rounded-none"
title={t`Table`}
>
<TableIcon className="size-3.5" />
</Button>
</DropdownMenuTrigger>
<DropdownMenuTrigger
render={
<Button
size={isFullscreen ? "lg" : "sm"}
tabIndex={-1}
variant="ghost"
className="rounded-none"
title={t`Table`}
>
<TableIcon className="size-3.5" />
</Button>
}
/>
<DropdownMenuContent>
<DropdownMenuItem disabled={!state.canInsertTable} onSelect={state.insertTable}>
<DropdownMenuItem disabled={!state.canInsertTable} onClick={state.insertTable}>
<PlusIcon />
<Trans>Insert Table</Trans>
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem disabled={!state.canAddColumnBefore} onSelect={state.addColumnBefore}>
<DropdownMenuItem disabled={!state.canAddColumnBefore} onClick={state.addColumnBefore}>
<ColumnsPlusLeftIcon />
<Trans>Add Column Before</Trans>
</DropdownMenuItem>
<DropdownMenuItem disabled={!state.canAddColumnAfter} onSelect={state.addColumnAfter}>
<DropdownMenuItem disabled={!state.canAddColumnAfter} onClick={state.addColumnAfter}>
<ColumnsPlusRightIcon />
<Trans>Add Column After</Trans>
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem disabled={!state.canAddRowBefore} onSelect={state.addRowBefore}>
<DropdownMenuItem disabled={!state.canAddRowBefore} onClick={state.addRowBefore}>
<RowsPlusTopIcon />
<Trans>Add Row Before</Trans>
</DropdownMenuItem>
<DropdownMenuItem disabled={!state.canAddRowAfter} onSelect={state.addRowAfter}>
<DropdownMenuItem disabled={!state.canAddRowAfter} onClick={state.addRowAfter}>
<RowsPlusBottomIcon />
<Trans>Add Row After</Trans>
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem disabled={!state.canDeleteColumn} onSelect={state.deleteColumn}>
<DropdownMenuItem disabled={!state.canDeleteColumn} onClick={state.deleteColumn}>
<TrashSimpleIcon />
<Trans>Delete Column</Trans>
</DropdownMenuItem>
<DropdownMenuItem disabled={!state.canDeleteRow} onSelect={state.deleteRow}>
<DropdownMenuItem disabled={!state.canDeleteRow} onClick={state.deleteRow}>
<TrashSimpleIcon />
<Trans>Delete Row</Trans>
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem variant="destructive" disabled={!state.canDeleteTable} onSelect={state.deleteTable}>
<DropdownMenuItem variant="destructive" disabled={!state.canDeleteTable} onClick={state.deleteTable}>
<TrashSimpleIcon />
<Trans>Delete Table</Trans>
</DropdownMenuItem>
+7 -5
View File
@@ -63,11 +63,13 @@ export function URLInput({ value, onChange, hideLabelButton, ...props }: Props)
{!hideLabelButton && (
<InputGroupAddon align="inline-end">
<Popover>
<PopoverTrigger asChild>
<InputGroupButton size="icon-sm" title={t`Add a label to the URL`}>
<TagIcon />
</InputGroupButton>
</PopoverTrigger>
<PopoverTrigger
render={
<InputGroupButton size="icon-sm" title={t`Add a label to the URL`}>
<TagIcon />
</InputGroupButton>
}
/>
<PopoverContent className="pt-3">
<div className="grid gap-2" onClick={(e) => e.stopPropagation()}>
@@ -74,6 +74,7 @@ export function VisuallyHiddenInput<T = InputValue>(props: VisuallyHiddenInputPr
});
resizeObserver.observe(control, { box: "border-box" });
return () => {
resizeObserver.disconnect();
};
+1 -1
View File
@@ -18,7 +18,7 @@ export function NotFoundScreen({ routeId }: NotFoundRouteProps) {
<AlertDescription>{routeId}</AlertDescription>
</Alert>
<Button asChild>
<Button>
<Link to="..">
<ArrowLeftIcon />
<Trans>Go Back</Trans>
+2 -2
View File
@@ -3,11 +3,11 @@ import { useMemo } from "react";
import { match } from "ts-pattern";
import type z from "zod";
import { levelDesignSchema } from "@/schema/resume/data";
import { Combobox, type ComboboxProps } from "../ui/combobox";
import { Combobox, type SingleComboboxProps } from "../ui/combobox";
type LevelType = z.infer<typeof levelDesignSchema>["type"];
type LevelTypeComboboxProps = Omit<ComboboxProps, "options">;
type LevelTypeComboboxProps = Omit<SingleComboboxProps, "options">;
export const getLevelTypeName = (type: LevelType) => {
return match(type)
+11 -3
View File
@@ -1,9 +1,9 @@
import { i18n } from "@lingui/core";
import { useLingui } from "@lingui/react";
import { isLocale, type Locale, loadLocale, localeMap, setLocaleServerFn } from "@/utils/locale";
import { Combobox, type ComboboxProps } from "../ui/combobox";
import { Combobox, type SingleComboboxProps } from "../ui/combobox";
type Props = Omit<ComboboxProps, "options" | "value" | "onValueChange">;
type Props = Omit<SingleComboboxProps, "options" | "value" | "onValueChange">;
export const getLocaleOptions = () => {
return Object.entries(localeMap).map(([value, label]) => ({
@@ -22,5 +22,13 @@ export function LocaleCombobox(props: Props) {
window.location.reload();
};
return <Combobox options={getLocaleOptions()} defaultValue={i18n.locale} onValueChange={onLocaleChange} {...props} />;
return (
<Combobox
showClear={false}
defaultValue={i18n.locale}
options={getLocaleOptions()}
onValueChange={onLocaleChange}
{...props}
/>
);
}
-145
View File
@@ -1,145 +0,0 @@
import { AnimatePresence, type HTMLMotionProps, motion } from "motion/react";
import { Accordion as AccordionPrimitive } from "radix-ui";
import * as React from "react";
import { useControlledState } from "@/hooks/use-controlled-state";
import { getStrictContext } from "@/utils/get-strict-context";
type AccordionContextType = {
value: string | string[] | undefined;
setValue: (value: string | string[] | undefined) => void;
};
type AccordionItemContextType = {
value: string;
isOpen: boolean;
setIsOpen: (open: boolean) => void;
};
const [AccordionProvider, useAccordion] = getStrictContext<AccordionContextType>("AccordionContext");
const [AccordionItemProvider, useAccordionItem] = getStrictContext<AccordionItemContextType>("AccordionItemContext");
type AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root>;
function Accordion(props: AccordionProps) {
const [value, setValue] = useControlledState<string | string[] | undefined>({
value: props?.value,
defaultValue: props?.defaultValue,
onChange: props?.onValueChange as (value: string | string[] | undefined) => void,
});
return (
<AccordionProvider value={{ value, setValue }}>
<AccordionPrimitive.Root data-slot="accordion" {...props} onValueChange={setValue} />
</AccordionProvider>
);
}
type AccordionItemProps = React.ComponentProps<typeof AccordionPrimitive.Item>;
function AccordionItem(props: AccordionItemProps) {
const { value } = useAccordion();
const [isOpen, setIsOpen] = React.useState(value?.includes(props?.value) ?? false);
React.useEffect(() => {
setIsOpen(value?.includes(props?.value) ?? false);
}, [value, props?.value]);
return (
<AccordionItemProvider value={{ isOpen, setIsOpen, value: props.value }}>
<AccordionPrimitive.Item data-slot="accordion-item" {...props} />
</AccordionItemProvider>
);
}
type AccordionHeaderProps = React.ComponentProps<typeof AccordionPrimitive.Header>;
function AccordionHeader(props: AccordionHeaderProps) {
return <AccordionPrimitive.Header data-slot="accordion-header" {...props} />;
}
type AccordionTriggerProps = React.ComponentProps<typeof AccordionPrimitive.Trigger>;
function AccordionTrigger(props: AccordionTriggerProps) {
return <AccordionPrimitive.Trigger data-slot="accordion-trigger" {...props} />;
}
type AccordionContentProps = Omit<React.ComponentProps<typeof AccordionPrimitive.Content>, "asChild" | "forceMount"> &
HTMLMotionProps<"div"> & {
keepRendered?: boolean;
};
function AccordionContent({
keepRendered = false,
transition = { duration: 0.35, ease: "easeInOut" },
...props
}: AccordionContentProps) {
const { isOpen } = useAccordionItem();
return (
<AnimatePresence>
{keepRendered ? (
<AccordionPrimitive.Content asChild forceMount>
<motion.div
key="accordion-content"
data-slot="accordion-content"
initial={{ height: 0, opacity: 0, "--mask-stop": "0%", y: 20 }}
animate={
isOpen
? { height: "auto", opacity: 1, "--mask-stop": "100%", y: 0 }
: { height: 0, opacity: 0, "--mask-stop": "0%", y: 20 }
}
transition={transition}
style={{
maskImage: "linear-gradient(black var(--mask-stop), transparent var(--mask-stop))",
WebkitMaskImage: "linear-gradient(black var(--mask-stop), transparent var(--mask-stop))",
overflow: "hidden",
}}
{...props}
/>
</AccordionPrimitive.Content>
) : (
isOpen && (
<AccordionPrimitive.Content asChild forceMount>
<motion.div
key="accordion-content"
data-slot="accordion-content"
initial={{ height: 0, opacity: 0, "--mask-stop": "0%", y: 20 }}
animate={{
height: "auto",
opacity: 1,
"--mask-stop": "100%",
y: 0,
}}
exit={{ height: 0, opacity: 0, "--mask-stop": "0%", y: 20 }}
transition={transition}
style={{
maskImage: "linear-gradient(black var(--mask-stop), transparent var(--mask-stop))",
WebkitMaskImage: "linear-gradient(black var(--mask-stop), transparent var(--mask-stop))",
overflow: "hidden",
}}
{...props}
/>
</AccordionPrimitive.Content>
)
)}
</AnimatePresence>
);
}
export {
Accordion,
AccordionItem,
AccordionHeader,
AccordionTrigger,
AccordionContent,
useAccordion,
useAccordionItem,
type AccordionProps,
type AccordionItemProps,
type AccordionHeaderProps,
type AccordionTriggerProps,
type AccordionContentProps,
type AccordionContextType,
type AccordionItemContextType,
};
-186
View File
@@ -1,186 +0,0 @@
import { AnimatePresence, type HTMLMotionProps, motion } from "motion/react";
import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
import type * as React from "react";
import { useControlledState } from "@/hooks/use-controlled-state";
import { getStrictContext } from "@/utils/get-strict-context";
type AlertDialogContextType = {
isOpen: boolean;
setIsOpen: AlertDialogProps["onOpenChange"];
};
const [AlertDialogProvider, useAlertDialog] = getStrictContext<AlertDialogContextType>("AlertDialogContext");
type AlertDialogProps = React.ComponentProps<typeof AlertDialogPrimitive.Root>;
function AlertDialog(props: AlertDialogProps) {
const [isOpen, setIsOpen] = useControlledState({
value: props?.open,
defaultValue: props?.defaultOpen,
onChange: props?.onOpenChange,
});
return (
<AlertDialogProvider value={{ isOpen, setIsOpen }}>
<AlertDialogPrimitive.Root data-slot="alert-dialog" {...props} onOpenChange={setIsOpen} />
</AlertDialogProvider>
);
}
type AlertDialogTriggerProps = React.ComponentProps<typeof AlertDialogPrimitive.Trigger>;
function AlertDialogTrigger(props: AlertDialogTriggerProps) {
return <AlertDialogPrimitive.Trigger data-slot="alert-dialog-trigger" {...props} />;
}
type AlertDialogPortalProps = Omit<React.ComponentProps<typeof AlertDialogPrimitive.Portal>, "forceMount">;
function AlertDialogPortal(props: AlertDialogPortalProps) {
const { isOpen } = useAlertDialog();
return (
<AnimatePresence>
{isOpen && <AlertDialogPrimitive.Portal data-slot="alert-dialog-portal" forceMount {...props} />}
</AnimatePresence>
);
}
type AlertDialogOverlayProps = Omit<
React.ComponentProps<typeof AlertDialogPrimitive.Overlay>,
"forceMount" | "asChild"
> &
HTMLMotionProps<"div">;
function AlertDialogOverlay({ transition = { duration: 0.2, ease: "easeInOut" }, ...props }: AlertDialogOverlayProps) {
return (
<AlertDialogPrimitive.Overlay data-slot="alert-dialog-overlay" asChild forceMount>
<motion.div
key="alert-dialog-overlay"
initial={{ opacity: 0, filter: "blur(4px)" }}
animate={{ opacity: 1, filter: "blur(0px)" }}
exit={{ opacity: 0, filter: "blur(4px)" }}
transition={transition}
{...props}
/>
</AlertDialogPrimitive.Overlay>
);
}
type AlertDialogFlipDirection = "top" | "bottom" | "left" | "right";
type AlertDialogContentProps = Omit<
React.ComponentProps<typeof AlertDialogPrimitive.Content>,
"forceMount" | "asChild"
> &
HTMLMotionProps<"div"> & {
from?: AlertDialogFlipDirection;
};
function AlertDialogContent({
from = "top",
onOpenAutoFocus,
onCloseAutoFocus,
onEscapeKeyDown,
transition = { type: "spring", stiffness: 250, damping: 25 },
...props
}: AlertDialogContentProps) {
const initialRotation = from === "bottom" || from === "left" ? "20deg" : "-20deg";
const isVertical = from === "top" || from === "bottom";
const rotateAxis = isVertical ? "rotateX" : "rotateY";
return (
<AlertDialogPrimitive.Content
asChild
forceMount
onOpenAutoFocus={onOpenAutoFocus}
onCloseAutoFocus={onCloseAutoFocus}
onEscapeKeyDown={onEscapeKeyDown}
>
<motion.div
key="alert-dialog-content"
data-slot="alert-dialog-content"
transition={transition}
initial={{
opacity: 0,
filter: "blur(4px)",
transform: `perspective(500px) ${rotateAxis}(${initialRotation}) scale(0.8)`,
}}
animate={{
opacity: 1,
filter: "blur(0px)",
transform: `perspective(500px) ${rotateAxis}(0deg) scale(1)`,
}}
exit={{
opacity: 0,
filter: "blur(4px)",
transform: `perspective(500px) ${rotateAxis}(${initialRotation}) scale(0.8)`,
}}
{...props}
/>
</AlertDialogPrimitive.Content>
);
}
type AlertDialogCancelProps = React.ComponentProps<typeof AlertDialogPrimitive.Cancel>;
function AlertDialogCancel(props: AlertDialogCancelProps) {
return <AlertDialogPrimitive.Cancel data-slot="alert-dialog-cancel" {...props} />;
}
type AlertDialogActionProps = React.ComponentProps<typeof AlertDialogPrimitive.Action>;
function AlertDialogAction(props: AlertDialogActionProps) {
return <AlertDialogPrimitive.Action data-slot="alert-dialog-action" {...props} />;
}
type AlertDialogHeaderProps = React.ComponentProps<"div">;
function AlertDialogHeader(props: AlertDialogHeaderProps) {
return <div data-slot="alert-dialog-header" {...props} />;
}
type AlertDialogFooterProps = React.ComponentProps<"div">;
function AlertDialogFooter(props: AlertDialogFooterProps) {
return <div data-slot="alert-dialog-footer" {...props} />;
}
type AlertDialogTitleProps = React.ComponentProps<typeof AlertDialogPrimitive.Title>;
function AlertDialogTitle(props: AlertDialogTitleProps) {
return <AlertDialogPrimitive.Title data-slot="alert-dialog-title" {...props} />;
}
type AlertDialogDescriptionProps = React.ComponentProps<typeof AlertDialogPrimitive.Description>;
function AlertDialogDescription(props: AlertDialogDescriptionProps) {
return <AlertDialogPrimitive.Description data-slot="alert-dialog-description" {...props} />;
}
export {
AlertDialog,
AlertDialogPortal,
AlertDialogOverlay,
AlertDialogCancel,
AlertDialogAction,
AlertDialogTrigger,
AlertDialogContent,
AlertDialogHeader,
AlertDialogFooter,
AlertDialogTitle,
AlertDialogDescription,
useAlertDialog,
type AlertDialogProps,
type AlertDialogTriggerProps,
type AlertDialogPortalProps,
type AlertDialogCancelProps,
type AlertDialogActionProps,
type AlertDialogOverlayProps,
type AlertDialogContentProps,
type AlertDialogHeaderProps,
type AlertDialogFooterProps,
type AlertDialogTitleProps,
type AlertDialogDescriptionProps,
type AlertDialogContextType,
type AlertDialogFlipDirection,
};
-19
View File
@@ -1,19 +0,0 @@
import { type HTMLMotionProps, motion } from "motion/react";
import { Slot, type WithAsChild } from "@/components/primitives/slot";
type ButtonProps = WithAsChild<
Omit<HTMLMotionProps<"button">, "children"> & {
hoverScale?: number;
tapScale?: number;
// biome-ignore lint/suspicious/noExplicitAny: unknown type
children?: any;
}
>;
function Button({ hoverScale = 1.0, tapScale = 0.95, asChild = false, ...props }: ButtonProps) {
const Component = asChild ? Slot : motion.button;
return <Component whileTap={{ scale: tapScale }} whileHover={{ scale: hoverScale }} {...props} />;
}
export { Button, type ButtonProps };
-176
View File
@@ -1,176 +0,0 @@
import { AnimatePresence, type HTMLMotionProps, motion } from "motion/react";
import { Dialog as DialogPrimitive } from "radix-ui";
import type * as React from "react";
import { useControlledState } from "@/hooks/use-controlled-state";
import { getStrictContext } from "@/utils/get-strict-context";
type DialogContextType = {
isOpen: boolean;
setIsOpen: DialogProps["onOpenChange"];
};
const [DialogProvider, useDialog] = getStrictContext<DialogContextType>("DialogContext");
type DialogProps = React.ComponentProps<typeof DialogPrimitive.Root>;
function Dialog(props: DialogProps) {
const [isOpen, setIsOpen] = useControlledState({
value: props?.open,
defaultValue: props?.defaultOpen,
onChange: props?.onOpenChange,
});
return (
<DialogProvider value={{ isOpen, setIsOpen }}>
<DialogPrimitive.Root data-slot="dialog" {...props} onOpenChange={setIsOpen} />
</DialogProvider>
);
}
type DialogTriggerProps = React.ComponentProps<typeof DialogPrimitive.Trigger>;
function DialogTrigger(props: DialogTriggerProps) {
return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />;
}
type DialogPortalProps = Omit<React.ComponentProps<typeof DialogPrimitive.Portal>, "forceMount">;
function DialogPortal(props: DialogPortalProps) {
const { isOpen } = useDialog();
return (
<AnimatePresence>
{isOpen && <DialogPrimitive.Portal data-slot="dialog-portal" forceMount {...props} />}
</AnimatePresence>
);
}
type DialogOverlayProps = Omit<React.ComponentProps<typeof DialogPrimitive.Overlay>, "forceMount" | "asChild"> &
HTMLMotionProps<"div">;
function DialogOverlay({ transition = { duration: 0.2, ease: "easeInOut" }, ...props }: DialogOverlayProps) {
return (
<DialogPrimitive.Overlay data-slot="dialog-overlay" asChild forceMount>
<motion.div
key="dialog-overlay"
initial={{ opacity: 0, filter: "blur(4px)" }}
animate={{ opacity: 1, filter: "blur(0px)" }}
exit={{ opacity: 0, filter: "blur(4px)" }}
transition={transition}
{...props}
/>
</DialogPrimitive.Overlay>
);
}
type DialogFlipDirection = "top" | "bottom" | "left" | "right";
type DialogContentProps = Omit<React.ComponentProps<typeof DialogPrimitive.Content>, "forceMount" | "asChild"> &
HTMLMotionProps<"div"> & {
from?: DialogFlipDirection;
};
function DialogContent({
from = "top",
onOpenAutoFocus,
onCloseAutoFocus,
onEscapeKeyDown,
onPointerDownOutside,
onInteractOutside,
transition = { type: "spring", stiffness: 250, damping: 25 },
...props
}: DialogContentProps) {
const initialRotation = from === "bottom" || from === "left" ? "20deg" : "-20deg";
const isVertical = from === "top" || from === "bottom";
const rotateAxis = isVertical ? "rotateX" : "rotateY";
return (
<DialogPrimitive.Content
asChild
forceMount
onOpenAutoFocus={onOpenAutoFocus}
onCloseAutoFocus={onCloseAutoFocus}
onEscapeKeyDown={onEscapeKeyDown}
onPointerDownOutside={onPointerDownOutside}
onInteractOutside={onInteractOutside}
>
<motion.div
key="dialog-content"
data-slot="dialog-content"
transition={transition}
initial={{
opacity: 0,
filter: "blur(4px)",
transform: `perspective(500px) ${rotateAxis}(${initialRotation}) scale(0.8)`,
}}
animate={{
opacity: 1,
filter: "blur(0px)",
transform: `perspective(500px) ${rotateAxis}(0deg) scale(1)`,
}}
exit={{
opacity: 0,
filter: "blur(4px)",
transform: `perspective(500px) ${rotateAxis}(${initialRotation}) scale(0.8)`,
}}
{...props}
/>
</DialogPrimitive.Content>
);
}
type DialogCloseProps = React.ComponentProps<typeof DialogPrimitive.Close>;
function DialogClose(props: DialogCloseProps) {
return <DialogPrimitive.Close data-slot="dialog-close" {...props} />;
}
type DialogHeaderProps = React.ComponentProps<"div">;
function DialogHeader(props: DialogHeaderProps) {
return <div data-slot="dialog-header" {...props} />;
}
type DialogFooterProps = React.ComponentProps<"div">;
function DialogFooter(props: DialogFooterProps) {
return <div data-slot="dialog-footer" {...props} />;
}
type DialogTitleProps = React.ComponentProps<typeof DialogPrimitive.Title>;
function DialogTitle(props: DialogTitleProps) {
return <DialogPrimitive.Title data-slot="dialog-title" {...props} />;
}
type DialogDescriptionProps = React.ComponentProps<typeof DialogPrimitive.Description>;
function DialogDescription(props: DialogDescriptionProps) {
return <DialogPrimitive.Description data-slot="dialog-description" {...props} />;
}
export {
Dialog,
DialogPortal,
DialogOverlay,
DialogClose,
DialogTrigger,
DialogContent,
DialogHeader,
DialogFooter,
DialogTitle,
DialogDescription,
useDialog,
type DialogProps,
type DialogTriggerProps,
type DialogPortalProps,
type DialogCloseProps,
type DialogOverlayProps,
type DialogContentProps,
type DialogHeaderProps,
type DialogFooterProps,
type DialogTitleProps,
type DialogDescriptionProps,
type DialogContextType,
type DialogFlipDirection,
};
-348
View File
@@ -1,348 +0,0 @@
import { AnimatePresence, type HTMLMotionProps, motion } from "motion/react";
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
import type * as React from "react";
import { useControlledState } from "@/hooks/use-controlled-state";
import { getStrictContext } from "@/utils/get-strict-context";
type DropdownMenuContextType = {
isOpen: boolean;
setIsOpen: (o: boolean) => void;
};
type DropdownMenuSubContextType = {
isOpen: boolean;
setIsOpen: (o: boolean) => void;
};
const [DropdownMenuProvider, useDropdownMenu] = getStrictContext<DropdownMenuContextType>("DropdownMenuContext");
const [DropdownMenuSubProvider, useDropdownMenuSub] =
getStrictContext<DropdownMenuSubContextType>("DropdownMenuSubContext");
type DropdownMenuProps = React.ComponentProps<typeof DropdownMenuPrimitive.Root>;
function DropdownMenu(props: DropdownMenuProps) {
const [isOpen, setIsOpen] = useControlledState({
value: props?.open,
defaultValue: props?.defaultOpen,
onChange: props?.onOpenChange,
});
return (
<DropdownMenuProvider value={{ isOpen, setIsOpen }}>
<DropdownMenuPrimitive.Root data-slot="dropdown-menu" {...props} onOpenChange={setIsOpen} />
</DropdownMenuProvider>
);
}
type DropdownMenuTriggerProps = React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>;
function DropdownMenuTrigger(props: DropdownMenuTriggerProps) {
return <DropdownMenuPrimitive.Trigger data-slot="dropdown-menu-trigger" {...props} />;
}
type DropdownMenuPortalProps = React.ComponentProps<typeof DropdownMenuPrimitive.Portal>;
function DropdownMenuPortal(props: DropdownMenuPortalProps) {
return <DropdownMenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} />;
}
type DropdownMenuGroupProps = React.ComponentProps<typeof DropdownMenuPrimitive.Group>;
function DropdownMenuGroup(props: DropdownMenuGroupProps) {
return <DropdownMenuPrimitive.Group data-slot="dropdown-menu-group" {...props} />;
}
type DropdownMenuSubProps = React.ComponentProps<typeof DropdownMenuPrimitive.Sub>;
function DropdownMenuSub(props: DropdownMenuSubProps) {
const [isOpen, setIsOpen] = useControlledState({
value: props?.open,
defaultValue: props?.defaultOpen,
onChange: props?.onOpenChange,
});
return (
<DropdownMenuSubProvider value={{ isOpen, setIsOpen }}>
<DropdownMenuPrimitive.Sub data-slot="dropdown-menu-sub" {...props} onOpenChange={setIsOpen} />
</DropdownMenuSubProvider>
);
}
type DropdownMenuRadioGroupProps = React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>;
function DropdownMenuRadioGroup(props: DropdownMenuRadioGroupProps) {
return <DropdownMenuPrimitive.RadioGroup data-slot="dropdown-menu-radio-group" {...props} />;
}
type DropdownMenuSubTriggerProps = Omit<React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger>, "asChild"> &
HTMLMotionProps<"div">;
function DropdownMenuSubTrigger({ disabled, textValue, ...props }: DropdownMenuSubTriggerProps) {
return (
<DropdownMenuPrimitive.SubTrigger disabled={disabled} textValue={textValue} asChild>
<motion.div data-slot="dropdown-menu-sub-trigger" data-disabled={disabled} {...props} />
</DropdownMenuPrimitive.SubTrigger>
);
}
type DropdownMenuSubContentProps = Omit<
React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>,
"forceMount" | "asChild"
> &
Omit<React.ComponentProps<typeof DropdownMenuPrimitive.Portal>, "forceMount"> &
HTMLMotionProps<"div">;
function DropdownMenuSubContent({
loop,
onEscapeKeyDown,
onPointerDownOutside,
onFocusOutside,
onInteractOutside,
sideOffset,
alignOffset,
avoidCollisions,
collisionBoundary,
collisionPadding,
arrowPadding,
sticky,
hideWhenDetached,
transition = { duration: 0.2 },
style,
container,
...props
}: DropdownMenuSubContentProps) {
const { isOpen } = useDropdownMenuSub();
return (
<AnimatePresence>
{isOpen && (
<DropdownMenuPortal forceMount container={container}>
<DropdownMenuPrimitive.SubContent
asChild
forceMount
loop={loop}
onEscapeKeyDown={onEscapeKeyDown}
onPointerDownOutside={onPointerDownOutside}
onFocusOutside={onFocusOutside}
onInteractOutside={onInteractOutside}
sideOffset={sideOffset}
alignOffset={alignOffset}
avoidCollisions={avoidCollisions}
collisionBoundary={collisionBoundary}
collisionPadding={collisionPadding}
arrowPadding={arrowPadding}
sticky={sticky}
hideWhenDetached={hideWhenDetached}
>
<motion.div
key="dropdown-menu-sub-content"
data-slot="dropdown-menu-sub-content"
initial={{ opacity: 0, scale: 0.95 }}
animate={{ opacity: 1, scale: 1 }}
exit={{ opacity: 0, scale: 0.95 }}
transition={transition}
style={{ willChange: "opacity, transform", ...style }}
{...props}
/>
</DropdownMenuPrimitive.SubContent>
</DropdownMenuPortal>
)}
</AnimatePresence>
);
}
type DropdownMenuContentProps = Omit<
React.ComponentProps<typeof DropdownMenuPrimitive.Content>,
"forceMount" | "asChild"
> &
Omit<React.ComponentProps<typeof DropdownMenuPrimitive.Portal>, "forceMount"> &
HTMLMotionProps<"div">;
function DropdownMenuContent({
loop,
onCloseAutoFocus,
onEscapeKeyDown,
onPointerDownOutside,
onFocusOutside,
onInteractOutside,
side,
sideOffset,
align,
alignOffset,
avoidCollisions,
collisionBoundary,
collisionPadding,
arrowPadding,
sticky,
hideWhenDetached,
transition = { duration: 0.2 },
style,
container,
...props
}: DropdownMenuContentProps) {
const { isOpen } = useDropdownMenu();
return (
<AnimatePresence>
{isOpen && (
<DropdownMenuPortal forceMount container={container}>
<DropdownMenuPrimitive.Content
asChild
loop={loop}
onCloseAutoFocus={onCloseAutoFocus}
onEscapeKeyDown={onEscapeKeyDown}
onPointerDownOutside={onPointerDownOutside}
onFocusOutside={onFocusOutside}
onInteractOutside={onInteractOutside}
side={side}
sideOffset={sideOffset}
align={align}
alignOffset={alignOffset}
avoidCollisions={avoidCollisions}
collisionBoundary={collisionBoundary}
collisionPadding={collisionPadding}
arrowPadding={arrowPadding}
sticky={sticky}
hideWhenDetached={hideWhenDetached}
>
<motion.div
key="dropdown-menu-content"
data-slot="dropdown-menu-content"
initial={{ opacity: 0, scale: 0.95 }}
animate={{ opacity: 1, scale: 1 }}
exit={{ opacity: 0, scale: 0.95 }}
transition={transition}
style={{ willChange: "opacity, transform", ...style }}
{...props}
/>
</DropdownMenuPrimitive.Content>
</DropdownMenuPortal>
)}
</AnimatePresence>
);
}
type DropdownMenuItemProps = Omit<React.ComponentProps<typeof DropdownMenuPrimitive.Item>, "asChild"> &
HTMLMotionProps<"div">;
function DropdownMenuItem({ disabled, onSelect, textValue, ...props }: DropdownMenuItemProps) {
return (
<DropdownMenuPrimitive.Item disabled={disabled} onSelect={onSelect} textValue={textValue} asChild>
<motion.div data-slot="dropdown-menu-item" data-disabled={disabled} {...props} />
</DropdownMenuPrimitive.Item>
);
}
type DropdownMenuCheckboxItemProps = Omit<React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>, "asChild"> &
HTMLMotionProps<"div">;
function DropdownMenuCheckboxItem({
checked,
onCheckedChange,
disabled,
onSelect,
textValue,
...props
}: DropdownMenuCheckboxItemProps) {
return (
<DropdownMenuPrimitive.CheckboxItem
checked={checked}
onCheckedChange={onCheckedChange}
disabled={disabled}
onSelect={onSelect}
textValue={textValue}
asChild
>
<motion.div data-slot="dropdown-menu-checkbox-item" data-disabled={disabled} {...props} />
</DropdownMenuPrimitive.CheckboxItem>
);
}
type DropdownMenuRadioItemProps = Omit<React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>, "asChild"> &
HTMLMotionProps<"div">;
function DropdownMenuRadioItem({ value, disabled, onSelect, textValue, ...props }: DropdownMenuRadioItemProps) {
return (
<DropdownMenuPrimitive.RadioItem
value={value}
disabled={disabled}
onSelect={onSelect}
textValue={textValue}
asChild
>
<motion.div data-slot="dropdown-menu-radio-item" data-disabled={disabled} {...props} />
</DropdownMenuPrimitive.RadioItem>
);
}
type DropdownMenuLabelProps = React.ComponentProps<typeof DropdownMenuPrimitive.Label>;
function DropdownMenuLabel(props: DropdownMenuLabelProps) {
return <DropdownMenuPrimitive.Label data-slot="dropdown-menu-label" {...props} />;
}
type DropdownMenuSeparatorProps = React.ComponentProps<typeof DropdownMenuPrimitive.Separator>;
function DropdownMenuSeparator(props: DropdownMenuSeparatorProps) {
return <DropdownMenuPrimitive.Separator data-slot="dropdown-menu-separator" {...props} />;
}
type DropdownMenuShortcutProps = React.ComponentProps<"span">;
function DropdownMenuShortcut(props: DropdownMenuShortcutProps) {
return <span data-slot="dropdown-menu-shortcut" {...props} />;
}
type DropdownMenuItemIndicatorProps = Omit<
React.ComponentProps<typeof DropdownMenuPrimitive.ItemIndicator>,
"asChild"
> &
HTMLMotionProps<"div">;
function DropdownMenuItemIndicator(props: DropdownMenuItemIndicatorProps) {
return (
<DropdownMenuPrimitive.ItemIndicator data-slot="dropdown-menu-item-indicator" asChild>
<motion.div {...props} />
</DropdownMenuPrimitive.ItemIndicator>
);
}
export {
DropdownMenu,
DropdownMenuTrigger,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuItemIndicator,
DropdownMenuCheckboxItem,
DropdownMenuRadioItem,
DropdownMenuLabel,
DropdownMenuSeparator,
DropdownMenuShortcut,
DropdownMenuGroup,
DropdownMenuPortal,
DropdownMenuSub,
DropdownMenuSubContent,
DropdownMenuSubTrigger,
DropdownMenuRadioGroup,
useDropdownMenu,
useDropdownMenuSub,
type DropdownMenuProps,
type DropdownMenuTriggerProps,
type DropdownMenuContentProps,
type DropdownMenuItemProps,
type DropdownMenuItemIndicatorProps,
type DropdownMenuCheckboxItemProps,
type DropdownMenuRadioItemProps,
type DropdownMenuLabelProps,
type DropdownMenuSeparatorProps,
type DropdownMenuShortcutProps,
type DropdownMenuGroupProps,
type DropdownMenuPortalProps,
type DropdownMenuSubProps,
type DropdownMenuSubContentProps,
type DropdownMenuSubTriggerProps,
type DropdownMenuRadioGroupProps,
type DropdownMenuContextType,
type DropdownMenuSubContextType,
};
-67
View File
@@ -1,67 +0,0 @@
import { type HTMLMotionProps, isMotionComponent, motion } from "motion/react";
import * as React from "react";
import { cn } from "@/utils/style";
type AnyProps = Record<string, unknown>;
type DOMMotionProps<T extends HTMLElement = HTMLElement> = Omit<HTMLMotionProps<keyof HTMLElementTagNameMap>, "ref"> & {
ref?: React.Ref<T>;
};
type WithAsChild<Base extends object> =
| (Base & { asChild: true; children: React.ReactElement })
| (Base & { asChild?: false | undefined });
type SlotProps<T extends HTMLElement = HTMLElement> = {
children?: React.ReactElement;
} & DOMMotionProps<T>;
function mergeRefs<T>(...refs: (React.Ref<T> | undefined)[]): React.RefCallback<T> {
return (node) => {
refs.forEach((ref) => {
if (!ref) return;
if (typeof ref === "function") {
ref(node);
} else {
(ref as React.RefObject<T | null>).current = node;
}
});
};
}
function mergeProps<T extends HTMLElement>(childProps: AnyProps, slotProps: DOMMotionProps<T>): AnyProps {
const merged: AnyProps = { ...childProps, ...slotProps };
if (childProps.className || slotProps.className) {
merged.className = cn(childProps.className as string, slotProps.className as string);
}
if (childProps.style || slotProps.style) {
merged.style = {
...(childProps.style as React.CSSProperties),
...(slotProps.style as React.CSSProperties),
};
}
return merged;
}
function Slot<T extends HTMLElement = HTMLElement>({ children, ref, ...props }: SlotProps<T>) {
const isAlreadyMotion =
children && typeof children.type === "object" && children.type !== null && isMotionComponent(children.type);
const Base = React.useMemo(
() => (isAlreadyMotion ? (children.type as React.ElementType) : motion.create(children?.type as React.ElementType)),
[isAlreadyMotion, children],
);
if (!React.isValidElement(children)) return null;
const { ref: childRef, ...childProps } = children.props as AnyProps;
const mergedProps = mergeProps(childProps, props);
return <Base {...mergedProps} ref={mergeRefs(childRef as React.Ref<T>, ref)} />;
}
export { Slot, type SlotProps, type WithAsChild, type DOMMotionProps, type AnyProps };
-113
View File
@@ -1,113 +0,0 @@
import { type HTMLMotionProps, motion, type TargetAndTransition, type VariantLabels } from "motion/react";
import { Switch as SwitchPrimitives } from "radix-ui";
import * as React from "react";
import { useControlledState } from "@/hooks/use-controlled-state";
import { getStrictContext } from "@/utils/get-strict-context";
type SwitchContextType = {
isChecked: boolean;
setIsChecked: (isChecked: boolean) => void;
isPressed: boolean;
setIsPressed: (isPressed: boolean) => void;
};
const [SwitchProvider, useSwitch] = getStrictContext<SwitchContextType>("SwitchContext");
type SwitchProps = Omit<React.ComponentProps<typeof SwitchPrimitives.Root>, "asChild"> & HTMLMotionProps<"button">;
function Switch(props: SwitchProps) {
const [isPressed, setIsPressed] = React.useState(false);
const { checked, defaultChecked, onCheckedChange, ...restProps } = props;
const [isChecked, setIsChecked] = useControlledState({
value: checked,
defaultValue: defaultChecked,
onChange: onCheckedChange,
});
return (
<SwitchProvider value={{ isChecked, setIsChecked, isPressed, setIsPressed }}>
<SwitchPrimitives.Root
{...restProps}
asChild
checked={isChecked}
defaultChecked={defaultChecked}
onCheckedChange={setIsChecked}
>
<motion.button
{...restProps}
whileTap="tap"
initial={false}
data-slot="switch"
onTap={() => setIsPressed(false)}
onTapStart={() => setIsPressed(true)}
onTapCancel={() => setIsPressed(false)}
/>
</SwitchPrimitives.Root>
</SwitchProvider>
);
}
type SwitchThumbProps = Omit<React.ComponentProps<typeof SwitchPrimitives.Thumb>, "asChild"> &
HTMLMotionProps<"div"> & {
pressedAnimation?: TargetAndTransition | VariantLabels | boolean;
};
function SwitchThumb({
pressedAnimation,
transition = { type: "spring", stiffness: 300, damping: 25 },
...props
}: SwitchThumbProps) {
const { isPressed } = useSwitch();
return (
<SwitchPrimitives.Thumb asChild>
<motion.div
layout
whileTap="tab"
data-slot="switch-thumb"
transition={transition}
animate={isPressed ? pressedAnimation : undefined}
{...props}
/>
</SwitchPrimitives.Thumb>
);
}
type SwitchIconPosition = "left" | "right" | "thumb";
type SwitchIconProps = HTMLMotionProps<"div"> & {
position: SwitchIconPosition;
};
function SwitchIcon({ position, transition = { type: "spring", bounce: 0 }, ...props }: SwitchIconProps) {
const { isChecked } = useSwitch();
const isAnimated = React.useMemo(() => {
if (position === "right") return !isChecked;
if (position === "left") return isChecked;
if (position === "thumb") return true;
return false;
}, [position, isChecked]);
return (
<motion.div
data-slot={`switch-${position}-icon`}
animate={isAnimated ? { scale: 1, opacity: 1 } : { scale: 0, opacity: 0 }}
transition={transition}
{...props}
/>
);
}
export {
Switch,
SwitchThumb,
SwitchIcon,
useSwitch,
type SwitchProps,
type SwitchThumbProps,
type SwitchIconProps,
type SwitchIconPosition,
type SwitchContextType,
};
@@ -45,11 +45,11 @@ export function ExperienceItem({ className, ...item }: ExperienceItemProps) {
{/* Role Progression */}
{hasRoles && (
<div className="experience-item-roles mt-(--page-gap-y) flex flex-col gap-y-(--page-gap-y)">
<div className="experience-item-roles mt-0 flex flex-col gap-y-1">
{item.roles.map((role) => (
<div key={role.id} className="experience-item-role">
<div className="flex items-start justify-between gap-x-2">
<strong className="section-item-metadata experience-item-role-position">{role.position}</strong>
<span className="section-item-metadata experience-item-role-position">{role.position}</span>
<span className="section-item-metadata experience-item-role-period shrink-0 text-end">
{role.period}
</span>
+3 -3
View File
@@ -1,10 +1,10 @@
import { useLingui } from "@lingui/react";
import { useRouter } from "@tanstack/react-router";
import { isTheme, setThemeServerFn, themeMap } from "@/utils/theme";
import { Combobox, type ComboboxProps } from "../ui/combobox";
import { Combobox, type SingleComboboxProps } from "../ui/combobox";
import { useTheme } from "./provider";
type Props = Omit<ComboboxProps, "options" | "value" | "onValueChange">;
type Props = Omit<SingleComboboxProps, "options" | "value" | "onValueChange">;
export function ThemeCombobox(props: Props) {
const router = useRouter();
@@ -24,5 +24,5 @@ export function ThemeCombobox(props: Props) {
router.invalidate();
};
return <Combobox options={options} defaultValue={theme} onValueChange={onThemeChange} {...props} />;
return <Combobox {...props} showClear={false} options={options} defaultValue={theme} onValueChange={onThemeChange} />;
}
+5 -6
View File
@@ -1,7 +1,6 @@
import { useMemo } from "react";
import { cn } from "@/utils/style";
import { Combobox, type ComboboxProps } from "../ui/combobox";
import { MultipleCombobox, type MultipleComboboxProps } from "../ui/multiple-combobox";
import { Combobox, type MultiComboboxProps, type SingleComboboxProps } from "../ui/combobox";
import { FontDisplay } from "./font-display";
import type { LocalFont, WebFont } from "./types";
import webFontListJSON from "./webfontlist.json";
@@ -61,7 +60,7 @@ export function getNextWeights(fontFamily: string): Weight[] | null {
return weights.length > 0 ? weights : null;
}
type FontFamilyComboboxProps = Omit<ComboboxProps, "options">;
type FontFamilyComboboxProps = Omit<SingleComboboxProps, "options">;
export function FontFamilyCombobox({ className, ...props }: FontFamilyComboboxProps) {
const options = useMemo(() => {
@@ -72,10 +71,10 @@ export function FontFamilyCombobox({ className, ...props }: FontFamilyComboboxPr
}));
}, []);
return <Combobox options={options} className={cn("w-full", className)} {...props} />;
return <Combobox {...props} options={options} className={cn("w-full", className)} />;
}
type FontWeightComboboxProps = Omit<MultipleComboboxProps, "options"> & { fontFamily: string };
type FontWeightComboboxProps = Omit<MultiComboboxProps, "options" | "multiple"> & { fontFamily: string };
export function FontWeightCombobox({ fontFamily, ...props }: FontWeightComboboxProps) {
const options = useMemo(() => {
@@ -100,5 +99,5 @@ export function FontWeightCombobox({ fontFamily, ...props }: FontWeightComboboxP
}));
}, [fontFamily]);
return <MultipleCombobox options={options} {...props} />;
return <Combobox {...props} multiple options={options} />;
}
+34 -45
View File
@@ -1,63 +1,52 @@
import {
AccordionContent as AccordionContentPrimitive,
type AccordionContentProps as AccordionContentPrimitiveProps,
AccordionHeader as AccordionHeaderPrimitive,
AccordionItem as AccordionItemPrimitive,
type AccordionItemProps as AccordionItemPrimitiveProps,
Accordion as AccordionPrimitive,
type AccordionProps as AccordionPrimitiveProps,
AccordionTrigger as AccordionTriggerPrimitive,
type AccordionTriggerProps as AccordionTriggerPrimitiveProps,
} from "@/components/primitives/accordion";
import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion";
import { CaretUpIcon } from "@phosphor-icons/react";
import { cn } from "@/utils/style";
type AccordionProps = AccordionPrimitiveProps;
function Accordion(props: AccordionProps) {
return <AccordionPrimitive {...props} />;
function Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {
return <AccordionPrimitive.Root data-slot="accordion" className={cn("flex w-full flex-col", className)} {...props} />;
}
type AccordionItemProps = AccordionItemPrimitiveProps;
function AccordionItem({ className, ...props }: AccordionItemProps) {
return <AccordionItemPrimitive className={cn(className)} {...props} />;
}
type AccordionTriggerProps = AccordionTriggerPrimitiveProps;
function AccordionTrigger({ className, children, ...props }: AccordionTriggerProps) {
function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {
return (
<AccordionHeaderPrimitive className="flex">
<AccordionTriggerPrimitive
<AccordionPrimitive.Item data-slot="accordion-item" className={cn("not-last:border-b", className)} {...props} />
);
}
function AccordionTrigger({ className, children, ...props }: AccordionPrimitive.Trigger.Props) {
return (
<AccordionPrimitive.Header className="flex">
<AccordionPrimitive.Trigger
data-slot="accordion-trigger"
className={cn(
"flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-start font-medium text-sm outline-none transition-all hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=closed]>svg]:rotate-0 [&[data-state=open]>svg]:rotate-90 [&[data-state=open]>svg]:transition-transform",
"group/accordion-trigger relative flex flex-1 items-start justify-between rounded-md border border-transparent py-4 text-left font-medium text-sm outline-none transition-all hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground",
className,
)}
{...props}
>
{children}
</AccordionTriggerPrimitive>
</AccordionHeaderPrimitive>
<CaretUpIcon data-slot="accordion-trigger-icon" className="pointer-events-none shrink-0" />
</AccordionPrimitive.Trigger>
</AccordionPrimitive.Header>
);
}
type AccordionContentProps = AccordionContentPrimitiveProps;
function AccordionContent({ className, children, ...props }: AccordionContentProps) {
function AccordionContent({ className, children, ...props }: AccordionPrimitive.Panel.Props) {
return (
<AccordionContentPrimitive {...props}>
<div className={cn("pt-0 pb-4 text-sm", className)}>{children}</div>
</AccordionContentPrimitive>
<AccordionPrimitive.Panel
data-slot="accordion-content"
className="overflow-hidden text-sm data-closed:animate-accordion-up data-open:animate-accordion-down"
{...props}
>
<div
className={cn(
"h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
className,
)}
>
{children}
</div>
</AccordionPrimitive.Panel>
);
}
export {
Accordion,
AccordionItem,
AccordionTrigger,
AccordionContent,
type AccordionProps,
type AccordionItemProps,
type AccordionTriggerProps,
type AccordionContentProps,
};
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
+127 -96
View File
@@ -1,124 +1,155 @@
import {
AlertDialogAction as AlertDialogActionPrimitive,
type AlertDialogActionProps as AlertDialogActionPrimitiveProps,
AlertDialogCancel as AlertDialogCancelPrimitive,
type AlertDialogCancelProps as AlertDialogCancelPrimitiveProps,
AlertDialogContent as AlertDialogContentPrimitive,
type AlertDialogContentProps as AlertDialogContentPrimitiveProps,
AlertDialogDescription as AlertDialogDescriptionPrimitive,
type AlertDialogDescriptionProps as AlertDialogDescriptionPrimitiveProps,
AlertDialogFooter as AlertDialogFooterPrimitive,
type AlertDialogFooterProps as AlertDialogFooterPrimitiveProps,
AlertDialogHeader as AlertDialogHeaderPrimitive,
type AlertDialogHeaderProps as AlertDialogHeaderPrimitiveProps,
AlertDialogOverlay as AlertDialogOverlayPrimitive,
type AlertDialogOverlayProps as AlertDialogOverlayPrimitiveProps,
AlertDialogPortal as AlertDialogPortalPrimitive,
AlertDialog as AlertDialogPrimitive,
type AlertDialogProps as AlertDialogPrimitiveProps,
AlertDialogTitle as AlertDialogTitlePrimitive,
type AlertDialogTitleProps as AlertDialogTitlePrimitiveProps,
AlertDialogTrigger as AlertDialogTriggerPrimitive,
type AlertDialogTriggerProps as AlertDialogTriggerPrimitiveProps,
} from "@/components/primitives/alert-dialog";
import { buttonVariants } from "@/components/ui/button";
import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog";
import type * as React from "react";
import { Button } from "@/components/ui/button";
import { cn } from "@/utils/style";
type AlertDialogProps = AlertDialogPrimitiveProps;
function AlertDialog(props: AlertDialogProps) {
return <AlertDialogPrimitive {...props} />;
function AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {
return <AlertDialogPrimitive.Root data-slot="alert-dialog" {...props} />;
}
type AlertDialogTriggerProps = AlertDialogTriggerPrimitiveProps;
function AlertDialogTrigger(props: AlertDialogTriggerProps) {
return <AlertDialogTriggerPrimitive {...props} />;
function AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {
return <AlertDialogPrimitive.Trigger data-slot="alert-dialog-trigger" {...props} />;
}
type AlertDialogOverlayProps = AlertDialogOverlayPrimitiveProps;
function AlertDialogOverlay({ className, ...props }: AlertDialogOverlayProps) {
return <AlertDialogOverlayPrimitive className={cn("fixed inset-0 z-50 bg-black/50", className)} {...props} />;
function AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {
return <AlertDialogPrimitive.Portal data-slot="alert-dialog-portal" {...props} />;
}
type AlertDialogContentProps = AlertDialogContentPrimitiveProps;
function AlertDialogContent({ className, ...props }: AlertDialogContentProps) {
function AlertDialogOverlay({ className, ...props }: AlertDialogPrimitive.Backdrop.Props) {
return (
<AlertDialogPortalPrimitive>
<AlertDialogOverlay />
<AlertDialogContentPrimitive
className={cn(
"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg sm:max-w-lg",
className,
)}
{...props}
/>
</AlertDialogPortalPrimitive>
);
}
type AlertDialogHeaderProps = AlertDialogHeaderPrimitiveProps;
function AlertDialogHeader({ className, ...props }: AlertDialogHeaderProps) {
return (
<AlertDialogHeaderPrimitive className={cn("flex flex-col gap-2 text-center sm:text-start", className)} {...props} />
);
}
type AlertDialogFooterProps = AlertDialogFooterPrimitiveProps;
function AlertDialogFooter({ className, ...props }: AlertDialogFooterProps) {
return (
<AlertDialogFooterPrimitive
className={cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className)}
<AlertDialogPrimitive.Backdrop
data-slot="alert-dialog-overlay"
className={cn(
"data-open:fade-in-0 data-closed:fade-out-0 fixed inset-0 isolate z-50 bg-black/10 duration-100 data-closed:animate-out data-open:animate-in supports-backdrop-filter:backdrop-blur-xs",
className,
)}
{...props}
/>
);
}
type AlertDialogTitleProps = AlertDialogTitlePrimitiveProps;
function AlertDialogTitle({ className, ...props }: AlertDialogTitleProps) {
return <AlertDialogTitlePrimitive className={cn("font-semibold text-lg", className)} {...props} />;
function AlertDialogContent({
className,
size = "default",
...props
}: AlertDialogPrimitive.Popup.Props & {
size?: "default" | "sm";
}) {
return (
<AlertDialogPortal>
<AlertDialogOverlay />
<AlertDialogPrimitive.Popup
data-slot="alert-dialog-content"
data-size={size}
className={cn(
"group/alert-dialog-content data-open:fade-in-0 data-open:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-background p-6 outline-none ring-1 ring-foreground/10 duration-100 data-[size=default]:max-w-2xl data-[size=sm]:max-w-sm data-closed:animate-out data-open:animate-in data-[size=default]:sm:max-w-lg",
className,
)}
{...props}
/>
</AlertDialogPortal>
);
}
type AlertDialogDescriptionProps = AlertDialogDescriptionPrimitiveProps;
function AlertDialogDescription({ className, ...props }: AlertDialogDescriptionProps) {
return <AlertDialogDescriptionPrimitive className={cn("text-muted-foreground text-sm", className)} {...props} />;
function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">) {
return (
<div
data-slot="alert-dialog-header"
className={cn(
"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
className,
)}
{...props}
/>
);
}
type AlertDialogActionProps = AlertDialogActionPrimitiveProps;
function AlertDialogAction({ className, ...props }: AlertDialogActionPrimitiveProps) {
return <AlertDialogActionPrimitive className={cn(buttonVariants(), className)} {...props} />;
function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">) {
return (
<div
data-slot="alert-dialog-footer"
className={cn(
"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
className,
)}
{...props}
/>
);
}
type AlertDialogCancelProps = AlertDialogCancelPrimitiveProps;
function AlertDialogMedia({ className, ...props }: React.ComponentProps<"div">) {
return (
<div
data-slot="alert-dialog-media"
className={cn(
"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8",
className,
)}
{...props}
/>
);
}
function AlertDialogCancel({ className, ...props }: AlertDialogCancelPrimitiveProps) {
return <AlertDialogCancelPrimitive className={cn(buttonVariants({ variant: "outline" }), className)} {...props} />;
function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {
return (
<AlertDialogPrimitive.Title
data-slot="alert-dialog-title"
className={cn(
"font-medium text-lg sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
className,
)}
{...props}
/>
);
}
function AlertDialogDescription({
className,
...props
}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {
return (
<AlertDialogPrimitive.Description
data-slot="alert-dialog-description"
className={cn(
"text-balance text-muted-foreground text-sm md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
className,
)}
{...props}
/>
);
}
function AlertDialogAction({ className, ...props }: React.ComponentProps<typeof Button>) {
return <Button data-slot="alert-dialog-action" className={cn(className)} {...props} />;
}
function AlertDialogCancel({
className,
variant = "outline",
size = "default",
...props
}: AlertDialogPrimitive.Close.Props & Pick<React.ComponentProps<typeof Button>, "variant" | "size">) {
return (
<AlertDialogPrimitive.Close
data-slot="alert-dialog-cancel"
className={cn(className)}
render={<Button variant={variant} size={size} />}
{...props}
/>
);
}
export {
AlertDialog,
AlertDialogTrigger,
AlertDialogContent,
AlertDialogHeader,
AlertDialogFooter,
AlertDialogTitle,
AlertDialogDescription,
AlertDialogAction,
AlertDialogCancel,
type AlertDialogProps,
type AlertDialogTriggerProps,
type AlertDialogContentProps,
type AlertDialogHeaderProps,
type AlertDialogFooterProps,
type AlertDialogTitleProps,
type AlertDialogDescriptionProps,
type AlertDialogActionProps,
type AlertDialogCancelProps,
AlertDialogContent,
AlertDialogDescription,
AlertDialogFooter,
AlertDialogHeader,
AlertDialogMedia,
AlertDialogOverlay,
AlertDialogPortal,
AlertDialogTitle,
AlertDialogTrigger,
};
+1 -1
View File
@@ -52,4 +52,4 @@ function AlertAction({ className, ...props }: React.ComponentProps<"div">) {
return <div data-slot="alert-action" className={cn("absolute inset-e-3 top-2.5", className)} {...props} />;
}
export { Alert, AlertTitle, AlertDescription, AlertAction };
export { Alert, AlertAction, AlertDescription, AlertTitle };
+5 -5
View File
@@ -1,4 +1,4 @@
import { Avatar as AvatarPrimitive } from "radix-ui";
import { Avatar as AvatarPrimitive } from "@base-ui/react/avatar";
import type * as React from "react";
import { cn } from "@/utils/style";
@@ -6,7 +6,7 @@ function Avatar({
className,
size = "default",
...props
}: React.ComponentProps<typeof AvatarPrimitive.Root> & {
}: AvatarPrimitive.Root.Props & {
size?: "default" | "sm" | "lg";
}) {
return (
@@ -22,7 +22,7 @@ function Avatar({
);
}
function AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {
function AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {
return (
<AvatarPrimitive.Image
data-slot="avatar-image"
@@ -32,7 +32,7 @@ function AvatarImage({ className, ...props }: React.ComponentProps<typeof Avatar
);
}
function AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {
function AvatarFallback({ className, ...props }: AvatarPrimitive.Fallback.Props) {
return (
<AvatarPrimitive.Fallback
data-slot="avatar-fallback"
@@ -87,4 +87,4 @@ function AvatarGroupCount({ className, ...props }: React.ComponentProps<"div">)
);
}
export { Avatar, AvatarImage, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarBadge };
export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
+11 -10
View File
@@ -1,6 +1,6 @@
import { mergeProps } from "@base-ui/react/merge-props";
import { useRender } from "@base-ui/react/use-render";
import { cva, type VariantProps } from "class-variance-authority";
import { Slot } from "radix-ui";
import type * as React from "react";
import { cn } from "@/utils/style";
const badgeVariants = cva(
@@ -26,14 +26,15 @@ const badgeVariants = cva(
function Badge({
className,
variant = "default",
asChild = false,
render,
...props
}: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & { asChild?: boolean }) {
const Comp = asChild ? Slot.Root : "span";
return (
<Comp data-slot="badge" data-variant={variant} className={cn(badgeVariants({ variant }), className)} {...props} />
);
}: useRender.ComponentProps<"span"> & VariantProps<typeof badgeVariants>) {
return useRender({
render,
defaultTagName: "span",
state: { slot: "badge", variant },
props: mergeProps<"span">({ className: cn(badgeVariants({ variant }), className) }, props),
});
}
export { Badge };
export { Badge, badgeVariants };
+21 -23
View File
@@ -1,5 +1,6 @@
import { mergeProps } from "@base-ui/react/merge-props";
import { useRender } from "@base-ui/react/use-render";
import { cva, type VariantProps } from "class-variance-authority";
import { Slot } from "radix-ui";
import { Separator } from "@/components/ui/separator";
import { cn } from "@/utils/style";
@@ -9,9 +10,9 @@ const buttonGroupVariants = cva(
variants: {
orientation: {
horizontal:
"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-s-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-md!",
"*:data-slot:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-md! [&>[data-slot]~[data-slot]]:rounded-l-none [&>[data-slot]~[data-slot]]:border-l-0",
vertical:
"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-md!",
"flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-md! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0",
},
},
defaultVariants: {
@@ -36,24 +37,21 @@ function ButtonGroup({
);
}
function ButtonGroupText({
className,
asChild = false,
...props
}: React.ComponentProps<"div"> & {
asChild?: boolean;
}) {
const Comp = asChild ? Slot.Root : "div";
return (
<Comp
className={cn(
"flex items-center gap-2 rounded-md border bg-muted px-2.5 font-medium text-sm shadow-xs [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none",
className,
)}
{...props}
/>
);
function ButtonGroupText({ className, render, ...props }: useRender.ComponentProps<"div">) {
return useRender({
render,
defaultTagName: "div",
state: { slot: "button-group-text" },
props: mergeProps<"div">(
{
className: cn(
"flex items-center gap-2 rounded-md border bg-muted px-2.5 font-medium text-sm shadow-xs [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none",
className,
),
},
props,
),
});
}
function ButtonGroupSeparator({
@@ -66,7 +64,7 @@ function ButtonGroupSeparator({
data-slot="button-group-separator"
orientation={orientation}
className={cn(
"relative self-stretch bg-input data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px data-[orientation=vertical]:h-auto data-[orientation=horizontal]:w-auto",
"relative self-stretch bg-input data-horizontal:mx-px data-vertical:my-px data-vertical:h-auto data-horizontal:w-auto",
className,
)}
{...props}
@@ -74,4 +72,4 @@ function ButtonGroupSeparator({
);
}
export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText };
export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
+20 -17
View File
@@ -1,28 +1,31 @@
import { Button as ButtonPrimitive } from "@base-ui/react/button";
import { cva, type VariantProps } from "class-variance-authority";
import { Button as ButtonPrimitive, type ButtonProps as ButtonPrimitiveProps } from "@/components/primitives/button";
import { cn } from "@/utils/style";
const buttonVariants = cva(
"inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-none transition-[box-shadow,color,background-color,border-color,outline-color,text-decoration-color,fill,stroke] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
"group/button inline-flex shrink-0 cursor-pointer select-none items-center justify-center whitespace-nowrap rounded-md border border-transparent bg-clip-padding font-medium text-sm outline-none transition-all focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
{
variants: {
variant: {
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
accent: "bg-accent text-accent-foreground shadow-xs hover:bg-accent/90",
default: "bg-primary text-primary-foreground hover:bg-primary/80",
outline: "border-border bg-background shadow-xs hover:bg-muted hover:text-foreground",
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
ghost: "hover:bg-muted hover:text-foreground",
destructive:
"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
outline: "border bg-background shadow-xs hover:bg-secondary/40 hover:text-secondary-foreground",
secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
ghost: "hover:bg-secondary/40 hover:text-secondary-foreground",
"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
link: "text-primary underline-offset-4 hover:underline",
},
size: {
default: "h-9 px-4 py-2 has-[>svg]:px-3",
sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
default:
"h-9 gap-1.5 in-data-[slot=button-group]:rounded-md px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
xs: "h-6 gap-1 in-data-[slot=button-group]:rounded-md rounded-[min(var(--radius-md),8px)] px-2 text-xs has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
sm: "h-8 gap-1 in-data-[slot=button-group]:rounded-md rounded-[min(var(--radius-md),10px)] px-2.5 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5",
lg: "h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
icon: "size-9",
"icon-sm": "size-8 rounded-md",
"icon-lg": "size-10 rounded-md",
"icon-xs":
"size-6 in-data-[slot=button-group]:rounded-md rounded-[min(var(--radius-md),8px)] [&_svg:not([class*='size-'])]:size-3",
"icon-sm": "size-8 in-data-[slot=button-group]:rounded-md rounded-[min(var(--radius-md),10px)]",
"icon-lg": "size-10",
},
},
defaultVariants: {
@@ -32,10 +35,10 @@ const buttonVariants = cva(
},
);
type ButtonProps = ButtonPrimitiveProps & VariantProps<typeof buttonVariants>;
type ButtonProps = ButtonPrimitive.Props & VariantProps<typeof buttonVariants>;
function Button({ className, variant, size, type = "button", ...props }: ButtonProps) {
return <ButtonPrimitive type={type} className={cn(buttonVariants({ variant, size, className }))} {...props} />;
function Button({ className, variant = "default", size = "default", ...props }: ButtonProps) {
return <ButtonPrimitive data-slot="button" className={cn(buttonVariants({ variant, size, className }))} {...props} />;
}
export { Button, buttonVariants, type ButtonProps };
export { Button, type ButtonProps, buttonVariants };
+416 -125
View File
@@ -1,12 +1,252 @@
import { Combobox as ComboboxPrimitive, type ComboboxTriggerState, type UseRenderRenderProp } from "@base-ui/react";
import { t } from "@lingui/core/macro";
import { CaretUpDownIcon, CheckIcon } from "@phosphor-icons/react";
import { CaretDownIcon, CheckIcon, XIcon } from "@phosphor-icons/react";
import * as React from "react";
import { Button } from "@/components/ui/button";
import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from "@/components/ui/command";
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover";
import { Input } from "@/components/ui/input";
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "@/components/ui/input-group";
import { useControlledState } from "@/hooks/use-controlled-state";
import { cn } from "@/utils/style";
const ComboboxRoot = ComboboxPrimitive.Root;
function ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {
return <ComboboxPrimitive.Value data-slot="combobox-value" {...props} />;
}
function ComboboxTrigger({ className, children, ...props }: ComboboxPrimitive.Trigger.Props) {
return (
<ComboboxPrimitive.Trigger
data-slot="combobox-trigger"
className={cn("shrink-0 [&_svg:not([class*='size-'])]:size-4", className)}
{...props}
>
{children}
<CaretDownIcon className="pointer-events-none size-4 text-muted-foreground" />
</ComboboxPrimitive.Trigger>
);
}
function ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {
return (
<ComboboxPrimitive.Clear
data-slot="combobox-clear"
className={cn(className)}
{...props}
render={
<InputGroupButton variant="ghost" size="icon-xs">
<XIcon className="pointer-events-none" />
</InputGroupButton>
}
/>
);
}
function ComboboxInput({
className,
children,
disabled = false,
showTrigger = true,
showClear = false,
...props
}: ComboboxPrimitive.Input.Props & {
showTrigger?: boolean;
showClear?: boolean;
}) {
return (
<InputGroup className={cn("w-auto", className)}>
<ComboboxPrimitive.Input render={<InputGroupInput disabled={disabled} />} {...props} />
<InputGroupAddon align="inline-end">
{showTrigger && (
<InputGroupButton
size="icon-xs"
variant="ghost"
render={<ComboboxTrigger />}
data-slot="input-group-button"
className="group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent"
disabled={disabled}
/>
)}
{showClear && <ComboboxClear disabled={disabled} />}
</InputGroupAddon>
{children}
</InputGroup>
);
}
function ComboboxContent({
className,
side = "bottom",
sideOffset = 6,
align = "start",
alignOffset = 0,
anchor,
...props
}: ComboboxPrimitive.Popup.Props &
Pick<ComboboxPrimitive.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">) {
return (
<ComboboxPrimitive.Portal>
<ComboboxPrimitive.Positioner
side={side}
sideOffset={sideOffset}
align={align}
alignOffset={alignOffset}
anchor={anchor}
className="isolate z-50"
>
<ComboboxPrimitive.Popup
data-slot="combobox-content"
data-chips={!!anchor}
className={cn(
"data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 group/combobox-content relative max-h-(--available-height) w-(--anchor-width) min-w-60 max-w-(--available-width) origin-(--transform-origin) overflow-hidden rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-closed:animate-out data-open:animate-in *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none",
className,
)}
{...props}
/>
</ComboboxPrimitive.Positioner>
</ComboboxPrimitive.Portal>
);
}
function ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) {
return (
<ComboboxPrimitive.List
data-slot="combobox-list"
className={cn(
"no-scrollbar max-h-80 scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0",
className,
)}
{...props}
/>
);
}
function ComboboxItem({ className, children, ...props }: ComboboxPrimitive.Item.Props) {
return (
<ComboboxPrimitive.Item
data-slot="combobox-item"
className={cn(
"relative flex w-full cursor-default select-none items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-50 not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
className,
)}
{...props}
>
{children}
<ComboboxPrimitive.ItemIndicator
render={
<span className="pointer-events-none absolute right-2 flex size-4 items-center justify-center">
<CheckIcon className="pointer-events-none" />
</span>
}
/>
</ComboboxPrimitive.Item>
);
}
function ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {
return <ComboboxPrimitive.Group data-slot="combobox-group" className={cn(className)} {...props} />;
}
function ComboboxLabel({ className, ...props }: ComboboxPrimitive.GroupLabel.Props) {
return (
<ComboboxPrimitive.GroupLabel
data-slot="combobox-label"
className={cn("px-2 py-1.5 text-muted-foreground text-xs", className)}
{...props}
/>
);
}
function ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {
return <ComboboxPrimitive.Collection data-slot="combobox-collection" {...props} />;
}
function ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props) {
return (
<ComboboxPrimitive.Empty
data-slot="combobox-empty"
className={cn(
"hidden w-full justify-center py-2 text-center text-muted-foreground text-sm group-data-empty/combobox-content:flex",
className,
)}
{...props}
/>
);
}
function ComboboxSeparator({ className, ...props }: ComboboxPrimitive.Separator.Props) {
return (
<ComboboxPrimitive.Separator
data-slot="combobox-separator"
className={cn("-mx-1 my-1 h-px bg-border", className)}
{...props}
/>
);
}
function ComboboxChips({
className,
...props
}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> & ComboboxPrimitive.Chips.Props) {
return (
<ComboboxPrimitive.Chips
data-slot="combobox-chips"
className={cn(
"flex min-h-8 flex-wrap items-center gap-1 rounded-md border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-data-[slot=combobox-chip]:px-2 has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40",
className,
)}
{...props}
/>
);
}
function ComboboxChip({
className,
children,
showRemove = true,
...props
}: ComboboxPrimitive.Chip.Props & {
showRemove?: boolean;
}) {
return (
<ComboboxPrimitive.Chip
data-slot="combobox-chip"
className={cn(
"flex h-6 w-fit items-center justify-center gap-1 whitespace-nowrap rounded-md bg-muted px-1.5 font-medium text-foreground text-xs has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-data-[slot=combobox-chip-remove]:pr-0 has-disabled:opacity-50",
className,
)}
{...props}
>
{children}
{showRemove && (
<ComboboxPrimitive.ChipRemove
className="-ml-1 opacity-50 hover:opacity-100"
data-slot="combobox-chip-remove"
render={
<Button variant="ghost" size="icon-xs">
<XIcon className="pointer-events-none" />
</Button>
}
/>
)}
</ComboboxPrimitive.Chip>
);
}
function ComboboxChipsInput({ className, ...props }: ComboboxPrimitive.Input.Props) {
return (
<ComboboxPrimitive.Input
data-slot="combobox-chip-input"
className={cn("min-w-16 flex-1 outline-none", className)}
{...props}
/>
);
}
function useComboboxAnchor() {
return React.useRef<HTMLDivElement | null>(null);
}
type ComboboxOption<TValue extends string | number = string> = {
value: TValue;
label: React.ReactNode;
@@ -14,149 +254,200 @@ type ComboboxOption<TValue extends string | number = string> = {
disabled?: boolean;
};
type ComboboxProps<TValue extends string | number = string> = Omit<
React.ComponentProps<typeof PopoverContent>,
"value" | "defaultValue" | "children"
> & {
disabled?: boolean;
clearable?: boolean;
options: ReadonlyArray<ComboboxOption<TValue>>;
type SingleComboboxProps<TValue extends string | number = string> = {
options: ComboboxOption<TValue>[];
value?: TValue | null;
defaultValue?: TValue | null;
placeholder?: React.ReactNode;
onValueChange?: (value: TValue | null) => void;
multiple?: false;
disabled?: boolean;
showClear?: boolean;
placeholder?: string;
searchPlaceholder?: string;
emptyMessage?: React.ReactNode;
buttonProps?: Omit<React.ComponentProps<typeof Button>, "children"> & {
children?: (value: TValue | null, option: ComboboxOption<TValue> | null) => React.ReactNode;
};
onValueChange?: (value: TValue | null, option: ComboboxOption<TValue> | null) => void;
className?: string;
id?: string;
name?: string;
render?: UseRenderRenderProp<ComboboxTriggerState>;
};
function Combobox<TValue extends string | number = string>({
disabled = false,
clearable = true,
options,
value,
defaultValue = null,
placeholder = t`Select...`,
searchPlaceholder = t`Search...`,
emptyMessage = t`No results found.`,
className,
buttonProps,
onValueChange,
...props
}: ComboboxProps<TValue>) {
const { className: buttonClassName, children: buttonChildren, ...buttonRestProps } = buttonProps ?? {};
const [open, setOpen] = React.useState(false);
type MultiComboboxProps<TValue extends string | number = string> = {
options: ComboboxOption<TValue>[];
value?: TValue[] | null;
defaultValue?: TValue[] | null;
onValueChange?: (value: TValue[] | null) => void;
multiple: true;
disabled?: boolean;
showClear?: boolean;
placeholder?: string;
searchPlaceholder?: string;
emptyMessage?: React.ReactNode;
className?: string;
id?: string;
name?: string;
render?: UseRenderRenderProp<ComboboxTriggerState>;
};
const [selectedValue, setSelectedValue] = useControlledState<TValue | null>({
value,
defaultValue,
onChange: (next) => onValueChange?.(next, options.find((o) => o.value === next) ?? null),
});
type ComboboxProps<TValue extends string | number = string> = SingleComboboxProps<TValue> | MultiComboboxProps<TValue>;
const selectedOption = React.useMemo(() => {
return options.find((option) => option.value === selectedValue) ?? null;
}, [options, selectedValue]);
function Combobox<TValue extends string | number = string>(props: ComboboxProps<TValue>) {
const {
options,
multiple = false,
disabled = false,
showClear = false,
placeholder,
searchPlaceholder,
emptyMessage,
className,
id,
name,
render,
} = props;
const selectedLabel = selectedOption?.label;
const { contains } = ComboboxPrimitive.useFilter();
const onSelect = React.useCallback(
(current: string) => {
const next = (current as unknown as TValue) ?? null;
const optionMap = React.useMemo(() => new Map(options.map((opt) => [String(opt.value), opt])), [options]);
if (!clearable && selectedValue === next) {
setOpen(false);
return;
const findOption = React.useCallback(
(v: TValue | TValue[] | null | undefined) => {
if (multiple) {
if (!v || !Array.isArray(v)) return [];
return (v as TValue[])
.map((item) => optionMap.get(String(item)) ?? null)
.filter(Boolean) as ComboboxOption<TValue>[];
} else {
if (v == null) return null;
return optionMap.get(String(v)) ?? null;
}
const toggled = selectedValue === next ? null : next;
setSelectedValue(toggled);
setOpen(false);
},
[clearable, selectedValue, setSelectedValue],
[optionMap, multiple],
);
// Prevent opening popover and handling interaction if disabled
const handleOpenChange = React.useCallback(
(nextOpen: boolean) => {
if (disabled) return;
setOpen(nextOpen);
type OptionValue = ComboboxOption<TValue>[] | ComboboxOption<TValue> | null;
const rawValueKey = props.value !== undefined ? JSON.stringify(props.value) : undefined;
const resolvedValue = React.useMemo(
() => (props.value !== undefined ? (findOption(props.value) as OptionValue) : undefined),
// eslint-disable-next-line react-hooks/exhaustive-deps -- stable key avoids new-reference loops
[rawValueKey, optionMap],
);
const rawDefaultKey = props.defaultValue !== undefined ? JSON.stringify(props.defaultValue) : undefined;
const resolvedDefaultValue = React.useMemo(
() => (props.defaultValue !== undefined ? (findOption(props.defaultValue) as OptionValue) : undefined),
// eslint-disable-next-line react-hooks/exhaustive-deps -- only needed on mount / options change
[rawDefaultKey, optionMap],
);
const handleExternalChange = React.useCallback(
(option: ComboboxOption<TValue>[] | ComboboxOption<TValue> | null) => {
if (multiple) {
const arrOpt = Array.isArray(option) ? option : option ? [option] : [];
(props as MultiComboboxProps<TValue>).onValueChange?.(arrOpt.length > 0 ? arrOpt.map((opt) => opt.value) : []);
} else {
const value = option && !Array.isArray(option) ? (option as ComboboxOption<TValue>).value : null;
const cb = props.onValueChange as ((value: TValue | null) => void) | undefined;
cb?.(value ?? null);
}
},
[disabled],
[props, multiple],
);
const [selectedValue, setSelectedValue] = useControlledState({
value: resolvedValue,
defaultValue: resolvedDefaultValue,
onChange: handleExternalChange,
});
const itemToStringLabel = React.useCallback(
(item: ComboboxOption<TValue>) => (typeof item.label === "string" ? item.label : String(item.value)),
[],
);
const isItemEqualToValue = React.useCallback(
(a: ComboboxOption<TValue>, b: ComboboxOption<TValue>) => String(a.value) === String(b.value),
[],
);
const filter = React.useCallback(
(item: ComboboxOption<TValue>, query: string) => {
const labelStr = typeof item.label === "string" ? item.label : String(item.value);
if (contains(labelStr, query)) return true;
return item.keywords?.some((kw) => contains(kw, query)) ?? false;
},
[contains],
);
const listContent = (item: ComboboxOption<TValue>) => (
<ComboboxItem key={String(item.value)} value={item} disabled={item.disabled}>
{item.label}
</ComboboxItem>
);
return (
<Popover open={open} onOpenChange={handleOpenChange}>
<PopoverTrigger asChild>
<Button
role="combobox"
variant="outline"
aria-expanded={open}
disabled={disabled}
aria-disabled={disabled}
tapScale={1}
className={cn(
"font-normal active:scale-100",
typeof buttonChildren === "function" ? "" : "justify-between",
disabled && "pointer-events-none opacity-60",
buttonClassName,
)}
{...buttonRestProps}
>
{typeof buttonChildren === "function" ? (
buttonChildren(selectedValue, selectedOption)
) : (
<>
{selectedLabel ?? placeholder}
<CaretUpDownIcon className="ms-2 shrink-0 opacity-50" />
</>
)}
</Button>
</PopoverTrigger>
<PopoverContent
align="start"
aria-disabled={disabled}
tabIndex={disabled ? -1 : undefined}
className={cn("min-w-[200px] p-0", className, disabled && "pointer-events-none select-none opacity-60")}
{...props}
<ComboboxRoot
name={name}
items={options}
filter={filter}
disabled={disabled}
value={selectedValue as ComboboxOption<TValue>[] & ComboboxOption<TValue>}
onValueChange={setSelectedValue as (value: ComboboxOption<TValue>[] | ComboboxOption<TValue> | null) => void}
itemToStringLabel={itemToStringLabel}
isItemEqualToValue={isItemEqualToValue}
{...(multiple ? { multiple: true } : {})}
>
<ComboboxTrigger
id={id}
disabled={disabled}
render={
render ?? (
<Button
variant="outline"
className={cn("justify-start text-left font-normal hover:bg-muted/20", className)}
/>
)
}
>
<Command>
<CommandInput placeholder={searchPlaceholder} disabled={disabled} />
<CommandList>
<CommandEmpty>{emptyMessage}</CommandEmpty>
<CommandGroup>
{options.map((option) => {
const isSelected = selectedValue === option.value;
const isDisabled = option.disabled ?? disabled;
<span className="min-w-0 flex-1 truncate text-left">
<ComboboxValue placeholder={placeholder ?? t`Select...`} />
</span>
return (
<CommandItem
key={String(option.value)}
value={String(option.value)}
keywords={option.keywords}
disabled={isDisabled}
onSelect={isDisabled ? undefined : onSelect}
aria-disabled={isDisabled}
className={cn(isDisabled && "pointer-events-none opacity-60")}
>
<CheckIcon
aria-hidden
className={cn("size-4 shrink-0 transition-opacity", isSelected ? "opacity-100" : "opacity-0")}
/>
<span className={cn("truncate", isDisabled && "opacity-60")}>{option.label}</span>
</CommandItem>
);
})}
</CommandGroup>
</CommandList>
</Command>
</PopoverContent>
</Popover>
{showClear && <ComboboxClear disabled={disabled} />}
</ComboboxTrigger>
<ComboboxContent>
<ComboboxPrimitive.Input
placeholder={searchPlaceholder ?? placeholder ?? t`Search...`}
render={<Input disabled={disabled} className="rounded-b-none focus-visible:ring-0" />}
/>
<ComboboxEmpty>{emptyMessage ?? t`No results found.`}</ComboboxEmpty>
<ComboboxList>{listContent}</ComboboxList>
</ComboboxContent>
</ComboboxRoot>
);
}
export type { ComboboxOption, ComboboxProps };
export { Combobox };
export {
Combobox,
ComboboxChip,
ComboboxChips,
ComboboxChipsInput,
ComboboxCollection,
ComboboxContent,
ComboboxEmpty,
ComboboxGroup,
ComboboxInput,
ComboboxItem,
ComboboxLabel,
ComboboxList,
type ComboboxOption,
type ComboboxProps,
ComboboxRoot,
ComboboxSeparator,
ComboboxTrigger,
ComboboxValue,
type MultiComboboxProps,
type SingleComboboxProps,
useComboboxAnchor,
};
+15 -7
View File
@@ -10,7 +10,7 @@ function Command({ className, ...props }: React.ComponentProps<typeof CommandPri
<CommandPrimitive
data-slot="command"
className={cn(
"flex size-full flex-col gap-y-1 overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",
"flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",
className,
)}
{...props}
@@ -23,11 +23,14 @@ function CommandDialog({
description = "Search for a command to run...",
children,
className,
showClose = false,
...props
}: React.ComponentProps<typeof Dialog> & {
}: Omit<React.ComponentProps<typeof Dialog>, "children"> & {
title?: string;
description?: string;
className?: string;
showClose?: boolean;
children: React.ReactNode;
}) {
return (
<Dialog {...props}>
@@ -35,7 +38,12 @@ function CommandDialog({
<DialogTitle>{title}</DialogTitle>
<DialogDescription>{description}</DialogDescription>
</DialogHeader>
<DialogContent className={cn("overflow-hidden rounded-xl! p-0", className)}>{children}</DialogContent>
<DialogContent
className={cn("top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0", className)}
showClose={showClose}
>
{children}
</DialogContent>
</Dialog>
);
}
@@ -43,7 +51,7 @@ function CommandDialog({
function CommandInput({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Input>) {
return (
<div data-slot="command-input-wrapper" className="p-1 pb-0">
<InputGroup className="h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:ps-2!">
<InputGroup className="h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!">
<CommandPrimitive.Input
data-slot="command-input"
className={cn("w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", className)}
@@ -132,11 +140,11 @@ function CommandShortcut({ className, ...props }: React.ComponentProps<"span">)
export {
Command,
CommandDialog,
CommandInput,
CommandList,
CommandEmpty,
CommandGroup,
CommandInput,
CommandItem,
CommandShortcut,
CommandList,
CommandSeparator,
CommandShortcut,
};
+91 -81
View File
@@ -1,13 +1,17 @@
import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu";
import { CaretRightIcon, CheckIcon } from "@phosphor-icons/react";
import { ContextMenu as ContextMenuPrimitive } from "radix-ui";
import type * as React from "react";
import { cn } from "@/utils/style";
function ContextMenu({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {
function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) {
return <ContextMenuPrimitive.Root data-slot="context-menu" {...props} />;
}
function ContextMenuTrigger({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {
function ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props) {
return <ContextMenuPrimitive.Portal data-slot="context-menu-portal" {...props} />;
}
function ContextMenuTrigger({ className, ...props }: ContextMenuPrimitive.Trigger.Props) {
return (
<ContextMenuPrimitive.Trigger
data-slot="context-menu-trigger"
@@ -17,39 +21,55 @@ function ContextMenuTrigger({ className, ...props }: React.ComponentProps<typeof
);
}
function ContextMenuGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {
function ContextMenuContent({
className,
align = "start",
alignOffset = 4,
side = "right",
sideOffset = 0,
...props
}: ContextMenuPrimitive.Popup.Props &
Pick<ContextMenuPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">) {
return (
<ContextMenuPrimitive.Portal>
<ContextMenuPrimitive.Positioner
className="isolate z-50 outline-none"
align={align}
alignOffset={alignOffset}
side={side}
sideOffset={sideOffset}
>
<ContextMenuPrimitive.Popup
data-slot="context-menu-content"
className={cn(
"data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:fade-in-0 data-open:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-y-auto overflow-x-hidden rounded-md bg-popover p-1 text-popover-foreground shadow-md outline-none ring-1 ring-foreground/10 duration-100 data-closed:animate-out data-open:animate-in",
className,
)}
{...props}
/>
</ContextMenuPrimitive.Positioner>
</ContextMenuPrimitive.Portal>
);
}
function ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props) {
return <ContextMenuPrimitive.Group data-slot="context-menu-group" {...props} />;
}
function ContextMenuPortal({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {
return <ContextMenuPrimitive.Portal data-slot="context-menu-portal" {...props} />;
}
function ContextMenuSub({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {
return <ContextMenuPrimitive.Sub data-slot="context-menu-sub" {...props} />;
}
function ContextMenuRadioGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {
return <ContextMenuPrimitive.RadioGroup data-slot="context-menu-radio-group" {...props} />;
}
function ContextMenuContent({
function ContextMenuLabel({
className,
inset,
...props
}: React.ComponentProps<typeof ContextMenuPrimitive.Content> & {
side?: "top" | "right" | "bottom" | "left";
}: ContextMenuPrimitive.GroupLabel.Props & {
inset?: boolean;
}) {
return (
<ContextMenuPrimitive.Portal>
<ContextMenuPrimitive.Content
data-slot="context-menu-content"
className={cn(
"data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-36 origin-(--radix-context-menu-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-closed:animate-out data-open:animate-in",
className,
)}
{...props}
/>
</ContextMenuPrimitive.Portal>
<ContextMenuPrimitive.GroupLabel
data-slot="context-menu-label"
data-inset={inset}
className={cn("px-2 py-1.5 font-medium text-muted-foreground text-xs data-inset:pl-8", className)}
{...props}
/>
);
}
@@ -58,7 +78,7 @@ function ContextMenuItem({
inset,
variant = "default",
...props
}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {
}: ContextMenuPrimitive.Item.Props & {
inset?: boolean;
variant?: "default" | "destructive";
}) {
@@ -68,7 +88,7 @@ function ContextMenuItem({
data-inset={inset}
data-variant={variant}
className={cn(
"group/context-menu-item relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-inset:ps-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive",
"group/context-menu-item relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive",
className,
)}
{...props}
@@ -76,111 +96,101 @@ function ContextMenuItem({
);
}
function ContextMenuSub({ ...props }: ContextMenuPrimitive.SubmenuRoot.Props) {
return <ContextMenuPrimitive.SubmenuRoot data-slot="context-menu-sub" {...props} />;
}
function ContextMenuSubTrigger({
className,
inset,
children,
...props
}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {
}: ContextMenuPrimitive.SubmenuTrigger.Props & {
inset?: boolean;
}) {
return (
<ContextMenuPrimitive.SubTrigger
<ContextMenuPrimitive.SubmenuTrigger
data-slot="context-menu-sub-trigger"
data-inset={inset}
className={cn(
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-inset:ps-8 data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-inset:pl-8 data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
className,
)}
{...props}
>
{children}
<CaretRightIcon className="ml-auto" />
</ContextMenuPrimitive.SubTrigger>
</ContextMenuPrimitive.SubmenuTrigger>
);
}
function ContextMenuSubContent({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {
return (
<ContextMenuPrimitive.SubContent
data-slot="context-menu-sub-content"
className={cn(
"data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-closed:animate-out data-open:animate-in",
className,
)}
{...props}
/>
);
function ContextMenuSubContent({ ...props }: React.ComponentProps<typeof ContextMenuContent>) {
return <ContextMenuContent data-slot="context-menu-sub-content" className="shadow-lg" side="right" {...props} />;
}
function ContextMenuCheckboxItem({
className,
children,
checked,
inset,
...props
}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {
}: ContextMenuPrimitive.CheckboxItem.Props & {
inset?: boolean;
}) {
return (
<ContextMenuPrimitive.CheckboxItem
data-slot="context-menu-checkbox-item"
data-inset={inset}
className={cn(
"relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
"relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
className,
)}
checked={checked}
{...props}
>
<span className="pointer-events-none absolute inset-e-2">
<ContextMenuPrimitive.ItemIndicator>
<span className="pointer-events-none absolute right-2">
<ContextMenuPrimitive.CheckboxItemIndicator>
<CheckIcon />
</ContextMenuPrimitive.ItemIndicator>
</ContextMenuPrimitive.CheckboxItemIndicator>
</span>
{children}
</ContextMenuPrimitive.CheckboxItem>
);
}
function ContextMenuRadioGroup({ ...props }: ContextMenuPrimitive.RadioGroup.Props) {
return <ContextMenuPrimitive.RadioGroup data-slot="context-menu-radio-group" {...props} />;
}
function ContextMenuRadioItem({
className,
children,
inset,
...props
}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {
}: ContextMenuPrimitive.RadioItem.Props & {
inset?: boolean;
}) {
return (
<ContextMenuPrimitive.RadioItem
data-slot="context-menu-radio-item"
data-inset={inset}
className={cn(
"relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
"relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
className,
)}
{...props}
>
<span className="pointer-events-none absolute inset-e-2">
<ContextMenuPrimitive.ItemIndicator>
<span className="pointer-events-none absolute right-2">
<ContextMenuPrimitive.RadioItemIndicator>
<CheckIcon />
</ContextMenuPrimitive.ItemIndicator>
</ContextMenuPrimitive.RadioItemIndicator>
</span>
{children}
</ContextMenuPrimitive.RadioItem>
);
}
function ContextMenuLabel({
className,
inset,
...props
}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {
inset?: boolean;
}) {
return (
<ContextMenuPrimitive.Label
data-slot="context-menu-label"
data-inset={inset}
className={cn("px-2 py-1.5 font-medium text-muted-foreground text-xs data-inset:ps-8", className)}
{...props}
/>
);
}
function ContextMenuSeparator({ className, ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {
function ContextMenuSeparator({ className, ...props }: ContextMenuPrimitive.Separator.Props) {
return (
<ContextMenuPrimitive.Separator
data-slot="context-menu-separator"
@@ -205,18 +215,18 @@ function ContextMenuShortcut({ className, ...props }: React.ComponentProps<"span
export {
ContextMenu,
ContextMenuTrigger,
ContextMenuContent,
ContextMenuItem,
ContextMenuCheckboxItem,
ContextMenuRadioItem,
ContextMenuContent,
ContextMenuGroup,
ContextMenuItem,
ContextMenuLabel,
ContextMenuPortal,
ContextMenuRadioGroup,
ContextMenuRadioItem,
ContextMenuSeparator,
ContextMenuShortcut,
ContextMenuGroup,
ContextMenuPortal,
ContextMenuSub,
ContextMenuSubContent,
ContextMenuSubTrigger,
ContextMenuRadioGroup,
ContextMenuTrigger,
};
+92 -88
View File
@@ -1,115 +1,119 @@
import {
DialogClose as DialogClosePrimitive,
type DialogCloseProps as DialogClosePrimitiveProps,
DialogContent as DialogContentPrimitive,
type DialogContentProps as DialogContentPrimitiveProps,
DialogDescription as DialogDescriptionPrimitive,
type DialogDescriptionProps as DialogDescriptionPrimitiveProps,
DialogFooter as DialogFooterPrimitive,
type DialogFooterProps as DialogFooterPrimitiveProps,
DialogHeader as DialogHeaderPrimitive,
type DialogHeaderProps as DialogHeaderPrimitiveProps,
DialogOverlay as DialogOverlayPrimitive,
type DialogOverlayProps as DialogOverlayPrimitiveProps,
DialogPortal as DialogPortalPrimitive,
Dialog as DialogPrimitive,
type DialogProps as DialogPrimitiveProps,
DialogTitle as DialogTitlePrimitive,
type DialogTitleProps as DialogTitlePrimitiveProps,
DialogTrigger as DialogTriggerPrimitive,
type DialogTriggerProps as DialogTriggerPrimitiveProps,
} from "@/components/primitives/dialog";
import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
import { Trans } from "@lingui/react/macro";
import { XIcon } from "@phosphor-icons/react";
import type * as React from "react";
import { Button } from "@/components/ui/button";
import { cn } from "@/utils/style";
type DialogProps = DialogPrimitiveProps;
function Dialog(props: DialogProps) {
return <DialogPrimitive {...props} />;
function Dialog({ ...props }: DialogPrimitive.Root.Props) {
return <DialogPrimitive.Root data-slot="dialog" {...props} />;
}
type DialogTriggerProps = DialogTriggerPrimitiveProps;
function DialogTrigger(props: DialogTriggerProps) {
return <DialogTriggerPrimitive {...props} />;
function DialogTrigger({ ...props }: DialogPrimitive.Trigger.Props) {
return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />;
}
type DialogCloseProps = DialogClosePrimitiveProps;
function DialogClose(props: DialogCloseProps) {
return <DialogClosePrimitive {...props} />;
function DialogPortal({ ...props }: DialogPrimitive.Portal.Props) {
return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />;
}
type DialogOverlayProps = DialogOverlayPrimitiveProps;
function DialogOverlay({ className, ...props }: DialogOverlayProps) {
return <DialogOverlayPrimitive className={cn("fixed inset-0 z-50 bg-black/50", className)} {...props} />;
function DialogClose({ ...props }: DialogPrimitive.Close.Props) {
return <DialogPrimitive.Close data-slot="dialog-close" {...props} />;
}
type DialogContentProps = DialogContentPrimitiveProps;
function DialogContent({ className, children, ...props }: DialogContentProps) {
function DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props) {
return (
<DialogPortalPrimitive>
<DialogOverlay />
<DialogContentPrimitive
className={cn(
"fixed top-[50%] left-[50%] z-50 grid max-h-[calc(100%-2rem)] w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 overflow-y-auto rounded-lg border bg-background p-6 shadow-lg sm:max-w-2xl 2xl:max-w-4xl",
className,
)}
{...props}
>
{children}
</DialogContentPrimitive>
</DialogPortalPrimitive>
);
}
type DialogHeaderProps = DialogHeaderPrimitiveProps;
function DialogHeader({ className, ...props }: DialogHeaderProps) {
return (
<DialogHeaderPrimitive className={cn("flex flex-col gap-2 text-center sm:text-start", className)} {...props} />
);
}
type DialogFooterProps = DialogFooterPrimitiveProps;
function DialogFooter({ className, ...props }: DialogFooterProps) {
return (
<DialogFooterPrimitive
className={cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className)}
<DialogPrimitive.Backdrop
data-slot="dialog-overlay"
className={cn(
"data-open:fade-in-0 data-closed:fade-out-0 fixed inset-0 isolate z-50 bg-black/10 duration-100 data-closed:animate-out data-open:animate-in supports-backdrop-filter:backdrop-blur-xs",
className,
)}
{...props}
/>
);
}
type DialogTitleProps = DialogTitlePrimitiveProps;
function DialogTitle({ className, ...props }: DialogTitleProps) {
return <DialogTitlePrimitive className={cn("font-semibold text-lg leading-none", className)} {...props} />;
function DialogContent({
className,
children,
showClose = false,
...props
}: DialogPrimitive.Popup.Props & {
showClose?: boolean;
}) {
return (
<DialogPortal>
<DialogOverlay />
<DialogPrimitive.Popup
data-slot="dialog-content"
className={cn(
"data-open:fade-in-0 data-open:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-background p-6 text-sm outline-none ring-1 ring-foreground/10 duration-100 data-closed:animate-out data-open:animate-in sm:max-w-2xl",
className,
)}
{...props}
>
{children}
{showClose && (
<DialogPrimitive.Close
data-slot="dialog-close"
render={<Button variant="ghost" className="absolute top-4 right-4" size="icon-sm" />}
>
<XIcon />
<span className="sr-only">
<Trans>Close</Trans>
</span>
</DialogPrimitive.Close>
)}
</DialogPrimitive.Popup>
</DialogPortal>
);
}
type DialogDescriptionProps = DialogDescriptionPrimitiveProps;
function DialogHeader({ className, ...props }: React.ComponentProps<"div">) {
return <div data-slot="dialog-header" className={cn("flex flex-col gap-2", className)} {...props} />;
}
function DialogDescription({ className, ...props }: DialogDescriptionProps) {
return <DialogDescriptionPrimitive className={cn("text-muted-foreground text-sm", className)} {...props} />;
function DialogFooter({ className, children, ...props }: React.ComponentProps<"div">) {
return (
<div
data-slot="dialog-footer"
className={cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className)}
{...props}
>
{children}
</div>
);
}
function DialogTitle({ className, ...props }: DialogPrimitive.Title.Props) {
return (
<DialogPrimitive.Title data-slot="dialog-title" className={cn("font-medium leading-none", className)} {...props} />
);
}
function DialogDescription({ className, ...props }: DialogPrimitive.Description.Props) {
return (
<DialogPrimitive.Description
data-slot="dialog-description"
className={cn(
"text-muted-foreground text-sm *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
className,
)}
{...props}
/>
);
}
export {
Dialog,
DialogTrigger,
DialogClose,
DialogContent,
DialogHeader,
DialogFooter,
DialogTitle,
DialogDescription,
type DialogProps,
type DialogTriggerProps,
type DialogCloseProps,
type DialogContentProps,
type DialogHeaderProps,
type DialogFooterProps,
type DialogTitleProps,
type DialogDescriptionProps,
DialogFooter,
DialogHeader,
DialogOverlay,
DialogPortal,
DialogTitle,
DialogTrigger,
};
+172 -168
View File
@@ -1,86 +1,87 @@
import { CaretRightIcon, CheckIcon, CircleIcon } from "@phosphor-icons/react";
import {
DropdownMenuCheckboxItem as DropdownMenuCheckboxItemPrimitive,
type DropdownMenuCheckboxItemProps as DropdownMenuCheckboxItemPrimitiveProps,
DropdownMenuContent as DropdownMenuContentPrimitive,
type DropdownMenuContentProps as DropdownMenuContentPrimitiveProps,
DropdownMenuGroup as DropdownMenuGroupPrimitive,
type DropdownMenuGroupProps as DropdownMenuGroupPrimitiveProps,
DropdownMenuItemIndicator as DropdownMenuItemIndicatorPrimitive,
DropdownMenuItem as DropdownMenuItemPrimitive,
type DropdownMenuItemProps as DropdownMenuItemPrimitiveProps,
DropdownMenuLabel as DropdownMenuLabelPrimitive,
type DropdownMenuLabelProps as DropdownMenuLabelPrimitiveProps,
DropdownMenu as DropdownMenuPrimitive,
type DropdownMenuProps as DropdownMenuPrimitiveProps,
DropdownMenuRadioGroup as DropdownMenuRadioGroupPrimitive,
type DropdownMenuRadioGroupProps as DropdownMenuRadioGroupPrimitiveProps,
DropdownMenuRadioItem as DropdownMenuRadioItemPrimitive,
type DropdownMenuRadioItemProps as DropdownMenuRadioItemPrimitiveProps,
DropdownMenuSeparator as DropdownMenuSeparatorPrimitive,
type DropdownMenuSeparatorProps as DropdownMenuSeparatorPrimitiveProps,
DropdownMenuShortcut as DropdownMenuShortcutPrimitive,
type DropdownMenuShortcutProps as DropdownMenuShortcutPrimitiveProps,
DropdownMenuSubContent as DropdownMenuSubContentPrimitive,
type DropdownMenuSubContentProps as DropdownMenuSubContentPrimitiveProps,
DropdownMenuSub as DropdownMenuSubPrimitive,
type DropdownMenuSubProps as DropdownMenuSubPrimitiveProps,
DropdownMenuSubTrigger as DropdownMenuSubTriggerPrimitive,
type DropdownMenuSubTriggerProps as DropdownMenuSubTriggerPrimitiveProps,
DropdownMenuTrigger as DropdownMenuTriggerPrimitive,
type DropdownMenuTriggerProps as DropdownMenuTriggerPrimitiveProps,
} from "@/components/primitives/dropdown-menu";
import { Menu as MenuPrimitive } from "@base-ui/react/menu";
import { CaretRightIcon, CheckIcon } from "@phosphor-icons/react";
import type * as React from "react";
import { cn } from "@/utils/style";
type DropdownMenuProps = DropdownMenuPrimitiveProps;
function DropdownMenu(props: DropdownMenuProps) {
return <DropdownMenuPrimitive {...props} />;
function DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {
return <MenuPrimitive.Root data-slot="dropdown-menu" {...props} />;
}
type DropdownMenuTriggerProps = DropdownMenuTriggerPrimitiveProps;
function DropdownMenuTrigger(props: DropdownMenuTriggerProps) {
return <DropdownMenuTriggerPrimitive {...props} />;
function DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {
return <MenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} />;
}
type DropdownMenuContentProps = DropdownMenuContentPrimitiveProps;
function DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {
return <MenuPrimitive.Trigger data-slot="dropdown-menu-trigger" {...props} />;
}
function DropdownMenuContent({ sideOffset = 4, className, children, ...props }: DropdownMenuContentProps) {
function DropdownMenuContent({
align = "start",
alignOffset = 0,
side = "bottom",
sideOffset = 4,
className,
...props
}: MenuPrimitive.Popup.Props & Pick<MenuPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">) {
return (
<DropdownMenuContentPrimitive
sideOffset={sideOffset}
className={cn(
"z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none",
className,
)}
{...props}
>
{children}
</DropdownMenuContentPrimitive>
<MenuPrimitive.Portal>
<MenuPrimitive.Positioner
className="isolate z-50 outline-none"
align={align}
alignOffset={alignOffset}
side={side}
sideOffset={sideOffset}
>
<MenuPrimitive.Popup
data-slot="dropdown-menu-content"
className={cn(
"data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:fade-in-0 data-open:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-y-auto overflow-x-hidden rounded-md bg-popover p-1 text-popover-foreground shadow-md outline-none ring-1 ring-foreground/10 duration-100 data-closed:animate-out data-open:animate-in data-closed:overflow-hidden",
className,
)}
{...props}
/>
</MenuPrimitive.Positioner>
</MenuPrimitive.Portal>
);
}
type DropdownMenuGroupProps = DropdownMenuGroupPrimitiveProps;
function DropdownMenuGroup({ ...props }: DropdownMenuGroupProps) {
return <DropdownMenuGroupPrimitive {...props} />;
function DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {
return <MenuPrimitive.Group data-slot="dropdown-menu-group" {...props} />;
}
type DropdownMenuItemProps = DropdownMenuItemPrimitiveProps & {
function DropdownMenuLabel({
className,
inset,
...props
}: MenuPrimitive.GroupLabel.Props & {
inset?: boolean;
}) {
return (
<MenuPrimitive.GroupLabel
data-slot="dropdown-menu-label"
data-inset={inset}
className={cn("px-2 py-1.5 font-medium text-muted-foreground text-xs data-inset:pl-8", className)}
{...props}
/>
);
}
function DropdownMenuItem({
className,
inset,
variant = "default",
...props
}: MenuPrimitive.Item.Props & {
inset?: boolean;
variant?: "default" | "destructive";
};
function DropdownMenuItem({ className, inset, variant = "default", disabled, ...props }: DropdownMenuItemProps) {
}) {
return (
<DropdownMenuItemPrimitive
disabled={disabled}
<MenuPrimitive.Item
data-slot="dropdown-menu-item"
data-inset={inset}
data-variant={variant}
className={cn(
"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-inset:ps-8 data-[variant=destructive]:text-destructive data-[disabled=true]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive!",
"data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive data-highlighted:bg-accent data-highlighted:text-accent-foreground dark:data-[variant=destructive]:data-highlighted:bg-destructive/20",
"group/dropdown-menu-item relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive",
className,
)}
{...props}
@@ -88,126 +89,142 @@ function DropdownMenuItem({ className, inset, variant = "default", disabled, ...
);
}
type DropdownMenuCheckboxItemProps = DropdownMenuCheckboxItemPrimitiveProps;
function DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {
return <MenuPrimitive.SubmenuRoot data-slot="dropdown-menu-sub" {...props} />;
}
function DropdownMenuCheckboxItem({ className, children, checked, disabled, ...props }: DropdownMenuCheckboxItemProps) {
function DropdownMenuSubTrigger({
className,
inset,
children,
...props
}: MenuPrimitive.SubmenuTrigger.Props & {
inset?: boolean;
}) {
return (
<DropdownMenuCheckboxItemPrimitive
disabled={disabled}
<MenuPrimitive.SubmenuTrigger
data-slot="dropdown-menu-sub-trigger"
data-inset={inset}
className={cn(
"relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
"data-highlighted:bg-accent data-highlighted:text-accent-foreground",
"flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-open:bg-accent data-popup-open:bg-accent data-inset:pl-8 data-open:text-accent-foreground data-popup-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
className,
)}
{...props}
>
{children}
<CaretRightIcon className="ml-auto" />
</MenuPrimitive.SubmenuTrigger>
);
}
function DropdownMenuSubContent({
align = "start",
alignOffset = -3,
side = "right",
sideOffset = 0,
className,
...props
}: React.ComponentProps<typeof DropdownMenuContent>) {
return (
<DropdownMenuContent
data-slot="dropdown-menu-sub-content"
className={cn(
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:fade-in-0 data-open:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 w-auto min-w-[96px] rounded-md bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-closed:animate-out data-open:animate-in",
className,
)}
align={align}
alignOffset={alignOffset}
side={side}
sideOffset={sideOffset}
{...props}
/>
);
}
function DropdownMenuCheckboxItem({
className,
children,
checked,
inset,
...props
}: MenuPrimitive.CheckboxItem.Props & {
inset?: boolean;
}) {
return (
<MenuPrimitive.CheckboxItem
data-slot="dropdown-menu-checkbox-item"
data-inset={inset}
className={cn(
"relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
className,
)}
checked={checked}
{...props}
>
<span className="pointer-events-none absolute inset-s-2 flex size-3.5 items-center justify-center">
<DropdownMenuItemIndicatorPrimitive initial={{ opacity: 0, scale: 0.5 }} animate={{ opacity: 1, scale: 1 }}>
<CheckIcon className="size-4" />
</DropdownMenuItemIndicatorPrimitive>
<span
className="pointer-events-none absolute right-2 flex items-center justify-center"
data-slot="dropdown-menu-checkbox-item-indicator"
>
<MenuPrimitive.CheckboxItemIndicator>
<CheckIcon />
</MenuPrimitive.CheckboxItemIndicator>
</span>
{children}
</DropdownMenuCheckboxItemPrimitive>
</MenuPrimitive.CheckboxItem>
);
}
type DropdownMenuRadioGroupProps = DropdownMenuRadioGroupPrimitiveProps;
function DropdownMenuRadioGroup(props: DropdownMenuRadioGroupProps) {
return <DropdownMenuRadioGroupPrimitive {...props} />;
function DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {
return <MenuPrimitive.RadioGroup data-slot="dropdown-menu-radio-group" {...props} />;
}
type DropdownMenuRadioItemProps = DropdownMenuRadioItemPrimitiveProps;
function DropdownMenuRadioItem({ className, children, disabled, ...props }: DropdownMenuRadioItemProps) {
function DropdownMenuRadioItem({
className,
children,
inset,
...props
}: MenuPrimitive.RadioItem.Props & {
inset?: boolean;
}) {
return (
<DropdownMenuRadioItemPrimitive
disabled={disabled}
<MenuPrimitive.RadioItem
data-slot="dropdown-menu-radio-item"
data-inset={inset}
className={cn(
"relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
"data-highlighted:bg-accent data-highlighted:text-accent-foreground",
"relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
className,
)}
{...props}
>
<span className="pointer-events-none absolute inset-s-2 flex size-3.5 items-center justify-center">
<DropdownMenuItemIndicatorPrimitive layoutId="dropdown-menu-item-indicator-radio">
<CircleIcon className="size-2 fill-current" />
</DropdownMenuItemIndicatorPrimitive>
<span
className="pointer-events-none absolute right-2 flex items-center justify-center"
data-slot="dropdown-menu-radio-item-indicator"
>
<MenuPrimitive.RadioItemIndicator>
<CheckIcon />
</MenuPrimitive.RadioItemIndicator>
</span>
{children}
</DropdownMenuRadioItemPrimitive>
</MenuPrimitive.RadioItem>
);
}
type DropdownMenuLabelProps = DropdownMenuLabelPrimitiveProps & {
inset?: boolean;
};
function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuLabelProps) {
function DropdownMenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props) {
return (
<DropdownMenuLabelPrimitive
data-inset={inset}
className={cn("px-2 py-1.5 font-medium text-sm data-inset:ps-8", className)}
<MenuPrimitive.Separator
data-slot="dropdown-menu-separator"
className={cn("-mx-1 my-1 h-px bg-border", className)}
{...props}
/>
);
}
type DropdownMenuSeparatorProps = DropdownMenuSeparatorPrimitiveProps;
function DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps) {
return <DropdownMenuSeparatorPrimitive className={cn("-mx-1 my-1 h-px bg-border", className)} {...props} />;
}
type DropdownMenuShortcutProps = DropdownMenuShortcutPrimitiveProps;
function DropdownMenuShortcut({ className, ...props }: DropdownMenuShortcutProps) {
function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">) {
return (
<DropdownMenuShortcutPrimitive
className={cn("ml-auto text-muted-foreground text-xs tracking-widest", className)}
{...props}
/>
);
}
type DropdownMenuSubProps = DropdownMenuSubPrimitiveProps;
function DropdownMenuSub(props: DropdownMenuSubProps) {
return <DropdownMenuSubPrimitive {...props} />;
}
type DropdownMenuSubTriggerProps = DropdownMenuSubTriggerPrimitiveProps & {
inset?: boolean;
};
function DropdownMenuSubTrigger({ disabled, className, inset, children, ...props }: DropdownMenuSubTriggerProps) {
return (
<DropdownMenuSubTriggerPrimitive
disabled={disabled}
data-inset={inset}
<span
data-slot="dropdown-menu-shortcut"
className={cn(
"flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden data-inset:ps-8 data-[state=open]:text-accent-foreground",
"data-[state=open]:**:data-[slot=chevron]:rotate-90 **:data-[slot=chevron]:transition-transform **:data-[slot=chevron]:duration-300 **:data-[slot=chevron]:ease-in-out",
"data-highlighted:bg-accent data-highlighted:text-accent-foreground",
className,
)}
{...props}
>
{children}
<CaretRightIcon data-slot="chevron" className="ml-auto size-4" />
</DropdownMenuSubTriggerPrimitive>
);
}
type DropdownMenuSubContentProps = DropdownMenuSubContentPrimitiveProps;
function DropdownMenuSubContent({ className, ...props }: DropdownMenuSubContentProps) {
return (
<DropdownMenuSubContentPrimitive
className={cn(
"z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg outline-none",
"ml-auto text-muted-foreground text-xs tracking-widest group-focus/dropdown-menu-item:text-accent-foreground",
className,
)}
{...props}
@@ -217,31 +234,18 @@ function DropdownMenuSubContent({ className, ...props }: DropdownMenuSubContentP
export {
DropdownMenu,
DropdownMenuTrigger,
DropdownMenuCheckboxItem,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuCheckboxItem,
DropdownMenuLabel,
DropdownMenuPortal,
DropdownMenuRadioGroup,
DropdownMenuRadioItem,
DropdownMenuLabel,
DropdownMenuSeparator,
DropdownMenuShortcut,
DropdownMenuSub,
DropdownMenuSubTrigger,
DropdownMenuSubContent,
type DropdownMenuProps,
type DropdownMenuTriggerProps,
type DropdownMenuContentProps,
type DropdownMenuGroupProps,
type DropdownMenuItemProps,
type DropdownMenuCheckboxItemProps,
type DropdownMenuRadioGroupProps,
type DropdownMenuRadioItemProps,
type DropdownMenuLabelProps,
type DropdownMenuSeparatorProps,
type DropdownMenuShortcutProps,
type DropdownMenuSubProps,
type DropdownMenuSubTriggerProps,
type DropdownMenuSubContentProps,
DropdownMenuSubTrigger,
DropdownMenuTrigger,
};
+16 -14
View File
@@ -1,6 +1,5 @@
import { useRender } from "@base-ui/react";
import { isPlainObject } from "es-toolkit";
import type { Label as LabelPrimitive } from "radix-ui";
import { Slot as SlotPrimitive } from "radix-ui";
import * as React from "react";
import {
Controller,
@@ -76,7 +75,7 @@ function FormItem({ className, ...props }: React.ComponentProps<"div">) {
);
}
function FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {
function FormLabel({ className, ...props }: React.ComponentProps<typeof Label>) {
const { error, formItemId } = useFormField();
return (
@@ -90,18 +89,21 @@ function FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPri
);
}
function FormControl({ ...props }: React.ComponentProps<typeof SlotPrimitive.Slot>) {
function FormControl(props: useRender.ComponentProps<"div">) {
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
return (
<SlotPrimitive.Slot
data-slot="form-control"
id={formItemId}
aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}
aria-invalid={!!error}
{...props}
/>
);
return useRender({
...props,
defaultTagName: "div",
state: { slot: "form-control" },
props: {
id: formItemId,
"data-slot": "form-control",
"aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
"aria-invalid": !!error,
...props,
},
});
}
function FormDescription({ className, ...props }: React.ComponentProps<"p">) {
@@ -152,4 +154,4 @@ function FormMessage({ className, ...props }: React.ComponentProps<"p">) {
);
}
export { Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };
export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage };
+27 -19
View File
@@ -1,35 +1,43 @@
import { HoverCard as HoverCardPrimitive } from "radix-ui";
import type * as React from "react";
import { PreviewCard as PreviewCardPrimitive } from "@base-ui/react/preview-card";
import { cn } from "@/utils/style";
function HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>) {
return <HoverCardPrimitive.Root data-slot="hover-card" {...props} />;
function HoverCard({ ...props }: PreviewCardPrimitive.Root.Props) {
return <PreviewCardPrimitive.Root data-slot="hover-card" {...props} />;
}
function HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {
return <HoverCardPrimitive.Trigger data-slot="hover-card-trigger" {...props} />;
function HoverCardTrigger({ ...props }: PreviewCardPrimitive.Trigger.Props) {
return <PreviewCardPrimitive.Trigger data-slot="hover-card-trigger" {...props} />;
}
function HoverCardContent({
className,
align = "center",
side = "bottom",
sideOffset = 4,
align = "center",
alignOffset = 4,
...props
}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {
}: PreviewCardPrimitive.Popup.Props &
Pick<PreviewCardPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">) {
return (
<HoverCardPrimitive.Portal data-slot="hover-card-portal">
<HoverCardPrimitive.Content
data-slot="hover-card-content"
<PreviewCardPrimitive.Portal data-slot="hover-card-portal">
<PreviewCardPrimitive.Positioner
align={align}
alignOffset={alignOffset}
side={side}
sideOffset={sideOffset}
className={cn(
"data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-4 text-popover-foreground text-sm shadow-md outline-hidden ring-1 ring-foreground/10 duration-100 data-closed:animate-out data-open:animate-in",
className,
)}
{...props}
/>
</HoverCardPrimitive.Portal>
className="isolate z-50"
>
<PreviewCardPrimitive.Popup
data-slot="hover-card-content"
className={cn(
"data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:fade-in-0 data-open:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 z-50 w-64 origin-(--transform-origin) rounded-lg bg-popover p-4 text-popover-foreground text-sm shadow-md outline-hidden ring-1 ring-foreground/10 duration-100 data-closed:animate-out data-open:animate-in",
className,
)}
{...props}
/>
</PreviewCardPrimitive.Positioner>
</PreviewCardPrimitive.Portal>
);
}
export { HoverCard, HoverCardTrigger, HoverCardContent };
export { HoverCard, HoverCardContent, HoverCardTrigger };
+13 -9
View File
@@ -11,7 +11,7 @@ function InputGroup({ className, ...props }: React.ComponentProps<"div">) {
data-slot="input-group"
role="group"
className={cn(
"group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs outline-none transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-ring has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=inline-start]]:[&>input]:ps-1.5 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3",
"group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs outline-none transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>input]:pl-1.5",
className,
)}
{...props}
@@ -24,8 +24,8 @@ const inputGroupAddonVariants = cva(
{
variants: {
align: {
"inline-start": "order-first ps-2 has-[>button]:-ms-1 has-[>kbd]:ms-[-0.15rem]",
"inline-end": "order-last pe-2 has-[>button]:-me-1 has-[>kbd]:me-[-0.15rem]",
"inline-start": "order-first pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem]",
"inline-end": "order-last pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem]",
"block-start":
"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
"block-end": "order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2",
@@ -73,21 +73,25 @@ const inputGroupButtonVariants = cva("flex items-center gap-2 text-sm shadow-non
},
});
type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, "size" | "type"> &
VariantProps<typeof inputGroupButtonVariants> & {
type?: "button" | "submit" | "reset";
};
function InputGroupButton({
className,
type = "button",
variant = "ghost",
size = "xs",
...props
}: Omit<React.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>) {
}: InputGroupButtonProps) {
return (
<Button
{...props}
type={type}
asChild={false}
data-size={size}
variant={variant}
className={cn(inputGroupButtonVariants({ size }), className)}
{...props}
/>
);
}
@@ -109,7 +113,7 @@ function InputGroupInput({ className, ...props }: React.ComponentProps<"input">)
<Input
data-slot="input-group-control"
className={cn(
"flex-1 rounded-none border-0 bg-transparent shadow-none hover:bg-secondary/40 focus-visible:bg-secondary/40 aria-invalid:ring-0",
"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent",
className,
)}
{...props}
@@ -122,7 +126,7 @@ function InputGroupTextarea({ className, ...props }: React.ComponentProps<"texta
<Textarea
data-slot="input-group-control"
className={cn(
"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none aria-invalid:ring-0 dark:bg-transparent",
"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent",
className,
)}
{...props}
@@ -130,4 +134,4 @@ function InputGroupTextarea({ className, ...props }: React.ComponentProps<"texta
);
}
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea };
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };

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