From 725e4ba4b894e1be10cedfeece5e95131b88ac6b Mon Sep 17 00:00:00 2001 From: Jack Date: Mon, 28 Sep 2026 18:38:26 +0800 Subject: [PATCH] feat(go): show Go Plus plans and limits (#51822) --- .../console/app/src/component/go-models.ts | 43 ++- .../app/src/component/go-plan-chart.css | 288 ++++++++++++++++++ .../app/src/component/go-plan-chart.tsx | 171 +++++++++++ packages/console/app/src/i18n/ar.ts | 14 +- packages/console/app/src/i18n/br.ts | 14 +- packages/console/app/src/i18n/da.ts | 14 +- packages/console/app/src/i18n/de.ts | 14 +- packages/console/app/src/i18n/en.ts | 14 +- packages/console/app/src/i18n/es.ts | 14 +- packages/console/app/src/i18n/fr.ts | 14 +- packages/console/app/src/i18n/it.ts | 14 +- packages/console/app/src/i18n/ja.ts | 14 +- packages/console/app/src/i18n/ko.ts | 14 +- packages/console/app/src/i18n/no.ts | 14 +- packages/console/app/src/i18n/pl.ts | 14 +- packages/console/app/src/i18n/ru.ts | 14 +- packages/console/app/src/i18n/th.ts | 14 +- packages/console/app/src/i18n/tr.ts | 14 +- packages/console/app/src/i18n/uk.ts | 14 +- packages/console/app/src/i18n/zh.ts | 14 +- packages/console/app/src/i18n/zht.ts | 14 +- packages/console/app/src/routes/go/index.css | 95 ++++++ packages/console/app/src/routes/go/index.tsx | 125 +++++--- 23 files changed, 907 insertions(+), 67 deletions(-) create mode 100644 packages/console/app/src/component/go-plan-chart.css create mode 100644 packages/console/app/src/component/go-plan-chart.tsx diff --git a/packages/console/app/src/component/go-models.ts b/packages/console/app/src/component/go-models.ts index 2df5cb6984..8efefad93d 100644 --- a/packages/console/app/src/component/go-models.ts +++ b/packages/console/app/src/component/go-models.ts @@ -4,19 +4,15 @@ export const goModels = [ { id: "qwen3.8-max", name: "Qwen3.8 Max", requests: 160, allowance: 15 }, { id: "grok-4.7", name: "Grok 4.7", requests: 169, allowance: 15 }, { id: "grok-4.6", name: "Grok 4.6", requests: 169, allowance: 15 }, - { id: "qwen3.7-max", name: "Qwen3.7 Max", requests: 170, allowance: 30 }, { id: "glm-5.3", name: "GLM-5.3", requests: 220, allowance: 15 }, { id: "glm-5.2", name: "GLM-5.2", requests: 880, allowance: 60 }, - { id: "glm-5.1", name: "GLM-5.1", requests: 880, allowance: 60 }, { id: "deepseek-v4-pro", name: "DeepSeek V4 Pro", requests: 1050, allowance: 15 }, - { id: "kimi-k2.6", name: "Kimi K2.6", requests: 1150, allowance: 60 }, { id: "kimi-k2.7-code", name: "Kimi K2.7 Code", requests: 1350, allowance: 60, featured: true }, { id: "hy4-preview", name: "Hy4 preview", requests: 1350, allowance: 30 }, { id: "gpt-5.6-luna", name: "GPT 5.6 Luna", requests: 2050, allowance: 15 }, { id: "minimax-m3", name: "MiniMax M3", requests: 3200, allowance: 60, featured: true }, { id: "mimo-v2.6-pro", name: "MiMo-V2.6-Pro", requests: 3250, allowance: 15, fresh: true }, { id: "mimo-v2.5-pro", name: "MiMo-V2.5-Pro", requests: 3250, allowance: 15 }, - { id: "qwen3.6-plus", name: "Qwen3.6 Plus", requests: 3300, allowance: 60 }, { id: "minimax-m2.7", name: "MiniMax M2.7", requests: 3400, allowance: 60 }, { id: "deepseek-v4-flash-vision-exp", name: "DeepSeek V4 Flash Vision Exp", requests: 6500, allowance: 15 }, { id: "qwen3.7-plus", name: "Qwen3.7 Plus", requests: 4300, allowance: 60, featured: true }, @@ -77,3 +73,42 @@ export const goModels = [ limitedTime: true, }, ].sort((a, b) => a.requests - b.requests) + +// Go Plus limits are published per model in the Console, not a fixed multiplier of Go. +const plusLimits: Record = { + "kimi-k3": [440, 60], + "qwen3.8-max": [640, 60], + "grok-4.7": [676, 60], + "grok-4.6": [676, 60], + "glm-5.3": [1760, 120], + "glm-5.2": [2640, 180], + "deepseek-v4-pro": [4200, 60], + "kimi-k2.7-code": [4050, 180], + "hy4-preview": [5400, 120], + "gpt-5.6-luna": [8200, 60], + "minimax-m3": [9600, 180], + "mimo-v2.6-pro": [13000, 60], + "mimo-v2.5-pro": [13000, 60], + "minimax-m2.7": [13600, 240], + "deepseek-v4-flash-vision-exp": [26000, 60], + "qwen3.7-plus": [12900, 180], + "gpt-6-luna": [16920, 60], + hy3: [17200, 240], + "qwen3.8-flash": [16200, 90], + "glm-5.3-flash": [18960, 180], + "deepseek-flash": [52000, 120], + "longcat-2.0": [45600, 240], + "deepseek-v4-flash": [52000, 120], + "mimo-v2.6-flash": [60200, 120], + "mimo-v2.5": [60200, 120], + "muse-spark-1.3-contributor": [90600, 120], + "muse-spark-1.2-contributor": [90600, 120], + "space-bunny-free": [Infinity, Infinity], + "longcat-2.5-preview-free": [Infinity, Infinity], +} + +export const goPlanModels = goModels.map((model) => ({ + ...model, + plusRequests: plusLimits[model.id]![0], + plusAllowance: plusLimits[model.id]![1], +})) diff --git a/packages/console/app/src/component/go-plan-chart.css b/packages/console/app/src/component/go-plan-chart.css new file mode 100644 index 0000000000..5cdea42213 --- /dev/null +++ b/packages/console/app/src/component/go-plan-chart.css @@ -0,0 +1,288 @@ +@import "@opencode-ai/ui/v2/styles/colors.css"; + +@font-face { + font-family: "Inter"; + src: url("@opencode-ai/ui/fonts/Inter.ttf") format("truetype"); + font-style: normal; + font-weight: 100 900; + font-display: swap; +} + +[data-page="go"] { + --go-console-bg: var(--v2-grey-50); + --go-console-surface: var(--v2-grey-100); + --go-console-track: var(--v2-grey-200); + --go-console-text: var(--v2-grey-1100); + --go-console-secondary: var(--v2-grey-700); + --go-console-muted: var(--v2-grey-600); + --go-console-border: var(--v2-alpha-dark-8); + --go-console-icon: var(--v2-grey-600); + + @media (prefers-color-scheme: dark) { + --go-console-bg: var(--v2-grey-1000); + --go-console-surface: var(--v2-grey-900); + --go-console-track: var(--v2-grey-800); + --go-console-text: var(--v2-grey-200); + --go-console-secondary: var(--v2-grey-500); + --go-console-muted: var(--v2-grey-600); + --go-console-border: var(--v2-alpha-light-8); + --go-console-icon: var(--v2-grey-600); + } +} + +[data-component="go-plan-chart"] { + margin: 0; + padding: 2rem var(--padding) 3rem; + background: var(--go-console-bg); + color: var(--go-console-text); + font-family: "Inter", sans-serif; + font-size: 0.8125rem; + font-weight: 440; + line-height: 1.25rem; + letter-spacing: -0.04px; + text-rendering: geometricPrecision; + font-variant-numeric: tabular-nums; + -webkit-font-smoothing: antialiased; + + [data-slot="heading"] { + display: flex; + align-items: end; + justify-content: space-between; + gap: 1rem; + margin-bottom: 0.75rem; + } + h2 { + font-size: 0.9375rem; + font-weight: 530; + line-height: 1.25rem; + margin-bottom: 0.25rem; + } + [data-slot="heading"] p { + color: var(--go-console-muted); + line-height: 1.25rem; + } + [data-slot="tier-switch"] { + display: flex; + align-items: center; + gap: 0.25rem; + } + [data-slot="tier-switch"] i { + width: 3px; + height: 12px; + border-radius: 1px; + } + [data-tier="go"] { + background: linear-gradient(var(--v2-yellow-500), var(--v2-yellow-600)); + } + [data-tier="plus"] { + background: linear-gradient(var(--v2-orange-500), var(--v2-orange-600)); + } + button { + display: flex; + align-items: center; + gap: 0.5rem; + background: none; + border: 0; + color: inherit; + font: inherit; + font-weight: 530; + padding: 0.375rem 0.5rem; + cursor: pointer; + white-space: nowrap; + } + [data-slot="tier-switch"] button { + color: var(--go-console-secondary); + border-radius: 4px; + transition: + background-color 180ms ease, + opacity 180ms ease; + } + [data-slot="tier-switch"] button[aria-pressed="false"] { + opacity: 0.4; + font-weight: 440; + } + [data-slot="tier-switch"] button[aria-pressed="false"]:is(:hover, :focus-visible) { + opacity: 0.75; + } + [data-slot="tier-switch"] button[aria-pressed="true"] { + background: var(--go-console-surface); + color: var(--go-console-text); + } + [data-slot="tier-switch"] button:hover { + color: var(--go-console-text); + } + [data-slot="expand"][aria-expanded="true"] svg { + transform: rotate(180deg); + } + [data-slot="scroll"] { + overflow-x: auto; + } + table { + width: 100%; + min-width: 48rem; + table-layout: fixed; + border-spacing: 0; + font-size: 0.8125rem; + } + thead { + color: var(--go-console-secondary); + } + thead tr { + background: var(--go-console-surface); + } + thead th { + padding: 0.5rem 1rem; + border-block: 1px solid var(--go-console-border); + font-weight: 440; + text-align: end; + white-space: nowrap; + } + thead th:first-child { + text-align: start; + border-inline-start: 1px solid var(--go-console-border); + border-start-start-radius: 6px; + border-end-start-radius: 6px; + } + thead th:last-child { + border-inline-end: 1px solid var(--go-console-border); + border-start-end-radius: 6px; + border-end-end-radius: 6px; + } + tbody th { + padding: 0.5rem 1rem; + text-align: start; + font-weight: 400; + color: var(--go-console-text); + } + [data-slot="model"] { + display: inline-flex; + flex-wrap: wrap; + align-items: center; + gap: 0.375rem; + } + [data-slot="model"] small { + border: 1px solid var(--go-console-border); + padding: 0 0.25rem; + font-size: 0.625rem; + } + [data-slot="model"] a { + display: inline-flex; + align-items: center; + color: var(--go-console-muted); + text-decoration: none; + } + [data-slot="bars"] { + position: relative; + } + [data-slot="gridline"] { + position: absolute; + inset-block: 0; + border-inline-start: 1px dashed var(--go-console-border); + transition: inset-inline-start 600ms cubic-bezier(0.22, 1, 0.36, 1); + } + [data-slot="track"] { + position: relative; + display: flex; + gap: 0.25rem; + height: 0.5rem; + margin: 0.5rem 0; + } + [data-slot="track"] > [data-tier] { + position: relative; + border-radius: 2px; + background: linear-gradient(var(--v2-yellow-500), var(--v2-yellow-600)); + transition: width 600ms cubic-bezier(0.22, 1, 0.36, 1); + } + [data-slot="track"] > [data-tier]::after { + content: ""; + position: absolute; + inset: 0; + border-radius: inherit; + background: linear-gradient(var(--v2-orange-500), var(--v2-orange-600)); + opacity: 0; + transition: opacity 300ms ease; + } + [data-slot="track"] > [data-tier="plus"]::after { + opacity: 1; + } + [data-slot="remainder"] { + flex: 1; + border-radius: 2px; + background: var(--go-console-track); + } + [data-slot="number"] { + padding: 0.5rem 1rem; + text-align: end; + white-space: nowrap; + } + [data-slot="number"] span { + display: block; + line-height: 1.25rem; + } + [data-slot="plan-value"] { + animation: go-plan-value-in 300ms ease-out both; + } + [data-slot="axis"] { + position: relative; + height: 2rem; + color: var(--go-console-muted); + font-size: 0.6875rem; + } + [data-slot="axis"] span { + position: absolute; + top: 0.25rem; + transform: translateX(-50%); + transition: inset-inline-start 600ms cubic-bezier(0.22, 1, 0.36, 1); + } + &:dir(rtl) [data-slot="axis"] span { + transform: translateX(50%); + } + figcaption { + display: flex; + align-items: center; + justify-content: space-between; + gap: 1rem; + margin-top: 0.75rem; + border-top: 1px solid var(--go-console-border); + padding-top: 0.75rem; + } + [data-slot="expand"] { + padding-inline: 0; + } + figcaption a { + color: var(--go-console-secondary); + } + :is(button, a):focus-visible { + outline: 2px solid currentColor; + outline-offset: 3px; + } + @media (max-width: 55rem) { + [data-slot="heading"] { + align-items: start; + flex-direction: column; + } + } + @media (prefers-reduced-motion: reduce) { + [data-slot="tier-switch"] button, + [data-slot="gridline"], + [data-slot="track"] > [data-tier], + [data-slot="track"] > [data-tier]::after, + [data-slot="axis"] span { + transition: none; + } + [data-slot="plan-value"] { + animation: none; + } + } +} + +@keyframes go-plan-value-in { + from { + opacity: 0.3; + transform: translateY(3px); + } + to { + opacity: 1; + transform: translateY(0); + } +} diff --git a/packages/console/app/src/component/go-plan-chart.tsx b/packages/console/app/src/component/go-plan-chart.tsx new file mode 100644 index 0000000000..0efbb34702 --- /dev/null +++ b/packages/console/app/src/component/go-plan-chart.tsx @@ -0,0 +1,171 @@ +import "./go-plan-chart.css" +import { createMemo, createSignal, createUniqueId, For, Show } from "solid-js" +import { useI18n } from "~/context/i18n" +import { useLanguage } from "~/context/language" +import { goPlanModels } from "./go-models" + +const ticks = [100, 1000, 10000] + +export function GoPlanChart(props: { href: string }) { + const i18n = useI18n() + const language = useLanguage() + const id = createUniqueId() + const [expanded, setExpanded] = createSignal(false) + const [tier, setTier] = createSignal<"go" | "go-plus">("go") + const models = createMemo(() => goPlanModels.filter((model) => expanded() || model.featured)) + const max = createMemo(() => + Math.max( + ...goPlanModels.map((model) => (tier() === "go" ? model.requests : model.plusRequests)).filter(Number.isFinite), + ), + ) + const position = (requests: number) => + Number.isFinite(requests) + ? 4 + Math.pow(Math.log10(Math.max(requests / 100, 1)) / Math.log10(max() / 100), 2.2) * 78 + : 100 + const format = createMemo(() => new Intl.NumberFormat(language.tag(language.locale()))) + const currency = createMemo( + () => + new Intl.NumberFormat(language.tag(language.locale()), { + style: "currency", + currency: "USD", + currencyDisplay: "narrowSymbol", + maximumFractionDigits: 0, + }), + ) + + return ( +
+
+
+

{i18n.t("go.plans.limits")}

+

{i18n.t("go.plans.description")}

+
+
+ + +
+
+
+ + + + + + + + + + + + + + + + + {(model) => ( + + + + + + + )} + + + + + + + +
{i18n.t("go.graph.model")} + {i18n.t("go.graph.requests")} + {i18n.t("go.graph.allowance")}
+ + {model.name} + + {i18n.t("go.graph.new")} + + + {i18n.t("go.graph.limitedTime")} + + + + + + + + + + {(selected) => ( + + {format().format(selected === "go" ? model.requests : model.plusRequests)} + + )} + + + + {(selected) => ( + + {Number.isFinite(selected === "go" ? model.allowance : model.plusAllowance) + ? currency().format(selected === "go" ? model.allowance : model.plusAllowance) + : "∞"} + + )} + +
+
+
+ + {i18n.t("go.graph.usageLimits")} +
+
+ ) +} diff --git a/packages/console/app/src/i18n/ar.ts b/packages/console/app/src/i18n/ar.ts index fc19c17fd8..0c5441ef29 100644 --- a/packages/console/app/src/i18n/ar.ts +++ b/packages/console/app/src/i18n/ar.ts @@ -267,6 +267,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "اشترك في Go", "go.cta.price": "$10/شهر", + "go.plans.month": "/شهر", + "go.plans.plus.cta": "الاشتراك في Go Plus", + "go.plans.plus.description": "تبلغ تكلفة Go Plus ‏$40/شهر مع حدود استخدام أعلى.", + "go.plans.go.feature1": "نماذج مختارة بأسعار معقولة", + "go.plans.go.feature2": "مختبرة للبرمجة باستخدام الوكلاء", + "go.plans.go.feature3": "حدود سخية ووصول موثوق", + "go.plans.plus.feature1": "يشمل كل مزايا Go", + "go.plans.plus.feature2": "حدود أعلى لجلسات برمجة أطول وأكثر تركيزًا", + "go.plans.plus.feature3": "للمشاريع الأكبر والأكثر تطلبًا", + "go.plans.limits": "الحدود", + "go.plans.description": "الطلبات المقدرة لكل 5 ساعات وحدود الاستخدام الشهرية لكل نموذج", + "go.plans.legend": "الخطط", "go.pricing.body": "استخدمه مع أي وكيل. $10/شهر. قم بزيادة الرصيد إذا لزم الأمر. الإلغاء في أي وقت.", "go.graph.free": "مجاني", "go.graph.freePill": "Big Pickle ونماذج مجانية", @@ -375,7 +387,7 @@ export const dict = { "go.faq.q9": "ما الفرق بين النماذج المجانية وGo؟", "go.faq.a9": - "تشمل النماذج المجانية Big Pickle بالإضافة إلى النماذج الترويجية المتاحة في ذلك الوقت، مع حصة قدرها 200 طلب/يوم. يقدّم Go مجموعة منسقة من النماذج مع حصص طلبات أعلى مطبقة عبر نوافذ متجددة (5 ساعات، وأسبوعية، وشهرية)، تعادل الحصص الأساسية فيها تقريبًا $12 لكل 5 ساعات و$30 في الأسبوع و$60 في الشهر؛ وقد تختلف الحصص حسب النموذج (تختلف أعداد الطلبات الفعلية حسب النموذج والاستخدام).", + "تشمل النماذج المجانية Big Pickle بالإضافة إلى النماذج الترويجية المتاحة في ذلك الوقت، مع حصة قدرها 200 طلب/يوم. يقدّم Go مجموعة منسقة من النماذج مع حصص طلبات أعلى عبر نوافذ متجددة: 20% من الحصة الشهرية لكل 5 ساعات، و50% لكل أسبوع، و100% لكل شهر. وقد تختلف الحصص حسب النموذج (تختلف أعداد الطلبات الفعلية حسب النموذج والاستخدام).", "go.faq.q10": "هل يمكنني استرداد أموالي؟", "go.faq.a10": "قد تكون مؤهلًا لاسترداد أموالك إذا تم الخصم خلال آخر 14 يومًا ولم تستخدم مخصصات Go خلال فترة الفوترة تلك. {{contact}} لطلب استرداد الأموال.", diff --git a/packages/console/app/src/i18n/br.ts b/packages/console/app/src/i18n/br.ts index ff05f96f68..4d76e2bddd 100644 --- a/packages/console/app/src/i18n/br.ts +++ b/packages/console/app/src/i18n/br.ts @@ -272,6 +272,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Assinar o Go", "go.cta.price": "$10/mês", + "go.plans.month": "/mês", + "go.plans.plus.cta": "Assinar Go Plus", + "go.plans.plus.description": "O Go Plus custa $40/mês e oferece limites maiores.", + "go.plans.go.feature1": "Modelos selecionados e acessíveis", + "go.plans.go.feature2": "Testados para programação com agentes", + "go.plans.go.feature3": "Limites generosos e acesso confiável", + "go.plans.plus.feature1": "Tudo o que está incluído no Go", + "go.plans.plus.feature2": "Limites maiores para sessões de programação mais longas e focadas", + "go.plans.plus.feature3": "Para projetos maiores e exigentes", + "go.plans.limits": "Limites", + "go.plans.description": "Solicitações estimadas a cada 5 horas e limites mensais por modelo", + "go.plans.legend": "Planos", "go.pricing.body": "Use com qualquer agente. $10/mês. Recarregue o crédito se necessário. Cancele a qualquer momento.", "go.graph.free": "Grátis", @@ -385,7 +397,7 @@ export const dict = { "go.faq.q9": "Qual a diferença entre os modelos gratuitos e o Go?", "go.faq.a9": - "Os modelos gratuitos incluem Big Pickle e modelos promocionais disponíveis no momento, com uma cota de 200 requisições/dia. O Go oferece uma seleção de modelos com cotas de requisição mais altas aplicadas em janelas móveis (5 horas, semanal e mensal), aproximadamente equivalentes a cotas básicas de $12 por 5 horas, $30 por semana e $60 por mês; as cotas específicas podem variar por modelo (as contagens reais de requisições variam de acordo com o modelo e o uso).", + "Os modelos gratuitos incluem Big Pickle e modelos promocionais disponíveis no momento, com uma cota de 200 requisições/dia. O Go oferece uma seleção de modelos com cotas de requisição mais altas em janelas móveis: 20% da cota mensal a cada 5 horas, 50% por semana e 100% por mês. As cotas específicas podem variar por modelo (as contagens reais de requisições variam de acordo com o modelo e o uso).", "go.faq.q10": "Posso receber um reembolso?", "go.faq.a10": "Você pode ter direito a um reembolso se a cobrança foi feita nos últimos 14 dias e você não usou sua cota do Go durante esse período de faturamento. {{contact}} para solicitar um reembolso.", diff --git a/packages/console/app/src/i18n/da.ts b/packages/console/app/src/i18n/da.ts index f46034bb19..013eb2e51d 100644 --- a/packages/console/app/src/i18n/da.ts +++ b/packages/console/app/src/i18n/da.ts @@ -270,6 +270,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Abonner på Go", "go.cta.price": "$10/måned", + "go.plans.month": "/måned", + "go.plans.plus.cta": "Abonnér på Go Plus", + "go.plans.plus.description": "Go Plus koster $40/måned og giver højere brugsgrænser.", + "go.plans.go.feature1": "Udvalgte, prisvenlige modeller", + "go.plans.go.feature2": "Testet til agentbaseret kodning", + "go.plans.go.feature3": "Generøse grænser og pålidelig adgang", + "go.plans.plus.feature1": "Alt i Go er inkluderet", + "go.plans.plus.feature2": "Højere grænser til længere, fokuserede kodningsforløb", + "go.plans.plus.feature3": "Til større, krævende projekter", + "go.plans.limits": "Grænser", + "go.plans.description": "Anslåede anmodninger pr. 5 timer og månedlige grænser pr. model", + "go.plans.legend": "Abonnementer", "go.pricing.body": "Brug med enhver agent. $10/måned. Tank op med kredit efter behov. Afmeld når som helst.", "go.graph.free": "Gratis", "go.graph.freePill": "Big Pickle og gratis modeller", @@ -381,7 +393,7 @@ export const dict = { "go.faq.q9": "Hvad er forskellen på gratis modeller og Go?", "go.faq.a9": - "Gratis modeller inkluderer Big Pickle plus kampagnemodeller, der er tilgængelige på det pågældende tidspunkt, med en kvote på 200 forespørgsler/dag. Go tilbyder et kurateret modeludvalg med højere forespørgselskvoter håndhævet over rullende perioder (5 timer, ugentligt og månedligt), omtrent svarende til basiskvoter på $12 pr. 5 timer, $30 pr. uge og $60 pr. måned; modelspecifikke kvoter kan variere (det faktiske antal forespørgsler varierer efter model og brug).", + "Gratis modeller inkluderer Big Pickle plus kampagnemodeller, der er tilgængelige på det pågældende tidspunkt, med en kvote på 200 forespørgsler/dag. Go tilbyder et kurateret modeludvalg med højere forespørgselskvoter i rullende perioder: 20 % af den månedlige kvote pr. 5 timer, 50 % pr. uge og 100 % pr. måned. Modelspecifikke kvoter kan variere (det faktiske antal forespørgsler varierer efter model og brug).", "go.faq.q10": "Kan jeg få en refusion?", "go.faq.a10": "Du kan muligvis få en refusion, hvis opkrævningen blev foretaget inden for de seneste 14 dage, og du ikke har brugt din Go-kvote i den pågældende faktureringsperiode. {{contact}} for at anmode om en refusion.", diff --git a/packages/console/app/src/i18n/de.ts b/packages/console/app/src/i18n/de.ts index 6ecb41411f..021d57ff61 100644 --- a/packages/console/app/src/i18n/de.ts +++ b/packages/console/app/src/i18n/de.ts @@ -272,6 +272,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Go abonnieren", "go.cta.price": "$10/Monat", + "go.plans.month": "/Monat", + "go.plans.plus.cta": "Go Plus abonnieren", + "go.plans.plus.description": "Go Plus kostet $40/Monat und bietet höhere Nutzungslimits.", + "go.plans.go.feature1": "Ausgewählte, erschwingliche Modelle", + "go.plans.go.feature2": "Für agentisches Programmieren getestet", + "go.plans.go.feature3": "Großzügige Limits und zuverlässiger Zugriff", + "go.plans.plus.feature1": "Alle Vorteile von Go", + "go.plans.plus.feature2": "Höhere Limits für längere, konzentrierte Coding-Sessions", + "go.plans.plus.feature3": "Für größere, anspruchsvolle Projekte", + "go.plans.limits": "Limits", + "go.plans.description": "Geschätzte Anfragen pro 5 Stunden und monatliche Nutzungslimits je Modell", + "go.plans.legend": "Tarife", "go.pricing.body": "Mit jedem Agenten nutzbar. $10/Monat. Guthaben bei Bedarf aufladen. Jederzeit kündbar.", "go.graph.free": "Kostenlos", "go.graph.freePill": "Big Pickle und kostenlose Modelle", @@ -383,7 +395,7 @@ export const dict = { "go.faq.q9": "Was ist der Unterschied zwischen kostenlosen Modellen und Go?", "go.faq.a9": - "Kostenlose Modelle beinhalten Big Pickle sowie Werbemodelle, die zum jeweiligen Zeitpunkt verfügbar sind, mit einem Kontingent von 200 Anfragen/Tag. Go bietet eine kuratierte Modellauswahl mit höheren Anfragekontingenten, die über rollierende Zeitfenster (5 Stunden, wöchentlich und monatlich) durchgesetzt werden, grob äquivalent zu Basiskontingenten von $12 pro 5 Stunden, $30 pro Woche und $60 pro Monat; modellspezifische Kontingente können abweichen (tatsächliche Anfragezahlen variieren je nach Modell und Nutzung).", + "Kostenlose Modelle beinhalten Big Pickle sowie Werbemodelle, die zum jeweiligen Zeitpunkt verfügbar sind, mit einem Kontingent von 200 Anfragen/Tag. Go bietet eine kuratierte Modellauswahl mit höheren Anfragekontingenten in rollierenden Zeitfenstern: 20 % des monatlichen Kontingents pro 5 Stunden, 50 % pro Woche und 100 % pro Monat. Modellspezifische Kontingente können abweichen (tatsächliche Anfragezahlen variieren je nach Modell und Nutzung).", "go.faq.q10": "Kann ich eine Rückerstattung erhalten?", "go.faq.a10": "Du hast möglicherweise Anspruch auf eine Rückerstattung, wenn die Zahlung innerhalb der letzten 14 Tage erfolgt ist und du dein Go-Kontingent in diesem Abrechnungszeitraum nicht genutzt hast. {{contact}}, um eine Rückerstattung anzufordern.", diff --git a/packages/console/app/src/i18n/en.ts b/packages/console/app/src/i18n/en.ts index c21f7a461e..d18bc8d1fc 100644 --- a/packages/console/app/src/i18n/en.ts +++ b/packages/console/app/src/i18n/en.ts @@ -267,6 +267,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Subscribe to Go", "go.cta.price": "$10/month", + "go.plans.month": "/month", + "go.plans.plus.cta": "Subscribe to Go Plus", + "go.plans.plus.description": "Go Plus costs $40/month with higher limits.", + "go.plans.go.feature1": "Curated, affordable models", + "go.plans.go.feature2": "Tested for agentic coding", + "go.plans.go.feature3": "Generous limits and reliable access", + "go.plans.plus.feature1": "Everything included in Go", + "go.plans.plus.feature2": "Higher limits and fewer interruptions", + "go.plans.plus.feature3": "Built for larger, demanding projects", + "go.plans.limits": "Limits", + "go.plans.description": "Estimated requests per 5 hours and monthly usage limits by model", + "go.plans.legend": "Plans", "go.pricing.body": "Use with any agent. $10/month. Top up credit if needed. Cancel any time.", "go.graph.free": "Free", "go.graph.freePill": "Big Pickle and free models", @@ -379,7 +391,7 @@ export const dict = { "go.faq.q9": "What is the difference between free models and Go?", "go.faq.a9": - "Free models include Big Pickle plus promotional models available at the time, with a quota of 200 requests/day. Go offers a curated model lineup with higher request quotas enforced across rolling windows (5-hour, weekly, and monthly), roughly equivalent to base allowances of $12 per 5 hours, $30 per week, and $60 per month; model-specific allowances may differ (actual request counts vary by model and usage).", + "Free models include Big Pickle plus promotional models available at the time, with a quota of 200 requests/day. Go offers a curated model lineup with higher request quotas enforced across rolling windows: 20% of the monthly allowance per 5 hours, 50% per week, and 100% per month. Model-specific allowances may differ (actual request counts vary by model and usage).", "go.faq.q10": "Can I get a refund?", "go.faq.a10": "You may qualify for a refund if the charge was made within the last 14 days and you have not used your Go allowance during that billing period. {{contact}} to request a refund.", diff --git a/packages/console/app/src/i18n/es.ts b/packages/console/app/src/i18n/es.ts index 05c1763e28..6e9a02831b 100644 --- a/packages/console/app/src/i18n/es.ts +++ b/packages/console/app/src/i18n/es.ts @@ -273,6 +273,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Suscribirse a Go", "go.cta.price": "10 $/mes", + "go.plans.month": "/mes", + "go.plans.plus.cta": "Suscribirse a Go Plus", + "go.plans.plus.description": "Go Plus cuesta 40 $/mes y ofrece límites más altos.", + "go.plans.go.feature1": "Modelos seleccionados y asequibles", + "go.plans.go.feature2": "Probados para programación con agentes", + "go.plans.go.feature3": "Límites generosos y acceso fiable", + "go.plans.plus.feature1": "Todo lo incluido en Go", + "go.plans.plus.feature2": "Límites más altos para programar durante más tiempo con concentración", + "go.plans.plus.feature3": "Para proyectos más grandes y exigentes", + "go.plans.limits": "Límites", + "go.plans.description": "Solicitudes estimadas cada 5 horas y límites mensuales por modelo", + "go.plans.legend": "Planes", "go.pricing.body": "Úsalo con cualquier agente. 10 $/mes. Recarga crédito si es necesario. Cancela en cualquier momento.", "go.graph.free": "Gratis", @@ -386,7 +398,7 @@ export const dict = { "go.faq.q9": "¿Cuál es la diferencia entre los modelos gratuitos y Go?", "go.faq.a9": - "Los modelos gratuitos incluyen Big Pickle y los modelos promocionales disponibles en ese momento, con una cuota de 200 solicitudes/día. Go ofrece una selección de modelos con cuotas de solicitudes más altas aplicadas en ventanas móviles (de 5 horas, semanales y mensuales), aproximadamente equivalentes a cuotas base de 12 $ por 5 horas, 30 $ por semana y 60 $ por mes; las cuotas específicas pueden variar según el modelo (la cantidad real de solicitudes varía según el modelo y el uso).", + "Los modelos gratuitos incluyen Big Pickle y los modelos promocionales disponibles en ese momento, con una cuota de 200 solicitudes/día. Go ofrece una selección de modelos con cuotas de solicitudes más altas en ventanas móviles: el 20 % de la cuota mensual cada 5 horas, el 50 % por semana y el 100 % por mes. Las cuotas específicas pueden variar según el modelo (la cantidad real de solicitudes varía según el modelo y el uso).", "go.faq.q10": "¿Puedo obtener un reembolso?", "go.faq.a10": "Podrías tener derecho a un reembolso si el cargo se realizó en los últimos 14 días y no has utilizado tu cuota de Go durante ese periodo de facturación. {{contact}} para solicitar un reembolso.", diff --git a/packages/console/app/src/i18n/fr.ts b/packages/console/app/src/i18n/fr.ts index 54a4eed3c1..bf11f5f964 100644 --- a/packages/console/app/src/i18n/fr.ts +++ b/packages/console/app/src/i18n/fr.ts @@ -274,6 +274,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "S'abonner à Go", "go.cta.price": "10 $/mois", + "go.plans.month": "/mois", + "go.plans.plus.cta": "S'abonner à Go Plus", + "go.plans.plus.description": "Go Plus coûte 40 $/mois et offre des limites plus élevées.", + "go.plans.go.feature1": "Modèles sélectionnés et abordables", + "go.plans.go.feature2": "Testés pour le codage agentique", + "go.plans.go.feature3": "Limites généreuses et accès fiable", + "go.plans.plus.feature1": "Tous les avantages de Go", + "go.plans.plus.feature2": "Des limites plus élevées pour coder plus longtemps sans perdre le fil", + "go.plans.plus.feature3": "Pour les projets plus vastes et exigeants", + "go.plans.limits": "Limites", + "go.plans.description": "Requêtes estimées par 5 heures et limites mensuelles par modèle", + "go.plans.legend": "Offres", "go.pricing.body": "Utilisez-le avec n'importe quel agent. 10 $/mois. Rechargez du crédit si nécessaire. Annulez à tout moment.", "go.graph.free": "Gratuit", @@ -386,7 +398,7 @@ export const dict = { "Oui, vous pouvez utiliser Go avec n'importe quel agent. Suivez les instructions de configuration dans votre agent de code préféré.", "go.faq.q9": "Quelle est la différence entre les modèles gratuits et Go ?", "go.faq.a9": - "Les modèles gratuits incluent Big Pickle ainsi que les modèles promotionnels disponibles à ce moment-là, avec un quota de 200 requêtes/jour. Go propose une sélection de modèles avec des quotas de requêtes plus élevés appliqués sur des fenêtres glissantes (5 heures, hebdomadaire et mensuelle), à peu près équivalents à des quotas de base de 12 $ par 5 heures, 30 $ par semaine et 60 $ par mois ; les quotas propres à chaque modèle peuvent varier (le nombre réel de requêtes varie selon le modèle et l'utilisation).", + "Les modèles gratuits incluent Big Pickle ainsi que les modèles promotionnels disponibles à ce moment-là, avec un quota de 200 requêtes/jour. Go propose une sélection de modèles avec des quotas de requêtes plus élevés sur des fenêtres glissantes : 20 % du quota mensuel par 5 heures, 50 % par semaine et 100 % par mois. Les quotas propres à chaque modèle peuvent varier (le nombre réel de requêtes varie selon le modèle et l'utilisation).", "go.faq.q10": "Puis-je obtenir un remboursement ?", "go.faq.a10": "Vous pourriez avoir droit à un remboursement si le paiement a été effectué au cours des 14 derniers jours et que vous n’avez pas utilisé votre quota Go pendant cette période de facturation. {{contact}} pour demander un remboursement.", diff --git a/packages/console/app/src/i18n/it.ts b/packages/console/app/src/i18n/it.ts index ed50cb2748..5d8527da1e 100644 --- a/packages/console/app/src/i18n/it.ts +++ b/packages/console/app/src/i18n/it.ts @@ -270,6 +270,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Abbonati a Go", "go.cta.price": "$10/mese", + "go.plans.month": "/mese", + "go.plans.plus.cta": "Abbonati a Go Plus", + "go.plans.plus.description": "Go Plus costa $40/mese e offre limiti più alti.", + "go.plans.go.feature1": "Modelli selezionati e convenienti", + "go.plans.go.feature2": "Testati per la programmazione agentica", + "go.plans.go.feature3": "Limiti generosi e accesso affidabile", + "go.plans.plus.feature1": "Tutto ciò che include Go", + "go.plans.plus.feature2": "Limiti più alti per sessioni di coding più lunghe e concentrate", + "go.plans.plus.feature3": "Per progetti più grandi e impegnativi", + "go.plans.limits": "Limiti", + "go.plans.description": "Richieste stimate ogni 5 ore e limiti mensili per modello", + "go.plans.legend": "Piani", "go.pricing.body": "Usalo con qualsiasi agente. $10/mese. Ricarica il credito se necessario. Annulla in qualsiasi momento.", "go.graph.free": "Gratis", @@ -382,7 +394,7 @@ export const dict = { "go.faq.q9": "Qual è la differenza tra i modelli gratuiti e Go?", "go.faq.a9": - "I modelli gratuiti includono Big Pickle più i modelli promozionali disponibili al momento, con una quota di 200 richieste/giorno. Go offre una selezione curata di modelli con quote di richiesta più elevate applicate su finestre mobili (5 ore, settimanale e mensile), approssimativamente equivalenti a quote base di $12 ogni 5 ore, $30 a settimana e $60 al mese; le quote specifiche possono variare in base al modello (il conteggio effettivo delle richieste varia in base al modello e all'utilizzo).", + "I modelli gratuiti includono Big Pickle più i modelli promozionali disponibili al momento, con una quota di 200 richieste/giorno. Go offre una selezione curata di modelli con quote di richiesta più elevate su finestre mobili: il 20% della quota mensile ogni 5 ore, il 50% a settimana e il 100% al mese. Le quote specifiche possono variare in base al modello (il conteggio effettivo delle richieste varia in base al modello e all'utilizzo).", "go.faq.q10": "Posso ottenere un rimborso?", "go.faq.a10": "Potresti avere diritto a un rimborso se l'addebito è stato effettuato negli ultimi 14 giorni e non hai utilizzato la tua quota Go durante quel periodo di fatturazione. {{contact}} per richiedere un rimborso.", diff --git a/packages/console/app/src/i18n/ja.ts b/packages/console/app/src/i18n/ja.ts index f716b438ff..6d941a9b1b 100644 --- a/packages/console/app/src/i18n/ja.ts +++ b/packages/console/app/src/i18n/ja.ts @@ -269,6 +269,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Goを購読する", "go.cta.price": "$10/月", + "go.plans.month": "/月", + "go.plans.plus.cta": "Go Plus に登録", + "go.plans.plus.description": "Go Plus は月額$40で、より高い利用枠を提供します。", + "go.plans.go.feature1": "厳選された手頃なモデル", + "go.plans.go.feature2": "エージェント型コーディングで検証済み", + "go.plans.go.feature3": "十分な利用枠と安定したアクセス", + "go.plans.plus.feature1": "Go のすべての特典を含む", + "go.plans.plus.feature2": "より高い利用枠で、長時間のコーディングに集中", + "go.plans.plus.feature3": "大規模で高度なプロジェクト向け", + "go.plans.limits": "利用枠", + "go.plans.description": "モデル別の5時間あたりの推定リクエスト数と月間利用枠", + "go.plans.legend": "プラン", "go.pricing.body": "どのエージェントでも使えます。月額$10。必要に応じてクレジットを追加。いつでもキャンセルできます。", "go.graph.free": "無料", @@ -380,7 +392,7 @@ export const dict = { "go.faq.q9": "無料モデルとGoの違いは何ですか?", "go.faq.a9": - "無料モデルにはBig Pickleと、その時点で利用可能なプロモーションモデルが含まれ、1日200リクエストの制限があります。Goでは厳選されたモデルラインナップを利用でき、ローリングウィンドウ(5時間、週間、月間)全体でより高いリクエスト制限が適用されます。基本利用枠では概算で5時間あたり$12、週間$30、月間$60相当ですが、モデル別の利用枠は異なる場合があります(実際のリクエスト数はモデルと使用状況により異なります)。", + "無料モデルにはBig Pickleと、その時点で利用可能なプロモーションモデルが含まれ、1日200リクエストの制限があります。Goでは厳選されたモデルラインナップを利用でき、ローリングウィンドウで月間利用枠の20%を5時間ごと、50%を週ごと、100%を月ごとの上限として適用します。モデル別の利用枠は異なる場合があります(実際のリクエスト数はモデルと使用状況により異なります)。", "go.faq.q10": "返金を受けられますか?", "go.faq.a10": "請求から14日以内で、その請求期間中にGoの利用枠を一切使用していない場合、返金の対象となる可能性があります。返金を希望する場合は、{{contact}}ください。", diff --git a/packages/console/app/src/i18n/ko.ts b/packages/console/app/src/i18n/ko.ts index e698a6455b..cc8a44f602 100644 --- a/packages/console/app/src/i18n/ko.ts +++ b/packages/console/app/src/i18n/ko.ts @@ -265,6 +265,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Go 구독하기", "go.cta.price": "$10/월", + "go.plans.month": "/월", + "go.plans.plus.cta": "Go Plus 구독하기", + "go.plans.plus.description": "Go Plus는 월 $40로 더 높은 사용 한도를 제공합니다.", + "go.plans.go.feature1": "엄선된 합리적인 가격의 모델", + "go.plans.go.feature2": "에이전트 코딩에 최적화된 테스트", + "go.plans.go.feature3": "넉넉한 한도와 안정적인 접근", + "go.plans.plus.feature1": "Go의 모든 혜택 포함", + "go.plans.plus.feature2": "더 높은 한도로 장시간 코딩에 집중", + "go.plans.plus.feature3": "더 크고 복잡한 프로젝트에 적합", + "go.plans.limits": "사용 한도", + "go.plans.description": "모델별 5시간당 예상 요청 횟수 및 월간 사용 한도", + "go.plans.legend": "요금제", "go.pricing.body": "어떤 에이전트와도 사용할 수 있습니다. 월 $10. 필요하면 크레딧을 충전하세요. 언제든지 취소할 수 있습니다.", "go.graph.free": "무료", @@ -374,7 +386,7 @@ export const dict = { "go.faq.q9": "무료 모델과 Go의 차이점은 무엇인가요?", "go.faq.a9": - "무료 모델에는 Big Pickle과 당시 사용 가능한 프로모션 모델이 포함되며, 하루 200회 요청 할당량이 적용됩니다. Go는 엄선된 모델 라인업을 제공하며, 롤링 윈도우(5시간, 주간, 월간)에 걸쳐 더 높은 요청 할당량을 적용합니다. 기본 할당량은 대략 5시간당 $12, 주당 $30, 월 $60에 해당하며 모델별 할당량은 다를 수 있습니다(실제 요청 수는 모델 및 사용량에 따라 다름).", + "무료 모델에는 Big Pickle과 당시 사용 가능한 프로모션 모델이 포함되며, 하루 200회 요청 할당량이 적용됩니다. Go는 엄선된 모델 라인업을 제공하며, 이동 기간별 요청 한도는 5시간당 월간 한도의 20%, 주간 50%, 월간 100%입니다. 모델별 한도는 다를 수 있습니다(실제 요청 수는 모델 및 사용량에 따라 다름).", "go.faq.q10": "환불받을 수 있나요?", "go.faq.a10": "결제일로부터 14일 이내이며 해당 결제 기간에 Go 사용 한도를 전혀 사용하지 않은 경우 환불 대상이 될 수 있습니다. 환불을 요청하려면 {{contact}}를 선택해 주세요.", diff --git a/packages/console/app/src/i18n/no.ts b/packages/console/app/src/i18n/no.ts index 077eb561af..714abb1ed5 100644 --- a/packages/console/app/src/i18n/no.ts +++ b/packages/console/app/src/i18n/no.ts @@ -270,6 +270,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Abonner på Go", "go.cta.price": "$10/måned", + "go.plans.month": "/måned", + "go.plans.plus.cta": "Abonner på Go Plus", + "go.plans.plus.description": "Go Plus koster $40/måned og gir høyere bruksgrenser.", + "go.plans.go.feature1": "Utvalgte, rimelige modeller", + "go.plans.go.feature2": "Testet for agentbasert koding", + "go.plans.go.feature3": "Romslige grenser og pålitelig tilgang", + "go.plans.plus.feature1": "Alt i Go er inkludert", + "go.plans.plus.feature2": "Høyere grenser for lengre, fokuserte kodeøkter", + "go.plans.plus.feature3": "For større, krevende prosjekter", + "go.plans.limits": "Grenser", + "go.plans.description": "Anslåtte forespørsler per 5 timer og månedlige grenser per modell", + "go.plans.legend": "Abonnementer", "go.pricing.body": "Bruk med hvilken som helst agent. $10/måned. Fyll på kreditt ved behov. Avslutt når som helst.", "go.graph.free": "Gratis", "go.graph.freePill": "Big Pickle og gratis modeller", @@ -382,7 +394,7 @@ export const dict = { "go.faq.q9": "Hva er forskjellen mellom gratis modeller og Go?", "go.faq.a9": - "Gratis modeller inkluderer Big Pickle pluss kampanjemodeller som er tilgjengelige på det tidspunktet, med en kvote på 200 forespørsler/dag. Go tilbyr et kuratert modellutvalg med høyere forespørselskvoter som håndheves over rullerende vinduer (5 timer, ukentlig og månedlig), omtrent tilsvarende basiskvoter på $12 per 5 timer, $30 per uke og $60 per måned; modellspesifikke kvoter kan variere (faktiske forespørselsantall varierer etter modell og bruk).", + "Gratis modeller inkluderer Big Pickle pluss kampanjemodeller som er tilgjengelige på det tidspunktet, med en kvote på 200 forespørsler/dag. Go tilbyr et kuratert modellutvalg med høyere forespørselskvoter i rullerende perioder: 20 % av den månedlige kvoten per 5 timer, 50 % per uke og 100 % per måned. Modellspesifikke kvoter kan variere (faktisk antall forespørsler varierer etter modell og bruk).", "go.faq.q10": "Kan jeg få refusjon?", "go.faq.a10": "Du kan ha rett på refusjon hvis belastningen ble gjort i løpet av de siste 14 dagene og du ikke har brukt noe av Go-kvoten i den faktureringsperioden. {{contact}} for å be om refusjon.", diff --git a/packages/console/app/src/i18n/pl.ts b/packages/console/app/src/i18n/pl.ts index 3cb8532ada..e6b499388c 100644 --- a/packages/console/app/src/i18n/pl.ts +++ b/packages/console/app/src/i18n/pl.ts @@ -271,6 +271,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Zasubskrybuj Go", "go.cta.price": "$10/miesiąc", + "go.plans.month": "/miesiąc", + "go.plans.plus.cta": "Subskrybuj Go Plus", + "go.plans.plus.description": "Go Plus kosztuje $40/miesiąc i oferuje wyższe limity.", + "go.plans.go.feature1": "Wyselekcjonowane, przystępne modele", + "go.plans.go.feature2": "Przetestowane do kodowania agentowego", + "go.plans.go.feature3": "Hojne limity i niezawodny dostęp", + "go.plans.plus.feature1": "Wszystko, co obejmuje Go", + "go.plans.plus.feature2": "Wyższe limity na dłuższe sesje kodowania w skupieniu", + "go.plans.plus.feature3": "Do większych, wymagających projektów", + "go.plans.limits": "Limity", + "go.plans.description": "Szacowana liczba żądań na 5 godzin i miesięczne limity dla modeli", + "go.plans.legend": "Plany", "go.pricing.body": "Używaj z dowolnym agentem. $10/miesiąc. Doładuj konto w razie potrzeby. Anuluj w dowolnym momencie.", "go.graph.free": "Darmowe", @@ -383,7 +395,7 @@ export const dict = { "go.faq.q9": "Jaka jest różnica między darmowymi modelami a Go?", "go.faq.a9": - "Darmowe modele obejmują Big Pickle oraz modele promocyjne dostępne w danym momencie, z limitem 200 zapytań/dzień. Go oferuje starannie dobrany zestaw modeli z wyższymi limitami zapytań egzekwowanymi w oknach kroczących (5-godzinnych, tygodniowych i miesięcznych), odpowiadającymi w przybliżeniu bazowym limitom $12 na 5 godzin, $30 tygodniowo i $60 miesięcznie; limity mogą się różnić zależnie od modelu (rzeczywista liczba zapytań zależy od modelu i użycia).", + "Darmowe modele obejmują Big Pickle oraz modele promocyjne dostępne w danym momencie, z limitem 200 zapytań/dzień. Go oferuje starannie dobrany zestaw modeli z wyższymi limitami zapytań w oknach kroczących: 20% miesięcznego limitu na 5 godzin, 50% na tydzień i 100% na miesiąc. Limity mogą się różnić zależnie od modelu (rzeczywista liczba zapytań zależy od modelu i użycia).", "go.faq.q10": "Czy mogę otrzymać zwrot pieniędzy?", "go.faq.a10": "Możesz kwalifikować się do zwrotu, jeśli opłata została pobrana w ciągu ostatnich 14 dni i nie wykorzystano żadnej części limitu Go w tym okresie rozliczeniowym. {{contact}}, aby poprosić o zwrot.", diff --git a/packages/console/app/src/i18n/ru.ts b/packages/console/app/src/i18n/ru.ts index 4629542c81..903d4d1223 100644 --- a/packages/console/app/src/i18n/ru.ts +++ b/packages/console/app/src/i18n/ru.ts @@ -274,6 +274,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Подписаться на Go", "go.cta.price": "$10/месяц", + "go.plans.month": "/мес.", + "go.plans.plus.cta": "Подписаться на Go Plus", + "go.plans.plus.description": "Go Plus стоит $40/месяц и предлагает более высокие лимиты.", + "go.plans.go.feature1": "Отобранные доступные модели", + "go.plans.go.feature2": "Проверены для агентного программирования", + "go.plans.go.feature3": "Щедрые лимиты и надёжный доступ", + "go.plans.plus.feature1": "Все возможности Go", + "go.plans.plus.feature2": "Повышенные лимиты для длительной сосредоточенной работы над кодом", + "go.plans.plus.feature3": "Для крупных и сложных проектов", + "go.plans.limits": "Лимиты", + "go.plans.description": "Примерное число запросов за 5 часов и месячные лимиты по моделям", + "go.plans.legend": "Тарифы", "go.pricing.body": "Используйте с любым агентом. $10/месяц. Пополняйте баланс при необходимости. Отменить можно в любое время.", "go.graph.free": "Бесплатно", @@ -388,7 +400,7 @@ export const dict = { "go.faq.q9": "В чем разница между бесплатными моделями и Go?", "go.faq.a9": - "Бесплатные модели включают Big Pickle и доступные на данный момент промо-модели с квотой 200 запросов/день. Go предлагает набор отобранных моделей с более высокими квотами запросов, применяемыми в скользящих окнах (5 часов, неделя и месяц), что примерно эквивалентно базовым лимитам $12 за 5 часов, $30 в неделю и $60 в месяц; лимиты для отдельных моделей могут отличаться (фактическое количество запросов зависит от модели и использования).", + "Бесплатные модели включают Big Pickle и доступные на данный момент промо-модели с квотой 200 запросов/день. Go предлагает набор отобранных моделей с более высокими квотами запросов в скользящих окнах: 20% месячного лимита за 5 часов, 50% за неделю и 100% за месяц. Лимиты для отдельных моделей могут отличаться (фактическое количество запросов зависит от модели и использования).", "go.faq.q10": "Могу ли я получить возврат средств?", "go.faq.a10": "Вы можете претендовать на возврат, если списание произошло в течение последних 14 дней и вы не использовали лимит Go в этом расчетном периоде. {{contact}}, чтобы запросить возврат.", diff --git a/packages/console/app/src/i18n/th.ts b/packages/console/app/src/i18n/th.ts index d8e3535901..8eb1f38827 100644 --- a/packages/console/app/src/i18n/th.ts +++ b/packages/console/app/src/i18n/th.ts @@ -269,6 +269,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "สมัครสมาชิก Go", "go.cta.price": "$10/เดือน", + "go.plans.month": "/เดือน", + "go.plans.plus.cta": "สมัคร Go Plus", + "go.plans.plus.description": "Go Plus ราคา $40/เดือน พร้อมขีดจำกัดการใช้งานที่สูงขึ้น", + "go.plans.go.feature1": "โมเดลคัดสรรในราคาคุ้มค่า", + "go.plans.go.feature2": "ทดสอบสำหรับการเขียนโค้ดด้วยเอเจนต์", + "go.plans.go.feature3": "ขีดจำกัดสูงและเข้าถึงได้อย่างเสถียร", + "go.plans.plus.feature1": "รวมทุกสิ่งที่มีใน Go", + "go.plans.plus.feature2": "ขีดจำกัดสูงขึ้น เพื่อเขียนโค้ดอย่างต่อเนื่องและมีสมาธิได้นานขึ้น", + "go.plans.plus.feature3": "เหมาะสำหรับโปรเจกต์ขนาดใหญ่ที่ซับซ้อน", + "go.plans.limits": "ขีดจำกัด", + "go.plans.description": "จำนวนคำขอโดยประมาณต่อ 5 ชั่วโมงและขีดจำกัดรายเดือนแยกตามโมเดล", + "go.plans.legend": "แพ็กเกจ", "go.pricing.body": "ใช้กับเอเจนต์ใดก็ได้ $10/เดือน เติมเครดิตหากจำเป็น ยกเลิกได้ตลอดเวลา", "go.graph.free": "ฟรี", "go.graph.freePill": "Big Pickle และโมเดลฟรี", @@ -379,7 +391,7 @@ export const dict = { "go.faq.q9": "ความแตกต่างระหว่างโมเดลฟรีและ Go คืออะไร?", "go.faq.a9": - "โมเดลฟรีประกอบด้วย Big Pickle และโมเดลโปรโมชันที่มีให้บริการในขณะนั้น โดยมีโควตา 200 คำขอ/วัน Go นำเสนอชุดโมเดลที่คัดสรร พร้อมโควตาคำขอที่สูงกว่าซึ่งบังคับใช้ตามกรอบเวลาแบบต่อเนื่อง (5 ชั่วโมง, รายสัปดาห์ และรายเดือน) เทียบเท่าโควตาพื้นฐานประมาณ $12 ต่อ 5 ชั่วโมง, $30 ต่อสัปดาห์ และ $60 ต่อเดือน โดยโควตาเฉพาะอาจแตกต่างกันไปตามโมเดล (จำนวนคำขอจริงแตกต่างกันไปตามโมเดลและการใช้งาน)", + "โมเดลฟรีประกอบด้วย Big Pickle และโมเดลโปรโมชันที่มีให้บริการในขณะนั้น โดยมีโควตา 200 คำขอ/วัน Go นำเสนอชุดโมเดลที่คัดสรร พร้อมโควตาคำขอที่สูงกว่าในกรอบเวลาแบบต่อเนื่อง ได้แก่ 20% ของโควตารายเดือนต่อ 5 ชั่วโมง 50% ต่อสัปดาห์ และ 100% ต่อเดือน โควตาเฉพาะอาจแตกต่างกันไปตามโมเดล (จำนวนคำขอจริงแตกต่างกันไปตามโมเดลและการใช้งาน)", "go.faq.q10": "ฉันขอเงินคืนได้หรือไม่?", "go.faq.a10": "หากมีการเรียกเก็บเงินภายใน 14 วันที่ผ่านมาและคุณยังไม่ได้ใช้สิทธิ์การใช้งาน Go เลยในรอบการเรียกเก็บเงินนั้น คุณอาจมีสิทธิ์ได้รับเงินคืน {{contact}}เพื่อขอเงินคืน", diff --git a/packages/console/app/src/i18n/tr.ts b/packages/console/app/src/i18n/tr.ts index 47f89fa5af..fc97cef462 100644 --- a/packages/console/app/src/i18n/tr.ts +++ b/packages/console/app/src/i18n/tr.ts @@ -272,6 +272,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Go'ya abone ol", "go.cta.price": "Ayda 10$", + "go.plans.month": "/ay", + "go.plans.plus.cta": "Go Plus'a abone ol", + "go.plans.plus.description": "Go Plus ayda 40$'dır ve daha yüksek limitler sunar.", + "go.plans.go.feature1": "Seçilmiş, uygun fiyatlı modeller", + "go.plans.go.feature2": "Ajan destekli kodlama için test edildi", + "go.plans.go.feature3": "Cömert limitler ve güvenilir erişim", + "go.plans.plus.feature1": "Go'daki her şey dahil", + "go.plans.plus.feature2": "Daha uzun, odaklı kodlama oturumları için daha yüksek limitler", + "go.plans.plus.feature3": "Daha büyük ve zorlu projeler için", + "go.plans.limits": "Limitler", + "go.plans.description": "Model başına 5 saatlik tahmini istek ve aylık kullanım limitleri", + "go.plans.legend": "Planlar", "go.pricing.body": "Herhangi bir ajanla kullanın. Ayda 10$. Gerekirse kredi yükleyin. İstediğiniz zaman iptal edin.", "go.graph.free": "Ücretsiz", "go.graph.freePill": "Big Pickle ve ücretsiz modeller", @@ -385,7 +397,7 @@ export const dict = { "go.faq.q9": "Ücretsiz modeller ve Go arasındaki fark nedir?", "go.faq.a9": - "Ücretsiz modeller, günlük 200 istek kotasıyla Big Pickle'ı ve o sırada mevcut olan promosyonel modelleri içerir. Go ise kayan zaman aralıklarında (5 saatlik, haftalık ve aylık) uygulanan daha yüksek istek kotalarıyla özenle seçilmiş model seçenekleri sunar. Bu kotalar kabaca her 5 saatte 12$, haftada 30$ ve ayda 60$ değerindeki temel kullanım haklarına eşdeğerdir; modele özgü kullanım hakları farklılık gösterebilir (gerçek istek sayıları modele ve kullanıma göre değişir).", + "Ücretsiz modeller, günlük 200 istek kotasıyla Big Pickle'ı ve o sırada mevcut olan promosyonel modelleri içerir. Go ise kayan zaman aralıklarında daha yüksek istek kotalarıyla özenle seçilmiş model seçenekleri sunar: aylık kotanın %20'si her 5 saatte, %50'si haftada ve %100'ü ayda kullanılabilir. Modele özgü kullanım hakları farklılık gösterebilir (gerçek istek sayıları modele ve kullanıma göre değişir).", "go.faq.q10": "Para iadesi alabilir miyim?", "go.faq.a10": "Ücret son 14 gün içinde tahsil edildiyse ve ilgili faturalandırma döneminde Go kullanım hakkınızı hiç kullanmadıysanız para iadesine hak kazanabilirsiniz. {{contact}} ve para iadesi talep edin.", diff --git a/packages/console/app/src/i18n/uk.ts b/packages/console/app/src/i18n/uk.ts index e57cb72b65..7fae5bfaa9 100644 --- a/packages/console/app/src/i18n/uk.ts +++ b/packages/console/app/src/i18n/uk.ts @@ -270,6 +270,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "Підписатися на Go", "go.cta.price": "$10/місяць", + "go.plans.month": "/місяць", + "go.plans.plus.cta": "Підписатися на Go Plus", + "go.plans.plus.description": "Go Plus коштує $40/місяць і пропонує вищі ліміти.", + "go.plans.go.feature1": "Відібрані доступні моделі", + "go.plans.go.feature2": "Перевірені для агентного програмування", + "go.plans.go.feature3": "Щедрі ліміти й надійний доступ", + "go.plans.plus.feature1": "Усе, що входить до Go", + "go.plans.plus.feature2": "Вищі ліміти для тривалішої зосередженої роботи над кодом", + "go.plans.plus.feature3": "Для більших і складніших проєктів", + "go.plans.limits": "Ліміти", + "go.plans.description": "Орієнтовні запити за 5 годин і місячні ліміти за моделями", + "go.plans.legend": "Плани", "go.pricing.body": "Використовуйте з будь-яким агентом. $10/місяць. Поповнюйте за потреби. Скасуйте в будь-який час.", "go.graph.free": "Безкоштовно", "go.graph.freePill": "Big Pickle та безкоштовні моделі", @@ -380,7 +392,7 @@ export const dict = { "go.faq.q9": "Яка різниця між безкоштовними моделями та Go?", "go.faq.a9": - "Безкоштовні моделі включають Big Pickle та доступні на той момент акційні моделі з квотою 200 запитів/день. Go пропонує добірку моделей із вищими квотами запитів, що застосовуються протягом ковзних періодів (5 годин, тижня та місяця), приблизно еквівалентними базовим лімітам $12 за 5 годин, $30 на тиждень і $60 на місяць; ліміти для окремих моделей можуть відрізнятися (фактична кількість запитів залежить від моделі та використання).", + "Безкоштовні моделі включають Big Pickle та доступні на той момент акційні моделі з квотою 200 запитів/день. Go пропонує добірку моделей із вищими квотами запитів протягом ковзних періодів: 20% місячного ліміту за 5 годин, 50% за тиждень і 100% за місяць. Ліміти для окремих моделей можуть відрізнятися (фактична кількість запитів залежить від моделі та використання).", "go.faq.q10": "Чи можу я отримати повернення коштів?", "go.faq.a10": "Ви можете претендувати на повернення, якщо кошти було списано протягом останніх 14 днів і ви не використали ліміт Go протягом цього розрахункового періоду. {{contact}}, щоб подати запит на повернення.", diff --git a/packages/console/app/src/i18n/zh.ts b/packages/console/app/src/i18n/zh.ts index baca1bd0db..9ec2536db8 100644 --- a/packages/console/app/src/i18n/zh.ts +++ b/packages/console/app/src/i18n/zh.ts @@ -259,6 +259,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "订阅 Go", "go.cta.price": "$10/月", + "go.plans.month": "/月", + "go.plans.plus.cta": "订阅 Go Plus", + "go.plans.plus.description": "Go Plus 每月 $40,提供更高的使用额度。", + "go.plans.go.feature1": "精选实惠的模型", + "go.plans.go.feature2": "专为智能体编程测试", + "go.plans.go.feature3": "充足额度与稳定访问", + "go.plans.plus.feature1": "包含 Go 的全部权益", + "go.plans.plus.feature2": "更高额度,支持更长时间的专注编码", + "go.plans.plus.feature3": "适合更大型、更复杂的项目", + "go.plans.limits": "使用额度", + "go.plans.description": "各模型每 5 小时的预计请求次数和每月使用额度", + "go.plans.legend": "套餐", "go.pricing.body": "可配合任何代理使用。每月 $10。如有需要可充值。随时取消。", "go.graph.free": "免费", "go.graph.freePill": "Big Pickle 和免费模型", @@ -361,7 +373,7 @@ export const dict = { "go.faq.q9": "免费模型和 Go 之间的区别是什么?", "go.faq.a9": - "免费模型包含 Big Pickle 加上当时可用的促销模型,每天有 200 次请求的配额。Go 提供精选模型阵容,并在滚动窗口(5 小时、每周和每月)内执行更高的请求配额,大致相当于每 5 小时 $12、每周 $30 和每月 $60 的基础额度;具体额度可能因模型而异(实际请求计数因模型和使用情况而异)。", + "免费模型包含 Big Pickle 加上当时可用的促销模型,每天有 200 次请求的配额。Go 提供精选模型阵容,并在滚动窗口内执行更高的请求配额:每 5 小时为月额度的 20%,每周为 50%,每月为 100%。具体额度可能因模型而异(实际请求次数因模型和使用情况而异)。", "go.faq.q10": "我可以退款吗?", "go.faq.a10": "如果扣款发生在过去 14 天内,并且您在该计费周期内尚未使用任何 Go 额度,您可能符合退款条件。请{{contact}}申请退款。", diff --git a/packages/console/app/src/i18n/zht.ts b/packages/console/app/src/i18n/zht.ts index 690349d48e..be1f613f6f 100644 --- a/packages/console/app/src/i18n/zht.ts +++ b/packages/console/app/src/i18n/zht.ts @@ -258,6 +258,18 @@ export const dict = { "go.cta.template": "{{text}} {{price}}", "go.cta.text": "訂閱 Go", "go.cta.price": "$10/月", + "go.plans.month": "/月", + "go.plans.plus.cta": "訂閱 Go Plus", + "go.plans.plus.description": "Go Plus 每月 $40,提供更高的使用額度。", + "go.plans.go.feature1": "精選實惠的模型", + "go.plans.go.feature2": "專為代理程式編碼測試", + "go.plans.go.feature3": "充足額度與穩定存取", + "go.plans.plus.feature1": "包含 Go 的所有權益", + "go.plans.plus.feature2": "更高額度,支援更長時間的專注編碼", + "go.plans.plus.feature3": "適合更大型、更複雜的專案", + "go.plans.limits": "使用額度", + "go.plans.description": "各模型每 5 小時的預估請求次數及每月使用額度", + "go.plans.legend": "方案", "go.pricing.body": "可搭配任何代理使用。每月 $10。如有需要可儲值。隨時取消。", "go.graph.free": "免費", "go.graph.freePill": "Big Pickle 與免費模型", @@ -360,7 +372,7 @@ export const dict = { "go.faq.q9": "免費模型與 Go 有什麼區別?", "go.faq.a9": - "免費模型包括 Big Pickle 以及當時可用的促銷模型,配額為 200 次請求/天。Go 提供精選模型陣容,並在滾動視窗(5 小時、每週和每月)內提供更高的請求配額,大約相當於每 5 小時 $12、每週 $30 和每月 $60 的基礎額度;具體額度可能因模型而異(實際請求數因模型和使用情況而異)。", + "免費模型包括 Big Pickle 以及當時可用的促銷模型,配額為每天 200 次請求。Go 提供精選模型陣容,並在滾動視窗內執行較高的請求配額:每 5 小時為每月額度的 20%、每週 50%、每月 100%。具體額度可能因模型而異(實際請求次數因模型和使用情況而異)。", "go.faq.q10": "我可以退款嗎?", "go.faq.a10": "若扣款發生在過去 14 天內,且你在該計費期間尚未使用任何 Go 額度,你可能符合退款資格。請{{contact}}申請退款。", diff --git a/packages/console/app/src/routes/go/index.css b/packages/console/app/src/routes/go/index.css index 6793b6c32b..0cae41fa9e 100644 --- a/packages/console/app/src/routes/go/index.css +++ b/packages/console/app/src/routes/go/index.css @@ -1069,6 +1069,101 @@ body { } } + [data-slot="plans"] { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 0.75rem; + margin-top: 2rem; + font-family: "Inter", sans-serif; + font-size: 0.8125rem; + font-weight: 440; + line-height: 1.25rem; + letter-spacing: -0.04px; + text-rendering: geometricPrecision; + -webkit-font-smoothing: antialiased; + + [data-slot="plan"] { + display: flex; + flex-direction: column; + justify-content: space-between; + gap: 1.75rem; + padding: 1rem; + border: 1px solid var(--go-console-border); + border-radius: 6px; + background: var(--go-console-surface); + color: var(--go-console-text); + } + [data-slot="name"] { + color: var(--go-console-secondary); + line-height: 1.25rem; + } + [data-slot="price"] { + margin-top: 1rem; + font-size: 1.625rem; + font-weight: 610; + line-height: 2rem; + letter-spacing: -0.5px; + span { + font-size: 0.8125rem; + font-weight: 440; + letter-spacing: -0.04px; + color: var(--go-console-secondary); + } + } + ul { + display: grid; + gap: 0.5rem; + margin-top: 1.25rem; + padding: 0; + list-style: none; + color: var(--go-console-secondary); + } + li { + display: flex; + align-items: center; + gap: 0.5rem; + } + li span { + display: inline-flex; + flex: none; + color: var(--go-console-icon); + } + a { + display: flex; + align-items: center; + justify-content: center; + height: 2rem; + padding: 0 1rem; + font-size: 0.8125rem; + font-weight: 530; + border: 1px solid var(--go-console-border); + border-radius: 6px; + background: var(--go-console-bg); + color: var(--go-console-text); + text-align: center; + text-decoration: none; + } + a:hover { + background: var(--go-console-track); + } + a:focus-visible { + outline: 2px solid var(--go-console-text); + outline-offset: 2px; + } + @media (max-width: 42rem) { + grid-template-columns: 1fr; + } + } + + [data-component="comparison"] { + background: var(--go-console-bg); + border-top: 0; + } + + [data-component="hero"] { + padding-bottom: 2rem; + } + [data-slot="section-title"] { margin-bottom: 24px; diff --git a/packages/console/app/src/routes/go/index.tsx b/packages/console/app/src/routes/go/index.tsx index b820dfdcdb..ec1e78efae 100644 --- a/packages/console/app/src/routes/go/index.tsx +++ b/packages/console/app/src/routes/go/index.tsx @@ -1,7 +1,7 @@ import "./index.css" import { createAsync, query } from "@solidjs/router" import { Title, Meta } from "@solidjs/meta" -import { For, createMemo } from "solid-js" +import { For } from "solid-js" //import { HttpHeader } from "@solidjs/start" import goLogoLight from "../../asset/go-ornate-light.svg" import goLogoDark from "../../asset/go-ornate-dark.svg" @@ -10,7 +10,7 @@ import { Faq } from "~/component/faq" import { Legal } from "~/component/legal" import { Footer } from "~/component/footer" import { Header } from "~/component/header" -import { LimitsGraph } from "~/component/limits-graph" +import { GoPlanChart } from "~/component/go-plan-chart" import { config } from "~/config" import { getLastSeenWorkspaceID } from "../workspace/common" import { IconMiniMax, IconMiMo, IconZai, IconAlibaba, IconDeepSeek } from "~/component/icon" @@ -34,10 +34,8 @@ const models = [ { name: "GLM-5.3-Flash", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "GLM-5.3", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "GLM-5.2", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, - { name: "GLM-5.1", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "Kimi K3", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "Kimi K2.7 Code", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, - { name: "Kimi K2.6", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "LongCat-2.0", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "MiMo-V2.6-Pro", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "MiMo-V2.6-Flash", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, @@ -45,9 +43,7 @@ const models = [ { name: "MiMo-V2.5", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "Qwen3.8 Max", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "Qwen3.8 Flash", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, - { name: "Qwen3.7 Max", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "Qwen3.7 Plus", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, - { name: "Qwen3.6 Plus", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "MiniMax M3", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "MiniMax M2.7", training: "go.faq.a5.notUsed", retention: "go.faq.a5.retention0" }, { name: "Muse Spark 1.3 Contributor", training: "go.faq.a5.used", retention: "go.faq.a5.notZdr" }, @@ -62,23 +58,29 @@ const models = [ export default function Home() { const workspaceID = createAsync(() => checkLoggedIn()) - const subscribeUrl = createMemo(() => "/console/go") + const subscribeUrl = "https://opencode.ai/console/go" const i18n = useI18n() const language = useLanguage() return (
{/**/} {i18n.t("go.title")} - + - + - + @@ -182,46 +184,74 @@ export default function Home() { */} - - - - {(part) => { - if (part === "{{text}}") return {i18n.t("go.cta.text")} - if (part === "{{price}}") { - return {i18n.t("go.cta.price")} - } - return part - }} - - - - - - -
-

{i18n.t("go.pricing.body")}

+
+ + {(plan) => ( +
+
+

{plan.name}

+

+ {plan.price} {i18n.t("go.plans.month")} +

+
    + + {(feature) => ( +
  • + + {i18n.t(feature)} +
  • + )} +
    +
+
+ {i18n.t(plan.cta)} +
+ )} +
- +

{i18n.t("go.problem.title")}

-

{i18n.t("go.problem.body")}

+

+ {i18n.t("go.problem.body")} {i18n.t("go.plans.plus.description")} +

{i18n.t("go.problem.subtitle")}

    @@ -243,7 +273,9 @@ export default function Home() {

    {i18n.t("go.how.title")}

    -

    {i18n.t("go.how.body")}

    +

    + {i18n.t("go.how.body")} {i18n.t("go.plans.plus.description")} +

    • @@ -260,7 +292,7 @@ export default function Home() {
      {i18n.t("go.how.step2.title")} -{" "} {i18n.t("go.how.step2.link")}{" "} - {i18n.t("go.how.step2.afterLink")} + {i18n.t("go.how.step2.afterLink")} · {i18n.t("go.plans.plus.description")}
    • @@ -292,14 +324,17 @@ export default function Home() { {i18n.t("go.faq.a9")}
    • - {i18n.t("go.faq.a3")} + + {i18n.t("go.faq.a3")} {i18n.t("go.plans.plus.description")} +
    • {i18n.t("go.faq.a4.p1.beforePricing")}{" "} {i18n.t("go.faq.a4.p1.pricingLink")}{" "} - {i18n.t("go.faq.a4.p1.afterPricing")} {i18n.t("go.faq.a4.p2.beforeAccount")}{" "} - {i18n.t("go.faq.a4.p2.accountLink")}. {i18n.t("go.faq.a4.p3")} + {i18n.t("go.faq.a4.p1.afterPricing")} {i18n.t("go.plans.plus.description")}{" "} + {i18n.t("go.faq.a4.p2.beforeAccount")} {i18n.t("go.faq.a4.p2.accountLink")} + . {i18n.t("go.faq.a4.p3")}