Skip to content

Commit 9c01003

Browse files
dmoernerclaude
andcommitted
fix(localizations,shared): Localize the invalid and expired sign-in link errors
The `ticket_invalid_code` and `ticket_expired_code` API errors had no `unstable__errors` key, so `translateError` fell through to the backend `longMessage` and showed end users "This ticket is invalid. Make sure you're using a valid ticket generated by Clerk." Both "ticket" and "Clerk" are implementation details to someone who just clicked their IdP tile or an invitation link. Add both keys to `UnstableErrors` and give them end-user copy in en-US, then propagate the keys to the remaining locales via `pnpm generate`. Use copy that is sufficiently general to cover both SAML and invitation paths: ``` ticket_expired_code: 'This link has expired. Please start again or request a new link.', ticket_invalid_code: 'This link is no longer valid or has already been used. Please start again or request a new link.', ``` Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent dc7fab3 commit 9c01003

51 files changed

Lines changed: 107 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/tidy-moons-listen.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@clerk/localizations': patch
3+
'@clerk/shared': patch
4+
---
5+
6+
Display a proper message when a sign-in or invitation link is invalid or has expired. Previously these errors rendered the raw API copy "This ticket is invalid. Make sure you're using a valid ticket generated by Clerk.", which refers to Clerk implementation details that are meaningless to the end user signing in. The new messages are available under the `unstable__errors.ticket_invalid_code` and `unstable__errors.ticket_expired_code` localization keys.

packages/localizations/src/ar-SA.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1796,6 +1796,8 @@ export const arSA: LocalizationResource = {
17961796
protect_check_timed_out: undefined,
17971797
protect_check_unsupported_environment: undefined,
17981798
session_exists: 'لقد قمت بتسجيل الدخول بالفعل',
1799+
ticket_expired_code: undefined,
1800+
ticket_invalid_code: undefined,
17991801
web3_missing_identifier: undefined,
18001802
web3_signature_request_rejected: 'لقد رفضت طلب التوقيع. يرجى المحاولة مرة أخرى للمتابعة.',
18011803
web3_solana_signature_generation_failed: 'حدث خطأ أثناء إنشاء التوقيع. يرجى المحاولة مرة أخرى للمتابعة.',

packages/localizations/src/be-BY.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1807,6 +1807,8 @@ export const beBY: LocalizationResource = {
18071807
protect_check_timed_out: undefined,
18081808
protect_check_unsupported_environment: undefined,
18091809
session_exists: 'Вы ўжо ўвайшлі.',
1810+
ticket_expired_code: undefined,
1811+
ticket_invalid_code: undefined,
18101812
web3_missing_identifier: undefined,
18111813
web3_signature_request_rejected: 'Вы адхілілі запыт на подпіс. Калі ласка, паспрабуйце яшчэ раз, каб працягнуць.',
18121814
web3_solana_signature_generation_failed:

packages/localizations/src/bg-BG.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1800,6 +1800,8 @@ export const bgBG: LocalizationResource = {
18001800
protect_check_timed_out: undefined,
18011801
protect_check_unsupported_environment: undefined,
18021802
session_exists: 'Вече сте влезнали.',
1803+
ticket_expired_code: undefined,
1804+
ticket_invalid_code: undefined,
18031805
web3_missing_identifier: undefined,
18041806
web3_signature_request_rejected: 'Отхвърлихте заявката за подпис. Моля, опитайте отново, за да продължите.',
18051807
web3_solana_signature_generation_failed:

packages/localizations/src/bn-IN.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1825,6 +1825,8 @@ export const bnIN: LocalizationResource = {
18251825
protect_check_timed_out: undefined,
18261826
protect_check_unsupported_environment: undefined,
18271827
session_exists: undefined,
1828+
ticket_expired_code: undefined,
1829+
ticket_invalid_code: undefined,
18281830
web3_missing_identifier: 'একটি Web3 ওয়ালেট এক্সটেনশন পাওয়া যায়নি। চালিয়ে যেতে দয়া করে একটি ইনস্টল করুন।',
18291831
web3_signature_request_rejected:
18301832
'আপনি সিগনেচার অনুরোধটি প্রত্যাখ্যান করেছেন। চালিয়ে যেতে অনুগ্রহ করে আবার চেষ্টা করুন।',

packages/localizations/src/ca-ES.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1813,6 +1813,8 @@ export const caES: LocalizationResource = {
18131813
protect_check_timed_out: undefined,
18141814
protect_check_unsupported_environment: undefined,
18151815
session_exists: 'Ja estàs connectat.',
1816+
ticket_expired_code: undefined,
1817+
ticket_invalid_code: undefined,
18161818
web3_missing_identifier: undefined,
18171819
web3_signature_request_rejected: 'Has rebutjat la sol·licitud de signatura. Torna-ho a provar per continuar.',
18181820
web3_solana_signature_generation_failed:

packages/localizations/src/cs-CZ.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1812,6 +1812,8 @@ export const csCZ: LocalizationResource = {
18121812
protect_check_timed_out: undefined,
18131813
protect_check_unsupported_environment: undefined,
18141814
session_exists: 'Jste již přihlášen.',
1815+
ticket_expired_code: undefined,
1816+
ticket_invalid_code: undefined,
18151817
web3_missing_identifier: 'Rozšíření peněženky Web3 nebylo nalezeno. Pro pokračování prosím nainstalujte jednu.',
18161818
web3_signature_request_rejected: 'Odmítli jste žádost o podpis. Chcete-li pokračovat, zkuste to prosím znovu.',
18171819
web3_solana_signature_generation_failed:

packages/localizations/src/da-DK.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1797,6 +1797,8 @@ export const daDK: LocalizationResource = {
17971797
protect_check_timed_out: undefined,
17981798
protect_check_unsupported_environment: undefined,
17991799
session_exists: 'Du er allerede logget ind.',
1800+
ticket_expired_code: undefined,
1801+
ticket_invalid_code: undefined,
18001802
web3_missing_identifier: undefined,
18011803
web3_signature_request_rejected: 'Du har afvist signaturanmodningen. Prøv igen for at fortsætte.',
18021804
web3_solana_signature_generation_failed:

packages/localizations/src/de-DE.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1830,6 +1830,8 @@ export const deDE: LocalizationResource = {
18301830
protect_check_timed_out: undefined,
18311831
protect_check_unsupported_environment: undefined,
18321832
session_exists: 'Sie sind bereits angemeldet.',
1833+
ticket_expired_code: undefined,
1834+
ticket_invalid_code: undefined,
18331835
web3_missing_identifier:
18341836
'Eine Web3 Wallet-Erweiterung wurde nicht gefunden. Bitte installieren Sie eine, um fortzufahren.',
18351837
web3_signature_request_rejected:

packages/localizations/src/el-GR.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1821,6 +1821,8 @@ export const elGR: LocalizationResource = {
18211821
protect_check_timed_out: undefined,
18221822
protect_check_unsupported_environment: undefined,
18231823
session_exists: 'Έχετε ήδη συνδεθεί.',
1824+
ticket_expired_code: undefined,
1825+
ticket_invalid_code: undefined,
18241826
web3_missing_identifier: 'Δεν εντοπίστηκε αναγνωριστικό Web3. Παρακαλώ δοκιμάστε ξανά.',
18251827
web3_signature_request_rejected: 'Απορρίψατε το αίτημα υπογραφής. Δοκιμάστε ξανά για να συνεχίσετε.',
18261828
web3_solana_signature_generation_failed:

0 commit comments

Comments
 (0)