Skip to content

Conversation

@fabrobles92
Copy link

@fabrobles92 fabrobles92 commented Dec 12, 2025

Description

There is a clerk component I am rendering for the Spanish audience in my app that does not have translation in spanish and shows nothing:

image

Translation of English version:
image

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • [NA] (If applicable) JSDoc comments have been added or updated for any package exports
  • [NA] (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

Summary by CodeRabbit

  • Documentation
    • Added comprehensive Spanish language localizations for organization management workflows across four regional Spanish variants (Spain, Mexico, Costa Rica, Uruguay). Includes complete translations for organization selection screens, creation forms with input fields and buttons, sign-out options, and all action descriptions.

✏️ Tip: You can customize this high-level summary in your review settings.

@changeset-bot
Copy link

changeset-bot bot commented Dec 12, 2025

🦋 Changeset detected

Latest commit: 5ba4fca

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link

vercel bot commented Dec 12, 2025

@fabrobles92 is attempting to deploy a commit to the Clerk Production Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 12, 2025

Walkthrough

A new changeset file is added alongside updates to Spanish localization resources for Costa Rica, Spain, Mexico, and Uruguay. Previously undefined keys in organization selection, creation, and sign-out flows now contain concrete Spanish translations across all four locales.

Changes

Cohort / File(s) Summary
Changeset
\.changeset/sour-spies-clap\.md
New changeset file with document separator metadata
Spanish Localization Updates
packages/localizations/src/es-CR.ts, packages/localizations/src/es-ES.ts, packages/localizations/src/es-MX.ts, packages/localizations/src/es-UY.ts
Populate taskChooseOrganization.chooseOrganization, createOrganization, and signOut localization keys with concrete Spanish strings across all four Spanish locales (Costa Rica, Spain, Mexico, Uruguay). Updates include action labels, button text, form placeholders, form labels, and UI titles.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • All changes follow an identical pattern of adding translation strings to parallel locale files
  • No logic, functionality, or structural changes present
  • High repetition across files reduces cognitive load per file reviewed

Poem

🐰 ¡Hola, amigos hispanohablantes everywhere!
With Costa Rican, Spanish, Mexican flair—
We've added the words that make interfaces clear,
From "Crear organización" to "Logueado" so dear.
Now organizations can choose, create, and belong,
In Spanish melodies, translated just right and strong! 🌟

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add translations in Spanish for taskChooseOrganization json Object' directly and specifically describes the main change—adding Spanish translations for the taskChooseOrganization component across multiple localization files (es-CR, es-ES, es-MX, es-UY).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 9

🧹 Nitpick comments (2)
packages/localizations/src/es-CR.ts (1)

855-860: Align “action__suggestionsAccept” wording with the rest of the file (Pedir vs Solicitar).

This file already uses both “Pedir unirse” (e.g., organizationList.action__suggestionsAccept) and “Solicitar unirse” (e.g., organizationSwitcher.action__suggestionsAccept). Consider standardizing to one term for the same action to avoid UI inconsistency.

packages/localizations/src/es-MX.ts (1)

855-862: Consider aligning “Pedir unirse” wording with existing “Solicitar unirse” to keep Spanish (MX) consistent.
In this same file, organizationSwitcher.action__suggestionsAccept uses “Solicitar unirse”, while this new segment uses “Pedir unirse”. I’d standardize to one.

   taskChooseOrganization: {
     chooseOrganization: {
       action__createOrganization: 'Crear nueva organización',
       action__invitationAccept: 'Unirse',
-      action__suggestionsAccept: 'Pedir unirse',
+      action__suggestionsAccept: 'Solicitar unirse',
       subtitle: 'Unirse a una organización existente o crear una nueva',
       suggestionsAcceptedLabel: 'Pendiente de aprobación',
       title: 'Elegir una organización',
     },
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 1eaef8e and 5ba4fca.

📒 Files selected for processing (5)
  • .changeset/sour-spies-clap.md (1 hunks)
  • packages/localizations/src/es-CR.ts (1 hunks)
  • packages/localizations/src/es-ES.ts (1 hunks)
  • packages/localizations/src/es-MX.ts (1 hunks)
  • packages/localizations/src/es-UY.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (10)
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (.cursor/rules/development.mdc)

All code must pass ESLint checks with the project's configuration

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
**/*.{js,jsx,ts,tsx,json,md,yml,yaml}

📄 CodeRabbit inference engine (.cursor/rules/development.mdc)

Use Prettier for consistent code formatting

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
packages/**/src/**/*.{ts,tsx}

📄 CodeRabbit inference engine (.cursor/rules/development.mdc)

TypeScript is required for all packages

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.cursor/rules/development.mdc)

Follow established naming conventions (PascalCase for components, camelCase for variables)

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
packages/**/src/**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.cursor/rules/development.mdc)

packages/**/src/**/*.{ts,tsx,js,jsx}: Maintain comprehensive JSDoc comments for public APIs
Use tree-shaking friendly exports
Validate all inputs and sanitize outputs
All public APIs must be documented with JSDoc
Use dynamic imports for optional features
Provide meaningful error messages to developers
Include error recovery suggestions where applicable
Log errors appropriately for debugging
Lazy load components and features when possible
Implement proper caching strategies
Use efficient data structures and algorithms
Implement proper logging with different levels

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
**/*.ts?(x)

📄 CodeRabbit inference engine (.cursor/rules/development.mdc)

Use proper TypeScript error types

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (.cursor/rules/typescript.mdc)

**/*.{ts,tsx}: Always define explicit return types for functions, especially public APIs
Use proper type annotations for variables and parameters where inference isn't clear
Avoid any type - prefer unknown when type is uncertain, then narrow with type guards
Implement type guards for unknown types using the pattern function isType(value: unknown): value is Type
Use interface for object shapes that might be extended
Use type for unions, primitives, and computed types
Prefer readonly properties for immutable data structures
Use private for internal implementation details in classes
Use protected for inheritance hierarchies
Use public explicitly for clarity in public APIs
Use mixins for shared behavior across unrelated classes in TypeScript
Use generic constraints with bounded type parameters like <T extends { id: string }>
Use utility types like Omit, Partial, and Pick for data transformation instead of manual type construction
Use discriminated unions instead of boolean flags for state management and API responses
Use mapped types for transforming object types
Use conditional types for type-level logic
Leverage template literal types for string manipulation at the type level
Use ES6 imports/exports consistently
Use default exports sparingly, prefer named exports
Document functions with JSDoc comments including @param, @returns, @throws, and @example tags
Create custom error classes that extend Error for specific error types
Use the Result pattern for error handling instead of throwing exceptions
Use optional chaining (?.) and nullish coalescing (??) operators for safe property access
Let TypeScript infer obvious types to reduce verbosity
Use const assertions with as const for literal types
Use satisfies operator for type checking without widening types
Declare readonly arrays and objects for immutable data structures
Use spread operator and array spread for immutable updates instead of mutations
Use lazy loading for large types...

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
**/*.{js,ts,jsx,tsx}

📄 CodeRabbit inference engine (.cursor/rules/monorepo.mdc)

Use ESLint with custom configurations tailored for different package types

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
**/*.{js,ts,jsx,tsx,json,md,yml,yaml}

📄 CodeRabbit inference engine (.cursor/rules/monorepo.mdc)

Use Prettier for code formatting across all packages

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
packages/localizations/**/*

📄 CodeRabbit inference engine (.cursor/rules/monorepo.mdc)

Organize localization translations in packages/localizations/ with support for 30+ languages and RTL language support

Files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
🧠 Learnings (1)
📚 Learning: 2025-12-12T19:54:17.554Z
Learnt from: wobsoriano
Repo: clerk/javascript PR: 7447
File: packages/localizations/src/en-US.ts:904-905
Timestamp: 2025-12-12T19:54:17.554Z
Learning: In Clerk's JavaScript localization files (packages/localizations/src/*.ts), undefined values for localization keys are intentional and should not be flagged as issues. When a key is undefined, the system uses the default message from the API response as a fallback. Do not flag these as errors; preserve this expected behavior.

Applied to files:

  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-UY.ts
🔇 Additional comments (2)
packages/localizations/src/es-UY.ts (1)

855-860: LGTM!

The translations for the organization selection flow are correct and appropriate for Uruguayan Spanish.

packages/localizations/src/es-ES.ts (1)

857-864: LGTM!

The translations in this section are accurate, natural, and consistent with the rest of the file.

Comment on lines +1 to +2
---
---
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Empty changeset likely invalid / will be ignored—add package bump + summary (or remove).

This file has only --- separators and no changeset metadata/body, so it likely won’t produce a version bump or release note entry. Populate it with the affected package(s) and bump type (typically patch for localization-only changes) plus a short description, or delete it if the repo policy is “no changeset for translations”.

🤖 Prompt for AI Agents
In .changeset/sour-spies-clap.md around lines 1 to 2, the changeset file is
empty (only '---' separators) so it will be ignored; either populate it with the
affected package names, the bump type (patch/minor/major — use patch for
localization-only changes) and a short summary, or remove the file if
translations shouldn't create changesets per repo policy; update the file to
include the required YAML frontmatter (packages and bump) plus a one-line
description, or delete the file to avoid an empty/invalid changeset.

Comment on lines +863 to +870
formButtonReset: 'Cancelar',
formButtonSubmit: 'Continuar',
formFieldInputPlaceholder__name: 'Nombre',
formFieldInputPlaceholder__slug: 'Identificador',
formFieldLabel__name: 'Mi Organización',
formFieldLabel__slug: 'mi-organizacion',
subtitle: 'Ingrese los detalles de su organización para continuar',
title: 'Configurar su organización',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, let's examine the es-CR.ts file around the specified lines
cd packages/localizations/src && wc -l es-CR.ts

Repository: clerk/javascript

Length of output: 73


🏁 Script executed:

# Read the context around lines 863-870
cd packages/localizations/src && sed -n '850,880p' es-CR.ts

Repository: clerk/javascript

Length of output: 1214


🏁 Script executed:

# Let's also find other locale files to compare the pattern
fd -e ts . packages/localizations/src | head -5

Repository: clerk/javascript

Length of output: 239


🏁 Script executed:

cd packages/localizations/src && fd -name "en-US.ts"

Repository: clerk/javascript

Length of output: 290


🏁 Script executed:

# Read the same section from en-US.ts to see the standard pattern
cd packages/localizations/src && sed -n '850,880p' en-US.ts

Repository: clerk/javascript

Length of output: 1230


🏁 Script executed:

# Also check another Spanish locale (es-ES) for comparison
cd packages/localizations/src && sed -n '850,880p' es-ES.ts

Repository: clerk/javascript

Length of output: 1073


Label and placeholder values are swapped for __name and __slug fields.

The current values don't align with the standard pattern in en-US.ts. Labels should contain descriptive text ('Nombre', 'Identificador'), while placeholders should contain example values ('Mi Organización', 'mi-organizacion'). The same issue exists in es-ES.ts.

     createOrganization: {
       formButtonReset: 'Cancelar',
       formButtonSubmit: 'Continuar',
-      formFieldInputPlaceholder__name: 'Nombre',
-      formFieldInputPlaceholder__slug: 'Identificador',
-      formFieldLabel__name: 'Mi Organización',
-      formFieldLabel__slug: 'mi-organizacion',
+      formFieldLabel__name: 'Nombre',
+      formFieldInputPlaceholder__name: 'Mi organización',
+      formFieldLabel__slug: 'Identificador',
+      formFieldInputPlaceholder__slug: 'mi-organizacion',
       subtitle: 'Ingrese los detalles de su organización para continuar',
       title: 'Configurar su organización',
     },
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
formButtonReset: 'Cancelar',
formButtonSubmit: 'Continuar',
formFieldInputPlaceholder__name: 'Nombre',
formFieldInputPlaceholder__slug: 'Identificador',
formFieldLabel__name: 'Mi Organización',
formFieldLabel__slug: 'mi-organizacion',
subtitle: 'Ingrese los detalles de su organización para continuar',
title: 'Configurar su organización',
formButtonReset: 'Cancelar',
formButtonSubmit: 'Continuar',
formFieldLabel__name: 'Nombre',
formFieldInputPlaceholder__name: 'Mi organización',
formFieldLabel__slug: 'Identificador',
formFieldInputPlaceholder__slug: 'mi-organizacion',
subtitle: 'Ingrese los detalles de su organización para continuar',
title: 'Configurar su organización',
🤖 Prompt for AI Agents
In packages/localizations/src/es-CR.ts around lines 863 to 870 the label and
placeholder values for the __name and __slug fields are swapped; change
formFieldInputPlaceholder__name to the example value 'Mi Organización' and
formFieldInputPlaceholder__slug to 'mi-organizacion', and change
formFieldLabel__name to the descriptive label 'Nombre' and formFieldLabel__slug
to 'Identificador'; apply the same swap in packages/localizations/src/es-ES.ts
where those entries mirror this incorrect ordering.

Comment on lines +873 to 875
actionLink: 'Cerrar sesion',
actionText: 'Logueado como {{identifier}}',
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Spanish accent + more neutral phrasing for sign-out strings.

  • Cerrar sesion should be Cerrar sesión.
  • “Logueado como …” is understandable but more neutral Spanish is usually “Conectado como …” / “Sesión iniciada como …”.
     signOut: {
-      actionLink: 'Cerrar sesion',
-      actionText: 'Logueado como {{identifier}}',
+      actionLink: 'Cerrar sesión',
+      actionText: 'Conectado como {{identifier}}',
     },
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionLink: 'Cerrar sesion',
actionText: 'Logueado como {{identifier}}',
},
actionLink: 'Cerrar sesión',
actionText: 'Conectado como {{identifier}}',
},
🤖 Prompt for AI Agents
In packages/localizations/src/es-CR.ts around lines 873 to 875, the sign-out
strings use incorrect accent and a less neutral phrasing; change actionLink from
"Cerrar sesion" to "Cerrar sesión" (add the accent) and update actionText from
"Logueado como {{identifier}}" to a more neutral Spanish phrasing such as
"Conectado como {{identifier}}" (or "Sesión iniciada como {{identifier}}") so
translations read naturally.

