8881214213
Mechanical, behaviour-preserving removal of Stage N / TODO-N / phase (RN) references from comments, doc-comments, service READMEs, the current-state docs (ARCHITECTURE, FUNCTIONAL+_ru, TESTING, UI_DESIGN), config-file comments, and the .fbs/.proto schema comments. PLAN.md / PRERELEASE.md / CLAUDE.md keep the stage history. - Rename the only stage-named identifiers: registerStage8 -> registerSocialOps, registerStage11 -> registerLinkOps (gateway transcode). - Split stage6_test.go: TestEmailLoginFlow -> email_test.go, TestGuestAutoMatchLeavesNoStats (+ provisionGuest) -> account_test.go. - Regenerated proto bindings (push.pb.go, telegram_grpc.pb.go) from the de-staged .proto comments; FB Go/TS bindings unchanged (flatc strips schema comments). go build/vet/gofmt clean across modules; integration typecheck and pnpm check green.
63 lines
2.6 KiB
TypeScript
63 lines
2.6 KiB
TypeScript
// Localised "About" / landing copy, shared by the About screen and the public landing
|
|
// page. Kept out of the flat i18n catalog because it is structured (a heading,
|
|
// a rules link, two bulleted sections) and only used in these two long-form places.
|
|
|
|
import type { Locale } from './i18n/index.svelte';
|
|
|
|
export interface AboutContent {
|
|
/** Prominent heading: "Scrabble" / "Эрудит (Скрэббл)". */
|
|
title: string;
|
|
rulesUrl: string;
|
|
/** Text before the rules link. */
|
|
rulesPrefix: string;
|
|
/** The rules link label. */
|
|
rulesLink: string;
|
|
randomTitle: string;
|
|
/** The "respect the opponent's time" note (rendered with a ❗️ prefix). */
|
|
randomRespect: string;
|
|
random: string[];
|
|
friendsTitle: string;
|
|
friends: string[];
|
|
}
|
|
|
|
/**
|
|
* aboutContent returns the localised About/landing copy. hours is the auto-match move clock
|
|
* (backend game.DefaultTurnTimeout), inlined into the random-game time-limit bullet.
|
|
*/
|
|
export function aboutContent(locale: Locale, hours: number): AboutContent {
|
|
if (locale === 'ru') {
|
|
return {
|
|
title: 'Эрудит (Скрэббл)',
|
|
rulesUrl: 'https://ru.wikipedia.org/wiki/Скрэббл',
|
|
rulesPrefix: 'Основные ',
|
|
rulesLink: 'правила игры',
|
|
randomTitle: 'Случайная игра',
|
|
randomRespect: 'Уважайте личное время соперника, будьте терпеливы.',
|
|
random: [
|
|
'В игре двое соперников.',
|
|
'Каждому доступна 1 подсказка в новой партии.',
|
|
`Лимит времени на ход: ${hours} ч. 00 минут.`,
|
|
'Время отсутствия задаётся в профиле и продлевает лимит.',
|
|
],
|
|
friendsTitle: 'Игра с друзьями',
|
|
friends: ['До 4-х участников.', 'Количество подсказок регулируется.', 'Произвольный лимит времени.'],
|
|
};
|
|
}
|
|
return {
|
|
title: 'Scrabble',
|
|
rulesUrl: 'https://en.wikipedia.org/wiki/Scrabble',
|
|
rulesPrefix: 'Basic ',
|
|
rulesLink: 'game rules',
|
|
randomTitle: 'Random game',
|
|
randomRespect: "Respect your opponent's time, be patient.",
|
|
random: [
|
|
'Two opponents per game.',
|
|
'Each player gets 1 hint per new game.',
|
|
`Move time limit: ${hours} h 00 min.`,
|
|
'An away window set in your profile extends the limit.',
|
|
],
|
|
friendsTitle: 'Game with friends',
|
|
friends: ['Up to 4 players.', 'The number of hints is configurable.', 'A custom time limit.'],
|
|
};
|
|
}
|