314 lines
18 KiB
JavaScript
314 lines
18 KiB
JavaScript
export const t = {
|
||
fa: {
|
||
// Header & Meta
|
||
skipToProducts: "پرش به محصولات",
|
||
// Hero
|
||
heroTitle1: "ما نرمافزار میسازیم",
|
||
heroTitle2: "بدون کوچکترین افزونگی.",
|
||
studioSubtitle: "استودیو مستقل طراحی و مهندسی محصول\nرتردام · مونترال",
|
||
heroLead: "استودیو کِرف (Kerf) محصولات نرمافزاری اختصاصی را برای امور مالی، لجستیک بنادر، حقوقی و پزشکی بالینی طراحی، مهندسی و مدیریت میکند. ۱۱ محصول عملیاتی در محیط تولید.",
|
||
kerfWidth: "عرض برش (کِرف)",
|
||
scrollToCut: "برای برش اسکرول کنید",
|
||
insideChamberTitle: "درون برش: محصول، نه پروژه.",
|
||
insideChamberDesc: "دو محصول متعلق به خودمان؛ دو محصول اختصاصی برای مشتریان. هر چهار محصول هر شب بدون وقفه در حال پردازش زنده هستند.",
|
||
minis: [
|
||
{ key: "ledger", name: "لجرلاین", field: "خزانهداری" },
|
||
{ key: "tide", name: "تایدواتر", field: "لجستیک بندری" },
|
||
{ key: "quire", name: "کوایر", field: "امور حقوقی" },
|
||
{ key: "halden", name: "هالدن", field: "کارآزمایی بالینی" },
|
||
],
|
||
|
||
// Products
|
||
productStates: ["طرح اولیه (نقشه)", "کالبد شیء", "اجرای زنده"],
|
||
products: [
|
||
{
|
||
key: "ledger",
|
||
name: "لجرلاین (Ledgerline)",
|
||
shortName: "لجرلاین",
|
||
field: "خزانهداری بینالملل",
|
||
owner: "محصول مستقل خودمان · از ۲۰۱۹",
|
||
steps: [
|
||
{ k: "صورت مسئله", t: "تیمهای مالی حسابهای ماهانه را با اکسلهایی میبندند که تا روز سهشنبه منقضی و غلط میشوند." },
|
||
{ k: "جامعه هدف", t: "خزانهدارانی که بیش از ۲۰ حساب بانکی را در ۹ ارز مختلف بینالمللی مدیریت میکنند." },
|
||
{ k: "ارزش افزوده", t: "مشاهده لحظهای وضعیت نقدینگی؛ تسویه کلیه تراکنشها پیش از سرد شدن قهوه صبحگاهی.", m: "۲.۱ میلیارد یورو", ml: "تسویه ماهانه تراکنشها" },
|
||
],
|
||
},
|
||
{
|
||
key: "tide",
|
||
name: "تایدواتر (Tidewater)",
|
||
shortName: "تایدواتر",
|
||
field: "لجستیک ترمینالهای بندری",
|
||
owner: "توسعه اختصاصی برای ترمینالهای دریای شمال",
|
||
steps: [
|
||
{ k: "صورت مسئله", t: "یک کشتی کانتینری معطل در لنگرگاه روزانه ۴۰٬۰۰۰ یورو سوخت میسوزاند." },
|
||
{ k: "جامعه هدف", t: "برنامهریزان ترمینال که ماهانه بیش از ۳۰۰ تردد شناور سنگین را زمانبندی میکنند." },
|
||
{ k: "ارزش افزوده", t: "حل و فصل تداخلات پهلوگیری پیش از آنکه کشتی به محدوده رادیویی برسد.", m: "۳۱٪−", ml: "کاهش زمان معطلی اسکله در ۶ ترمینال" },
|
||
],
|
||
},
|
||
{
|
||
key: "quire",
|
||
name: "کوایر (Quire)",
|
||
shortName: "کوایر",
|
||
field: "تحلیل قراردادهای حقوقی",
|
||
owner: "محصول مستقل خودمان · از ۲۰۲۲",
|
||
steps: [
|
||
{ k: "صورت مسئله", t: "وکلا تکتک بندها را میخوانند، از جمله ۹۰ درصدی که دقیقاً منطبق بر شیوهنامه استاندارد است." },
|
||
{ k: "جامعه هدف", t: "تیمهای حقوقی درونسازمانی با بازبینی بیش از ۲۰۰ قرارداد تامین در هر فصل." },
|
||
{ k: "ارزش افزوده", t: "کوایر ۹۰٪ استاندارد را میخواند؛ وکلا روی ۱۰٪ چالشبرانگیز تمرکز میکنند.", m: "۴۰ دقیقه", ml: "میانگین زمان بازبینی، در برابر ۶ ساعت قبلی" },
|
||
],
|
||
},
|
||
{
|
||
key: "halden",
|
||
name: "هالدن (Halden)",
|
||
shortName: "هالدن",
|
||
field: "کارآزماییهای بالینی پزشکی",
|
||
owner: "توسعه مشترک با مرکز تحقیقات آرکادیا (Arcadia CRO)",
|
||
steps: [
|
||
{ k: "صورت مسئله", t: "انحراف از پروتکل بالینی در ویزیتهای ماهانه کشف میشود؛ یعنی هفتهها دیرتر." },
|
||
{ k: "جامعه هدف", t: "تیمهای راهبری عملیات بالینی که ۳۰ تا ۴۰۰ مرکز درمانی را همزمان اداره میکنند." },
|
||
{ k: "ارزش افزوده", t: "انحراف در همان روز وقوع ثبت و هشدار داده میشود، نه ماهی که دیر شده است.", m: "۹ روز", ml: "شناسایی سریعتر هرگونه انحراف از پروتکل" },
|
||
],
|
||
},
|
||
],
|
||
|
||
// Method
|
||
methodTitle: "از پیشطرح تا کالبد واقعی.",
|
||
methodSubtitle: "چهار مرحله بنیادین. همان تیم کوچک و متمرکز از نخستین اسکچ تا آمادهباش ساعت ۳ بامداد.",
|
||
methodStage: "مرحله {i} از ۴ · {d}",
|
||
methodItems: [
|
||
{ v: "قاببندی", d: "۱ هفته", t: "برش اساسی و دقیق را پیدا میکنیم و به سایر موارد غیرضروری نه میگوییم.", out: "یک مستند تکصفحهای مستدل و قابل دفاع" },
|
||
{ v: "رسم نقشه", d: "۳ هفته", t: "طراحی پیشنمونهها با کد آماده تولید، نه اسلایدهای نمایشی.", out: "یک محصول تعاملی کلیکپذیر با دادههای واقعی" },
|
||
{ v: "تراش و ساخت", d: "۸ تا ۱۶ هفته", t: "طراحان و مهندسان در یک تیم پیوسته، با تحویل هفتگی کد به محیط زنده.", out: "نرمافزار کامل و پایدار در محیط پروداکشن" },
|
||
{ v: "پایش مداوم", d: "سالها", t: "همیشه پاسخگو و پای کار میمانیم. بیشتر مشتریان شش سال با ما ادامه میدهند.", out: "توافقنامه سطح خدمات (SLA) با تعهد شخصی ما" },
|
||
],
|
||
methodFooter: "سپس آن را بدون وقفه در مدار نگه میداریم.",
|
||
|
||
// Proof
|
||
proofTitle: "اندازهگیریشده؛",
|
||
proofTitleSub: "نه صرفاً ادعا.",
|
||
proofItems: [
|
||
{ n: "۱۹", u: "روز", l: "از نخستین تماس تا استقرار کد در محیط پروداکشن", w: 0.38 },
|
||
{ n: "۹/۱۱", u: "", l: "محصولاتی که پس از ۵ سال همچنان در محیط عملیاتی فعالند", w: 0.82 },
|
||
{ n: "۶.۴", u: "سال", l: "میانگین طول دوره همکاری با هر مشتری", w: 0.64 },
|
||
{ n: "۹۹.۹۸", u: "٪", l: "پایداری بدون وقفه در تمامی محصولات طی ۳۶ ماه", w: 1 },
|
||
],
|
||
proofQuote: "«آنها با استدلال نیمی از نقشه راه ما را حذف کردند. همان نیمی که ساخته شد، دلیل اصلی تصاحب تجاری شرکت ما شد.»",
|
||
proofAuthor: "اینس وارت · مدیر ارشد سابق محصول در Fernhill Payments",
|
||
|
||
// Stack / Bill of Materials
|
||
stackTitle: "صورت متریال و فناوری.",
|
||
stackSubtitle: "ساده و اثباتشده در جاهایی که باید باشد؛ فوقالعاده سریع در گلوگاهها. فناوریهایی که خودمان مستقیماً اجرا میکنیم.",
|
||
tableHeaders: {
|
||
item: "ردیف",
|
||
part: "بخش فناوری",
|
||
job: "وظیفه مهندسی",
|
||
tolerance: "معیار و کارایی",
|
||
usedIn: "کاربرد در محصولات",
|
||
},
|
||
bom: [
|
||
["Rust", "موتورهای تسویه مالی و زمانبندی ترددها", "تاخیر p99 کمتر از ۵ میلیثانیه", "لجرلاین · تایدواتر"],
|
||
["TypeScript · React", "رابطهای کاربری تمامی محصولات", "اجرای نرم ۶۰ فریم بر ثانیه", "همه محصولات"],
|
||
["PostgreSQL", "پایگاه داده اصلی و سیستم ثبت وقایع", "بازیابی نقطهای ۳۰ روزه", "همه محصولات"],
|
||
["Event streams", "تلهمتری بلادرنگ شناورها، بانکها و مراکز", "۲.۱ میلیارد رویداد روزانه", "تایدواتر · هالدن"],
|
||
["On-device models", "دستهبندی خودکار بندهای حقوقی", "پردازش کاملاً آفلاین · ۴۰ مگابایت", "کوایر"],
|
||
["Bare Metal + Terraform", "زیرساخت سرور و خودکارسازی", "۹۹.۹۸٪ پایداری طی ۳۶ ماه", "همه محصولات"],
|
||
],
|
||
|
||
// Studio
|
||
studioTitle: "کوچک به انتخاب خود.",
|
||
studioTitleSub: "دقیق بر حسب عادت.",
|
||
studioLead: "کِرف (Kerf) به معنای عرض برش اره است: مقداری از متریال که فدا میکنید تا قطعه نهایی دقیق و میلیمتری حاصل شود. ما مقیاس انبوه را فدا کردهایم تا هر محصول مستقیماً توسط همان کسانی توسعه یابد که آن را ترسیم کردهاند.",
|
||
studioCells: [
|
||
["استودیو", "Kerf B.V."],
|
||
["سال تاسیس", "۲۰۱۴ (۱۳۹۳)"],
|
||
["دفاتر طراحی", "رتردام · مونترال"],
|
||
["نفرات", "۴۲ نفر · ۳۱ مهندس، ۱۱ طراح"],
|
||
["تعهدات سالانه", "حداکثر ۴ پروژه در سال"],
|
||
["مقیاس", "۱ : ۱ (واقعی)"],
|
||
],
|
||
|
||
// Contact
|
||
contactTag: "پذیرش دو پروژه کاری برای بهار ۲۰۲۷",
|
||
contactTitle: "پروژه سخت و پیچیدهتان را\nبه ما بسپارید.",
|
||
contactEmail: "hello@kerf.studio",
|
||
contactSubjectHard: "یک_پروژه_سخت",
|
||
contactSubjectCall: "جلسه_۳۰_دقیقهای",
|
||
contactCallBtn: "رزرو جلسه گفتگو (۳۰ دقیقه)",
|
||
contactFooter: "© ۲۰۲۶ استودیو کِرف (Kerf B.V.) · شیت ۷ از ۷",
|
||
|
||
// Vernier Navigation
|
||
vernierSections: [
|
||
["cut", "کِرف"],
|
||
["p-ledgerline", "لجرلاین"],
|
||
["p-tidewater", "تایدواتر"],
|
||
["p-quire", "کوایر"],
|
||
["p-halden", "هالدن"],
|
||
["method", "روششناسی"],
|
||
["proof", "سنجش"],
|
||
["stack", "متریال"],
|
||
["studio", "استودیو"],
|
||
["contact", "تماس"],
|
||
],
|
||
startProject: "شروع پروژه",
|
||
nowViewing: "در حال مشاهده",
|
||
langButton: "EN",
|
||
langName: "انگلیسی",
|
||
},
|
||
|
||
en: {
|
||
// Header & Meta
|
||
skipToProducts: "Skip to products",
|
||
// Hero
|
||
heroTitle1: "We build \nsoftware",
|
||
heroTitle2: "with nothing \nto spare.",
|
||
studioSubtitle: "Independent product studio\nRotterdam · Montréal",
|
||
heroLead: "Kerf designs, engineers and runs software products for finance, logistics, law and medicine. Eleven in production.",
|
||
kerfWidth: "kerf width",
|
||
scrollToCut: "scroll to cut",
|
||
insideChamberTitle: "Inside the cut: products, not projects.",
|
||
insideChamberDesc: "Two we own. Two we built for clients. All four we still run, every night.",
|
||
minis: [
|
||
{ key: "ledger", name: "Ledgerline", field: "Treasury" },
|
||
{ key: "tide", name: "Tidewater", field: "Port logistics" },
|
||
{ key: "quire", name: "Quire", field: "Legal" },
|
||
{ key: "halden", name: "Halden", field: "Clinical trials" },
|
||
],
|
||
|
||
// Products
|
||
productStates: ["Drawing", "Object", "Running"],
|
||
products: [
|
||
{
|
||
key: "ledger",
|
||
name: "Ledgerline",
|
||
shortName: "Ledgerline",
|
||
field: "Treasury",
|
||
owner: "Ours · since 2019",
|
||
steps: [
|
||
{ k: "The problem", t: "Finance teams close the month in spreadsheets that are wrong by Tuesday." },
|
||
{ k: "Who it’s for", t: "Treasurers running 20+ bank accounts across nine currencies." },
|
||
{ k: "What it’s worth", t: "One live cash position. Every settlement confirmed before the coffee cools.", m: "€2.1B", ml: "settled every month" },
|
||
],
|
||
},
|
||
{
|
||
key: "tide",
|
||
name: "Tidewater",
|
||
shortName: "Tidewater",
|
||
field: "Port logistics",
|
||
owner: "Built for North Sea Terminals",
|
||
steps: [
|
||
{ k: "The problem", t: "A container ship waiting at anchor burns €40,000 a day." },
|
||
{ k: "Who it’s for", t: "Terminal planners scheduling 300+ vessel calls a month." },
|
||
{ k: "What it’s worth", t: "Conflicts resolved before the ship is in radio range.", m: "−31%", ml: "berth idle time, six terminals" },
|
||
],
|
||
},
|
||
{
|
||
key: "quire",
|
||
name: "Quire",
|
||
shortName: "Quire",
|
||
field: "Legal",
|
||
owner: "Ours · since 2022",
|
||
steps: [
|
||
{ k: "The problem", t: "Lawyers read every clause, including the 90% that already matches the playbook." },
|
||
{ k: "Who it’s for", t: "In-house teams reviewing 200+ supplier contracts a quarter." },
|
||
{ k: "What it’s worth", t: "Quire reads the 90%. People argue the 10%.", m: "40 min", ml: "median review, from 6 hours" },
|
||
],
|
||
},
|
||
{
|
||
key: "halden",
|
||
name: "Halden",
|
||
shortName: "Halden",
|
||
field: "Clinical trials",
|
||
owner: "Built with Arcadia CRO",
|
||
steps: [
|
||
{ k: "The problem", t: "Trials spot protocol deviations at the monthly visit. Weeks too late." },
|
||
{ k: "Who it’s for", t: "Trial operations teams running 30 to 400 sites." },
|
||
{ k: "What it’s worth", t: "Drift is flagged the day it starts, not the month it’s found.", m: "9 days", ml: "earlier deviation detection" },
|
||
],
|
||
},
|
||
],
|
||
|
||
// Method
|
||
methodTitle: "From drawing to object.",
|
||
methodSubtitle: "Four stages. The same small team from the first sketch to the 3 a.m. pager.",
|
||
methodStage: "Stage {i} of 4 · {d}",
|
||
methodItems: [
|
||
{ v: "Frame", d: "1 week", t: "We find the one cut that matters and say no to the rest.", out: "A one-page brief you can defend" },
|
||
{ v: "Draw", d: "3 weeks", t: "Prototypes in production code. Never slides.", out: "A clickable product on real data" },
|
||
{ v: "Machine", d: "8–16 weeks", t: "Designers and engineers in one team, shipping weekly.", out: "Software in production" },
|
||
{ v: "Run", d: "Years", t: "We stay on call. Most clients keep us for six years.", out: "An SLA with our names on it" },
|
||
],
|
||
methodFooter: "Then we keep it running.",
|
||
|
||
// Proof
|
||
proofTitle: "Measured,",
|
||
proofTitleSub: "not claimed.",
|
||
proofItems: [
|
||
{ n: "19", u: "days", l: "First call to code in production", w: 0.38 },
|
||
{ n: "9/11", u: "", l: "Products still in production after five years", w: 0.82 },
|
||
{ n: "6.4", u: "years", l: "Median client relationship", w: 0.64 },
|
||
{ n: "99.98", u: "%", l: "Uptime across every product we run, 36 months", w: 1 },
|
||
],
|
||
proofQuote: "“They argued us out of half the roadmap. The half that shipped is why we were acquired.”",
|
||
proofAuthor: "Ines Vaart · former CPO, Fernhill Payments",
|
||
|
||
// Stack / Bill of Materials
|
||
stackTitle: "Bill of materials.",
|
||
stackSubtitle: "Boring where it should be. Fast where it matters. Nothing we can’t run ourselves.",
|
||
tableHeaders: {
|
||
item: "Item",
|
||
part: "Part",
|
||
job: "Job",
|
||
tolerance: "Tolerance",
|
||
usedIn: "Used in",
|
||
},
|
||
bom: [
|
||
["Rust", "Settlement and scheduling engines", "p99 under 5 ms", "Ledgerline · Tidewater"],
|
||
["TypeScript · Vue · Nuxt", "Every product interface", "60 fps on a 2019 phone", "All"],
|
||
["PostgreSQL", "System of record", "30-day point-in-time recovery", "All"],
|
||
["Event streams", "Vessel, bank and site telemetry", "2.1 B events a day", "Tidewater · Halden"],
|
||
["On-device models", "Clause classification", "Runs offline · 40 MB", "Quire"],
|
||
["Own metal + Terraform", "Infrastructure", "99.98% over 36 months", "All"],
|
||
],
|
||
|
||
// Studio
|
||
studioTitle: "Small on purpose.",
|
||
studioTitleSub: "Precise by habit.",
|
||
studioLead: "A kerf is the width of a saw cut: the material you give up to make something exact. We give up scale, so every product gets the people who drew it.",
|
||
studioCells: [
|
||
["Studio", "Kerf B.V."],
|
||
["Established", "2014"],
|
||
["Studios", "Rotterdam · Montréal"],
|
||
["People", "42 · 31 engineers, 11 designers"],
|
||
["Engagements", "Four a year"],
|
||
["Scale", "1 : 1"],
|
||
],
|
||
|
||
// Contact
|
||
contactTag: "Taking two engagements for spring 2027",
|
||
contactTitle: "Bring us\nthe hard one.",
|
||
contactEmail: "hello@kerf.studio",
|
||
contactSubjectHard: "A%20hard%20one",
|
||
contactSubjectCall: "30-minute%20call",
|
||
contactCallBtn: "Book a 30-minute call",
|
||
contactFooter: "© 2026 Kerf B.V. · Sheet 7 of 7",
|
||
|
||
// Vernier Navigation
|
||
vernierSections: [
|
||
["cut", "Kerf"],
|
||
["p-ledgerline", "Ledgerline"],
|
||
["p-tidewater", "Tidewater"],
|
||
["p-quire", "Quire"],
|
||
["p-halden", "Halden"],
|
||
["method", "Method"],
|
||
["proof", "Proof"],
|
||
["stack", "Materials"],
|
||
["studio", "Studio"],
|
||
["contact", "Contact"],
|
||
],
|
||
startProject: "Start a project",
|
||
nowViewing: "Now viewing",
|
||
langButton: "فا",
|
||
langName: "فارسی",
|
||
},
|
||
};
|