mirror of
https://github.com/codewhale-hq/Codewhale.git
synced 2026-11-11 23:56:38 -10:00
fix(web): home posture note names the frames that show the model and Ask setting; the OrcaRouter offer returns below the first screen; changelog gating sentence corrected (CW-8048 HOME-2 version B, repair 1)
The note under the hero picture said the frames before and after show the
model name and the Ask setting; the Edit frame next to Approval shows
neither. It now says the Prompt and Result frames show them, which the
capture's flags confirm at both widths, in all 18 locales and the GT catalog.
Founder decision 156: the dated OrcaRouter offer strip from CW-7933 is
restored unchanged (partner-promo.ts, markup and styles from cc0d42bf4a,
English only, referral disclosure, days left computed at render, hidden
after 2026-11-21), placed after the model section, so the first screen is
as accepted.
The CHANGELOG said the page names several agents only while the release has
it; only the facts row is gated. Corrected, and it now says the offer strip
stays below the first screen. TUI changelog resynced.
Checks: npm test 1301 passed + 7 node, tsc, lint, check:locales, check:tokens
and build all exit 0.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
1 parent
c390b981b7
commit
f86aac6275
25 files changed
+95
-20
No files matched your search
@@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- **Website home page, rebuilt around one first screen:** the headline stays "The model can be anyone's. The agent should be yours.", centred, with one plain sentence under it that says what Codewhale is (an open-source coding agent for your terminal, written in Rust, working with any model and able to split a task across several agents), the install command, and one wide picture of a real terminal session that runs off the bottom of the first screen. A row of facts under the picture takes its counts of provider routes and models from the published release, and the page says several agents share a task only while the release has it. The route of where the product is going moves lower and smaller, and the home page names no other tools. The new text in the 17 non-English languages is machine-drafted and is labelled as such in the footer; the Arabic page now reads the opening sentence right to left.
|
||||
- **Website home page:** the page is reorganized around what a visitor does: a dated OrcaRouter offer strip with a visible referral tag, one proof strip (release, stars, contributors), a models section with the newest first-party models, one capabilities section that includes Computer Use, an "Everything is a plugin" teaser and a community panel whose live GitHub numbers fill in from the browser and hide when unavailable. Unused home copy was removed from all 18 site languages.
|
||||
- **Website home page, rebuilt around one first screen:** the headline stays "The model can be anyone's. The agent should be yours.", centred, with one plain sentence under it that says what Codewhale is (an open-source coding agent for your terminal, written in Rust, working with any model and able to split a task across several agents), the install command, and one wide picture of a real terminal session that runs off the bottom of the first screen. A row of facts under the picture takes its counts of provider routes and models from the published release, and the page says several agents share a task only while the release has it. The route of where the product is going moves lower and smaller, and the home page names no other tools. This replaces the earlier reorganization of the home page, so the dated OrcaRouter offer strip and the community panel whose GitHub numbers filled in from the browser are no longer on it; the models and contribute pages keep their own content. The new text in the 17 non-English languages is machine-drafted and is labelled as such in the footer; the Arabic page now reads the opening sentence right to left.
|
||||
- **Website home page, rebuilt around one first screen:** the headline stays "The model can be anyone's. The agent should be yours.", centred, with one plain sentence under it that says what Codewhale is (an open-source coding agent for your terminal, written in Rust, working with any model and able to split a task across several agents), the install command, and one wide picture of a real terminal session that runs off the bottom of the first screen. A row of facts under the picture takes its counts of provider routes and models from the published release, and the facts row lists many agents on one task only while the release has it. The route of where the product is going moves lower and smaller, and the home page names no other coding agents. This replaces the earlier reorganization of the home page, so the community panel whose GitHub numbers filled in from the browser is no longer on it, and the dated OrcaRouter offer strip, English only, with its referral disclosure, stays below the first screen until it ends; the models and contribute pages keep their own content. The new text in the 17 non-English languages is machine-drafted and is labelled as such in the footer; the Arabic page now reads the opening sentence right to left.
|
||||
- **Website models and plugins:** /models leads with recently added models, three ways to connect (DeepSeek, first-party providers, any OpenAI-compatible endpoint) and a catalog grouped by maker; Ollama and OpenRouter are listed but no longer featured. /plugins leads with "Everything is a plugin" (credited to DeepSeek Harness) and shows MCP connectors from the connection catalog.
|
||||
- **Model catalog:** Claude Fable 5.2 (`claude-fable-5-2`) and Gemini 4 Carbon (`gemini-4-carbon`) are in the bundled catalog, and a daily catalog-refresh workflow proposes new first-party models from models.dev as a pull request. The workflow has not run in GitHub Actions yet.
|
||||
- **Gemini 4 output limit:** Gemini 4 Carbon and Gemini 4 Argon now allow 65,536 output tokens per reply, up from 32,768, matching Google's published limit.
|
||||
|
||||
@@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- **Website home page, rebuilt around one first screen:** the headline stays "The model can be anyone's. The agent should be yours.", centred, with one plain sentence under it that says what Codewhale is (an open-source coding agent for your terminal, written in Rust, working with any model and able to split a task across several agents), the install command, and one wide picture of a real terminal session that runs off the bottom of the first screen. A row of facts under the picture takes its counts of provider routes and models from the published release, and the page says several agents share a task only while the release has it. The route of where the product is going moves lower and smaller, and the home page names no other tools. The new text in the 17 non-English languages is machine-drafted and is labelled as such in the footer; the Arabic page now reads the opening sentence right to left.
|
||||
- **Website home page:** the page is reorganized around what a visitor does: a dated OrcaRouter offer strip with a visible referral tag, one proof strip (release, stars, contributors), a models section with the newest first-party models, one capabilities section that includes Computer Use, an "Everything is a plugin" teaser and a community panel whose live GitHub numbers fill in from the browser and hide when unavailable. Unused home copy was removed from all 18 site languages.
|
||||
- **Website home page, rebuilt around one first screen:** the headline stays "The model can be anyone's. The agent should be yours.", centred, with one plain sentence under it that says what Codewhale is (an open-source coding agent for your terminal, written in Rust, working with any model and able to split a task across several agents), the install command, and one wide picture of a real terminal session that runs off the bottom of the first screen. A row of facts under the picture takes its counts of provider routes and models from the published release, and the page says several agents share a task only while the release has it. The route of where the product is going moves lower and smaller, and the home page names no other tools. This replaces the earlier reorganization of the home page, so the dated OrcaRouter offer strip and the community panel whose GitHub numbers filled in from the browser are no longer on it; the models and contribute pages keep their own content. The new text in the 17 non-English languages is machine-drafted and is labelled as such in the footer; the Arabic page now reads the opening sentence right to left.
|
||||
- **Website home page, rebuilt around one first screen:** the headline stays "The model can be anyone's. The agent should be yours.", centred, with one plain sentence under it that says what Codewhale is (an open-source coding agent for your terminal, written in Rust, working with any model and able to split a task across several agents), the install command, and one wide picture of a real terminal session that runs off the bottom of the first screen. A row of facts under the picture takes its counts of provider routes and models from the published release, and the facts row lists many agents on one task only while the release has it. The route of where the product is going moves lower and smaller, and the home page names no other coding agents. This replaces the earlier reorganization of the home page, so the community panel whose GitHub numbers filled in from the browser is no longer on it, and the dated OrcaRouter offer strip, English only, with its referral disclosure, stays below the first screen until it ends; the models and contribute pages keep their own content. The new text in the 17 non-English languages is machine-drafted and is labelled as such in the footer; the Arabic page now reads the opening sentence right to left.
|
||||
- **Website models and plugins:** /models leads with recently added models, three ways to connect (DeepSeek, first-party providers, any OpenAI-compatible endpoint) and a catalog grouped by maker; Ollama and OpenRouter are listed but no longer featured. /plugins leads with "Everything is a plugin" (credited to DeepSeek Harness) and shows MCP connectors from the connection catalog.
|
||||
- **Model catalog:** Claude Fable 5.2 (`claude-fable-5-2`) and Gemini 4 Carbon (`gemini-4-carbon`) are in the bundled catalog, and a daily catalog-refresh workflow proposes new first-party models from models.dev as a pull request. The workflow has not run in GitHub Actions yet.
|
||||
- **Gemini 4 output limit:** Gemini 4 Carbon and Gemini 4 Argon now allow 65,536 output tokens per reply, up from 32,768, matching Google's published limit.
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { Fragment } from "react";
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
import { HeroInstall } from "@/components/hero-install";
|
||||
import { Icon } from "@/components/icon";
|
||||
import { readAsOf } from "@/components/project-pulse";
|
||||
import { InlineCode } from "@/components/route/inline-code";
|
||||
import { RouteMap, type RoutePart } from "@/components/route/product-route";
|
||||
@@ -8,6 +10,7 @@ import { SessionFrames, type SessionFrame } from "@/components/route/session-fra
|
||||
import { TerminalCapture } from "@/components/terminal-capture";
|
||||
import { releaseView, runtimeCapabilityContext } from "@/lib/capabilities";
|
||||
import { captureCaption, frameNote } from "@/lib/capture-caption";
|
||||
import { PARTNER_PROMO } from "@/lib/content/partner-promo";
|
||||
import { PROJECT_COPY } from "@/lib/content/project";
|
||||
import { PRODUCT_MAP_STATE_KEY, PRODUCT_MAP_TEXT_KEYS, productMap, type ProductMapId } from "@/lib/content/product-map";
|
||||
import { getFacts } from "@/lib/facts";
|
||||
@@ -75,6 +78,9 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
const release = facts.latestPublishedRelease;
|
||||
const jsonLd = buildSoftwareApplicationJsonLd(release, locale);
|
||||
const numbers = new Intl.NumberFormat(chrome.dateLocale);
|
||||
const promoLeft = Date.parse(PARTNER_PROMO.endsAt) - Date.now();
|
||||
const promoDays = Math.max(1, Math.ceil(promoLeft / 86_400_000));
|
||||
const showPromo = promoLeft > 0 && PARTNER_PROMO.locales.includes(locale);
|
||||
|
||||
const parts: RoutePart[] = productMap({ capabilities: runtimeCapabilityContext(facts) }).map((row) => {
|
||||
const keys = PRODUCT_MAP_TEXT_KEYS[row.id];
|
||||
@@ -202,6 +208,25 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
</figure>
|
||||
</section>
|
||||
|
||||
{showPromo && (
|
||||
<aside className="home-promo-bar home-promo-inline" aria-label={PARTNER_PROMO.title}>
|
||||
<div className="home-promo-bar-inner">
|
||||
<Image src={PARTNER_PROMO.image.src} alt="" width={64} height={36} className="home-promo-bar-art" unoptimized />
|
||||
<p>
|
||||
<strong>{PARTNER_PROMO.title}</strong>
|
||||
<span>{pickText(PARTNER_PROMO.bar, locale)}</span>
|
||||
<span className="home-promo-bar-days">{fill(pickText(promoDays === 1 ? PARTNER_PROMO.dayLeft : PARTNER_PROMO.daysLeft, locale), { count: promoDays })}</span>
|
||||
</p>
|
||||
<span className="home-promo-bar-tag">{pickText(PARTNER_PROMO.referralTag, locale)}</span>
|
||||
<p className="home-promo-bar-disclosure">{pickText(PARTNER_PROMO.disclosure, locale)}</p>
|
||||
<a href={PARTNER_PROMO.href} rel="sponsored noopener" className="btn btn-primary">
|
||||
{pickText(PARTNER_PROMO.cta, locale)}
|
||||
<Icon name="external" className="icon" />
|
||||
</a>
|
||||
</div>
|
||||
</aside>
|
||||
)}
|
||||
|
||||
<section className="home-section home-split home-split-flip" aria-labelledby="home-control">
|
||||
<div className="home-text">
|
||||
<h2 id="home-control" className="home-h2">{d.sectionControlHeading}</h2>
|
||||
|
||||
@@ -466,3 +466,28 @@ a.road-name:hover { text-decoration-color: currentColor; }
|
||||
@media (max-width: 900px) {
|
||||
.release-cards { grid-template-columns: minmax(0, 1fr); }
|
||||
}
|
||||
|
||||
.home-promo-bar { border-bottom: 1px solid var(--line); background: var(--surface); }
|
||||
.home-promo-inline { margin-top: var(--space-7); border: 1px solid var(--line); border-radius: var(--radius-surface); }
|
||||
.home-promo-inline .home-promo-bar-inner { width: auto; padding: var(--space-4) var(--space-5); }
|
||||
.home-promo-bar-disclosure { flex-basis: 100%; order: 10; margin: 0; color: var(--muted); font-size: var(--text-caption); }
|
||||
.home-promo-bar-inner {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: var(--space-3) var(--space-5);
|
||||
width: var(--container);
|
||||
margin-inline: auto;
|
||||
padding-block: var(--space-3);
|
||||
}
|
||||
.home-promo-bar-art { width: 64px; height: 36px; border-radius: var(--radius-control); object-fit: cover; flex: none; }
|
||||
.home-promo-bar p { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-3); flex: 1 1 24rem; margin: 0; font-size: var(--text-ui); color: var(--muted); }
|
||||
.home-promo-bar p strong { color: var(--text); font-weight: 600; }
|
||||
.home-promo-bar-days { color: var(--accent); font-weight: 600; font-variant-numeric: tabular-nums; }
|
||||
.home-promo-bar-tag { padding: 0.125rem 0.5rem; border: 1px solid var(--line-strong); border-radius: var(--radius-control); color: var(--muted); font-size: var(--text-caption); }
|
||||
.home-promo-bar .btn { min-height: 2.25rem; padding-block: 0.25rem; }
|
||||
@media (max-width: 640px) {
|
||||
.home-promo-bar-art { display: none; }
|
||||
.home-promo-bar-inner { gap: var(--space-2) var(--space-3); padding-block: var(--space-2); }
|
||||
.home-promo-bar p { flex-basis: 100%; }
|
||||
}
|
||||
@@ -322,7 +322,7 @@
|
||||
"installNote": "Version {version} is released, and it needs no account.",
|
||||
"captionDevelopment": "A development build in a real terminal: the edits and tests ran for real, and the model is a scripted demo.",
|
||||
"captionReleased": "A real terminal session: the edits and tests ran for real, and the model is a scripted demo.",
|
||||
"captureFrameNoPosture": "The model name and the Ask setting are shown on the frames before and after this one.",
|
||||
"captureFrameNoPosture": "The Prompt and Result frames show the model name and the Ask setting.",
|
||||
"frameLabelPrompt": "Prompt",
|
||||
"frameLabelEdit": "Edit",
|
||||
"frameLabelApproval": "Approval",
|
||||
|
||||
@@ -322,7 +322,7 @@
|
||||
"installNote": "版本 {version} 已发布,无需账号。",
|
||||
"captionDevelopment": "开发版本在真实终端中的运行:编辑和测试都是真实执行的,模型是脚本化的演示。",
|
||||
"captionReleased": "真实的终端会话:编辑和测试都是真实执行的,模型是脚本化的演示。",
|
||||
"captureFrameNoPosture": "模型名称和 Ask 设置显示在这一帧之前和之后的画面中。",
|
||||
"captureFrameNoPosture": "“提示”和“结果”两帧显示了模型名称和 Ask 设置。",
|
||||
"frameLabelPrompt": "提示",
|
||||
"frameLabelEdit": "编辑",
|
||||
"frameLabelApproval": "审批",
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
export const PARTNER_PROMO = {
|
||||
locales: ["en"],
|
||||
href: "https://www.orcarouter.ai/redeem/1a6250545fdc4e0aaccb0a4470159e67",
|
||||
image: {
|
||||
src: "/codewhale-x-orcarouter.webp",
|
||||
width: 1440,
|
||||
height: 810,
|
||||
},
|
||||
endsAt: "2026-11-21T12:29:57Z",
|
||||
title: "Codewhale × OrcaRouter",
|
||||
bar: {
|
||||
en: "30% extra DeepSeek V4.1 Flash credit on each OrcaRouter top-up, until November 21.",
|
||||
zh: "每笔 OrcaRouter 充值额外获得 30% 的 DeepSeek V4.1 Flash 额度,截至 11 月 21 日。",
|
||||
},
|
||||
daysLeft: { en: "{count} days left", zh: "剩余 {count} 天" },
|
||||
dayLeft: { en: "Last day", zh: "最后一天" },
|
||||
referralTag: { en: "Referral link", zh: "推荐链接" },
|
||||
cta: { en: "Claim on OrcaRouter", zh: "在 OrcaRouter 领取" },
|
||||
disclosure: {
|
||||
en: "This link is part of a referral campaign; Codewhale may earn a referral reward on top-ups made through it.",
|
||||
zh: "此链接属于推荐活动;通过此链接充值时,Codewhale 可能获得推荐奖励。",
|
||||
},
|
||||
};
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "الإصدار {version} منشور، ولا يحتاج إلى حساب.",
|
||||
captionDevelopment: "نسخة تطوير في طرفية حقيقية: نُفِّذت التعديلات والاختبارات فعلًا، والنموذج عرض توضيحي مكتوب بنص مسبق.",
|
||||
captionReleased: "جلسة طرفية حقيقية: نُفِّذت التعديلات والاختبارات فعلًا، والنموذج عرض توضيحي مكتوب بنص مسبق.",
|
||||
captureFrameNoPosture: "اسم النموذج وإعداد Ask معروضان في اللقطتين السابقة واللاحقة لهذه اللقطة.",
|
||||
captureFrameNoPosture: "تعرض لقطتا «الطلب» و«النتيجة» اسم النموذج وإعداد Ask.",
|
||||
frameLabelPrompt: "الطلب",
|
||||
frameLabelEdit: "التعديل",
|
||||
frameLabelApproval: "الموافقة",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "La versió {version} està publicada i no necessita cap compte.",
|
||||
captionDevelopment: "Una versió de desenvolupament en un terminal real: les edicions i les proves es van executar de debò, i el model és una demostració amb guió.",
|
||||
captionReleased: "Una sessió real de terminal: les edicions i les proves es van executar de debò, i el model és una demostració amb guió.",
|
||||
captureFrameNoPosture: "El nom del model i el paràmetre Ask es mostren als fotogrames anterior i posterior a aquest.",
|
||||
captureFrameNoPosture: "Els fotogrames «Instrucció» i «Resultat» mostren el nom del model i el paràmetre Ask.",
|
||||
frameLabelPrompt: "Instrucció",
|
||||
frameLabelEdit: "Edició",
|
||||
frameLabelApproval: "Aprovació",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "Version {version} ist veröffentlicht und braucht kein Konto.",
|
||||
captionDevelopment: "Ein Entwicklungs-Build in einem echten Terminal: Die Änderungen und Tests wurden wirklich ausgeführt, und das Modell ist eine Demo nach Drehbuch.",
|
||||
captionReleased: "Eine echte Terminalsitzung: Die Änderungen und Tests wurden wirklich ausgeführt, und das Modell ist eine Demo nach Drehbuch.",
|
||||
captureFrameNoPosture: "Der Modellname und die Ask-Einstellung sind auf den Bildern vor und nach diesem zu sehen.",
|
||||
captureFrameNoPosture: "Die Bilder „Eingabe“ und „Ergebnis“ zeigen den Modellnamen und die Ask-Einstellung.",
|
||||
frameLabelPrompt: "Eingabe",
|
||||
frameLabelEdit: "Änderung",
|
||||
frameLabelApproval: "Freigabe",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "Version {version} is released, and it needs no account.",
|
||||
captionDevelopment: "A development build in a real terminal: the edits and tests ran for real, and the model is a scripted demo.",
|
||||
captionReleased: "A real terminal session: the edits and tests ran for real, and the model is a scripted demo.",
|
||||
captureFrameNoPosture: "The model name and the Ask setting are shown on the frames before and after this one.",
|
||||
captureFrameNoPosture: "The Prompt and Result frames show the model name and the Ask setting.",
|
||||
frameLabelPrompt: "Prompt",
|
||||
frameLabelEdit: "Edit",
|
||||
frameLabelApproval: "Approval",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "La versión {version} está publicada y no necesita cuenta.",
|
||||
captionDevelopment: "Una versión de desarrollo en un terminal real: las ediciones y las pruebas se ejecutaron de verdad, y el modelo es una demostración con guion.",
|
||||
captionReleased: "Una sesión real de terminal: las ediciones y las pruebas se ejecutaron de verdad, y el modelo es una demostración con guion.",
|
||||
captureFrameNoPosture: "El nombre del modelo y el ajuste Ask se muestran en los fotogramas anterior y posterior a este.",
|
||||
captureFrameNoPosture: "Los fotogramas «Instrucción» y «Resultado» muestran el nombre del modelo y el ajuste Ask.",
|
||||
frameLabelPrompt: "Instrucción",
|
||||
frameLabelEdit: "Edición",
|
||||
frameLabelApproval: "Aprobación",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "La version {version} est publiée et ne demande aucun compte.",
|
||||
captionDevelopment: "Une version de développement dans un vrai terminal : les modifications et les tests ont réellement été exécutés, et le modèle est une démonstration scénarisée.",
|
||||
captionReleased: "Une vraie session de terminal : les modifications et les tests ont réellement été exécutés, et le modèle est une démonstration scénarisée.",
|
||||
captureFrameNoPosture: "Le nom du modèle et le réglage Ask sont visibles sur les images qui précèdent et suivent celle-ci.",
|
||||
captureFrameNoPosture: "Les images « Requête » et « Résultat » montrent le nom du modèle et le réglage Ask.",
|
||||
frameLabelPrompt: "Requête",
|
||||
frameLabelEdit: "Modification",
|
||||
frameLabelApproval: "Approbation",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "संस्करण {version} जारी हो चुका है, और इसके लिए खाते की ज़रूरत नहीं है।",
|
||||
captionDevelopment: "असली टर्मिनल में एक डेवलपमेंट बिल्ड: संपादन और परीक्षण सचमुच चले, और मॉडल एक स्क्रिप्ट किया हुआ डेमो है।",
|
||||
captionReleased: "एक असली टर्मिनल सत्र: संपादन और परीक्षण सचमुच चले, और मॉडल एक स्क्रिप्ट किया हुआ डेमो है।",
|
||||
captureFrameNoPosture: "मॉडल का नाम और Ask सेटिंग इस फ़्रेम से पहले और बाद के फ़्रेम में दिखाई गई हैं।",
|
||||
captureFrameNoPosture: "“प्रॉम्प्ट” और “परिणाम” फ़्रेम में मॉडल का नाम और Ask सेटिंग दिखाई गई हैं।",
|
||||
frameLabelPrompt: "प्रॉम्प्ट",
|
||||
frameLabelEdit: "संपादन",
|
||||
frameLabelApproval: "स्वीकृति",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "Versi {version} sudah dirilis dan tidak memerlukan akun.",
|
||||
captionDevelopment: "Build pengembangan di terminal sungguhan: pengeditan dan pengujian benar-benar dijalankan, dan modelnya adalah demo berskrip.",
|
||||
captionReleased: "Sesi terminal sungguhan: pengeditan dan pengujian benar-benar dijalankan, dan modelnya adalah demo berskrip.",
|
||||
captureFrameNoPosture: "Nama model dan pengaturan Ask ditampilkan pada bingkai sebelum dan sesudah bingkai ini.",
|
||||
captureFrameNoPosture: "Bingkai Perintah dan Hasil menampilkan nama model dan pengaturan Ask.",
|
||||
frameLabelPrompt: "Perintah",
|
||||
frameLabelEdit: "Edit",
|
||||
frameLabelApproval: "Persetujuan",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "La versione {version} è pubblicata e non richiede un account.",
|
||||
captionDevelopment: "Una build di sviluppo in un vero terminale: le modifiche e i test sono stati eseguiti davvero, e il modello è una dimostrazione con copione.",
|
||||
captionReleased: "Una vera sessione di terminale: le modifiche e i test sono stati eseguiti davvero, e il modello è una dimostrazione con copione.",
|
||||
captureFrameNoPosture: "Il nome del modello e l’impostazione Ask sono mostrati nei fotogrammi prima e dopo questo.",
|
||||
captureFrameNoPosture: "I fotogrammi «Richiesta» e «Risultato» mostrano il nome del modello e l’impostazione Ask.",
|
||||
frameLabelPrompt: "Richiesta",
|
||||
frameLabelEdit: "Modifica",
|
||||
frameLabelApproval: "Approvazione",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "バージョン {version} はリリース済みで、アカウントは不要です。",
|
||||
captionDevelopment: "実際のターミナルでの開発ビルド。編集とテストは実際に実行されたもので、モデルは台本どおりのデモです。",
|
||||
captionReleased: "実際のターミナルセッション。編集とテストは実際に実行されたもので、モデルは台本どおりのデモです。",
|
||||
captureFrameNoPosture: "モデル名と Ask の設定は、この画面の前後の画面に表示されています。",
|
||||
captureFrameNoPosture: "モデル名と Ask の設定は、「プロンプト」と「結果」の画面に表示されています。",
|
||||
frameLabelPrompt: "プロンプト",
|
||||
frameLabelEdit: "編集",
|
||||
frameLabelApproval: "承認",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "버전 {version}은(는) 릴리스되었으며 계정이 필요 없습니다.",
|
||||
captionDevelopment: "실제 터미널에서 실행한 개발 빌드입니다. 편집과 테스트는 실제로 실행되었고, 모델은 대본에 따른 시연입니다.",
|
||||
captionReleased: "실제 터미널 세션입니다. 편집과 테스트는 실제로 실행되었고, 모델은 대본에 따른 시연입니다.",
|
||||
captureFrameNoPosture: "모델 이름과 Ask 설정은 이 화면의 앞뒤 화면에 표시됩니다.",
|
||||
captureFrameNoPosture: "프롬프트 화면과 결과 화면에 모델 이름과 Ask 설정이 표시됩니다.",
|
||||
frameLabelPrompt: "프롬프트",
|
||||
frameLabelEdit: "편집",
|
||||
frameLabelApproval: "승인",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "Wersja {version} jest wydana i nie wymaga konta.",
|
||||
captionDevelopment: "Wersja rozwojowa w prawdziwym terminalu: edycje i testy wykonały się naprawdę, a model to demonstracja według scenariusza.",
|
||||
captionReleased: "Prawdziwa sesja w terminalu: edycje i testy wykonały się naprawdę, a model to demonstracja według scenariusza.",
|
||||
captureFrameNoPosture: "Nazwa modelu i ustawienie Ask są widoczne na klatkach przed tą i po niej.",
|
||||
captureFrameNoPosture: "Klatki „Polecenie” i „Wynik” pokazują nazwę modelu i ustawienie Ask.",
|
||||
frameLabelPrompt: "Polecenie",
|
||||
frameLabelEdit: "Edycja",
|
||||
frameLabelApproval: "Zatwierdzenie",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "A versão {version} está publicada e não exige conta.",
|
||||
captionDevelopment: "Uma versão de desenvolvimento em um terminal real: as edições e os testes rodaram de verdade, e o modelo é uma demonstração roteirizada.",
|
||||
captionReleased: "Uma sessão real de terminal: as edições e os testes rodaram de verdade, e o modelo é uma demonstração roteirizada.",
|
||||
captureFrameNoPosture: "O nome do modelo e a configuração Ask aparecem nos quadros antes e depois deste.",
|
||||
captureFrameNoPosture: "Os quadros Instrução e Resultado mostram o nome do modelo e a configuração Ask.",
|
||||
frameLabelPrompt: "Instrução",
|
||||
frameLabelEdit: "Edição",
|
||||
frameLabelApproval: "Aprovação",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "Версия {version} выпущена, и для неё не нужна учётная запись.",
|
||||
captionDevelopment: "Сборка для разработки в настоящем терминале: правки и тесты выполнялись по-настоящему, а модель — сценарная демонстрация.",
|
||||
captionReleased: "Настоящий сеанс в терминале: правки и тесты выполнялись по-настоящему, а модель — сценарная демонстрация.",
|
||||
captureFrameNoPosture: "Название модели и настройка Ask показаны на кадрах до и после этого.",
|
||||
captureFrameNoPosture: "Кадры «Запрос» и «Результат» показывают название модели и настройку Ask.",
|
||||
frameLabelPrompt: "Запрос",
|
||||
frameLabelEdit: "Правка",
|
||||
frameLabelApproval: "Подтверждение",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "{version} sürümü yayımlandı ve hesap gerektirmez.",
|
||||
captionDevelopment: "Gerçek bir terminalde geliştirme sürümü: düzenlemeler ve testler gerçekten çalıştı, model ise senaryolu bir gösterim.",
|
||||
captionReleased: "Gerçek bir terminal oturumu: düzenlemeler ve testler gerçekten çalıştı, model ise senaryolu bir gösterim.",
|
||||
captureFrameNoPosture: "Model adı ve Ask ayarı, bu karenin öncesindeki ve sonrasındaki karelerde gösterilir.",
|
||||
captureFrameNoPosture: "İstem ve Sonuç kareleri model adını ve Ask ayarını gösterir.",
|
||||
frameLabelPrompt: "İstem",
|
||||
frameLabelEdit: "Düzenleme",
|
||||
frameLabelApproval: "Onay",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "Версію {version} випущено, і облікового запису для неї не потрібно.",
|
||||
captionDevelopment: "Збірка для розробки в справжньому терміналі: редагування й тести виконувалися насправді, а модель — сценарна демонстрація.",
|
||||
captionReleased: "Справжній сеанс у терміналі: редагування й тести виконувалися насправді, а модель — сценарна демонстрація.",
|
||||
captureFrameNoPosture: "Назву моделі та налаштування Ask показано на кадрах до і після цього.",
|
||||
captureFrameNoPosture: "Кадри «Запит» і «Результат» показують назву моделі та налаштування Ask.",
|
||||
frameLabelPrompt: "Запит",
|
||||
frameLabelEdit: "Редагування",
|
||||
frameLabelApproval: "Підтвердження",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "Phiên bản {version} đã phát hành và không cần tài khoản.",
|
||||
captionDevelopment: "Một bản dựng phát triển trong terminal thật: các chỉnh sửa và bài kiểm thử đã chạy thật, còn mô hình là bản trình diễn theo kịch bản.",
|
||||
captionReleased: "Một phiên terminal thật: các chỉnh sửa và bài kiểm thử đã chạy thật, còn mô hình là bản trình diễn theo kịch bản.",
|
||||
captureFrameNoPosture: "Tên mô hình và thiết lập Ask được hiển thị ở các khung trước và sau khung này.",
|
||||
captureFrameNoPosture: "Các khung Yêu cầu và Kết quả hiển thị tên mô hình và thiết lập Ask.",
|
||||
frameLabelPrompt: "Yêu cầu",
|
||||
frameLabelEdit: "Chỉnh sửa",
|
||||
frameLabelApproval: "Phê duyệt",
|
||||
|
||||
@@ -12,7 +12,7 @@ export const home: HomeDict = {
|
||||
installNote: "版本 {version} 已发布,无需账号。",
|
||||
captionDevelopment: "开发版本在真实终端中的运行:编辑和测试都是真实执行的,模型是脚本化的演示。",
|
||||
captionReleased: "真实的终端会话:编辑和测试都是真实执行的,模型是脚本化的演示。",
|
||||
captureFrameNoPosture: "模型名称和 Ask 设置显示在这一帧之前和之后的画面中。",
|
||||
captureFrameNoPosture: "“提示”和“结果”两帧显示了模型名称和 Ask 设置。",
|
||||
frameLabelPrompt: "提示",
|
||||
frameLabelEdit: "编辑",
|
||||
frameLabelApproval: "审批",
|
||||
|
||||
Reference in new issue
Block a user