Files
Reactive-Resume/apps/web/locales/es-ES.po
T
Amruth Pillai de7baa5faf test: add ~500 tests across web, utils, api, import, ai, db, email, auth (#3038)
* test(web): add tests for zustand stores and pure helpers

Cover stores and pure helpers across the builder/dashboard/command-palette
surfaces that previously had 0% coverage:

- command-palette store (open/close, page stack, search clearing, goBack)
- builder assistant-store
- builder sidebar store + parseBuilderLayoutCookie / mapPanelLayoutToBuilderLayout
- builder section store (collapse, toggle, toggleAll)
- builder preview page-layout toggle
- dashboard resume-thumbnail render-size math + cache key
- MCP tool name + annotations invariants

* test(web): cover MCP helpers and template metadata

Add tests for previously 0%-coverage MCP and dialog helpers:

- buildMcpServerCard: server-info, tool catalog vs MCP_TOOL_NAME, prompts,
  resource templates, configuration schema, auth schemes
- registerPrompts (build/improve/review): registration, args schema, resource
  context with interpolated resume id, read-only / no-fabrication directives
- registerResources (resume://{id}, resume://_meta/schema): handler reads via
  oRPC client, error on missing id, schema returns valid JSON
- templates metadata: ids match display names, valid sidebar positions,
  unique image URLs, every entry has tags + description

* test(web): cover sidebar section helpers and layout screens

Add tests for previously near-0%-coverage modules:

- libs/resume/section: getSectionTitle / getSectionIcon return distinct,
  exhaustive results for every sidebar section + cover-letter; icon props
  forwarding; left/right sidebar collections do not overlap.
- layout/loading-screen: spinner + text render.
- layout/error-screen: error message surfaces, Refresh button triggers reset.
- layout/breakpoint-indicator: default + each corner positioning, all
  breakpoint labels rendered, print-hidden class applied.

* test(web): cover preview canvas math and font-weight defaults

Add tests for pure helpers that previously had no direct coverage:

- typography/getNextWeights: prefers 400 + 600 when both are available,
  returns null for unknown families, never produces duplicates, bounded
  to two weights from the 100..900 set.
- preview.shared/normalizeResumePreviewProps: documented defaults +
  pass-through.
- preview.shared/getScaledPreviewPageSize: scaling identity at 1, and
  fractional scaling.
- preview.shared/getPreviewCanvasScale: respects 4x desired scale for
  small pages, honors high devicePixelRatio, clamps to the 16M-pixel
  canvas budget for large pages.

* test(utils): cover DOCX section renderers and html-to-paragraphs

@reactive-resume/utils/resume/docx was previously at ~2.84% statement
coverage despite being load-bearing for the resume DOCX export.

- section-renderers: empty-string / hidden-section / hidden-item branches
  for renderSummary, renderBuiltInSection, and renderCustomSection;
  cover-letter and summary custom-section dispatch; unknown-type fallback;
  setRenderConfig idempotency.
- html-to-docx: whitespace-only short-circuit, multiple top-level blocks,
  h1..h6 paragraph mapping, inline style and link rendering, custom
  font/size/color/linkColor config, ignored script/comment nodes.

* test: cover DOCX builder smoke paths and reactive-resume JSON importer

- utils/resume/docx/builder: buildDocument runs end-to-end against the
  default and sample resume data, both page formats, full-width and
  sidebar layouts, and gracefully degrades with unparseable color or
  empty font family inputs.
- import/reactive-resume-json: ReactiveResumeJSONImporter validates
  malformed JSON, recovers missing built-in sections by appending them
  to page 1 without reordering, and preserves layouts that already
  contain every built-in section.

* test(import): cover JSONResumeImporter parse/convert

JSONResumeImporter (450 lines) was previously at 0% coverage. Add tests
for the public surface:

- Invalid JSON / invalid-shape errors are surfaced.
- basics, summary, picture, education, projects, skills, profiles all
  map to the corresponding ResumeData sections.
- Empty work/education entries (missing key field) are filtered out.
- Highlights become HTML list items in the description field.
- Skill level parsing flows through utils/level.parseLevel.
- formatLocation joins city, region, countryCode with commas.

* test(web): cover query client serializer and home-page animations

- libs/query/client: getQueryClient returns a fresh QueryClient,
  queryKeyHashFn produces stable JSON envelopes for matching keys
  (and distinct strings for different keys), dehydrate/hydrate
  round-trip Date values via the oRPC serializer.
- components/animation/spotlight: overlay container is
  pointer-events-none, both beam groups render, custom
  width/height/translateY/gradient props flow into inline styles.
- components/animation/comet-card: children mount inside the
  perspective wrapper, custom className is merged with the 3D
  baseline classes, glare overlay renders, mouse move/leave
  handlers do not throw.

* test(web): cover Copyright footer

Verify the footer's MIT license link, Amruth Pillai attribution,
external-tab targets, embedded app version (via __APP_VERSION__ stub),
and custom className merging — previously at 0% coverage.

* test(api): cover flags, auth providers, and resume-access cookies

Unlock @reactive-resume/api by mocking @reactive-resume/env/server and
@tanstack/react-start/server. Previously the only services tested were
the standalone AI test and resume-access-policy.

- services/flags: flagsService.getFlags reads disableSignups/disableEmailAuth
  from env (no stale cache).
- services/auth: providers.list always exposes credential + passkey, and
  only adds Google/GitHub/LinkedIn/custom when both id and secret are set;
  custom provider uses OAUTH_PROVIDER_NAME with a 'Custom OAuth' fallback.
- helpers/resume-access: hasResumeAccess validates against signed cookies
  with constant-time comparison; grantResumeAccess writes a 10-minute
  httpOnly cookie with the secure flag matching APP_URL's https-ness.

* test: cover statistics service and email transport via env mocks

- api/services/statistics: github star count succeeds, retries on
  non-OK, falls back to last-known on fetch error / non-positive /
  non-numeric responses; user and resume counts roll up DB count.
- email/src/transport: returns silently with no text/html, logs when
  SMTP is not configured, dispatches via nodemailer with the env
  config when fully wired, renders react elements to html + text
  bodies, swallows transport errors instead of crashing.

* test(api): cover resume-events publish + subscribe

- publishResumeUpdated issues pg_notify with channel and serialized
  event payload.
- subscribeResumeUpdated yields events whose resumeId+userId match
  the subscription, filters out other resumes/users, ignores
  malformed JSON and notifications on other channels, calls
  LISTEN/UNLISTEN and releases the client, and terminates
  immediately if the abort signal fires before iteration starts.

* test(api): cover oRPC auth resolution

resolveUserFromRequestHeaders is the single point where every oRPC
procedure picks up the authenticated user. Test the priority chain:

- x-api-key wins when present and valid
- on invalid api key, falls back to session via auth.api.getSession
- Bearer JWT in Authorization header is verified via verifyOAuthToken
- invalid Bearer falls back to session
- Authorization scheme other than Bearer is ignored entirely
- thrown errors from token verification are logged and swallowed
  (caller still tries session)
- returns null when no auth method succeeds

* test(api): cover storage helpers

inferContentType, isImageFile, processImageForUpload were 0%
coverage despite being on the picture upload path.

- inferContentType maps known image and pdf extensions, is
  case-insensitive, ignores path depth, and falls back to
  application/octet-stream for unknown.
- isImageFile allows only the upload allowlist (gif/png/jpeg/webp)
  and rejects image/svg+xml, application/pdf, and empty strings.
- processImageForUpload short-circuits to the original bytes when
  FLAG_DISABLE_IMAGE_PROCESSING is true, otherwise pipes through
  sharp and returns image/jpeg.

* test(import): broaden v4 importer section-mapping coverage

The existing v4 importer test focused on a single bug (description-only
custom items) and the skill/language level scaling. This new test
exercises the bulk of the v4 → v5 transformation path:

- basics, picture (with border), summary, customFields
- every section's filter-by-required-field invariant (awards needs
  title, certifications needs name, education needs institution,
  experience needs company, volunteer needs organization, etc.)
- experience / education / awards / certifications / references field
  renames between schemas
- language and skill level scaling (v4 0..10 → v5 0..5)

Brings reactive-resume-v4-json from ~66% statement coverage to a
materially higher figure (the bulk of the 410-line transformer body).

* test: cover buildDocx entry and AI configuration store

- utils/resume/docx/index: buildDocx returns a non-empty Blob for both
  default and populated resumes (previously 0% coverage despite being
  the public DOCX entry point).
- ai/store: useAIStore preserves verification status across no-op
  updates, but resets testStatus + enabled whenever provider, model,
  apiKey, or baseURL changes; canEnable is gated to testStatus=success;
  setEnabled(true) is refused unless verified; reset clears every
  field. Brings @reactive-resume/ai from ~72% to materially higher
  coverage.

* test(db): cover resume schema definitions

packages/db was previously at 0% coverage. Smoke-test the public
resume / resume_statistics / resume_analysis tables:

- getTableName matches the SQL identifier used by migrations
- expected columns are present on each table
- defaultResumeData wiring on the data column resolves to a valid
  shape

These are structural assertions that catch accidental renames /
removals without needing a live database connection.

* test(db): cover auth schema tables and relations export

- src/schema/auth: table-driven test for each of the 12 auth tables
  asserting SQL name and presence of the key columns (user/session/
  account/verification/two_factor/passkey/apikey/jwks/oauth_*).
- src/relations: smoke test confirming the relations export is defined.

Brings @reactive-resume/db from 0% to materially higher coverage.

* test(auth): cover getSession isomorphic helper

@reactive-resume/auth was previously at 0% coverage. functions.ts
is the server entry point that other packages call. Mock the auth
config + tanstack/react-start to verify:

- getSession forwards getRequestHeaders() to auth.api.getSession
- returns null when better-auth returns null

* test(web): cover BuilderSidebarEdge

Small presentational component on the builder layout — assert children
mount, left/right positioning class branches, and the sm:flex
mobile-hide behavior.

* test(web): cover section-title-locale resolver cache and hook

The section-title-locale module wraps createSectionTitleResolver with
a per-locale async cache and a React hook for consumers in the
builder. Cover:

- createSectionTitleResolverForLocale returns a usable resolver
- repeated calls for the same locale share a cached promise
- unknown locales fall back through resolveLocale
- useSectionTitleResolver returns null while loading and when no
  locale is passed
- the hook resolves to a function once the async loader settles

* test(web): cover BaseCommandGroup page-stack gating

BaseCommandGroup conditionally renders based on the top of the
command-palette page stack. Tests cover:

- root group renders when no sub-page is active
- root group hides when a sub-page is on top
- sub-page group renders only when its page matches
- mismatched sub-page leaves the group hidden

* test(web): cover ThemeProvider context

- useTheme outside ThemeProvider throws the documented error
- useTheme inside ThemeProvider returns the theme + setTheme +
  toggleTheme helpers

* test(web): cover ConfirmDialogProvider + useConfirm hook

- useConfirm outside provider throws the documented error
- confirm returns a pending promise
- promise resolves false when the Cancel button is clicked
- promise resolves true when the Confirm button is clicked
- works with custom confirmText label

apps/web has its own copy of this hook distinct from
packages/ui (mirrors the existing UI-package tests).

* test(web): cover PromptDialogProvider + usePrompt hook

- usePrompt outside provider throws the documented error
- returns a function when wrapped
- Cancel click resolves the promise to null
- Confirm click resolves to the current input value
- defaultValue option seeds the initial input value

* test(web): cover DashboardHeader

Small presentational header used across dashboard routes — title h1,
icon rendering, className merge, mobile sidebar trigger present and
hidden on md+.

* test(web): cover Create/Import resume cards

Both cards on the resumes dashboard wire a click handler to open
the appropriate dialog via the dialog store:

- CreateResumeCard opens resume.create
- ImportResumeCard opens resume.import

Also asserts the i18n copy strings (icons aside, the cards are
otherwise structural).

* test(web): cover command-palette language sub-page

LanguageCommandPage is a BaseCommandGroup gated on page='language'.
Tests assert:

- it is hidden when 'language' is not the top of the page stack
- when active, it renders a CommandItem per localeMap entry
- documented locale codes (en-US, de-DE, ja-JP) appear

* test(web): cover command-palette theme + preferences sub-pages

- ThemeCommandPage: hidden when 'theme' is not on top, renders Light
  and Dark options when active
- PreferencesCommandGroup: root group renders both Change theme to...
  and Change language to... items; clicking each pushes the
  corresponding page onto the command-palette stack

* test(ai): cover executePatchResume tool

- patchResumeInputSchema rejects empty operations and unknown op
  values; accepts valid replace/add/remove
- executePatchResume returns the applied operations on success
- executePatchResume throws when an operation targets an invalid path
  (passes through the underlying applyResumePatches validation)
- multi-op patches against top-level fields succeed end-to-end

* test(ai): cover sanitize edge branches

Hit the previously-uncovered branches in sanitize.ts:

- numeric 1 coerces to true
- '1' / '0' string shorthand coerces to true/false
- missing item.hidden gets salvaged to false
- empty input causes a non-Zod throw (caught + rethrown with generic message)

* test(ai): cover patch-proposal preview + normalize edge cases

- remove operations surface before-value with after=undefined
- buildResumePatchProposalPreview labels metadata/page paths sanely
- normalizeResumePatchProposals stamps every proposal with baseUpdatedAt
- normalizeResumePatchProposals preserves input order

* test(web): cover getLocaleOptions helper

Locale combobox surface — verify the option list mirrors localeMap
shape, uses locale codes as values, populates label + keywords with
the translated display name, and produces unique values.

* test(web): cover LevelTypeCombobox option mapping

LevelTypeCombobox maps levelDesignSchema.shape.type.options through
the internal getLevelTypeName labeler. Assert all 7 level types are
exposed and that each produces a non-empty label.

* test(web): cover ThemeToggleButton fallback paths

- aria-label flips between 'Switch to light theme' and 'Switch to
  dark theme' based on current theme
- clicking when document.startViewTransition is unavailable
  short-circuits to toggleTheme directly
- prefers-reduced-motion forces the direct toggle path even when
  the view-transition API is available

* test(web): cover NotFoundScreen

Mock the TanStack Router Link so the screen renders standalone, then
assert: documented error heading, routeId is surfaced verbatim, and
the Go Back link points to '..' (parent route).

* test(web): cover InformationSectionBuilder

Stub SectionBase so the donation/info section renders standalone.
Assert: donation prompt copy, OpenCollective CTA link, all 5
external resource links present, and external links target _blank
with rel=noopener.

* test(web): cover NotesSectionBuilder

Mock SectionBase, RichInput, and the resume-draft hooks so the
notes section renders in isolation. Assert: privacy hint copy
renders, RichInput is seeded with metadata.notes, and onChange
proxies through updateResumeData with a draft recipe that mutates
metadata.notes.

* test(web): cover TemplateSectionBuilder

Stub SectionBase and useCurrentResume so the right-sidebar template
section renders standalone. Asserts: current template name in the
heading, template tags rendered as badges, preview image points to
the catalog asset, and clicking the preview opens the
resume.template.gallery dialog.

* test(web): cover ColorPicker preset selection and trigger override

Mock the heavy @uiw/react-color-colorful dependency. Test:

- the trigger swatch reflects the controlled value
- clicking a preset color invokes onChange with an rgba() string
- a custom trigger replaces the default swatch when provided

* test(web): cover ExportSectionBuilder

Mock the heavy export pipelines (buildDocx, createResumePdfBlob,
downloadWithAnchor) and the resume-draft hook to test:

- JSON button packages resume.data as application/json and triggers
  download with the {name}.json filename
- DOCX button awaits buildDocx and downloads .docx
- PDF button awaits createResumePdfBlob and downloads .pdf

* test(web): cover ProfilesSectionBuilder

Stub the resume-draft hooks, SectionBase, SectionItem, and
SectionAddItemButton so the profiles section renders standalone:

- one SectionItem per profile with network as title and username as
  subtitle
- 'Add a new profile' affordance present
- when items.length > 0, the wrapper uses a solid border (not dashed)

* test(web): cover SkillsSectionBuilder

Mirror the profiles test for the skills section — verifies one
SectionItem per skill (name → title, proficiency → subtitle) and
the Add a new skill affordance.

* test(web): bulk-cover 7 left-sidebar section builders

Single test file covers awards, certifications, interests, languages,
publications, references, and volunteer builders. For each:

- one SectionItem rendered with the documented field → title/subtitle
  mapping
  - awards: title → awarder
  - certifications: title → 'issuer • date'
  - interests: name → (no subtitle)
  - languages: language → fluency
  - publications: title → publisher
  - references: name → (no subtitle)
  - volunteer: organization → location
- the 'Add a new {kind}' affordance with the matching copy

Mocks SectionBase, SectionItem, SectionAddItemButton, and the
resume-draft hooks so each builder renders standalone.

* test(web): cover ProjectsSectionBuilder buildSubtitle

The projects section is the only left-sidebar builder with a
composite subtitle. Tests three branches of its inline
buildSubtitle helper:

- period + website.label → joined with ' • '
- period only → just the period
- empty period + whitespace-only website.label → returns undefined

* test(web): cover Education + Experience section builders

- Education: school → title, degree → subtitle, add-new affordance
- Experience: position → subtitle when set; falls back to '1 role' /
  'N roles' (lingui plural) when position empty and roles[] present;
  add-new affordance

* test(web): cover CountUp animated number renderer

- default aria attributes (aria-live=polite, aria-atomic=true)
- initial textContent seeds to 'from' (up) or 'to' (down) value
- separator option formats with grouping
- decimal places are preserved when from/to are fractional
- aria-hidden=true strips aria-live + aria-atomic
- custom className is applied to the rendered span

* test(web): cover TextMaskEffect SVG renderer

- supplied text renders in every visible <text> layer
- aria-hidden + aria-label forwarded onto the root svg
- mouse enter/move/leave handlers don't throw
- custom className merges into the svg's class attribute

* test(web): cover URLInput prefix handling

- displayed input strips the https:// prefix so users only edit the
  meaningful portion
- editing re-adds the prefix on the way back through onChange
- pre-prefixed input is preserved
- cleared input emits an empty url (no prefix forced)
- hideLabelButton=true removes the popover trigger; default keeps it

* test(web): cover GithubStarsButton

Mocks useQuery + the CountUp animation so the button renders
standalone. Asserts:

- anchor points at the project repo with rel=noopener + target=_blank
- aria-label is the no-count copy when star count is undefined
- CountUp renders only once the count loads
- aria-label includes the localized count once data arrives

* test(web): cover ui/Combobox trigger label rendering

The shared Combobox wraps base-ui's combobox primitives. Smoke-test
the trigger label resolution:

- placeholder shows when nothing is selected
- selected option's label renders in the trigger
- multi-select default values render all labels
- empty options array renders the placeholder without crashing

* test(web): cover IconPicker trigger rendering

Stub react-window's Grid so happy-dom can render the picker without
layout-measurement deps. Verify:

- trigger renders an <i class='ph-{value}'> for the current value
- changing value updates the trigger icon class
- the picker emits a trigger button

* test(web): cover ChipInput add/dedupe/description behaviors

- existing chips render as Badges
- Enter adds the typed value to the chip list
- comma also commits the typed value
- duplicate input is dropped (onChange not called with a longer list)
- empty / whitespace-only input is dropped
- hideDescription removes the keyboard hint <kbd>; default keeps it

* test(web): cover StatisticsSectionBuilder

Mock useQuery + useParams + section-base so the right-sidebar
statistics section renders standalone:

- returns null content while the query is loading
- shows the private-resume hint when isPublic=false
- shows views/downloads counters and labels when isPublic=true
- includes 'Last viewed' timestamp copy when lastViewedAt is set

* test(web): cover TemplateGalleryDialog selection flow

- title + intro copy render
- one tile per template (>= 14)
- currently-selected template tile carries the ring-highlight
- clicking a different tile triggers updateResumeData with a recipe
  that sets metadata.template to the chosen template id

* test(web): cover Prefooter home-page section

- community tagline heading renders
- community-thanks paragraph renders
- the decorative TextMaskEffect renders an svg

* test(web): cover home-page Footer

- Resources and Community headings render
- documented resource links (Documentation, Sponsorships, Source
  Code, Changelog) all appear in the rendered output
- documented community links (Report an issue, Translations,
  Subreddit, Discord) all appear
- social anchors point at GitHub, LinkedIn, and X (Twitter)
- Copyright sub-component surfaces the app version via __APP_VERSION__

* test(web): cover home-page Header navigation

Mock TanStack Router Link + child components so the header renders
standalone. Verify:

- homepage anchor (/ link) carries the documented aria-label
- dashboard anchor points to /dashboard
- ThemeToggleButton and GithubStarsButton both mount
- the <nav> landmark is labeled 'Main navigation'

* chore: fix linter warnings
2026-05-11 14:25:10 +02:00

3686 lines
132 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
msgid ""
msgstr ""
"POT-Creation-Date: 2025-11-04 23:14+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: @lingui/cli\n"
"Language: es\n"
"Project-Id-Version: reactive-resume\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-05-11 12:13\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: reactive-resume\n"
"X-Crowdin-Project-ID: 503410\n"
"X-Crowdin-Language: es-ES\n"
"X-Crowdin-File: /apps/web/locales/en-US.po\n"
"X-Crowdin-File-ID: 545\n"
#. js-lingui-explicit-id
#: src/routes/dashboard/resumes/index.tsx
msgid "Last Updated"
msgstr "Última actualización"
#. js-lingui-explicit-id
#: src/routes/dashboard/resumes/index.tsx
msgid "Created"
msgstr "Creado"
#. js-lingui-explicit-id
#: src/routes/dashboard/resumes/index.tsx
msgid "Name"
msgstr "Nombre"
#: src/routes/_home/-sections/footer.tsx
#: src/routes/_home/-sections/hero.tsx
msgid "(opens in new tab)"
msgstr "(abrir en una nueva pestaña)"
#. placeholder {0}: section.items.length
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
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 "{0, plural, one {# puesto} other {# puestos}}"
#. placeholder {0}: resolutions.length
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "{0} proposals reviewed"
msgstr "{0} propuestas revisadas"
#: 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}}"
msgstr "{column, plural, one {# columna} other {# columnas}}"
#: src/routes/_home/-sections/hero.tsx
msgid "<0>Finally,</0><1>A free and open-source resume builder</1>"
msgstr "<0>Por fin,</0><1>un creador de currículums gratuito y de código abierto</1>"
#: src/routes/_home/-sections/faq.tsx
msgctxt "Home page FAQ section heading with each word visually separated into individual spans"
msgid "<0>Frequently</0><1>Asked</1><2>Questions</2>"
msgstr "<0>Preguntas</0><1>Frecuentes</1><2></2>"
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "<0>Thank you for using Reactive Resume! This app is a labor of love, created mostly in my spare time, with wonderful support from open-source contributors around the world.</0><1>If Reactive Resume has been helpful to you, and you'd like to help keep it free and open for everyone, please consider making a donation. Every little bit is appreciated!</1>"
msgstr "<0>Gracias por usar Reactive Resume. Esta aplicación es un trabajo hecho con amor, creada principalmente en mi tiempo libre, con el maravilloso apoyo de colaboradores de código abierto de todo el mundo.</0><1>Si Reactive Resume te ha sido útil y quieres ayudar a que siga siendo gratuita y abierta para todos, considera hacer una donación. ¡Se agradece cualquier contribución!</1>"
#: src/dialogs/api-key/create.tsx
msgid "1 month"
msgstr "1 mes"
#: src/dialogs/api-key/create.tsx
msgid "1 year"
msgstr "1 año"
#: src/routes/_home/-sections/features.tsx
msgid "12+ Templates"
msgstr "Más de 12 plantillas"
#: src/dialogs/api-key/create.tsx
msgid "3 months"
msgstr "3 meses"
#: src/dialogs/api-key/create.tsx
msgid "6 months"
msgstr "6 meses"
#: src/routes/dashboard/settings/profile.tsx
msgid "A confirmation link has been sent to your current email address. Please check your inbox to confirm the change."
msgstr "Se ha enviado un enlace de confirmación a tu dirección de correo electrónico actual. Revisa tu bandeja de entrada para confirmar el cambio."
#: src/routes/_home/-sections/footer.tsx
msgid "A free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
msgstr "Un creador de currículums gratuito y de código abierto que simplifica el proceso de crear, actualizar y compartir tu currículum."
#: src/routes/builder/$resumeId/-components/dock.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "A link to your resume has been copied to clipboard."
msgstr "Se ha copiado al portapapeles un enlace a tu currículum."
#: src/routes/_home/-sections/testimonials.tsx
msgid "A lot of people have written to me over the years to share their experiences with Reactive Resume and how it has helped them, and I never get tired of reading them. If you have a story to share, let me know by sending me an email at <0>{email}</0>."
msgstr "Mucha gente me ha escrito a lo largo de los años para compartir sus experiencias con Reactive Resume y cómo les ha ayudado, y nunca me canso de leerlas. Si tienes una historia que quieras compartir, házmelo saber enviándome un correo electrónico a <0>{email}</0>."
#: src/routes/dashboard/settings/profile.tsx
msgid "A new verification link has been sent to your email address. Please check your inbox to verify your account."
msgstr "Se ha enviado un nuevo enlace de verificación a tu dirección de correo electrónico. Revisa tu bandeja de entrada para verificar tu cuenta."
#: src/components/ui/copyright.tsx
msgid "A passion project by <0>Amruth Pillai</0>."
msgstr "Un proyecto hecho con cariño por <0>Amruth Pillai</0>."
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "A4"
msgstr "A4"
#: src/routes/_home/-sections/faq.tsx
msgid "Absolutely! You can export your resume to PDF with a single click. The exported PDF maintains all your formatting and styling perfectly."
msgstr "Por supuesto. Puedes exportar tu currículum a PDF con un solo clic. El PDF exportado mantiene perfectamente todo tu formato y estilo."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Accept"
msgstr "Aceptar"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Accept all"
msgstr "Aceptar todo"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Accepted proposal"
msgstr "Propuesta aceptada"
#: src/routes/_home/-sections/features.tsx
msgid "Access your resumes and data programmatically using the API."
msgstr "Accede a tus currículums y datos de forma programática usando la API."
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom-fields.tsx
msgid "Add a custom field"
msgstr "Añadir campo personalizado"
#: src/components/input/chip-input.tsx
msgid "Add a keyword..."
msgstr "Añada una palabra clave..."
#. Tooltip for action button that opens URL label editor
#: src/components/input/url-input.tsx
msgid "Add a label to the URL"
msgstr "Añadir una etiqueta a la URL"
#: src/routes/builder/$resumeId/-sidebar/left/sections/awards.tsx
msgid "Add a new award"
msgstr "Añadir un nuevo premio"
#: src/routes/builder/$resumeId/-sidebar/left/sections/certifications.tsx
msgid "Add a new certification"
msgstr "Añadir una nueva certificación"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
msgid "Add a new custom section"
msgstr "Añadir nueva sección personalizada"
#: src/routes/builder/$resumeId/-sidebar/left/sections/education.tsx
msgid "Add a new education"
msgstr "Añadir nueva formación académica"
#: src/routes/builder/$resumeId/-sidebar/left/sections/experience.tsx
msgid "Add a new experience"
msgstr "Añadir nueva experiencia"
#: src/routes/builder/$resumeId/-sidebar/left/sections/interests.tsx
msgid "Add a new interest"
msgstr "Añadir un nuevo interés"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Add a new item"
msgstr "Añadir un nuevo elemento"
#: src/routes/builder/$resumeId/-sidebar/left/sections/languages.tsx
msgid "Add a new language"
msgstr "Añadir un nuevo idioma"
#: src/routes/builder/$resumeId/-sidebar/left/sections/profiles.tsx
msgid "Add a new profile"
msgstr "Añadir nuevo perfil"
#: src/routes/builder/$resumeId/-sidebar/left/sections/projects.tsx
msgid "Add a new project"
msgstr "Añadir un nuevo proyecto"
#: src/routes/builder/$resumeId/-sidebar/left/sections/publications.tsx
msgid "Add a new publication"
msgstr "Añadir nueva publicación"
#: src/routes/builder/$resumeId/-sidebar/left/sections/references.tsx
msgid "Add a new reference"
msgstr "Añadir nueva referencia"
#: src/routes/builder/$resumeId/-sidebar/left/sections/skills.tsx
msgid "Add a new skill"
msgstr "Añadir nueva habilidad"
#: src/routes/builder/$resumeId/-sidebar/left/sections/volunteer.tsx
msgid "Add a new volunteer experience"
msgstr "Añadir nueva experiencia de voluntariado"
#: src/components/input/rich-input.tsx
msgid "Add Column After"
msgstr "Añadir columna después"
#: src/components/input/rich-input.tsx
msgid "Add Column Before"
msgstr "Añadir columna antes"
#: src/components/input/chip-input.tsx
msgid "Add keyword"
msgstr "Añadir palabra clave"
#: src/dialogs/resume/sections/experience.tsx
msgid "Add multiple roles to show career progression at the same company."
msgstr "Añade varios puestos para mostrar la progresión profesional en la misma empresa."
#: 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 "Añadir puesto"
#: src/components/input/rich-input.tsx
msgid "Add Row After"
msgstr "Añadir fila después"
#: src/components/input/rich-input.tsx
msgid "Add Row Before"
msgstr "Añadir fila antes"
#: src/libs/locale.ts
msgid "Afrikaans"
msgstr "Afrikáans"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "After"
msgstr "Después"
#: src/dialogs/resume/import.tsx
msgid "AI"
msgstr "IA"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "AI integration disabled"
msgstr "Integración de IA desactivada"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "AI proposal applied."
msgstr "Se ha aplicado la propuesta de IA."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "AI proposal rejected."
msgstr "Propuesta de IA rechazada."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "AI proposals applied."
msgstr "Se han presentado propuestas de IA."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "AI proposals rejected."
msgstr "Propuestas de IA rechazadas."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "AI Resume Assistant"
msgstr "Asistente de IA para la elaboración de currículums"
#: src/libs/locale.ts
msgid "Albanian"
msgstr "Albanés"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Allow Public Access"
msgstr "Permitir acceso público"
#: src/routes/auth/register.tsx
msgid "Already have an account? <0/>"
msgstr "¿Ya tienes una cuenta? <0/>"
#: src/libs/locale.ts
msgid "Amharic"
msgstr "Amhárico"
#: src/components/layout/error-screen.tsx
#: src/components/layout/not-found-screen.tsx
msgid "An error occurred while loading the page."
msgstr "Se ha producido un error al cargar la página."
#. Fallback toast when importing a resume fails for an unknown reason
#: src/dialogs/resume/import.tsx
msgid "An unknown error occurred while importing your resume."
msgstr "Se ha producido un error desconocido al importar tu currículum."
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Analyze Resume"
msgstr "Analizar el currículum"
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Analyzing..."
msgstr "Analizar..."
#: src/routes/_home/-sections/features.tsx
msgid "And many more..."
msgstr "Y mucho más..."
#. AI provider option label in dashboard AI settings
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Anthropic Claude"
msgstr "Claude Antrópico"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Anyone visiting the resume's public URL must enter this password to access it."
msgstr "Cualquier persona que visite la URL pública del currículum deberá introducir esta contraseña para acceder a él."
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Anyone who has the resume's public URL will be able to view and download your resume without entering a password."
msgstr "Cualquier persona que tenga la URL pública del currículum podrá ver y descargar tu currículum sin introducir una contraseña."
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Anyone with the link can view and download the resume."
msgstr "Cualquier persona con el enlace puede ver y descargar el currículum."
#: src/routes/_home/-sections/features.tsx
msgid "API Access"
msgstr "Acceso API"
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "API Key"
msgstr "Clave API"
#: src/components/command-palette/pages/navigation.tsx
#: src/routes/dashboard/-components/sidebar.tsx
#: src/routes/dashboard/settings/api-keys.tsx
msgid "API Keys"
msgstr "Claves API"
#: src/routes/dashboard/settings/api-keys.tsx
msgid "API Reference"
msgstr "Referencia de la API"
#: src/routes/dashboard/-components/sidebar.tsx
msgid "App"
msgstr "Aplicación"
#: src/routes/_home/-sections/statistics.tsx
msgid "Application Statistics"
msgstr "Estadísticas de la aplicación"
#: src/libs/locale.ts
msgid "Arabic"
msgstr "Árabe"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr "¿Estás seguro de que deseas cerrar este diálogo?"
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "¿Seguro que deseas eliminar esta clave API?"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
msgid "Are you sure you want to delete this custom section?"
msgstr "¿Está seguro de que desea eliminar esta sección personalizada?"
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
msgid "Are you sure you want to delete this item?"
msgstr "¿Está seguro de que desea eliminar este elemento?"
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "Are you sure you want to delete this resume?"
msgstr "¿Seguro que deseas eliminar este currículum?"
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "Are you sure you want to delete your account?"
msgstr "¿Seguro que deseas eliminar tu cuenta?"
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "Are you sure you want to lock this resume?"
msgstr "¿Seguro que deseas bloquear este currículum?"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Are you sure you want to remove password protection?"
msgstr "¿Seguro que deseas quitar la protección con contraseña?"
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Are you sure you want to reset this section?"
msgstr "¿Está seguro de que desea restablecer esta sección?"
#: src/dialogs/resume/sections/education.tsx
msgid "Area of Study"
msgstr "Área de estudio"
#: src/components/command-palette/pages/navigation.tsx
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Artificial Intelligence"
msgstr "Inteligencia artificial"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Ask for a targeted resume change..."
msgstr "Solicita un cambio específico en tu currículum..."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Ask for an incremental change"
msgstr "Solicitar un cambio gradual"
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Aspect Ratio"
msgstr "Relación de aspecto"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Assistant request failed"
msgstr "La solicitud de asistencia falló."
#: src/components/command-palette/pages/navigation.tsx
#: src/routes/dashboard/-components/sidebar.tsx
#: src/routes/dashboard/settings/authentication/index.tsx
msgid "Authentication"
msgstr "Autenticación"
#: src/routes/_home/-sections/features.tsx
msgid "Available in multiple languages. If you would like to contribute, check out Crowdin."
msgstr "Disponible en varios idiomas. Si quieres contribuir, visita Crowdin."
#: src/dialogs/resume/sections/award.tsx
msgctxt "(noun) person, organization, or entity that gives an award"
msgid "Awarder"
msgstr "Otorgante"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Awards"
msgstr "Premios"
#: src/libs/locale.ts
msgid "Azerbaijani"
msgstr "Azerí"
#. Secondary navigation button on 2FA verification screen
#: src/routes/auth/verify-2fa.tsx
msgid "Back to Login"
msgstr "Volver al inicio de sesión"
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
msgid "Background Color"
msgstr "Color de fondo"
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Backup codes copied to clipboard."
msgstr "Códigos de respaldo copiados al portapapeles."
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Base URL (Optional)"
msgstr "URL base (opcional)"
#: src/libs/resume/section.tsx
msgid "Basics"
msgstr "Lo esencial"
#: src/routes/_home/-sections/features.tsx
msgid "Beautiful templates to choose from, with more on the way."
msgstr "Hermosas plantillas entre las que puedes elegir, y pronto habrá más."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Before"
msgstr "Antes"
#: src/libs/locale.ts
msgid "Bengali"
msgstr "Bengalí"
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
msgctxt "Body Text (paragraphs, lists, etc.)"
msgid "Body"
msgstr "Cuerpo"
#: src/components/input/rich-input.tsx
msgid "Bold"
msgstr "Negrita"
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Border Radius"
msgstr "Radio del borde"
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Border Width"
msgstr "Ancho del borde"
#. Screen-reader dialog title for the command palette in the resume builder
#: src/components/command-palette/index.tsx
msgid "Builder Command Palette"
msgstr "Paleta de comandos del editor"
#: src/libs/locale.ts
msgid "Bulgarian"
msgstr "Búlgaro"
#: src/components/input/rich-input.tsx
msgid "Bullet List"
msgstr "Lista con viñetas"
#. Tagline shown in app footer/about area
#: src/components/ui/copyright.tsx
#: src/routes/_home/-sections/features.tsx
#: src/routes/_home/-sections/prefooter.tsx
msgid "By the community, for the community."
msgstr "Por la comunidad, para la comunidad."
#: src/routes/_home/-sections/faq.tsx
msgid "Can I export my resume to PDF?"
msgstr "¿Puedo exportar mi currículum a PDF?"
#. API key deletion confirmation dialog cancel action in settings
#. Account deletion confirmation dialog cancel action in danger zone
#. Confirmation dialog button label to abort deleting a custom section in resume builder
#. Confirmation dialog button label to abort deleting a section item in resume builder
#. Confirmation dialog button label to abort resetting a resume section
#. Profile settings form action to discard unsaved edits
#. Secondary action button to close two-factor setup dialog
#: src/dialogs/auth/enable-two-factor.tsx
#: src/dialogs/resume/sections/award.tsx
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/cover-letter.tsx
#: src/dialogs/resume/sections/custom.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/interest.tsx
#: src/dialogs/resume/sections/language.tsx
#: src/dialogs/resume/sections/profile.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
#: src/dialogs/resume/sections/skill.tsx
#: src/dialogs/resume/sections/summary-item.tsx
#: src/dialogs/resume/sections/volunteer.tsx
#: src/hooks/use-prompt.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
#: src/routes/dashboard/settings/api-keys.tsx
#: src/routes/dashboard/settings/danger-zone.tsx
#: src/routes/dashboard/settings/profile.tsx
msgid "Cancel"
msgstr "Cancelar"
#: src/libs/locale.ts
msgid "Catalan"
msgstr "Catalán"
#: src/components/input/rich-input.tsx
msgid "Center Align"
msgstr "Alinear al centro"
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Center view"
msgstr "Centrar vista"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/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..."
#: src/components/command-palette/pages/preferences/index.tsx
msgid "Change theme to..."
msgstr "Cambiar tema a..."
#: src/dialogs/resume/index.tsx
msgid "Changed your mind? Rename your resume to something more descriptive."
msgstr "¿Te has arrepentido? Cambia el nombre de tu currículum por algo más descriptivo."
#: src/routes/_home/-sections/footer.tsx
msgid "Changelog"
msgstr "Registro de cambios"
#: src/routes/auth/forgot-password.tsx
msgid "Check your email for a link to reset your password."
msgstr "Revisa tu correo electrónico para encontrar un enlace para restablecer tu contraseña."
#: src/routes/auth/register.tsx
msgid "Check your email for a link to verify your account."
msgstr "Revisa tu correo electrónico para encontrar un enlace para verificar tu cuenta."
#: src/libs/locale.ts
msgid "Chinese (Simplified)"
msgstr "Chino (simplificado)"
#: src/libs/locale.ts
msgid "Chinese (Traditional)"
msgstr "Chino (tradicional)"
#. Preset or custom shade refer to the color picker
#: src/components/input/rich-input.tsx
msgid "Choose a preset or custom shade."
msgstr "Elija un tono preestablecido o personalizado."
#: src/components/level/combobox.tsx
msgid "Circle"
msgstr "Círculo"
#. Clear the text color
#: src/components/input/rich-input.tsx
msgid "Clear"
msgstr "Claro"
#: 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/routes/builder/$resumeId/-components/assistant.tsx
msgid "Close"
msgstr "Cerrar"
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Close AI assistant"
msgstr "Asistente de IA de cierre"
#: src/components/input/rich-input.tsx
msgid "Code Block"
msgstr "Bloque de código"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Columns"
msgstr "Columnas"
#. Accessible label for command list region inside command palette
#. Accessible label for the command palette dialog
#: src/components/command-palette/index.tsx
msgid "Command Palette"
msgstr "Paleta de comandos"
#. Accessible label for command palette dialog when browsing a nested command page
#: src/components/command-palette/index.tsx
msgid "Command Palette - {currentPage}"
msgstr "Paleta de comandos - {currentPage}"
#: src/routes/_home/-sections/footer.tsx
msgid "Community"
msgstr "Comunidad"
#: src/dialogs/resume/sections/experience.tsx
msgid "Company"
msgstr "Empresa"
#: src/routes/_home/-sections/features.tsx
msgid "Completely free, forever, no hidden costs."
msgstr "Completamente gratis, para siempre, sin costes ocultos."
#. Account deletion confirmation dialog confirm action in danger zone
#. Create API key dialog acknowledgment action after copying
#: src/dialogs/api-key/create.tsx
#: src/hooks/use-prompt.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "Confirm"
msgstr "Confirmar"
#. Authentication settings action to link a social login provider
#: src/routes/dashboard/settings/authentication/-components/social-provider.tsx
msgid "Connect"
msgstr "Conectar"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Connect and verify an AI provider before using resume editing proposals."
msgstr "Antes de utilizar las propuestas de edición de currículums, contacte con un proveedor de IA y verifíquelo."
#: src/dialogs/resume/sections/cover-letter.tsx
#: src/dialogs/resume/sections/summary-item.tsx
msgid "Content"
msgstr "Contenido"
#. Button label to continue to dashboard after successful registration
#. Final action button after saving backup codes
#. Primary action button to proceed to next step in two-factor setup
#: src/dialogs/auth/enable-two-factor.tsx
#: src/routes/auth/register.tsx
msgid "Continue"
msgstr "Continuar"
#: src/routes/dashboard/resumes/-components/cards/import-card.tsx
#: src/routes/dashboard/resumes/-components/list-view.tsx
msgid "Continue where you left off"
msgstr "Continúa donde lo dejaste"
#: src/dialogs/resume/import.tsx
msgid "Continue where you left off by importing an existing resume you created using Reactive Resume or any another resume builder. Supported formats include PDF, Microsoft Word, as well as JSON files from Reactive Resume."
msgstr "Continúa donde lo dejaste importando un currículum existente que creaste con Reactive Resume o con cualquier otro creador de currículums. Los formatos compatibles incluyen PDF, Microsoft Word, así como archivos JSON de Reactive Resume."
#: src/routes/_home/-sections/donate.tsx
msgid "Contributions fund bug fixes, security updates, and continuous improvements to keep the app running smoothly."
msgstr "Las contribuciones financian correcciones de errores, actualizaciones de seguridad y mejoras continuas para que la aplicación funcione sin problemas."
#. Action button to copy two-factor backup codes to clipboard
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Copy"
msgstr "Copiar"
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Copy and store these backup codes in case you lose your device."
msgstr "Copia y guarda estos códigos de respaldo en caso de que pierdas tu dispositivo."
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Copy Backup Codes"
msgstr "Copiar códigos de respaldo"
#: src/dialogs/api-key/create.tsx
msgid "Copy this secret key and use it in your applications to access your data."
msgstr "Copia esta clave secreta y úsala en tus aplicaciones para acceder a tus datos."
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Copy URL"
msgstr "Copiar URL"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Could not apply the AI proposal."
msgstr "No se pudo aplicar la propuesta de IA."
#. Error description when AI provider cannot be reached during resume analysis
#. Error shown when AI provider is unreachable during PDF/DOCX resume import
#. Error shown when the configured AI provider cannot be reached during connection test
#: src/dialogs/resume/import.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Could not reach the AI provider. Please try again."
msgstr "No se ha podido contactar con el proveedor de AI. Por favor, inténtelo de nuevo."
#. Fallback title for a custom cover letter item in resume builder when recipient is empty
#. Fallback title for a custom cover letter item in resume builder when recipient is unavailable
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
msgid "Cover Letter"
msgstr "Carta de presentación"
#. Create API key dialog submit action
#: src/dialogs/api-key/create.tsx
#: src/dialogs/resume/index.tsx
#: src/dialogs/resume/sections/award.tsx
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/cover-letter.tsx
#: src/dialogs/resume/sections/custom.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/interest.tsx
#: src/dialogs/resume/sections/language.tsx
#: src/dialogs/resume/sections/profile.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
#: src/dialogs/resume/sections/skill.tsx
#: src/dialogs/resume/sections/summary-item.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Create"
msgstr "Crear"
#: src/routes/auth/register.tsx
msgid "Create a new account"
msgstr "Crear una nueva cuenta"
#: src/dialogs/api-key/create.tsx
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Create a new API key"
msgstr "Crear una nueva clave API"
#: src/dialogs/resume/sections/award.tsx
msgid "Create a new award"
msgstr "Crear un nuevo premio"
#: src/dialogs/resume/sections/certification.tsx
msgid "Create a new certification"
msgstr "Crear una nueva certificación"
#: src/dialogs/resume/sections/cover-letter.tsx
msgid "Create a new cover letter"
msgstr "Crear una nueva carta de presentación"
#: src/dialogs/resume/sections/custom.tsx
msgid "Create a new custom section"
msgstr "Crear una nueva sección personalizada"
#: src/dialogs/resume/sections/education.tsx
msgid "Create a new education"
msgstr "Crear una nueva formación académica"
#: src/dialogs/resume/sections/experience.tsx
msgid "Create a new experience"
msgstr "Crear una nueva experiencia"
#: src/dialogs/resume/sections/interest.tsx
msgid "Create a new interest"
msgstr "Crear un nuevo interés"
#: src/dialogs/resume/sections/language.tsx
msgid "Create a new language"
msgstr "Crear un nuevo idioma"
#: src/dialogs/resume/sections/profile.tsx
msgid "Create a new profile"
msgstr "Crear un nuevo perfil"
#: src/dialogs/resume/sections/project.tsx
msgid "Create a new project"
msgstr "Crear un nuevo proyecto"
#: src/dialogs/resume/sections/publication.tsx
msgid "Create a new publication"
msgstr "Crear una nueva publicación"
#: src/dialogs/resume/sections/reference.tsx
msgid "Create a new reference"
msgstr "Crear una nueva referencia"
#: src/components/command-palette/pages/resumes.tsx
#: src/dialogs/resume/index.tsx
#: src/routes/dashboard/resumes/-components/cards/create-card.tsx
#: src/routes/dashboard/resumes/-components/list-view.tsx
msgid "Create a new resume"
msgstr "Crear un nuevo currículum"
#: src/dialogs/resume/sections/skill.tsx
msgid "Create a new skill"
msgstr "Crear una nueva habilidad"
#: src/dialogs/resume/sections/summary-item.tsx
msgid "Create a new summary item"
msgstr "Crear una nueva entrada del resumen"
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Create a new volunteer experience"
msgstr "Crear una nueva experiencia de voluntariado"
#: src/dialogs/resume/index.tsx
msgid "Create a Sample Resume"
msgstr "Crear un currículum de ejemplo"
#: src/routes/_home/-sections/features.tsx
msgid "Create as many resumes as you want, without limits."
msgstr "Crea tantos currículums como quieras, sin límites."
#. Call-to-action link from login page to account registration page
#: src/routes/auth/login.tsx
msgid "Create one now"
msgstr "Cree uno ahora"
#. Accessible label for create-resume split button group
#: src/dialogs/resume/index.tsx
msgid "Create resume with options"
msgstr "Crear currículum con opciones"
#: src/dialogs/api-key/create.tsx
msgid "Creating your API key..."
msgstr "Creando tu clave API..."
#: src/dialogs/resume/index.tsx
msgid "Creating your resume..."
msgstr "Creando tu currículum..."
#: src/dialogs/auth/change-password.tsx
msgid "Current Password"
msgstr "Contraseña actual"
#: src/components/input/color-picker.tsx
msgid "Custom"
msgstr "A medida"
#. Authentication provider display name in account settings
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
msgid "Custom OAuth"
msgstr "OAuth personalizado"
#: src/libs/resume/section.tsx
msgid "Custom Sections"
msgstr "Secciones personalizadas"
#: src/libs/locale.ts
msgid "Czech"
msgstr "Checo"
#: src/components/command-palette/pages/navigation.tsx
#: src/routes/dashboard/-components/sidebar.tsx
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "Danger Zone"
msgstr "Zona de peligro"
#: src/libs/locale.ts
msgid "Danish"
msgstr "Danés"
#. Appearance theme option for dark mode
#: src/components/user/dropdown-menu.tsx
#: src/libs/theme.ts
msgid "Dark"
msgstr "Oscuro"
#: src/components/command-palette/pages/preferences/theme.tsx
msgid "Dark theme"
msgstr "Tema oscuro"
#: src/routes/_home/-sections/features.tsx
msgid "Data Security"
msgstr "Seguridad de los datos"
#: src/dialogs/resume/sections/award.tsx
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/publication.tsx
msgid "Date"
msgstr "Fecha"
#: src/dialogs/resume/sections/education.tsx
msgid "Degree"
msgstr "Título académico"
#. API key deletion confirmation dialog confirm action in settings
#. Destructive confirmation button label when deleting a custom section in resume builder
#. Destructive confirmation button label when deleting a section item in resume builder
#. Passkey row action to remove the selected passkey
#. Resume card context menu destructive action to remove a resume
#. Resume card dropdown destructive action to remove a resume
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
#: src/routes/dashboard/settings/api-keys.tsx
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Delete"
msgstr "Eliminar"
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "Delete Account"
msgstr "Eliminar cuenta"
#: src/components/input/rich-input.tsx
msgid "Delete Column"
msgstr "Eliminar columna"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Delete Page"
msgstr "Eliminar página"
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Delete picture"
msgstr "Borrar imagen"
#: src/components/input/rich-input.tsx
msgid "Delete Row"
msgstr "Eliminar fila"
#: src/components/input/rich-input.tsx
msgid "Delete Table"
msgstr "Eliminar tabla"
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "Deleting your account..."
msgstr "Eliminando tu cuenta..."
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Deleting your API key..."
msgstr "Eliminando tu clave API..."
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "Deleting your resume..."
msgstr "Eliminando tu currículum..."
#: src/dialogs/resume/sections/award.tsx
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.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
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Description"
msgstr "Descripción"
#: src/libs/resume/section.tsx
msgid "Design"
msgstr "Diseño"
#. Destructive action button to turn off two-factor authentication
#: src/dialogs/auth/disable-two-factor.tsx
#: src/routes/dashboard/settings/authentication/-components/two-factor.tsx
msgid "Disable 2FA"
msgstr "Deshabilitar 2FA"
#: src/dialogs/auth/disable-two-factor.tsx
msgid "Disable Two-Factor Authentication"
msgstr "Deshabilitar la autenticación de doble factor"
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Disabled"
msgstr "Deshabilitado"
#: src/dialogs/auth/disable-two-factor.tsx
msgid "Disabling two-factor authentication..."
msgstr "Deshabilitando la autenticación de doble factor..."
#. Authentication settings action to unlink a connected social login provider
#: src/routes/dashboard/settings/authentication/-components/social-provider.tsx
msgid "Disconnect"
msgstr "Desconectar"
#: src/routes/_home/-sections/footer.tsx
msgid "Discord"
msgstr "Discord"
#: src/components/ui/donation-toast.tsx
msgid "Dismiss"
msgstr "Despedir"
#: src/routes/_home/-sections/footer.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Documentation"
msgstr "Documentación"
#: src/routes/auth/login.tsx
msgid "Don't have an account? <0/>"
msgstr "¿No tienes una cuenta? <0/>"
#: src/components/ui/donation-toast.tsx
msgid "Donate"
msgstr "Donar"
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Donate to Reactive Resume"
msgstr "Donar a Reactive Resume"
#. Action button to download two-factor backup codes as a text file
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Download"
msgstr "Descargar"
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
msgid "Download a copy of your resume as a Word document. Use this file to further customize your resume in Microsoft Word or Google Docs."
msgstr "Descargue una copia de su currículum como documento de Word. Utilice este archivo para personalizar aún más su currículum en Microsoft Word o Google Docs."
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
msgid "Download a copy of your resume in JSON format. Use this file for backup or to import your resume into other applications, including AI assistants."
msgstr "Descarga una copia de tu currículum en formato JSON. Usa este archivo como copia de seguridad o para importar tu currículum en otras aplicaciones, incluidos asistentes de IA."
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
msgid "Download a copy of your resume in PDF format. Use this file for printing or to easily share your resume with recruiters."
msgstr "Descarga una copia de tu currículum en formato PDF. Usa este archivo para imprimir o para compartir fácilmente tu currículum con reclutadores."
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Download DOCX"
msgstr "Descargar DOCX"
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Download JSON"
msgstr "Descargar JSON"
#: src/routes/$username/-components/public-resume.tsx
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Download PDF"
msgstr "Descargar PDF"
#: src/routes/builder/$resumeId/-sidebar/right/sections/statistics.tsx
msgid "Downloads"
msgstr "Descargas"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Drag and drop sections here to move them between columns"
msgstr "Arrastra y suelta secciones aquí para moverlas entre columnas"
#. Resume card context menu action to create a copy
#. Resume card dropdown action to create a copy
#: src/dialogs/resume/index.tsx
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "Duplicate"
msgstr "Duplicar"
#: src/dialogs/resume/index.tsx
msgid "Duplicate Resume"
msgstr "Duplicar currículum"
#: src/dialogs/resume/index.tsx
msgid "Duplicate your resume to create a new one, just like the original."
msgstr "Duplica tu currículum para crear uno nuevo, igual que el original."
#: src/dialogs/resume/index.tsx
msgid "Duplicating your resume..."
msgstr "Duplicando tu currículum..."
#: src/libs/locale.ts
msgid "Dutch"
msgstr "Neerlandés"
#. Example model-name placeholder in AI settings
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "e.g., gpt-4, claude-3-opus, gemini-pro"
msgstr "por ejemplo, gpt-4, claude-3-opus, gemini-pro"
#: src/components/input/chip-input.tsx
msgid "Edit"
msgstr "Editar"
#. Screen reader label for button that edits a keyword chip. Variable is the current keyword text.
#: src/components/input/chip-input.tsx
msgid "Edit {chip}"
msgstr "Edite {chip}"
#. Screen reader description for the fullscreen rich-text editor dialog
#: src/components/input/rich-input.tsx
msgid "Edit content in fullscreen mode"
msgstr "Editar contenidos en modo de pantalla completa"
#: src/components/input/chip-input.tsx
msgid "Edit keyword"
msgstr "Editar palabra clave"
#: src/components/input/chip-input.tsx
msgid "Editing keyword..."
msgstr "Editar palabra clave..."
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Education"
msgstr "Formación académica"
#: src/routes/builder/$resumeId/-sidebar/left/sections/basics.tsx
msgid "Email"
msgstr "Correo electrónico"
#. Label for email input on forgot-password form
#. Label for email input on registration form
#. Label for login identifier input that accepts email or username
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/login.tsx
#: src/routes/auth/register.tsx
#: src/routes/dashboard/settings/profile.tsx
msgid "Email Address"
msgstr "Dirección de correo electrónico"
#: src/routes/dashboard/settings/authentication/-components/two-factor.tsx
msgid "Enable 2FA"
msgstr "Habilitar 2FA"
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Enable AI Features"
msgstr "Habilitar funciones de IA"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Enable AI integration"
msgstr "Habilitar la integración de la IA"
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Enable Two-Factor Authentication"
msgstr "Habilitar la autenticación de doble factor"
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Enabled"
msgstr "Habilitado"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Enabling password protection..."
msgstr "Habilitando la protección con contraseña..."
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Enabling two-factor authentication..."
msgstr "Habilitando la autenticación de doble factor..."
#: src/libs/locale.ts
msgid "English"
msgstr "Inglés"
#: src/libs/locale.ts
msgid "English (United Kingdom)"
msgstr "Inglés (Reino Unido)"
#: 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."
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Enter a name for your passkey."
msgstr "Introduzca un nombre para su clave de acceso."
#: src/routes/auth/verify-2fa-backup.tsx
msgid "Enter one of your saved backup codes to access your account"
msgstr "Introduce uno de tus códigos de respaldo guardados para acceder a tu cuenta"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom-fields.tsx
msgid "Enter the URL to link to"
msgstr "Introduce la URL a la que quieres enlazar"
#: src/routes/auth/verify-2fa.tsx
msgid "Enter the verification code from your authenticator app"
msgstr "Introduce el código de verificación de tu aplicación de autenticación"
#: src/dialogs/auth/change-password.tsx
msgid "Enter your current password and a new password to update your account."
msgstr "Introduce tu contraseña actual y una nueva contraseña para actualizar tu cuenta."
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Enter your password to confirm setting up two-factor authentication. When enabled, you'll need to enter a code from your authenticator app every time you log in."
msgstr "Introduce tu contraseña para confirmar la configuración de la autenticación de doble factor. Cuando esté habilitada, tendrás que introducir un código de tu aplicación de autenticación cada vez que inicies sesión."
#: src/dialogs/auth/disable-two-factor.tsx
msgid "Enter your password to disable two-factor authentication. Your account will be less secure without 2FA enabled."
msgstr "Introduce tu contraseña para deshabilitar la autenticación de doble factor. Tu cuenta será menos segura sin 2FA habilitada."
#: src/routes/_home/-sections/donate.tsx
msgid "Every contribution, big or small, makes a huge difference to the project.<0/>Thank you for your support!"
msgstr "Cada contribución, grande o pequeña, marca una gran diferencia para el proyecto.<0/>¡Gracias por tu apoyo!"
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Everything entered here is stored locally on your browser. Your data is only sent to the server when making a request to the AI provider, and is never stored or logged on our servers."
msgstr "Todo lo que introduzcas aquí se almacena localmente en tu navegador. Tus datos solo se envían al servidor al hacer una solicitud al proveedor de IA y nunca se almacenan ni se registran en nuestros servidores."
#: src/routes/_home/-sections/features.tsx
msgid "Everything you need to create, customize, and share professional resumes. Built with privacy in mind, powered by open source, and completely free forever."
msgstr "Todo lo que necesitas para crear, personalizar y compartir currículums profesionales. Creado con la privacidad en mente, impulsado por el código abierto y completamente gratis para siempre."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Examples: rewrite the summary, tighten one experience bullet, add metrics, or adapt the resume for a job description."
msgstr "Ejemplos: reescribir el resumen, concretar un punto de la experiencia, añadir métricas o adaptar el currículum a la descripción del puesto."
#: src/components/input/rich-input.tsx
msgid "Exit Fullscreen"
msgstr "Salir de pantalla completa"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Experience"
msgstr "Experiencia"
#: src/dialogs/api-key/create.tsx
msgid "Expires in"
msgstr "Expira en"
#. placeholder {0}: key.expiresAt?.toLocaleDateString()
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Expires on {0}"
msgstr "Expira el {0}"
#: src/routes/_home/-sections/templates.tsx
msgid "Explore our diverse selection of templates, each designed to fit different styles, professions, and personalities. Reactive Resume currently offers 12 templates, with more on the way."
msgstr "Explora nuestra diversa selección de plantillas, cada una diseñada para adaptarse a diferentes estilos, profesiones y personalidades. Reactive Resume ofrece actualmente 12 plantillas, y pronto habrá más."
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Explore the API documentation to learn how to integrate Reactive Resume with your applications. Find detailed endpoints, request examples, and authentication methods."
msgstr "Explora la documentación de la API para aprender a integrar Reactive Resume con tus aplicaciones. Encontrarás endpoints detallados, ejemplos de solicitudes y métodos de autenticación."
#: src/libs/resume/section.tsx
msgid "Export"
msgstr "Exportar"
#: src/routes/_home/-sections/features.tsx
msgid "Export your resume to PDF instantly, without any waiting or delays."
msgstr "Exporta tu currículum a PDF al instante, sin esperas ni demoras."
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Failed to analyze resume."
msgstr "Fallo al analizar el currículum."
#. Fallback toast when creating an API key fails
#: src/dialogs/api-key/create.tsx
msgid "Failed to create API key. Please try again."
msgstr "Error al crear la clave API. Por favor, inténtelo de nuevo."
#. Fallback toast when account registration fails without a server error message
#: src/routes/auth/register.tsx
msgid "Failed to create your account. Please try again."
msgstr "No se ha podido crear su cuenta. Por favor, inténtelo de nuevo."
#. Fallback toast when deleting a passkey fails
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Failed to delete passkey. Please try again."
msgstr "No se ha podido eliminar la clave de acceso. Por favor, inténtelo de nuevo."
#. Fallback toast when deleting an API key fails
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Failed to delete the API key. Please try again."
msgstr "Error al eliminar la clave API. Por favor, inténtelo de nuevo."
#. Fallback toast when account deletion fails
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "Failed to delete your account. Please try again."
msgstr "No se ha podido eliminar su cuenta. Por favor, inténtelo de nuevo."
#. Fallback toast when disabling two-factor authentication fails
#: src/dialogs/auth/disable-two-factor.tsx
msgid "Failed to disable two-factor authentication. Please try again."
msgstr "Error al desactivar la autenticación de dos factores. Por favor, inténtelo de nuevo."
#. Fallback toast when enabling two-factor authentication fails
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Failed to enable two-factor authentication. Please try again."
msgstr "Error al habilitar la autenticación de dos factores. Por favor, inténtelo de nuevo."
#. Fallback toast when linking a social authentication provider fails
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
msgid "Failed to link provider. Please try again."
msgstr "No se ha podido vincular el proveedor. Por favor, inténtelo de nuevo."
#. Fallback toast when passkey registration fails
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Failed to register passkey. Please try again."
msgstr "No se ha podido registrar la clave de acceso. Por favor, inténtelo de nuevo."
#. Fallback toast when renaming a passkey fails
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Failed to rename passkey. Please try again."
msgstr "Fallo al renombrar la clave de acceso. Por favor, inténtelo de nuevo."
#. Fallback toast when requesting email change confirmation fails
#: src/routes/dashboard/settings/profile.tsx
msgid "Failed to request email change. Please try again."
msgstr "Error al solicitar el cambio de correo electrónico. Por favor, inténtelo de nuevo."
#. Fallback toast when resending account verification email fails
#: src/routes/dashboard/settings/profile.tsx
msgid "Failed to resend verification email. Please try again."
msgstr "No se ha podido reenviar el correo electrónico de verificación. Por favor, inténtelo de nuevo."
#. Fallback toast when resetting password fails and no backend message is available
#: src/routes/auth/reset-password.tsx
msgid "Failed to reset your password. Please try again."
msgstr "No se ha podido restablecer su contraseña. Por favor, inténtelo de nuevo."
#. Fallback toast when requesting password reset email fails without backend message
#: src/routes/auth/forgot-password.tsx
msgid "Failed to send password reset email. Please try again."
msgstr "No se ha podido enviar el correo electrónico de restablecimiento de contraseña. Por favor, inténtelo de nuevo."
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Failed to setup two-factor authentication."
msgstr "No se pudo configurar la autenticación de doble factor."
#. Fallback toast when custom OAuth sign-in fails without a provider error message
#. Fallback toast when passkey sign-in fails without an error message
#. Fallback toast when sign-in fails and no server error message is available
#. Fallback toast when social sign-in fails without a provider error message
#: src/routes/auth/-components/social-auth.tsx
#: src/routes/auth/login.tsx
msgid "Failed to sign in. Please try again."
msgstr "No se pudo iniciar sesión. Inténtalo de nuevo."
#. Fallback toast when signing out fails
#: src/components/user/dropdown-menu.tsx
msgid "Failed to sign out. Please try again."
msgstr "No se ha podido cerrar la sesión. Por favor, inténtelo de nuevo."
#. Fallback toast when testing AI provider connection fails
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Failed to test AI provider connection. Please try again."
msgstr "No se ha podido probar la conexión con el proveedor de AI. Por favor, inténtelo de nuevo."
#. Fallback toast when unlinking a social authentication provider fails
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
msgid "Failed to unlink provider. Please try again."
msgstr "Fallo al desvincular el proveedor. Por favor, inténtelo de nuevo."
#. Fallback toast when changing account password fails
#: src/dialogs/auth/change-password.tsx
msgid "Failed to update your password. Please try again."
msgstr "No se ha podido actualizar su contraseña. Por favor, inténtelo de nuevo."
#. Fallback toast when updating profile details fails
#: src/routes/dashboard/settings/profile.tsx
msgid "Failed to update your profile. Please try again."
msgstr "No se ha podido actualizar su perfil. Por favor, inténtelo de nuevo."
#. Fallback toast when uploading profile picture for resume fails
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Failed to upload picture. Please try again."
msgstr "No se ha podido cargar la imagen. Por favor, inténtelo de nuevo."
#. Fallback toast when resume password verification fails unexpectedly
#: src/routes/auth/resume-password.tsx
msgid "Failed to verify the password. Please try again."
msgstr "No se ha podido verificar la contraseña. Por favor, inténtelo de nuevo."
#. Fallback toast when verifying a backup two-factor authentication code fails
#: src/routes/auth/verify-2fa-backup.tsx
msgid "Failed to verify your backup code. Please try again."
msgstr "No se ha podido verificar su código de copia de seguridad. Por favor, inténtelo de nuevo."
#. Fallback toast when verifying a two-factor authentication code fails
#. Fallback toast when verifying two-factor setup code fails
#: src/dialogs/auth/enable-two-factor.tsx
#: src/routes/auth/verify-2fa.tsx
msgid "Failed to verify your code. Please try again."
msgstr "No se ha podido verificar su código. Por favor, inténtelo de nuevo."
#: src/routes/_home/-sections/features.tsx
msgid "Features"
msgstr "Funciones"
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrar por"
#: src/libs/locale.ts
msgid "Finnish"
msgstr "Finés"
#: src/routes/_home/-sections/features.tsx
msgid "Flexibility"
msgstr "Flexibilidad"
#: src/dialogs/resume/sections/language.tsx
msgid "Fluency"
msgstr "Fluidez"
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
msgid "Font Family"
msgstr "Familia tipográfica"
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
msgid "Font Size"
msgstr "Tamaño de fuente"
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
msgid "Font Weight"
msgstr "Grosor de fuente"
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
msgid "Font Weights"
msgstr "Pesos de fuente"
#: src/routes/_home/-sections/features.tsx
msgid "For a secure and distraction-free experience."
msgstr "Para una experiencia segura y sin distracciones."
#: src/routes/builder/$resumeId/-sidebar/right/sections/notes.tsx
msgid "For example, information regarding which companies you sent this resume to or the links to the job descriptions can be noted down here."
msgstr "Por ejemplo, aquí puedes anotar información sobre a qué empresas enviaste este currículum o los enlaces a las descripciones de puestos."
#: src/dialogs/api-key/create.tsx
msgid "For security reasons, this key will only be displayed once."
msgstr "Por motivos de seguridad, esta clave solo se mostrará una vez."
#. Link label to password reset page from login form
#: src/routes/auth/login.tsx
msgid "Forgot Password?"
msgstr "¿Has olvidado tu contraseña?"
#: src/routes/auth/forgot-password.tsx
msgid "Forgot your password?"
msgstr "¿Olvidaste tu contraseña?"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgctxt "Page Format (A4, Letter, Free-form)"
msgid "Format"
msgstr "Formato"
#: src/routes/_home/-sections/features.tsx
msgid "Free"
msgstr "Gratis"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Free-form"
msgstr "Forma libre"
#: src/libs/locale.ts
msgid "French"
msgstr "Francés"
#. Layout editor toggle label that makes a page single-column
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Full Width"
msgstr "Ancho completo"
#: src/components/input/rich-input.tsx
msgid "Fullscreen"
msgstr "Pantalla completa"
#. Screen reader title for the fullscreen rich-text editor dialog
#: src/components/input/rich-input.tsx
msgid "Fullscreen Editor"
msgstr "Editor a pantalla completa"
#: src/dialogs/resume/index.tsx
msgid "Generate a random name"
msgstr "Generar un nombre aleatorio"
#: src/libs/locale.ts
msgid "German"
msgstr "Alemán"
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Get a review of your resume with an overall score, strengths, and actionable suggestions."
msgstr "Obtenga una revisión de su currículum con una puntuación global, puntos fuertes y sugerencias prácticas."
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Get an in-depth AI-powered review of your resume with an overall score, key strengths, and practical suggestions. To activate this feature, please update your AI settings."
msgstr "Obtenga una revisión en profundidad de su currículum impulsada por la IA con una puntuación global, puntos fuertes clave y sugerencias prácticas. Para activar esta función, actualice su configuración de IA."
#: src/routes/_home/-sections/hero.tsx
msgid "Get Started"
msgstr "Primeros pasos"
#. Authentication provider display name in account settings
#. Brand name label for GitHub social sign-in button
#: src/routes/_home/-sections/footer.tsx
#: src/routes/auth/-components/social-auth.tsx
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
msgid "GitHub"
msgstr "GitHub"
#. Secondary navigation button on backup-code verification screen
#: src/components/layout/not-found-screen.tsx
#: src/routes/auth/verify-2fa-backup.tsx
msgid "Go Back"
msgstr "Volver"
#: src/routes/_home/-sections/header.tsx
msgid "Go to dashboard"
msgstr "Ir al panel"
#. Accessible label for button navigating from builder to resumes dashboard
#: src/routes/builder/$resumeId/-components/header.tsx
msgid "Go to resumes dashboard"
msgstr "Ir al panel de currículos"
#: src/components/command-palette/pages/navigation.tsx
msgid "Go to..."
msgstr "Ir a..."
#. Authentication provider display name in account settings
#. Brand name label for Google social sign-in button
#: src/routes/auth/-components/social-auth.tsx
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
msgid "Google"
msgstr "Google"
#. AI provider option label in dashboard AI settings
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Google Gemini"
msgstr "Google Géminis"
#: src/dialogs/resume/sections/education.tsx
msgid "Grade"
msgstr "Calificación"
#: src/libs/locale.ts
msgid "Greek"
msgstr "Griego"
#: src/routes/dashboard/resumes/index.tsx
msgid "Grid"
msgstr "Cuadrícula"
#: src/routes/_home/-sections/donate.tsx
msgid "Grow the Team"
msgstr "Hacer crecer el equipo"
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
msgctxt "Headings or Titles (H1, H2, H3, H4, H5, H6)"
msgid "Heading"
msgstr "Encabezado"
#: src/components/input/rich-input.tsx
msgid "Heading 1"
msgstr "Encabezado 1"
#: src/components/input/rich-input.tsx
msgid "Heading 2"
msgstr "Encabezado 2"
#: src/components/input/rich-input.tsx
msgid "Heading 3"
msgstr "Encabezado 3"
#: src/components/input/rich-input.tsx
msgid "Heading 4"
msgstr "Encabezado 4"
#: src/components/input/rich-input.tsx
msgid "Heading 5"
msgstr "Encabezado 5"
#: src/components/input/rich-input.tsx
msgid "Heading 6"
msgstr "Encabezado 6"
#: src/routes/builder/$resumeId/-sidebar/left/sections/basics.tsx
msgid "Headline"
msgstr "Título"
#: src/libs/locale.ts
msgid "Hebrew"
msgstr "Hebreo"
#: src/routes/_home/-sections/donate.tsx
msgid "Help me bring more experienced contributors on board, reducing the burden on a single maintainer and accelerating development."
msgstr "Ayúdame a incorporar colaboradores más experimentados, reduciendo la carga sobre un único mantenedor y acelerando el desarrollo."
#: src/routes/dashboard/settings/preferences.tsx
msgid "Help translate the app to your language"
msgstr "Ayuda a traducir la aplicación a tu idioma"
#: src/dialogs/resume/template/gallery.tsx
msgid "Here's a range of resume templates for different professions and personalities. Whether you prefer modern or classic, bold or simple, there is a design to match you. Look through the options below and choose a template that fits your style."
msgstr "Aquí tienes una variedad de plantillas de currículum para diferentes profesiones y personalidades. Tanto si prefieres algo moderno o clásico, llamativo o sencillo, hay un diseño para ti. Revisa las opciones a continuación y elige la plantilla que mejor se adapte a tu estilo."
#: src/dialogs/api-key/create.tsx
msgid "Here's your new API key"
msgstr "Aquí tienes tu nueva clave API"
#: src/components/level/combobox.tsx
#: src/dialogs/resume/sections/language.tsx
#: src/dialogs/resume/sections/skill.tsx
msgid "Hidden"
msgstr "Oculto"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Hide"
msgstr "Ocultar"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Hide all icons on the resume"
msgstr "Ocultar todos los iconos en el currículum"
#. Accessible label for button that hides password in registration form
#. Accessible label for button that hides password in reset-password form
#. Accessible label for button that hides password on protected resume screen
#. Accessible label for button that hides the password in login form
#. Accessible label for toggle button that hides the visible current password
#. Accessible label for toggle button that hides the visible new password
#. Accessible label for toggle button that hides the visible password in two-factor disable dialog
#. Accessible label for toggle button that hides the visible password in two-factor setup
#: src/dialogs/auth/change-password.tsx
#: src/dialogs/auth/disable-two-factor.tsx
#: src/dialogs/auth/enable-two-factor.tsx
#: src/routes/auth/login.tsx
#: src/routes/auth/register.tsx
#: src/routes/auth/reset-password.tsx
#: src/routes/auth/resume-password.tsx
msgid "Hide password"
msgstr "Ocultar contraseña"
#. Impact severity label in resume analysis suggestion card
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "High"
msgstr "Alta"
#: src/components/input/rich-input.tsx
msgid "Highlight"
msgstr "Resaltado"
#: src/libs/locale.ts
msgid "Hindi"
msgstr "Hindi"
#: src/components/command-palette/pages/navigation.tsx
msgid "Home"
msgstr "Inicio"
#: src/routes/_home/-sections/faq.tsx
msgid "How do I share my resume?"
msgstr "¿Cómo comparto mi currículum?"
#: src/routes/dashboard/settings/api-keys.tsx
msgid "How do I use the API?"
msgstr "¿Cómo uso la API?"
#: src/routes/_home/-sections/faq.tsx
msgid "How is my data protected?"
msgstr "¿Cómo se protegen mis datos?"
#: src/libs/locale.ts
msgid "Hungarian"
msgstr "Húngaro"
#: src/components/level/combobox.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
msgid "Icon"
msgstr "Icono"
#: src/dialogs/resume/import.tsx
msgid "Import"
msgstr "Importar"
#: src/dialogs/resume/import.tsx
#: src/routes/dashboard/resumes/-components/cards/import-card.tsx
#: src/routes/dashboard/resumes/-components/list-view.tsx
msgid "Import an existing resume"
msgstr "Importar un currículum existente"
#: src/dialogs/resume/import.tsx
msgid "Importing your resume..."
msgstr "Importando tu currículum..."
#: src/dialogs/resume/import.tsx
msgid "Importing..."
msgstr "Importando..."
#: src/libs/locale.ts
msgid "Indonesian"
msgstr "Indonesio"
#: src/libs/resume/section.tsx
msgid "Information"
msgstr "Información"
#: src/components/input/rich-input.tsx
msgid "Inline Code"
msgstr "Código en línea"
#: src/components/input/rich-input.tsx
msgid "Insert Table"
msgstr "Insertar tabla"
#: src/routes/_home/-sections/features.tsx
msgid "Instant Generation"
msgstr "Generación instantánea"
#: src/components/command-palette/pages/navigation.tsx
#: src/routes/dashboard/-components/sidebar.tsx
#: src/routes/dashboard/settings/integrations/route.tsx
msgid "Integrations"
msgstr "Integraciones"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Interests"
msgstr "Intereses"
#. Error shown when AI provider credentials or base URL are invalid in AI settings
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Invalid AI provider configuration. Please check your settings."
msgstr "Configuración del proveedor de AI no válida. Por favor, compruebe su configuración."
#: src/routes/_home/-sections/faq.tsx
msgid "Is Reactive Resume available in multiple languages?"
msgstr "¿Reactive Resume está disponible en varios idiomas?"
#: src/routes/_home/-sections/faq.tsx
msgid "Is Reactive Resume really free?"
msgstr "¿Reactive Resume es realmente gratis?"
#: src/dialogs/resume/sections/certification.tsx
msgid "Issuer"
msgstr "Emisor"
#: src/libs/locale.ts
msgid "Italian"
msgstr "Italiano"
#: src/components/input/rich-input.tsx
msgid "Italic"
msgstr "Cursiva"
#: src/libs/locale.ts
msgid "Japanese"
msgstr "Japonés"
#. Example full name placeholder on profile settings form
#. Example full name placeholder on registration form
#: src/routes/auth/register.tsx
#: src/routes/dashboard/settings/profile.tsx
msgid "John Doe"
msgstr "Juan Pérez"
#. Example username placeholder on profile settings form
#. Example username placeholder on registration form
#: src/routes/auth/register.tsx
#: src/routes/dashboard/settings/profile.tsx
msgid "john.doe"
msgstr "john.doe"
#. Example email placeholder for login identifier field
#. Example email placeholder on forgot-password form
#. Example email placeholder on profile settings form
#. Example email placeholder on registration form
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/login.tsx
#: src/routes/auth/register.tsx
#: src/routes/dashboard/settings/profile.tsx
msgid "john.doe@example.com"
msgstr "john.doe@example.com"
#. Import source option for standard JSON Resume format
#: src/dialogs/resume/import.tsx
msgid "JSON Resume"
msgstr "Currículum JSON"
#: src/components/input/rich-input.tsx
msgid "Justify Align"
msgstr "Justificar"
#: src/libs/locale.ts
msgid "Kannada"
msgstr "Canarés"
#: src/dialogs/resume/sections/interest.tsx
#: src/dialogs/resume/sections/skill.tsx
msgid "Keywords"
msgstr "Palabras clave"
#: src/libs/locale.ts
msgid "Khmer"
msgstr "Jemer"
#: src/libs/locale.ts
msgid "Korean"
msgstr "Coreano"
#. Short field label for custom display text associated with a URL
#: src/components/input/url-input.tsx
msgid "Label"
msgstr "Etiqueta"
#. Preset button for setting picture aspect ratio to landscape orientation
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Landscape"
msgstr "Horizontal"
#. Menu item that opens language selection submenu
#: src/components/command-palette/pages/preferences/language.tsx
#: src/components/user/dropdown-menu.tsx
#: src/dialogs/resume/sections/language.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
#: src/routes/dashboard/settings/preferences.tsx
msgid "Language"
msgstr "Idioma"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Languages"
msgstr "Idiomas"
#. placeholder {0}: new Date(analysis.updatedAt).toLocaleString()
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Last analyzed on {0}"
msgstr "Último análisis en {0}"
#. placeholder {0}: statistics.lastDownloadedAt.toDateString()
#: src/routes/builder/$resumeId/-sidebar/right/sections/statistics.tsx
msgid "Last downloaded on {0}"
msgstr "Última descarga el {0}"
#: src/routes/dashboard/resumes/-components/cards/resume-card.tsx
#: src/routes/dashboard/resumes/-components/list-view.tsx
msgid "Last updated on {updatedAt}"
msgstr "Última actualización: {updatedAt}"
#. placeholder {0}: statistics.lastViewedAt.toDateString()
#: src/routes/builder/$resumeId/-sidebar/right/sections/statistics.tsx
msgid "Last viewed on {0}"
msgstr "Última visualización el {0}"
#: src/libs/locale.ts
msgid "Latvian"
msgstr "Letón"
#: src/libs/resume/section.tsx
msgid "Layout"
msgstr "Diseño"
#: src/routes/_home/-sections/hero.tsx
msgid "Learn More"
msgstr "Aprende más"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr "Salir"
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Déjalo vacío para restablecer el título al original."
#: src/components/input/rich-input.tsx
msgid "Left Align"
msgstr "Alinear a la izquierda"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Letter"
msgstr "Carta"
#: src/dialogs/resume/sections/language.tsx
#: src/dialogs/resume/sections/skill.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
msgid "Level"
msgstr "Nivel"
#. Accessible label for skill/proficiency level indicator, where level is current value out of 5
#: src/components/level/display.tsx
msgid "Level {level} of 5"
msgstr "Nivel {level} de 5"
#: src/components/ui/copyright.tsx
msgid "Licensed under <0>MIT</0>."
msgstr "Con licencia <0>MIT</0>."
#. Appearance theme option for light mode
#: src/components/user/dropdown-menu.tsx
#: src/libs/theme.ts
msgid "Light"
msgstr "Claro"
#: src/components/command-palette/pages/preferences/theme.tsx
msgid "Light theme"
msgstr "Tema claro"
#: src/routes/builder/$resumeId/-sidebar/right/sections/typography.tsx
msgid "Line Height"
msgstr "Altura de la línea"
#. Authentication provider display name in account settings
#. Brand name label for LinkedIn social sign-in button
#: src/routes/_home/-sections/footer.tsx
#: src/routes/auth/-components/social-auth.tsx
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
msgid "LinkedIn"
msgstr "LinkedIn"
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
msgid "Linking your {providerName} account..."
msgstr "Vinculando tu cuenta de {providerName}..."
#: src/routes/dashboard/resumes/index.tsx
msgid "List"
msgstr "Lista"
#: src/libs/locale.ts
msgid "Lithuanian"
msgstr "Lituano"
#: src/components/command-palette/pages/resumes.tsx
msgid "Loading resumes..."
msgstr "Cargando currículums..."
#: src/components/layout/loading-screen.tsx
msgid "Loading..."
msgstr "Cargando..."
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/volunteer.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/basics.tsx
msgid "Location"
msgstr "Ubicación"
#. Resume card context menu action to prevent edits
#. Resume card dropdown action to prevent edits
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "Lock"
msgstr "Bloquear"
#. User menu action to sign out of current account
#: src/components/user/dropdown-menu.tsx
msgid "Logout"
msgstr "Cerrar sesión"
#: src/routes/_home/-sections/donate.tsx
msgid "Long-term Sustainability"
msgstr "Sostenibilidad a largo plazo"
#. Link to backup-code verification flow when authenticator app is unavailable
#: src/routes/auth/verify-2fa.tsx
msgid "Lost access to your authenticator?"
msgstr "¿Has perdido el acceso a tu aplicación de autenticación?"
#. Impact severity label in resume analysis suggestion card
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Low"
msgstr "Bajo"
#. Layout editor column label for the primary content area
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Main"
msgstr "Principal"
#: src/routes/_home/-sections/header.tsx
msgid "Main navigation"
msgstr "Navegación principal"
#: src/libs/locale.ts
msgid "Malay"
msgstr "Malayo"
#: src/libs/locale.ts
msgid "Malayalam"
msgstr "Malayalam"
#: src/libs/locale.ts
msgid "Marathi"
msgstr "Maratí"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Margin (Horizontal)"
msgstr "Margen (horizontal)"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Margin (Vertical)"
msgstr "Margen (vertical)"
#. Impact severity label in resume analysis suggestion card
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Medium"
msgstr "Medio"
#. File format label in import source selector
#: src/dialogs/resume/import.tsx
msgid "Microsoft Word"
msgstr "Microsoft Word"
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Model"
msgstr "Modelo"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "More proposal actions"
msgstr "Más propuestas de acción"
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
msgid "Move to"
msgstr "Mover a"
#: src/routes/_home/-sections/features.tsx
msgid "Multilingual"
msgstr "Multilingüe"
#. Placeholder text for custom link URL field in resume builder
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom-fields.tsx
msgid "Must start with https://"
msgstr "Debe empezar por https://"
#. Label for full name input on registration form
#: src/dialogs/api-key/create.tsx
#: src/dialogs/resume/index.tsx
#: src/dialogs/resume/sections/interest.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/reference.tsx
#: src/dialogs/resume/sections/skill.tsx
#: src/routes/auth/register.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/basics.tsx
#: src/routes/dashboard/settings/profile.tsx
msgid "Name"
msgstr "Nombre"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Needs review"
msgstr "Necesita revisión"
#: src/libs/locale.ts
msgid "Nepali"
msgstr "Nepalí"
#: src/dialogs/resume/sections/profile.tsx
msgid "Network"
msgstr "Red"
#: src/routes/_home/-sections/features.tsx
msgid "New features are constantly being added and improved, so be sure to check back often."
msgstr "Constantemente se añaden e introducen mejoras en las nuevas funciones, así que vuelve a menudo para ver las novedades."
#: src/components/input/rich-input.tsx
msgid "New Line"
msgstr "Nueva línea"
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
msgid "New Page"
msgstr "Nueva página"
#. Label for new password input on reset-password form
#: src/dialogs/auth/change-password.tsx
#: src/routes/auth/reset-password.tsx
msgid "New Password"
msgstr "Nueva contraseña"
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
msgid "New Section"
msgstr "Nueva sección"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Next"
msgstr "Siguiente"
#: src/routes/_home/-sections/features.tsx
msgid "No Advertising, No Tracking"
msgstr "Sin publicidad, sin rastreo"
#. Error shown when AI import endpoint returns no parsed resume data
#: src/dialogs/resume/import.tsx
msgid "No data was returned from the AI provider."
msgstr "No se recibieron datos del proveedor de IA."
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "No passkeys registered yet."
msgstr "Aún no se ha registrado ninguna llave de paso."
#: src/components/ui/combobox.tsx
msgid "No results found."
msgstr "No se han encontrado resultados."
#: src/libs/locale.ts
msgid "Norwegian"
msgstr "Noruego"
#: src/libs/resume/section.tsx
msgid "Notes"
msgstr "Notas"
#: src/libs/locale.ts
msgid "Odia"
msgstr "Odia"
#. AI provider option label in dashboard AI settings
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Ollama"
msgstr "Ollama"
#: src/routes/_home/-sections/features.tsx
msgid "One-Click Sign-In"
msgstr "Inicio de sesión con un clic"
#: src/routes/_home/-sections/donate.tsx
msgid "Ongoing Maintenance"
msgstr "Mantenimiento continuo"
#. Resume card context menu action to open the resume editor
#. Resume card dropdown action to open the resume editor
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "Open"
msgstr "Abrir"
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Open AI assistant"
msgstr "Asistente de IA abierta"
#. Button label to open the user's default email app
#: src/routes/auth/forgot-password.tsx
msgid "Open Email Client"
msgstr "Abrir cliente de correo"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Open Integrations"
msgstr "Integraciones abiertas"
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Open Integrations Settings"
msgstr "Abrir Configuración de integraciones"
#: src/routes/_home/-sections/features.tsx
msgid "Open Source"
msgstr "Código abierto"
#. AI provider option label in dashboard AI settings
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "OpenAI"
msgstr "OpenAI"
#. AI provider option label in dashboard AI settings
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "OpenRouter"
msgstr "OpenRouter"
#: src/routes/_home/-sections/donate.tsx
#: src/routes/_home/-sections/footer.tsx
msgid "opens in new tab"
msgstr "abrir en una nueva pestaña"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Optionally, set a password so that only people with the password can view your resume through the link."
msgstr "Opcionalmente, establece una contraseña para que solo las personas que la tengan puedan ver tu currículum a través del enlace."
#: src/routes/auth/-components/social-auth.tsx
msgctxt "Choose to authenticate with a social provider (Google, GitHub, etc.) instead of email and password"
msgid "or continue with"
msgstr "o continuar con"
#: src/components/input/rich-input.tsx
msgid "Ordered List"
msgstr "Lista ordenada"
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Organization"
msgstr "Organización"
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Overall Score"
msgstr "Puntuación global"
#: src/libs/resume/section.tsx
msgid "Page"
msgstr "Página"
#. Layout editor page label with 1-based page number
#. placeholder {0}: pageIndex + 1
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Page {0}"
msgstr "Página {0}"
#: src/components/input/rich-input.tsx
msgid "Paragraph"
msgstr "Párrafo"
#. Authentication provider display name in account settings
#. Label for passkey sign-in button
#: src/routes/auth/-components/social-auth.tsx
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
msgid "Passkey"
msgstr "Passkey"
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Passkey deleted successfully."
msgstr "Clave de acceso eliminada con éxito."
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Passkey registered successfully."
msgstr "La clave de acceso se ha registrado correctamente."
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Passkeys"
msgstr "Passkeys"
#: src/routes/_home/-sections/features.tsx
msgid "Passkeys & 2FA"
msgstr "Claves de acceso y 2FA"
#. Authentication provider display name in account settings
#. Label for password input on login form
#. Label for password input on protected resume access form
#. Label for password input on registration form
#: src/dialogs/auth/disable-two-factor.tsx
#: src/dialogs/auth/enable-two-factor.tsx
#: src/routes/auth/login.tsx
#: src/routes/auth/register.tsx
#: src/routes/auth/resume-password.tsx
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
#: src/routes/dashboard/settings/authentication/-components/password.tsx
msgid "Password"
msgstr "Contraseña"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Password cannot be empty."
msgstr "La contraseña no puede estar vacía."
#: src/routes/_home/-sections/features.tsx
msgid "Password Protection"
msgstr "Protección con contraseña"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Password protection has been disabled."
msgstr "La protección con contraseña se ha deshabilitado."
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Password protection has been enabled."
msgstr "La protección con contraseña se ha habilitado."
#. File format label in import source selector
#: src/dialogs/resume/import.tsx
msgid "PDF"
msgstr "PDF"
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Period"
msgstr "Periodo"
#: src/libs/locale.ts
msgid "Persian"
msgstr "Persa"
#: src/routes/_home/-sections/features.tsx
msgid "Personalize your resume with any colors, fonts or designs, and make it your own."
msgstr "Personaliza tu currículum con los colores, fuentes o diseños que quieras y hazlo tuyo."
#: src/dialogs/resume/sections/reference.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/basics.tsx
msgid "Phone"
msgstr "Teléfono"
#: src/libs/resume/section.tsx
msgid "Picture"
msgstr "Imagen"
#: src/routes/auth/reset-password.tsx
msgid "Please enter a new password for your account"
msgstr "Introduce una nueva contraseña para tu cuenta"
#: src/routes/auth/resume-password.tsx
msgid "Please enter the password shared with you by the owner of the resume to continue."
msgstr "Introduce la contraseña que el propietario del currículum compartió contigo para continuar."
#: src/components/input/rich-input.tsx
msgid "Please enter the URL you want to link to:"
msgstr "Introduce la URL a la que quieres enlazar:"
#: src/components/ui/donation-toast.tsx
msgid "Please support the project"
msgstr "Por favor, apoyen el proyecto."
#: src/routes/$username/-components/public-resume.tsx
#: src/routes/builder/$resumeId/-components/dock.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
msgid "Please wait while your PDF is being generated..."
msgstr "Espera mientras se genera tu PDF..."
#: src/libs/locale.ts
msgid "Polish"
msgstr "Polaco"
#. Preset button for setting picture aspect ratio to portrait orientation
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Portrait"
msgstr "Vertical"
#: src/libs/locale.ts
msgid "Portuguese (Brazil)"
msgstr "Portugués (Brasil)"
#: src/libs/locale.ts
msgid "Portuguese (Portugal)"
msgstr "Portugués (Portugal)"
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/reference.tsx
msgid "Position"
msgstr "Puesto"
#: src/components/command-palette/pages/navigation.tsx
#: src/components/command-palette/pages/preferences/index.tsx
#: src/routes/dashboard/-components/sidebar.tsx
#: src/routes/dashboard/settings/preferences.tsx
msgid "Preferences"
msgstr "Preferencias"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Preparing changes"
msgstr "Preparando cambios"
#: src/components/input/color-picker.tsx
msgid "Presets"
msgstr "Preajustes"
#: src/components/input/chip-input.tsx
msgid "Press <0>{RETURN_KEY}</0> or <1>{COMMA_KEY}</1> to add or save the current keyword."
msgstr "Presiona <0>{RETURN_KEY}</0> o <1>{COMMA_KEY}</1> para agregar o guardar la palabra clave actual."
#. Command palette hint that pressing Enter opens the selected resume
#: src/components/command-palette/pages/resumes.tsx
msgid "Press <0>Enter</0> to open"
msgstr "Pulse <0>Intro</0> para abrir"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Prev"
msgstr "Anterior"
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
msgid "Primary Color"
msgstr "Color primario"
#: src/dialogs/resume/sections/skill.tsx
msgid "Proficiency"
msgstr "Nivel de dominio"
#: src/components/command-palette/pages/navigation.tsx
#: src/routes/dashboard/-components/sidebar.tsx
#: src/routes/dashboard/settings/profile.tsx
msgid "Profile"
msgstr "Perfil"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Profiles"
msgstr "Perfiles"
#: src/components/level/combobox.tsx
msgid "Progress Bar"
msgstr "Barra de progreso"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Projects"
msgstr "Proyectos"
#. placeholder {0}: index + 1
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Proposal {0} of {total}"
msgstr "Propuesta {0} de {total}"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Protect your resume from unauthorized access with a password"
msgstr "Protege tu currículum del acceso no autorizado con una contraseña"
#: src/routes/_home/-sections/features.tsx
msgid "Protect your resume with a password, and let only people with the password view it."
msgstr "Protege tu currículum con una contraseña y permite que solo las personas que la tengan puedan verlo."
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Provider"
msgstr "Proveedor"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Publications"
msgstr "Publicaciones"
#: src/dialogs/resume/sections/publication.tsx
msgid "Publisher"
msgstr "Editor"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Raw JSON Patch"
msgstr "Parche JSON sin procesar"
#: src/routes/_home/-sections/header.tsx
msgid "Reactive Resume - Go to homepage"
msgstr "Reactive Resume - Ir a la página de inicio"
#. Import source option for current Reactive Resume JSON format
#: src/dialogs/resume/import.tsx
msgid "Reactive Resume (JSON)"
msgstr "Hoja de vida reactiva (JSON)"
#: src/routes/_home/-sections/prefooter.tsx
msgid "Reactive Resume continues to grow thanks to its vibrant community. This project owes its progress to numerous individuals who've dedicated their time and skills to make it better. We celebrate the coders who've enhanced its features on GitHub, the linguists whose translations on Crowdin have made it accessible to a broader audience, and the people who've donated to support its continued development."
msgstr "Reactive Resume sigue creciendo gracias a su vibrante comunidad. Este proyecto debe su progreso a numerosas personas que han dedicado su tiempo y habilidades para mejorarlo. Celebramos a los programadores que han mejorado sus funciones en GitHub, a los lingüistas cuyas traducciones en Crowdin lo han hecho accesible a una audiencia más amplia y a las personas que han donado para apoyar su desarrollo continuo."
#: src/routes/_home/-sections/donate.tsx
msgid "Reactive Resume is a free and open-source project, built with love and maintained by me and a community of contributors. Your donations help keep the lights on and the code flowing."
msgstr "Reactive Resume es un proyecto gratuito y de código abierto, creado con cariño y mantenido por mí y por una comunidad de colaboradores. Tus donaciones ayudan a mantener las luces encendidas y el código fluyendo."
#: src/routes/_home/-sections/hero.tsx
msgid "Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume."
msgstr "Reactive Resume es un creador de currículums gratuito y de código abierto que simplifica el proceso de crear, actualizar y compartir tu currículum."
#: src/components/ui/donation-toast.tsx
msgid "Reactive Resume is free and open source. If it has helped you, please consider donating."
msgstr "Reactive Resume es gratuito y de código abierto. Si te ha sido útil, considera hacer una donación."
#: src/routes/_home/-sections/faq.tsx
msgid "Reactive Resume is open-source, privacy-focused, and completely free. Unlike other resume builders, it doesn't show ads, track your data, or limit your features behind a paywall."
msgstr "Reactive Resume es de código abierto, centrado en la privacidad y completamente gratuito. A diferencia de otros creadores de currículums, no muestra anuncios, no rastrea tus datos ni limita tus funciones tras un muro de pago."
#. App version label in footer; includes semantic version variable
#: src/components/ui/copyright.tsx
msgid "Reactive Resume v{__APP_VERSION__}"
msgstr "Reanudación reactiva v{__APP_VERSION__}"
#. Import source option for legacy Reactive Resume v4 JSON format
#: src/dialogs/resume/import.tsx
msgid "Reactive Resume v4 (JSON)"
msgstr "Currículum reactivo v4 (JSON)"
#: src/dialogs/resume/sections/cover-letter.tsx
msgid "Recipient"
msgstr "Destinatario"
#: src/components/level/combobox.tsx
msgid "Rectangle"
msgstr "Rectángulo"
#: src/components/level/combobox.tsx
msgid "Rectangle (Full Width)"
msgstr "Rectángulo (ancho completo)"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "References"
msgstr "Referencias"
#: src/components/layout/error-screen.tsx
msgid "Refresh"
msgstr "Actualizar"
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Register New Device"
msgstr "Registrar nuevo dispositivo"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Reject"
msgstr "Rechazar"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Reject all"
msgstr "Rechazar todo"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Rejected proposal"
msgstr "Propuesta rechazada"
#: src/routes/auth/forgot-password.tsx
msgid "Remember your password? <0/>"
msgstr "¿Recuerdas tu contraseña? <0/>"
#: src/dialogs/resume/sections/experience.tsx
msgid "Remove"
msgstr "Eliminar"
#. Screen reader label for button that removes a keyword chip. Variable is the current keyword text.
#: src/components/input/chip-input.tsx
msgid "Remove {chip}"
msgstr "Elimine {chip}"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Remove Password"
msgstr "Quitar contraseña"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Removing password protection..."
msgstr "Quitando la protección con contraseña..."
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Rename"
msgstr "Renombrar"
#: src/dialogs/resume/sections/experience.tsx
msgid "Reorder"
msgstr "Reordenar"
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Report a Bug"
msgstr "Informar de un error"
#: src/routes/_home/-sections/footer.tsx
msgid "Report an issue"
msgstr "Informar de un problema"
#: src/routes/dashboard/settings/profile.tsx
msgid "Resend verification email"
msgstr "Reenviar correo de verificación"
#: src/routes/dashboard/settings/profile.tsx
msgid "Resending verification email..."
msgstr "Reenviando correo de verificación..."
#. Destructive confirmation button label when resetting a resume section
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Reset"
msgstr "Restablecer"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Reset chat"
msgstr "Reiniciar chat"
#. Primary action button label on reset-password form
#: src/routes/auth/reset-password.tsx
msgid "Reset Password"
msgstr "Restablecer contraseña"
#: src/routes/auth/reset-password.tsx
msgid "Reset your password"
msgstr "Restablecer tu contraseña"
#: src/routes/auth/reset-password.tsx
msgid "Resetting your password..."
msgstr "Restableciendo tu contraseña..."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Resize AI assistant"
msgstr "Asistente de IA para redimensionar"
#: src/routes/_home/-sections/footer.tsx
msgid "Resources"
msgstr "Recursos"
#: src/libs/resume/section.tsx
msgid "Resume Analysis"
msgstr "Análisis del currículum"
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Resume analysis complete."
msgstr "Análisis del currículum finalizado."
#: src/components/command-palette/pages/navigation.tsx
#: src/components/command-palette/pages/resumes.tsx
#: src/routes/_home/-sections/statistics.tsx
#: src/routes/dashboard/-components/sidebar.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Resumes"
msgstr "Currículums"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Review required"
msgstr "Se requiere revisión"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Reviewed proposals"
msgstr "Propuestas revisadas"
#: src/components/input/rich-input.tsx
msgid "Right Align"
msgstr "Alinear a la derecha"
#: src/dialogs/resume/sections/experience.tsx
msgid "Role Progression"
msgstr "Progresión de puestos"
#: src/libs/locale.ts
msgid "Romanian"
msgstr "Rumano"
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Rotation"
msgstr "Rotación"
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Run your first analysis to get a scorecard, strengths, and prioritized suggestions."
msgstr "Realice su primer análisis para obtener un cuadro de mando, los puntos fuertes y las sugerencias priorizadas."
#: src/libs/locale.ts
msgid "Russian"
msgstr "Ruso"
#. Passkey rename prompt confirm action in authentication settings
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Save"
msgstr "Guarde"
#: src/dialogs/resume/index.tsx
#: src/dialogs/resume/sections/award.tsx
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/cover-letter.tsx
#: src/dialogs/resume/sections/custom.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/interest.tsx
#: src/dialogs/resume/sections/language.tsx
#: src/dialogs/resume/sections/profile.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
#: src/dialogs/resume/sections/skill.tsx
#: src/dialogs/resume/sections/summary-item.tsx
#: src/dialogs/resume/sections/volunteer.tsx
#: src/routes/dashboard/settings/profile.tsx
msgid "Save Changes"
msgstr "Guardar cambios"
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Scan the QR code below with your preferred authenticator app. You can also copy the secret below and paste it into your app."
msgstr "Escanea el código QR de abajo con tu aplicación de autenticación preferida. También puedes copiar el secreto que aparece abajo y pegarlo en tu aplicación."
#: src/dialogs/resume/sections/education.tsx
msgid "School"
msgstr "Centro educativo"
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Scorecard"
msgstr "Tarjeta de puntuación"
#. Accessible label for command palette search input
#: src/components/command-palette/index.tsx
msgid "Search commands"
msgstr "Comandos de búsqueda"
#. Accessible label for icon picker search input
#. Placeholder text in icon picker search input
#: src/components/input/icon-picker.tsx
msgid "Search for an icon"
msgstr "Buscar un icono"
#: src/components/command-palette/pages/resumes.tsx
msgid "Search for..."
msgstr "Buscar..."
#. Placeholder in command palette input on nested pages
#: src/components/command-palette/index.tsx
#: src/components/ui/combobox.tsx
msgid "Search..."
msgstr "Buscar..."
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Secret copied to clipboard."
msgstr "Secreto copiado al portapapeles."
#: src/dialogs/resume/sections/custom.tsx
msgid "Section Type"
msgstr "Tipo de sección"
#: src/components/ui/combobox.tsx
msgid "Select..."
msgstr "Seleccionar..."
#: src/routes/_home/-sections/features.tsx
msgid "Self-Host with Docker"
msgstr "Auto alojamiento con Docker"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Send"
msgstr "Enviar"
#. Primary action button label on forgot-password form
#: src/routes/auth/forgot-password.tsx
msgid "Send Password Reset Email"
msgstr "Enviar correo para restablecer contraseña"
#: src/routes/auth/forgot-password.tsx
msgid "Sending password reset email..."
msgstr "Enviando correo para restablecer contraseña..."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Sending request"
msgstr "Enviando solicitud"
#: src/components/input/rich-input.tsx
msgid "Separator"
msgstr "Separador"
#: src/libs/locale.ts
msgid "Serbian"
msgstr "Serbio"
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
#: src/routes/dashboard/settings/authentication/-components/password.tsx
msgid "Set Password"
msgstr "Establecer contraseña"
#: src/components/command-palette/pages/navigation.tsx
#: src/routes/dashboard/-components/sidebar.tsx
msgid "Settings"
msgstr "Configuración"
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Setup Authenticator App"
msgstr "Configurar aplicación de autenticación"
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Shadow Width"
msgstr "Ancho de la sombra"
#: src/routes/_home/-sections/features.tsx
msgid "Share your resume with a public URL, and let others view it."
msgstr "Comparte tu currículum con una URL pública y permite que otros lo vean."
#: src/routes/_home/-sections/features.tsx
msgid "Shareable Links"
msgstr "Enlaces para compartir"
#: src/libs/resume/section.tsx
msgid "Sharing"
msgstr "Compartir"
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Show"
msgstr "Mostrar"
#: src/dialogs/resume/sections/award.tsx
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/profile.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Show link in title"
msgstr "Mostrar enlace en el título"
#. Accessible label for button that reveals password in registration form
#. Accessible label for button that reveals password in reset-password form
#. Accessible label for button that reveals password on protected resume screen
#. Accessible label for button that reveals the password in login form
#. Accessible label for toggle button that reveals the masked current password
#. Accessible label for toggle button that reveals the masked new password
#. Accessible label for toggle button that reveals the masked password in two-factor disable dialog
#. Accessible label for toggle button that reveals the masked password in two-factor setup
#: src/dialogs/auth/change-password.tsx
#: src/dialogs/auth/disable-two-factor.tsx
#: src/dialogs/auth/enable-two-factor.tsx
#: src/routes/auth/login.tsx
#: src/routes/auth/register.tsx
#: src/routes/auth/reset-password.tsx
#: src/routes/auth/resume-password.tsx
msgid "Show password"
msgstr "Mostrar contraseña"
#. Layout editor column label for the secondary sidebar area
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Barra lateral<<<<<<< HEAD"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
msgstr "Ancho de la barra lateral"
#. Primary action button label on login form
#: src/routes/auth/login.tsx
msgid "Sign in"
msgstr "Iniciar sesión"
#. Call-to-action link from forgot-password page to login page
#. Call-to-action link from registration page to login page
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "Sign in now"
msgstr "Regístrese ahora"
#. Title on the login page
#: src/routes/auth/login.tsx
msgid "Sign in to your account"
msgstr "Inicia sesión a tu cuenta"
#: src/routes/_home/-sections/features.tsx
msgid "Sign in with GitHub, Google or a custom OAuth provider."
msgstr "Inicia sesión con GitHub, Google o un proveedor OAuth personalizado."
#. Primary action button label on registration form
#: src/routes/auth/register.tsx
msgid "Sign up"
msgstr "Registrarse"
#: src/routes/auth/-components/social-auth.tsx
#: src/routes/auth/login.tsx
msgid "Signing in..."
msgstr "Iniciando sesión..."
#: src/components/user/dropdown-menu.tsx
msgid "Signing out..."
msgstr "Cerrando sesión..."
#: src/routes/auth/register.tsx
msgid "Signing up..."
msgstr "Registrándose..."
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Una sola columna con un acento de borde izquierdo magenta; compacto y eficiente para solicitudes de nivel inicial o de prácticas."
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a minimal top header and lots of whitespace; clean and modern for designers or content creators."
msgstr "Una sola columna con un encabezado superior mínimo y mucho espacio en blanco; limpio y moderno para diseñadores o creadores de contenido."
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a sidebar and clean grid layout; versatile for any professional or technical role."
msgstr "Una sola columna con una barra lateral y un diseño de cuadrícula limpio; versátil para cualquier puesto profesional o técnico."
#: src/dialogs/resume/template/data.ts
msgid "Single-column with an inline three-column entry header (position · organization · period); compact and ATS-friendly, well-suited for Asian resume conventions (CN/JP/KR)."
msgstr "Una sola columna con un encabezado de entrada en línea de tres columnas (cargo - organización - punto); compacto y apto para ATS, muy adecuado para las convenciones asiáticas de currículum (CN/JP/KR)."
#: src/dialogs/resume/template/data.ts
msgid "Single-column; polished and serious for senior or enterprise-level positions."
msgstr "Una sola columna; pulido y serio para puestos sénior o de nivel empresarial."
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Size"
msgstr "Tamaño"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Skills"
msgstr "Habilidades"
#: src/routes/_home/route.tsx
msgid "Skip to main content"
msgstr "Saltar al contenido principal"
#: src/libs/locale.ts
msgid "Slovak"
msgstr "Eslovaco"
#: src/libs/locale.ts
msgid "Slovenian"
msgstr "Esloveno"
#: src/dialogs/resume/index.tsx
msgid "Slug"
msgstr "Slug"
#. Fallback error description when resume analysis request fails
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Something went wrong while analyzing your resume."
msgstr "Algo ha fallado al analizar su currículum."
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Something went wrong. Please try again."
msgstr "Algo salió mal. Vuelve a intentarlo."
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Ordenar por"
#: src/routes/_home/-sections/footer.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Source Code"
msgstr "Código fuente"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Spacing (Horizontal)"
msgstr "Espaciado (horizontal)"
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
msgid "Spacing (Vertical)"
msgstr "Espaciado (vertical)"
#: src/libs/locale.ts
msgid "Spanish"
msgstr "Español"
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Sponsors"
msgstr "Patrocinadores"
#: src/routes/_home/-sections/footer.tsx
msgid "Sponsorships"
msgstr "Patrocinios"
#. Preset button for setting picture aspect ratio to square
#: src/components/level/combobox.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Square"
msgstr "Cuadrado"
#: src/components/input/github-stars-button.tsx
msgid "Star us on GitHub (opens in new tab)"
msgstr "Danos una estrella en GitHub (abrir en una nueva pestaña)"
#. placeholder {0}: starCount.toLocaleString()
#: src/components/input/github-stars-button.tsx
msgid "Star us on GitHub, currently {0} stars (opens in new tab)"
msgstr "Danos una estrella en GitHub, actualmente {0} estrellas (abrir en una nueva pestaña)"
#: src/dialogs/resume/index.tsx
msgid "Start building your resume by giving it a name."
msgstr "Comienza a crear tu currículum dándole un nombre."
#: src/routes/dashboard/resumes/-components/cards/create-card.tsx
#: src/routes/dashboard/resumes/-components/list-view.tsx
msgid "Start building your resume from scratch"
msgstr "Comienza a crear tu currículum desde cero"
#: src/libs/resume/section.tsx
msgid "Statistics"
msgstr "Estadísticas"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr "Continuar"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "Stop"
msgstr "Detener"
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Strengths"
msgstr "Puntos fuertes"
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Tachado"
#: src/routes/_home/-sections/footer.tsx
msgid "Subreddit"
msgstr "Subreddit"
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "Suggestions"
msgstr "Sugerencias"
#. Fallback title for a custom summary item in resume builder when content is empty
#. Fallback title for a custom summary item in resume builder when content is unavailable
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
msgid "Summary"
msgstr "Resumen"
#: src/routes/_home/-sections/donate.tsx
msgid "Support Reactive Resume"
msgstr "Apoyar Reactive Resume"
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Support the app by doing what you can!"
msgstr "Apoya la aplicación haciendo lo que puedas."
#: src/libs/locale.ts
msgid "Swedish"
msgstr "Sueco"
#: src/components/theme/toggle-button.tsx
msgid "Switch to dark theme"
msgstr "Cambiar a tema oscuro"
#: src/components/theme/toggle-button.tsx
msgid "Switch to light theme"
msgstr "Cambiar a tema claro"
#: src/components/input/rich-input.tsx
msgid "Table"
msgstr "Tabla"
#: src/dialogs/resume/index.tsx
msgid "Tags"
msgstr "Etiquetas"
#: src/dialogs/resume/index.tsx
msgid "Tags can be used to categorize your resume by keywords."
msgstr "Las etiquetas pueden utilizarse para clasificar tu currículum por palabras clave."
#: src/libs/locale.ts
msgid "Tamil"
msgstr "Tamil"
#: src/libs/locale.ts
msgid "Telugu"
msgstr "Telugu"
#: src/libs/resume/section.tsx
msgid "Template"
msgstr "Plantilla"
#: src/dialogs/resume/template/gallery.tsx
msgid "Template Gallery"
msgstr "Galería de plantillas"
#: src/routes/_home/-sections/templates.tsx
msgid "Templates"
msgstr "Plantillas"
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Test Connection"
msgstr "Probar conexión"
#: src/routes/_home/-sections/testimonials.tsx
msgid "Testimonials"
msgstr "Testimonios"
#: src/components/input/rich-input.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
msgid "Text Color"
msgstr "Color del texto"
#: src/libs/locale.ts
msgid "Thai"
msgstr "Tailandés"
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "The AI proposed a change that no longer applies to this resume."
msgstr "La IA propuso un cambio que ya no se aplica a este currículum."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "The AI returned a proposal that could not be previewed."
msgstr "La IA devolvió una propuesta que no se pudo previsualizar."
#. Error description when AI returns invalid resume analysis format
#: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx
msgid "The AI returned an invalid analysis format. Please try again."
msgstr "La IA ha devuelto un formato de análisis no válido. Por favor, inténtelo de nuevo."
#: src/routes/dashboard/settings/api-keys.tsx
msgid "The API key has been deleted successfully."
msgstr "La clave API se ha eliminado correctamente."
#: src/routes/dashboard/settings/api-keys.tsx
msgid "The API key will no longer be able to access your data after deletion. This action cannot be undone."
msgstr "Después de eliminarla, la clave API ya no podrá acceder a tus datos. Esta acción no se puede deshacer."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "The assistant stopped before returning a proposal."
msgstr "El asistente se detuvo antes de devolver la propuesta."
#. Empty-state message when no command palette results match the search query
#: src/components/command-palette/index.tsx
msgid "The command you're looking for doesn't exist."
msgstr "El comando que buscas no existe."
#. Error shown when AI parsing returns invalid resume structure during import
#: src/dialogs/resume/import.tsx
msgid "The imported file could not be parsed into a valid resume."
msgstr "No se ha podido analizar el archivo importado para convertirlo en un currículum válido."
#: src/routes/auth/resume-password.tsx
msgid "The password you entered is incorrect"
msgstr "La contraseña que introdujiste es incorrecta"
#: src/routes/auth/resume-password.tsx
msgid "The resume you are trying to access is password protected"
msgstr "El currículum al que intentas acceder está protegido con contraseña"
#: src/components/input/rich-input.tsx
msgid "The URL you entered is not valid."
msgstr "La URL que has introducido no es válida."
#. Menu item that opens appearance theme selection submenu
#: src/components/command-palette/pages/preferences/theme.tsx
#: src/components/user/dropdown-menu.tsx
#: src/routes/dashboard/settings/preferences.tsx
msgid "Theme"
msgstr "Tema"
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Then, enter the 6 digit code that the app provides to continue."
msgstr "Luego, introduce el código de 6 dígitos que te proporciona la aplicación para continuar."
#: src/routes/builder/$resumeId/-components/dock.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
msgid "There was a problem while generating the DOCX, please try again."
msgstr "Se ha producido un problema al generar el DOCX, inténtelo de nuevo."
#: src/routes/$username/-components/public-resume.tsx
#: src/routes/builder/$resumeId/-components/dock.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/export.tsx
msgid "There was a problem while generating the PDF, please try again."
msgstr "Se ha producido un problema al generar el PDF. Por favor, inténtelo de nuevo."
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "This action cannot be undone."
msgstr "Esta acción no se puede deshacer."
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "This action cannot be undone. All your data will be permanently deleted."
msgstr "Esta acción no se puede deshacer. Todos tus datos se eliminarán permanentemente."
#: src/dialogs/resume/import.tsx
msgid "This feature requires AI Integration to be enabled. Please enable it in the settings."
msgstr "Esta función requiere que la integración con IA esté habilitada. Por favor, actívala en la configuración."
#: src/dialogs/resume/index.tsx
msgid "This is a URL-friendly name for your resume."
msgstr "Este es un nombre compatible con URL para tu currículum."
#: src/dialogs/resume/import.tsx
msgid "This may take a few minutes, depending on the response of the AI provider. Please do not close the window or refresh the page."
msgstr "Esto puede tardar unos minutos, dependiendo de la respuesta del proveedor de IA. No cierres la ventana ni recargues la página."
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "This proposal is stale. Ask the assistant to regenerate it from the latest resume."
msgstr "Esta propuesta está desactualizada. Pídele al asistente que la actualice a partir del currículum más reciente."
#: src/components/resume/builder-resume-draft.ts
#: src/routes/builder/$resumeId/-components/assistant.tsx
msgid "This resume is locked and cannot be updated."
msgstr "Este currículum está bloqueado y no se puede actualizar."
#: src/routes/builder/$resumeId/-sidebar/right/sections/notes.tsx
msgid "This section is reserved for your personal notes specific to this resume. The content here remains private and is not shared with anyone else."
msgstr "Esta sección está reservada para tus notas personales específicas de este currículum. El contenido aquí permanece privado y no se comparte con nadie más."
#: src/routes/auth/register.tsx
msgid "This step is optional, but recommended."
msgstr "Este paso es opcional, pero recomendable."
#: src/dialogs/api-key/create.tsx
msgid "This will generate a new API key to access the Reactive Resume API to allow machines to interact with your resume data."
msgstr "Esto generará una nueva clave API para acceder a la API de Reactive Resume y permitir que las máquinas interactúen con los datos de tu currículum."
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "This will help you identify it later, if you plan to have multiple passkeys."
msgstr "Esto le ayudará a identificarlo más tarde, si planea tener varias claves de acceso."
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "This will remove all items from this section."
msgstr "Esto eliminará todos los elementos de esta sección."
#: src/routes/_home/-sections/hero.tsx
msgid "Timelapse demonstration of building a resume with Reactive Resume"
msgstr "Demostración en timelapse de la creación de un currículum con Reactive Resume"
#: src/dialogs/api-key/create.tsx
msgid "Tip: Give your API key a name, corresponding to the purpose of the key, to help you identify it later."
msgstr "Consejo: Ponle un nombre a tu clave API relacionado con el propósito de la clave para ayudarte a identificarla más adelante."
#: src/dialogs/resume/index.tsx
msgid "Tip: You can name the resume referring to the position you are applying for."
msgstr "Consejo: Puedes nombrar el currículum haciendo referencia al puesto que estás solicitando."
#: src/dialogs/resume/sections/award.tsx
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/custom.tsx
#: src/dialogs/resume/sections/publication.tsx
msgid "Title"
msgstr "Título"
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "To delete your account, you need to enter the confirmation text and click the button below."
msgstr "Para eliminar tu cuenta, debes introducir el texto de confirmación y hacer clic en el botón de abajo."
#. Screen-reader label for opening or closing the left sidebar in resume builder
#: src/routes/builder/$resumeId/-components/header.tsx
msgid "Toggle left sidebar"
msgstr "Alternar la barra lateral izquierda"
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Toggle page stacking"
msgstr "Alternar apilamiento de páginas"
#. Screen-reader label for opening or closing the right sidebar in resume builder
#: src/routes/builder/$resumeId/-components/header.tsx
msgid "Toggle right sidebar"
msgstr "Alternar la barra lateral derecha"
#: src/routes/builder/$resumeId/-sidebar/right/sections/statistics.tsx
msgid "Track your resume's views and downloads"
msgstr "Haz un seguimiento de las visualizaciones y descargas de tu currículum"
#: src/routes/_home/-sections/footer.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/information.tsx
msgid "Translations"
msgstr "Traducciones"
#: src/libs/locale.ts
msgid "Turkish"
msgstr "Turco"
#: src/routes/builder/$resumeId/-sidebar/right/sections/statistics.tsx
msgid "Turn on public sharing to track how many times your resume has been viewed or downloaded. Only you can see your resume's statistics."
msgstr "Activa el uso compartido público para hacer un seguimiento de cuántas veces se ha visto o descargado tu currículum. Solo tú puedes ver las estadísticas de tu currículum."
#: src/dialogs/resume/template/data.ts
msgid "Two-column with a bold colored sidebar and skill bars; great for creative or tech roles where visual flair is welcome."
msgstr "Dos columnas con una barra lateral de color intenso y barras de habilidades; ideal para puestos creativos o tecnológicos donde se aprecia un toque visual llamativo."
#: src/dialogs/resume/template/data.ts
msgid "Two-column with a dark teal sidebar and skills grid; modern feel for developers, data scientists, or technical PMs."
msgstr "Dos columnas con una barra lateral verde azulado oscuro y una cuadrícula de habilidades; aspecto moderno para desarrolladores, científicos de datos o jefes de producto técnicos."
#: src/dialogs/resume/template/data.ts
msgid "Two-column with a left margin color; simple and approachable for creative, editorial, or junior roles."
msgstr "Dos columnas con un margen de color a la izquierda; sencillo y accesible para puestos creativos, editoriales o junior."
#: src/dialogs/resume/template/data.ts
msgid "Two-column with a muted color sidebar; earthy and calm, suits sustainability, healthcare, or nonprofit sectors."
msgstr "Dos columnas con una barra lateral de color tenue; sobrio y calmado, adecuado para los sectores de sostenibilidad, sanidad u organizaciones sin ánimo de lucro."
#: src/dialogs/resume/template/data.ts
msgid "Two-column with a soft header accent and circular profile photo; ideal for marketing, HR, or client-facing roles."
msgstr "Dos columnas con un suave acento en el encabezado y foto de perfil circular; ideal para marketing, recursos humanos o puestos de cara al cliente."
#: src/dialogs/resume/template/data.ts
msgid "Two-column with accent colors and clean typography; balanced choice for business analysts or operations roles."
msgstr "Dos columnas con colores de acento y tipografía limpia; opción equilibrada para analistas de negocio o puestos de operaciones."
#: src/dialogs/resume/template/data.ts
msgid "Two-column, clean and professional with subtle section dividers; suits corporate, finance, or consulting positions."
msgstr "Dos columnas, limpio y profesional con sutiles divisores de sección; adecuado para puestos corporativos, de finanzas o consultoría."
#: src/dialogs/resume/template/data.ts
msgid "Two-column, minimal and text-dense with no decorative elements; perfect for traditional industries or ATS-heavy applications."
msgstr "Dos columnas, minimalista y denso en texto sin elementos decorativos; perfecto para industrias tradicionales o solicitudes en las que el ATS tenga mucho peso."
#: src/dialogs/resume/template/data.ts
msgid "Two-column, minimal with light gray sidebar and subtle icons; professional and understated for legal, finance, or executive roles."
msgstr "Dos columnas, minimalista con barra lateral gris claro e iconos sutiles; profesional y discreto para puestos legales, financieros o ejecutivos."
#: src/routes/auth/verify-2fa.tsx
#: src/routes/dashboard/settings/authentication/-components/two-factor.tsx
msgid "Two-Factor Authentication"
msgstr "Autenticación de doble factor"
#: src/dialogs/auth/disable-two-factor.tsx
msgid "Two-factor authentication has been disabled successfully."
msgstr "La autenticación de doble factor se ha deshabilitado correctamente."
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Two-factor authentication has been setup successfully."
msgstr "La autenticación de doble factor se ha configurado correctamente."
#. Accessible title for QR code image shown during two-factor setup
#: src/dialogs/auth/enable-two-factor.tsx
msgid "Two-Factor Authentication QR Code"
msgstr "Código QR de autenticación de dos factores"
#: src/dialogs/resume/import.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx
msgid "Type"
msgstr "Tipo"
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "Type \"{CONFIRMATION_TEXT}\" to confirm"
msgstr "Escribe \"{CONFIRMATION_TEXT}\" para confirmar"
#. Placeholder in command palette input on root page
#. Screen-reader dialog description instructing users how to use the command palette
#: src/components/command-palette/index.tsx
msgid "Type a command or search..."
msgstr "Escribe un comando o busca..."
#: src/libs/resume/section.tsx
msgid "Typography"
msgstr "Tipografía"
#: src/libs/locale.ts
msgid "Ukrainian"
msgstr "Ucraniano"
#: src/components/input/rich-input.tsx
msgid "Underline"
msgstr "Subrayado"
#: src/routes/_home/-sections/features.tsx
msgid "Unlimited Resumes"
msgstr "Currículums ilimitados"
#: src/routes/dashboard/settings/authentication/-components/hooks.tsx
msgid "Unlinking your {providerName} account..."
msgstr "Desvinculando tu cuenta de {providerName}..."
#. Primary action button label to unlock a password-protected resume
#. Resume card context menu action to remove edit lock
#. Resume card dropdown action to remove edit lock
#: src/routes/auth/resume-password.tsx
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "Unlock"
msgstr "Desbloquear"
#: src/routes/dashboard/settings/authentication/-components/passkeys.tsx
msgid "Unnamed passkey"
msgstr "Llave de paso sin nombre"
#: src/routes/dashboard/settings/profile.tsx
msgid "Unverified"
msgstr "Sin verificar"
#. Resume card context menu action to edit resume metadata
#. Resume card dropdown action to edit resume metadata
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/custom.tsx
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-item.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "Update"
msgstr "Actualizar"
#: src/dialogs/resume/sections/award.tsx
msgid "Update an existing award"
msgstr "Actualizar un premio existente"
#: src/dialogs/resume/sections/certification.tsx
msgid "Update an existing certification"
msgstr "Actualizar una certificación existente"
#: src/dialogs/resume/sections/cover-letter.tsx
msgid "Update an existing cover letter"
msgstr "Actualizar la carta de presentación"
#: src/dialogs/resume/sections/custom.tsx
msgid "Update an existing custom section"
msgstr "Actualizar una sección personalizada existente"
#: src/dialogs/resume/sections/education.tsx
msgid "Update an existing education"
msgstr "Actualizar una formación académica existente"
#: src/dialogs/resume/sections/experience.tsx
msgid "Update an existing experience"
msgstr "Actualizar una experiencia existente"
#: src/dialogs/resume/sections/interest.tsx
msgid "Update an existing interest"
msgstr "Actualizar un interés existente"
#: src/dialogs/resume/sections/language.tsx
msgid "Update an existing language"
msgstr "Actualizar un idioma existente"
#: src/dialogs/resume/sections/profile.tsx
msgid "Update an existing profile"
msgstr "Actualizar un perfil existente"
#: src/dialogs/resume/sections/project.tsx
msgid "Update an existing project"
msgstr "Actualizar un proyecto existente"
#: src/dialogs/resume/sections/publication.tsx
msgid "Update an existing publication"
msgstr "Actualizar una publicación existente"
#: src/dialogs/resume/sections/reference.tsx
msgid "Update an existing reference"
msgstr "Actualizar una referencia existente"
#: src/dialogs/resume/sections/skill.tsx
msgid "Update an existing skill"
msgstr "Actualizar una habilidad existente"
#: src/dialogs/resume/sections/summary-item.tsx
msgid "Update an existing summary item"
msgstr "Actualizar una entrada del perfil"
#: src/dialogs/resume/sections/volunteer.tsx
msgid "Update an existing volunteer experience"
msgstr "Actualizar una experiencia de voluntariado existente"
#. Primary action button to submit changed password
#: src/dialogs/auth/change-password.tsx
#: src/routes/dashboard/settings/authentication/-components/password.tsx
msgid "Update Password"
msgstr "Actualizar contraseña"
#: src/dialogs/resume/index.tsx
msgid "Update Resume"
msgstr "Actualizar currículum"
#: src/dialogs/auth/change-password.tsx
msgid "Update your password"
msgstr "Actualiza tu contraseña"
#: src/dialogs/auth/change-password.tsx
msgid "Updating your password..."
msgstr "Actualizando tu contraseña..."
#: src/dialogs/resume/index.tsx
msgid "Updating your resume..."
msgstr "Actualizando tu currículum..."
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Upload picture"
msgstr "Subir foto"
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
msgid "Uploading picture..."
msgstr "Subiendo imagen..."
#. Form field label for the generated public resume link in sharing settings
#: src/routes/builder/$resumeId/-sidebar/left/sections/picture.tsx
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "URL"
msgstr "URL"
#: src/components/input/color-picker.tsx
msgid "Use color {color}"
msgstr "Utilice el color {color}"
#. Label for username input on registration form
#: src/dialogs/resume/sections/profile.tsx
#: src/routes/auth/register.tsx
#: src/routes/dashboard/settings/profile.tsx
msgid "Username"
msgstr "Usuario"
#: src/routes/_home/-sections/statistics.tsx
msgid "Users"
msgstr "Usuarios"
#: src/libs/locale.ts
msgid "Uzbek"
msgstr "Uzbeko"
#: src/components/input/rich-input.tsx
msgid "Valid URLs must start with http:// or https://."
msgstr "Las URL válidas deben comenzar con http:// o https://."
#. AI provider option label in dashboard AI settings
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Vercel AI Gateway"
msgstr "Pasarela Vercel AI"
#: src/routes/dashboard/settings/profile.tsx
msgid "Verified"
msgstr "Verificada"
#. Primary action button to submit 2FA code
#. Primary action button to submit backup code
#: src/routes/auth/verify-2fa-backup.tsx
#: src/routes/auth/verify-2fa.tsx
msgid "Verify"
msgstr "Verificar"
#: src/routes/auth/verify-2fa-backup.tsx
msgid "Verify with a Backup Code"
msgstr "Verificar con un código de respaldo"
#: src/routes/auth/verify-2fa-backup.tsx
msgid "Verifying backup code..."
msgstr "Verificando código de respaldo..."
#: src/dialogs/auth/enable-two-factor.tsx
#: src/routes/auth/verify-2fa.tsx
msgid "Verifying code..."
msgstr "Verificando código..."
#: src/routes/auth/resume-password.tsx
msgid "Verifying password..."
msgstr "Verificando contraseña..."
#: src/routes/auth/register.tsx
msgid "Verifying your email is required when resetting your password."
msgstr "Verificar tu correo electrónico es obligatorio para restablecer tu contraseña."
#: src/libs/locale.ts
msgid "Vietnamese"
msgstr "Vietnamita"
#: src/routes/builder/$resumeId/-sidebar/right/sections/statistics.tsx
msgid "Views"
msgstr "Visualizaciones"
#: src/dialogs/resume/sections/custom.tsx
#: src/libs/resume/section-title.ts
#: src/libs/resume/section.tsx
msgid "Volunteer"
msgstr "Voluntariado"
#: src/dialogs/resume/sections/award.tsx
#: src/dialogs/resume/sections/certification.tsx
#: src/dialogs/resume/sections/education.tsx
#: src/dialogs/resume/sections/experience.tsx
#: src/dialogs/resume/sections/profile.tsx
#: src/dialogs/resume/sections/project.tsx
#: src/dialogs/resume/sections/publication.tsx
#: src/dialogs/resume/sections/reference.tsx
#: src/dialogs/resume/sections/volunteer.tsx
#: src/routes/builder/$resumeId/-sidebar/left/sections/basics.tsx
msgid "Website"
msgstr "Sitio web"
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "What do you want to rename this section to?"
msgstr "¿Cómo quieres renombrar esta sección?"
#: src/routes/_home/-sections/faq.tsx
msgid "What makes Reactive Resume different from other resume builders?"
msgstr "¿Qué hace que Reactive Resume sea diferente de otros creadores de currículums?"
#: src/routes/_home/-sections/hero.tsx
msgid "What's new in the latest version?"
msgstr "¿Novedades en la última versión?"
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "When locked, the resume cannot be updated or deleted."
msgstr "Cuando está bloqueado, el currículum no se puede actualizar ni eliminar."
#: src/routes/_home/-sections/footer.tsx
msgid "X (Twitter)"
msgstr "X (Twitter)"
#: src/routes/_home/-sections/faq.tsx
msgid "Yes, Reactive Resume is available in multiple languages. You can choose your preferred language in the settings page, or using the language switcher in the top right corner. If you don't see your language, or you would like to improve the existing translations, you can <0>contribute to the translations on Crowdin<1> (opens in new tab)</1></0>."
msgstr "Sí, Reactive Resume está disponible en varios idiomas. Puedes elegir tu idioma preferido en la página de configuración o usando el selector de idioma en la esquina superior derecha. Si no ves tu idioma o quieres mejorar las traducciones existentes, puedes <0>contribuir a las traducciones en Crowdin<1> (abrir en una nueva pestaña)</1></0>."
#: src/routes/_home/-sections/faq.tsx
msgid "Yes! Reactive Resume is completely free to use, with no hidden costs, premium tiers, or subscription fees. It's open-source and will always remain free."
msgstr "Sí. Reactive Resume es completamente gratuito, sin costes ocultos, niveles premium ni cuotas de suscripción. Es de código abierto y siempre será gratuito."
#: src/routes/_home/-sections/features.tsx
msgid "You also have the option to deploy on your own servers using the Docker image."
msgstr "También tienes la opción de desplegarlo en tus propios servidores usando la imagen de Docker."
#: src/routes/auth/login.tsx
msgid "You can also use your username to login."
msgstr "También puedes usar tu nombre de usuario para iniciar sesión."
#: src/routes/_home/-sections/faq.tsx
msgid "You can share your resume via a unique public URL, protect it with a password, or download it as a PDF to share directly. The choice is yours!"
msgstr "Puedes compartir tu currículum mediante una URL pública única, protegerlo con una contraseña o descargarlo como PDF para compartirlo directamente. Tú eliges."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr "Tienes cambios sin guardar que se perderán."
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
msgstr "¡Tienes mensajes!"
#: src/routes/dashboard/settings/danger-zone.tsx
msgid "Your account has been deleted successfully."
msgstr "Tu cuenta se ha eliminado correctamente."
#: src/dialogs/api-key/create.tsx
msgid "Your API key has been copied to the clipboard."
msgstr "Tu clave API se ha copiado al portapapeles."
#: src/routes/builder/$resumeId/-components/preview-page.tsx
msgid "Your changes are saved automatically."
msgstr "Tus cambios se guardan automáticamente."
#: src/routes/_home/-sections/features.tsx
msgid "Your data is secure, and never shared or sold to anyone."
msgstr "Tus datos están seguros y nunca se comparten ni se venden a nadie."
#: src/routes/dashboard/settings/integrations/-components/ai-section.tsx
msgid "Your data is stored locally"
msgstr "Tus datos se almacenan localmente"
#: src/routes/_home/-sections/faq.tsx
msgid "Your data is stored securely and is never shared with third parties. You can also self-host Reactive Resume on your own servers for complete control over your data."
msgstr "Tus datos se almacenan de forma segura y nunca se comparten con terceros. También puedes auto alojar Reactive Resume en tus propios servidores para tener un control total sobre tus datos."
#: src/components/resume/builder-resume-draft.ts
msgid "Your latest changes could not be saved."
msgstr "No se pudieron guardar los últimos cambios."
#: src/routes/auth/reset-password.tsx
msgid "Your password has been reset successfully. You can now sign in with your new password."
msgstr "Tu contraseña se ha restablecido correctamente. Ahora puedes iniciar sesión con tu nueva contraseña."
#: src/dialogs/auth/change-password.tsx
msgid "Your password has been updated successfully."
msgstr "Tu contraseña se ha actualizado con éxito."
#: src/routes/dashboard/settings/profile.tsx
msgid "Your profile has been updated successfully."
msgstr "Tu perfil se ha actualizado correctamente."
#: src/dialogs/resume/index.tsx
msgid "Your resume has been created successfully."
msgstr "Tu currículum se ha creado correctamente."
#: src/routes/builder/$resumeId/-components/header.tsx
#: src/routes/dashboard/resumes/-components/menus/context-menu.tsx
#: src/routes/dashboard/resumes/-components/menus/dropdown-menu.tsx
msgid "Your resume has been deleted successfully."
msgstr "Tu currículum se ha eliminado correctamente."
#: src/dialogs/resume/index.tsx
msgid "Your resume has been duplicated successfully."
msgstr "Tu currículum se ha duplicado correctamente."
#: src/dialogs/resume/import.tsx
msgid "Your resume has been imported successfully."
msgstr "Tu currículum se ha importado correctamente."
#: src/dialogs/resume/index.tsx
msgid "Your resume has been updated successfully."
msgstr "Tu currículum se ha actualizado correctamente."
#: src/routes/builder/$resumeId/-sidebar/right/sections/sharing.tsx
msgid "Your resume's public link is currently protected by a password. Share the password only with people you trust."
msgstr "El enlace público de tu currículum está actualmente protegido con contraseña. Comparte la contraseña solo con personas de confianza."
#: src/routes/_home/-sections/donate.tsx
msgid "Your support ensures the project remains free and accessible for everyone, now and in the future."
msgstr "Tu apoyo garantiza que el proyecto siga siendo gratuito y accesible para todos, ahora y en el futuro."
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Zoom in"
msgstr "Acercar"
#: src/routes/builder/$resumeId/-components/dock.tsx
msgid "Zoom out"
msgstr "Alejar"
#: src/libs/locale.ts
msgid "Zulu"
msgstr "Zulú"