diff --git a/.changeset/tender-planets-win.md b/.changeset/tender-planets-win.md new file mode 100644 index 00000000000..4054fffaa80 --- /dev/null +++ b/.changeset/tender-planets-win.md @@ -0,0 +1,7 @@ +--- +'@clerk/localizations': minor +'@clerk/clerk-js': minor +'@clerk/types': minor +--- + +Update PricingTable with trial info. diff --git a/packages/clerk-js/src/core/resources/CommercePlan.ts b/packages/clerk-js/src/core/resources/CommercePlan.ts index 77b7477cd26..163e459f0a7 100644 --- a/packages/clerk-js/src/core/resources/CommercePlan.ts +++ b/packages/clerk-js/src/core/resources/CommercePlan.ts @@ -27,6 +27,8 @@ export class CommercePlan extends BaseResource implements CommercePlanResource { slug!: string; avatarUrl!: string; features!: CommerceFeature[]; + freeTrialDays!: number | null; + freeTrialEnabled!: boolean; constructor(data: CommercePlanJSON) { super(); @@ -56,6 +58,8 @@ export class CommercePlan extends BaseResource implements CommercePlanResource { this.publiclyVisible = data.publicly_visible; this.slug = data.slug; this.avatarUrl = data.avatar_url; + this.freeTrialDays = this.withDefault(data.free_trial_days, null); + this.freeTrialEnabled = this.withDefault(data.free_trial_enabled, false); this.features = (data.features || []).map(feature => new CommerceFeature(feature)); return this; diff --git a/packages/clerk-js/src/core/resources/CommerceSubscription.ts b/packages/clerk-js/src/core/resources/CommerceSubscription.ts index cef2d451dcd..1a0853ee23b 100644 --- a/packages/clerk-js/src/core/resources/CommerceSubscription.ts +++ b/packages/clerk-js/src/core/resources/CommerceSubscription.ts @@ -73,7 +73,7 @@ export class CommerceSubscriptionItem extends BaseResource implements CommerceSu credit?: { amount: CommerceMoney; }; - isFreeTrial = false; + isFreeTrial!: boolean; constructor(data: CommerceSubscriptionItemJSON) { super(); diff --git a/packages/clerk-js/src/ui/components/PricingTable/PricingTableDefault.tsx b/packages/clerk-js/src/ui/components/PricingTable/PricingTableDefault.tsx index b664a3c4b04..a810c41394e 100644 --- a/packages/clerk-js/src/ui/components/PricingTable/PricingTableDefault.tsx +++ b/packages/clerk-js/src/ui/components/PricingTable/PricingTableDefault.tsx @@ -147,6 +147,9 @@ function Card(props: CardProps) { } else if (planPeriod !== subscription.planPeriod && plan.annualMonthlyAmount > 0) { shouldShowFooter = true; shouldShowFooterNotice = false; + } else if (plan.freeTrialEnabled && subscription.isFreeTrial) { + shouldShowFooter = true; + shouldShowFooterNotice = true; } else { shouldShowFooter = false; shouldShowFooterNotice = false; @@ -232,9 +235,13 @@ function Card(props: CardProps) { ({ paddingBlock: t.space.$1x5, diff --git a/packages/clerk-js/src/ui/components/PricingTable/__tests__/PricingTable.test.tsx b/packages/clerk-js/src/ui/components/PricingTable/__tests__/PricingTable.test.tsx new file mode 100644 index 00000000000..1acf89ed0c3 --- /dev/null +++ b/packages/clerk-js/src/ui/components/PricingTable/__tests__/PricingTable.test.tsx @@ -0,0 +1,167 @@ +import { render, waitFor } from '../../../../testUtils'; +import { bindCreateFixtures } from '../../../utils/test/createFixtures'; +import { PricingTable } from '..'; + +const { createFixtures } = bindCreateFixtures('PricingTable'); + +describe('PricingTable - trial info', () => { + const trialPlan = { + id: 'plan_trial', + name: 'Pro', + amount: 2000, + amountFormatted: '20.00', + annualAmount: 20000, + annualAmountFormatted: '200.00', + annualMonthlyAmount: 1667, + annualMonthlyAmountFormatted: '16.67', + currencySymbol: '$', + description: 'Pro plan with trial', + hasBaseFee: true, + isRecurring: true, + currency: 'USD', + isDefault: false, + forPayerType: 'user', + publiclyVisible: true, + slug: 'pro', + avatarUrl: '', + features: [] as any[], + freeTrialEnabled: true, + freeTrialDays: 14, + __internal_toSnapshot: jest.fn(), + pathRoot: '', + reload: jest.fn(), + } as const; + + it('shows footer notice with trial end date when active subscription is in free trial', async () => { + const { wrapper, fixtures, props } = await createFixtures(f => { + f.withUser({ email_addresses: ['test@clerk.com'] }); + }); + + // Provide empty props to the PricingTable context + props.setProps({}); + + fixtures.clerk.billing.getPlans.mockResolvedValue({ data: [trialPlan as any], total_count: 1 }); + fixtures.clerk.billing.getSubscription.mockResolvedValue({ + id: 'sub_1', + status: 'active', + activeAt: new Date('2021-01-01'), + createdAt: new Date('2021-01-01'), + nextPayment: null, + pastDueAt: null, + updatedAt: null, + subscriptionItems: [ + { + id: 'si_1', + plan: trialPlan, + createdAt: new Date('2021-01-01'), + paymentSourceId: 'src_1', + pastDueAt: null, + canceledAt: null, + periodStart: new Date('2021-01-01'), + periodEnd: new Date('2021-01-15'), + planPeriod: 'month' as const, + status: 'active' as const, + isFreeTrial: true, + cancel: jest.fn(), + pathRoot: '', + reload: jest.fn(), + }, + ], + pathRoot: '', + reload: jest.fn(), + }); + + const { findByRole, getByText, userEvent } = render(, { wrapper }); + + // Wait for the plan to appear + await findByRole('heading', { name: 'Pro' }); + + // Default period is annual in mounted mode; switch to monthly to match the subscription + const periodSwitch = await findByRole('switch', { name: /billed annually/i }); + await userEvent.click(periodSwitch); + + await waitFor(() => { + // Trial footer notice uses badge__trialEndsAt localization (short date format) + expect(getByText('Trial ends Jan 15, 2021')).toBeVisible(); + }); + }); + + it('shows CTA "Start N-day free trial" when eligible and plan has trial', async () => { + const { wrapper, fixtures, props } = await createFixtures(f => { + f.withUser({ email_addresses: ['test@clerk.com'] }); + }); + + // Provide empty props to the PricingTable context + props.setProps({}); + + fixtures.clerk.billing.getPlans.mockResolvedValue({ data: [trialPlan as any], total_count: 1 }); + fixtures.clerk.billing.getSubscription.mockResolvedValue({ + id: 'sub_top', + status: 'active', + activeAt: new Date('2021-01-01'), + createdAt: new Date('2021-01-01'), + nextPayment: null, + pastDueAt: null, + updatedAt: null, + eligibleForFreeTrial: true, + // No subscription items for the trial plan yet + subscriptionItems: [], + pathRoot: '', + reload: jest.fn(), + }); + + const { getByRole, getByText } = render(, { wrapper }); + + await waitFor(() => { + expect(getByRole('heading', { name: 'Pro' })).toBeVisible(); + // Button text from Plans.buttonPropsForPlan via freeTrialOr + expect(getByText('Start 14-day free trial')).toBeVisible(); + }); + }); + + it('shows CTA "Start N-day free trial" when user is signed out and plan has trial', async () => { + const { wrapper, fixtures, props } = await createFixtures(); + + // Provide empty props to the PricingTable context + props.setProps({}); + + fixtures.clerk.billing.getPlans.mockResolvedValue({ data: [trialPlan as any], total_count: 1 }); + // When signed out, getSubscription should throw or return empty response + fixtures.clerk.billing.getSubscription.mockRejectedValue(new Error('Unauthenticated')); + + const { getByRole, getByText } = render(, { wrapper }); + + await waitFor(() => { + expect(getByRole('heading', { name: 'Pro' })).toBeVisible(); + // Signed out users should see free trial CTA when plan has trial enabled + expect(getByText('Start 14-day free trial')).toBeVisible(); + }); + }); + + it('shows CTA "Subscribe" when user is signed out and plan has no trial', async () => { + const { wrapper, fixtures, props } = await createFixtures(); + + const nonTrialPlan = { + ...trialPlan, + id: 'plan_no_trial', + name: 'Basic', + freeTrialEnabled: false, + freeTrialDays: 0, + }; + + // Provide empty props to the PricingTable context + props.setProps({}); + + fixtures.clerk.billing.getPlans.mockResolvedValue({ data: [nonTrialPlan as any], total_count: 1 }); + // When signed out, getSubscription should throw or return empty response + fixtures.clerk.billing.getSubscription.mockRejectedValue(new Error('Unauthenticated')); + + const { getByRole, getByText } = render(, { wrapper }); + + await waitFor(() => { + expect(getByRole('heading', { name: 'Basic' })).toBeVisible(); + // Signed out users should see regular "Subscribe" for non-trial plans + expect(getByText('Subscribe')).toBeVisible(); + }); + }); +}); diff --git a/packages/clerk-js/src/ui/contexts/components/Plans.tsx b/packages/clerk-js/src/ui/contexts/components/Plans.tsx index f9117a90dfd..7c3b22bd99e 100644 --- a/packages/clerk-js/src/ui/contexts/components/Plans.tsx +++ b/packages/clerk-js/src/ui/contexts/components/Plans.tsx @@ -108,7 +108,7 @@ export const usePlansContext = () => { return false; }, [clerk, subscriberType]); - const { subscriptionItems, revalidate: revalidateSubscriptions } = useSubscription(); + const { subscriptionItems, revalidate: revalidateSubscriptions, data: topLevelSubscription } = useSubscription(); // Invalidates cache but does not fetch immediately const { data: plans, revalidate: revalidatePlans } = usePlans({ mode: 'cache' }); @@ -187,6 +187,7 @@ export const usePlansContext = () => { const buttonPropsForPlan = useCallback( ({ plan, + // TODO(@COMMERCE): This needs to be removed. subscription: sub, isCompact = false, selectedPlanPeriod = 'annual', @@ -211,6 +212,19 @@ export const usePlansContext = () => { const isEligibleForSwitchToAnnual = (plan?.annualMonthlyAmount ?? 0) > 0; + const freeTrialOr = (localizationKey: LocalizationKey): LocalizationKey => { + if (plan?.freeTrialEnabled) { + // Show trial CTA if user is signed out OR if signed in and eligible for free trial + const isSignedOut = !session; + const isEligibleForTrial = topLevelSubscription?.eligibleForFreeTrial; + + if (isSignedOut || isEligibleForTrial) { + return localizationKeys('commerce.startFreeTrial', { days: plan.freeTrialDays ?? 0 }); + } + } + return localizationKey; + }; + const getLocalizationKey = () => { // Handle subscription cases if (subscription) { @@ -246,20 +260,21 @@ export const usePlansContext = () => { // Handle non-subscription cases const hasNonDefaultSubscriptions = subscriptionItems.filter(subscription => !subscription.plan.isDefault).length > 0; + return hasNonDefaultSubscriptions ? localizationKeys('commerce.switchPlan') - : localizationKeys('commerce.subscribe'); + : freeTrialOr(localizationKeys('commerce.subscribe')); }; return { - localizationKey: getLocalizationKey(), + localizationKey: freeTrialOr(getLocalizationKey()), variant: isCompact ? 'bordered' : 'solid', colorScheme: isCompact ? 'secondary' : 'primary', isDisabled: !canManageBilling, disabled: !canManageBilling, }; }, - [activeOrUpcomingSubscriptionWithPlanPeriod, canManageBilling, subscriptionItems], + [activeOrUpcomingSubscriptionWithPlanPeriod, canManageBilling, subscriptionItems, topLevelSubscription], ); const captionForSubscription = useCallback((subscription: CommerceSubscriptionItemResource) => { diff --git a/packages/localizations/src/ar-SA.ts b/packages/localizations/src/ar-SA.ts index 49305a4c194..c1f0c9a0271 100644 --- a/packages/localizations/src/ar-SA.ts +++ b/packages/localizations/src/ar-SA.ts @@ -62,6 +62,7 @@ export const arSA: LocalizationResource = { badge__requiresAction: 'الإجراء المطلوب', badge__startsAt: undefined, badge__thisDevice: 'هذا الجهاز', + badge__trialEndsAt: undefined, badge__unverified: 'لم يتم التحقق منه', badge__upcomingPlan: undefined, badge__userDevice: 'جهاز المستخدم', @@ -133,6 +134,7 @@ export const arSA: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -786,6 +788,26 @@ export const arSA: LocalizationResource = { }, socialButtonsBlockButton: 'للمتابعة مع {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/be-BY.ts b/packages/localizations/src/be-BY.ts index 7000729759c..77a439eed83 100644 --- a/packages/localizations/src/be-BY.ts +++ b/packages/localizations/src/be-BY.ts @@ -62,6 +62,7 @@ export const beBY: LocalizationResource = { badge__requiresAction: 'Патрабуецца дзеянне', badge__startsAt: undefined, badge__thisDevice: 'Гэта прылада', + badge__trialEndsAt: undefined, badge__unverified: 'Не верыфікавана', badge__upcomingPlan: undefined, badge__userDevice: 'Карыстальніцкая прылада', @@ -133,6 +134,7 @@ export const beBY: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -793,6 +795,26 @@ export const beBY: LocalizationResource = { }, socialButtonsBlockButton: 'Працягнуць з дапамогай {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: 'Вы ўжо з’яўляецеся членам гэтай арганізацыі.', captcha_invalid: diff --git a/packages/localizations/src/bg-BG.ts b/packages/localizations/src/bg-BG.ts index 61459a4e9c2..6f4f1ebcb9f 100644 --- a/packages/localizations/src/bg-BG.ts +++ b/packages/localizations/src/bg-BG.ts @@ -62,6 +62,7 @@ export const bgBG: LocalizationResource = { badge__requiresAction: 'Изисква действие', badge__startsAt: undefined, badge__thisDevice: 'Това устройство', + badge__trialEndsAt: undefined, badge__unverified: 'Непотвърден', badge__upcomingPlan: undefined, badge__userDevice: 'Потребителско устройство', @@ -133,6 +134,7 @@ export const bgBG: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -788,6 +790,26 @@ export const bgBG: LocalizationResource = { }, socialButtonsBlockButton: 'Продължи с {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: 'Вие вече сте член на тази организация.', captcha_invalid: undefined, diff --git a/packages/localizations/src/bn-IN.ts b/packages/localizations/src/bn-IN.ts index 97df3d5ce98..5cc80c31894 100644 --- a/packages/localizations/src/bn-IN.ts +++ b/packages/localizations/src/bn-IN.ts @@ -62,6 +62,7 @@ export const bnIN: LocalizationResource = { badge__requiresAction: 'কর্ম প্রয়োজন', badge__startsAt: undefined, badge__thisDevice: 'এই ডিভাইস', + badge__trialEndsAt: undefined, badge__unverified: 'অযাচাই', badge__upcomingPlan: undefined, badge__userDevice: 'ব্যবহারকারীর ডিভাইস', @@ -133,6 +134,7 @@ export const bnIN: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -793,6 +795,26 @@ export const bnIN: LocalizationResource = { }, socialButtonsBlockButton: '{{provider|titleize}} দিয়ে চালিয়ে যান', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} ইতিমধ্যে সংগঠনের একজন সদস্য।', captcha_invalid: diff --git a/packages/localizations/src/ca-ES.ts b/packages/localizations/src/ca-ES.ts index d61150f1156..461fa53b3c7 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -62,6 +62,7 @@ export const caES: LocalizationResource = { badge__requiresAction: 'Requereix acció', badge__startsAt: undefined, badge__thisDevice: 'Aquest dispositiu', + badge__trialEndsAt: undefined, badge__unverified: 'No verificat', badge__upcomingPlan: undefined, badge__userDevice: "Dispositiu de l'usuari", @@ -133,6 +134,7 @@ export const caES: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -787,6 +789,26 @@ export const caES: LocalizationResource = { }, socialButtonsBlockButton: 'Continua amb {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/cs-CZ.ts b/packages/localizations/src/cs-CZ.ts index d6d1434d7db..0161c8a113b 100644 --- a/packages/localizations/src/cs-CZ.ts +++ b/packages/localizations/src/cs-CZ.ts @@ -63,6 +63,7 @@ export const csCZ: LocalizationResource = { badge__requiresAction: 'Vyžaduje akci', badge__startsAt: "Začíná {{ date | shortDate('cs-CZ') }}", badge__thisDevice: 'Toto zařízení', + badge__trialEndsAt: undefined, badge__unverified: 'Nepotvrzené', badge__upcomingPlan: 'Nadcházející', badge__userDevice: 'Zařízení uživatele', @@ -137,6 +138,7 @@ export const csCZ: LocalizationResource = { }, reSubscribe: 'Znovu se přihlásit', seeAllFeatures: 'Zobrazit všechny funkce', + startFreeTrial: undefined, subscribe: 'Přihlásit se', subscriptionDetails: { beginsOn: 'Začíná dne', @@ -799,6 +801,26 @@ export const csCZ: LocalizationResource = { }, socialButtonsBlockButton: 'Pokračovat s {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} je již členem organizace.', captcha_invalid: undefined, diff --git a/packages/localizations/src/da-DK.ts b/packages/localizations/src/da-DK.ts index 2e92f259cc2..e3c72719830 100644 --- a/packages/localizations/src/da-DK.ts +++ b/packages/localizations/src/da-DK.ts @@ -62,6 +62,7 @@ export const daDK: LocalizationResource = { badge__requiresAction: 'Kræver handling', badge__startsAt: undefined, badge__thisDevice: 'Denne enhed', + badge__trialEndsAt: undefined, badge__unverified: 'Ikke verificeret', badge__upcomingPlan: undefined, badge__userDevice: 'Brugerenhed', @@ -133,6 +134,7 @@ export const daDK: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -786,6 +788,26 @@ export const daDK: LocalizationResource = { }, socialButtonsBlockButton: 'Forsæt med {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/de-DE.ts b/packages/localizations/src/de-DE.ts index 6adcb0d14de..246c56b8326 100644 --- a/packages/localizations/src/de-DE.ts +++ b/packages/localizations/src/de-DE.ts @@ -62,6 +62,7 @@ export const deDE: LocalizationResource = { badge__requiresAction: 'Handlung erforderlich', badge__startsAt: "Startet am {{ date | shortDate('de-DE') }}", badge__thisDevice: 'Dieses Gerät', + badge__trialEndsAt: undefined, badge__unverified: 'Unbestätigt', badge__upcomingPlan: 'Bevorstehend', badge__userDevice: 'Benutzergerät', @@ -136,6 +137,7 @@ export const deDE: LocalizationResource = { }, reSubscribe: 'Erneut abonnieren', seeAllFeatures: 'Alle Funktionen anzeigen', + startFreeTrial: undefined, subscribe: 'Abonnieren', subscriptionDetails: { beginsOn: undefined, @@ -799,6 +801,26 @@ export const deDE: LocalizationResource = { }, socialButtonsBlockButton: 'Weiter mit {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: 'Sie sind bereits Mitglied in dieser Organisation.', captcha_invalid: diff --git a/packages/localizations/src/el-GR.ts b/packages/localizations/src/el-GR.ts index 7aaa9ec2acf..3074c85128d 100644 --- a/packages/localizations/src/el-GR.ts +++ b/packages/localizations/src/el-GR.ts @@ -62,6 +62,7 @@ export const elGR: LocalizationResource = { badge__requiresAction: 'Απαιτεί ενέργεια', badge__startsAt: undefined, badge__thisDevice: 'Αυτή η συσκευή', + badge__trialEndsAt: undefined, badge__unverified: 'Μη επαληθευμένο', badge__upcomingPlan: undefined, badge__userDevice: 'Συσκευή χρήστη', @@ -133,6 +134,7 @@ export const elGR: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -790,6 +792,26 @@ export const elGR: LocalizationResource = { }, socialButtonsBlockButton: 'Συνέχεια με {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/en-GB.ts b/packages/localizations/src/en-GB.ts index caddff7b761..bad35dfc59e 100644 --- a/packages/localizations/src/en-GB.ts +++ b/packages/localizations/src/en-GB.ts @@ -62,6 +62,7 @@ export const enGB: LocalizationResource = { badge__requiresAction: 'Requires action', badge__startsAt: undefined, badge__thisDevice: 'This device', + badge__trialEndsAt: undefined, badge__unverified: 'Unverified', badge__upcomingPlan: undefined, badge__userDevice: 'User device', @@ -133,6 +134,7 @@ export const enGB: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -790,6 +792,26 @@ export const enGB: LocalizationResource = { }, socialButtonsBlockButton: 'Continue with {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} is already a member of the organisation.', captcha_invalid: diff --git a/packages/localizations/src/en-US.ts b/packages/localizations/src/en-US.ts index 2aa62f8f70a..c073d81c591 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -2,26 +2,6 @@ import type { LocalizationResource } from '@clerk/types'; export const enUS: LocalizationResource = { locale: 'en-US', - taskChooseOrganization: { - signOut: { - actionLink: 'Sign out', - actionText: 'Signed in as {{identifier}}', - }, - createOrganization: { - title: 'Setup your account', - subtitle: 'Tell us a bit about your organization', - formButtonSubmit: 'Create new organization', - formButtonReset: 'Cancel', - }, - chooseOrganization: { - title: 'Choose an organization', - subtitle: 'Join an existing organization or create a new one', - suggestionsAcceptedLabel: 'Pending approval', - action__createOrganization: 'Create new organization', - action__suggestionsAccept: 'Request to join', - action__invitationAccept: 'Join', - }, - }, apiKeys: { action__add: 'Add new key', action__search: 'Search keys', @@ -71,6 +51,7 @@ export const enUS: LocalizationResource = { badge__requiresAction: 'Requires action', badge__startsAt: "Starts {{ date | shortDate('en-US') }}", badge__thisDevice: 'This device', + badge__trialEndsAt: "Trial ends {{ date | shortDate('en-US') }}", badge__unverified: 'Unverified', badge__upcomingPlan: 'Upcoming', badge__userDevice: 'User device', @@ -146,6 +127,7 @@ export const enUS: LocalizationResource = { }, reSubscribe: 'Resubscribe', seeAllFeatures: 'See all features', + startFreeTrial: 'Start {{days}}-day free trial', subscribe: 'Subscribe', subscriptionDetails: { beginsOn: 'Begins on', @@ -805,6 +787,26 @@ export const enUS: LocalizationResource = { }, socialButtonsBlockButton: 'Continue with {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: 'Create new organization', + action__invitationAccept: 'Join', + action__suggestionsAccept: 'Request to join', + subtitle: 'Join an existing organization or create a new one', + suggestionsAcceptedLabel: 'Pending approval', + title: 'Choose an organization', + }, + createOrganization: { + formButtonReset: 'Cancel', + formButtonSubmit: 'Create new organization', + subtitle: 'Tell us a bit about your organization', + title: 'Setup your account', + }, + signOut: { + actionLink: 'Sign out', + actionText: 'Signed in as {{identifier}}', + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} is already a member of the organization.', captcha_invalid: undefined, diff --git a/packages/localizations/src/es-CR.ts b/packages/localizations/src/es-CR.ts index 5f982646116..f721abf98c0 100644 --- a/packages/localizations/src/es-CR.ts +++ b/packages/localizations/src/es-CR.ts @@ -62,6 +62,7 @@ export const esCR: LocalizationResource = { badge__requiresAction: 'Requiere acción', badge__startsAt: "Empieza {{ date | shortDate('en-ES') }}", badge__thisDevice: 'Este dispositivo', + badge__trialEndsAt: undefined, badge__unverified: 'No confirmado', badge__upcomingPlan: 'Próximo plan', badge__userDevice: 'Dispositivo de usuario', @@ -133,6 +134,7 @@ export const esCR: LocalizationResource = { }, reSubscribe: 'Volver a suscribirse', seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -795,6 +797,26 @@ export const esCR: LocalizationResource = { }, socialButtonsBlockButton: 'Continuar con {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} ya es miembro de la organización.', captcha_invalid: diff --git a/packages/localizations/src/es-ES.ts b/packages/localizations/src/es-ES.ts index a5233f05771..2dcc2aa439b 100644 --- a/packages/localizations/src/es-ES.ts +++ b/packages/localizations/src/es-ES.ts @@ -62,6 +62,7 @@ export const esES: LocalizationResource = { badge__requiresAction: 'Requiere acción', badge__startsAt: undefined, badge__thisDevice: 'Este dispositivo', + badge__trialEndsAt: undefined, badge__unverified: 'No confirmado', badge__upcomingPlan: undefined, badge__userDevice: 'Dispositivo de usuario', @@ -133,6 +134,7 @@ export const esES: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -789,6 +791,26 @@ export const esES: LocalizationResource = { }, socialButtonsBlockButton: 'Continuar con {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} ya es miembro de la organización.', captcha_invalid: diff --git a/packages/localizations/src/es-MX.ts b/packages/localizations/src/es-MX.ts index 09f9d57db8d..30d62b59f5f 100644 --- a/packages/localizations/src/es-MX.ts +++ b/packages/localizations/src/es-MX.ts @@ -62,6 +62,7 @@ export const esMX: LocalizationResource = { badge__requiresAction: 'Requiere acción', badge__startsAt: "Empieza {{ date | shortDate('en-US') }}", badge__thisDevice: 'Este dispositivo', + badge__trialEndsAt: undefined, badge__unverified: 'No confirmado', badge__upcomingPlan: 'Próximo plan', badge__userDevice: 'Dispositivo de usuario', @@ -133,6 +134,7 @@ export const esMX: LocalizationResource = { }, reSubscribe: 'Re-suscribirse', seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -795,6 +797,26 @@ export const esMX: LocalizationResource = { }, socialButtonsBlockButton: 'Continuar con {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} ya es miembro de la organización.', captcha_invalid: diff --git a/packages/localizations/src/es-UY.ts b/packages/localizations/src/es-UY.ts index 904bd5221de..08648f3878a 100644 --- a/packages/localizations/src/es-UY.ts +++ b/packages/localizations/src/es-UY.ts @@ -62,6 +62,7 @@ export const esUY: LocalizationResource = { badge__requiresAction: 'Requiere acción', badge__startsAt: undefined, badge__thisDevice: 'Este dispositivo', + badge__trialEndsAt: undefined, badge__unverified: 'No verificado', badge__upcomingPlan: undefined, badge__userDevice: 'Dispositivo del usuario', @@ -133,6 +134,7 @@ export const esUY: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -795,6 +797,26 @@ export const esUY: LocalizationResource = { }, socialButtonsBlockButton: 'Continuar con {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} ya es miembro de la organización.', captcha_invalid: diff --git a/packages/localizations/src/fa-IR.ts b/packages/localizations/src/fa-IR.ts index 327c31fbdcc..d954e9b5748 100644 --- a/packages/localizations/src/fa-IR.ts +++ b/packages/localizations/src/fa-IR.ts @@ -62,6 +62,7 @@ export const faIR: LocalizationResource = { badge__requiresAction: 'نیاز به اقدام دارد', badge__startsAt: "شروع می‌شود {{ date | shortDate('en-US') }}", badge__thisDevice: 'این دستگاه', + badge__trialEndsAt: undefined, badge__unverified: 'تایید نشده', badge__upcomingPlan: 'به زودی', badge__userDevice: 'دستگاه کاربر', @@ -137,6 +138,7 @@ export const faIR: LocalizationResource = { }, reSubscribe: 'اشتراک مجدد', seeAllFeatures: 'مشاهده همه ویژگی‌ها', + startFreeTrial: undefined, subscribe: 'مشترک شوید', subscriptionDetails: { beginsOn: undefined, @@ -798,6 +800,26 @@ export const faIR: LocalizationResource = { }, socialButtonsBlockButton: 'ادامه با {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} از قبل عضو سازمان است.', captcha_invalid: undefined, diff --git a/packages/localizations/src/fi-FI.ts b/packages/localizations/src/fi-FI.ts index 411b30e0b98..0eea8fbd02a 100644 --- a/packages/localizations/src/fi-FI.ts +++ b/packages/localizations/src/fi-FI.ts @@ -62,6 +62,7 @@ export const fiFI: LocalizationResource = { badge__requiresAction: 'Vaaditaan toimia', badge__startsAt: undefined, badge__thisDevice: 'Tämä laite', + badge__trialEndsAt: undefined, badge__unverified: 'Vahvistamaton', badge__upcomingPlan: undefined, badge__userDevice: 'Käyttäjän laite', @@ -133,6 +134,7 @@ export const fiFI: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -789,6 +791,26 @@ export const fiFI: LocalizationResource = { }, socialButtonsBlockButton: 'Jatka palvelun {{provider|titleize}} avulla', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index 27dc85df414..5a10c993f98 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -62,6 +62,7 @@ export const frFR: LocalizationResource = { badge__requiresAction: 'Nécessite une action', badge__startsAt: "Débute le {{ date | shortDate('fr-FR') }}", badge__thisDevice: 'Cet appareil', + badge__trialEndsAt: undefined, badge__unverified: 'Non vérifié', badge__upcomingPlan: 'À venir', badge__userDevice: 'Appareil utilisateur', @@ -135,6 +136,7 @@ export const frFR: LocalizationResource = { }, reSubscribe: 'Se réabonner', seeAllFeatures: 'Voir toutes les fonctionnalités', + startFreeTrial: undefined, subscribe: "S'abonner", subscriptionDetails: { beginsOn: undefined, @@ -798,6 +800,26 @@ export const frFR: LocalizationResource = { }, socialButtonsBlockButton: 'Continuer avec {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: 'Vous êtes déjà membre de cette organisation.', captcha_invalid: diff --git a/packages/localizations/src/he-IL.ts b/packages/localizations/src/he-IL.ts index fbe2fa97a31..3ed9c6de406 100644 --- a/packages/localizations/src/he-IL.ts +++ b/packages/localizations/src/he-IL.ts @@ -62,6 +62,7 @@ export const heIL: LocalizationResource = { badge__requiresAction: 'דורש פעולה', badge__startsAt: undefined, badge__thisDevice: 'מכשיר זה', + badge__trialEndsAt: undefined, badge__unverified: 'לא מאומת', badge__upcomingPlan: undefined, badge__userDevice: 'מכשיר משתמש', @@ -133,6 +134,7 @@ export const heIL: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -780,6 +782,26 @@ export const heIL: LocalizationResource = { }, socialButtonsBlockButton: 'המשך עם {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} כבר חבר בארגון', captcha_invalid: 'ההרשמה נכשלה עקב כשל באימות האבטחה. אנא רענן את הדף ונסה שוב, או פנה לתמיכה לעזרה נוספת.', diff --git a/packages/localizations/src/hi-IN.ts b/packages/localizations/src/hi-IN.ts index 03229cb4828..2974b3ad80d 100644 --- a/packages/localizations/src/hi-IN.ts +++ b/packages/localizations/src/hi-IN.ts @@ -62,6 +62,7 @@ export const hiIN: LocalizationResource = { badge__requiresAction: 'कार्रवाई की आवश्यकता है', badge__startsAt: undefined, badge__thisDevice: 'यह उपकरण', + badge__trialEndsAt: undefined, badge__unverified: 'असत्यापित', badge__upcomingPlan: undefined, badge__userDevice: 'उपयोगकर्ता उपकरण', @@ -133,6 +134,7 @@ export const hiIN: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -793,6 +795,26 @@ export const hiIN: LocalizationResource = { }, socialButtonsBlockButton: '{{provider|titleize}} के साथ जारी रखें', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} पहले से ही संगठन का सदस्य है।', captcha_invalid: diff --git a/packages/localizations/src/hr-HR.ts b/packages/localizations/src/hr-HR.ts index f6f8e714c1f..01eec87024d 100644 --- a/packages/localizations/src/hr-HR.ts +++ b/packages/localizations/src/hr-HR.ts @@ -62,6 +62,7 @@ export const hrHR: LocalizationResource = { badge__requiresAction: 'Zahtijeva akciju', badge__startsAt: undefined, badge__thisDevice: 'Ovaj uređaj', + badge__trialEndsAt: undefined, badge__unverified: 'Nepotvrđeno', badge__upcomingPlan: undefined, badge__userDevice: 'Korisnički uređaj', @@ -133,6 +134,7 @@ export const hrHR: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -790,6 +792,26 @@ export const hrHR: LocalizationResource = { }, socialButtonsBlockButton: 'Nastavite s {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} je već član organizacije.', captcha_invalid: diff --git a/packages/localizations/src/hu-HU.ts b/packages/localizations/src/hu-HU.ts index 05ae1b4e640..c12af917262 100644 --- a/packages/localizations/src/hu-HU.ts +++ b/packages/localizations/src/hu-HU.ts @@ -62,6 +62,7 @@ export const huHU: LocalizationResource = { badge__requiresAction: 'Beavatkozás szükséges', badge__startsAt: undefined, badge__thisDevice: 'Ez az eszköz', + badge__trialEndsAt: undefined, badge__unverified: 'Nem ellenőrzött', badge__upcomingPlan: undefined, badge__userDevice: 'Felhasználói eszköz', @@ -133,6 +134,7 @@ export const huHU: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -787,6 +789,26 @@ export const huHU: LocalizationResource = { }, socialButtonsBlockButton: 'Folytatás {{provider|titleize}} segítségével', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/id-ID.ts b/packages/localizations/src/id-ID.ts index f7c2da5dc50..7d325870183 100644 --- a/packages/localizations/src/id-ID.ts +++ b/packages/localizations/src/id-ID.ts @@ -62,6 +62,7 @@ export const idID: LocalizationResource = { badge__requiresAction: 'Memerlukan tindakan', badge__startsAt: undefined, badge__thisDevice: 'Perangkat ini', + badge__trialEndsAt: undefined, badge__unverified: 'Belum diverifikasi', badge__upcomingPlan: undefined, badge__userDevice: 'Perangkat pengguna', @@ -133,6 +134,7 @@ export const idID: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -794,6 +796,26 @@ export const idID: LocalizationResource = { }, socialButtonsBlockButton: 'Lanjutkan dengan {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} sudah menjadi anggota organisasi.', captcha_invalid: diff --git a/packages/localizations/src/is-IS.ts b/packages/localizations/src/is-IS.ts index bada169e9bc..e709a787015 100644 --- a/packages/localizations/src/is-IS.ts +++ b/packages/localizations/src/is-IS.ts @@ -62,6 +62,7 @@ export const isIS: LocalizationResource = { badge__requiresAction: 'Krefst aðgerða', badge__startsAt: undefined, badge__thisDevice: 'Þetta tæki', + badge__trialEndsAt: undefined, badge__unverified: 'Óstaðfest', badge__upcomingPlan: undefined, badge__userDevice: 'Notendatæki', @@ -133,6 +134,7 @@ export const isIS: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -790,6 +792,26 @@ export const isIS: LocalizationResource = { }, socialButtonsBlockButton: 'Halda áfram með {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/it-IT.ts b/packages/localizations/src/it-IT.ts index a044929eb08..7eccda80bfc 100644 --- a/packages/localizations/src/it-IT.ts +++ b/packages/localizations/src/it-IT.ts @@ -63,6 +63,7 @@ export const itIT: LocalizationResource = { badge__requiresAction: 'Richiede azione', badge__startsAt: "Inizia {{ date | shortDate('it-IT') }}", badge__thisDevice: 'Questo dispositivo', + badge__trialEndsAt: undefined, badge__unverified: 'Non verificato', badge__upcomingPlan: 'In arrivo', badge__userDevice: 'Dispositivo utente', @@ -139,6 +140,7 @@ export const itIT: LocalizationResource = { }, reSubscribe: 'Riabbonati', seeAllFeatures: 'Vedi tutte le funzionalità', + startFreeTrial: undefined, subscribe: 'Abbonati', subscriptionDetails: { beginsOn: 'Inizia il', @@ -796,6 +798,26 @@ export const itIT: LocalizationResource = { }, socialButtonsBlockButton: 'Continua con {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: 'Sei già un membro di questa organizzazione.', captcha_invalid: diff --git a/packages/localizations/src/ja-JP.ts b/packages/localizations/src/ja-JP.ts index b5456011e9d..bc93b3c559a 100644 --- a/packages/localizations/src/ja-JP.ts +++ b/packages/localizations/src/ja-JP.ts @@ -62,6 +62,7 @@ export const jaJP: LocalizationResource = { badge__requiresAction: 'アクションが必要', badge__startsAt: undefined, badge__thisDevice: 'このデバイス', + badge__trialEndsAt: undefined, badge__unverified: '未確認', badge__upcomingPlan: undefined, badge__userDevice: 'ユーザーデバイス', @@ -133,6 +134,7 @@ export const jaJP: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -788,6 +790,26 @@ export const jaJP: LocalizationResource = { }, socialButtonsBlockButton: '{{provider|titleize}}で続ける', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/kk-KZ.ts b/packages/localizations/src/kk-KZ.ts index e61c5d40667..3bf3378de45 100644 --- a/packages/localizations/src/kk-KZ.ts +++ b/packages/localizations/src/kk-KZ.ts @@ -62,6 +62,7 @@ export const kkKZ: LocalizationResource = { badge__requiresAction: 'Әрекет қажет', badge__startsAt: "{{ date | shortDate('kk-KZ') }} күні басталады", badge__thisDevice: 'Осы құрылғы', + badge__trialEndsAt: undefined, badge__unverified: 'Расталмаған', badge__upcomingPlan: 'Алдағы жоспар', badge__userDevice: 'Пайдаланушы құрылғысы', @@ -133,6 +134,7 @@ export const kkKZ: LocalizationResource = { }, reSubscribe: 'Қайта жазылу', seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -780,6 +782,26 @@ export const kkKZ: LocalizationResource = { }, socialButtonsBlockButton: '{{provider|titleize}} арқылы жалғастыру', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} ұйымға қазірдің өзінде қосылған.', captcha_invalid: 'Қауіпсіздік тексерілуі сәтсіз аяқталды. Браузерді өзгерту немесе кеңейтулерді өшіруге тырысыңыз.', diff --git a/packages/localizations/src/ko-KR.ts b/packages/localizations/src/ko-KR.ts index b83d2e57c07..c91336c1431 100644 --- a/packages/localizations/src/ko-KR.ts +++ b/packages/localizations/src/ko-KR.ts @@ -62,6 +62,7 @@ export const koKR: LocalizationResource = { badge__requiresAction: '조치 필요', badge__startsAt: undefined, badge__thisDevice: '이 장치', + badge__trialEndsAt: undefined, badge__unverified: '미확인', badge__upcomingPlan: undefined, badge__userDevice: '사용자 장치', @@ -133,6 +134,7 @@ export const koKR: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -782,6 +784,26 @@ export const koKR: LocalizationResource = { }, socialButtonsBlockButton: '{{provider|titleize}}로 계속하기', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/mn-MN.ts b/packages/localizations/src/mn-MN.ts index 0c182b04b59..aaf35ac1b81 100644 --- a/packages/localizations/src/mn-MN.ts +++ b/packages/localizations/src/mn-MN.ts @@ -62,6 +62,7 @@ export const mnMN: LocalizationResource = { badge__requiresAction: 'Үйлдэл шаардлагтай', badge__startsAt: undefined, badge__thisDevice: 'Энэ төхөөрөмж', + badge__trialEndsAt: undefined, badge__unverified: 'Баталгаажаагүй', badge__upcomingPlan: undefined, badge__userDevice: 'Хэрэглэгчийн төхөөрөмж', @@ -133,6 +134,7 @@ export const mnMN: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -788,6 +790,26 @@ export const mnMN: LocalizationResource = { }, socialButtonsBlockButton: '{{provider|titleize}}-р үргэлжлүүлэх', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/ms-MY.ts b/packages/localizations/src/ms-MY.ts index c0b62546b3d..d414ebdcc81 100644 --- a/packages/localizations/src/ms-MY.ts +++ b/packages/localizations/src/ms-MY.ts @@ -62,6 +62,7 @@ export const msMY: LocalizationResource = { badge__requiresAction: 'Memerlukan tindakan', badge__startsAt: undefined, badge__thisDevice: 'Peranti ini', + badge__trialEndsAt: undefined, badge__unverified: 'Belum disahkan', badge__upcomingPlan: undefined, badge__userDevice: 'Peranti pengguna', @@ -133,6 +134,7 @@ export const msMY: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -796,6 +798,26 @@ export const msMY: LocalizationResource = { }, socialButtonsBlockButton: 'Teruskan dengan {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} sudah menjadi ahli organisasi.', captcha_invalid: diff --git a/packages/localizations/src/nb-NO.ts b/packages/localizations/src/nb-NO.ts index 4faa7c27d0e..a3ef674d34c 100644 --- a/packages/localizations/src/nb-NO.ts +++ b/packages/localizations/src/nb-NO.ts @@ -62,6 +62,7 @@ export const nbNO: LocalizationResource = { badge__requiresAction: 'Krever handling', badge__startsAt: undefined, badge__thisDevice: 'Denne enheten', + badge__trialEndsAt: undefined, badge__unverified: 'Ikke verifisert', badge__upcomingPlan: undefined, badge__userDevice: 'Brukerens enhet', @@ -133,6 +134,7 @@ export const nbNO: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -787,6 +789,26 @@ export const nbNO: LocalizationResource = { }, socialButtonsBlockButton: 'Fortsett med {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/nl-BE.ts b/packages/localizations/src/nl-BE.ts index 6d137bb40d4..206e1f5dc65 100644 --- a/packages/localizations/src/nl-BE.ts +++ b/packages/localizations/src/nl-BE.ts @@ -62,6 +62,7 @@ export const nlBE: LocalizationResource = { badge__requiresAction: 'Actie vereist', badge__startsAt: undefined, badge__thisDevice: 'Dit apparaat', + badge__trialEndsAt: undefined, badge__unverified: 'Ongeverifieerd', badge__upcomingPlan: undefined, badge__userDevice: 'Gebruikersapparaat', @@ -133,6 +134,7 @@ export const nlBE: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -788,6 +790,26 @@ export const nlBE: LocalizationResource = { }, socialButtonsBlockButton: 'Ga verder met {{provider|titleize}}', socialButtonsBlockButtonManyInView: 'Ga verder met {{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: 'Je bent al lid van de organisatie.', captcha_invalid: diff --git a/packages/localizations/src/nl-NL.ts b/packages/localizations/src/nl-NL.ts index 68b5ac20700..87467802d8d 100644 --- a/packages/localizations/src/nl-NL.ts +++ b/packages/localizations/src/nl-NL.ts @@ -62,6 +62,7 @@ export const nlNL: LocalizationResource = { badge__requiresAction: 'Actie vereist', badge__startsAt: undefined, badge__thisDevice: 'Dit apparaat', + badge__trialEndsAt: undefined, badge__unverified: 'Ongeverifieerd', badge__upcomingPlan: undefined, badge__userDevice: 'Gebruikersapparaat', @@ -133,6 +134,7 @@ export const nlNL: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -788,6 +790,26 @@ export const nlNL: LocalizationResource = { }, socialButtonsBlockButton: 'Ga verder met {{provider|titleize}}', socialButtonsBlockButtonManyInView: 'Ga verder met {{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: 'Je bent al lid van de organisatie.', captcha_invalid: diff --git a/packages/localizations/src/pl-PL.ts b/packages/localizations/src/pl-PL.ts index 2e5135e80dc..393de66dbda 100644 --- a/packages/localizations/src/pl-PL.ts +++ b/packages/localizations/src/pl-PL.ts @@ -62,6 +62,7 @@ export const plPL: LocalizationResource = { badge__requiresAction: 'Wymaga działania', badge__startsAt: undefined, badge__thisDevice: 'To urządzenie', + badge__trialEndsAt: undefined, badge__unverified: 'Niezweryfikowany', badge__upcomingPlan: undefined, badge__userDevice: 'Urządzenie użytkownika', @@ -133,6 +134,7 @@ export const plPL: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -793,6 +795,26 @@ export const plPL: LocalizationResource = { }, socialButtonsBlockButton: 'Kontynuuj z {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} jest już członkiem organizacji.', captcha_invalid: diff --git a/packages/localizations/src/pt-BR.ts b/packages/localizations/src/pt-BR.ts index 2e8bd21d4bf..c07fc6e70d9 100644 --- a/packages/localizations/src/pt-BR.ts +++ b/packages/localizations/src/pt-BR.ts @@ -62,6 +62,7 @@ export const ptBR: LocalizationResource = { badge__requiresAction: 'Requer ação', badge__startsAt: "Inicia {{ date | shortDate('pt-BR') }}", badge__thisDevice: 'Este dispositivo', + badge__trialEndsAt: undefined, badge__unverified: 'Não verificado', badge__upcomingPlan: 'Próximo plano', badge__userDevice: 'Dispositivo do usuário', @@ -137,6 +138,7 @@ export const ptBR: LocalizationResource = { }, reSubscribe: 'Assinar novamente', seeAllFeatures: 'Ver todos os recursos', + startFreeTrial: undefined, subscribe: 'Assinar', subscriptionDetails: { beginsOn: undefined, @@ -798,6 +800,26 @@ export const ptBR: LocalizationResource = { }, socialButtonsBlockButton: 'Continuar com {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} já é membro da organização.', captcha_invalid: diff --git a/packages/localizations/src/pt-PT.ts b/packages/localizations/src/pt-PT.ts index a6864b81dd0..1d793184930 100644 --- a/packages/localizations/src/pt-PT.ts +++ b/packages/localizations/src/pt-PT.ts @@ -62,6 +62,7 @@ export const ptPT: LocalizationResource = { badge__requiresAction: 'Requer ação', badge__startsAt: undefined, badge__thisDevice: 'Este dispositivo', + badge__trialEndsAt: undefined, badge__unverified: 'Não verificado', badge__upcomingPlan: undefined, badge__userDevice: 'Dispositivo do utilizador', @@ -133,6 +134,7 @@ export const ptPT: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -786,6 +788,26 @@ export const ptPT: LocalizationResource = { }, socialButtonsBlockButton: 'Continuar com {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: 'Já é membro nesta organização.', captcha_invalid: diff --git a/packages/localizations/src/ro-RO.ts b/packages/localizations/src/ro-RO.ts index 08293b24d33..a897e22a424 100644 --- a/packages/localizations/src/ro-RO.ts +++ b/packages/localizations/src/ro-RO.ts @@ -62,6 +62,7 @@ export const roRO: LocalizationResource = { badge__requiresAction: 'Necesită acțiune', badge__startsAt: undefined, badge__thisDevice: 'Acest dispozitiv', + badge__trialEndsAt: undefined, badge__unverified: 'Nedeclarat', badge__upcomingPlan: undefined, badge__userDevice: 'Dispozitiv de utilizator', @@ -133,6 +134,7 @@ export const roRO: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -789,6 +791,26 @@ export const roRO: LocalizationResource = { }, socialButtonsBlockButton: 'Continuați cu {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/ru-RU.ts b/packages/localizations/src/ru-RU.ts index 24134bab7b3..38742245d5b 100644 --- a/packages/localizations/src/ru-RU.ts +++ b/packages/localizations/src/ru-RU.ts @@ -62,6 +62,7 @@ export const ruRU: LocalizationResource = { badge__requiresAction: 'Требуется действие', badge__startsAt: undefined, badge__thisDevice: 'Это устройство', + badge__trialEndsAt: undefined, badge__unverified: 'Неверифицированный', badge__upcomingPlan: undefined, badge__userDevice: 'Пользовательское устройство', @@ -133,6 +134,7 @@ export const ruRU: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -800,6 +802,26 @@ export const ruRU: LocalizationResource = { }, socialButtonsBlockButton: 'Продолжить с помощью {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} уже является членом организации.', captcha_invalid: diff --git a/packages/localizations/src/sk-SK.ts b/packages/localizations/src/sk-SK.ts index 75f6c890d8d..3f7252213a3 100644 --- a/packages/localizations/src/sk-SK.ts +++ b/packages/localizations/src/sk-SK.ts @@ -62,6 +62,7 @@ export const skSK: LocalizationResource = { badge__requiresAction: 'Vyžaduje akciu', badge__startsAt: undefined, badge__thisDevice: 'Toto zariadenie', + badge__trialEndsAt: undefined, badge__unverified: 'Nepotvrdené', badge__upcomingPlan: undefined, badge__userDevice: 'Zariadenie používateľa', @@ -133,6 +134,7 @@ export const skSK: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -793,6 +795,26 @@ export const skSK: LocalizationResource = { }, socialButtonsBlockButton: 'Pokračovať s {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/sr-RS.ts b/packages/localizations/src/sr-RS.ts index fa9673ab0a8..c4df218ae85 100644 --- a/packages/localizations/src/sr-RS.ts +++ b/packages/localizations/src/sr-RS.ts @@ -62,6 +62,7 @@ export const srRS: LocalizationResource = { badge__requiresAction: 'Zahteva akciju', badge__startsAt: undefined, badge__thisDevice: 'Ovaj uređaj', + badge__trialEndsAt: undefined, badge__unverified: 'Nepotvrđen', badge__upcomingPlan: undefined, badge__userDevice: 'Korisnički uređaj', @@ -133,6 +134,7 @@ export const srRS: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -786,6 +788,26 @@ export const srRS: LocalizationResource = { }, socialButtonsBlockButton: 'Nastavi sa {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/sv-SE.ts b/packages/localizations/src/sv-SE.ts index fb66cd1575b..70c28d12266 100644 --- a/packages/localizations/src/sv-SE.ts +++ b/packages/localizations/src/sv-SE.ts @@ -62,6 +62,7 @@ export const svSE: LocalizationResource = { badge__requiresAction: 'Kräver åtgärd', badge__startsAt: undefined, badge__thisDevice: 'Den här enheten', + badge__trialEndsAt: undefined, badge__unverified: 'Overifierad', badge__upcomingPlan: undefined, badge__userDevice: 'Användarens enhet', @@ -133,6 +134,7 @@ export const svSE: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -791,6 +793,26 @@ export const svSE: LocalizationResource = { }, socialButtonsBlockButton: 'Fortsätt med {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} är redan medlem i organisationen.', captcha_invalid: diff --git a/packages/localizations/src/ta-IN.ts b/packages/localizations/src/ta-IN.ts index 1f83900ef8d..85489d3a43c 100644 --- a/packages/localizations/src/ta-IN.ts +++ b/packages/localizations/src/ta-IN.ts @@ -62,6 +62,7 @@ export const taIN: LocalizationResource = { badge__requiresAction: 'செயல் தேவை', badge__startsAt: undefined, badge__thisDevice: 'இந்த சாதனம்', + badge__trialEndsAt: undefined, badge__unverified: 'சரிபார்க்கப்படாதது', badge__upcomingPlan: undefined, badge__userDevice: 'பயனர் சாதனம்', @@ -133,6 +134,7 @@ export const taIN: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -795,6 +797,26 @@ export const taIN: LocalizationResource = { }, socialButtonsBlockButton: '{{provider|titleize}} மூலம் தொடரவும்', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} ஏற்கனவே நிறுவனத்தின் உறுப்பினராக உள்ளார்.', captcha_invalid: diff --git a/packages/localizations/src/te-IN.ts b/packages/localizations/src/te-IN.ts index 12a9e0a7a25..9eb897299ac 100644 --- a/packages/localizations/src/te-IN.ts +++ b/packages/localizations/src/te-IN.ts @@ -62,6 +62,7 @@ export const teIN: LocalizationResource = { badge__requiresAction: 'చర్య అవసరం', badge__startsAt: undefined, badge__thisDevice: 'ఈ పరికరం', + badge__trialEndsAt: undefined, badge__unverified: 'ధృవీకరించబడలేదు', badge__upcomingPlan: undefined, badge__userDevice: 'వినియోగదారు పరికరం', @@ -133,6 +134,7 @@ export const teIN: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -795,6 +797,26 @@ export const teIN: LocalizationResource = { }, socialButtonsBlockButton: '{{provider|titleize}}తో కొనసాగించండి', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} ఇప్పటికే సంస్థ సభ్యుడు.', captcha_invalid: diff --git a/packages/localizations/src/th-TH.ts b/packages/localizations/src/th-TH.ts index 438149b79a9..eca804e0896 100644 --- a/packages/localizations/src/th-TH.ts +++ b/packages/localizations/src/th-TH.ts @@ -62,6 +62,7 @@ export const thTH: LocalizationResource = { badge__requiresAction: 'ต้องการการดำเนินการ', badge__startsAt: undefined, badge__thisDevice: 'อุปกรณ์นี้', + badge__trialEndsAt: undefined, badge__unverified: 'ยังไม่ได้ตรวจสอบ', badge__upcomingPlan: undefined, badge__userDevice: 'อุปกรณ์ผู้ใช้', @@ -133,6 +134,7 @@ export const thTH: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -785,6 +787,26 @@ export const thTH: LocalizationResource = { }, socialButtonsBlockButton: 'ดำเนินการต่อด้วย {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} เป็นสมาชิกขององค์กรอยู่แล้ว', captcha_invalid: diff --git a/packages/localizations/src/tr-TR.ts b/packages/localizations/src/tr-TR.ts index 253f5a2e901..aaaa3ba9986 100644 --- a/packages/localizations/src/tr-TR.ts +++ b/packages/localizations/src/tr-TR.ts @@ -62,6 +62,7 @@ export const trTR: LocalizationResource = { badge__requiresAction: 'Eylem gerekli', badge__startsAt: undefined, badge__thisDevice: 'Bu cihaz', + badge__trialEndsAt: undefined, badge__unverified: 'Doğrulanmamış', badge__upcomingPlan: undefined, badge__userDevice: 'Kullanıcı cihazı', @@ -133,6 +134,7 @@ export const trTR: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -789,6 +791,26 @@ export const trTR: LocalizationResource = { }, socialButtonsBlockButton: '{{provider|titleize}} ile giriş yapın', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: 'Bu organizasyonda zaten üyesiniz.', captcha_invalid: diff --git a/packages/localizations/src/uk-UA.ts b/packages/localizations/src/uk-UA.ts index ea296eae8b4..833f49ef23c 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -62,6 +62,7 @@ export const ukUA: LocalizationResource = { badge__requiresAction: 'Потребує дії', badge__startsAt: undefined, badge__thisDevice: 'Цей пристрій', + badge__trialEndsAt: undefined, badge__unverified: 'Неперевірений', badge__upcomingPlan: undefined, badge__userDevice: 'Пристрій користувача', @@ -133,6 +134,7 @@ export const ukUA: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -785,6 +787,26 @@ export const ukUA: LocalizationResource = { }, socialButtonsBlockButton: 'Продовжити за допомогою {{provider|titleize}}', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: diff --git a/packages/localizations/src/vi-VN.ts b/packages/localizations/src/vi-VN.ts index 75e6883e0f3..19a68d9cac3 100644 --- a/packages/localizations/src/vi-VN.ts +++ b/packages/localizations/src/vi-VN.ts @@ -63,6 +63,7 @@ export const viVN: LocalizationResource = { badge__requiresAction: 'Yêu cầu hành động', badge__startsAt: "Bắt đầu {{ date | shortDate('vi-VN') }}", badge__thisDevice: 'Thiết bị này', + badge__trialEndsAt: undefined, badge__unverified: 'Chưa xác minh', badge__upcomingPlan: 'Sắp tới', badge__userDevice: 'Thiết bị người dùng', @@ -137,6 +138,7 @@ export const viVN: LocalizationResource = { }, reSubscribe: 'Đăng ký lại', seeAllFeatures: 'Xem tất cả tính năng', + startFreeTrial: undefined, subscribe: 'Đăng ký', subscriptionDetails: { beginsOn: undefined, @@ -796,6 +798,26 @@ export const viVN: LocalizationResource = { }, socialButtonsBlockButton: 'Tiếp tục với {{provider|titleize}}', socialButtonsBlockButtonManyInView: '{{provider|titleize}}', + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: '{{email}} đã là thành viên của tổ chức.', captcha_invalid: undefined, diff --git a/packages/localizations/src/zh-CN.ts b/packages/localizations/src/zh-CN.ts index 80cdc03cf83..f78f698e038 100644 --- a/packages/localizations/src/zh-CN.ts +++ b/packages/localizations/src/zh-CN.ts @@ -62,6 +62,7 @@ export const zhCN: LocalizationResource = { badge__requiresAction: '需要操作', badge__startsAt: undefined, badge__thisDevice: '此设备', + badge__trialEndsAt: undefined, badge__unverified: '未验证', badge__upcomingPlan: undefined, badge__userDevice: '用户设备', @@ -133,6 +134,7 @@ export const zhCN: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -776,6 +778,26 @@ export const zhCN: LocalizationResource = { }, socialButtonsBlockButton: '使用 {{provider|titleize}} 登录', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: '由于安全验证失败,注册未成功。请刷新页面重试或联系支持获取更多帮助。', diff --git a/packages/localizations/src/zh-TW.ts b/packages/localizations/src/zh-TW.ts index 8fdf6011f99..4ac6568ef24 100644 --- a/packages/localizations/src/zh-TW.ts +++ b/packages/localizations/src/zh-TW.ts @@ -62,6 +62,7 @@ export const zhTW: LocalizationResource = { badge__requiresAction: '需要操作', badge__startsAt: undefined, badge__thisDevice: '此設備', + badge__trialEndsAt: undefined, badge__unverified: '未驗證', badge__upcomingPlan: undefined, badge__userDevice: '用戶設備', @@ -133,6 +134,7 @@ export const zhTW: LocalizationResource = { }, reSubscribe: undefined, seeAllFeatures: undefined, + startFreeTrial: undefined, subscribe: undefined, subscriptionDetails: { beginsOn: undefined, @@ -777,6 +779,26 @@ export const zhTW: LocalizationResource = { }, socialButtonsBlockButton: '以 {{provider|titleize}} 帳戶登入', socialButtonsBlockButtonManyInView: undefined, + taskChooseOrganization: { + chooseOrganization: { + action__createOrganization: undefined, + action__invitationAccept: undefined, + action__suggestionsAccept: undefined, + subtitle: undefined, + suggestionsAcceptedLabel: undefined, + title: undefined, + }, + createOrganization: { + formButtonReset: undefined, + formButtonSubmit: undefined, + subtitle: undefined, + title: undefined, + }, + signOut: { + actionLink: undefined, + actionText: undefined, + }, + }, unstable__errors: { already_a_member_in_organization: undefined, captcha_invalid: '由於安全驗證失敗,註冊未成功。請重新整理頁面再試一次,或聯絡支援以取得協助。', diff --git a/packages/react/src/components/__tests__/PlanDetailsButton.test.tsx b/packages/react/src/components/__tests__/PlanDetailsButton.test.tsx index a58c408126a..c722dee2fe8 100644 --- a/packages/react/src/components/__tests__/PlanDetailsButton.test.tsx +++ b/packages/react/src/components/__tests__/PlanDetailsButton.test.tsx @@ -47,6 +47,8 @@ const mockPlanResource: CommercePlanResource = { publiclyVisible: true, slug: 'test-plan', avatarUrl: 'https://example.com/avatar.png', + freeTrialDays: 0, + freeTrialEnabled: false, features: [], __internal_toSnapshot: vi.fn(), pathRoot: '', diff --git a/packages/types/src/commerce.ts b/packages/types/src/commerce.ts index d5b8e08bddc..c0389262fcb 100644 --- a/packages/types/src/commerce.ts +++ b/packages/types/src/commerce.ts @@ -437,6 +437,24 @@ export interface CommercePlanResource extends ClerkResource { * ``` */ features: CommerceFeatureResource[]; + /** + * @experimental This is an experimental API for the Billing feature that is available under a public beta, and the API is subject to change. + * It is advised to pin the SDK version and the clerk-js version to a specific version to avoid breaking changes. + * @example + * ```tsx + * + * ``` + */ + freeTrialDays: number | null; + /** + * @experimental This is an experimental API for the Billing feature that is available under a public beta, and the API is subject to change. + * It is advised to pin the SDK version and the clerk-js version to a specific version to avoid breaking changes. + * @example + * ```tsx + * + * ``` + */ + freeTrialEnabled: boolean; __internal_toSnapshot: () => CommercePlanJSONSnapshot; } diff --git a/packages/types/src/json.ts b/packages/types/src/json.ts index 93c289b549b..df2c8aa88dd 100644 --- a/packages/types/src/json.ts +++ b/packages/types/src/json.ts @@ -649,6 +649,8 @@ export interface CommercePlanJSON extends ClerkResourceJSON { slug: string; avatar_url: string; features: CommerceFeatureJSON[]; + free_trial_days?: number | null; + free_trial_enabled?: boolean; } /** @@ -783,7 +785,8 @@ export interface CommerceSubscriptionItemJSON extends ClerkResourceJSON { period_end: number | null; canceled_at: number | null; past_due_at: number | null; - is_free_trial: boolean; + // TODO(@COMMERCE): Remove optional after GA. + is_free_trial?: boolean; } /** diff --git a/packages/types/src/localization.ts b/packages/types/src/localization.ts index c5ef5752cd0..580f02a427f 100644 --- a/packages/types/src/localization.ts +++ b/packages/types/src/localization.ts @@ -149,6 +149,7 @@ export type __internal_LocalizationResource = { badge__pastDuePlan: LocalizationValue; badge__startsAt: LocalizationValue<'date'>; badge__pastDueAt: LocalizationValue<'date'>; + badge__trialEndsAt: LocalizationValue<'date'>; badge__endsAt: LocalizationValue; badge__expired: LocalizationValue; badge__canceledEndsAt: LocalizationValue<'date'>; @@ -174,6 +175,7 @@ export type __internal_LocalizationResource = { keepSubscription: LocalizationValue; reSubscribe: LocalizationValue; subscribe: LocalizationValue; + startFreeTrial: LocalizationValue<'days'>; switchPlan: LocalizationValue; switchToMonthly: LocalizationValue; switchToAnnual: LocalizationValue;