@buildbase/sdk 0.0.50 → 0.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +41 -13
- package/CHANGELOG.md +109 -0
- package/README.md +343 -44
- package/dist/css/styles.css +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +874 -53
- package/dist/index.mjs +1 -1
- package/dist/mcp/index.cjs +1 -0
- package/dist/mcp/index.d.ts +1402 -0
- package/dist/mcp/index.mjs +1 -0
- package/dist/react/chunks/SettingsDialog-BxDYsie6.mjs +2 -0
- package/dist/react/chunks/SettingsDialog-Dy8W3NA6.cjs +2 -0
- package/dist/react/chunks/SubscriptionDialog-6c5dHoQd.mjs +2 -0
- package/dist/react/chunks/SubscriptionDialog-CpVnnXJg.cjs +2 -0
- package/dist/react/chunks/ar-1Z1MOGAP.mjs +2 -0
- package/dist/react/chunks/ar-VGzBv3AZ.cjs +2 -0
- package/dist/react/chunks/de-BjdDg60Y.cjs +2 -0
- package/dist/react/chunks/de-CXUItplO.mjs +2 -0
- package/dist/react/chunks/es-BBPsSZUp.cjs +2 -0
- package/dist/react/chunks/es-BTbzVutz.mjs +2 -0
- package/dist/react/chunks/fr-Cax48X_S.cjs +2 -0
- package/dist/react/chunks/fr-DPMeOQu3.mjs +2 -0
- package/dist/react/chunks/hi-BJqvpG6d.cjs +2 -0
- package/dist/react/chunks/hi-JfJx-LV7.mjs +2 -0
- package/dist/react/chunks/ja-CDGtLzTk.mjs +2 -0
- package/dist/react/chunks/ja-DvVyj5xX.cjs +2 -0
- package/dist/react/chunks/react-4SlWxHdh.cjs +2 -0
- package/dist/react/chunks/react-OL1uSkpr.mjs +2 -0
- package/dist/react/chunks/zh-BAcqxkxk.cjs +2 -0
- package/dist/react/chunks/zh-BNZ2Ooe8.mjs +2 -0
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.d.ts +484 -93
- package/dist/react/index.mjs +1 -1
- package/package.json +22 -5
- package/dist/react/chunks/SubscriptionDialog-A6oETKbb.cjs +0 -2
- package/dist/react/chunks/SubscriptionDialog-nuMunBn4.mjs +0 -2
- package/dist/react/chunks/ar-BRvKHRYS.cjs +0 -2
- package/dist/react/chunks/ar-IhPhJAZA.mjs +0 -2
- package/dist/react/chunks/de-D3q0vQBG.cjs +0 -2
- package/dist/react/chunks/de-bvh5IFSx.mjs +0 -2
- package/dist/react/chunks/es-B9kiwJmF.cjs +0 -2
- package/dist/react/chunks/es-TyUz4_E1.mjs +0 -2
- package/dist/react/chunks/fr-C500Ytao.cjs +0 -2
- package/dist/react/chunks/fr-CKm-bSvG.mjs +0 -2
- package/dist/react/chunks/hi-CfFhH2uQ.cjs +0 -2
- package/dist/react/chunks/hi-Ck9cPpd-.mjs +0 -2
- package/dist/react/chunks/ja-AM4H1tXw.mjs +0 -2
- package/dist/react/chunks/ja-DfROrx_j.cjs +0 -2
- package/dist/react/chunks/react-CTX0_nOV.cjs +0 -2
- package/dist/react/chunks/react-DzQupoqH.mjs +0 -2
- package/dist/react/chunks/zh-CLmBh-it.cjs +0 -2
- package/dist/react/chunks/zh-DCVPxie-.mjs +0 -2
package/dist/react/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{
|
|
2
|
+
export{az as ApiVersion,aA as AuthApi,aB as AuthStatus,m as BBAction,aC as BBScreen,n as BBStatus,aD as BB_PARAM,aE as BaseApi,aF as BetaForm,ab as BillingIntervals,aG as CURRENCY_DISPLAY,aH as CURRENCY_FLAG,C as ConnectedAgents,aI as ConnectedAgentsApi,aJ as CreditActionsProvider,aK as CreditBalance,aL as CreditBalanceContextProvider,aM as CreditBucketSource,aN as CreditBucketStatus,aO as CreditStorePage,t as CreditTransactionType,aP as DEFAULT_ROLE_PERMISSIONS,ac as DunningState,E as EmptyState,aQ as EventEmitter,aR as FullScreenLoader,$ as InvoiceStatuses,L as LoadingState,aS as PLAN_CURRENCY_CODES,aT as PLAN_CURRENCY_OPTIONS,aU as PUSH_SERVICE_WORKER_SCRIPT,P as Permission,aV as PricingPage,aW as PushApi,aX as PushNotificationProvider,aY as QuotaUsageContextProvider,aZ as SDKEvent,ax as SETTINGS_SCREENS,a_ as SUPPORTED_LOCALES,a$ as SaaSOSProvider,q as SectionHeader,b0 as SettingsApi,aq as SettingsScreen,as as SidebarNavItem,ar as SidebarNavSection,p as StatusBanner,b1 as SubscriptionContextProvider,ae as SubscriptionItemType,a7 as SubscriptionStatus,b2 as UserApi,b3 as WhenAuthenticated,b4 as WhenCreditsAvailable,b5 as WhenCreditsExhausted,b6 as WhenCreditsLow,b7 as WhenNoSubscription,b8 as WhenNotTrialing,b9 as WhenPermission,ba as WhenQuotaAvailable,bb as WhenQuotaExhausted,bc as WhenQuotaOverage,bd as WhenQuotaThreshold,be as WhenRoles,bf as WhenSubscription,bg as WhenSubscriptionToPlans,bh as WhenTrialEnding,bi as WhenTrialing,bj as WhenUnauthenticated,bk as WhenUserFeatureDisabled,bl as WhenUserFeatureEnabled,bm as WhenWorkspaceFeatureDisabled,bn as WhenWorkspaceFeatureEnabled,bo as WhenWorkspaceRoles,bp as WorkspaceApi,bq as WorkspaceSwitcher,br as calculateBillableSeats,bs as calculateSeatOverageCents,bt as calculateTotalSubscriptionCents,bu as cleanBBParams,bv as clearAuthIntent,bw as consumeAuthIntent,bx as createBBUrl,ai as createCheckoutRedirectUrls,r as createCreditPurchaseRedirectUrls,by as eventEmitter,bz as formatCents,bA as formatOverageRate,bB as formatOverageRateWithLabel,bC as formatQuotaIncludedOverage,bD as formatQuotaWithPrice,ay as getAvailableCurrenciesFromPlans,a8 as getBasePriceCents,a6 as getBillingIntervalAndCurrencyFromPriceId,O as getCurrencyFlag,g as getCurrencySymbol,bE as getDisplayCurrency,aa as getPerSeatPriceCents,bF as getPricingVariant,ag as getQuotaDisplayValue,af as getQuotaDisplayWithVariant,am as getQuotaOverageCents,bG as getQuotaUnitLabelFromName,a9 as getSeatPricing,ah as getStripePriceIdForInterval,bH as hasPermission,o as invalidateCreditBalance,bI as invalidateQuotaUsage,aj as invalidateSubscription,au as mergeUIConfig,bJ as readBBParams,bK as resolveMaxUsers,bL as resolvePermissions,s as safeRedirect,bM as saveAuthIntent,bN as useAllQuotaUsage,a4 as useBillingPortal,a2 as useCancelSubscription,bO as useConnectedAgents,bP as useConnectedAgentsApi,bQ as useConsumeCredits,a1 as useCreateCheckoutSession,bR as useCreditBalance,h as useCreditBalanceContext,i as useCreditPackages,k as useCreditTransactions,j as useExpiringCredits,bS as useFullScreenLoader,bT as useInvoice,_ as useInvoices,e as usePermissions,bU as usePlanGroup,a5 as usePlanGroupVersions,bV as usePublicCreditPackages,bW as usePublicPlanGroupVersion,bX as usePublicPlans,l as usePurchaseCredits,X as usePushNotifications,ak as useQuotaUsageContext,bY as useQuotaUsageStatus,bZ as useRecordUsage,a3 as useResumeSubscription,an as useSaaSAuth,b_ as useSaaSOs,z as useSaaSSettings,y as useSaaSWorkspaces,ao as useSeatStatus,b$ as useSubscription,al as useSubscriptionContext,a0 as useSubscriptionManagement,u as useTranslation,c0 as useTrialStatus,at as useUIConfig,f as useUIVisibility,c1 as useUpdateSubscription,c2 as useUsageLogs,c3 as useUserAttributes,c4 as useUserFeatures,c5 as validateInvite,c6 as validateRedirectUrl,w as workspaceSettingsManager}from"./chunks/react-OL1uSkpr.mjs";import"react/jsx-runtime";import"react";import"clsx";import"tailwind-merge";import"intl-messageformat";import"@hookform/resolvers/zod";import"react-hook-form";import"@radix-ui/react-slot";import"class-variance-authority";import"lucide-react";import"@radix-ui/react-label";import"zod";import"@radix-ui/react-avatar";import"@radix-ui/react-dialog";import"@radix-ui/react-icons";import"@radix-ui/react-radio-group";import"@radix-ui/react-scroll-area";import"@radix-ui/react-separator";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buildbase/sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.53",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A SDK for Buildbase",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -25,6 +25,12 @@
|
|
|
25
25
|
"require": "./dist/data/index.cjs",
|
|
26
26
|
"default": "./dist/data/index.cjs"
|
|
27
27
|
},
|
|
28
|
+
"./mcp": {
|
|
29
|
+
"types": "./dist/mcp/index.d.ts",
|
|
30
|
+
"import": "./dist/mcp/index.mjs",
|
|
31
|
+
"require": "./dist/mcp/index.cjs",
|
|
32
|
+
"default": "./dist/mcp/index.cjs"
|
|
33
|
+
},
|
|
28
34
|
"./css": {
|
|
29
35
|
"types": "./dist/css/styles.d.ts",
|
|
30
36
|
"default": "./dist/css/styles.css"
|
|
@@ -39,6 +45,9 @@
|
|
|
39
45
|
"data": [
|
|
40
46
|
"./dist/data/index.d.ts"
|
|
41
47
|
],
|
|
48
|
+
"mcp": [
|
|
49
|
+
"./dist/mcp/index.d.ts"
|
|
50
|
+
],
|
|
42
51
|
"css": [
|
|
43
52
|
"./dist/css/styles.d.ts"
|
|
44
53
|
]
|
|
@@ -54,8 +63,8 @@
|
|
|
54
63
|
"**/*.css"
|
|
55
64
|
],
|
|
56
65
|
"scripts": {
|
|
57
|
-
"build": "rollup -c && npm run postbuild",
|
|
58
|
-
"postbuild": "rimraf dist/types dist/react/types dist/data/types dist/*.map dist/react/*.map dist/data/*.map && mkdir -p dist/css && [ -f dist/react/styles.css ] && mv dist/react/styles.css dist/css/styles.css || true && cp src/css.d.ts dist/css/styles.d.ts",
|
|
66
|
+
"build": "rollup -c && rollup -c rollup.dts.config.js && npm run postbuild",
|
|
67
|
+
"postbuild": "rimraf dist/types dist/react/types dist/data/types dist/mcp/types dist/*.map dist/react/*.map dist/data/*.map dist/mcp/*.map && mkdir -p dist/css && [ -f dist/react/styles.css ] && mv dist/react/styles.css dist/css/styles.css || true && cp src/css.d.ts dist/css/styles.d.ts",
|
|
59
68
|
"build:analyze": "rollup --config rollup.config.analyze.js",
|
|
60
69
|
"dev": "rollup -c -w",
|
|
61
70
|
"clean": "rimraf dist",
|
|
@@ -68,6 +77,10 @@
|
|
|
68
77
|
"yalc:push": "yalc push",
|
|
69
78
|
"yalc:remove": "yalc remove",
|
|
70
79
|
"format": "prettier --write . --plugin=prettier-plugin-organize-imports",
|
|
80
|
+
"format:check": "prettier --check . --plugin=prettier-plugin-organize-imports",
|
|
81
|
+
"lint": "npm run lint:types && npm run lint:tokens",
|
|
82
|
+
"lint:types": "tsc --noEmit",
|
|
83
|
+
"lint:tokens": "grep -rEn '(bg|text|border|divide|ring|outline|from|via|to|fill|stroke|shadow|ring-offset)-(gray|slate|red|green|emerald|amber|yellow|blue|purple|pink|indigo|violet|orange|teal|cyan|lime|rose|fuchsia|sky|stone|zinc|neutral)-[0-9]+|bg-white|text-white|#[0-9a-fA-F]{6}' src/components src/providers --include='*.tsx' && echo 'Hard-coded colors found — use theme tokens (see docs/THEMING.md)' && exit 1 || exit 0",
|
|
71
84
|
"push:sdk": "npm run build && yalc push",
|
|
72
85
|
"watch:push": "nodemon",
|
|
73
86
|
"watch:push:light": "chokidar \"src/**/*\" -c \"npm run push:sdk\" --initial --ignore dist"
|
|
@@ -77,6 +90,7 @@
|
|
|
77
90
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
78
91
|
},
|
|
79
92
|
"dependencies": {
|
|
93
|
+
"@hookform/resolvers": "^5.0.1",
|
|
80
94
|
"@radix-ui/react-alert-dialog": "^1.1.13",
|
|
81
95
|
"@radix-ui/react-avatar": "^1.1.9",
|
|
82
96
|
"@radix-ui/react-dialog": "^1.1.13",
|
|
@@ -93,14 +107,13 @@
|
|
|
93
107
|
"clsx": "^2.0.0",
|
|
94
108
|
"cmdk": "^1.1.1",
|
|
95
109
|
"intl-messageformat": "^11.2.0",
|
|
96
|
-
"lucide-react": ">=0.544.0",
|
|
110
|
+
"lucide-react": ">=0.544.0 <1",
|
|
97
111
|
"react-hook-form": "^7.60.0",
|
|
98
112
|
"tailwind-merge": "^3.3.1",
|
|
99
113
|
"zod": "^4.3.6"
|
|
100
114
|
},
|
|
101
115
|
"devDependencies": {
|
|
102
116
|
"@formatjs/cli": "^6.14.1",
|
|
103
|
-
"@hookform/resolvers": "^5.0.1",
|
|
104
117
|
"@rollup/plugin-alias": "^6.0.0",
|
|
105
118
|
"@rollup/plugin-commonjs": "^28.0.6",
|
|
106
119
|
"@rollup/plugin-json": "^6.1.0",
|
|
@@ -131,6 +144,10 @@
|
|
|
131
144
|
"saas",
|
|
132
145
|
"sdk",
|
|
133
146
|
"buildbase",
|
|
147
|
+
"mcp",
|
|
148
|
+
"model-context-protocol",
|
|
149
|
+
"ai-agents",
|
|
150
|
+
"agent-ready",
|
|
134
151
|
"react",
|
|
135
152
|
"billing",
|
|
136
153
|
"stripe",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("react"),s=require("./react-CTX0_nOV.cjs");require("clsx"),require("tailwind-merge"),require("intl-messageformat"),require("lucide-react"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("@radix-ui/react-dialog"),require("@radix-ui/react-icons"),require("@radix-ui/react-alert-dialog"),require("@radix-ui/react-switch"),require("react-hook-form"),require("zod/v4/core"),require("zod"),require("@radix-ui/react-label"),require("@radix-ui/react-radio-group"),require("@radix-ui/react-scroll-area"),require("cmdk"),require("@radix-ui/react-popover"),require("@radix-ui/react-select"),require("@radix-ui/react-avatar"),require("@radix-ui/react-separator");const r={[s.BillingIntervals.Monthly]:"subscription.billingInterval.perMonth",[s.BillingIntervals.Quarterly]:"subscription.billingInterval.perQuarter",[s.BillingIntervals.Yearly]:"subscription.billingInterval.perYear"},a=(e,t,r)=>{if(!e||0===e)return null;let a;switch(r){case s.BillingIntervals.Yearly:a=t/12;break;case s.BillingIntervals.Quarterly:a=t/3;break;default:return null}const i=(e-a)/e*100;return i>0?Math.round(i):null};exports.default=({open:i,onOpenChange:l,planVersions:n,currentPlanVersionId:c,currentStripePriceId:d,billingCurrency:o,currentMemberCount:m,trialUsedAt:x,workspaceName:p,initialInterval:u,initialCurrency:b,onSelectPlan:h,loading:g=!1})=>{const[y,j]=t.useState(!1),{t:f,formattingLocale:v,dir:N,fmtNum:w,fmtCents:_}=s.useTranslation(),{settings:k}=s.useSaaSSettings(),I=k?.workspace?.mode===s.WorkspaceModes.Personal,S=(e,t)=>null==e||0===e?"":_(e,t),P=e=>f(r[e]??r[s.BillingIntervals.Monthly]),[C,B]=t.useState(null),q=t.useRef(!1),M=t.useMemo(()=>s.getBillingIntervalAndCurrencyFromPriceId(d,n),[d,n]),L=M?.interval??null,D=M?.currency??null,T=t.useMemo(()=>s.getAvailableCurrenciesFromPlans(n),[n]),z=t.useMemo(()=>{const e=o?.trim().toLowerCase();return e?T.includes(e)?[e]:[]:T},[o,T]),[F,G]=t.useState(u||L||s.BillingIntervals.Monthly),[K,V]=t.useState(()=>b&&z.includes(b)?b:D&&z.includes(D)?D:z.length>0?z[0]:""),O=o?.trim()||K;t.useEffect(()=>{if(i){G(u||L||s.BillingIntervals.Monthly);const e=b||D;e&&z.includes(e)?V(e):z.length>0&&!z.includes(K)&&V(z[0])}},[i,u,b,L,D,z]);const Q=t.useMemo(()=>[...n],[n]),W=(e=>{const t=new Map;return e.forEach(e=>{e.subscriptionItems?.forEach(e=>{t.has(e._id)||t.set(e._id,e)})}),Array.from(t.values())})(Q),Y=W.filter(e=>e.type===s.SubscriptionItemType.Feature),A=W.filter(e=>e.type===s.SubscriptionItemType.Limit),$=W.filter(e=>e.type===s.SubscriptionItemType.Quota),R=async e=>{if(!(e===c&&L===F||g||y||q.current)){q.current=!0,j(!0),B(e);try{await h(e,F,O),l(!1)}catch(e){}finally{q.current=!1,j(!1),B(null)}}},E=e=>s.getBasePriceCents(e,O,F),H=e=>!!e.pricingVariants?.some(e=>e.currency?.toLowerCase()===O.toLowerCase()),U=g||y,J=e=>{switch(e){case s.BillingIntervals.Monthly:return f("subscription.billingInterval.monthly");case s.BillingIntervals.Quarterly:return f("subscription.billingInterval.quarterly");case s.BillingIntervals.Yearly:return f("subscription.billingInterval.yearly");default:return f("subscription.billingInterval.monthly")}},X=e=>{const t=e._id===c,s=L===F;if(t&&s)return{labelKey:"subscription.currentPlan",variant:"outline",disabled:!0};if(t&&!s)return e.plan?.isFreemium?{labelKey:"subscription.currentPlan",variant:"outline",disabled:!0}:{labelKey:"_dynamic",dynamicLabel:f("subscription.switchToInterval",{interval:J(F)}),variant:"default",disabled:!1};const r=e.trial?.enabled&&e.trial.durationDays>0&&!x&&!d;if(!c)return r?{labelKey:"_dynamic",dynamicLabel:f("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.subscribe",variant:"default",disabled:!1};const a=Q.findIndex(e=>e._id===c),i=Q.findIndex(t=>t._id===e._id);return-1===a||-1===i?r?{labelKey:"_dynamic",dynamicLabel:f("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.checkout.select",variant:"default",disabled:!1}:i<a?{labelKey:"subscription.checkout.downgrade",variant:"outline",disabled:!1}:i>a?r?{labelKey:"_dynamic",dynamicLabel:f("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.checkout.upgrade",variant:"default",disabled:!1}:{labelKey:"subscription.checkout.select",variant:"default",disabled:!1}},Z=(e,t,r=s.BillingIntervals.Monthly)=>{if(t.type===s.SubscriptionItemType.Feature)return e.features?.[t.slug]??!1;if(t.type===s.SubscriptionItemType.Limit)return e.limits?.[t.slug]??null;if(t.type===s.SubscriptionItemType.Quota){const a=s.getQuotaDisplayWithVariant(e,O,t.slug,r);return a||s.getQuotaDisplayValue(e.quotas?.[t.slug],r)}return null},ee=(e,t,r)=>{if(t.type===s.SubscriptionItemType.Feature)return!0===e?"✓":"—";if(t.type===s.SubscriptionItemType.Limit)return null!=e&&"number"==typeof e?w(e):"—";if(t.type===s.SubscriptionItemType.Quota){const a="object"==typeof e&&null!==e&&"included"in e?e:null,i=s.getQuotaDisplayParts(a,t.name.toLowerCase(),{currency:r,locale:v});return i?i.allowOverage?i.hasOverage?f("quota.includedWithOverage",{count:i.included,price:i.price,unit:i.unit}):f("quota.includedOnly",{count:i.included}):f("quota.includedHardLimit",{count:i.included}):"—"}return"—"};return e.jsx(s.Dialog,{open:i,onOpenChange:l,children:e.jsxs(s.DialogContent,{dir:N,className:"inset-0 w-screen h-screen max-w-none rounded-none translate-x-0 translate-y-0 p-0 flex flex-col",children:[e.jsxs("div",{className:"flex-shrink-0 px-4 py-4 sm:px-6 sm:py-6 border-b space-y-3 sm:space-y-4",children:[e.jsxs("div",{children:[e.jsx(s.DialogTitle,{className:"text-xl sm:text-2xl font-bold",children:f("pricing.title")}),e.jsxs(s.DialogDescription,{className:"mt-1 text-sm",children:[f("subscription.choosePlanDescription"),p&&e.jsx("span",{className:"ml-1 font-medium text-foreground",children:f("subscription.forWorkspace",{name:p})})]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sm:gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[!o?.trim()&&z.length>1&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-sm text-slate-600",children:f("pricing.currency")}),e.jsx("select",{"aria-label":f("pricing.selectCurrency"),value:K,onChange:e=>V(e.target.value),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm font-medium text-slate-900 shadow-sm focus:outline-none focus:ring-2 focus:ring-primary",children:z.map(t=>{const r=s.getCurrencyFlag(t);return e.jsx("option",{value:t,children:r?`${r} ${t.toUpperCase()}`:t.toUpperCase()},t)})})]}),o?.trim()&&e.jsx("span",{className:"text-xs text-slate-500",children:f("subscription.billingInCurrency",{currency:o.toUpperCase()})})]}),e.jsx("div",{className:"flex items-center gap-0.5 sm:gap-1 p-1 bg-slate-100 rounded-lg w-full sm:w-auto",role:"group","aria-label":f("pricing.billingInterval"),children:[s.BillingIntervals.Monthly,s.BillingIntervals.Quarterly,s.BillingIntervals.Yearly].map(t=>{const r=L===t;return e.jsx("button",{onClick:()=>G(t),"aria-pressed":F===t,className:"flex-1 sm:flex-initial px-3 sm:px-4 py-2 text-sm font-medium rounded-md transition-all relative "+(F===t?"bg-white text-slate-900 shadow-sm":"text-slate-600 hover:text-slate-900"),children:e.jsxs("span",{className:"flex items-center justify-center gap-1 sm:gap-1.5",children:[t===s.BillingIntervals.Monthly&&f("subscription.billingInterval.monthly"),t===s.BillingIntervals.Quarterly&&f("subscription.billingInterval.quarterly"),t===s.BillingIntervals.Yearly&&f("subscription.billingInterval.yearly"),t===s.BillingIntervals.Yearly&&e.jsx("span",{className:"text-[10px] sm:text-xs px-1 sm:px-1.5 py-0.5 bg-emerald-100 text-emerald-700 rounded-full font-semibold",children:f("pricing.save")}),r&&c&&e.jsx("span",{className:"hidden sm:inline text-xs px-1.5 py-0.5 bg-blue-100 text-blue-700 rounded-full font-semibold",children:f("pricing.current")})]})},t)})})]})]}),e.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:o?.trim()&&0===z.length?e.jsxs("div",{className:"text-center py-12 px-4",children:[e.jsx("p",{className:"text-slate-600 font-medium",children:f("pricing.noPlansCurrency")}),e.jsx("p",{className:"text-slate-500 text-sm mt-2",children:f("pricing.noPlansCurrencyHint")})]}):0===Q.length?e.jsx("div",{className:"text-center py-12 text-gray-500",children:e.jsx("p",{children:f("pricing.noPlans")})}):e.jsxs("div",{className:"flex-1 min-h-0 overflow-hidden bg-white",children:[e.jsx("div",{className:"md:hidden overflow-auto h-full",style:{maxHeight:"calc(100vh - 13rem)"},children:e.jsx("div",{className:"p-4 space-y-4",children:Q.map(t=>{const r=t._id===c,i=X(t),l=U&&t._id===C,n=E(t),o=H(t),p=t.pricingVariants?.length&&t.pricingVariants.some(e=>e.currency?.toLowerCase()===O.toLowerCase())?O:t.plan?.currency??O??"",u=s.getBasePriceCents(t,O,s.BillingIntervals.Monthly)??0,b=F!==s.BillingIntervals.Monthly&&null!==n?a(u,n,F):null,h=s.getSeatPricing(t,O),g=h?s.getPerSeatPriceCents(t,O,F):null;return e.jsxs("div",{className:"rounded-xl border-2 p-4 "+(r?"border-blue-500 bg-blue-50/30":"border-slate-200 bg-white"),children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"text-lg font-bold text-slate-900",children:t.plan.name}),t.trial?.enabled&&t.trial.durationDays>0&&!r&&!x&&!d&&e.jsx("span",{className:"shrink-0 rounded-md bg-emerald-100 text-emerald-700 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider",children:f("subscription.trialBadge",{days:t.trial.durationDays})})]}),t.plan.description&&e.jsx("p",{className:"text-xs text-slate-500 mt-0.5 line-clamp-2",children:t.plan.description})]}),r&&e.jsx("span",{className:"shrink-0 rounded-md bg-blue-600 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-white",children:f("pricing.current")})]}),e.jsxs("div",{className:"mb-4",children:[e.jsxs("div",{className:"flex items-baseline gap-1 whitespace-nowrap",children:[e.jsx("span",{className:"text-2xl font-bold text-slate-900",children:o&&null!==n||o?S(n,p)||f("pricing.free"):"—"}),null!==n&&n>0&&o&&e.jsx("span",{className:"text-sm text-slate-500",children:P(F)})]}),null!==b&&b>0&&o&&e.jsx("span",{className:"text-xs text-emerald-600 font-medium",children:f("subscription.savingsPercent",{percent:b})}),h?.enabled&&g&&g>0&&!I&&e.jsx("div",{className:"text-xs text-slate-500 mt-1",children:f("subscription.seatPriceDisplay",{price:_(g,p),interval:P(F),included:w(h.includedSeats),includedLabel:f("pricing.included")})})]}),Y.length>0&&e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"text-xs font-semibold text-slate-500 uppercase tracking-wider mb-1.5",children:f("subscription.items.features")}),e.jsx("div",{className:"space-y-1",children:Y.map(r=>{const a=Z(t,r,F),i=r.type===s.SubscriptionItemType.Feature&&!0===a;return e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[r.type===s.SubscriptionItemType.Feature?i?e.jsx("span",{className:"text-emerald-500 text-xs",children:"✓"}):e.jsx("span",{className:"text-slate-300 text-xs",children:"✕"}):null,e.jsx("span",{className:i?"text-slate-700":"text-slate-400",children:r.name})]},r._id)})})]}),A.length>0&&e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"text-xs font-semibold text-slate-500 uppercase tracking-wider mb-1.5",children:f("subscription.items.limits")}),e.jsx("div",{className:"space-y-1",children:A.map(s=>{const r=Z(t,s,F);return e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-slate-600",children:s.name}),e.jsx("span",{className:"font-medium text-slate-700",children:"number"==typeof r?w(r):"—"})]},s._id)})})]}),h?.enabled&&!I&&e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"text-xs font-semibold text-emerald-600 uppercase tracking-wider mb-1.5",children:f("subscription.seats.title")}),e.jsxs("div",{className:"space-y-1 text-sm",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:f("subscription.seats.included")}),e.jsx("span",{className:"font-medium",children:w(h.includedSeats||0)})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:f("subscription.seats.maxSeats")}),e.jsx("span",{className:"font-medium",children:(h?.maxSeats??0)>0?w(h.maxSeats):f("subscription.seats.unlimited")})]}),null!=m&&m>0&&(()=>{const t=Math.max(0,m-(h.includedSeats||0));return e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:f("subscription.seats.billable")}),e.jsx("span",{className:"font-medium "+(0===t?"text-emerald-600":"text-amber-600"),children:0===t?f("subscription.seats.allIncluded"):`${w(t)} ${f("subscription.seats.extra")}`})]})})()]})]}),t.creditGrant?.enabled&&"object"==typeof t.creditGrant.creditPackage&&null!==t.creditGrant.creditPackage&&e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"text-xs font-semibold text-purple-600 uppercase tracking-wider mb-1.5",children:f("subscription.items.credits")}),e.jsxs("div",{className:"space-y-1 text-sm",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:t.creditGrant.renewOnPeriod?f("subscription.items.creditsPerMonth"):f("subscription.items.creditsOneTime")}),e.jsx("span",{className:"font-semibold text-purple-700",children:w(t.creditGrant.creditPackage.creditAmount)})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:f("subscription.items.creditRenewal")}),e.jsx("span",{className:"font-medium text-slate-700",children:t.creditGrant.renewOnPeriod?"reset"===t.creditGrant.mode?f("subscription.items.creditModeReset"):f("subscription.items.creditModeTopup"):f("subscription.items.creditModeLifetime")})]})]})]}),e.jsx(s.Button,{className:"w-full mt-2",variant:i.variant,disabled:i.disabled||U||!o,progress:l,onClick:()=>R(t._id),children:l?f("pricing.processing"):o?i.dynamicLabel??f(i.labelKey):f("pricing.unavailable")})]},t._id)})})}),e.jsx("div",{className:"hidden md:block overflow-auto h-full",style:{maxHeight:"calc(100vh - 12rem)"},children:e.jsxs("table",{className:"w-full border-separate border-spacing-0",style:{minWidth:260+220*Q.length+"px",borderCollapse:"separate"},children:[e.jsxs("colgroup",{children:[e.jsx("col",{style:{width:260,minWidth:260}}),Q.map(t=>e.jsx("col",{style:{width:220,minWidth:220}},t._id))]}),e.jsx("thead",{children:e.jsxs("tr",{className:"align-top",children:[e.jsx("th",{className:"sticky top-0 start-0 z-30 p-0 bg-white text-start"}),Q.map(t=>{const r=t._id===c,i=X(t),l=U&&t._id===C,n=E(t),o=s.getBasePriceCents(t,O,s.BillingIntervals.Monthly)??0,m=F!==s.BillingIntervals.Monthly&&null!==n?a(o,n,F):null,p=H(t),u=t.pricingVariants?.length&&t.pricingVariants.some(e=>e.currency?.toLowerCase()===O.toLowerCase())?O:t.plan?.currency??O??"";return e.jsx("th",{className:"sticky top-0 z-20 border-b border-slate-200 p-3 shadow-[0_2px_4px_-2px_rgba(0,0,0,0.06)] "+(t._id===c?"bg-blue-50/80":"bg-white"),children:e.jsxs("div",{className:"flex h-full flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("h3",{className:"text-base font-bold text-slate-900 truncate",children:t.plan.name}),t.trial?.enabled&&t.trial.durationDays>0&&!r&&!x&&!d&&e.jsx("span",{className:"shrink-0 rounded-md bg-emerald-100 text-emerald-700 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider",children:f("subscription.trialBadge",{days:t.trial.durationDays})})]}),r&&e.jsx("span",{className:"shrink-0 rounded-md bg-blue-600 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-white",children:f("pricing.current")})]}),e.jsxs("div",{className:"flex flex-col items-start min-h-[3rem]",children:[e.jsxs("div",{className:"flex items-baseline gap-1 flex-wrap",children:[e.jsx("span",{className:"text-2xl font-bold text-slate-900",children:p&&null!==n||p?S(n,u)||f("pricing.free"):"—"}),null!==n&&n>0&&p&&e.jsx("span",{className:"text-sm text-slate-500",children:P(F)}),null!==m&&m>0&&p&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-emerald-100 text-emerald-700 rounded-full font-semibold whitespace-nowrap",children:f("subscription.savingsPercent",{percent:m})})]}),(()=>{if(I)return null;const r=s.getSeatPricing(t,O);if(!r)return null;const a=s.getPerSeatPriceCents(t,O,F);return!a||a<=0?null:e.jsx("div",{className:"text-[11px] text-slate-500 mt-1.5 border-t border-slate-100 pt-1 leading-tight",children:e.jsx("div",{children:f("subscription.seatPriceDisplay",{price:_(a,u),interval:P(F),included:w(r.includedSeats),includedLabel:f("pricing.included")})})})})()]}),t.plan.description&&e.jsx("p",{className:"text-xs text-slate-500 line-clamp-2 leading-relaxed text-start",children:t.plan.description}),e.jsx(s.Button,{className:"mt-auto w-full",variant:i.variant,disabled:i.disabled||U||!p,progress:l,onClick:()=>R(t._id),children:l?f("pricing.processing"):p?i.dynamicLabel??f(i.labelKey):f("pricing.unavailable")})]})},t._id)})]})}),e.jsxs("tbody",{children:[Y.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-slate-200 bg-slate-100 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-slate-600 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:f("subscription.items.features")}),e.jsx("td",{colSpan:Q.length,className:"border-t border-slate-200 bg-slate-100"})]}),Y.map(t=>e.jsxs("tr",{className:"group hover:bg-slate-50/50",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e.jsx("div",{className:"font-medium text-sm text-slate-900",children:t.name}),t.description&&e.jsx("div",{className:"text-xs text-slate-500 mt-0.5",children:t.description})]}),Q.map(r=>{const a=Z(r,t,F),i=r.pricingVariants?.length?O:r.plan?.currency??O??"",l=ee(a,t,i),n=t.type===s.SubscriptionItemType.Feature&&!0===a;return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(r._id===c?"bg-blue-50/50":"bg-white"),children:e.jsx("span",{className:"text-sm font-medium "+(n?"text-emerald-600":"—"===l?"text-slate-400":"text-slate-700"),children:l})},r._id)})]},t._id))]}),A.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-slate-200 bg-slate-100 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-slate-600 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:f("subscription.items.limits")}),e.jsx("td",{colSpan:Q.length,className:"border-t border-slate-200 bg-slate-100"})]}),A.map(t=>e.jsxs("tr",{className:"group hover:bg-slate-50/50",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e.jsx("div",{className:"font-medium text-sm text-slate-900",children:t.name}),t.description&&e.jsx("div",{className:"text-xs text-slate-500 mt-0.5",children:t.description})]}),Q.map(s=>{const r=Z(s,t,F),a=s.pricingVariants?.length?O:s.plan?.currency??O??"",i=ee(r,t,a);return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(s._id===c?"bg-blue-50/50":"bg-white"),children:e.jsx("span",{className:"text-sm font-medium "+("—"===i?"text-slate-400":"text-slate-700"),children:i})},s._id)})]},t._id))]}),$.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-slate-200 bg-slate-100 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-slate-600 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:f("subscription.items.quotas")}),e.jsx("td",{colSpan:Q.length,className:"border-t border-slate-200 bg-slate-100"})]}),$.map(t=>e.jsxs("tr",{className:"group hover:bg-slate-50/50",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e.jsx("div",{className:"font-medium text-sm text-slate-900",children:t.name}),t.description&&e.jsx("div",{className:"text-xs text-slate-500 mt-0.5",children:t.description})]}),Q.map(s=>{const r=Z(s,t,F),a=s.pricingVariants?.length?O:s.plan?.currency??O??"",i=ee(r,t,a);return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(s._id===c?"bg-blue-50/50":"bg-white"),children:e.jsx("span",{className:"text-sm font-medium "+("—"===i?"text-slate-400":"text-slate-700"),children:i})},s._id)})]},t._id))]}),!I&&Q.some(e=>{const t=s.getSeatPricing(e,O);return t?.enabled})&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-emerald-200 bg-emerald-50 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-emerald-700 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:f("subscription.seats.title")}),e.jsx("td",{colSpan:Q.length,className:"border-t border-emerald-200 bg-emerald-50"})]}),e.jsxs("tr",{className:"group hover:bg-slate-50/50",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e.jsx("div",{className:"font-medium text-sm text-slate-900",children:f("subscription.seats.includedSeats")}),e.jsx("div",{className:"text-xs text-slate-500 mt-0.5",children:f("subscription.seats.freeWithBase")})]}),Q.map(t=>{const r=s.getSeatPricing(t,O);return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===c?"bg-blue-50/50":"bg-white"),children:e.jsx("span",{className:"text-sm font-medium text-slate-700",children:r?.enabled?w(r.includedSeats||0):"—"})},t._id)})]}),e.jsxs("tr",{className:"group hover:bg-slate-50/50",children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:e.jsx("div",{className:"font-medium text-sm text-slate-900",children:f("subscription.seats.maxSeats")})}),Q.map(t=>{const r=s.getSeatPricing(t,O);return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===c?"bg-blue-50/50":"bg-white"),children:e.jsx("span",{className:"text-sm font-medium text-slate-700",children:r?.enabled?(r?.maxSeats??0)>0?w(r.maxSeats):f("subscription.seats.unlimited"):"—"})},t._id)})]}),e.jsxs("tr",{className:"group hover:bg-slate-50/50",children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:e.jsx("div",{className:"font-medium text-sm text-slate-900",children:f("subscription.seats.perExtraSeat")})}),Q.map(t=>{const r=s.getPerSeatPriceCents(t,O,F),a=t.pricingVariants?.length?O:t.plan?.currency??O??"";return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===c?"bg-blue-50/50":"bg-white"),children:e.jsx("span",{className:"text-sm font-medium text-slate-700",children:r&&r>0?`${_(r,a)}${P(F)}`:"—"})},t._id)})]}),null!=m&&m>0&&e.jsxs("tr",{className:"group hover:bg-slate-50/50",children:[e.jsxs("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e.jsx("div",{className:"font-medium text-sm text-slate-900",children:f("subscription.seats.billable")}),e.jsx("div",{className:"text-xs text-slate-500 mt-0.5",children:f("subscription.membersInWorkspace",{count:m})})]}),Q.map(t=>{const r=s.getSeatPricing(t,O);if(!r?.enabled)return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===c?"bg-blue-50/50":"bg-white"),children:e.jsx("span",{className:"text-sm text-slate-400",children:"—"})},t._id);const a=r.includedSeats||0,i=Math.max(0,m-a);return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===c?"bg-blue-50/50":"bg-white"),children:0===i?e.jsx("span",{className:"text-sm font-medium text-emerald-600",children:f("subscription.seats.allIncluded")}):e.jsxs("span",{className:"text-sm font-medium text-amber-600",children:[w(i)," ",f("subscription.seats.extra")]})},t._id)})]})]}),Q.some(e=>e.creditGrant?.enabled&&"object"==typeof e.creditGrant.creditPackage&&null!==e.creditGrant.creditPackage)&&e.jsxs(e.Fragment,{children:[e.jsxs("tr",{children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-purple-200 bg-purple-50 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-purple-700 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:f("subscription.items.credits")}),e.jsx("td",{colSpan:Q.length,className:"border-t border-purple-200 bg-purple-50"})]}),e.jsxs("tr",{className:"group hover:bg-slate-50/50",children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:e.jsx("div",{className:"font-medium text-sm text-slate-900",children:Q.every(e=>!e.creditGrant?.enabled||!e.creditGrant.renewOnPeriod)?f("subscription.items.creditsOneTime"):f("subscription.items.creditsPerMonth")})}),Q.map(t=>{const s=t.creditGrant,r=s?.enabled&&"object"==typeof s.creditPackage&&null!==s.creditPackage?s.creditPackage:null;return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===c?"bg-blue-50/50":"bg-white"),children:r?e.jsx("span",{className:"text-sm font-semibold text-purple-700",children:w(r.creditAmount)}):e.jsx("span",{className:"text-sm text-slate-400",children:"—"})},t._id)})]}),e.jsxs("tr",{className:"group hover:bg-slate-50/50",children:[e.jsx("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:e.jsx("div",{className:"font-medium text-sm text-slate-900",children:f("subscription.items.creditRenewal")})}),Q.map(t=>{const s=t.creditGrant;return e.jsx("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===c?"bg-blue-50/50":"bg-white"),children:s?.enabled?e.jsx("span",{className:"text-sm font-medium text-slate-700",children:s.renewOnPeriod?"reset"===s.mode?f("subscription.items.creditModeReset"):f("subscription.items.creditModeTopup"):f("subscription.items.creditModeLifetime")}):e.jsx("span",{className:"text-sm text-slate-400",children:"—"})},t._id)})]})]})]})]})})]})})]})})};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import r,{useState as s,useMemo as i,useEffect as l}from"react";import{u as n,a as c,W as d,g as o,b as m,B as p,S as u,D as b,c as x,d as h,e as g,f as y,h as f,i as N,j as v,k as w,l as _,m as k,n as P}from"./react-DzQupoqH.mjs";import"clsx";import"tailwind-merge";import"intl-messageformat";import"lucide-react";import"@radix-ui/react-slot";import"class-variance-authority";import"@radix-ui/react-dialog";import"@radix-ui/react-icons";import"@radix-ui/react-alert-dialog";import"@radix-ui/react-switch";import"react-hook-form";import"zod/v4/core";import"zod";import"@radix-ui/react-label";import"@radix-ui/react-radio-group";import"@radix-ui/react-scroll-area";import"cmdk";import"@radix-ui/react-popover";import"@radix-ui/react-select";import"@radix-ui/react-avatar";import"@radix-ui/react-separator";const C={[p.Monthly]:"subscription.billingInterval.perMonth",[p.Quarterly]:"subscription.billingInterval.perQuarter",[p.Yearly]:"subscription.billingInterval.perYear"},M=(e,t,a)=>{if(!e||0===e)return null;let r;switch(a){case p.Yearly:r=t/12;break;case p.Quarterly:r=t/3;break;default:return null}const s=(e-r)/e*100;return s>0?Math.round(s):null},L=({open:L,onOpenChange:I,planVersions:S,currentPlanVersionId:z,currentStripePriceId:j,billingCurrency:D,currentMemberCount:G,trialUsedAt:K,workspaceName:O,initialInterval:V,initialCurrency:Q,onSelectPlan:T,loading:W=!1})=>{const[q,F]=s(!1),{t:Y,formattingLocale:$,dir:R,fmtNum:A,fmtCents:B}=n(),{settings:H}=c(),U=H?.workspace?.mode===d.Personal,E=(e,t)=>null==e||0===e?"":B(e,t),J=e=>Y(C[e]??C[p.Monthly]),[X,Z]=s(null),ee=r.useRef(!1),te=i(()=>o(j,S),[j,S]),ae=te?.interval??null,re=te?.currency??null,se=i(()=>m(S),[S]),ie=i(()=>{const e=D?.trim().toLowerCase();return e?se.includes(e)?[e]:[]:se},[D,se]),[le,ne]=s(V||ae||p.Monthly),[ce,de]=s(()=>Q&&ie.includes(Q)?Q:re&&ie.includes(re)?re:ie.length>0?ie[0]:""),oe=D?.trim()||ce;l(()=>{if(L){ne(V||ae||p.Monthly);const e=Q||re;e&&ie.includes(e)?de(e):ie.length>0&&!ie.includes(ce)&&de(ie[0])}},[L,V,Q,ae,re,ie]);const me=i(()=>[...S],[S]),pe=(e=>{const t=new Map;return e.forEach(e=>{e.subscriptionItems?.forEach(e=>{t.has(e._id)||t.set(e._id,e)})}),Array.from(t.values())})(me),ue=pe.filter(e=>e.type===u.Feature),be=pe.filter(e=>e.type===u.Limit),xe=pe.filter(e=>e.type===u.Quota),he=async e=>{if(!(e===z&&ae===le||W||q||ee.current)){ee.current=!0,F(!0),Z(e);try{await T(e,le,oe),I(!1)}catch(e){}finally{ee.current=!1,F(!1),Z(null)}}},ge=e=>f(e,oe,le),ye=e=>!!e.pricingVariants?.some(e=>e.currency?.toLowerCase()===oe.toLowerCase()),fe=W||q,Ne=e=>{switch(e){case p.Monthly:return Y("subscription.billingInterval.monthly");case p.Quarterly:return Y("subscription.billingInterval.quarterly");case p.Yearly:return Y("subscription.billingInterval.yearly");default:return Y("subscription.billingInterval.monthly")}},ve=e=>{const t=e._id===z,a=ae===le;if(t&&a)return{labelKey:"subscription.currentPlan",variant:"outline",disabled:!0};if(t&&!a)return e.plan?.isFreemium?{labelKey:"subscription.currentPlan",variant:"outline",disabled:!0}:{labelKey:"_dynamic",dynamicLabel:Y("subscription.switchToInterval",{interval:Ne(le)}),variant:"default",disabled:!1};const r=e.trial?.enabled&&e.trial.durationDays>0&&!K&&!j;if(!z)return r?{labelKey:"_dynamic",dynamicLabel:Y("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.subscribe",variant:"default",disabled:!1};const s=me.findIndex(e=>e._id===z),i=me.findIndex(t=>t._id===e._id);return-1===s||-1===i?r?{labelKey:"_dynamic",dynamicLabel:Y("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.checkout.select",variant:"default",disabled:!1}:i<s?{labelKey:"subscription.checkout.downgrade",variant:"outline",disabled:!1}:i>s?r?{labelKey:"_dynamic",dynamicLabel:Y("subscription.startTrialDays",{days:e.trial.durationDays}),variant:"default",disabled:!1}:{labelKey:"subscription.checkout.upgrade",variant:"default",disabled:!1}:{labelKey:"subscription.checkout.select",variant:"default",disabled:!1}},we=(e,t,a=p.Monthly)=>{if(t.type===u.Feature)return e.features?.[t.slug]??!1;if(t.type===u.Limit)return e.limits?.[t.slug]??null;if(t.type===u.Quota){const r=_(e,oe,t.slug,a);return r||k(e.quotas?.[t.slug],a)}return null},_e=(e,t,a)=>{if(t.type===u.Feature)return!0===e?"✓":"—";if(t.type===u.Limit)return null!=e&&"number"==typeof e?A(e):"—";if(t.type===u.Quota){const r=P("object"==typeof e&&null!==e&&"included"in e?e:null,t.name.toLowerCase(),{currency:a,locale:$});return r?r.allowOverage?r.hasOverage?Y("quota.includedWithOverage",{count:r.included,price:r.price,unit:r.unit}):Y("quota.includedOnly",{count:r.included}):Y("quota.includedHardLimit",{count:r.included}):"—"}return"—"};return e(b,{open:L,onOpenChange:I,children:t(x,{dir:R,className:"inset-0 w-screen h-screen max-w-none rounded-none translate-x-0 translate-y-0 p-0 flex flex-col",children:[t("div",{className:"flex-shrink-0 px-4 py-4 sm:px-6 sm:py-6 border-b space-y-3 sm:space-y-4",children:[t("div",{children:[e(h,{className:"text-xl sm:text-2xl font-bold",children:Y("pricing.title")}),t(g,{className:"mt-1 text-sm",children:[Y("subscription.choosePlanDescription"),O&&e("span",{className:"ml-1 font-medium text-foreground",children:Y("subscription.forWorkspace",{name:O})})]})]}),t("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sm:gap-4",children:[t("div",{className:"flex items-center gap-2",children:[!D?.trim()&&ie.length>1&&t(a,{children:[e("span",{className:"text-sm text-slate-600",children:Y("pricing.currency")}),e("select",{"aria-label":Y("pricing.selectCurrency"),value:ce,onChange:e=>de(e.target.value),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm font-medium text-slate-900 shadow-sm focus:outline-none focus:ring-2 focus:ring-primary",children:ie.map(t=>{const a=y(t);return e("option",{value:t,children:a?`${a} ${t.toUpperCase()}`:t.toUpperCase()},t)})})]}),D?.trim()&&e("span",{className:"text-xs text-slate-500",children:Y("subscription.billingInCurrency",{currency:D.toUpperCase()})})]}),e("div",{className:"flex items-center gap-0.5 sm:gap-1 p-1 bg-slate-100 rounded-lg w-full sm:w-auto",role:"group","aria-label":Y("pricing.billingInterval"),children:[p.Monthly,p.Quarterly,p.Yearly].map(a=>{const r=ae===a;return e("button",{onClick:()=>ne(a),"aria-pressed":le===a,className:"flex-1 sm:flex-initial px-3 sm:px-4 py-2 text-sm font-medium rounded-md transition-all relative "+(le===a?"bg-white text-slate-900 shadow-sm":"text-slate-600 hover:text-slate-900"),children:t("span",{className:"flex items-center justify-center gap-1 sm:gap-1.5",children:[a===p.Monthly&&Y("subscription.billingInterval.monthly"),a===p.Quarterly&&Y("subscription.billingInterval.quarterly"),a===p.Yearly&&Y("subscription.billingInterval.yearly"),a===p.Yearly&&e("span",{className:"text-[10px] sm:text-xs px-1 sm:px-1.5 py-0.5 bg-emerald-100 text-emerald-700 rounded-full font-semibold",children:Y("pricing.save")}),r&&z&&e("span",{className:"hidden sm:inline text-xs px-1.5 py-0.5 bg-blue-100 text-blue-700 rounded-full font-semibold",children:Y("pricing.current")})]})},a)})})]})]}),e("div",{className:"flex-1 min-h-0 flex flex-col",children:D?.trim()&&0===ie.length?t("div",{className:"text-center py-12 px-4",children:[e("p",{className:"text-slate-600 font-medium",children:Y("pricing.noPlansCurrency")}),e("p",{className:"text-slate-500 text-sm mt-2",children:Y("pricing.noPlansCurrencyHint")})]}):0===me.length?e("div",{className:"text-center py-12 text-gray-500",children:e("p",{children:Y("pricing.noPlans")})}):t("div",{className:"flex-1 min-h-0 overflow-hidden bg-white",children:[e("div",{className:"md:hidden overflow-auto h-full",style:{maxHeight:"calc(100vh - 13rem)"},children:e("div",{className:"p-4 space-y-4",children:me.map(a=>{const r=a._id===z,s=ve(a),i=fe&&a._id===X,l=ge(a),n=ye(a),c=a.pricingVariants?.length&&a.pricingVariants.some(e=>e.currency?.toLowerCase()===oe.toLowerCase())?oe:a.plan?.currency??oe??"",d=f(a,oe,p.Monthly)??0,o=le!==p.Monthly&&null!==l?M(d,l,le):null,m=N(a,oe),b=m?v(a,oe,le):null;return t("div",{className:"rounded-xl border-2 p-4 "+(r?"border-blue-500 bg-blue-50/30":"border-slate-200 bg-white"),children:[t("div",{className:"flex items-start justify-between mb-3",children:[t("div",{children:[t("div",{className:"flex items-center gap-2",children:[e("h3",{className:"text-lg font-bold text-slate-900",children:a.plan.name}),a.trial?.enabled&&a.trial.durationDays>0&&!r&&!K&&!j&&e("span",{className:"shrink-0 rounded-md bg-emerald-100 text-emerald-700 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider",children:Y("subscription.trialBadge",{days:a.trial.durationDays})})]}),a.plan.description&&e("p",{className:"text-xs text-slate-500 mt-0.5 line-clamp-2",children:a.plan.description})]}),r&&e("span",{className:"shrink-0 rounded-md bg-blue-600 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-white",children:Y("pricing.current")})]}),t("div",{className:"mb-4",children:[t("div",{className:"flex items-baseline gap-1 whitespace-nowrap",children:[e("span",{className:"text-2xl font-bold text-slate-900",children:n&&null!==l||n?E(l,c)||Y("pricing.free"):"—"}),null!==l&&l>0&&n&&e("span",{className:"text-sm text-slate-500",children:J(le)})]}),null!==o&&o>0&&n&&e("span",{className:"text-xs text-emerald-600 font-medium",children:Y("subscription.savingsPercent",{percent:o})}),m?.enabled&&b&&b>0&&!U&&e("div",{className:"text-xs text-slate-500 mt-1",children:Y("subscription.seatPriceDisplay",{price:B(b,c),interval:J(le),included:A(m.includedSeats),includedLabel:Y("pricing.included")})})]}),ue.length>0&&t("div",{className:"mb-3",children:[e("div",{className:"text-xs font-semibold text-slate-500 uppercase tracking-wider mb-1.5",children:Y("subscription.items.features")}),e("div",{className:"space-y-1",children:ue.map(r=>{const s=we(a,r,le),i=r.type===u.Feature&&!0===s;return t("div",{className:"flex items-center gap-2 text-sm",children:[r.type===u.Feature?e("span",i?{className:"text-emerald-500 text-xs",children:"✓"}:{className:"text-slate-300 text-xs",children:"✕"}):null,e("span",{className:i?"text-slate-700":"text-slate-400",children:r.name})]},r._id)})})]}),be.length>0&&t("div",{className:"mb-3",children:[e("div",{className:"text-xs font-semibold text-slate-500 uppercase tracking-wider mb-1.5",children:Y("subscription.items.limits")}),e("div",{className:"space-y-1",children:be.map(r=>{const s=we(a,r,le);return t("div",{className:"flex items-center justify-between text-sm",children:[e("span",{className:"text-slate-600",children:r.name}),e("span",{className:"font-medium text-slate-700",children:"number"==typeof s?A(s):"—"})]},r._id)})})]}),m?.enabled&&!U&&t("div",{className:"mb-3",children:[e("div",{className:"text-xs font-semibold text-emerald-600 uppercase tracking-wider mb-1.5",children:Y("subscription.seats.title")}),t("div",{className:"space-y-1 text-sm",children:[t("div",{className:"flex justify-between",children:[e("span",{className:"text-slate-600",children:Y("subscription.seats.included")}),e("span",{className:"font-medium",children:A(m.includedSeats||0)})]}),t("div",{className:"flex justify-between",children:[e("span",{className:"text-slate-600",children:Y("subscription.seats.maxSeats")}),e("span",{className:"font-medium",children:(m?.maxSeats??0)>0?A(m.maxSeats):Y("subscription.seats.unlimited")})]}),null!=G&&G>0&&(()=>{const a=Math.max(0,G-(m.includedSeats||0));return t("div",{className:"flex justify-between",children:[e("span",{className:"text-slate-600",children:Y("subscription.seats.billable")}),e("span",{className:"font-medium "+(0===a?"text-emerald-600":"text-amber-600"),children:0===a?Y("subscription.seats.allIncluded"):`${A(a)} ${Y("subscription.seats.extra")}`})]})})()]})]}),a.creditGrant?.enabled&&"object"==typeof a.creditGrant.creditPackage&&null!==a.creditGrant.creditPackage&&t("div",{className:"mb-3",children:[e("div",{className:"text-xs font-semibold text-purple-600 uppercase tracking-wider mb-1.5",children:Y("subscription.items.credits")}),t("div",{className:"space-y-1 text-sm",children:[t("div",{className:"flex justify-between",children:[e("span",{className:"text-slate-600",children:a.creditGrant.renewOnPeriod?Y("subscription.items.creditsPerMonth"):Y("subscription.items.creditsOneTime")}),e("span",{className:"font-semibold text-purple-700",children:A(a.creditGrant.creditPackage.creditAmount)})]}),t("div",{className:"flex justify-between",children:[e("span",{className:"text-slate-600",children:Y("subscription.items.creditRenewal")}),e("span",{className:"font-medium text-slate-700",children:a.creditGrant.renewOnPeriod?"reset"===a.creditGrant.mode?Y("subscription.items.creditModeReset"):Y("subscription.items.creditModeTopup"):Y("subscription.items.creditModeLifetime")})]})]})]}),e(w,{className:"w-full mt-2",variant:s.variant,disabled:s.disabled||fe||!n,progress:i,onClick:()=>he(a._id),children:i?Y("pricing.processing"):n?s.dynamicLabel??Y(s.labelKey):Y("pricing.unavailable")})]},a._id)})})}),e("div",{className:"hidden md:block overflow-auto h-full",style:{maxHeight:"calc(100vh - 12rem)"},children:t("table",{className:"w-full border-separate border-spacing-0",style:{minWidth:260+220*me.length+"px",borderCollapse:"separate"},children:[t("colgroup",{children:[e("col",{style:{width:260,minWidth:260}}),me.map(t=>e("col",{style:{width:220,minWidth:220}},t._id))]}),e("thead",{children:t("tr",{className:"align-top",children:[e("th",{className:"sticky top-0 start-0 z-30 p-0 bg-white text-start"}),me.map(a=>{const r=a._id===z,s=ve(a),i=fe&&a._id===X,l=ge(a),n=f(a,oe,p.Monthly)??0,c=le!==p.Monthly&&null!==l?M(n,l,le):null,d=ye(a),o=a.pricingVariants?.length&&a.pricingVariants.some(e=>e.currency?.toLowerCase()===oe.toLowerCase())?oe:a.plan?.currency??oe??"";return e("th",{className:"sticky top-0 z-20 border-b border-slate-200 p-3 shadow-[0_2px_4px_-2px_rgba(0,0,0,0.06)] "+(a._id===z?"bg-blue-50/80":"bg-white"),children:t("div",{className:"flex h-full flex-col gap-2",children:[t("div",{className:"flex items-center justify-between gap-2",children:[t("div",{className:"flex items-center gap-2 min-w-0",children:[e("h3",{className:"text-base font-bold text-slate-900 truncate",children:a.plan.name}),a.trial?.enabled&&a.trial.durationDays>0&&!r&&!K&&!j&&e("span",{className:"shrink-0 rounded-md bg-emerald-100 text-emerald-700 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider",children:Y("subscription.trialBadge",{days:a.trial.durationDays})})]}),r&&e("span",{className:"shrink-0 rounded-md bg-blue-600 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-white",children:Y("pricing.current")})]}),t("div",{className:"flex flex-col items-start min-h-[3rem]",children:[t("div",{className:"flex items-baseline gap-1 flex-wrap",children:[e("span",{className:"text-2xl font-bold text-slate-900",children:d&&null!==l||d?E(l,o)||Y("pricing.free"):"—"}),null!==l&&l>0&&d&&e("span",{className:"text-sm text-slate-500",children:J(le)}),null!==c&&c>0&&d&&e("span",{className:"text-[10px] px-1.5 py-0.5 bg-emerald-100 text-emerald-700 rounded-full font-semibold whitespace-nowrap",children:Y("subscription.savingsPercent",{percent:c})})]}),(()=>{if(U)return null;const t=N(a,oe);if(!t)return null;const r=v(a,oe,le);return!r||r<=0?null:e("div",{className:"text-[11px] text-slate-500 mt-1.5 border-t border-slate-100 pt-1 leading-tight",children:e("div",{children:Y("subscription.seatPriceDisplay",{price:B(r,o),interval:J(le),included:A(t.includedSeats),includedLabel:Y("pricing.included")})})})})()]}),a.plan.description&&e("p",{className:"text-xs text-slate-500 line-clamp-2 leading-relaxed text-start",children:a.plan.description}),e(w,{className:"mt-auto w-full",variant:s.variant,disabled:s.disabled||fe||!d,progress:i,onClick:()=>he(a._id),children:i?Y("pricing.processing"):d?s.dynamicLabel??Y(s.labelKey):Y("pricing.unavailable")})]})},a._id)})]})}),t("tbody",{children:[ue.length>0&&t(a,{children:[t("tr",{children:[e("td",{className:"sticky start-0 z-10 border-t border-slate-200 bg-slate-100 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-slate-600 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:Y("subscription.items.features")}),e("td",{colSpan:me.length,className:"border-t border-slate-200 bg-slate-100"})]}),ue.map(a=>t("tr",{className:"group hover:bg-slate-50/50",children:[t("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e("div",{className:"font-medium text-sm text-slate-900",children:a.name}),a.description&&e("div",{className:"text-xs text-slate-500 mt-0.5",children:a.description})]}),me.map(t=>{const r=we(t,a,le),s=t.pricingVariants?.length?oe:t.plan?.currency??oe??"",i=_e(r,a,s),l=a.type===u.Feature&&!0===r;return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===z?"bg-blue-50/50":"bg-white"),children:e("span",{className:"text-sm font-medium "+(l?"text-emerald-600":"—"===i?"text-slate-400":"text-slate-700"),children:i})},t._id)})]},a._id))]}),be.length>0&&t(a,{children:[t("tr",{children:[e("td",{className:"sticky start-0 z-10 border-t border-slate-200 bg-slate-100 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-slate-600 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:Y("subscription.items.limits")}),e("td",{colSpan:me.length,className:"border-t border-slate-200 bg-slate-100"})]}),be.map(a=>t("tr",{className:"group hover:bg-slate-50/50",children:[t("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e("div",{className:"font-medium text-sm text-slate-900",children:a.name}),a.description&&e("div",{className:"text-xs text-slate-500 mt-0.5",children:a.description})]}),me.map(t=>{const r=we(t,a,le),s=t.pricingVariants?.length?oe:t.plan?.currency??oe??"",i=_e(r,a,s);return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===z?"bg-blue-50/50":"bg-white"),children:e("span",{className:"text-sm font-medium "+("—"===i?"text-slate-400":"text-slate-700"),children:i})},t._id)})]},a._id))]}),xe.length>0&&t(a,{children:[t("tr",{children:[e("td",{className:"sticky start-0 z-10 border-t border-slate-200 bg-slate-100 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-slate-600 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:Y("subscription.items.quotas")}),e("td",{colSpan:me.length,className:"border-t border-slate-200 bg-slate-100"})]}),xe.map(a=>t("tr",{className:"group hover:bg-slate-50/50",children:[t("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e("div",{className:"font-medium text-sm text-slate-900",children:a.name}),a.description&&e("div",{className:"text-xs text-slate-500 mt-0.5",children:a.description})]}),me.map(t=>{const r=we(t,a,le),s=t.pricingVariants?.length?oe:t.plan?.currency??oe??"",i=_e(r,a,s);return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===z?"bg-blue-50/50":"bg-white"),children:e("span",{className:"text-sm font-medium "+("—"===i?"text-slate-400":"text-slate-700"),children:i})},t._id)})]},a._id))]}),!U&&me.some(e=>{const t=N(e,oe);return t?.enabled})&&t(a,{children:[t("tr",{children:[e("td",{className:"sticky start-0 z-10 border-t border-emerald-200 bg-emerald-50 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-emerald-700 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:Y("subscription.seats.title")}),e("td",{colSpan:me.length,className:"border-t border-emerald-200 bg-emerald-50"})]}),t("tr",{className:"group hover:bg-slate-50/50",children:[t("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e("div",{className:"font-medium text-sm text-slate-900",children:Y("subscription.seats.includedSeats")}),e("div",{className:"text-xs text-slate-500 mt-0.5",children:Y("subscription.seats.freeWithBase")})]}),me.map(t=>{const a=N(t,oe);return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===z?"bg-blue-50/50":"bg-white"),children:e("span",{className:"text-sm font-medium text-slate-700",children:a?.enabled?A(a.includedSeats||0):"—"})},t._id)})]}),t("tr",{className:"group hover:bg-slate-50/50",children:[e("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:e("div",{className:"font-medium text-sm text-slate-900",children:Y("subscription.seats.maxSeats")})}),me.map(t=>{const a=N(t,oe);return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===z?"bg-blue-50/50":"bg-white"),children:e("span",{className:"text-sm font-medium text-slate-700",children:a?.enabled?(a?.maxSeats??0)>0?A(a.maxSeats):Y("subscription.seats.unlimited"):"—"})},t._id)})]}),t("tr",{className:"group hover:bg-slate-50/50",children:[e("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:e("div",{className:"font-medium text-sm text-slate-900",children:Y("subscription.seats.perExtraSeat")})}),me.map(t=>{const a=v(t,oe,le),r=t.pricingVariants?.length?oe:t.plan?.currency??oe??"";return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===z?"bg-blue-50/50":"bg-white"),children:e("span",{className:"text-sm font-medium text-slate-700",children:a&&a>0?`${B(a,r)}${J(le)}`:"—"})},t._id)})]}),null!=G&&G>0&&t("tr",{className:"group hover:bg-slate-50/50",children:[t("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:[e("div",{className:"font-medium text-sm text-slate-900",children:Y("subscription.seats.billable")}),e("div",{className:"text-xs text-slate-500 mt-0.5",children:Y("subscription.membersInWorkspace",{count:G})})]}),me.map(a=>{const r=N(a,oe);if(!r?.enabled)return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(a._id===z?"bg-blue-50/50":"bg-white"),children:e("span",{className:"text-sm text-slate-400",children:"—"})},a._id);const s=r.includedSeats||0,i=Math.max(0,G-s);return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(a._id===z?"bg-blue-50/50":"bg-white"),children:0===i?e("span",{className:"text-sm font-medium text-emerald-600",children:Y("subscription.seats.allIncluded")}):t("span",{className:"text-sm font-medium text-amber-600",children:[A(i)," ",Y("subscription.seats.extra")]})},a._id)})]})]}),me.some(e=>e.creditGrant?.enabled&&"object"==typeof e.creditGrant.creditPackage&&null!==e.creditGrant.creditPackage)&&t(a,{children:[t("tr",{children:[e("td",{className:"sticky start-0 z-10 border-t border-purple-200 bg-purple-50 px-4 py-2.5 font-semibold text-xs uppercase tracking-wider text-purple-700 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)]",children:Y("subscription.items.credits")}),e("td",{colSpan:me.length,className:"border-t border-purple-200 bg-purple-50"})]}),t("tr",{className:"group hover:bg-slate-50/50",children:[e("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:e("div",{className:"font-medium text-sm text-slate-900",children:me.every(e=>!e.creditGrant?.enabled||!e.creditGrant.renewOnPeriod)?Y("subscription.items.creditsOneTime"):Y("subscription.items.creditsPerMonth")})}),me.map(t=>{const a=t.creditGrant,r=a?.enabled&&"object"==typeof a.creditPackage&&null!==a.creditPackage?a.creditPackage:null;return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===z?"bg-blue-50/50":"bg-white"),children:e("span",r?{className:"text-sm font-semibold text-purple-700",children:A(r.creditAmount)}:{className:"text-sm text-slate-400",children:"—"})},t._id)})]}),t("tr",{className:"group hover:bg-slate-50/50",children:[e("td",{className:"sticky start-0 z-10 border-t border-slate-100 bg-white p-4 shadow-[2px_0_4px_-2px_rgba(0,0,0,0.06)] group-hover:bg-slate-50/80",children:e("div",{className:"font-medium text-sm text-slate-900",children:Y("subscription.items.creditRenewal")})}),me.map(t=>{const a=t.creditGrant;return e("td",{className:"border-t border-slate-100 p-4 text-center align-middle "+(t._id===z?"bg-blue-50/50":"bg-white"),children:e("span",a?.enabled?{className:"text-sm font-medium text-slate-700",children:a.renewOnPeriod?"reset"===a.mode?Y("subscription.items.creditModeReset"):Y("subscription.items.creditModeTopup"):Y("subscription.items.creditModeLifetime")}:{className:"text-sm text-slate-400",children:"—"})},t._id)})]})]})]})]})})]})})]})})};export{L as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";exports.ar={settings:{titles:{profile:"الحساب",security:"الأمان",general:"إعدادات مساحة العمل",users:"أعضاء مساحة العمل",subscription:"الخطة والفوترة",usage:"الاستخدام",credits:"الرصيد",features:"ميزات مساحة العمل",notifications:"الإشعارات",permissions:"الصلاحيات",danger:"منطقة الخطر"},sidebar:{account:"الحساب",workspace:"مساحة العمل",profile:"الحساب",security:"الأمان",general:"الإعدادات",users:"الأعضاء",subscription:"الخطة والفوترة",usage:"الاستخدام",credits:"الرصيد",features:"الميزات",notifications:"الإشعارات",permissions:"الصلاحيات",danger:"منطقة الخطر"},common:{refresh:"تحديث",refreshing:"جارٍ التحديث...",retry:"إعادة المحاولة",retrying:"جارٍ إعادة المحاولة...",save:"حفظ",saving:"جارٍ الحفظ...",cancel:"إلغاء",delete:"حذف",dismiss:"تجاهل",loading:"جارٍ التحميل...",success:"تم بنجاح!",error:"خطأ",refreshAction:"{loading, select, true {جارٍ التحديث...} other {تحديث}}",retryAction:"{loading, select, true {جارٍ إعادة المحاولة...} other {إعادة المحاولة}}",noPermissionTitle:"الوصول مقيد",noPermissionDescription:"ليس لديك إذن للوصول إلى هذا القسم. تواصل مع مسؤول مساحة العمل إذا كنت بحاجة إلى الوصول.",billingManageOnly:"فقط المستخدمون الذين لديهم أذونات إدارة الفواتير يمكنهم تنفيذ هذا الإجراء."}},subscription:{managePlan:"إدارة خطتك وفوترتك",changePlan:"تغيير الخطة",viewPricingPlans:"عرض خطط الأسعار",viewPlans:"عرض الخطط",upgradePlan:"ترقية الآن",subscribe:"اشتراك",currentPlan:"الخطة الحالية",noSubscription:"ليس لديك اشتراك نشط",choosePlan:"اختر خطتك",choosePlanDescription:"قارن بين الخطط واختر ما يناسب احتياجاتك",forWorkspace:"لـ {name}",planUpdateAvailable:"تحديث الخطة متوفر",updateSuccess:"تم تحديث الاشتراك بنجاح!",updateFailed:"فشل التحديث",cancelTitle:"إلغاء الاشتراك",cancelConfirm:"هل أنت متأكد من رغبتك في إلغاء اشتراكك؟",cancelKeep:"الاحتفاظ بالاشتراك",cancelButton:"نعم، إلغاء الاشتراك",cancelTrialTitle:"إلغاء التجربة",cancelTrialConfirm:"هل أنت متأكد من رغبتك في إلغاء فترتك التجريبية؟",cancelTrialAccess:"ستستمر فترتك التجريبية حتى",cancelTrialNoCharge:"لن يتم تحصيل أي رسوم منك — ستنتهي فترتك التجريبية ببساطة",cancelTrialResume:"يمكنك استئناف فترتك التجريبية في أي وقت قبل انتهائها",cancelTrialKeep:"الاحتفاظ بالتجربة",cancelTrialButton:"نعم، إلغاء التجربة",canceling:"جارٍ الإلغاء...",cancelSuccess:"سيتم إلغاء الاشتراك في نهاية فترة الفوترة.",cancelNotCharged:"لن يتم تحصيل رسوم منك مرة أخرى بعد الإلغاء",cancelResumeAnytime:"يمكنك استئناف اشتراكك في أي وقت قبل انتهائه",resumeTitle:"استئناف الاشتراك",resumeTrial:"استئناف التجربة",resumeConfirm:"هل أنت متأكد من رغبتك في استئناف اشتراكك؟",resumeKeep:"إبقاء الإلغاء",resumeButton:"نعم، استئناف الاشتراك",resuming:"جارٍ الاستئناف...",resumeSuccess:"تم استئناف الاشتراك.",managePayment:"إدارة الدفع",openingPortal:"جارٍ الفتح...",viewAllPlans:"عرض جميع الخطط",scheduledCancellation:"تم جدولة إلغاء الاشتراك",scheduledTrialCancellation:"تم جدولة إلغاء التجربة",paymentPastDue:"الدفع متأخر",paymentPastDueDescription:"يرجى تحديث طريقة الدفع لتجنب انقطاع الخدمة.",subscriptionPaused:"الاشتراك موقوف",subscriptionPausedDescription:"اشتراكك موقوف حالياً. استأنف لاستعادة الوصول الكامل.",errorLoading:"خطأ في تحميل بيانات الاشتراك",errorLoadingDescription:"يرجى التحقق من اتصالك والمحاولة مرة أخرى.",errorProcessing:"فشل في معالجة الاشتراك",errorCanceling:"فشل في إلغاء الاشتراك",errorResuming:"فشل في استئناف الاشتراك",invalidWorkspace:"معرّف مساحة العمل غير صالح",billingInterval:{monthly:"شهري",quarterly:"ربع سنوي",yearly:"سنوي",perMonth:"/شهر",perQuarter:"/ربع سنة",perYear:"/سنة"},seats:{title:"المقاعد",members:"الأعضاء",included:"مشمول",billable:"قابل للفوترة",perExtraSeat:"لكل مقعد إضافي",limit:"الحد",includedSeats:"المقاعد المشمولة",maxSeats:"الحد الأقصى للمقاعد",freeWithBase:"مجاني مع السعر الأساسي",allIncluded:"الكل مشمول",extra:"إضافي",unlimited:"غير محدود"},items:{features:"الميزات",limits:"الحدود",quotas:"حصص الاستخدام",credits:"AI Credits",creditsPerMonth:"Credits per month",creditsOneTime:"Credits (given once)",creditRenewal:"Credit renewal",creditModeLifetime:"Given once",creditsPerPeriod:"Credits per month",creditRollover:"Credit renewal",creditModeReset:"Fresh every month",creditModeTopup:"Adds up every month"},checkout:{upgrade:"ترقية",downgrade:"تخفيض",switchTo:"التبديل إلى",select:"اختيار"},status:{active:"نشط",canceling:"جارٍ الإلغاء",trial:"تجريبي",canceled:"ملغى",pastDue:"متأخر",paused:"موقوف",deprecated:"قديم",unknown:"غير معروف"},plan:"الخطة",invoicesTab:"الفواتير",changePlanButton:"تغيير الخطة",noPlanAssigned:"لم يتم تعيين خطة",free:"مجاني",perSeatDisplay:"+ {price}/مقعد{interval}",estTotalDisplay:"الإجمالي التقديري: {total}{interval} ({count, plural, zero {بدون مقاعد إضافية} one {مقعد إضافي واحد} two {مقعدان إضافيان} few {# مقاعد إضافية} many {# مقعداً إضافياً} other {# مقعد إضافي}})",nextBillingDisplay:"الفوترة التالية: {date}",membersInWorkspace:"{count, plural, zero {لا أعضاء} one {عضو واحد} two {عضوان} few {# أعضاء} many {# عضواً} other {# عضو}} في مساحة العمل",billingInCurrency:"الفوترة بـ {currency}",savingsPercent:"وفّر {percent, number}%",switchToInterval:"التبديل إلى {interval}",seatPriceDisplay:"+ {price}/مقعد{interval} ({included} {includedLabel})",trialEnded:"انتهت فترتك التجريبية.",trialEndsIn:"تنتهي فترتك التجريبية خلال {days, plural, zero {اليوم} one {يوم واحد} two {يومين} few {# أيام} many {# يوماً} other {# يوم}}.",onTrial:"أنت في فترة تجريبية.",upgradeToKeepAccess:"قم بالترقية للحفاظ على الوصول.",viewInvoices:"عرض الفواتير",cancelTrial:"إلغاء التجربة",dunningFinal:"تحذير أخير: سيتم تعليق الاشتراك",dunningSuspended:"الاشتراك معلق",dunningRecovery:"جارٍ استرداد الدفع",dunningSuspendedDescription:"تم تعليق اشتراكك بسبب فشل الدفع المتكرر. حدّث طريقة الدفع لاستعادة الوصول.",dunningRecoveryDescription:"لم نتمكن من معالجة دفعتك. يرجى تحديث طريقة الدفع لتجنب فقدان الوصول.",cancelEndDescription:"سينتهي اشتراكك في",trialEndDescription:"ستنتهي فترتك التجريبية في",cancelEndFallback:"سيتم إلغاء اشتراكك في نهاية فترة الفوترة الحالية. لن يتم تحصيل رسوم منك مرة أخرى.",resumeChargeDate:"سيتم تحصيل الرسوم منك مرة أخرى في",resumeChargeFallback:"تاريخ الفوترة التالي",resumeContinue:"سيستمر اشتراكك تلقائياً وسيتم فوترتك وفقاً لخطتك",resumeCancelAnytime:"يمكنك الإلغاء في أي وقت قبل تاريخ الفوترة التالي إذا غيرت رأيك",retainAccess:"ستحتفظ بالوصول الكامل إلى هذه الخطة حتى",retainAccessFallback:"نهاية فترة الفوترة الحالية",noPlansAvailable:"لا توجد مجموعات خطط متاحة لمساحة العمل هذه. يرجى الاتصال بالدعم إذا كنت تعتقد أن هذا خطأ.",noPlansAvailableHint:"لا توجد مجموعات خطط متاحة لمساحة العمل هذه.",startTrialDescription:"جرب الخطة الكاملة بدون التزام. يمكنك الترقية أو الإلغاء في أي وقت.",noSubscriptionDescription:"اختر خطة للبدء مع مساحة العمل الخاصة بك",startFreeTrial:"ابدأ التجربة المجانية",startTrialDays:"ابدأ تجربة مجانية لمدة {days} يوم",trialBadge:"تجربة {days} يوم"},users:{title:"أعضاء مساحة العمل",adminOnly:"فقط مدير مساحة العمل يمكنه إدارة المستخدمين والأدوار.",inviteByEmail:"دعوة عضو عبر البريد الإلكتروني",inviteButton:"دعوة",inviting:"جارٍ الدعوة...",inviteSuccess:"تمت دعوة المستخدم بنجاح",emailRequired:"البريد الإلكتروني مطلوب",invalidEmail:"صيغة البريد الإلكتروني غير صالحة",inviteFailed:"فشل في دعوة العضو",seatLimitReached:"تم الوصول لحد المقاعد",memberLimitReached:"تم الوصول لحد الأعضاء",role:"الدور",you:"أنت",owner:"المالك",noMembers:"لم يتم العثور على أعضاء في مساحة العمل هذه.",extraSeatCost:"كل عضو إضافي يضيف {price}/{interval, select, yearly {سنة} quarterly {ربع سنة} other {شهر}} لاشتراكك",unknownUser:"مستخدم غير معروف",seats:"المقاعد",members:"الأعضاء",included:"مشمول",perExtraSeat:"/مقعد إضافي",maxMembers:"الحد الأقصى للأعضاء",available:"متاح",noMemberLimit:"لا حد للأعضاء",seatHeading:"{hasSeatPricing, select, true {المقاعد} other {الأعضاء}}",limitReached:"{reason, select, seat_limit_reached {تم الوصول لحد المقاعد} other {تم الوصول لحد الأعضاء}}",memberCount:"{count, plural, zero {لا أعضاء} one {عضو واحد} two {عضوان} few {# أعضاء} many {# عضواً} other {# عضو}}",subscriptionRequired:"الاشتراك مطلوب لدعوة الأعضاء.",seatLimitMessage:"خطتك تسمح بحد أقصى {maxUsers, number} {maxUsers, plural, zero {أعضاء} one {عضو} two {عضوين} few {أعضاء} many {عضواً} other {عضو}}. قم بالترقية للحصول على مقاعد إضافية.",settingsLimitMessage:"مساحة العمل هذه تسمح بحد أقصى {maxUsers, number} {maxUsers, plural, zero {أعضاء} one {عضو} two {عضوين} few {أعضاء} many {عضواً} other {عضو}}.",memberLimitMessage:"تم الوصول لحد الأعضاء: {maxUsers, number}.",selectRole:"اختر دوراً",inviteAs:"دعوة كـ {role}"},invoices:{title:"سجل الفوترة",description:"عرض وتحميل فواتيرك",pay:"دفع",view:"عرض",viewDetails:"عرض التفاصيل",download:"PDF",errorLoading:"خطأ في تحميل الفواتير",noInvoices:"لا توجد فواتير بعد. اشترك في خطة لاستلام الفواتير.",noInvoicesWithSub:"لم يتم العثور على فواتير مع خيار التحميل",paidAmount:"المدفوع: {amount}",na:"غ/م",status:{draft:"مسودة",open:"مفتوح",paid:"مدفوع",uncollectible:"غير قابل للتحصيل",void:"ملغى"}},usage:{title:"الاستخدام",description:"راقب استهلاك مواردك وحصصك",totalResources:"إجمالي الموارد",overallUsage:"الاستخدام الإجمالي",inOverage:"تجاوز الحد",estOverageCost:"التكلفة التقديرية للتجاوز",overageDetected:"تم اكتشاف تجاوز",overageDescription:"سيتم فوترة الاستخدام الإضافي كتجاوز في فاتورتك التالية.",overageUnits:"وحدات التجاوز",rate:"المعدل",billableBlocks:"الكتل القابلة للفوترة",estimatedCharge:"الرسوم التقديرية",noData:"لا تتوفر بيانات استخدام الحصص لمساحة العمل هذه.",noDataHint:"ستظهر الحصص هنا عندما تتضمن خطتك موارد مقاسة.",used:"مستخدم",remaining:"متبقٍ",overLimit:"فوق الحد",percentUsed:"{percent, number}% مستخدم",availableRemaining:"{count} متبقٍ",overLimitCount:"{count} فوق الحد",overageWarning:"{count, plural, zero {لم تتجاوز أي موارد الحصة المشمولة.} one {مورد واحد تجاوز الحصة المشمولة.} two {مورداً تجاوزا الحصة المشمولة.} few {# موارد تجاوزت الحصة المشمولة.} many {# مورداً تجاوز الحصة المشمولة.} other {# مورد تجاوز الحصة المشمولة.}} سيتم فوترة الاستخدام الإضافي كتجاوز في فاتورتك التالية.",fullyUsed:"مستخدم بالكامل",renewingSoon:"يتجدد قريباً",almostFull:"ممتلئ تقريباً",overage:"تجاوز",errorLoading:"فشل في تحميل بيانات الاستخدام",perUnit:"/ وحدة",perUnits:"/ وحدات",rateDisplay:"{rate} {unitSize, plural, =1 {/ وحدة} other {/ {unitSize, number} وحدة}}",resourcesExceeded:"{count, plural, zero {لم تتجاوز أي موارد الحصة المشمولة.} one {مورد واحد تجاوز الحصة المشمولة.} two {مورداً تجاوزا الحصة المشمولة.} few {# موارد تجاوزت الحصة المشمولة.} many {# مورداً تجاوز الحصة المشمولة.} other {# مورد تجاوز الحصة المشمولة.}}",estOverageCharges:"الرسوم التقديرية للتجاوز في هذه الفترة: {amount}",overageRateDisplay:"معدل التجاوز: {rate}",resetDateDisplay:"يتم إعادة تعيين الاستخدام في {date}",daysRemainingDisplay:"{count, plural, zero {اليوم} one {يوم واحد متبقٍ} two {يومان متبقيان} few {# أيام متبقية} many {# يوماً متبقياً} other {# يوم متبقٍ}}"},profile:{email:"البريد الإلكتروني",name:"الاسم",language:"اللغة",country:"البلد",currency:"العملة",timezone:"المنطقة الزمنية",profileImage:"صورة الملف الشخصي",success:"تم حفظ الملف الشخصي بنجاح",nameMinLength:"يجب أن يتكون الاسم من حرفين على الأقل.",save:"حفظ",reset:"إعادة تعيين"},general:{ownerOnly:"فقط مالك مساحة العمل يمكنه تغيير إعدادات مساحة العمل.",name:"الاسم",namePlaceholder:"مساحة العمل الرائعة",nameMinLength:"يجب أن يتكون اسم مساحة العمل من حرفين على الأقل.",billingCurrency:"عملة الفوترة",icon:"الأيقونة",iconDescription:"اختر رمزاً تعبيرياً أو حمّل صورة مخصصة لمساحة العمل.",imageUrl:"رابط الصورة",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"أدخل رابطاً صالحاً لصورة مساحة العمل. الصيغ المدعومة: PNG و JPG و SVG.",previewLabel:"معاينة:",success:"تم حفظ إعدادات مساحة العمل بنجاح",chooseEmoji:"اختر رمزاً تعبيرياً",customImageUrl:"رابط صورة مخصص",updateWorkspace:"تحديث مساحة العمل"},features:{title:"ميزات مساحة العمل",ownerOnly:"فقط مالك مساحة العمل يمكنه تغيير الميزات.",noFeatures:"لا توجد ميزات لإدارتها.",enabled:"مفعّل",disabled:"معطّل",enabling:"جارٍ التفعيل",disabling:"جارٍ التعطيل",featureSuccess:"بنجاح",updateSuccess:"تم {enabled, select, true {تفعيل} other {تعطيل}} {feature} بنجاح",actionStatus:"{action, select, enabling {جارٍ التفعيل} disabling {جارٍ التعطيل} other {}}"},danger:{title:"حذف مساحة العمل",adminOnly:"فقط مديرو مساحة العمل يمكنهم حذف مساحات العمل.",deleteWorkspace:"حذف مساحة العمل",deleteConfirm:"هل أنت متأكد تماماً؟",deleteWarning:"لا يمكن التراجع عن هذا الإجراء. سيتم حذف مساحة العمل وجميع البيانات المرتبطة نهائياً.",deleting:"جارٍ الحذف...",deleteDescription:"بمجرد حذف مساحة العمل لا يمكن العودة. سيتم حذف مساحة العمل وجميع بياناتها نهائياً، بما في ذلك الأعضاء والإعدادات والميزات.",deleteConfirmDescription:"لا يمكن التراجع عن هذا الإجراء. سيتم حذف مساحة العمل وجميع بياناتها نهائياً.",failedToDelete:"فشل في حذف مساحة العمل"},notifications:{title:"تفضيلات الإشعارات",permissionDenied:"تم رفض إذن الإشعارات",notSupported:"الإشعارات الفورية غير مدعومة في هذا المتصفح.",manageDescription:"أدِر كيفية تلقي الإشعارات من مساحة العمل هذه.",blocked:"الإشعارات محظورة",blockedDescription:"لقد حظرت الإشعارات لهذا الموقع سابقاً. لتفعيلها، حدّث إعدادات متصفحك:",pushTitle:"الإشعارات الفورية",pushEnabledDescription:"ستتلقى إشعارات المتصفح للتحديثات المهمة.",pushDisabledDescription:"احصل على إشعارات حول مشاكل الدفع وانتهاء التجربة والتحديثات المهمة الأخرى.",enabling:"جارٍ التفعيل...",disabling:"جارٍ التعطيل...",enable:"تفعيل",disable:"تعطيل",toggleAction:"{loading, select, true {{subscribed, select, true {جارٍ التعطيل...} other {جارٍ التفعيل...}}} other {{subscribed, select, true {تعطيل} other {تفعيل}}}}",pushDescription:"{subscribed, select, true {ستتلقى إشعارات المتصفح للتحديثات المهمة.} other {احصل على إشعارات حول مشاكل الدفع وانتهاء التجربة والتحديثات المهمة الأخرى.}}",deviceNote:"يتم إرسال الإشعارات إلى هذا الجهاز. فعّلها على الأجهزة الأخرى بشكل منفصل.",prefsSaved:"Notification preferences saved.",loadingPrefs:"Loading preferences...",categories:{workspace:"Workspace",billing:"Billing & Payments"},events:{workspace_invite:"Member Invited",workspace_invite_desc:"When a new member is added to the workspace",workspace_removed:"Member Removed",workspace_removed_desc:"When a member is removed from the workspace",workspace_role_changed:"Role Changed",workspace_role_changed_desc:"When a member's role is updated",subscription_created:"Subscription Created",subscription_created_desc:"When a new subscription is activated",subscription_upgraded:"Plan Upgraded",subscription_upgraded_desc:"When the subscription plan is upgraded",subscription_canceled:"Subscription Canceled",subscription_canceled_desc:"When the subscription is canceled",subscription_suspended:"Access Suspended",subscription_suspended_desc:"When access is suspended due to payment failures",trial_ending:"Trial Ending",trial_ending_desc:"A few days before the trial expires",trial_expired:"Trial Expired",trial_expired_desc:"When the trial period has ended",payment_failed:"Payment Failed",payment_failed_desc:"When a payment could not be processed",payment_action_required:"Payment Action Required",payment_action_required_desc:"When a payment requires additional verification",payment_succeeded:"Payment Received",payment_succeeded_desc:"When a payment is successfully processed"},unblock:{firefox:{step1:"انقر على أيقونة القفل (أو الدرع) في شريط العنوان",step2:'ابحث عن "Notifications" في قائمة الأذونات',step3:'غيّر من "Blocked" إلى "Allow"',step4:"أعد تحميل هذه الصفحة"},safari:{step1:"افتح Safari ← الإعدادات ← مواقع الويب ← الإشعارات",step2:"ابحث عن هذا الموقع في القائمة",step3:'غيّر من "Deny" إلى "Allow"',step4:"أعد تحميل هذه الصفحة"},edge:{step1:"انقر على أيقونة القفل في شريط العنوان",step2:'انقر على "Permissions for this site"',step3:'اضبط "Notifications" على "Allow"',step4:"أعد تحميل هذه الصفحة"},chrome:{step1:"انقر على أيقونة القفل (أو الضبط) في شريط العنوان",step2:'انقر على "Site settings"',step3:'اضبط "Notifications" على "Allow"',step4:"أعد تحميل هذه الصفحة"}}},quota:{includedOnly:"{count, number} مشمول",includedWithOverage:"{count, number} مشمول، ثم {price} / {unit}",includedHardLimit:"{count, number} مشمول (حد أقصى)",unitFallback:"وحدة"},pricing:{title:"اختر خطتك",description:"قارن بين الخطط واختر ما يناسب احتياجاتك",currency:"العملة",billingIn:"الفوترة بـ",noPlansCurrency:"لا توجد خطط متاحة لعملة الفوترة الخاصة بك.",noPlansCurrencyHint:"حدث خطأ ما. يرجى الاتصال بالدعم.",noPlans:"لا توجد خطط متاحة",free:"مجاني",included:"مشمول",save:"وفّر",current:"الحالي",processing:"جارٍ المعالجة...",unavailable:"غير متاح",selectCurrency:"اختر عملة الفوترة",billingInterval:"فترة الفوترة"},beta:{nameLabel:"الاسم",emailLabel:"البريد الإلكتروني",submitText:"إرسال",submittingText:"جارٍ الإرسال...",errorMessage:"حدث خطأ",tryAgain:"حاول مرة أخرى",privacyConsent:"بإرسال هذا النموذج، فإنك توافق على",privacyPolicy:"سياسة الخصوصية",and:"و",termsOfService:"شروط الخدمة"},workspace:{switchTitle:"تبديل مساحة العمل",switchDescription:"اختر مساحة عمل للتبديل إليها أو أنشئ واحدة جديدة.",notLoggedIn:"يبدو أنك لم تسجل الدخول. يرجى تسجيل الدخول للمتابعة.",availableWorkspaces:"مساحات العمل المتاحة ({count, number})",loadingWorkspaces:"جارٍ تحميل مساحات العمل...",searchPlaceholder:"بحث في مساحات العمل...",noWorkspacesFound:"لم يتم العثور على مساحات عمل",noWorkspacesAvailable:"لا تتوفر مساحات عمل",switchTo:"التبديل إلى",membersCount:"{count, plural, zero {لا أعضاء} one {عضو واحد} two {عضوان} few {# أعضاء} many {# عضواً} other {# عضو}}",createNew:"إنشاء مساحة عمل جديدة",createTitle:"إنشاء مساحة عمل جديدة",createDescription:"أنشئ مساحة عمل جديدة للبدء.",workspaceName:"اسم مساحة العمل",workspaceNamePlaceholder:"مساحة العمل الرائعة",workspaceNameMinLength:"يجب أن يتكون اسم مساحة العمل من حرفين على الأقل.",workspaceIcon:"أيقونة مساحة العمل",iconDescription:"اختر رمزاً تعبيرياً أو حمّل صورة مخصصة لمساحة العمل.",chooseEmoji:"اختر رمزاً تعبيرياً",customImageUrl:"رابط صورة مخصص",imageUrl:"رابط الصورة",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"أدخل رابطاً صالحاً لصورة مساحة العمل. الصيغ المدعومة: PNG و JPG و SVG.",invalidUrl:"يرجى إدخال رابط صالح",creating:"جارٍ الإنشاء...",createWorkspace:"إنشاء مساحة العمل"},dropdowns:{search:"بحث...",chooseOption:"اختر خياراً",chooseCountry:"اختر البلد",searchCountry:"اختر البلد...",chooseLanguage:"اختر اللغة",searchLanguage:"اختر اللغة...",chooseCurrency:"اختر العملة",searchCurrency:"اختر العملة...",chooseTimezone:"اختر المنطقة الزمنية",searchTimezone:"اختر المنطقة الزمنية..."},push:{failedToSubscribe:"فشل في الاشتراك في الإشعارات الفورية",failedToUnsubscribe:"فشل في إلغاء الاشتراك من الإشعارات الفورية"},permissions:{title:"الصلاحيات",description:"قم بتكوين ما يمكن لكل دور القيام به في مساحة العمل هذه.",ownerOnly:"يمكن لمالك مساحة العمل فقط إدارة الصلاحيات.",save:"حفظ الصلاحيات",saving:"جارٍ الحفظ...",saveSuccess:"تم حفظ الصلاحيات بنجاح"},credits:{title:"الرصيد",description:"يمكن استخدام الرصيد للإجراءات المميزة مثل التوليد بالذكاء الاصطناعي.",balance:"رصيد الائتمان",available:"متاح",totalGranted:"إجمالي الممنوح",totalConsumed:"إجمالي المستهلك",totalExpired:"إجمالي المنتهي",noCredits:"لا يوجد رصيد بعد",noCreditsHint:"سيظهر الرصيد هنا عند منحه من خطتك أو شرائه.",buyCredits:"شراء رصيد",buyAmount:"Buy {count} Credits",purchasing:"جارٍ إعادة التوجيه...",packages:"حزم الرصيد",noPackages:"لا تتوفر حزم رصيد.",creditsAmount:"{count} رصيد",validityDays:"صالح لمدة {count} يوم",validityUnlimited:"بدون انتهاء صلاحية",transactions:"المعاملات الأخيرة",noTransactions:"لا توجد معاملات بعد.",loadMore:"Load More",viewAll:"عرض الكل",expiringSoon:"ينتهي قريباً",expiringInDays:"{count} رصيد ينتهي خلال {days} يوم",noExpiring:"لا يوجد رصيد ينتهي قريباً.",type:{plan_grant:"منحة الخطة",pack_purchased:"تم الشراء",consumed:"مستهلك",expired:"منتهي",admin_grant:"ممنوح",admin_revoke:"مسحوب",refund:"استرداد"},dialogTitle:"Buy Credit Packages",dialogDescription:"Choose a credit package to purchase.",dialogDescriptionWorkspace:"Purchase credits for {workspace}.",perCredit:"{price} per credit",purchaseSuccess:"تم شراء الرصيد بنجاح! تم تحديث رصيدك.",purchaseCanceled:"تم إلغاء شراء الرصيد. لم يتم تحصيل أي رسوم.",purchaseFailed:"فشل شراء الرصيد. يرجى المحاولة مرة أخرى أو التواصل مع الدعم.",errorLoading:"فشل في تحميل بيانات الرصيد",insufficientCredits:"رصيد غير كافٍ"},loading:{restoringSession:"جارٍ استعادة الجلسة...",redirecting:"جارٍ إعادة التوجيه...",signingIn:"جارٍ تسجيل الدخول...",verifyingAccount:"جارٍ التحقق من حسابك...",almostThere:"أوشكنا على الانتهاء..."},errors:{networkError:"خطأ في الشبكة: يرجى التحقق من اتصالك بالإنترنت",unauthorized:"غير مصرح - يرجى التحقق من جلستك",notFound:"المورد غير موجود",generic:"حدث خطأ",fetchPlans:"فشل في جلب الخطط",fetchPlanGroup:"فشل في جلب مجموعة الخطط",fetchPlanGroupVersion:"فشل في جلب إصدار مجموعة الخطط",fetchPlanGroupVersions:"فشل في جلب إصدارات مجموعة الخطط",fetchSubscription:"فشل في جلب الاشتراك",createCheckout:"فشل في إنشاء جلسة الدفع",updateSubscription:"فشل في تحديث الاشتراك",fetchInvoices:"فشل في جلب الفواتير",fetchInvoice:"فشل في جلب الفاتورة",openBillingPortal:"فشل في فتح بوابة الفوترة",cancelSubscription:"فشل في إلغاء الاشتراك",resumeSubscription:"فشل في استئناف الاشتراك",recordUsage:"فشل في تسجيل الاستخدام",fetchQuotaUsage:"فشل في جلب حالة استخدام الحصص",fetchAllQuotaUsage:"فشل في جلب جميع استخدامات الحصص",fetchUsageLogs:"فشل في جلب سجلات الاستخدام",fetchCreditBalance:"فشل في جلب رصيد الائتمان",consumeCredits:"فشل في استهلاك الرصيد",purchaseCredits:"فشل في شراء الرصيد",fetchCreditPackages:"فشل في جلب حزم الرصيد",fetchCreditTransactions:"فشل في جلب معاملات الرصيد",fetchExpiringCredits:"فشل في جلب الرصيد المنتهي قريباً"},security:{inactive:"غير نشط",inactiveHint:"سُجّل على نطاق تسجيل دخول سابق ولم يعد قابلاً للاستخدام. يمكنك إزالته.",passkeysTitle:"مفاتيح المرور",passkeysDescription:"تتيح مفاتيح المرور تسجيل الدخول ببصمة الإصبع أو الوجه أو رمز PIN للجهاز.",noPasskeys:"لا توجد مفاتيح مرور مسجلة",addHint:'لإضافة مفتاح مرور، اختر "إضافة مفتاح مرور" عند تسجيل الدخول التالي على الجهاز الذي تريد استخدامه.',rename:"إعادة تسمية",remove:"إزالة",removeTitle:"إزالة مفتاح المرور",removeDescription:"لن تتمكن من تسجيل الدخول بمفتاح المرور هذا بعد الآن.",renamePlaceholder:"اسم مفتاح المرور",lastUsed:"آخر استخدام",added:"أُضيف"}};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
const e={settings:{titles:{profile:"الحساب",security:"الأمان",general:"إعدادات مساحة العمل",users:"أعضاء مساحة العمل",subscription:"الخطة والفوترة",usage:"الاستخدام",credits:"الرصيد",features:"ميزات مساحة العمل",notifications:"الإشعارات",permissions:"الصلاحيات",danger:"منطقة الخطر"},sidebar:{account:"الحساب",workspace:"مساحة العمل",profile:"الحساب",security:"الأمان",general:"الإعدادات",users:"الأعضاء",subscription:"الخطة والفوترة",usage:"الاستخدام",credits:"الرصيد",features:"الميزات",notifications:"الإشعارات",permissions:"الصلاحيات",danger:"منطقة الخطر"},common:{refresh:"تحديث",refreshing:"جارٍ التحديث...",retry:"إعادة المحاولة",retrying:"جارٍ إعادة المحاولة...",save:"حفظ",saving:"جارٍ الحفظ...",cancel:"إلغاء",delete:"حذف",dismiss:"تجاهل",loading:"جارٍ التحميل...",success:"تم بنجاح!",error:"خطأ",refreshAction:"{loading, select, true {جارٍ التحديث...} other {تحديث}}",retryAction:"{loading, select, true {جارٍ إعادة المحاولة...} other {إعادة المحاولة}}",noPermissionTitle:"الوصول مقيد",noPermissionDescription:"ليس لديك إذن للوصول إلى هذا القسم. تواصل مع مسؤول مساحة العمل إذا كنت بحاجة إلى الوصول.",billingManageOnly:"فقط المستخدمون الذين لديهم أذونات إدارة الفواتير يمكنهم تنفيذ هذا الإجراء."}},subscription:{managePlan:"إدارة خطتك وفوترتك",changePlan:"تغيير الخطة",viewPricingPlans:"عرض خطط الأسعار",viewPlans:"عرض الخطط",upgradePlan:"ترقية الآن",subscribe:"اشتراك",currentPlan:"الخطة الحالية",noSubscription:"ليس لديك اشتراك نشط",choosePlan:"اختر خطتك",choosePlanDescription:"قارن بين الخطط واختر ما يناسب احتياجاتك",forWorkspace:"لـ {name}",planUpdateAvailable:"تحديث الخطة متوفر",updateSuccess:"تم تحديث الاشتراك بنجاح!",updateFailed:"فشل التحديث",cancelTitle:"إلغاء الاشتراك",cancelConfirm:"هل أنت متأكد من رغبتك في إلغاء اشتراكك؟",cancelKeep:"الاحتفاظ بالاشتراك",cancelButton:"نعم، إلغاء الاشتراك",cancelTrialTitle:"إلغاء التجربة",cancelTrialConfirm:"هل أنت متأكد من رغبتك في إلغاء فترتك التجريبية؟",cancelTrialAccess:"ستستمر فترتك التجريبية حتى",cancelTrialNoCharge:"لن يتم تحصيل أي رسوم منك — ستنتهي فترتك التجريبية ببساطة",cancelTrialResume:"يمكنك استئناف فترتك التجريبية في أي وقت قبل انتهائها",cancelTrialKeep:"الاحتفاظ بالتجربة",cancelTrialButton:"نعم، إلغاء التجربة",canceling:"جارٍ الإلغاء...",cancelSuccess:"سيتم إلغاء الاشتراك في نهاية فترة الفوترة.",cancelNotCharged:"لن يتم تحصيل رسوم منك مرة أخرى بعد الإلغاء",cancelResumeAnytime:"يمكنك استئناف اشتراكك في أي وقت قبل انتهائه",resumeTitle:"استئناف الاشتراك",resumeTrial:"استئناف التجربة",resumeConfirm:"هل أنت متأكد من رغبتك في استئناف اشتراكك؟",resumeKeep:"إبقاء الإلغاء",resumeButton:"نعم، استئناف الاشتراك",resuming:"جارٍ الاستئناف...",resumeSuccess:"تم استئناف الاشتراك.",managePayment:"إدارة الدفع",openingPortal:"جارٍ الفتح...",viewAllPlans:"عرض جميع الخطط",scheduledCancellation:"تم جدولة إلغاء الاشتراك",scheduledTrialCancellation:"تم جدولة إلغاء التجربة",paymentPastDue:"الدفع متأخر",paymentPastDueDescription:"يرجى تحديث طريقة الدفع لتجنب انقطاع الخدمة.",subscriptionPaused:"الاشتراك موقوف",subscriptionPausedDescription:"اشتراكك موقوف حالياً. استأنف لاستعادة الوصول الكامل.",errorLoading:"خطأ في تحميل بيانات الاشتراك",errorLoadingDescription:"يرجى التحقق من اتصالك والمحاولة مرة أخرى.",errorProcessing:"فشل في معالجة الاشتراك",errorCanceling:"فشل في إلغاء الاشتراك",errorResuming:"فشل في استئناف الاشتراك",invalidWorkspace:"معرّف مساحة العمل غير صالح",billingInterval:{monthly:"شهري",quarterly:"ربع سنوي",yearly:"سنوي",perMonth:"/شهر",perQuarter:"/ربع سنة",perYear:"/سنة"},seats:{title:"المقاعد",members:"الأعضاء",included:"مشمول",billable:"قابل للفوترة",perExtraSeat:"لكل مقعد إضافي",limit:"الحد",includedSeats:"المقاعد المشمولة",maxSeats:"الحد الأقصى للمقاعد",freeWithBase:"مجاني مع السعر الأساسي",allIncluded:"الكل مشمول",extra:"إضافي",unlimited:"غير محدود"},items:{features:"الميزات",limits:"الحدود",quotas:"حصص الاستخدام",credits:"AI Credits",creditsPerMonth:"Credits per month",creditsOneTime:"Credits (given once)",creditRenewal:"Credit renewal",creditModeLifetime:"Given once",creditsPerPeriod:"Credits per month",creditRollover:"Credit renewal",creditModeReset:"Fresh every month",creditModeTopup:"Adds up every month"},checkout:{upgrade:"ترقية",downgrade:"تخفيض",switchTo:"التبديل إلى",select:"اختيار"},status:{active:"نشط",canceling:"جارٍ الإلغاء",trial:"تجريبي",canceled:"ملغى",pastDue:"متأخر",paused:"موقوف",deprecated:"قديم",unknown:"غير معروف"},plan:"الخطة",invoicesTab:"الفواتير",changePlanButton:"تغيير الخطة",noPlanAssigned:"لم يتم تعيين خطة",free:"مجاني",perSeatDisplay:"+ {price}/مقعد{interval}",estTotalDisplay:"الإجمالي التقديري: {total}{interval} ({count, plural, zero {بدون مقاعد إضافية} one {مقعد إضافي واحد} two {مقعدان إضافيان} few {# مقاعد إضافية} many {# مقعداً إضافياً} other {# مقعد إضافي}})",nextBillingDisplay:"الفوترة التالية: {date}",membersInWorkspace:"{count, plural, zero {لا أعضاء} one {عضو واحد} two {عضوان} few {# أعضاء} many {# عضواً} other {# عضو}} في مساحة العمل",billingInCurrency:"الفوترة بـ {currency}",savingsPercent:"وفّر {percent, number}%",switchToInterval:"التبديل إلى {interval}",seatPriceDisplay:"+ {price}/مقعد{interval} ({included} {includedLabel})",trialEnded:"انتهت فترتك التجريبية.",trialEndsIn:"تنتهي فترتك التجريبية خلال {days, plural, zero {اليوم} one {يوم واحد} two {يومين} few {# أيام} many {# يوماً} other {# يوم}}.",onTrial:"أنت في فترة تجريبية.",upgradeToKeepAccess:"قم بالترقية للحفاظ على الوصول.",viewInvoices:"عرض الفواتير",cancelTrial:"إلغاء التجربة",dunningFinal:"تحذير أخير: سيتم تعليق الاشتراك",dunningSuspended:"الاشتراك معلق",dunningRecovery:"جارٍ استرداد الدفع",dunningSuspendedDescription:"تم تعليق اشتراكك بسبب فشل الدفع المتكرر. حدّث طريقة الدفع لاستعادة الوصول.",dunningRecoveryDescription:"لم نتمكن من معالجة دفعتك. يرجى تحديث طريقة الدفع لتجنب فقدان الوصول.",cancelEndDescription:"سينتهي اشتراكك في",trialEndDescription:"ستنتهي فترتك التجريبية في",cancelEndFallback:"سيتم إلغاء اشتراكك في نهاية فترة الفوترة الحالية. لن يتم تحصيل رسوم منك مرة أخرى.",resumeChargeDate:"سيتم تحصيل الرسوم منك مرة أخرى في",resumeChargeFallback:"تاريخ الفوترة التالي",resumeContinue:"سيستمر اشتراكك تلقائياً وسيتم فوترتك وفقاً لخطتك",resumeCancelAnytime:"يمكنك الإلغاء في أي وقت قبل تاريخ الفوترة التالي إذا غيرت رأيك",retainAccess:"ستحتفظ بالوصول الكامل إلى هذه الخطة حتى",retainAccessFallback:"نهاية فترة الفوترة الحالية",noPlansAvailable:"لا توجد مجموعات خطط متاحة لمساحة العمل هذه. يرجى الاتصال بالدعم إذا كنت تعتقد أن هذا خطأ.",noPlansAvailableHint:"لا توجد مجموعات خطط متاحة لمساحة العمل هذه.",startTrialDescription:"جرب الخطة الكاملة بدون التزام. يمكنك الترقية أو الإلغاء في أي وقت.",noSubscriptionDescription:"اختر خطة للبدء مع مساحة العمل الخاصة بك",startFreeTrial:"ابدأ التجربة المجانية",startTrialDays:"ابدأ تجربة مجانية لمدة {days} يوم",trialBadge:"تجربة {days} يوم"},users:{title:"أعضاء مساحة العمل",adminOnly:"فقط مدير مساحة العمل يمكنه إدارة المستخدمين والأدوار.",inviteByEmail:"دعوة عضو عبر البريد الإلكتروني",inviteButton:"دعوة",inviting:"جارٍ الدعوة...",inviteSuccess:"تمت دعوة المستخدم بنجاح",emailRequired:"البريد الإلكتروني مطلوب",invalidEmail:"صيغة البريد الإلكتروني غير صالحة",inviteFailed:"فشل في دعوة العضو",seatLimitReached:"تم الوصول لحد المقاعد",memberLimitReached:"تم الوصول لحد الأعضاء",role:"الدور",you:"أنت",owner:"المالك",noMembers:"لم يتم العثور على أعضاء في مساحة العمل هذه.",extraSeatCost:"كل عضو إضافي يضيف {price}/{interval, select, yearly {سنة} quarterly {ربع سنة} other {شهر}} لاشتراكك",unknownUser:"مستخدم غير معروف",seats:"المقاعد",members:"الأعضاء",included:"مشمول",perExtraSeat:"/مقعد إضافي",maxMembers:"الحد الأقصى للأعضاء",available:"متاح",noMemberLimit:"لا حد للأعضاء",seatHeading:"{hasSeatPricing, select, true {المقاعد} other {الأعضاء}}",limitReached:"{reason, select, seat_limit_reached {تم الوصول لحد المقاعد} other {تم الوصول لحد الأعضاء}}",memberCount:"{count, plural, zero {لا أعضاء} one {عضو واحد} two {عضوان} few {# أعضاء} many {# عضواً} other {# عضو}}",subscriptionRequired:"الاشتراك مطلوب لدعوة الأعضاء.",seatLimitMessage:"خطتك تسمح بحد أقصى {maxUsers, number} {maxUsers, plural, zero {أعضاء} one {عضو} two {عضوين} few {أعضاء} many {عضواً} other {عضو}}. قم بالترقية للحصول على مقاعد إضافية.",settingsLimitMessage:"مساحة العمل هذه تسمح بحد أقصى {maxUsers, number} {maxUsers, plural, zero {أعضاء} one {عضو} two {عضوين} few {أعضاء} many {عضواً} other {عضو}}.",memberLimitMessage:"تم الوصول لحد الأعضاء: {maxUsers, number}.",selectRole:"اختر دوراً",inviteAs:"دعوة كـ {role}"},invoices:{title:"سجل الفوترة",description:"عرض وتحميل فواتيرك",pay:"دفع",view:"عرض",viewDetails:"عرض التفاصيل",download:"PDF",errorLoading:"خطأ في تحميل الفواتير",noInvoices:"لا توجد فواتير بعد. اشترك في خطة لاستلام الفواتير.",noInvoicesWithSub:"لم يتم العثور على فواتير مع خيار التحميل",paidAmount:"المدفوع: {amount}",na:"غ/م",status:{draft:"مسودة",open:"مفتوح",paid:"مدفوع",uncollectible:"غير قابل للتحصيل",void:"ملغى"}},usage:{title:"الاستخدام",description:"راقب استهلاك مواردك وحصصك",totalResources:"إجمالي الموارد",overallUsage:"الاستخدام الإجمالي",inOverage:"تجاوز الحد",estOverageCost:"التكلفة التقديرية للتجاوز",overageDetected:"تم اكتشاف تجاوز",overageDescription:"سيتم فوترة الاستخدام الإضافي كتجاوز في فاتورتك التالية.",overageUnits:"وحدات التجاوز",rate:"المعدل",billableBlocks:"الكتل القابلة للفوترة",estimatedCharge:"الرسوم التقديرية",noData:"لا تتوفر بيانات استخدام الحصص لمساحة العمل هذه.",noDataHint:"ستظهر الحصص هنا عندما تتضمن خطتك موارد مقاسة.",used:"مستخدم",remaining:"متبقٍ",overLimit:"فوق الحد",percentUsed:"{percent, number}% مستخدم",availableRemaining:"{count} متبقٍ",overLimitCount:"{count} فوق الحد",overageWarning:"{count, plural, zero {لم تتجاوز أي موارد الحصة المشمولة.} one {مورد واحد تجاوز الحصة المشمولة.} two {مورداً تجاوزا الحصة المشمولة.} few {# موارد تجاوزت الحصة المشمولة.} many {# مورداً تجاوز الحصة المشمولة.} other {# مورد تجاوز الحصة المشمولة.}} سيتم فوترة الاستخدام الإضافي كتجاوز في فاتورتك التالية.",fullyUsed:"مستخدم بالكامل",renewingSoon:"يتجدد قريباً",almostFull:"ممتلئ تقريباً",overage:"تجاوز",errorLoading:"فشل في تحميل بيانات الاستخدام",perUnit:"/ وحدة",perUnits:"/ وحدات",rateDisplay:"{rate} {unitSize, plural, =1 {/ وحدة} other {/ {unitSize, number} وحدة}}",resourcesExceeded:"{count, plural, zero {لم تتجاوز أي موارد الحصة المشمولة.} one {مورد واحد تجاوز الحصة المشمولة.} two {مورداً تجاوزا الحصة المشمولة.} few {# موارد تجاوزت الحصة المشمولة.} many {# مورداً تجاوز الحصة المشمولة.} other {# مورد تجاوز الحصة المشمولة.}}",estOverageCharges:"الرسوم التقديرية للتجاوز في هذه الفترة: {amount}",overageRateDisplay:"معدل التجاوز: {rate}",resetDateDisplay:"يتم إعادة تعيين الاستخدام في {date}",daysRemainingDisplay:"{count, plural, zero {اليوم} one {يوم واحد متبقٍ} two {يومان متبقيان} few {# أيام متبقية} many {# يوماً متبقياً} other {# يوم متبقٍ}}"},profile:{email:"البريد الإلكتروني",name:"الاسم",language:"اللغة",country:"البلد",currency:"العملة",timezone:"المنطقة الزمنية",profileImage:"صورة الملف الشخصي",success:"تم حفظ الملف الشخصي بنجاح",nameMinLength:"يجب أن يتكون الاسم من حرفين على الأقل.",save:"حفظ",reset:"إعادة تعيين"},general:{ownerOnly:"فقط مالك مساحة العمل يمكنه تغيير إعدادات مساحة العمل.",name:"الاسم",namePlaceholder:"مساحة العمل الرائعة",nameMinLength:"يجب أن يتكون اسم مساحة العمل من حرفين على الأقل.",billingCurrency:"عملة الفوترة",icon:"الأيقونة",iconDescription:"اختر رمزاً تعبيرياً أو حمّل صورة مخصصة لمساحة العمل.",imageUrl:"رابط الصورة",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"أدخل رابطاً صالحاً لصورة مساحة العمل. الصيغ المدعومة: PNG و JPG و SVG.",previewLabel:"معاينة:",success:"تم حفظ إعدادات مساحة العمل بنجاح",chooseEmoji:"اختر رمزاً تعبيرياً",customImageUrl:"رابط صورة مخصص",updateWorkspace:"تحديث مساحة العمل"},features:{title:"ميزات مساحة العمل",ownerOnly:"فقط مالك مساحة العمل يمكنه تغيير الميزات.",noFeatures:"لا توجد ميزات لإدارتها.",enabled:"مفعّل",disabled:"معطّل",enabling:"جارٍ التفعيل",disabling:"جارٍ التعطيل",featureSuccess:"بنجاح",updateSuccess:"تم {enabled, select, true {تفعيل} other {تعطيل}} {feature} بنجاح",actionStatus:"{action, select, enabling {جارٍ التفعيل} disabling {جارٍ التعطيل} other {}}"},danger:{title:"حذف مساحة العمل",adminOnly:"فقط مديرو مساحة العمل يمكنهم حذف مساحات العمل.",deleteWorkspace:"حذف مساحة العمل",deleteConfirm:"هل أنت متأكد تماماً؟",deleteWarning:"لا يمكن التراجع عن هذا الإجراء. سيتم حذف مساحة العمل وجميع البيانات المرتبطة نهائياً.",deleting:"جارٍ الحذف...",deleteDescription:"بمجرد حذف مساحة العمل لا يمكن العودة. سيتم حذف مساحة العمل وجميع بياناتها نهائياً، بما في ذلك الأعضاء والإعدادات والميزات.",deleteConfirmDescription:"لا يمكن التراجع عن هذا الإجراء. سيتم حذف مساحة العمل وجميع بياناتها نهائياً.",failedToDelete:"فشل في حذف مساحة العمل"},notifications:{title:"تفضيلات الإشعارات",permissionDenied:"تم رفض إذن الإشعارات",notSupported:"الإشعارات الفورية غير مدعومة في هذا المتصفح.",manageDescription:"أدِر كيفية تلقي الإشعارات من مساحة العمل هذه.",blocked:"الإشعارات محظورة",blockedDescription:"لقد حظرت الإشعارات لهذا الموقع سابقاً. لتفعيلها، حدّث إعدادات متصفحك:",pushTitle:"الإشعارات الفورية",pushEnabledDescription:"ستتلقى إشعارات المتصفح للتحديثات المهمة.",pushDisabledDescription:"احصل على إشعارات حول مشاكل الدفع وانتهاء التجربة والتحديثات المهمة الأخرى.",enabling:"جارٍ التفعيل...",disabling:"جارٍ التعطيل...",enable:"تفعيل",disable:"تعطيل",toggleAction:"{loading, select, true {{subscribed, select, true {جارٍ التعطيل...} other {جارٍ التفعيل...}}} other {{subscribed, select, true {تعطيل} other {تفعيل}}}}",pushDescription:"{subscribed, select, true {ستتلقى إشعارات المتصفح للتحديثات المهمة.} other {احصل على إشعارات حول مشاكل الدفع وانتهاء التجربة والتحديثات المهمة الأخرى.}}",deviceNote:"يتم إرسال الإشعارات إلى هذا الجهاز. فعّلها على الأجهزة الأخرى بشكل منفصل.",prefsSaved:"Notification preferences saved.",loadingPrefs:"Loading preferences...",categories:{workspace:"Workspace",billing:"Billing & Payments"},events:{workspace_invite:"Member Invited",workspace_invite_desc:"When a new member is added to the workspace",workspace_removed:"Member Removed",workspace_removed_desc:"When a member is removed from the workspace",workspace_role_changed:"Role Changed",workspace_role_changed_desc:"When a member's role is updated",subscription_created:"Subscription Created",subscription_created_desc:"When a new subscription is activated",subscription_upgraded:"Plan Upgraded",subscription_upgraded_desc:"When the subscription plan is upgraded",subscription_canceled:"Subscription Canceled",subscription_canceled_desc:"When the subscription is canceled",subscription_suspended:"Access Suspended",subscription_suspended_desc:"When access is suspended due to payment failures",trial_ending:"Trial Ending",trial_ending_desc:"A few days before the trial expires",trial_expired:"Trial Expired",trial_expired_desc:"When the trial period has ended",payment_failed:"Payment Failed",payment_failed_desc:"When a payment could not be processed",payment_action_required:"Payment Action Required",payment_action_required_desc:"When a payment requires additional verification",payment_succeeded:"Payment Received",payment_succeeded_desc:"When a payment is successfully processed"},unblock:{firefox:{step1:"انقر على أيقونة القفل (أو الدرع) في شريط العنوان",step2:'ابحث عن "Notifications" في قائمة الأذونات',step3:'غيّر من "Blocked" إلى "Allow"',step4:"أعد تحميل هذه الصفحة"},safari:{step1:"افتح Safari ← الإعدادات ← مواقع الويب ← الإشعارات",step2:"ابحث عن هذا الموقع في القائمة",step3:'غيّر من "Deny" إلى "Allow"',step4:"أعد تحميل هذه الصفحة"},edge:{step1:"انقر على أيقونة القفل في شريط العنوان",step2:'انقر على "Permissions for this site"',step3:'اضبط "Notifications" على "Allow"',step4:"أعد تحميل هذه الصفحة"},chrome:{step1:"انقر على أيقونة القفل (أو الضبط) في شريط العنوان",step2:'انقر على "Site settings"',step3:'اضبط "Notifications" على "Allow"',step4:"أعد تحميل هذه الصفحة"}}},quota:{includedOnly:"{count, number} مشمول",includedWithOverage:"{count, number} مشمول، ثم {price} / {unit}",includedHardLimit:"{count, number} مشمول (حد أقصى)",unitFallback:"وحدة"},pricing:{title:"اختر خطتك",description:"قارن بين الخطط واختر ما يناسب احتياجاتك",currency:"العملة",billingIn:"الفوترة بـ",noPlansCurrency:"لا توجد خطط متاحة لعملة الفوترة الخاصة بك.",noPlansCurrencyHint:"حدث خطأ ما. يرجى الاتصال بالدعم.",noPlans:"لا توجد خطط متاحة",free:"مجاني",included:"مشمول",save:"وفّر",current:"الحالي",processing:"جارٍ المعالجة...",unavailable:"غير متاح",selectCurrency:"اختر عملة الفوترة",billingInterval:"فترة الفوترة"},beta:{nameLabel:"الاسم",emailLabel:"البريد الإلكتروني",submitText:"إرسال",submittingText:"جارٍ الإرسال...",errorMessage:"حدث خطأ",tryAgain:"حاول مرة أخرى",privacyConsent:"بإرسال هذا النموذج، فإنك توافق على",privacyPolicy:"سياسة الخصوصية",and:"و",termsOfService:"شروط الخدمة"},workspace:{switchTitle:"تبديل مساحة العمل",switchDescription:"اختر مساحة عمل للتبديل إليها أو أنشئ واحدة جديدة.",notLoggedIn:"يبدو أنك لم تسجل الدخول. يرجى تسجيل الدخول للمتابعة.",availableWorkspaces:"مساحات العمل المتاحة ({count, number})",loadingWorkspaces:"جارٍ تحميل مساحات العمل...",searchPlaceholder:"بحث في مساحات العمل...",noWorkspacesFound:"لم يتم العثور على مساحات عمل",noWorkspacesAvailable:"لا تتوفر مساحات عمل",switchTo:"التبديل إلى",membersCount:"{count, plural, zero {لا أعضاء} one {عضو واحد} two {عضوان} few {# أعضاء} many {# عضواً} other {# عضو}}",createNew:"إنشاء مساحة عمل جديدة",createTitle:"إنشاء مساحة عمل جديدة",createDescription:"أنشئ مساحة عمل جديدة للبدء.",workspaceName:"اسم مساحة العمل",workspaceNamePlaceholder:"مساحة العمل الرائعة",workspaceNameMinLength:"يجب أن يتكون اسم مساحة العمل من حرفين على الأقل.",workspaceIcon:"أيقونة مساحة العمل",iconDescription:"اختر رمزاً تعبيرياً أو حمّل صورة مخصصة لمساحة العمل.",chooseEmoji:"اختر رمزاً تعبيرياً",customImageUrl:"رابط صورة مخصص",imageUrl:"رابط الصورة",imageUrlPlaceholder:"https://example.com/image.png",imageUrlDescription:"أدخل رابطاً صالحاً لصورة مساحة العمل. الصيغ المدعومة: PNG و JPG و SVG.",invalidUrl:"يرجى إدخال رابط صالح",creating:"جارٍ الإنشاء...",createWorkspace:"إنشاء مساحة العمل"},dropdowns:{search:"بحث...",chooseOption:"اختر خياراً",chooseCountry:"اختر البلد",searchCountry:"اختر البلد...",chooseLanguage:"اختر اللغة",searchLanguage:"اختر اللغة...",chooseCurrency:"اختر العملة",searchCurrency:"اختر العملة...",chooseTimezone:"اختر المنطقة الزمنية",searchTimezone:"اختر المنطقة الزمنية..."},push:{failedToSubscribe:"فشل في الاشتراك في الإشعارات الفورية",failedToUnsubscribe:"فشل في إلغاء الاشتراك من الإشعارات الفورية"},permissions:{title:"الصلاحيات",description:"قم بتكوين ما يمكن لكل دور القيام به في مساحة العمل هذه.",ownerOnly:"يمكن لمالك مساحة العمل فقط إدارة الصلاحيات.",save:"حفظ الصلاحيات",saving:"جارٍ الحفظ...",saveSuccess:"تم حفظ الصلاحيات بنجاح"},credits:{title:"الرصيد",description:"يمكن استخدام الرصيد للإجراءات المميزة مثل التوليد بالذكاء الاصطناعي.",balance:"رصيد الائتمان",available:"متاح",totalGranted:"إجمالي الممنوح",totalConsumed:"إجمالي المستهلك",totalExpired:"إجمالي المنتهي",noCredits:"لا يوجد رصيد بعد",noCreditsHint:"سيظهر الرصيد هنا عند منحه من خطتك أو شرائه.",buyCredits:"شراء رصيد",buyAmount:"Buy {count} Credits",purchasing:"جارٍ إعادة التوجيه...",packages:"حزم الرصيد",noPackages:"لا تتوفر حزم رصيد.",creditsAmount:"{count} رصيد",validityDays:"صالح لمدة {count} يوم",validityUnlimited:"بدون انتهاء صلاحية",transactions:"المعاملات الأخيرة",noTransactions:"لا توجد معاملات بعد.",loadMore:"Load More",viewAll:"عرض الكل",expiringSoon:"ينتهي قريباً",expiringInDays:"{count} رصيد ينتهي خلال {days} يوم",noExpiring:"لا يوجد رصيد ينتهي قريباً.",type:{plan_grant:"منحة الخطة",pack_purchased:"تم الشراء",consumed:"مستهلك",expired:"منتهي",admin_grant:"ممنوح",admin_revoke:"مسحوب",refund:"استرداد"},dialogTitle:"Buy Credit Packages",dialogDescription:"Choose a credit package to purchase.",dialogDescriptionWorkspace:"Purchase credits for {workspace}.",perCredit:"{price} per credit",purchaseSuccess:"تم شراء الرصيد بنجاح! تم تحديث رصيدك.",purchaseCanceled:"تم إلغاء شراء الرصيد. لم يتم تحصيل أي رسوم.",purchaseFailed:"فشل شراء الرصيد. يرجى المحاولة مرة أخرى أو التواصل مع الدعم.",errorLoading:"فشل في تحميل بيانات الرصيد",insufficientCredits:"رصيد غير كافٍ"},loading:{restoringSession:"جارٍ استعادة الجلسة...",redirecting:"جارٍ إعادة التوجيه...",signingIn:"جارٍ تسجيل الدخول...",verifyingAccount:"جارٍ التحقق من حسابك...",almostThere:"أوشكنا على الانتهاء..."},errors:{networkError:"خطأ في الشبكة: يرجى التحقق من اتصالك بالإنترنت",unauthorized:"غير مصرح - يرجى التحقق من جلستك",notFound:"المورد غير موجود",generic:"حدث خطأ",fetchPlans:"فشل في جلب الخطط",fetchPlanGroup:"فشل في جلب مجموعة الخطط",fetchPlanGroupVersion:"فشل في جلب إصدار مجموعة الخطط",fetchPlanGroupVersions:"فشل في جلب إصدارات مجموعة الخطط",fetchSubscription:"فشل في جلب الاشتراك",createCheckout:"فشل في إنشاء جلسة الدفع",updateSubscription:"فشل في تحديث الاشتراك",fetchInvoices:"فشل في جلب الفواتير",fetchInvoice:"فشل في جلب الفاتورة",openBillingPortal:"فشل في فتح بوابة الفوترة",cancelSubscription:"فشل في إلغاء الاشتراك",resumeSubscription:"فشل في استئناف الاشتراك",recordUsage:"فشل في تسجيل الاستخدام",fetchQuotaUsage:"فشل في جلب حالة استخدام الحصص",fetchAllQuotaUsage:"فشل في جلب جميع استخدامات الحصص",fetchUsageLogs:"فشل في جلب سجلات الاستخدام",fetchCreditBalance:"فشل في جلب رصيد الائتمان",consumeCredits:"فشل في استهلاك الرصيد",purchaseCredits:"فشل في شراء الرصيد",fetchCreditPackages:"فشل في جلب حزم الرصيد",fetchCreditTransactions:"فشل في جلب معاملات الرصيد",fetchExpiringCredits:"فشل في جلب الرصيد المنتهي قريباً"},security:{inactive:"غير نشط",inactiveHint:"سُجّل على نطاق تسجيل دخول سابق ولم يعد قابلاً للاستخدام. يمكنك إزالته.",passkeysTitle:"مفاتيح المرور",passkeysDescription:"تتيح مفاتيح المرور تسجيل الدخول ببصمة الإصبع أو الوجه أو رمز PIN للجهاز.",noPasskeys:"لا توجد مفاتيح مرور مسجلة",addHint:'لإضافة مفتاح مرور، اختر "إضافة مفتاح مرور" عند تسجيل الدخول التالي على الجهاز الذي تريد استخدامه.',rename:"إعادة تسمية",remove:"إزالة",removeTitle:"إزالة مفتاح المرور",removeDescription:"لن تتمكن من تسجيل الدخول بمفتاح المرور هذا بعد الآن.",renamePlaceholder:"اسم مفتاح المرور",lastUsed:"آخر استخدام",added:"أُضيف"}};export{e as ar};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";exports.de={settings:{titles:{profile:"Konto",security:"Sicherheit",general:"Arbeitsbereich-Einstellungen",users:"Arbeitsbereich-Mitglieder",subscription:"Plan & Abrechnung",usage:"Nutzung",credits:"Guthaben",features:"Arbeitsbereich-Funktionen",notifications:"Benachrichtigungen",permissions:"Berechtigungen",danger:"Gefahrenzone"},sidebar:{account:"Konto",workspace:"Arbeitsbereich",profile:"Konto",security:"Sicherheit",general:"Einstellungen",users:"Mitglieder",subscription:"Plan & Abrechnung",usage:"Nutzung",credits:"Guthaben",features:"Funktionen",notifications:"Benachrichtigungen",permissions:"Berechtigungen",danger:"Gefahrenzone"},common:{refresh:"Aktualisieren",refreshing:"Wird aktualisiert...",retry:"Erneut versuchen",retrying:"Wird erneut versucht...",save:"Speichern",saving:"Wird gespeichert...",cancel:"Abbrechen",delete:"Löschen",dismiss:"Verwerfen",loading:"Wird geladen...",success:"Erfolg!",error:"Fehler",refreshAction:"{loading, select, true {Wird aktualisiert...} other {Aktualisieren}}",retryAction:"{loading, select, true {Wird erneut versucht...} other {Erneut versuchen}}",noPermissionTitle:"Zugriff eingeschränkt",noPermissionDescription:"Sie haben keine Berechtigung, auf diesen Bereich zuzugreifen. Kontaktieren Sie einen Workspace-Administrator, wenn Sie Zugriff benötigen.",billingManageOnly:"Nur Benutzer mit Abrechnungsverwaltungsberechtigungen können diese Aktion durchführen."}},subscription:{managePlan:"Verwalte deinen Plan und deine Abrechnung",changePlan:"Plan ändern",viewPricingPlans:"Preispläne ansehen",viewPlans:"Pläne ansehen",upgradePlan:"Jetzt upgraden",subscribe:"Abonnieren",currentPlan:"Aktueller Plan",noSubscription:"Du hast kein aktives Abonnement",choosePlan:"Wähle deinen Plan",choosePlanDescription:"Vergleiche Pläne und wähle den, der zu deinen Anforderungen passt",forWorkspace:"für {name}",planUpdateAvailable:"Plan-Update verfügbar",updateSuccess:"Abonnement erfolgreich aktualisiert!",updateFailed:"Aktualisierung fehlgeschlagen",cancelTitle:"Abonnement kündigen",cancelConfirm:"Bist du sicher, dass du dein Abonnement kündigen möchtest?",cancelKeep:"Abonnement behalten",cancelButton:"Ja, Abonnement kündigen",cancelTrialTitle:"Testversion abbrechen",cancelTrialConfirm:"Bist du sicher, dass du deine Testversion abbrechen möchtest?",cancelTrialAccess:"Deine Testversion läuft weiter bis",cancelTrialNoCharge:"Dir wird nichts berechnet — deine Testversion läuft einfach ab",cancelTrialResume:"Du kannst deine Testversion jederzeit vor Ablauf wieder aufnehmen",cancelTrialKeep:"Testversion behalten",cancelTrialButton:"Ja, Testversion abbrechen",canceling:"Wird gekündigt...",cancelSuccess:"Das Abonnement wird zum Ende des Abrechnungszeitraums gekündigt.",cancelNotCharged:"Nach der Kündigung wird dir nichts mehr berechnet",cancelResumeAnytime:"Du kannst dein Abonnement jederzeit vor Ablauf wieder aufnehmen",resumeTitle:"Abonnement fortsetzen",resumeTrial:"Testversion fortsetzen",resumeConfirm:"Bist du sicher, dass du dein Abonnement fortsetzen möchtest?",resumeKeep:"Gekündigt lassen",resumeButton:"Ja, Abonnement fortsetzen",resuming:"Wird fortgesetzt...",resumeSuccess:"Das Abonnement wurde fortgesetzt.",managePayment:"Zahlung verwalten",openingPortal:"Wird geöffnet...",viewAllPlans:"Alle Pläne ansehen",scheduledCancellation:"Kündigung des Abonnements geplant",scheduledTrialCancellation:"Kündigung der Testversion geplant",paymentPastDue:"Zahlung überfällig",paymentPastDueDescription:"Bitte aktualisiere deine Zahlungsmethode, um eine Dienstunterbrechung zu vermeiden.",subscriptionPaused:"Abonnement pausiert",subscriptionPausedDescription:"Dein Abonnement ist derzeit pausiert. Setze es fort, um den vollen Zugang wiederherzustellen.",errorLoading:"Fehler beim Laden der Abonnementdaten",errorLoadingDescription:"Bitte überprüfe deine Verbindung und versuche es erneut.",errorProcessing:"Abonnement konnte nicht verarbeitet werden",errorCanceling:"Abonnement konnte nicht gekündigt werden",errorResuming:"Abonnement konnte nicht fortgesetzt werden",invalidWorkspace:"Ungültige Arbeitsbereich-ID",billingInterval:{monthly:"Monatlich",quarterly:"Vierteljährlich",yearly:"Jährlich",perMonth:"/Monat",perQuarter:"/Quartal",perYear:"/Jahr"},seats:{title:"Plätze",members:"Mitglieder",included:"Enthalten",billable:"Abrechenbar",perExtraSeat:"Pro zusätzlichem Platz",limit:"Limit",includedSeats:"Enthaltene Plätze",maxSeats:"Max. Plätze",freeWithBase:"Im Grundpreis enthalten",allIncluded:"Alle enthalten",extra:"zusätzlich",unlimited:"Unbegrenzt"},items:{features:"Funktionen",limits:"Limits",quotas:"Nutzungskontingente",credits:"AI Credits",creditsPerMonth:"Credits per month",creditsOneTime:"Credits (given once)",creditRenewal:"Credit renewal",creditModeLifetime:"Given once",creditsPerPeriod:"Credits per month",creditRollover:"Credit renewal",creditModeReset:"Fresh every month",creditModeTopup:"Adds up every month"},checkout:{upgrade:"Upgraden",downgrade:"Downgraden",switchTo:"Wechseln zu",select:"Auswählen"},status:{active:"Aktiv",canceling:"Wird gekündigt",trial:"Testversion",canceled:"Gekündigt",pastDue:"Überfällig",paused:"Pausiert",deprecated:"Veraltet",unknown:"Unbekannt"},plan:"Plan",invoicesTab:"Rechnungen",changePlanButton:"Plan ändern",noPlanAssigned:"Kein Plan zugewiesen",free:"Kostenlos",perSeatDisplay:"+ {price}/Platz{interval}",estTotalDisplay:"Geschätztes Gesamt: {total}{interval} ({count, plural, one {# zusätzlicher Platz} other {# zusätzliche Plätze}})",nextBillingDisplay:"Nächste Abrechnung: {date}",membersInWorkspace:"{count, plural, one {# Mitglied} other {# Mitglieder}} im Arbeitsbereich",billingInCurrency:"Abrechnung in {currency}",savingsPercent:"{percent, number}% sparen",switchToInterval:"Zu {interval} wechseln",seatPriceDisplay:"+ {price}/Platz{interval} ({included} {includedLabel})",trialEnded:"Deine Testversion ist abgelaufen.",trialEndsIn:"Deine Testversion endet in {days, plural, one {# Tag} other {# Tagen}}.",onTrial:"Du befindest dich in der Testversion.",upgradeToKeepAccess:"Upgrade, um den Zugang zu behalten.",viewInvoices:"Rechnungen ansehen",cancelTrial:"Testversion abbrechen",dunningFinal:"Letzte Warnung: Abonnement wird ausgesetzt",dunningSuspended:"Abonnement ausgesetzt",dunningRecovery:"Zahlungswiederherstellung läuft",dunningSuspendedDescription:"Dein Abonnement wurde aufgrund wiederholter Zahlungsfehler ausgesetzt. Aktualisiere deine Zahlungsmethode, um den Zugang wiederherzustellen.",dunningRecoveryDescription:"Wir konnten deine Zahlung nicht verarbeiten. Bitte aktualisiere deine Zahlungsmethode, um den Zugang nicht zu verlieren.",cancelEndDescription:"Dein Abonnement endet am",trialEndDescription:"Deine Testversion endet am",cancelEndFallback:"Dein Abonnement wird zum Ende des aktuellen Abrechnungszeitraums gekündigt. Dir wird nichts mehr berechnet.",resumeChargeDate:"Dir wird erneut berechnet am",resumeChargeFallback:"dem nächsten Abrechnungsdatum",resumeContinue:"Dein Abonnement wird automatisch fortgesetzt und gemäß deinem Plan abgerechnet",resumeCancelAnytime:"Du kannst jederzeit vor dem nächsten Abrechnungsdatum kündigen, wenn du es dir anders überlegst",retainAccess:"Du behältst den vollen Zugang zu diesem Plan bis",retainAccessFallback:"zum Ende deines aktuellen Abrechnungszeitraums",noPlansAvailable:"Für diesen Arbeitsbereich sind keine Plangruppen verfügbar. Bitte kontaktiere den Support, wenn du glaubst, dass dies ein Fehler ist.",noPlansAvailableHint:"Für diesen Arbeitsbereich sind keine Plangruppen verfügbar.",startTrialDescription:"Teste den vollständigen Plan ohne Verpflichtung. Du kannst jederzeit upgraden oder kündigen.",noSubscriptionDescription:"Wähle einen Plan, um mit deinem Arbeitsbereich loszulegen",startFreeTrial:"Kostenlose Testversion starten",startTrialDays:"{days}-tägige kostenlose Testversion starten",trialBadge:"{days}-Tage-Testversion"},users:{title:"Arbeitsbereich-Mitglieder",adminOnly:"Nur der Arbeitsbereich-Administrator kann Benutzer und Rollen verwalten.",inviteByEmail:"Mitglied per E-Mail einladen",inviteButton:"Einladen",inviting:"Wird eingeladen...",inviteSuccess:"Benutzer erfolgreich eingeladen",emailRequired:"E-Mail-Adresse ist erforderlich",invalidEmail:"Ungültiges E-Mail-Adressformat",inviteFailed:"Einladung des Mitglieds fehlgeschlagen",seatLimitReached:"Platzlimit erreicht",memberLimitReached:"Mitgliederlimit erreicht",role:"Rolle",you:"Du",owner:"Eigentümer",noMembers:"Keine Mitglieder in diesem Arbeitsbereich gefunden.",extraSeatCost:"Jedes zusätzliche Mitglied fügt {price}/{interval, select, yearly {Jahr} quarterly {Quartal} other {Monat}} zu deinem Abonnement hinzu",unknownUser:"Unbekannter Benutzer",seats:"Plätze",members:"Mitglieder",included:"enthalten",perExtraSeat:"/zusätzlicher Platz",maxMembers:"max. Mitglieder",available:"verfügbar",noMemberLimit:"Kein Mitgliederlimit",seatHeading:"{hasSeatPricing, select, true {Plätze} other {Mitglieder}}",limitReached:"{reason, select, seat_limit_reached {Platzlimit erreicht} other {Mitgliederlimit erreicht}}",memberCount:"{count, plural, one {# Mitglied} other {# Mitglieder}}",subscriptionRequired:"Ein Abonnement ist erforderlich, um Mitglieder einzuladen.",seatLimitMessage:"Dein Plan erlaubt bis zu {maxUsers, number} Mitglieder. Upgrade für mehr Plätze.",settingsLimitMessage:"Dieser Arbeitsbereich erlaubt bis zu {maxUsers, number} Mitglieder.",memberLimitMessage:"Mitgliederlimit von {maxUsers, number} erreicht.",selectRole:"Rolle auswählen",inviteAs:"Einladen als {role}"},invoices:{title:"Abrechnungsverlauf",description:"Rechnungen ansehen und herunterladen",pay:"Bezahlen",view:"Ansehen",viewDetails:"Details ansehen",download:"PDF",errorLoading:"Fehler beim Laden der Rechnungen",noInvoices:"Noch keine Rechnungen. Abonniere einen Plan, um Rechnungen zu erhalten.",noInvoicesWithSub:"Keine Rechnungen mit Download-Option gefunden",paidAmount:"Bezahlt: {amount}",na:"k. A.",status:{draft:"Entwurf",open:"Offen",paid:"Bezahlt",uncollectible:"Uneinbringlich",void:"Storniert"}},usage:{title:"Nutzung",description:"Überwache deinen Ressourcenverbrauch und deine Kontingente",totalResources:"Ressourcen gesamt",overallUsage:"Gesamtnutzung",inOverage:"Im Überschuss",estOverageCost:"Geschätzte Überschusskosten",overageDetected:"Überschuss erkannt",overageDescription:"Zusätzliche Nutzung wird als Überschuss auf deiner nächsten Rechnung berechnet.",overageUnits:"Überschusseinheiten",rate:"Tarif",billableBlocks:"Abrechenbare Blöcke",estimatedCharge:"Geschätzte Kosten",noData:"Keine Kontingentnutzungsdaten für diesen Arbeitsbereich verfügbar.",noDataHint:"Kontingente erscheinen hier, sobald dein Plan gemessene Ressourcen enthält.",used:"genutzt",remaining:"verbleibend",overLimit:"über dem Limit",percentUsed:"{percent, number}% genutzt",availableRemaining:"{count} verbleibend",overLimitCount:"{count} über dem Limit",overageWarning:"{count, plural, one {# Ressource hat das enthaltene Kontingent überschritten.} other {# Ressourcen haben das enthaltene Kontingent überschritten.}} Zusätzliche Nutzung wird als Überschuss auf deiner nächsten Rechnung berechnet.",fullyUsed:"Vollständig genutzt",renewingSoon:"wird bald erneuert",almostFull:"Fast voll",overage:"Überschuss",errorLoading:"Nutzungsdaten konnten nicht geladen werden",perUnit:"/ Einheit",perUnits:"/ Einheiten",rateDisplay:"{rate} {unitSize, plural, =1 {/ Einheit} other {/ {unitSize, number} Einheiten}}",resourcesExceeded:"{count, plural, one {# Ressource hat das enthaltene Kontingent überschritten.} other {# Ressourcen haben das enthaltene Kontingent überschritten.}}",estOverageCharges:"Geschätzte Überschusskosten in diesem Zeitraum: {amount}",overageRateDisplay:"Überschusstarif: {rate}",resetDateDisplay:"Nutzung wird zurückgesetzt am {date}",daysRemainingDisplay:"{count, plural, one {# Tag verbleibend} other {# Tage verbleibend}}"},profile:{email:"E-Mail",name:"Name",language:"Sprache",country:"Land",currency:"Währung",timezone:"Zeitzone",profileImage:"Profilbild",success:"Profil erfolgreich gespeichert",nameMinLength:"Der Name muss mindestens 2 Zeichen lang sein.",save:"Speichern",reset:"Zurücksetzen"},general:{ownerOnly:"Nur der Eigentümer des Arbeitsbereichs kann die Einstellungen ändern.",name:"Name",namePlaceholder:"Mein Arbeitsbereich",nameMinLength:"Der Arbeitsbereichname muss mindestens 2 Zeichen lang sein.",billingCurrency:"Abrechnungswährung",icon:"Symbol",iconDescription:"Wähle ein Emoji oder lade ein benutzerdefiniertes Bild für deinen Arbeitsbereich hoch.",imageUrl:"Bild-URL",imageUrlPlaceholder:"https://beispiel.de/bild.png",imageUrlDescription:"Gib eine gültige URL für dein Arbeitsbereich-Bild ein. Unterstützt PNG-, JPG- und SVG-Formate.",previewLabel:"Vorschau:",success:"Arbeitsbereich-Einstellungen erfolgreich gespeichert",chooseEmoji:"Emoji wählen",customImageUrl:"Benutzerdefinierte Bild-URL",updateWorkspace:"Arbeitsbereich aktualisieren"},features:{title:"Arbeitsbereich-Funktionen",ownerOnly:"Nur der Eigentümer des Arbeitsbereichs kann die Funktionen ändern.",noFeatures:"Der Arbeitsbereich hat keine zu verwaltenden Funktionen.",enabled:"aktiviert",disabled:"deaktiviert",enabling:"Wird aktiviert",disabling:"Wird deaktiviert",featureSuccess:"erfolgreich",updateSuccess:"{feature} erfolgreich {enabled, select, true {aktiviert} other {deaktiviert}}",actionStatus:"{action, select, enabling {Wird aktiviert} disabling {Wird deaktiviert} other {}}"},danger:{title:"Arbeitsbereich löschen",adminOnly:"Nur Administratoren können Arbeitsbereiche löschen.",deleteWorkspace:"Arbeitsbereich löschen",deleteConfirm:"Bist du dir absolut sicher?",deleteWarning:"Diese Aktion kann nicht rückgängig gemacht werden. Der Arbeitsbereich und alle zugehörigen Daten werden dauerhaft gelöscht.",deleting:"Wird gelöscht...",deleteDescription:"Sobald du einen Arbeitsbereich löschst, gibt es kein Zurück. Der Arbeitsbereich und alle seine Daten werden dauerhaft gelöscht, einschließlich Mitglieder, Einstellungen und Funktionen.",deleteConfirmDescription:"Diese Aktion kann nicht rückgängig gemacht werden. Der Arbeitsbereich und alle seine Daten werden dauerhaft gelöscht.",failedToDelete:"Arbeitsbereich konnte nicht gelöscht werden"},notifications:{title:"Benachrichtigungseinstellungen",permissionDenied:"Benachrichtigungsberechtigung verweigert",notSupported:"Push-Benachrichtigungen werden in diesem Browser nicht unterstützt.",manageDescription:"Verwalte, wie du Benachrichtigungen von diesem Arbeitsbereich erhältst.",blocked:"Benachrichtigungen blockiert",blockedDescription:"Du hast Benachrichtigungen für diese Seite zuvor blockiert. Um sie zu aktivieren, aktualisiere deine Browsereinstellungen:",pushTitle:"Push-Benachrichtigungen",pushEnabledDescription:"Du erhältst Browser-Benachrichtigungen für wichtige Updates.",pushDisabledDescription:"Erhalte Benachrichtigungen über Zahlungsprobleme, Ablauf der Testversion und andere wichtige Updates.",enabling:"Wird aktiviert...",disabling:"Wird deaktiviert...",enable:"Aktivieren",disable:"Deaktivieren",toggleAction:"{loading, select, true {{subscribed, select, true {Wird deaktiviert...} other {Wird aktiviert...}}} other {{subscribed, select, true {Deaktivieren} other {Aktivieren}}}}",pushDescription:"{subscribed, select, true {Du erhältst Browser-Benachrichtigungen für wichtige Updates.} other {Erhalte Benachrichtigungen über Zahlungsprobleme, Ablauf der Testversion und andere wichtige Updates.}}",deviceNote:"Benachrichtigungen werden an dieses Gerät gesendet. Aktiviere sie auf anderen Geräten separat.",prefsSaved:"Notification preferences saved.",loadingPrefs:"Loading preferences...",categories:{workspace:"Workspace",billing:"Billing & Payments"},events:{workspace_invite:"Member Invited",workspace_invite_desc:"When a new member is added to the workspace",workspace_removed:"Member Removed",workspace_removed_desc:"When a member is removed from the workspace",workspace_role_changed:"Role Changed",workspace_role_changed_desc:"When a member's role is updated",subscription_created:"Subscription Created",subscription_created_desc:"When a new subscription is activated",subscription_upgraded:"Plan Upgraded",subscription_upgraded_desc:"When the subscription plan is upgraded",subscription_canceled:"Subscription Canceled",subscription_canceled_desc:"When the subscription is canceled",subscription_suspended:"Access Suspended",subscription_suspended_desc:"When access is suspended due to payment failures",trial_ending:"Trial Ending",trial_ending_desc:"A few days before the trial expires",trial_expired:"Trial Expired",trial_expired_desc:"When the trial period has ended",payment_failed:"Payment Failed",payment_failed_desc:"When a payment could not be processed",payment_action_required:"Payment Action Required",payment_action_required_desc:"When a payment requires additional verification",payment_succeeded:"Payment Received",payment_succeeded_desc:"When a payment is successfully processed"},unblock:{firefox:{step1:"Klicke auf das Schloss-Symbol (oder Schild-Symbol) in der Adressleiste",step2:'Finde "Benachrichtigungen" in der Berechtigungsliste',step3:'Ändere von "Blockiert" zu "Erlauben"',step4:"Lade diese Seite neu"},safari:{step1:"Öffne Safari → Einstellungen → Websites → Benachrichtigungen",step2:"Finde diese Website in der Liste",step3:'Ändere von "Ablehnen" zu "Erlauben"',step4:"Lade diese Seite neu"},edge:{step1:"Klicke auf das Schloss-Symbol in der Adressleiste",step2:'Klicke auf "Berechtigungen für diese Website"',step3:'Setze "Benachrichtigungen" auf "Erlauben"',step4:"Lade diese Seite neu"},chrome:{step1:"Klicke auf das Schloss-Symbol (oder Einstellungssymbol) in der Adressleiste",step2:'Klicke auf "Website-Einstellungen"',step3:'Setze "Benachrichtigungen" auf "Erlauben"',step4:"Lade diese Seite neu"}}},quota:{includedOnly:"{count, number} enthalten",includedWithOverage:"{count, number} enthalten, dann {price} / {unit}",includedHardLimit:"{count, number} enthalten (festes Limit)",unitFallback:"Einheit"},pricing:{title:"Wähle deinen Plan",description:"Vergleiche Pläne und wähle den, der zu deinen Anforderungen passt",currency:"Währung",billingIn:"Abrechnung in",noPlansCurrency:"Keine Pläne für deine Abrechnungswährung verfügbar.",noPlansCurrencyHint:"Etwas ist schiefgelaufen. Bitte kontaktiere den Support.",noPlans:"Keine Pläne verfügbar",free:"Kostenlos",included:"enthalten",save:"Sparen",current:"Aktuell",processing:"Wird verarbeitet...",unavailable:"Nicht verfügbar",selectCurrency:"Abrechnungswährung auswählen",billingInterval:"Abrechnungsintervall"},beta:{nameLabel:"Name",emailLabel:"E-Mail",submitText:"Absenden",submittingText:"Wird gesendet...",errorMessage:"Ein Fehler ist aufgetreten",tryAgain:"Erneut versuchen",privacyConsent:"Mit dem Absenden dieses Formulars stimmst du unserer",privacyPolicy:"Datenschutzrichtlinie",and:"und",termsOfService:"Nutzungsbedingungen"},workspace:{switchTitle:"Arbeitsbereich wechseln",switchDescription:"Wähle einen Arbeitsbereich aus oder erstelle einen neuen.",notLoggedIn:"Es sieht so aus, als wärst du nicht eingeloggt. Bitte melde dich an, um fortzufahren.",availableWorkspaces:"Verfügbare Arbeitsbereiche ({count, number})",loadingWorkspaces:"Arbeitsbereiche werden geladen...",searchPlaceholder:"Arbeitsbereiche suchen...",noWorkspacesFound:"Keine Arbeitsbereiche gefunden",noWorkspacesAvailable:"Keine Arbeitsbereiche verfügbar",switchTo:"Wechseln zu",membersCount:"{count, plural, one {# Mitglied} other {# Mitglieder}}",createNew:"Neuen Arbeitsbereich erstellen",createTitle:"Neuen Arbeitsbereich erstellen",createDescription:"Erstelle einen neuen Arbeitsbereich, um loszulegen.",workspaceName:"Name des Arbeitsbereichs",workspaceNamePlaceholder:"Mein Arbeitsbereich",workspaceNameMinLength:"Der Arbeitsbereichname muss mindestens 2 Zeichen lang sein.",workspaceIcon:"Arbeitsbereich-Symbol",iconDescription:"Wähle ein Emoji oder lade ein benutzerdefiniertes Bild für deinen Arbeitsbereich hoch.",chooseEmoji:"Emoji wählen",customImageUrl:"Benutzerdefinierte Bild-URL",imageUrl:"Bild-URL",imageUrlPlaceholder:"https://beispiel.de/bild.png",imageUrlDescription:"Gib eine gültige URL für dein Arbeitsbereich-Bild ein. Unterstützt PNG-, JPG- und SVG-Formate.",invalidUrl:"Bitte gib eine gültige URL ein",creating:"Wird erstellt...",createWorkspace:"Arbeitsbereich erstellen"},dropdowns:{search:"Suchen...",chooseOption:"Option wählen",chooseCountry:"Land wählen",searchCountry:"Land wählen...",chooseLanguage:"Sprache wählen",searchLanguage:"Sprache wählen...",chooseCurrency:"Währung wählen",searchCurrency:"Währung wählen...",chooseTimezone:"Zeitzone wählen",searchTimezone:"Zeitzone wählen..."},push:{failedToSubscribe:"Push-Benachrichtigungen konnten nicht abonniert werden",failedToUnsubscribe:"Push-Benachrichtigungen konnten nicht abbestellt werden"},permissions:{title:"Berechtigungen",description:"Konfiguriere, was jede Rolle in diesem Arbeitsbereich tun kann.",ownerOnly:"Nur der Eigentümer des Arbeitsbereichs kann Berechtigungen verwalten.",save:"Berechtigungen speichern",saving:"Wird gespeichert...",saveSuccess:"Berechtigungen erfolgreich gespeichert"},credits:{title:"Guthaben",description:"Guthaben kann für Premium-Aktionen wie KI-Generierung verwendet werden.",balance:"Guthabenstand",available:"Verfügbar",totalGranted:"Gesamt gewährt",totalConsumed:"Gesamt verbraucht",totalExpired:"Gesamt abgelaufen",noCredits:"Noch kein Guthaben",noCreditsHint:"Guthaben wird hier angezeigt, wenn es durch deinen Plan gewährt oder gekauft wurde.",buyCredits:"Guthaben kaufen",buyAmount:"Buy {count} Credits",purchasing:"Weiterleitung...",packages:"Guthabenpakete",noPackages:"Keine Guthabenpakete verfügbar.",creditsAmount:"{count} Guthaben",validityDays:"Gültig für {count} Tage",validityUnlimited:"Kein Ablaufdatum",transactions:"Letzte Transaktionen",noTransactions:"Noch keine Transaktionen.",loadMore:"Load More",viewAll:"Alle anzeigen",expiringSoon:"Läuft bald ab",expiringInDays:"{count} Guthaben läuft innerhalb von {days} Tagen ab",noExpiring:"Kein Guthaben läuft bald ab.",type:{plan_grant:"Plan-Gewährung",pack_purchased:"Gekauft",consumed:"Verbraucht",expired:"Abgelaufen",admin_grant:"Gewährt",admin_revoke:"Widerrufen",refund:"Erstattung"},dialogTitle:"Buy Credit Packages",dialogDescription:"Choose a credit package to purchase.",dialogDescriptionWorkspace:"Purchase credits for {workspace}.",perCredit:"{price} per credit",purchaseSuccess:"Guthaben erfolgreich gekauft! Dein Kontostand wurde aktualisiert.",purchaseCanceled:"Guthabenkauf wurde abgebrochen. Es wurden keine Gebühren erhoben.",purchaseFailed:"Guthabenkauf fehlgeschlagen. Bitte versuche es erneut oder kontaktiere den Support.",errorLoading:"Guthabendaten konnten nicht geladen werden",insufficientCredits:"Nicht genügend Guthaben"},loading:{restoringSession:"Sitzung wird wiederhergestellt...",redirecting:"Weiterleitung...",signingIn:"Anmeldung läuft...",verifyingAccount:"Konto wird überprüft...",almostThere:"Fast geschafft..."},errors:{networkError:"Netzwerkfehler: Bitte überprüfe deine Internetverbindung",unauthorized:"Nicht autorisiert — Bitte überprüfe deine Sitzung",notFound:"Ressource nicht gefunden",generic:"Ein Fehler ist aufgetreten",fetchPlans:"Pläne konnten nicht abgerufen werden",fetchPlanGroup:"Plangruppe konnte nicht abgerufen werden",fetchPlanGroupVersion:"Plangruppenversion konnte nicht abgerufen werden",fetchPlanGroupVersions:"Plangruppenversionen konnten nicht abgerufen werden",fetchSubscription:"Abonnement konnte nicht abgerufen werden",createCheckout:"Checkout-Sitzung konnte nicht erstellt werden",updateSubscription:"Abonnement konnte nicht aktualisiert werden",fetchInvoices:"Rechnungen konnten nicht abgerufen werden",fetchInvoice:"Rechnung konnte nicht abgerufen werden",openBillingPortal:"Abrechnungsportal konnte nicht geöffnet werden",cancelSubscription:"Abonnement konnte nicht gekündigt werden",resumeSubscription:"Abonnement konnte nicht fortgesetzt werden",recordUsage:"Nutzung konnte nicht erfasst werden",fetchQuotaUsage:"Kontingentnutzungsstatus konnte nicht abgerufen werden",fetchAllQuotaUsage:"Gesamte Kontingentnutzung konnte nicht abgerufen werden",fetchUsageLogs:"Nutzungsprotokolle konnten nicht abgerufen werden",fetchCreditBalance:"Guthabenstand konnte nicht abgerufen werden",consumeCredits:"Guthaben konnte nicht verbraucht werden",purchaseCredits:"Guthaben konnte nicht gekauft werden",fetchCreditPackages:"Guthabenpakete konnten nicht abgerufen werden",fetchCreditTransactions:"Guthabentransaktionen konnten nicht abgerufen werden",fetchExpiringCredits:"Ablaufendes Guthaben konnte nicht abgerufen werden"},security:{inactive:"Inaktiv",inactiveHint:"Auf einer früheren Anmeldedomain registriert und nicht mehr verwendbar. Sie können ihn entfernen.",passkeysTitle:"Passkeys",passkeysDescription:"Mit Passkeys melden Sie sich per Fingerabdruck, Gesicht oder Geräte-PIN an.",noPasskeys:"Keine Passkeys registriert",addHint:'Um einen Passkey hinzuzufügen, wählen Sie bei der nächsten Anmeldung auf dem gewünschten Gerät "Passkey hinzufügen".',rename:"Umbenennen",remove:"Entfernen",removeTitle:"Passkey entfernen",removeDescription:"Sie können sich mit diesem Passkey nicht mehr anmelden.",renamePlaceholder:"Passkey-Name",lastUsed:"Zuletzt verwendet",added:"Hinzugefügt"}};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
const e={settings:{titles:{profile:"Konto",security:"Sicherheit",general:"Arbeitsbereich-Einstellungen",users:"Arbeitsbereich-Mitglieder",subscription:"Plan & Abrechnung",usage:"Nutzung",credits:"Guthaben",features:"Arbeitsbereich-Funktionen",notifications:"Benachrichtigungen",permissions:"Berechtigungen",danger:"Gefahrenzone"},sidebar:{account:"Konto",workspace:"Arbeitsbereich",profile:"Konto",security:"Sicherheit",general:"Einstellungen",users:"Mitglieder",subscription:"Plan & Abrechnung",usage:"Nutzung",credits:"Guthaben",features:"Funktionen",notifications:"Benachrichtigungen",permissions:"Berechtigungen",danger:"Gefahrenzone"},common:{refresh:"Aktualisieren",refreshing:"Wird aktualisiert...",retry:"Erneut versuchen",retrying:"Wird erneut versucht...",save:"Speichern",saving:"Wird gespeichert...",cancel:"Abbrechen",delete:"Löschen",dismiss:"Verwerfen",loading:"Wird geladen...",success:"Erfolg!",error:"Fehler",refreshAction:"{loading, select, true {Wird aktualisiert...} other {Aktualisieren}}",retryAction:"{loading, select, true {Wird erneut versucht...} other {Erneut versuchen}}",noPermissionTitle:"Zugriff eingeschränkt",noPermissionDescription:"Sie haben keine Berechtigung, auf diesen Bereich zuzugreifen. Kontaktieren Sie einen Workspace-Administrator, wenn Sie Zugriff benötigen.",billingManageOnly:"Nur Benutzer mit Abrechnungsverwaltungsberechtigungen können diese Aktion durchführen."}},subscription:{managePlan:"Verwalte deinen Plan und deine Abrechnung",changePlan:"Plan ändern",viewPricingPlans:"Preispläne ansehen",viewPlans:"Pläne ansehen",upgradePlan:"Jetzt upgraden",subscribe:"Abonnieren",currentPlan:"Aktueller Plan",noSubscription:"Du hast kein aktives Abonnement",choosePlan:"Wähle deinen Plan",choosePlanDescription:"Vergleiche Pläne und wähle den, der zu deinen Anforderungen passt",forWorkspace:"für {name}",planUpdateAvailable:"Plan-Update verfügbar",updateSuccess:"Abonnement erfolgreich aktualisiert!",updateFailed:"Aktualisierung fehlgeschlagen",cancelTitle:"Abonnement kündigen",cancelConfirm:"Bist du sicher, dass du dein Abonnement kündigen möchtest?",cancelKeep:"Abonnement behalten",cancelButton:"Ja, Abonnement kündigen",cancelTrialTitle:"Testversion abbrechen",cancelTrialConfirm:"Bist du sicher, dass du deine Testversion abbrechen möchtest?",cancelTrialAccess:"Deine Testversion läuft weiter bis",cancelTrialNoCharge:"Dir wird nichts berechnet — deine Testversion läuft einfach ab",cancelTrialResume:"Du kannst deine Testversion jederzeit vor Ablauf wieder aufnehmen",cancelTrialKeep:"Testversion behalten",cancelTrialButton:"Ja, Testversion abbrechen",canceling:"Wird gekündigt...",cancelSuccess:"Das Abonnement wird zum Ende des Abrechnungszeitraums gekündigt.",cancelNotCharged:"Nach der Kündigung wird dir nichts mehr berechnet",cancelResumeAnytime:"Du kannst dein Abonnement jederzeit vor Ablauf wieder aufnehmen",resumeTitle:"Abonnement fortsetzen",resumeTrial:"Testversion fortsetzen",resumeConfirm:"Bist du sicher, dass du dein Abonnement fortsetzen möchtest?",resumeKeep:"Gekündigt lassen",resumeButton:"Ja, Abonnement fortsetzen",resuming:"Wird fortgesetzt...",resumeSuccess:"Das Abonnement wurde fortgesetzt.",managePayment:"Zahlung verwalten",openingPortal:"Wird geöffnet...",viewAllPlans:"Alle Pläne ansehen",scheduledCancellation:"Kündigung des Abonnements geplant",scheduledTrialCancellation:"Kündigung der Testversion geplant",paymentPastDue:"Zahlung überfällig",paymentPastDueDescription:"Bitte aktualisiere deine Zahlungsmethode, um eine Dienstunterbrechung zu vermeiden.",subscriptionPaused:"Abonnement pausiert",subscriptionPausedDescription:"Dein Abonnement ist derzeit pausiert. Setze es fort, um den vollen Zugang wiederherzustellen.",errorLoading:"Fehler beim Laden der Abonnementdaten",errorLoadingDescription:"Bitte überprüfe deine Verbindung und versuche es erneut.",errorProcessing:"Abonnement konnte nicht verarbeitet werden",errorCanceling:"Abonnement konnte nicht gekündigt werden",errorResuming:"Abonnement konnte nicht fortgesetzt werden",invalidWorkspace:"Ungültige Arbeitsbereich-ID",billingInterval:{monthly:"Monatlich",quarterly:"Vierteljährlich",yearly:"Jährlich",perMonth:"/Monat",perQuarter:"/Quartal",perYear:"/Jahr"},seats:{title:"Plätze",members:"Mitglieder",included:"Enthalten",billable:"Abrechenbar",perExtraSeat:"Pro zusätzlichem Platz",limit:"Limit",includedSeats:"Enthaltene Plätze",maxSeats:"Max. Plätze",freeWithBase:"Im Grundpreis enthalten",allIncluded:"Alle enthalten",extra:"zusätzlich",unlimited:"Unbegrenzt"},items:{features:"Funktionen",limits:"Limits",quotas:"Nutzungskontingente",credits:"AI Credits",creditsPerMonth:"Credits per month",creditsOneTime:"Credits (given once)",creditRenewal:"Credit renewal",creditModeLifetime:"Given once",creditsPerPeriod:"Credits per month",creditRollover:"Credit renewal",creditModeReset:"Fresh every month",creditModeTopup:"Adds up every month"},checkout:{upgrade:"Upgraden",downgrade:"Downgraden",switchTo:"Wechseln zu",select:"Auswählen"},status:{active:"Aktiv",canceling:"Wird gekündigt",trial:"Testversion",canceled:"Gekündigt",pastDue:"Überfällig",paused:"Pausiert",deprecated:"Veraltet",unknown:"Unbekannt"},plan:"Plan",invoicesTab:"Rechnungen",changePlanButton:"Plan ändern",noPlanAssigned:"Kein Plan zugewiesen",free:"Kostenlos",perSeatDisplay:"+ {price}/Platz{interval}",estTotalDisplay:"Geschätztes Gesamt: {total}{interval} ({count, plural, one {# zusätzlicher Platz} other {# zusätzliche Plätze}})",nextBillingDisplay:"Nächste Abrechnung: {date}",membersInWorkspace:"{count, plural, one {# Mitglied} other {# Mitglieder}} im Arbeitsbereich",billingInCurrency:"Abrechnung in {currency}",savingsPercent:"{percent, number}% sparen",switchToInterval:"Zu {interval} wechseln",seatPriceDisplay:"+ {price}/Platz{interval} ({included} {includedLabel})",trialEnded:"Deine Testversion ist abgelaufen.",trialEndsIn:"Deine Testversion endet in {days, plural, one {# Tag} other {# Tagen}}.",onTrial:"Du befindest dich in der Testversion.",upgradeToKeepAccess:"Upgrade, um den Zugang zu behalten.",viewInvoices:"Rechnungen ansehen",cancelTrial:"Testversion abbrechen",dunningFinal:"Letzte Warnung: Abonnement wird ausgesetzt",dunningSuspended:"Abonnement ausgesetzt",dunningRecovery:"Zahlungswiederherstellung läuft",dunningSuspendedDescription:"Dein Abonnement wurde aufgrund wiederholter Zahlungsfehler ausgesetzt. Aktualisiere deine Zahlungsmethode, um den Zugang wiederherzustellen.",dunningRecoveryDescription:"Wir konnten deine Zahlung nicht verarbeiten. Bitte aktualisiere deine Zahlungsmethode, um den Zugang nicht zu verlieren.",cancelEndDescription:"Dein Abonnement endet am",trialEndDescription:"Deine Testversion endet am",cancelEndFallback:"Dein Abonnement wird zum Ende des aktuellen Abrechnungszeitraums gekündigt. Dir wird nichts mehr berechnet.",resumeChargeDate:"Dir wird erneut berechnet am",resumeChargeFallback:"dem nächsten Abrechnungsdatum",resumeContinue:"Dein Abonnement wird automatisch fortgesetzt und gemäß deinem Plan abgerechnet",resumeCancelAnytime:"Du kannst jederzeit vor dem nächsten Abrechnungsdatum kündigen, wenn du es dir anders überlegst",retainAccess:"Du behältst den vollen Zugang zu diesem Plan bis",retainAccessFallback:"zum Ende deines aktuellen Abrechnungszeitraums",noPlansAvailable:"Für diesen Arbeitsbereich sind keine Plangruppen verfügbar. Bitte kontaktiere den Support, wenn du glaubst, dass dies ein Fehler ist.",noPlansAvailableHint:"Für diesen Arbeitsbereich sind keine Plangruppen verfügbar.",startTrialDescription:"Teste den vollständigen Plan ohne Verpflichtung. Du kannst jederzeit upgraden oder kündigen.",noSubscriptionDescription:"Wähle einen Plan, um mit deinem Arbeitsbereich loszulegen",startFreeTrial:"Kostenlose Testversion starten",startTrialDays:"{days}-tägige kostenlose Testversion starten",trialBadge:"{days}-Tage-Testversion"},users:{title:"Arbeitsbereich-Mitglieder",adminOnly:"Nur der Arbeitsbereich-Administrator kann Benutzer und Rollen verwalten.",inviteByEmail:"Mitglied per E-Mail einladen",inviteButton:"Einladen",inviting:"Wird eingeladen...",inviteSuccess:"Benutzer erfolgreich eingeladen",emailRequired:"E-Mail-Adresse ist erforderlich",invalidEmail:"Ungültiges E-Mail-Adressformat",inviteFailed:"Einladung des Mitglieds fehlgeschlagen",seatLimitReached:"Platzlimit erreicht",memberLimitReached:"Mitgliederlimit erreicht",role:"Rolle",you:"Du",owner:"Eigentümer",noMembers:"Keine Mitglieder in diesem Arbeitsbereich gefunden.",extraSeatCost:"Jedes zusätzliche Mitglied fügt {price}/{interval, select, yearly {Jahr} quarterly {Quartal} other {Monat}} zu deinem Abonnement hinzu",unknownUser:"Unbekannter Benutzer",seats:"Plätze",members:"Mitglieder",included:"enthalten",perExtraSeat:"/zusätzlicher Platz",maxMembers:"max. Mitglieder",available:"verfügbar",noMemberLimit:"Kein Mitgliederlimit",seatHeading:"{hasSeatPricing, select, true {Plätze} other {Mitglieder}}",limitReached:"{reason, select, seat_limit_reached {Platzlimit erreicht} other {Mitgliederlimit erreicht}}",memberCount:"{count, plural, one {# Mitglied} other {# Mitglieder}}",subscriptionRequired:"Ein Abonnement ist erforderlich, um Mitglieder einzuladen.",seatLimitMessage:"Dein Plan erlaubt bis zu {maxUsers, number} Mitglieder. Upgrade für mehr Plätze.",settingsLimitMessage:"Dieser Arbeitsbereich erlaubt bis zu {maxUsers, number} Mitglieder.",memberLimitMessage:"Mitgliederlimit von {maxUsers, number} erreicht.",selectRole:"Rolle auswählen",inviteAs:"Einladen als {role}"},invoices:{title:"Abrechnungsverlauf",description:"Rechnungen ansehen und herunterladen",pay:"Bezahlen",view:"Ansehen",viewDetails:"Details ansehen",download:"PDF",errorLoading:"Fehler beim Laden der Rechnungen",noInvoices:"Noch keine Rechnungen. Abonniere einen Plan, um Rechnungen zu erhalten.",noInvoicesWithSub:"Keine Rechnungen mit Download-Option gefunden",paidAmount:"Bezahlt: {amount}",na:"k. A.",status:{draft:"Entwurf",open:"Offen",paid:"Bezahlt",uncollectible:"Uneinbringlich",void:"Storniert"}},usage:{title:"Nutzung",description:"Überwache deinen Ressourcenverbrauch und deine Kontingente",totalResources:"Ressourcen gesamt",overallUsage:"Gesamtnutzung",inOverage:"Im Überschuss",estOverageCost:"Geschätzte Überschusskosten",overageDetected:"Überschuss erkannt",overageDescription:"Zusätzliche Nutzung wird als Überschuss auf deiner nächsten Rechnung berechnet.",overageUnits:"Überschusseinheiten",rate:"Tarif",billableBlocks:"Abrechenbare Blöcke",estimatedCharge:"Geschätzte Kosten",noData:"Keine Kontingentnutzungsdaten für diesen Arbeitsbereich verfügbar.",noDataHint:"Kontingente erscheinen hier, sobald dein Plan gemessene Ressourcen enthält.",used:"genutzt",remaining:"verbleibend",overLimit:"über dem Limit",percentUsed:"{percent, number}% genutzt",availableRemaining:"{count} verbleibend",overLimitCount:"{count} über dem Limit",overageWarning:"{count, plural, one {# Ressource hat das enthaltene Kontingent überschritten.} other {# Ressourcen haben das enthaltene Kontingent überschritten.}} Zusätzliche Nutzung wird als Überschuss auf deiner nächsten Rechnung berechnet.",fullyUsed:"Vollständig genutzt",renewingSoon:"wird bald erneuert",almostFull:"Fast voll",overage:"Überschuss",errorLoading:"Nutzungsdaten konnten nicht geladen werden",perUnit:"/ Einheit",perUnits:"/ Einheiten",rateDisplay:"{rate} {unitSize, plural, =1 {/ Einheit} other {/ {unitSize, number} Einheiten}}",resourcesExceeded:"{count, plural, one {# Ressource hat das enthaltene Kontingent überschritten.} other {# Ressourcen haben das enthaltene Kontingent überschritten.}}",estOverageCharges:"Geschätzte Überschusskosten in diesem Zeitraum: {amount}",overageRateDisplay:"Überschusstarif: {rate}",resetDateDisplay:"Nutzung wird zurückgesetzt am {date}",daysRemainingDisplay:"{count, plural, one {# Tag verbleibend} other {# Tage verbleibend}}"},profile:{email:"E-Mail",name:"Name",language:"Sprache",country:"Land",currency:"Währung",timezone:"Zeitzone",profileImage:"Profilbild",success:"Profil erfolgreich gespeichert",nameMinLength:"Der Name muss mindestens 2 Zeichen lang sein.",save:"Speichern",reset:"Zurücksetzen"},general:{ownerOnly:"Nur der Eigentümer des Arbeitsbereichs kann die Einstellungen ändern.",name:"Name",namePlaceholder:"Mein Arbeitsbereich",nameMinLength:"Der Arbeitsbereichname muss mindestens 2 Zeichen lang sein.",billingCurrency:"Abrechnungswährung",icon:"Symbol",iconDescription:"Wähle ein Emoji oder lade ein benutzerdefiniertes Bild für deinen Arbeitsbereich hoch.",imageUrl:"Bild-URL",imageUrlPlaceholder:"https://beispiel.de/bild.png",imageUrlDescription:"Gib eine gültige URL für dein Arbeitsbereich-Bild ein. Unterstützt PNG-, JPG- und SVG-Formate.",previewLabel:"Vorschau:",success:"Arbeitsbereich-Einstellungen erfolgreich gespeichert",chooseEmoji:"Emoji wählen",customImageUrl:"Benutzerdefinierte Bild-URL",updateWorkspace:"Arbeitsbereich aktualisieren"},features:{title:"Arbeitsbereich-Funktionen",ownerOnly:"Nur der Eigentümer des Arbeitsbereichs kann die Funktionen ändern.",noFeatures:"Der Arbeitsbereich hat keine zu verwaltenden Funktionen.",enabled:"aktiviert",disabled:"deaktiviert",enabling:"Wird aktiviert",disabling:"Wird deaktiviert",featureSuccess:"erfolgreich",updateSuccess:"{feature} erfolgreich {enabled, select, true {aktiviert} other {deaktiviert}}",actionStatus:"{action, select, enabling {Wird aktiviert} disabling {Wird deaktiviert} other {}}"},danger:{title:"Arbeitsbereich löschen",adminOnly:"Nur Administratoren können Arbeitsbereiche löschen.",deleteWorkspace:"Arbeitsbereich löschen",deleteConfirm:"Bist du dir absolut sicher?",deleteWarning:"Diese Aktion kann nicht rückgängig gemacht werden. Der Arbeitsbereich und alle zugehörigen Daten werden dauerhaft gelöscht.",deleting:"Wird gelöscht...",deleteDescription:"Sobald du einen Arbeitsbereich löschst, gibt es kein Zurück. Der Arbeitsbereich und alle seine Daten werden dauerhaft gelöscht, einschließlich Mitglieder, Einstellungen und Funktionen.",deleteConfirmDescription:"Diese Aktion kann nicht rückgängig gemacht werden. Der Arbeitsbereich und alle seine Daten werden dauerhaft gelöscht.",failedToDelete:"Arbeitsbereich konnte nicht gelöscht werden"},notifications:{title:"Benachrichtigungseinstellungen",permissionDenied:"Benachrichtigungsberechtigung verweigert",notSupported:"Push-Benachrichtigungen werden in diesem Browser nicht unterstützt.",manageDescription:"Verwalte, wie du Benachrichtigungen von diesem Arbeitsbereich erhältst.",blocked:"Benachrichtigungen blockiert",blockedDescription:"Du hast Benachrichtigungen für diese Seite zuvor blockiert. Um sie zu aktivieren, aktualisiere deine Browsereinstellungen:",pushTitle:"Push-Benachrichtigungen",pushEnabledDescription:"Du erhältst Browser-Benachrichtigungen für wichtige Updates.",pushDisabledDescription:"Erhalte Benachrichtigungen über Zahlungsprobleme, Ablauf der Testversion und andere wichtige Updates.",enabling:"Wird aktiviert...",disabling:"Wird deaktiviert...",enable:"Aktivieren",disable:"Deaktivieren",toggleAction:"{loading, select, true {{subscribed, select, true {Wird deaktiviert...} other {Wird aktiviert...}}} other {{subscribed, select, true {Deaktivieren} other {Aktivieren}}}}",pushDescription:"{subscribed, select, true {Du erhältst Browser-Benachrichtigungen für wichtige Updates.} other {Erhalte Benachrichtigungen über Zahlungsprobleme, Ablauf der Testversion und andere wichtige Updates.}}",deviceNote:"Benachrichtigungen werden an dieses Gerät gesendet. Aktiviere sie auf anderen Geräten separat.",prefsSaved:"Notification preferences saved.",loadingPrefs:"Loading preferences...",categories:{workspace:"Workspace",billing:"Billing & Payments"},events:{workspace_invite:"Member Invited",workspace_invite_desc:"When a new member is added to the workspace",workspace_removed:"Member Removed",workspace_removed_desc:"When a member is removed from the workspace",workspace_role_changed:"Role Changed",workspace_role_changed_desc:"When a member's role is updated",subscription_created:"Subscription Created",subscription_created_desc:"When a new subscription is activated",subscription_upgraded:"Plan Upgraded",subscription_upgraded_desc:"When the subscription plan is upgraded",subscription_canceled:"Subscription Canceled",subscription_canceled_desc:"When the subscription is canceled",subscription_suspended:"Access Suspended",subscription_suspended_desc:"When access is suspended due to payment failures",trial_ending:"Trial Ending",trial_ending_desc:"A few days before the trial expires",trial_expired:"Trial Expired",trial_expired_desc:"When the trial period has ended",payment_failed:"Payment Failed",payment_failed_desc:"When a payment could not be processed",payment_action_required:"Payment Action Required",payment_action_required_desc:"When a payment requires additional verification",payment_succeeded:"Payment Received",payment_succeeded_desc:"When a payment is successfully processed"},unblock:{firefox:{step1:"Klicke auf das Schloss-Symbol (oder Schild-Symbol) in der Adressleiste",step2:'Finde "Benachrichtigungen" in der Berechtigungsliste',step3:'Ändere von "Blockiert" zu "Erlauben"',step4:"Lade diese Seite neu"},safari:{step1:"Öffne Safari → Einstellungen → Websites → Benachrichtigungen",step2:"Finde diese Website in der Liste",step3:'Ändere von "Ablehnen" zu "Erlauben"',step4:"Lade diese Seite neu"},edge:{step1:"Klicke auf das Schloss-Symbol in der Adressleiste",step2:'Klicke auf "Berechtigungen für diese Website"',step3:'Setze "Benachrichtigungen" auf "Erlauben"',step4:"Lade diese Seite neu"},chrome:{step1:"Klicke auf das Schloss-Symbol (oder Einstellungssymbol) in der Adressleiste",step2:'Klicke auf "Website-Einstellungen"',step3:'Setze "Benachrichtigungen" auf "Erlauben"',step4:"Lade diese Seite neu"}}},quota:{includedOnly:"{count, number} enthalten",includedWithOverage:"{count, number} enthalten, dann {price} / {unit}",includedHardLimit:"{count, number} enthalten (festes Limit)",unitFallback:"Einheit"},pricing:{title:"Wähle deinen Plan",description:"Vergleiche Pläne und wähle den, der zu deinen Anforderungen passt",currency:"Währung",billingIn:"Abrechnung in",noPlansCurrency:"Keine Pläne für deine Abrechnungswährung verfügbar.",noPlansCurrencyHint:"Etwas ist schiefgelaufen. Bitte kontaktiere den Support.",noPlans:"Keine Pläne verfügbar",free:"Kostenlos",included:"enthalten",save:"Sparen",current:"Aktuell",processing:"Wird verarbeitet...",unavailable:"Nicht verfügbar",selectCurrency:"Abrechnungswährung auswählen",billingInterval:"Abrechnungsintervall"},beta:{nameLabel:"Name",emailLabel:"E-Mail",submitText:"Absenden",submittingText:"Wird gesendet...",errorMessage:"Ein Fehler ist aufgetreten",tryAgain:"Erneut versuchen",privacyConsent:"Mit dem Absenden dieses Formulars stimmst du unserer",privacyPolicy:"Datenschutzrichtlinie",and:"und",termsOfService:"Nutzungsbedingungen"},workspace:{switchTitle:"Arbeitsbereich wechseln",switchDescription:"Wähle einen Arbeitsbereich aus oder erstelle einen neuen.",notLoggedIn:"Es sieht so aus, als wärst du nicht eingeloggt. Bitte melde dich an, um fortzufahren.",availableWorkspaces:"Verfügbare Arbeitsbereiche ({count, number})",loadingWorkspaces:"Arbeitsbereiche werden geladen...",searchPlaceholder:"Arbeitsbereiche suchen...",noWorkspacesFound:"Keine Arbeitsbereiche gefunden",noWorkspacesAvailable:"Keine Arbeitsbereiche verfügbar",switchTo:"Wechseln zu",membersCount:"{count, plural, one {# Mitglied} other {# Mitglieder}}",createNew:"Neuen Arbeitsbereich erstellen",createTitle:"Neuen Arbeitsbereich erstellen",createDescription:"Erstelle einen neuen Arbeitsbereich, um loszulegen.",workspaceName:"Name des Arbeitsbereichs",workspaceNamePlaceholder:"Mein Arbeitsbereich",workspaceNameMinLength:"Der Arbeitsbereichname muss mindestens 2 Zeichen lang sein.",workspaceIcon:"Arbeitsbereich-Symbol",iconDescription:"Wähle ein Emoji oder lade ein benutzerdefiniertes Bild für deinen Arbeitsbereich hoch.",chooseEmoji:"Emoji wählen",customImageUrl:"Benutzerdefinierte Bild-URL",imageUrl:"Bild-URL",imageUrlPlaceholder:"https://beispiel.de/bild.png",imageUrlDescription:"Gib eine gültige URL für dein Arbeitsbereich-Bild ein. Unterstützt PNG-, JPG- und SVG-Formate.",invalidUrl:"Bitte gib eine gültige URL ein",creating:"Wird erstellt...",createWorkspace:"Arbeitsbereich erstellen"},dropdowns:{search:"Suchen...",chooseOption:"Option wählen",chooseCountry:"Land wählen",searchCountry:"Land wählen...",chooseLanguage:"Sprache wählen",searchLanguage:"Sprache wählen...",chooseCurrency:"Währung wählen",searchCurrency:"Währung wählen...",chooseTimezone:"Zeitzone wählen",searchTimezone:"Zeitzone wählen..."},push:{failedToSubscribe:"Push-Benachrichtigungen konnten nicht abonniert werden",failedToUnsubscribe:"Push-Benachrichtigungen konnten nicht abbestellt werden"},permissions:{title:"Berechtigungen",description:"Konfiguriere, was jede Rolle in diesem Arbeitsbereich tun kann.",ownerOnly:"Nur der Eigentümer des Arbeitsbereichs kann Berechtigungen verwalten.",save:"Berechtigungen speichern",saving:"Wird gespeichert...",saveSuccess:"Berechtigungen erfolgreich gespeichert"},credits:{title:"Guthaben",description:"Guthaben kann für Premium-Aktionen wie KI-Generierung verwendet werden.",balance:"Guthabenstand",available:"Verfügbar",totalGranted:"Gesamt gewährt",totalConsumed:"Gesamt verbraucht",totalExpired:"Gesamt abgelaufen",noCredits:"Noch kein Guthaben",noCreditsHint:"Guthaben wird hier angezeigt, wenn es durch deinen Plan gewährt oder gekauft wurde.",buyCredits:"Guthaben kaufen",buyAmount:"Buy {count} Credits",purchasing:"Weiterleitung...",packages:"Guthabenpakete",noPackages:"Keine Guthabenpakete verfügbar.",creditsAmount:"{count} Guthaben",validityDays:"Gültig für {count} Tage",validityUnlimited:"Kein Ablaufdatum",transactions:"Letzte Transaktionen",noTransactions:"Noch keine Transaktionen.",loadMore:"Load More",viewAll:"Alle anzeigen",expiringSoon:"Läuft bald ab",expiringInDays:"{count} Guthaben läuft innerhalb von {days} Tagen ab",noExpiring:"Kein Guthaben läuft bald ab.",type:{plan_grant:"Plan-Gewährung",pack_purchased:"Gekauft",consumed:"Verbraucht",expired:"Abgelaufen",admin_grant:"Gewährt",admin_revoke:"Widerrufen",refund:"Erstattung"},dialogTitle:"Buy Credit Packages",dialogDescription:"Choose a credit package to purchase.",dialogDescriptionWorkspace:"Purchase credits for {workspace}.",perCredit:"{price} per credit",purchaseSuccess:"Guthaben erfolgreich gekauft! Dein Kontostand wurde aktualisiert.",purchaseCanceled:"Guthabenkauf wurde abgebrochen. Es wurden keine Gebühren erhoben.",purchaseFailed:"Guthabenkauf fehlgeschlagen. Bitte versuche es erneut oder kontaktiere den Support.",errorLoading:"Guthabendaten konnten nicht geladen werden",insufficientCredits:"Nicht genügend Guthaben"},loading:{restoringSession:"Sitzung wird wiederhergestellt...",redirecting:"Weiterleitung...",signingIn:"Anmeldung läuft...",verifyingAccount:"Konto wird überprüft...",almostThere:"Fast geschafft..."},errors:{networkError:"Netzwerkfehler: Bitte überprüfe deine Internetverbindung",unauthorized:"Nicht autorisiert — Bitte überprüfe deine Sitzung",notFound:"Ressource nicht gefunden",generic:"Ein Fehler ist aufgetreten",fetchPlans:"Pläne konnten nicht abgerufen werden",fetchPlanGroup:"Plangruppe konnte nicht abgerufen werden",fetchPlanGroupVersion:"Plangruppenversion konnte nicht abgerufen werden",fetchPlanGroupVersions:"Plangruppenversionen konnten nicht abgerufen werden",fetchSubscription:"Abonnement konnte nicht abgerufen werden",createCheckout:"Checkout-Sitzung konnte nicht erstellt werden",updateSubscription:"Abonnement konnte nicht aktualisiert werden",fetchInvoices:"Rechnungen konnten nicht abgerufen werden",fetchInvoice:"Rechnung konnte nicht abgerufen werden",openBillingPortal:"Abrechnungsportal konnte nicht geöffnet werden",cancelSubscription:"Abonnement konnte nicht gekündigt werden",resumeSubscription:"Abonnement konnte nicht fortgesetzt werden",recordUsage:"Nutzung konnte nicht erfasst werden",fetchQuotaUsage:"Kontingentnutzungsstatus konnte nicht abgerufen werden",fetchAllQuotaUsage:"Gesamte Kontingentnutzung konnte nicht abgerufen werden",fetchUsageLogs:"Nutzungsprotokolle konnten nicht abgerufen werden",fetchCreditBalance:"Guthabenstand konnte nicht abgerufen werden",consumeCredits:"Guthaben konnte nicht verbraucht werden",purchaseCredits:"Guthaben konnte nicht gekauft werden",fetchCreditPackages:"Guthabenpakete konnten nicht abgerufen werden",fetchCreditTransactions:"Guthabentransaktionen konnten nicht abgerufen werden",fetchExpiringCredits:"Ablaufendes Guthaben konnte nicht abgerufen werden"},security:{inactive:"Inaktiv",inactiveHint:"Auf einer früheren Anmeldedomain registriert und nicht mehr verwendbar. Sie können ihn entfernen.",passkeysTitle:"Passkeys",passkeysDescription:"Mit Passkeys melden Sie sich per Fingerabdruck, Gesicht oder Geräte-PIN an.",noPasskeys:"Keine Passkeys registriert",addHint:'Um einen Passkey hinzuzufügen, wählen Sie bei der nächsten Anmeldung auf dem gewünschten Gerät "Passkey hinzufügen".',rename:"Umbenennen",remove:"Entfernen",removeTitle:"Passkey entfernen",removeDescription:"Sie können sich mit diesem Passkey nicht mehr anmelden.",renamePlaceholder:"Passkey-Name",lastUsed:"Zuletzt verwendet",added:"Hinzugefügt"}};export{e as de};
|