Comment on lines +849 to +854
action__createOrganization: 'Crear nueva organización',
action__invitationAccept: 'Unirse',
action__suggestionsAccept: 'Pedir unirse',
subtitle: 'Unirse a una organización existente o crear una nueva',
suggestionsAcceptedLabel: 'Pendiente de aprobación',
title: 'Elegir una organización',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Inconsistent terminology: use "Solicitar unirse" instead of "Pedir unirse".

Line 851 uses "Pedir unirse", but this translation is inconsistent with similar keys elsewhere in this file (lines 269, 504), which use "Solicitar unirse". For consistency and a more formal tone appropriate to organizational contexts, use "Solicitar unirse".

Apply this diff:

-      action__suggestionsAccept: 'Pedir unirse',
+      action__suggestionsAccept: 'Solicitar unirse',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
action__createOrganization: 'Crear nueva organización',
action__invitationAccept: 'Unirse',
action__suggestionsAccept: 'Pedir unirse',
subtitle: 'Unirse a una organización existente o crear una nueva',
suggestionsAcceptedLabel: 'Pendiente de aprobación',
title: 'Elegir una organización',
action__createOrganization: 'Crear nueva organización',
action__invitationAccept: 'Unirse',
action__suggestionsAccept: 'Solicitar unirse',
subtitle: 'Unirse a una organización existente o crear una nueva',
suggestionsAcceptedLabel: 'Pendiente de aprobación',
title: 'Elegir una organización',
🤖 Prompt for AI Agents
packages/localizations/src/es-ES.ts around lines 849 to 854: the translation for
action__suggestionsAccept currently reads "Pedir unirse", which is inconsistent
with other occurrences ("Solicitar unirse"); update the value to "Solicitar
unirse" to match the rest of the file and maintain a formal, consistent tone.

Comment on lines +867 to +868
actionLink: 'Cerrar sesion',
actionText: 'Logueado como {{identifier}}',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix spelling error and use locale-appropriate terminology.

Two issues in this section:

  1. Line 867: "sesion" is missing the accent. It should be "sesión" (consistent with lines 578, 997).
  2. Line 868: "Logueado" is Latin American Spanish. For the es-ES (Spain) locale, more appropriate translations would be "Conectado como" or "Sesión iniciada como".

Apply this diff:

-      actionLink: 'Cerrar sesion',
-      actionText: 'Logueado como {{identifier}}',
+      actionLink: 'Cerrar sesión',
+      actionText: 'Conectado como {{identifier}}',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionLink: 'Cerrar sesion',
actionText: 'Logueado como {{identifier}}',
actionLink: 'Cerrar sesión',
actionText: 'Conectado como {{identifier}}',
🤖 Prompt for AI Agents
In packages/localizations/src/es-ES.ts around lines 867 to 868, fix the two
localization issues: change actionLink from 'Cerrar sesion' to 'Cerrar sesión'
(add the accent) and replace the Latin American phrasing 'Logueado como
{{identifier}}' with a Spain-appropriate string, e.g. 'Sesión iniciada como
{{identifier}}' (or 'Conectado como {{identifier}}') so the wording and accent
match the es-ES locale.

Comment on lines 863 to 872
createOrganization: {
formButtonReset: undefined,
formButtonSubmit: undefined,
formFieldInputPlaceholder__name: undefined,
formFieldInputPlaceholder__slug: undefined,
formFieldLabel__name: undefined,
formFieldLabel__slug: undefined,
subtitle: undefined,
title: undefined,
formButtonReset: 'Cancelar',
formButtonSubmit: 'Continuar',
formFieldInputPlaceholder__name: 'Nombre',
formFieldInputPlaceholder__slug: 'Identificador',
formFieldLabel__name: 'Mi Organización',
formFieldLabel__slug: 'mi-organizacion',
subtitle: 'Ingrese los detalles de su organización para continuar',
title: 'Configurar su organización',
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Extract createOrganization section from en-US and es-* files to compare label/placeholder usage
echo "=== en-US.ts ==="
rg -A 10 "createOrganization:\s*\{" packages/localizations/src/en-US.ts -S | head -20

echo -e "\n=== es-MX.ts ==="
rg -A 10 "createOrganization:\s*\{" packages/localizations/src/es-MX.ts -S | head -20

echo -e "\n=== es-ES.ts ==="
rg -A 10 "createOrganization:\s*\{" packages/localizations/src/es-ES.ts -S | head -20

echo -e "\n=== es-AR.ts ==="
rg -A 10 "createOrganization:\s*\{" packages/localizations/src/es-AR.ts -S | head -20

Repository: clerk/javascript

Length of output: 2491


🏁 Script executed:

#!/bin/bash
# List all Spanish locale files to check scope
echo "=== Spanish locale files ==="
fd "^es-" packages/localizations/src --type f

echo -e "\n=== Check other es-* files for same pattern ==="
for file in $(fd "^es-" packages/localizations/src --type f | sort); do
  echo "=== $file ==="
  rg -A 8 "createOrganization:\s*\{" "$file" -S | grep -A 8 "formField" | head -12
done

Repository: clerk/javascript

Length of output: 1721


formFieldLabel__* and formFieldInputPlaceholder__* are swapped in es-MX.ts (and es-CR.ts, es-ES.ts, es-UY.ts).

Comparing against en-US.ts confirms the pattern: formFieldLabel__* should contain generic field labels ('Name', 'Slug'), while formFieldInputPlaceholder__* should contain example values ('My Organization', 'my-organization'). All four Spanish locales have these values reversed.

     createOrganization: {
       formButtonReset: 'Cancelar',
       formButtonSubmit: 'Continuar',
-      formFieldInputPlaceholder__name: 'Nombre',
-      formFieldInputPlaceholder__slug: 'Identificador',
-      formFieldLabel__name: 'Mi Organización',
-      formFieldLabel__slug: 'mi-organizacion',
+      formFieldLabel__name: 'Nombre',
+      formFieldInputPlaceholder__name: 'Mi organización',
+      formFieldLabel__slug: 'Identificador',
+      formFieldInputPlaceholder__slug: 'mi-organizacion',
       subtitle: 'Ingrese los detalles de su organización para continuar',
       title: 'Configurar su organización',
     },
🤖 Prompt for AI Agents
In packages/localizations/src/es-MX.ts around lines 863 to 872, the values for
formFieldLabel__* and formFieldInputPlaceholder__* are reversed; swap them so
formFieldLabel__name and formFieldLabel__slug hold the generic labels ('Nombre',
'Identificador') and formFieldInputPlaceholder__name and
formFieldInputPlaceholder__slug hold the example values ('Mi Organización',
'mi-organizacion') to match en-US; apply the same swap pattern to the other
affected Spanish locale files (es-CR.ts, es-ES.ts, es-UY.ts).

Comment on lines 873 to 876
signOut: {
actionLink: undefined,
actionText: undefined,
actionLink: 'Cerrar sesion',
actionText: 'Logueado como {{identifier}}',
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix accent in “Cerrar sesión” and consider using “Registrado como …” (already used elsewhere in this file).
Cerrar sesion is missing the accent, and “Logueado” is less consistent with impersonationFab.title: 'Registrado como {{identifier}}'.

     signOut: {
-      actionLink: 'Cerrar sesion',
-      actionText: 'Logueado como {{identifier}}',
+      actionLink: 'Cerrar sesión',
+      actionText: 'Registrado como {{identifier}}',
     },
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
signOut: {
actionLink: undefined,
actionText: undefined,
actionLink: 'Cerrar sesion',
actionText: 'Logueado como {{identifier}}',
},
signOut: {
actionLink: 'Cerrar sesión',
actionText: 'Registrado como {{identifier}}',
},
🤖 Prompt for AI Agents
In packages/localizations/src/es-MX.ts around lines 873 to 876, update the
Spanish strings to fix the missing accent and align wording: change actionLink
from "Cerrar sesion" to "Cerrar sesión" and change actionText from "Logueado
como {{identifier}}" to "Registrado como {{identifier}}" to match the rest of
the file.

Comment on lines +863 to +870
formButtonReset: 'Cancelar',
formButtonSubmit: 'Continuar',
formFieldInputPlaceholder__name: 'Nombre',
formFieldInputPlaceholder__slug: 'Identificador',
formFieldLabel__name: 'Mi Organización',
formFieldLabel__slug: 'mi-organizacion',
subtitle: 'Ingrese los detalles de su organización para continuar',
title: 'Configurar su organización',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Maintain consistent informal "vos" form throughout.

Lines 869-870 use the formal "usted" form ("Ingrese", "su"), which is inconsistent with the rest of the file that uses the Uruguayan informal "vos" form ("Ingresá", "tu").

Apply this diff to maintain consistency:

-      subtitle: 'Ingrese los detalles de su organización para continuar',
-      title: 'Configurar su organización',
+      subtitle: 'Ingresá los detalles de tu organización para continuar',
+      title: 'Configurar tu organización',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
formButtonReset: 'Cancelar',
formButtonSubmit: 'Continuar',
formFieldInputPlaceholder__name: 'Nombre',
formFieldInputPlaceholder__slug: 'Identificador',
formFieldLabel__name: 'Mi Organización',
formFieldLabel__slug: 'mi-organizacion',
subtitle: 'Ingrese los detalles de su organización para continuar',
title: 'Configurar su organización',
formButtonReset: 'Cancelar',
formButtonSubmit: 'Continuar',
formFieldInputPlaceholder__name: 'Nombre',
formFieldInputPlaceholder__slug: 'Identificador',
formFieldLabel__name: 'Mi Organización',
formFieldLabel__slug: 'mi-organizacion',
subtitle: 'Ingresá los detalles de tu organización para continuar',
title: 'Configurar tu organización',
🤖 Prompt for AI Agents
In packages/localizations/src/es-UY.ts around lines 863 to 870, the subtitle and
title use the formal "usted" wording ("Ingrese", "su") while the rest of the
file uses the Uruguayan informal "vos" form; update subtitle to "Ingresá los
detalles de tu organización para continuar" and title to "Configurar tu
organización" so both lines consistently use "vos"/informal forms.

signOut: {
actionLink: undefined,
actionText: undefined,
actionLink: 'Cerrar sesion',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix missing accent in "sesión".

The word "sesion" is missing an accent and should be "sesión".

Apply this diff:

-      actionLink: 'Cerrar sesion',
+      actionLink: 'Cerrar sesión',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionLink: 'Cerrar sesion',
actionLink: 'Cerrar sesión',
🤖 Prompt for AI Agents
In packages/localizations/src/es-UY.ts around line 873, the translation value
uses the unaccented word "Cerrar sesion"; update the string to use the correct
accented Spanish form "Cerrar sesión" (i.e., replace "sesion" with "sesión") so
the localized text is spelled correctly.

@wobsoriano wobsoriano changed the base branch from main to release/core-2 December 12, 2025 21:21
@wobsoriano wobsoriano changed the base branch from release/core-2 to main December 12, 2025 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant