@johnmorrisdotca/kyogijo-stadiums 0.18.1 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/NOTICE.md +1 -0
- package/README.md +62 -28
- package/dist/budo/cage.d.ts +46 -0
- package/dist/budo/cage.js +91 -0
- package/dist/budo/describe.js +11 -0
- package/dist/budo/looks.js +8 -0
- package/dist/budo/plan.d.ts +10 -2
- package/dist/budo/plan.js +15 -1
- package/dist/budo/types.d.ts +11 -3
- package/dist/budo-entry.d.ts +1 -1
- package/dist/budo-entry.js +1 -1
- package/dist/budo.style.js +7 -2
- package/dist/common.d.ts +5 -0
- package/dist/common.js +6 -1
- package/dist/crowd.js +2 -0
- package/dist/draw.js +8 -7
- package/dist/features.js +10 -0
- package/dist/fields.types.d.ts +1 -1
- package/dist/heat.zones.js +1 -1
- package/dist/homeside.js +2 -0
- package/dist/judging-entry.d.ts +6 -1
- package/dist/judging-entry.js +5 -1
- package/dist/judging.board.d.ts +26 -0
- package/dist/judging.board.js +125 -0
- package/dist/judging.broadcast.d.ts +6 -0
- package/dist/judging.broadcast.js +72 -0
- package/dist/judging.d.ts +5 -0
- package/dist/judging.draw.d.ts +19 -6
- package/dist/judging.draw.js +14 -104
- package/dist/judging.js +14 -2
- package/dist/judging.mount.d.ts +16 -0
- package/dist/judging.mount.js +69 -0
- package/dist/judging.plan.d.ts +52 -0
- package/dist/judging.plan.js +91 -0
- package/dist/judging.print.d.ts +58 -0
- package/dist/judging.print.js +86 -0
- package/dist/judging.style.d.ts +5 -0
- package/dist/judging.style.js +22 -0
- package/dist/judging.text.d.ts +7 -0
- package/dist/judging.text.js +23 -0
- package/dist/judging.types.d.ts +9 -0
- package/dist/judging.words.d.ts +1 -0
- package/dist/judging.words.js +2 -0
- package/dist/leagues/budo.d.ts +3 -2
- package/dist/leagues/budo.js +2 -1
- package/dist/leagues/combat.d.ts +54 -0
- package/dist/leagues/combat.js +27 -0
- package/dist/leagues/sources.js +6 -0
- package/dist/leagues/types.d.ts +1 -1
- package/dist/leagues.d.ts +1 -0
- package/dist/leagues.js +21 -1
- package/dist/outline.js +1 -0
- package/dist/ranges.names.js +1 -0
- package/dist/score.js +3 -0
- package/dist/strings.d.ts +7 -1
- package/dist/strings.js +22 -10
- package/dist/surfaces/budo.js +3 -2
- package/dist/turn.kit.d.ts +1 -1
- package/dist/turn.style.js +8 -3
- package/dist/types.d.ts +4 -2
- package/dist/units.js +2 -0
- package/dist/uprights.budo.js +4 -2
- package/dist/uprights.cage.d.ts +4 -0
- package/dist/uprights.cage.js +91 -0
- package/dist/uprights.js +3 -3
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// What a judging picture says in words: the title and the description of an assignment, each mat with each seat and who is in it. Shared by the plan view, the broadcast view and the 3D view.
|
|
2
|
+
import { JUDGING_WORDS } from "./judging.words.js";
|
|
3
|
+
import { fill } from "./strings.js";
|
|
4
|
+
/** The sentence that names one seat and who sits in it. */
|
|
5
|
+
function seatSentence(a, setting) {
|
|
6
|
+
const w = JUDGING_WORDS[setting.language].say;
|
|
7
|
+
const seat = a.seat.label[setting.language];
|
|
8
|
+
if (!a.assigned)
|
|
9
|
+
return fill(w.seatVacant, { seat });
|
|
10
|
+
if (a.id === "")
|
|
11
|
+
return fill(w.seatNoId, { seat, name: a.name });
|
|
12
|
+
return fill(w.seat, { seat, name: a.name === "" ? "—" : a.name, id: a.id });
|
|
13
|
+
}
|
|
14
|
+
/** The title and the description of an assignment: each mat with each seat and who is in it. */
|
|
15
|
+
export function judgingText(setting, options, chart, view = setting.view) {
|
|
16
|
+
const words = JUDGING_WORDS[setting.language];
|
|
17
|
+
const style = fill(words.styleName[setting.style], { count: setting.mats[0].seats.length });
|
|
18
|
+
const mats = setting.total === 1 ? words.say.matsOne : fill(words.say.matsMany, { n: setting.total });
|
|
19
|
+
const title = options.title ?? fill(words.say.title, { style, mats });
|
|
20
|
+
const sentences = setting.mats.map((m) => fill(words.say.mat, { label: m.label, seats: m.seats.map((a) => seatSentence(a, setting)).join(words.say.join) }));
|
|
21
|
+
const description = options.description ?? [...sentences, view === "broadcast" ? words.say.board : chart && setting.seatNames ? words.say.names : words.say.chartOnly].join(setting.language === "ja" ? "" : " ");
|
|
22
|
+
return { title, description };
|
|
23
|
+
}
|
package/dist/judging.types.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface JudgingMat {
|
|
|
15
15
|
label?: string;
|
|
16
16
|
/** Who sits where. A seat that is not named is shown as not assigned. */
|
|
17
17
|
officials?: readonly JudgingOfficial[];
|
|
18
|
+
/** A line for the broadcast board's foot, before the style: `Round 2`, `Pool B`, `Final block`. At most 60 characters. */
|
|
19
|
+
line?: string;
|
|
18
20
|
}
|
|
19
21
|
/** A judging assignment as the drawing asks for it. */
|
|
20
22
|
export interface JudgingOptions {
|
|
@@ -33,6 +35,11 @@ export interface JudgingOptions {
|
|
|
33
35
|
* evenly (never stretched or condensed), in the biggest size that fits its card and no smaller than a readable one; a seat whose name does not fit shows its number alone.
|
|
34
36
|
*/
|
|
35
37
|
seatNames?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* What is drawn: the `plan` with its chart (the default, the layout to print) or the `broadcast` picture: the mat large, as a television would show it, with the officials on a board at its side like a graphic, the seats' number
|
|
40
|
+
* badges where the officials sit, and no chart. The picture is 16:9 and scales as a whole, type and all, so it is as sharp on a tablet as on a television.
|
|
41
|
+
*/
|
|
42
|
+
view?: "plan" | "broadcast";
|
|
36
43
|
/** Where the chart is laid: beside the plan (`landscape`, the default) or under it (`portrait`). */
|
|
37
44
|
orientation?: "landscape" | "portrait";
|
|
38
45
|
/** What the plan shows: the whole `mat` (the default) or the judges' `bench`, close up, so that the names in the seats are as large as they can be. */
|
|
@@ -79,5 +86,7 @@ export interface JudgingResolved {
|
|
|
79
86
|
/** From 1. */
|
|
80
87
|
n: number;
|
|
81
88
|
label: string;
|
|
89
|
+
/** The line for the broadcast board's foot; empty when there is none. */
|
|
90
|
+
line: string;
|
|
82
91
|
seats: JudgingAssignment[];
|
|
83
92
|
}
|
package/dist/judging.words.d.ts
CHANGED
package/dist/judging.words.js
CHANGED
|
@@ -13,6 +13,7 @@ export const JUDGING_WORDS = {
|
|
|
13
13
|
seatVacant: "{seat} not assigned",
|
|
14
14
|
names: "The names are in the seats where they fit, and in the chart of mat, seat, name and ID.",
|
|
15
15
|
chartOnly: "The names are in the chart of mat, seat, name and ID.",
|
|
16
|
+
board: "The officials are listed on a board at the side of the mat, each with the number of the seat, name and ID; the numbers are on the seats.",
|
|
16
17
|
join: "; ",
|
|
17
18
|
},
|
|
18
19
|
table: { caption: "{title}", mat: "Mat", seat: "Seat", name: "Name", id: "ID" },
|
|
@@ -32,6 +33,7 @@ export const JUDGING_WORDS = {
|
|
|
32
33
|
seatVacant: "{seat}は未定",
|
|
33
34
|
names: "氏名は、席に収まる場合は各席の中に表示し、試合場・席・氏名・IDの一覧表にも載せています。",
|
|
34
35
|
chartOnly: "氏名は、試合場・席・氏名・IDの一覧表に載せています。",
|
|
36
|
+
board: "審判員は、席の番号・氏名・IDとともに試合場の横の表示板に載せ、席の番号は各席に表示しています。",
|
|
35
37
|
join: "、",
|
|
36
38
|
},
|
|
37
39
|
table: { caption: "{title}", mat: "試合場", seat: "席", name: "氏名", id: "ID" },
|
package/dist/leagues/budo.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Span } from "./fields.ts";
|
|
2
|
+
import { type CombatFigures, type CombatLeague } from "./combat.ts";
|
|
2
3
|
import type { LeagueBase } from "./types.ts";
|
|
3
4
|
/** A mat: its length and width in metres. */
|
|
4
5
|
export interface Mat {
|
|
@@ -167,7 +168,7 @@ export interface DojoFigures {
|
|
|
167
168
|
};
|
|
168
169
|
}
|
|
169
170
|
/** The figures of a budō league. */
|
|
170
|
-
export type BudoFigures = JudoFigures | KarateFigures | KendoFigures | SumoFigures | KyudoFigures | DojoFigures;
|
|
171
|
+
export type BudoFigures = JudoFigures | KarateFigures | KendoFigures | SumoFigures | KyudoFigures | DojoFigures | CombatFigures;
|
|
171
172
|
/** The leagues of each budō sport. */
|
|
172
173
|
export type JudoLeague = LeagueBase<"judo", JudoFigures>;
|
|
173
174
|
export type KarateLeague = LeagueBase<"karate", KarateFigures>;
|
|
@@ -176,7 +177,7 @@ export type SumoLeague = LeagueBase<"sumo", SumoFigures>;
|
|
|
176
177
|
export type KyudoLeague = LeagueBase<"kyudo", KyudoFigures>;
|
|
177
178
|
export type DojoLeague = LeagueBase<"dojo", DojoFigures>;
|
|
178
179
|
/** A league with a budō surface of its own. */
|
|
179
|
-
export type BudoLeague = JudoLeague | KarateLeague | KendoLeague | SumoLeague | KyudoLeague | DojoLeague;
|
|
180
|
+
export type BudoLeague = JudoLeague | KarateLeague | KendoLeague | SumoLeague | KyudoLeague | DojoLeague | CombatLeague;
|
|
180
181
|
/** The IJF's contest area (Sport and Organisation Rules 8.7, version of 21 January 2026) as drawn for the Games, the Worlds and the Masters. */
|
|
181
182
|
export declare const IJF_CONTEST: JudoFigures;
|
|
182
183
|
/** The All Japan Judo Federation's: the tatami of 182 cm by 91 cm, the red tatami of the danger zone, and the red and white tape 4 m (2 ken) apart (Tournament Management Guidebook 2023, 2-1, 2-3, 2-4). */
|
package/dist/leagues/budo.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// The surfaces of the budō (武道): the contest areas of judo and karate, the shiai-jo of kendo, the dohyō of sumo, the kyūdōjō, and the tatami of a dojo, each from the rulebook or the
|
|
2
2
|
// federation's own page it was read in, with every figure in metres. A figure that no rule gives is said so in its comment (ours). Nothing here draws.
|
|
3
3
|
import { span } from "./fields.js";
|
|
4
|
+
import { COMBAT_LEAGUES } from "./combat.js";
|
|
4
5
|
/** The IJF's contest area (Sport and Organisation Rules 8.7, version of 21 January 2026) as drawn for the Games, the Worlds and the Masters. */
|
|
5
6
|
export const IJF_CONTEST = {
|
|
6
7
|
kind: "judo",
|
|
@@ -110,4 +111,4 @@ export const DOJO_LEAGUES = [
|
|
|
110
111
|
{ id: "judo-2x1", family: "dojo", name: { en: "Judo tatami, 2 m by 1 m", ja: "柔道畳(2m×1m)" }, unit: "m", dimensions: mat(2, 1, "the IJF's standard", "国際柔道連盟の標準"), sources: ["ijf-sor", "ajjf-guide"] },
|
|
111
112
|
];
|
|
112
113
|
/** Every budō league, once each. */
|
|
113
|
-
export const BUDO_LEAGUES = Object.freeze([...JUDO_LEAGUES, ...KARATE_LEAGUES, ...KENDO_LEAGUES, ...SUMO_LEAGUES, ...KYUDO_LEAGUES, ...DOJO_LEAGUES]);
|
|
114
|
+
export const BUDO_LEAGUES = Object.freeze([...JUDO_LEAGUES, ...KARATE_LEAGUES, ...KENDO_LEAGUES, ...SUMO_LEAGUES, ...KYUDO_LEAGUES, ...DOJO_LEAGUES, ...COMBAT_LEAGUES]);
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type Span } from "./fields.ts";
|
|
2
|
+
import type { LeagueBase } from "./types.ts";
|
|
3
|
+
/** The figures of an MMA cage (a fenced area), in metres. */
|
|
4
|
+
export interface MmaFigures {
|
|
5
|
+
kind: "mma";
|
|
6
|
+
/**
|
|
7
|
+
* The width of the fenced area: no smaller than 20 feet and no larger than 32 feet (NRUC 5.010 3(a); IMMAF 1: 20 by 20 to 32 by 32 feet). A cage with eight sides is measured across the flats, as a cage is called "30 feet across". Two sizes
|
|
8
|
+
* are common (typical, not a rule): 30 feet, the larger, which is drawn, and 25 feet, the smaller one that promotions use in smaller venues.
|
|
9
|
+
*/
|
|
10
|
+
width: Span;
|
|
11
|
+
/** The sides: the fenced area is round or has at least six equal sides (NRUC 5.010 3(a)); eight is the common cage and is drawn (typical). */
|
|
12
|
+
sides: number;
|
|
13
|
+
/** The platform: not more than 4 feet above the floor of the building, with suitable steps (NRUC 5.010 3(c)). 4 feet is the usual height of a cage on a stage and is drawn (typical). */
|
|
14
|
+
platform: {
|
|
15
|
+
height: Span;
|
|
16
|
+
steps: {
|
|
17
|
+
treads: number;
|
|
18
|
+
tread: number;
|
|
19
|
+
width: number;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
/** The width of the platform beyond the fence, the apron: the rules give none, so 1.2 m, four feet of walkway (ours). */
|
|
23
|
+
apron: number;
|
|
24
|
+
/** The floor: at least a 1 inch layer of closed-cell foam under a canvas, duck or vinyl cover (NRUC 5.010 3(b)). */
|
|
25
|
+
foam: number;
|
|
26
|
+
/** The fence: posts of metal, not more than 6 inches across, run from the floor of the building to between 5 and 7 feet above the floor of the fenced area (NRUC 5.010 3(d)); the fence itself is 6 feet in the usual cage and is drawn (typical). */
|
|
27
|
+
fence: Span;
|
|
28
|
+
/** The width of a post, 6 inches at most (NRUC 5.010 3(d)), and the padding on it and on the rails: the rules say "properly padded" and give no size (ours: a pad 0.3 m across at the post, a rail pad 0.12 m deep). */
|
|
29
|
+
post: {
|
|
30
|
+
diameter: number;
|
|
31
|
+
pad: number;
|
|
32
|
+
rail: number;
|
|
33
|
+
};
|
|
34
|
+
/** The entrances: two, with secure locking mechanisms (NRUC 5.010 3(g)); the IMMAF asks for them on opposite sides and opening outward. Their width, 0.9 m, and height, 1.5 m, are typical and not a rule. */
|
|
35
|
+
gates: {
|
|
36
|
+
count: number;
|
|
37
|
+
width: number;
|
|
38
|
+
height: number;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/** A cage league: a regulation's cage. */
|
|
42
|
+
export type MmaLeague = LeagueBase<"mma", MmaFigures>;
|
|
43
|
+
/** The fenced area of the Nevada Rules of Unarmed Combat (NRUC 5.010 3), which most commissions copy. */
|
|
44
|
+
export declare const NRUC_CAGE: MmaFigures;
|
|
45
|
+
/** The amateur fenced area of the IMMAF's Unified Rules for amateur competition: the same sizes, with 40 mm of foam and a vinyl cover. */
|
|
46
|
+
export declare const IMMAF_CAGE: MmaFigures;
|
|
47
|
+
/** The leagues of each combat sport: for each the rulebook's own first. */
|
|
48
|
+
export declare const MMA_LEAGUES: readonly MmaLeague[];
|
|
49
|
+
/** The figures of a combat league. */
|
|
50
|
+
export type CombatFigures = MmaFigures;
|
|
51
|
+
/** A league with a combat surface of its own. */
|
|
52
|
+
export type CombatLeague = MmaLeague;
|
|
53
|
+
/** Every combat league, once each. */
|
|
54
|
+
export declare const COMBAT_LEAGUES: readonly CombatLeague[];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// The surfaces of the combat sports: the MMA cage and, as they are added, the boxing ring, the wrestling mats and the professional wrestling ring, each from the rulebook or the regulation it was read in, with every
|
|
2
|
+
// figure in metres. A figure that no rule gives is said so in its comment (ours), and a figure that is common practice and not a rule is said so (typical). Nothing here draws.
|
|
3
|
+
import { span } from "./fields.js";
|
|
4
|
+
/** One foot, and one inch, in metres: the rules are written in feet and inches. */
|
|
5
|
+
const FT = 0.3048;
|
|
6
|
+
const IN = 0.0254;
|
|
7
|
+
/** The fenced area of the Nevada Rules of Unarmed Combat (NRUC 5.010 3), which most commissions copy. */
|
|
8
|
+
export const NRUC_CAGE = {
|
|
9
|
+
kind: "mma",
|
|
10
|
+
width: span(20 * FT, 32 * FT, 30 * FT),
|
|
11
|
+
sides: 8,
|
|
12
|
+
platform: { height: span(0, 4 * FT, 4 * FT), steps: { treads: 3, tread: 0.3, width: 1.2 } },
|
|
13
|
+
apron: 1.2,
|
|
14
|
+
foam: 1 * IN,
|
|
15
|
+
fence: span(5 * FT, 7 * FT, 6 * FT),
|
|
16
|
+
post: { diameter: 6 * IN, pad: 0.3, rail: 0.12 },
|
|
17
|
+
gates: { count: 2, width: 0.9, height: 1.5 },
|
|
18
|
+
};
|
|
19
|
+
/** The amateur fenced area of the IMMAF's Unified Rules for amateur competition: the same sizes, with 40 mm of foam and a vinyl cover. */
|
|
20
|
+
export const IMMAF_CAGE = { ...NRUC_CAGE, foam: 0.04 };
|
|
21
|
+
/** The leagues of each combat sport: for each the rulebook's own first. */
|
|
22
|
+
export const MMA_LEAGUES = [
|
|
23
|
+
{ id: "nruc", family: "mma", name: { en: "MMA cage, Nevada Rules of Unarmed Combat", ja: "総合格闘技のケージ(ネバダ州の規則)" }, unit: "ft", figuresUnit: "m", dimensions: NRUC_CAGE, sources: ["nruc", "oar-230-070-0025", "wp-mma-cage"], builtIn: true },
|
|
24
|
+
{ id: "immaf", family: "mma", name: { en: "MMA cage, IMMAF amateur rules", ja: "総合格闘技のケージ(IMMAFのアマチュア規則)" }, unit: "ft", figuresUnit: "m", dimensions: IMMAF_CAGE, sources: ["immaf-amateur", "nruc"] },
|
|
25
|
+
];
|
|
26
|
+
/** Every combat league, once each. */
|
|
27
|
+
export const COMBAT_LEAGUES = Object.freeze([...MMA_LEAGUES]);
|
package/dist/leagues/sources.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
const source = (s) => [s.id, Object.freeze(s)];
|
|
4
4
|
const READ = "2026-10-13";
|
|
5
5
|
const BUDO_READ = "2026-10-14";
|
|
6
|
+
const COMBAT_READ = "2026-10-20";
|
|
6
7
|
/** Every document a league's figures were read from, by id. */
|
|
7
8
|
export const LEAGUE_SOURCES = Object.freeze(Object.fromEntries([
|
|
8
9
|
// The leagues the package started with.
|
|
@@ -124,6 +125,11 @@ export const LEAGUE_SOURCES = Object.freeze(Object.fromEntries([
|
|
|
124
125
|
source({ id: "budokan-overview", title: "日本武道館建物等概要 (Nippon Budokan: buildings and seats), the arena plan: a regular octagon of 55 m across, 60 m corner to corner, 23 m a side, 2,513 m²", by: "公益財団法人日本武道館 (Nippon Budokan)", edition: "the leaflet of October 2021", url: "https://www.nipponbudokan.or.jp/pdf/202110.pdf", read: BUDO_READ, note: "opened 3 October 1964; at most 14,501; the arena as an octagon" }),
|
|
125
126
|
source({ id: "butokuden-ja", title: "旧武徳殿 (Japanese Wikipedia): built in 1899 by the Dai Nippon Butokukai, designed by Matsumuro Shigemitsu, an Important Cultural Property since 1996, 1,200 seats", by: "Wikipedia contributors (CC BY-SA 4.0)", edition: "the article as read on the date given", url: "https://ja.wikipedia.org/wiki/%E6%97%A7%E6%AD%A6%E5%BE%B3%E6%AE%BF", read: BUDO_READ, note: "the dates, the address and the seats; no mat count was found" }),
|
|
126
127
|
source({ id: "wikipedia-halls", title: "Wikipedia and Wikidata on the halls: Nippon Budokan, Ryōgoku Kokugikan, Kodokan, Butokuden and the Budokwai (their capacities, opening dates, coordinates and the events held in them)", by: "Wikipedia contributors (CC BY-SA 4.0) and Wikidata (CC0)", edition: "the articles and items as read on the date given", url: "https://www.wikidata.org/wiki/Q386246", read: BUDO_READ, note: "capacity 11,098 (Wikidata P1083 and English Wikipedia) for the Kokugikan; 14,471 for the Budokan; the items Q1165384, Q386246, Q176821, Q1017987 and Q3646473; no text is copied" }),
|
|
128
|
+
// The combat sports.
|
|
129
|
+
source({ id: "nruc", title: "Nevada Rules of Unarmed Combat, NRUC 5.010 (requirements for a ring or fenced area for mixed martial arts: a fenced area of 20 to 32 feet, a platform of at most 4 feet with steps, metal posts of at most 6 inches reaching 5 to 7 feet over the fenced floor, padding, a fence that cannot be broken through, two entrances) and NRUC 2.050 (a boxing ring)", by: "Nevada Athletic Commission", edition: "adopted 20 September 2022, amended 29 October 2024 (the file of 20 November 2024)", url: "https://boxing.nv.gov/uploadedFiles/boxingnvgov/content/faq/sections/2024-11-20-NRUC-OFFICIAL-FINAL.pdf", read: COMBAT_READ, note: "the cage's width, the platform's greatest height, the fence posts' height, the floor's foam, the two gates; the boxing ring's figures are read here too" }),
|
|
130
|
+
source({ id: "oar-230-070-0025", title: "Oregon Administrative Rule 230-070-0025, Mixed Martial Arts Fenced Area or Ring", by: "Oregon Department of Consumer and Business Services", edition: "the rule as read on the date given", url: "https://oregon.public.law/rules/oar_230-070-0025", read: COMBAT_READ, note: "the fenced area is round or has at least six equal sides, 18 to 32 feet wide, a platform of at most 4 feet, at least six posts of 6 to 7 feet, at least two entrances; a second commission's rule beside Nevada's, which is the one drawn" }),
|
|
131
|
+
source({ id: "immaf-amateur", title: "IMMAF Mixed Martial Arts Unified Rules for amateur, junior and senior competition: the fighting area and the fence", by: "International Mixed Martial Arts Federation", edition: "January 2021", url: "https://immaf.org/wp-content/uploads/2025/11/MMA-UNIFIED-RULES-FOR-AMATEUR-JUNIOR-SENIOR-January-2021.pdf", read: COMBAT_READ, note: "a fighting area circular or with equal sides, 20 by 20 to 32 by 32 feet, at least 40 mm of high-density foam under a vinyl cover, two gated entrances that open outward, on opposite sides if possible" }),
|
|
132
|
+
source({ id: "wp-mma-cage", title: "Mixed martial arts cage (English Wikipedia), and Mixed martial arts, Fighting area: the cage called a cage or an eight-sided cage; the larger cage of 30 feet across with a 6 foot fence on a 4 foot platform, the smaller of 25 feet, foam padding along the top of the fence and between its eight sections, two gates opposite each other", by: "Wikipedia contributors (CC BY-SA 4.0), read for facts only", edition: "revision 1377260922 (Mixed martial arts cage) and revision 1381048799 (Mixed martial arts)", url: "https://en.wikipedia.org/w/index.php?title=Mixed_martial_arts_cage&oldid=1377260922", read: COMBAT_READ, note: "what is typical and not a rule: 30 feet and 25 feet across, a 6 foot fence, a 4 foot platform, eight sides, two gates opposite each other; the article says the name of one promotion's cage is a trademark, so the package names the cage for what it is" }),
|
|
127
133
|
// Baseball and softball.
|
|
128
134
|
source({ id: "obr-2026", title: "Official Baseball Rules, 2.01, 2.03 and 2.04 (the rules Minor League Baseball plays under)", by: "Major League Baseball", edition: "2026", url: "https://mktg.mlbstatic.com/mlb/official-information/2026-official-baseball-rules.pdf", read: READ, note: "bases 18 inches (2.03), the fence at least 325 and 400 feet (2.01 note); Minor League Baseball's own facility standards are not public" }),
|
|
129
135
|
source({ id: "ncaa-baseball", title: "NCAA Baseball Rules, Rule 1, and the field diagram", by: "NCAA", edition: "2027 and 2028 rules book (printed October 2026)", url: "https://ncaaorg.s3.amazonaws.com/championships/sports/baseball/rules/PRMBA_RulesBook.pdf", read: READ, note: "90-foot square (1-2-a), recommended fence 330, 375 and 400 feet (1-2-b), boxes 4 by 6 feet (1-3-a), backstop 45 feet (1-5-b); diagram: PRMBA_Re-imagedFieldDiagrams.pdf" }),
|
package/dist/leagues/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface Named {
|
|
|
5
5
|
ja: string;
|
|
6
6
|
}
|
|
7
7
|
/** The families of surface a league is a variant of. */
|
|
8
|
-
export type Family = "basketball" | "hockey" | "football" | "baseball" | "curling" | "tennis" | "volleyball" | "badminton" | "pickleball" | "tabletennis" | "padel" | "squash" | "racquetball" | "sepaktakraw" | "teqball" | "roundnet" | "netball" | "lacrosse" | "rugby" | "afl" | "gaelic" | "cricket" | "fieldhockey" | "handball" | "athletics" | "skating" | "judo" | "karate" | "kendo" | "sumo" | "kyudo" | "dojo";
|
|
8
|
+
export type Family = "basketball" | "hockey" | "football" | "baseball" | "curling" | "tennis" | "volleyball" | "badminton" | "pickleball" | "tabletennis" | "padel" | "squash" | "racquetball" | "sepaktakraw" | "teqball" | "roundnet" | "netball" | "lacrosse" | "rugby" | "afl" | "gaelic" | "cricket" | "fieldhockey" | "handball" | "athletics" | "skating" | "judo" | "karate" | "kendo" | "sumo" | "kyudo" | "dojo" | "mma";
|
|
9
9
|
/** The state of one marking from a season on, in a league's own history: the season it began, what it was, and its sources. */
|
|
10
10
|
export interface LeagueSpan<T> {
|
|
11
11
|
/** The first season it was in force, or `null` for the state before the first change that is cited. */
|
package/dist/leagues.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export { WA_STANDARD_TRACK, WA_SHORT_TRACK, WA_STAGGER_TABLE, WA_SHORT_STAGGER_T
|
|
|
36
36
|
export type { SkatingFigures, SkatingLeague, LongTrackFigures, ShortTrackFigures, FigureRinkFigures } from "./leagues/skating.ts";
|
|
37
37
|
export { ISU_LONG_TRACK, ISU_SHORT_TRACK, ISU_FIGURE_RINK, ISU_LONG_TRACK_TABLE } from "./leagues/skating.ts";
|
|
38
38
|
export type { BudoFigures, BudoLeague, DojoFigures, DojoLeague, JudoFigures, JudoLeague, KarateFigures, KarateLeague, KendoFigures, KendoLeague, KyudoFigures, KyudoLeague, Mat, SumoFigures, SumoLeague } from "./leagues/budo.ts";
|
|
39
|
+
export { IMMAF_CAGE, MMA_LEAGUES, NRUC_CAGE } from "./leagues/combat.ts";
|
|
39
40
|
export { AJJF_CONTEST, BUDO_LEAGUES, ENTEKI, FIK_SHIAI_JO, IJF_CONTEST, IJF_KATA, JSA_DOHYO, KINTEKI, WKF_KATA, WKF_KUMITE } from "./leagues/budo.ts";
|
|
40
41
|
export type { BadmintonFigures, BadmintonLeague, FreeZone, FreeZones, NetFigures, NetLeague, NetSport, NetballFigures, NetballLeague, PadelFigures, PadelLeague, PickleballFigures, PickleballLeague, RacquetballFigures, RacquetballLeague, RoundnetFigures, RoundnetLeague, SepakTakrawFigures, SepakTakrawLeague, SquashFigures, SquashLeague, TableTennisFigures, TableTennisLeague, TennisFigures, TennisLeague, TeqballFigures, TeqballLeague, VolleyballFigures, VolleyballLeague } from "./leagues/courts.ts";
|
|
41
42
|
export type { CourtFigures, CourtMarks } from "./leagues/basketball.ts";
|
package/dist/leagues.js
CHANGED
|
@@ -15,6 +15,7 @@ import { FIELD_HOCKEY_LEAGUES, fieldHockeyInFeet } from "./leagues/fieldhockey.j
|
|
|
15
15
|
import { ATHLETICS_LEAGUES, athleticsInFeet } from "./leagues/athletics.js";
|
|
16
16
|
import { longOval, outerEdge } from "./skating/track.js";
|
|
17
17
|
import { SKATING_LEAGUES, skatingInFeet } from "./leagues/skating.js";
|
|
18
|
+
import { MMA_LEAGUES } from "./leagues/combat.js";
|
|
18
19
|
import { BUDO_LEAGUES, DOJO_LEAGUES, JUDO_LEAGUES, KARATE_LEAGUES, KENDO_LEAGUES, KYUDO_LEAGUES, SUMO_LEAGUES } from "./leagues/budo.js";
|
|
19
20
|
import { GAELIC_LEAGUES, gaelicInFeet } from "./leagues/gaelic.js";
|
|
20
21
|
import { HANDBALL_LEAGUES, handballInFeet } from "./leagues/handball.js";
|
|
@@ -27,9 +28,10 @@ export { LEAGUE_SOURCES };
|
|
|
27
28
|
export { AFL_GROUNDS } from "./leagues/aussie.js";
|
|
28
29
|
export { WA_STANDARD_TRACK, WA_SHORT_TRACK, WA_STAGGER_TABLE, WA_SHORT_STAGGER_TABLE } from "./leagues/athletics.js";
|
|
29
30
|
export { ISU_LONG_TRACK, ISU_SHORT_TRACK, ISU_FIGURE_RINK, ISU_LONG_TRACK_TABLE } from "./leagues/skating.js";
|
|
31
|
+
export { IMMAF_CAGE, MMA_LEAGUES, NRUC_CAGE } from "./leagues/combat.js";
|
|
30
32
|
export { AJJF_CONTEST, BUDO_LEAGUES, ENTEKI, FIK_SHIAI_JO, IJF_CONTEST, IJF_KATA, JSA_DOHYO, KINTEKI, WKF_KATA, WKF_KUMITE } from "./leagues/budo.js";
|
|
31
33
|
/** The family of surface each sport draws; soccer's variants are its pitches (`pitch`), not leagues. */
|
|
32
|
-
export const FAMILY_OF = Object.freeze({ nfl: "football", cfl: "football", ifaf: "football", nhl: "hockey", nba: "basketball", mlb: "baseball", soccer: undefined, curling: "curling", tennis: "tennis", volleyball: "volleyball", badminton: "badminton", pickleball: "pickleball", tabletennis: "tabletennis", padel: "padel", squash: "squash", racquetball: "racquetball", sepaktakraw: "sepaktakraw", teqball: "teqball", roundnet: "roundnet", netball: "netball", lacrosse: "lacrosse", rugby: "rugby", afl: "afl", gaelic: "gaelic", cricket: "cricket", fieldhockey: "fieldhockey", handball: "handball", swimming: undefined, waterpolo: undefined, diving: undefined, artisticswimming: undefined, athletics: "athletics", skating: "skating", judo: "judo", karate: "karate", kendo: "kendo", sumo: "sumo", kyudo: "kyudo", dojo: "dojo" });
|
|
34
|
+
export const FAMILY_OF = Object.freeze({ nfl: "football", cfl: "football", ifaf: "football", nhl: "hockey", nba: "basketball", mlb: "baseball", soccer: undefined, curling: "curling", tennis: "tennis", volleyball: "volleyball", badminton: "badminton", pickleball: "pickleball", tabletennis: "tabletennis", padel: "padel", squash: "squash", racquetball: "racquetball", sepaktakraw: "sepaktakraw", teqball: "teqball", roundnet: "roundnet", netball: "netball", lacrosse: "lacrosse", rugby: "rugby", afl: "afl", gaelic: "gaelic", cricket: "cricket", fieldhockey: "fieldhockey", handball: "handball", swimming: undefined, waterpolo: undefined, diving: undefined, artisticswimming: undefined, athletics: "athletics", skating: "skating", judo: "judo", karate: "karate", kendo: "kendo", sumo: "sumo", kyudo: "kyudo", dojo: "dojo", mma: "mma" });
|
|
33
35
|
/**
|
|
34
36
|
* The leagues each sport can draw, in the order a menu lists them, the sport's own first (the three football sports share their
|
|
35
37
|
* list, the football leagues). Soccer and the pools have none.
|
|
@@ -75,6 +77,7 @@ export const LEAGUES = Object.freeze({
|
|
|
75
77
|
sumo: SUMO_LEAGUES,
|
|
76
78
|
kyudo: KYUDO_LEAGUES,
|
|
77
79
|
dojo: DOJO_LEAGUES,
|
|
80
|
+
mma: MMA_LEAGUES,
|
|
78
81
|
});
|
|
79
82
|
/** Every league of every family, once each. */
|
|
80
83
|
export const VARIANTS = Object.freeze([...BASKETBALL_LEAGUES, ...HOCKEY_LEAGUES, ...FOOTBALL_LEAGUES, ...BASEBALL_LEAGUES, ...CURLING_LEAGUES, ...TENNIS_LEAGUES, ...VOLLEYBALL_LEAGUES, ...BADMINTON_LEAGUES, ...PICKLEBALL_LEAGUES, ...TABLE_TENNIS_LEAGUES, ...PADEL_LEAGUES, ...SQUASH_LEAGUES, ...RACQUETBALL_LEAGUES, ...SEPAK_TAKRAW_LEAGUES, ...TEQBALL_LEAGUES, ...ROUNDNET_LEAGUES, ...NETBALL_LEAGUES, ...LACROSSE_LEAGUES, ...RUGBY_LEAGUES, ...AFL_LEAGUES, ...GAELIC_LEAGUES, ...CRICKET_LEAGUES, ...FIELD_HOCKEY_LEAGUES, ...HANDBALL_LEAGUES, ...ATHLETICS_LEAGUES, ...BUDO_LEAGUES]);
|
|
@@ -330,6 +333,13 @@ export function leagueSize(sport, id, unit) {
|
|
|
330
333
|
feet = { length: convertLength(length, "m", "ft"), width: convertLength(frontage, "m", "ft") };
|
|
331
334
|
break;
|
|
332
335
|
}
|
|
336
|
+
case "mma": {
|
|
337
|
+
// The platform: the cage at the size drawn, with its apron.
|
|
338
|
+
const d = league.dimensions;
|
|
339
|
+
const m = d.width.drawn + 2 * d.apron;
|
|
340
|
+
feet = { length: convertLength(m, "m", "ft"), width: convertLength(m, "m", "ft") };
|
|
341
|
+
break;
|
|
342
|
+
}
|
|
333
343
|
case "dojo": {
|
|
334
344
|
// The usual 20 jō: 5 mats' widths across and 8 along.
|
|
335
345
|
const d = league.dimensions;
|
|
@@ -684,6 +694,16 @@ export function leagueFigures(league) {
|
|
|
684
694
|
["shajō", `${f.hall.depth} m deep, ${f.hall.side} m from the end shooters to the walls, ceiling ${f.ceiling} m`],
|
|
685
695
|
];
|
|
686
696
|
}
|
|
697
|
+
case "mma": {
|
|
698
|
+
const f = league.dimensions;
|
|
699
|
+
const ft = (m) => `${Math.round((m / 0.3048) * 100) / 100} ft`;
|
|
700
|
+
return [
|
|
701
|
+
["width", `${ft(f.width.min)} to ${ft(f.width.max)} across, ${f.sides} sides drawn`],
|
|
702
|
+
["platform", `at most ${ft(f.platform.height.max)} high, with steps`],
|
|
703
|
+
["fence", `posts ${ft(f.fence.min)} to ${ft(f.fence.max)} over the canvas`],
|
|
704
|
+
["gates", `${f.gates.count}, with secure locks`],
|
|
705
|
+
];
|
|
706
|
+
}
|
|
687
707
|
case "dojo": {
|
|
688
708
|
const f = league.dimensions;
|
|
689
709
|
return [
|
package/dist/outline.js
CHANGED
package/dist/ranges.names.js
CHANGED
|
@@ -78,6 +78,7 @@ export const RANGES = Object.freeze({
|
|
|
78
78
|
sumo: Object.freeze([range("ring"), range("start"), range("half", "left")]),
|
|
79
79
|
kyudo: Object.freeze([range("shajo"), range("yamichi"), range("azuchi")]),
|
|
80
80
|
dojo: Object.freeze([range("kamiza"), range("half", "left")]),
|
|
81
|
+
mma: Object.freeze([range("cage"), range("gate"), range("half", "left")]),
|
|
81
82
|
});
|
|
82
83
|
const isNumber = (value) => typeof value === "number" && Number.isFinite(value);
|
|
83
84
|
/**
|
package/dist/score.js
CHANGED
|
@@ -218,6 +218,9 @@ export function glyph(sport) {
|
|
|
218
218
|
case "dojo":
|
|
219
219
|
// A dojo: a floor of mats laid so that no four corners meet.
|
|
220
220
|
return "M-14 -10H14V10H-14ZM-14 0H14M-5 -10V0M5 0V10";
|
|
221
|
+
case "mma":
|
|
222
|
+
// An eight-sided cage on its platform: the platform's square, the octagon of the fence and the two gates.
|
|
223
|
+
return "M-10 -10H10V10H-10ZM-3 -7L3 -7L7 -3L7 3L3 7L-3 7L-7 3L-7 -3ZM-2 -7V-10M2 -7V-10M-2 7V10M2 7V10";
|
|
221
224
|
case "athletics":
|
|
222
225
|
// A track: the oval's outer edge, a lane line and the kerb, and the finish line across the straight.
|
|
223
226
|
return "M-9 -10H9A10 10 0 0 1 9 10H-9A10 10 0 0 1 -9 -10ZM-9 -8.2H9A8.2 8.2 0 0 1 9 8.2H-9A8.2 8.2 0 0 1 -9 -8.2ZM-9 -6.4H9A6.4 6.4 0 0 1 9 6.4H-9A6.4 6.4 0 0 1 -9 -6.4ZM9 6.4V10";
|
package/dist/strings.d.ts
CHANGED
|
@@ -440,6 +440,12 @@ export interface KyogijoWords {
|
|
|
440
440
|
dojoBanner: string;
|
|
441
441
|
dojoAreas: string;
|
|
442
442
|
dojoWalls: string;
|
|
443
|
+
/** An MMA cage: the sentence ({width}, {feet}, {fence}, {platform}), the platform it stands on ({height}) or the floor it stands at, and the sentences about its gates and its steps. */
|
|
444
|
+
mma: string;
|
|
445
|
+
mmaPlatform: string;
|
|
446
|
+
mmaFloor: string;
|
|
447
|
+
mmaGates: string;
|
|
448
|
+
mmaSteps: string;
|
|
443
449
|
/** The scoreboards: the heads and the sentences that say what each side scored. */
|
|
444
450
|
board: {
|
|
445
451
|
ippon: string;
|
|
@@ -993,7 +999,7 @@ export interface KyogijoWords {
|
|
|
993
999
|
item: string;
|
|
994
1000
|
itemSag: string;
|
|
995
1001
|
/** The names of what stands on the surface, by kind. */
|
|
996
|
-
parts: Record<"scoreboard" | "net" | "antennae" | "goalposts" | "netposts" | "hoop" | "goal" | "boards" | "stumps" | "pylons" | "flags" | "fence" | "backstop" | "foul-poles" | "table-legs" | "walls" | "starting-blocks" | "backstroke-flags" | "false-start-rope" | "springboards" | "platforms" | "judges-stand" | "hurdles" | "steeplechase" | "high-jump" | "pole-vault" | "cage" | "padding" | "rink-boards" | "mound" | "azuchi" | "targets" | "stands" | "wall-seats" | "roof" | "gallery" | "dais" | "banner" | "shrine" | "mat-edge" | "surrounds" | "officials" | "judges", string>;
|
|
1002
|
+
parts: Record<"scoreboard" | "net" | "antennae" | "goalposts" | "netposts" | "hoop" | "goal" | "boards" | "stumps" | "pylons" | "flags" | "fence" | "backstop" | "foul-poles" | "table-legs" | "walls" | "starting-blocks" | "backstroke-flags" | "false-start-rope" | "springboards" | "platforms" | "judges-stand" | "hurdles" | "steeplechase" | "high-jump" | "pole-vault" | "cage" | "padding" | "rink-boards" | "mound" | "azuchi" | "targets" | "stands" | "wall-seats" | "roof" | "gallery" | "dais" | "banner" | "shrine" | "mat-edge" | "surrounds" | "officials" | "judges" | "deck" | "cage-fence" | "cage-posts", string>;
|
|
997
1003
|
};
|
|
998
1004
|
/** The names of the zones that `zoneAt` answers with (rules.ts), by id. */
|
|
999
1005
|
rules: Record<RuleId, string>;
|
package/dist/strings.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** The words of the package, by language. */
|
|
2
2
|
export const KYOGIJO_STRINGS = {
|
|
3
3
|
en: {
|
|
4
|
-
surface: { skating: "Skating rink", nfl: "NFL football field", cfl: "CFL football field", ifaf: "IFAF football field", nhl: "NHL hockey rink", nba: "NBA basketball court", mlb: "Baseball field", soccer: "Soccer pitch", curling: "Curling sheet", tennis: "Tennis court", volleyball: "Volleyball court", badminton: "Badminton court", pickleball: "Pickleball court", tabletennis: "Table tennis table", padel: "Padel court", squash: "Squash court", racquetball: "Racquetball court", sepaktakraw: "Sepak takraw court", teqball: "Teqball court", roundnet: "Roundnet court", netball: "Netball court", lacrosse: "Lacrosse field", rugby: "Rugby union field", afl: "Australian football ground", gaelic: "Gaelic football field", cricket: "Cricket ground", fieldhockey: "Field hockey pitch", handball: "Handball court", swimming: "Swimming pool", waterpolo: "Water polo field", diving: "Diving well", artisticswimming: "Artistic swimming pool", athletics: "Athletics track", judo: "Judo contest area", karate: "Karate competition area", kendo: "Kendo shiai-jo", sumo: "Sumo dohyō", kyudo: "Kyūdō range", dojo: "Dojo" },
|
|
4
|
+
surface: { skating: "Skating rink", nfl: "NFL football field", cfl: "CFL football field", ifaf: "IFAF football field", nhl: "NHL hockey rink", nba: "NBA basketball court", mlb: "Baseball field", soccer: "Soccer pitch", curling: "Curling sheet", tennis: "Tennis court", volleyball: "Volleyball court", badminton: "Badminton court", pickleball: "Pickleball court", tabletennis: "Table tennis table", padel: "Padel court", squash: "Squash court", racquetball: "Racquetball court", sepaktakraw: "Sepak takraw court", teqball: "Teqball court", roundnet: "Roundnet court", netball: "Netball court", lacrosse: "Lacrosse field", rugby: "Rugby union field", afl: "Australian football ground", gaelic: "Gaelic football field", cricket: "Cricket ground", fieldhockey: "Field hockey pitch", handball: "Handball court", swimming: "Swimming pool", waterpolo: "Water polo field", diving: "Diving well", artisticswimming: "Artistic swimming pool", athletics: "Athletics track", judo: "Judo contest area", karate: "Karate competition area", kendo: "Kendo shiai-jo", sumo: "Sumo dohyō", kyudo: "Kyūdō range", dojo: "Dojo", mma: "MMA cage" },
|
|
5
5
|
about: {
|
|
6
6
|
nfl: "an American football field, 120 by 53 and a third yards with its end zones, with a yard line every 5 yards, hash marks, numbers and goal posts",
|
|
7
7
|
cfl: "a Canadian football field, 150 by 65 yards with its 20-yard end zones, with a yard line every 5 yards, hash marks, numbers and goal posts on the goal lines",
|
|
@@ -42,6 +42,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
42
42
|
sumo: "a sumo dohyō: a clay square of 6.7 metres with a ring of 4.55 metres made of 20 tawara",
|
|
43
43
|
kyudo: "a kyūdōjō for kinteki: a shajō with five shooting positions, 28 metres from the targets at the azuchi",
|
|
44
44
|
dojo: "a dojo of 20 jō of tatami",
|
|
45
|
+
mma: "an MMA cage: an eight-sided fenced area 9.14 metres (30 feet) across, on a platform 122 centimetres high",
|
|
45
46
|
},
|
|
46
47
|
status: { final: "Final", "final-ot": "Final/OT", "final-so": "Final/SO", "final-aet": "Final/AET", "final-pens": "Final/Pens", live: "Live", half: "Halftime", "extra-time": "Extra time", "extra-end": "Extra end", penalties: "Penalties", postponed: "Postponed", tiebreak: "Tiebreak", "match-tiebreak": "Match tiebreak", retired: "Retired", walkover: "Walkover" },
|
|
47
48
|
endStatus: "End {n}",
|
|
@@ -226,6 +227,11 @@ export const KYOGIJO_STRINGS = {
|
|
|
226
227
|
dojoBanner: "A plain dark banner hangs on the kamiza wall.",
|
|
227
228
|
dojoAreas: "{n} contest areas of 8 metres are marked on the floor.",
|
|
228
229
|
dojoWalls: "It has walls with {doors} and {windows}.",
|
|
230
|
+
mma: "an MMA cage: an eight-sided fenced area {width} metres across ({feet} feet), with a fence {fence} centimetres high and eight padded posts, {platform}",
|
|
231
|
+
mmaPlatform: "on a platform {height} centimetres high",
|
|
232
|
+
mmaFloor: "at floor level",
|
|
233
|
+
mmaGates: "It has two gates, opposite each other.",
|
|
234
|
+
mmaSteps: "Steps lead up to the platform at each gate.",
|
|
229
235
|
board: {
|
|
230
236
|
ippon: "Ippon", wazaari: "Waza-ari", yuko: "Yuko", shido: "Shido", senshu: "Senshu", chui: "Chui", points: "Points", kimarite: "Kimarite",
|
|
231
237
|
techniques: { men: "Men", kote: "Kote", do: "Dō", tsuki: "Tsuki", hansoku: "Hansoku" },
|
|
@@ -287,7 +293,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
287
293
|
results: { touchdown: "touchdown", "field-goal": "field goal", "missed-field-goal": "missed field goal", punt: "punt", turnover: "turnover", interception: "interception", fumble: "fumble", downs: "turnover on downs", safety: "safety", "end-of-half": "end of the half" },
|
|
288
294
|
},
|
|
289
295
|
special: {
|
|
290
|
-
guest: { skating: "rink", nfl: "football field", cfl: "football field", ifaf: "football field", nhl: "rink", nba: "court", mlb: "baseball field", soccer: "pitch", curling: "sheet", tennis: "court", volleyball: "court", badminton: "court", pickleball: "court", tabletennis: "table", padel: "court", squash: "court", racquetball: "court", sepaktakraw: "court", teqball: "court", roundnet: "court", netball: "court", lacrosse: "field", rugby: "field", afl: "ground", gaelic: "field", cricket: "ground", fieldhockey: "pitch", handball: "court", swimming: "pool", waterpolo: "pool", diving: "well", artisticswimming: "pool", athletics: "track", judo: "contest area", karate: "competition area", kendo: "shiai-jo", sumo: "dohyō", kyudo: "range", dojo: "dojo" },
|
|
296
|
+
guest: { skating: "rink", nfl: "football field", cfl: "football field", ifaf: "football field", nhl: "rink", nba: "court", mlb: "baseball field", soccer: "pitch", curling: "sheet", tennis: "court", volleyball: "court", badminton: "court", pickleball: "court", tabletennis: "table", padel: "court", squash: "court", racquetball: "court", sepaktakraw: "court", teqball: "court", roundnet: "court", netball: "court", lacrosse: "field", rugby: "field", afl: "ground", gaelic: "field", cricket: "ground", fieldhockey: "pitch", handball: "court", swimming: "pool", waterpolo: "pool", diving: "well", artisticswimming: "pool", athletics: "track", judo: "contest area", karate: "competition area", kendo: "shiai-jo", sumo: "dohyō", kyudo: "range", dojo: "dojo", mma: "cage" },
|
|
291
297
|
title: "{guest} in {host}",
|
|
292
298
|
game: "{event}, {date}.",
|
|
293
299
|
inside: "The {guest} lies wholly inside the outline of {host}.",
|
|
@@ -382,7 +388,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
382
388
|
boundary: "Boundary", pitch: "Pitch", "bowling-crease": "Bowling crease", "popping-crease": "Popping crease", "return-crease": "Return crease", wicket: "Wicket", "thirty-yard-circle": "30-yard circle",
|
|
383
389
|
"twenty-three-line": "23-metre line", "shooting-circle": "Shooting circle", "penalty-spot": "Penalty spot", "broken-circle-line": "Broken line round the circle", "goal-area-line": "Goal-area line",
|
|
384
390
|
"finish-line": "Finish line", kerb: "Kerb", "lane-lines": "Lane lines", bend: "Bend", straight: "Straight", "infield-pitch": "Soccer pitch", "start-line": "Start line", breakline: "Breakline", "water-jump": "Water jump", "exchange-zone": "Takeover zone",
|
|
385
|
-
"referee-position": "Referee's place", "shiai-jo": "Shiai-jo", floorboard: "Floorboard", heri: "Heri, the mat's edge", "contest-area": "Contest area", "safety-area": "Safety area", "danger-zone": "Danger zone", "start-mark": "Start mark", "common-safe-zone": "Common safe zone", "free-zone": "Free zone", platform: "Platform", "technical-table": "Technical table", "centre-tape": "Centre tape", "kata-judges": "Judges, shomen side", "coach-chair": "Coach's chair", "kata-entry": "Entry and exit, opposite shomen", arena: "Arena floor", "competition-area": "Competition area", "boundary-band": "Boundary band", "start-mat": "Start mat", judge: "Judge", "between-areas": "Between the areas", "centre-cross": "Centre cross", "kaishi-sen": "Kaishi-sen", "outer-boundary": "Outer boundary", dohyo: "Dohyō", ring: "Ring", tawara: "Tawara", tokudawara: "Tokudawara", "shikiri-sen": "Shikiri-sen", "jano-me": "Jano-me", shajo: "Shajō", "shooting-position": "Shooting position", honza: "Honza", yamichi: "Yamichi", "yatori-michi": "Path for the arrows", azuchi: "Azuchi", mato: "Target", kamiza: "Kamiza", shimoza: "Shimoza", shinzen: "Shinzen", dais: "Dais, the seat of honour", banner: "Banner", entrance: "Entrance", window: "Window", tatami: "Tatami", wall: "Wall", "inner-lane": "Inner lane", "outer-lane": "Outer lane", "crossing-straight": "Crossing straight", "warm-up-lane": "Warm-up lane", padding: "Padding", infield: "Infield", "coaches-area": "Coaches' area", blocks: "Blocks", "track-line": "Line of the track", "start-lines": "Starting lines", ice: "Ice", "technical-panel": "Technical panel", referee: "Referee", "kiss-and-cry": "Kiss and cry", judges: "Judges", runway: "Runway", "take-off-board": "Take-off board", "landing-area": "Landing area", "throwing-circle": "Throwing circle", sector: "Landing sector", "stop-board": "Stop board", cage: "Cage", "throwing-arc": "Throwing arc", crossbar: "Crossbar", "landing-mat": "Landing mat", "run-up": "Run-up", "zero-line": "Zero line", box: "Box",
|
|
391
|
+
"referee-position": "Referee's place", "shiai-jo": "Shiai-jo", floorboard: "Floorboard", heri: "Heri, the mat's edge", "contest-area": "Contest area", "safety-area": "Safety area", "danger-zone": "Danger zone", "start-mark": "Start mark", "common-safe-zone": "Common safe zone", "free-zone": "Free zone", platform: "Platform", "technical-table": "Technical table", "centre-tape": "Centre tape", "kata-judges": "Judges, shomen side", "coach-chair": "Coach's chair", "kata-entry": "Entry and exit, opposite shomen", arena: "Arena floor", "competition-area": "Competition area", "boundary-band": "Boundary band", "start-mat": "Start mat", judge: "Judge", "between-areas": "Between the areas", "centre-cross": "Centre cross", "kaishi-sen": "Kaishi-sen", "outer-boundary": "Outer boundary", dohyo: "Dohyō", ring: "Ring", tawara: "Tawara", tokudawara: "Tokudawara", "shikiri-sen": "Shikiri-sen", "jano-me": "Jano-me", shajo: "Shajō", "shooting-position": "Shooting position", honza: "Honza", yamichi: "Yamichi", "yatori-michi": "Path for the arrows", azuchi: "Azuchi", mato: "Target", kamiza: "Kamiza", "cage-canvas": "Canvas", "cage-fence": "Fence", "cage-post": "Padded post", "cage-gate": "Gate", "cage-steps": "Steps", "cage-platform": "Platform", shimoza: "Shimoza", shinzen: "Shinzen", dais: "Dais, the seat of honour", banner: "Banner", entrance: "Entrance", window: "Window", tatami: "Tatami", wall: "Wall", "inner-lane": "Inner lane", "outer-lane": "Outer lane", "crossing-straight": "Crossing straight", "warm-up-lane": "Warm-up lane", padding: "Padding", infield: "Infield", "coaches-area": "Coaches' area", blocks: "Blocks", "track-line": "Line of the track", "start-lines": "Starting lines", ice: "Ice", "technical-panel": "Technical panel", referee: "Referee", "kiss-and-cry": "Kiss and cry", judges: "Judges", runway: "Runway", "take-off-board": "Take-off board", "landing-area": "Landing area", "throwing-circle": "Throwing circle", sector: "Landing sector", "stop-board": "Stop board", cage: "Cage", "throwing-arc": "Throwing arc", crossbar: "Crossbar", "landing-mat": "Landing mat", "run-up": "Run-up", "zero-line": "Zero line", box: "Box",
|
|
386
392
|
"seven-metre-line": "7-metre line", "four-metre-line": "4-metre line", "throw-off-area": "Throw-off area", "restraining-line": "Restraining line", "wing-line": "Wing line", "marking-area": "Marking area", "two-point-arc": "Two-point arc",
|
|
387
393
|
"lane-rope": "Lane rope", "lane-line": "Lane marking on the floor", "lane-end-cross": "Cross line at the end of the lane marking", "fifteen-metre-mark": "15 m mark", "touch-pad": "Touch panel", "starting-block": "Starting block", "backstroke-flags": "Backstroke flags", "false-start-rope": "False start rope", gutter: "Gutter",
|
|
388
394
|
"two-metre-line": "2 m line", "five-metre-mark": "5 m mark", "six-metre-line": "6 m line", "half-distance-line": "Half distance line", "re-entry-area": "Re-entry area", "referee-platform": "Referee platform", "official-table": "Official table", "substitution-area": "Substitution area",
|
|
@@ -402,7 +408,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
402
408
|
"in-goal": "in-goal area", "twenty-two": "area between the try line and the 22-metre line", twenty: "area between the goal line and the 20-metre line", crease: "crease", "forward-fifty": "area inside the fifty metre arc", "centre-square": "centre square",
|
|
403
409
|
"large-rectangle": "large rectangle", pitch: "pitch", circle: "circle", "twenty-three": "23-metre area", "goal-area": "goal area",
|
|
404
410
|
"pool-end": "end of the pool, up to the 15 m mark", springboards: "springboards", platforms: "platforms", "centre-stage": "centre of the pool, the middle third",
|
|
405
|
-
"contest-area": "contest area", ring: "ring", shajo: "shajō", yamichi: "yamichi", azuchi: "azuchi", kamiza: "kamiza", "crossing-straight": "crossing straight", "first-bend": "first bend", "second-bend": "second bend", judges: "judges", "kiss-and-cry": "kiss and cry", bend: "bend", "home-straight": "finish straight", "back-straight": "back straight", finish: "finish line", start: "start", "high-jump": "high jump", "pole-vault": "pole vault", "long-jump": "long jump", "triple-jump": "triple jump", "shot-put": "shot put", "discus-throw": "discus throw", "hammer-throw": "hammer throw", "javelin-throw": "javelin throw", "water-jump": "water jump",
|
|
411
|
+
"contest-area": "contest area", ring: "ring", shajo: "shajō", yamichi: "yamichi", azuchi: "azuchi", kamiza: "kamiza", cage: "cage", gate: "gate", "crossing-straight": "crossing straight", "first-bend": "first bend", "second-bend": "second bend", judges: "judges", "kiss-and-cry": "kiss and cry", bend: "bend", "home-straight": "finish straight", "back-straight": "back straight", finish: "finish line", start: "start", "high-jump": "high jump", "pole-vault": "pole vault", "long-jump": "long jump", "triple-jump": "triple jump", "shot-put": "shot put", "discus-throw": "discus throw", "hammer-throw": "hammer throw", "javelin-throw": "javelin throw", "water-jump": "water jump",
|
|
406
412
|
},
|
|
407
413
|
folded: {
|
|
408
414
|
top: "Top house", bottom: "Bottom house", left: "Left house", right: "Right house",
|
|
@@ -432,7 +438,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
432
438
|
announce: "{name} view", announceAngle: "Turned to {yaw} degrees, seen from {pitch} degrees above the floor.",
|
|
433
439
|
flat: "This browser cannot draw the 3D view, so the flat drawing is shown.",
|
|
434
440
|
standing: "Standing on it, in the 3D view: {list}.", item: "{name} {h}", itemSag: "{name} {h} at the posts, {low} at the middle",
|
|
435
|
-
parts: { scoreboard: "scoreboard (lower edge)", net: "net", antennae: "antennae", goalposts: "goal posts", netposts: "net posts", hoop: "baskets", goal: "goals", boards: "boards and glass", stumps: "stumps", pylons: "pylons", flags: "corner flags", fence: "fence", backstop: "backstop", "foul-poles": "foul poles", "table-legs": "table top", walls: "walls", "starting-blocks": "starting blocks", "backstroke-flags": "backstroke flags", "false-start-rope": "false start rope", springboards: "springboards", platforms: "platforms", "judges-stand": "judges' stand", hurdles: "hurdles", steeplechase: "steeplechase barriers", "high-jump": "high jump uprights and bar", "pole-vault": "pole vault uprights and bar", cage: "discus and hammer cage", padding: "padding", "rink-boards": "boards", mound: "clay mound", azuchi: "azuchi", targets: "targets", stands: "stands", "wall-seats": "seats on top of the wall", roof: "roof", gallery: "gallery", dais: "dais", banner: "banner", shrine: "shrine", "mat-edge": "mat thickness", surrounds: "surrounds", officials: "umpires' chairs and score tables", judges: "name cards on the judges' table" },
|
|
441
|
+
parts: { scoreboard: "scoreboard (lower edge)", net: "net", antennae: "antennae", goalposts: "goal posts", netposts: "net posts", hoop: "baskets", goal: "goals", boards: "boards and glass", stumps: "stumps", pylons: "pylons", flags: "corner flags", fence: "fence", backstop: "backstop", "foul-poles": "foul poles", "table-legs": "table top", walls: "walls", "starting-blocks": "starting blocks", "backstroke-flags": "backstroke flags", "false-start-rope": "false start rope", springboards: "springboards", platforms: "platforms", "judges-stand": "judges' stand", hurdles: "hurdles", steeplechase: "steeplechase barriers", "high-jump": "high jump uprights and bar", "pole-vault": "pole vault uprights and bar", cage: "discus and hammer cage", padding: "padding", "rink-boards": "boards", mound: "clay mound", azuchi: "azuchi", targets: "targets", stands: "stands", "wall-seats": "seats on top of the wall", roof: "roof", gallery: "gallery", dais: "dais", banner: "banner", shrine: "shrine", "mat-edge": "mat thickness", surrounds: "surrounds", officials: "umpires' chairs and score tables", judges: "name cards on the judges' table", deck: "platform", "cage-fence": "fence", "cage-posts": "padded posts" },
|
|
436
442
|
},
|
|
437
443
|
rules: {
|
|
438
444
|
"defensive-zone": "Defensive zone",
|
|
@@ -527,7 +533,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
527
533
|
// (ISU Rule 281.1a; the JOC's usage). Television's インコース, アウトコース, バックストレート and ホームストレート are aliases in docs/skating.md. No rule book words were found for the figure skating
|
|
528
534
|
// furniture (ジャッジ席, テクニカルパネル, レフェリー, キス・アンド・クライ): they are the usual words.
|
|
529
535
|
ja: {
|
|
530
|
-
surface: { skating: "スケートリンク", nfl: "NFLのフィールド", cfl: "CFLのフィールド", ifaf: "IFAFのフィールド", nhl: "NHLのアイスホッケーリンク", nba: "NBAのバスケットボールコート", mlb: "野球場", soccer: "サッカーのピッチ", curling: "カーリングのシート", tennis: "テニスコート", volleyball: "バレーボールコート", badminton: "バドミントンコート", pickleball: "ピックルボールコート", tabletennis: "卓球台", padel: "パデルコート", squash: "スカッシュコート", racquetball: "ラケットボールコート", sepaktakraw: "セパタクローコート", teqball: "テックボールコート", roundnet: "ラウンドネットコート", netball: "ネットボールコート", lacrosse: "ラクロスのフィールド", rugby: "ラグビーユニオンのグラウンド", afl: "オーストラリアンフットボールのグラウンド", gaelic: "ゲーリック・フットボールのフィールド", cricket: "クリケットのグラウンド", fieldhockey: "フィールドホッケーのピッチ", handball: "ハンドボールのコート", swimming: "競泳プール", waterpolo: "水球のフィールド", diving: "飛込プール", artisticswimming: "アーティスティックスイミングのプール", athletics: "陸上競技のトラック", judo: "柔道の試合場", karate: "空手道の試合場", kendo: "剣道の試合場", sumo: "相撲の土俵", kyudo: "弓道場", dojo: "道場" },
|
|
536
|
+
surface: { skating: "スケートリンク", nfl: "NFLのフィールド", cfl: "CFLのフィールド", ifaf: "IFAFのフィールド", nhl: "NHLのアイスホッケーリンク", nba: "NBAのバスケットボールコート", mlb: "野球場", soccer: "サッカーのピッチ", curling: "カーリングのシート", tennis: "テニスコート", volleyball: "バレーボールコート", badminton: "バドミントンコート", pickleball: "ピックルボールコート", tabletennis: "卓球台", padel: "パデルコート", squash: "スカッシュコート", racquetball: "ラケットボールコート", sepaktakraw: "セパタクローコート", teqball: "テックボールコート", roundnet: "ラウンドネットコート", netball: "ネットボールコート", lacrosse: "ラクロスのフィールド", rugby: "ラグビーユニオンのグラウンド", afl: "オーストラリアンフットボールのグラウンド", gaelic: "ゲーリック・フットボールのフィールド", cricket: "クリケットのグラウンド", fieldhockey: "フィールドホッケーのピッチ", handball: "ハンドボールのコート", swimming: "競泳プール", waterpolo: "水球のフィールド", diving: "飛込プール", artisticswimming: "アーティスティックスイミングのプール", athletics: "陸上競技のトラック", judo: "柔道の試合場", karate: "空手道の試合場", kendo: "剣道の試合場", sumo: "相撲の土俵", kyudo: "弓道場", dojo: "道場", mma: "総合格闘技のケージ" },
|
|
531
537
|
about: {
|
|
532
538
|
nfl: "アメリカンフットボールのフィールド。エンドゾーンを含めて120×53⅓ヤードで、5ヤードごとのヤードライン、ハッシュマーク、ヤードナンバー、ゴールポストがあります",
|
|
533
539
|
cfl: "カナディアンフットボールのフィールド。20ヤードのエンドゾーンを含めて150×65ヤードで、5ヤードごとのヤードライン、ハッシュマーク、ヤードナンバー、ゴールライン上のゴールポストがあります",
|
|
@@ -568,6 +574,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
568
574
|
sumo: "相撲の土俵。一辺6.7mの粘土の正方形に、20俵でつくる直径4.55mの円があります",
|
|
569
575
|
kyudo: "近的の弓道場。射位が5か所ある射場から、安土の的まで28mあります",
|
|
570
576
|
dojo: "20畳の道場",
|
|
577
|
+
mma: "総合格闘技のケージ。金網で囲まれた、対辺間の距離が30フィート(約9.1m)の八角形で、高さ122cmの台の上にあります",
|
|
571
578
|
},
|
|
572
579
|
status: { final: "試合終了", "final-ot": "試合終了(延長)", "final-so": "試合終了(SO)", "final-aet": "試合終了(延長戦)", "final-pens": "試合終了(PK戦)", live: "試合中", half: "ハーフタイム", "extra-time": "延長戦", "extra-end": "エキストラエンド", penalties: "PK戦", postponed: "延期", tiebreak: "タイブレーク", "match-tiebreak": "マッチタイブレーク", retired: "途中棄権", walkover: "不戦勝" },
|
|
573
580
|
endStatus: "第{n}エンド",
|
|
@@ -762,6 +769,11 @@ export const KYOGIJO_STRINGS = {
|
|
|
762
769
|
dojoBanner: "上座側の壁に、無地の濃い色の垂れ幕が掛かっています。",
|
|
763
770
|
dojoAreas: "床に、8m四方の試合場が{n}面示されています。",
|
|
764
771
|
dojoWalls: "壁があり、{doors}と{windows}があります。",
|
|
772
|
+
mma: "総合格闘技のケージ。対辺間の距離が{feet}フィート(約{width}m)の八角形で、高さ{fence}cmの金網と、パッド付き支柱8本があります。{platform}",
|
|
773
|
+
mmaPlatform: "ケージは高さ{height}cmの台の上にあります",
|
|
774
|
+
mmaFloor: "ケージは床と同じ高さにあります",
|
|
775
|
+
mmaGates: "出入口は向かい合う2か所にあります。",
|
|
776
|
+
mmaSteps: "各出入口に、台へ上がる階段があります。",
|
|
765
777
|
board: {
|
|
766
778
|
ippon: "一本", wazaari: "技あり", yuko: "有効", shido: "指導", senshu: "先取", chui: "注意", points: "ポイント", kimarite: "決まり手",
|
|
767
779
|
techniques: { men: "面", kote: "小手", do: "胴", tsuki: "突き", hansoku: "反則" },
|
|
@@ -823,7 +835,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
823
835
|
results: { touchdown: "タッチダウン", "field-goal": "フィールドゴール", "missed-field-goal": "フィールドゴール失敗", punt: "パント", turnover: "ターンオーバー", interception: "インターセプト", fumble: "ファンブル", downs: "ダウン更新失敗によるターンオーバー", safety: "セーフティ", "end-of-half": "ハーフ終了" },
|
|
824
836
|
},
|
|
825
837
|
special: {
|
|
826
|
-
guest: { skating: "リンク", nfl: "アメリカンフットボールのフィールド", cfl: "カナディアンフットボールのフィールド", ifaf: "アメリカンフットボールのフィールド", nhl: "リンク", nba: "コート", mlb: "野球のグラウンド", soccer: "ピッチ", curling: "シート", tennis: "コート", volleyball: "コート", badminton: "コート", pickleball: "コート", tabletennis: "卓球台", padel: "コート", squash: "コート", racquetball: "コート", sepaktakraw: "コート", teqball: "コート", roundnet: "コート", netball: "コート", lacrosse: "フィールド", rugby: "グラウンド", afl: "グラウンド", gaelic: "フィールド", cricket: "グラウンド", fieldhockey: "ピッチ", handball: "コート", swimming: "プール", waterpolo: "プール", diving: "プール", artisticswimming: "プール", athletics: "トラック", judo: "試合場", karate: "試合場", kendo: "試合場", sumo: "土俵", kyudo: "弓道場", dojo: "道場" },
|
|
838
|
+
guest: { skating: "リンク", nfl: "アメリカンフットボールのフィールド", cfl: "カナディアンフットボールのフィールド", ifaf: "アメリカンフットボールのフィールド", nhl: "リンク", nba: "コート", mlb: "野球のグラウンド", soccer: "ピッチ", curling: "シート", tennis: "コート", volleyball: "コート", badminton: "コート", pickleball: "コート", tabletennis: "卓球台", padel: "コート", squash: "コート", racquetball: "コート", sepaktakraw: "コート", teqball: "コート", roundnet: "コート", netball: "コート", lacrosse: "フィールド", rugby: "グラウンド", afl: "グラウンド", gaelic: "フィールド", cricket: "グラウンド", fieldhockey: "ピッチ", handball: "コート", swimming: "プール", waterpolo: "プール", diving: "プール", artisticswimming: "プール", athletics: "トラック", judo: "試合場", karate: "試合場", kendo: "試合場", sumo: "土俵", kyudo: "弓道場", dojo: "道場", mma: "ケージ" },
|
|
827
839
|
title: "{host}の中の{guest}",
|
|
828
840
|
game: "{event}、{date}。",
|
|
829
841
|
inside: "{guest}全体が{host}の輪郭の内側に収まっています。",
|
|
@@ -917,7 +929,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
917
929
|
"distance-line": "距離を示すライン", "large-rectangle": "大きい長方形", "small-rectangle": "小さい長方形", "thirteen-metre-arc": "13メートルアーク", "forty-metre-arc": "40メートルアーク", "penalty-point": "ペナルティーマーク",
|
|
918
930
|
boundary: "バウンダリー", pitch: "ピッチ", "bowling-crease": "ボウリングクリース", "popping-crease": "ポッピングクリース", "return-crease": "リターンクリース", wicket: "ウィケット", "thirty-yard-circle": "30ヤードサークル",
|
|
919
931
|
"twenty-three-line": "23メートルライン", "shooting-circle": "シューティングサークル", "penalty-spot": "ペナルティースポット", "broken-circle-line": "サークルを囲む破線", "goal-area-line": "ゴールエリアライン",
|
|
920
|
-
"referee-position": "主審の位置", "shiai-jo": "試合場", floorboard: "床板", heri: "畳縁", "contest-area": "試合場内", "safety-area": "安全地帯", "danger-zone": "危険地帯", "start-mark": "開始線", "common-safe-zone": "共通の安全地帯", "free-zone": "フリーゾーン", platform: "畳の台", "technical-table": "係員席", "centre-tape": "中央のテープ", "kata-judges": "審判員席(正面側)", "coach-chair": "コーチ席", "kata-entry": "入退場口(正面の反対側)", arena: "アリーナの床", "competition-area": "試合場", "boundary-band": "境界の帯", "start-mat": "開始位置のマット", judge: "副審", "between-areas": "試合場の間", "centre-cross": "中央の×印", "kaishi-sen": "開始線", "outer-boundary": "場外の余地", dohyo: "土俵", ring: "土俵の円", tawara: "俵", tokudawara: "徳俵", "shikiri-sen": "仕切り線", "jano-me": "蛇の目", shajo: "射場", "shooting-position": "射位", honza: "本座", yamichi: "矢道", "yatori-michi": "矢取道", azuchi: "安土", mato: "的", kamiza: "上座", shimoza: "下座", shinzen: "神棚", dais: "上座の台", banner: "垂れ幕", entrance: "入口", window: "窓", tatami: "畳", wall: "壁", "inner-lane": "インレーン", "outer-lane": "アウトレーン", "crossing-straight": "交差ストレート", "warm-up-lane": "ウォームアップレーン", padding: "防護マット", infield: "インフィールド", "coaches-area": "コーチエリア", blocks: "ブロック", "track-line": "トラックのライン", "start-lines": "スタートライン", ice: "氷面", "technical-panel": "テクニカルパネル", referee: "レフェリー", "kiss-and-cry": "キス・アンド・クライ", judges: "ジャッジ席", runway: "助走路", "take-off-board": "踏切板", "landing-area": "砂場", "throwing-circle": "投てきサークル", sector: "着地場所", "stop-board": "足留材", cage: "囲い", "throwing-arc": "スターティング・ライン", crossbar: "バー", "landing-mat": "着地マット", "run-up": "助走路", "zero-line": "ゼロライン", box: "ボックス",
|
|
932
|
+
"referee-position": "主審の位置", "shiai-jo": "試合場", floorboard: "床板", heri: "畳縁", "contest-area": "試合場内", "safety-area": "安全地帯", "danger-zone": "危険地帯", "start-mark": "開始線", "common-safe-zone": "共通の安全地帯", "free-zone": "フリーゾーン", platform: "畳の台", "technical-table": "係員席", "centre-tape": "中央のテープ", "kata-judges": "審判員席(正面側)", "coach-chair": "コーチ席", "kata-entry": "入退場口(正面の反対側)", arena: "アリーナの床", "competition-area": "試合場", "boundary-band": "境界の帯", "start-mat": "開始位置のマット", judge: "副審", "between-areas": "試合場の間", "centre-cross": "中央の×印", "kaishi-sen": "開始線", "outer-boundary": "場外の余地", dohyo: "土俵", ring: "土俵の円", tawara: "俵", tokudawara: "徳俵", "shikiri-sen": "仕切り線", "jano-me": "蛇の目", shajo: "射場", "shooting-position": "射位", honza: "本座", yamichi: "矢道", "yatori-michi": "矢取道", azuchi: "安土", mato: "的", kamiza: "上座", "cage-canvas": "キャンバス", "cage-fence": "金網", "cage-post": "パッド付き支柱", "cage-gate": "出入口", "cage-steps": "階段", "cage-platform": "台", shimoza: "下座", shinzen: "神棚", dais: "上座の台", banner: "垂れ幕", entrance: "入口", window: "窓", tatami: "畳", wall: "壁", "inner-lane": "インレーン", "outer-lane": "アウトレーン", "crossing-straight": "交差ストレート", "warm-up-lane": "ウォームアップレーン", padding: "防護マット", infield: "インフィールド", "coaches-area": "コーチエリア", blocks: "ブロック", "track-line": "トラックのライン", "start-lines": "スタートライン", ice: "氷面", "technical-panel": "テクニカルパネル", referee: "レフェリー", "kiss-and-cry": "キス・アンド・クライ", judges: "ジャッジ席", runway: "助走路", "take-off-board": "踏切板", "landing-area": "砂場", "throwing-circle": "投てきサークル", sector: "着地場所", "stop-board": "足留材", cage: "囲い", "throwing-arc": "スターティング・ライン", crossbar: "バー", "landing-mat": "着地マット", "run-up": "助走路", "zero-line": "ゼロライン", box: "ボックス",
|
|
921
933
|
"finish-line": "フィニッシュライン", kerb: "縁石", "lane-lines": "レーンライン", bend: "曲走路", straight: "直走路", "infield-pitch": "サッカーのピッチ", "start-line": "スタートライン", breakline: "ブレイクライン", "water-jump": "水濠", "exchange-zone": "テークオーバーゾーン",
|
|
922
934
|
"seven-metre-line": "7mスローライン", "four-metre-line": "4mライン", "throw-off-area": "スローオフエリア", "restraining-line": "リストレイニングライン", "wing-line": "ウイングライン", "marking-area": "マーキングエリア", "two-point-arc": "2ポイントアーク",
|
|
923
935
|
"lane-rope": "レーンロープ", "lane-line": "床面のレーンライン", "lane-end-cross": "クロスライン", "fifteen-metre-mark": "15mマーク", "touch-pad": "タッチ板", "starting-block": "スタート台", "backstroke-flags": "背泳ぎ用フラッグ", "false-start-rope": "フォルススタートロープ", gutter: "ガター",
|
|
@@ -938,7 +950,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
938
950
|
"in-goal": "インゴール", "twenty-two": "トライラインから22メートルラインまでのエリア", twenty: "ゴールラインから20メートルラインまでのエリア", crease: "クリース", "forward-fifty": "50メートルアークの内側", "centre-square": "センタースクエア",
|
|
939
951
|
"large-rectangle": "大きい長方形", pitch: "ピッチ", circle: "サークル", "twenty-three": "23メートルエリア", "goal-area": "ゴールエリア",
|
|
940
952
|
"pool-end": "プールの端(15mの目印まで)", springboards: "飛板", platforms: "固定台", "centre-stage": "プールの中央(真ん中の3分の1)",
|
|
941
|
-
"contest-area": "試合場内", ring: "土俵の円", shajo: "射場", yamichi: "矢道", azuchi: "安土", kamiza: "上座", "crossing-straight": "交差ストレート", "first-bend": "第1カーブ", "second-bend": "第2カーブ", judges: "ジャッジ席", "kiss-and-cry": "キス・アンド・クライ", bend: "曲走路", "home-straight": "メイン側直走路", "back-straight": "バック・ストレート", finish: "フィニッシュライン", start: "スタート", "high-jump": "走高跳", "pole-vault": "棒高跳", "long-jump": "走幅跳", "triple-jump": "三段跳", "shot-put": "砲丸投", "discus-throw": "円盤投", "hammer-throw": "ハンマー投", "javelin-throw": "やり投", "water-jump": "水濠",
|
|
953
|
+
"contest-area": "試合場内", ring: "土俵の円", shajo: "射場", yamichi: "矢道", azuchi: "安土", kamiza: "上座", cage: "ケージ", gate: "出入口", "crossing-straight": "交差ストレート", "first-bend": "第1カーブ", "second-bend": "第2カーブ", judges: "ジャッジ席", "kiss-and-cry": "キス・アンド・クライ", bend: "曲走路", "home-straight": "メイン側直走路", "back-straight": "バック・ストレート", finish: "フィニッシュライン", start: "スタート", "high-jump": "走高跳", "pole-vault": "棒高跳", "long-jump": "走幅跳", "triple-jump": "三段跳", "shot-put": "砲丸投", "discus-throw": "円盤投", "hammer-throw": "ハンマー投", "javelin-throw": "やり投", "water-jump": "水濠",
|
|
942
954
|
},
|
|
943
955
|
folded: {
|
|
944
956
|
top: "上のハウス", bottom: "下のハウス", left: "左のハウス", right: "右のハウス",
|
|
@@ -968,7 +980,7 @@ export const KYOGIJO_STRINGS = {
|
|
|
968
980
|
announce: "{name}の視点", announceAngle: "向きは{yaw}度、見下ろす角度は{pitch}度です。",
|
|
969
981
|
flat: "このブラウザーでは3D表示ができないため、平面の図を表示しています。",
|
|
970
982
|
standing: "3D表示で立って見えるもの:{list}。", item: "{name} {h}", itemSag: "{name} 支柱の位置で{h}(中央は{low})",
|
|
971
|
-
parts: { scoreboard: "スコアボードの下端", net: "ネット", antennae: "アンテナ", goalposts: "ゴールポスト", netposts: "支柱", hoop: "バスケットゴール", goal: "ゴール", boards: "ボードとガラス", stumps: "ウィケットのスタンプ", pylons: "パイロン", flags: "コーナーフラッグ", fence: "外野フェンス", backstop: "バックネット", "foul-poles": "ファウルポール", "table-legs": "天板", walls: "壁", "starting-blocks": "スタート台", "backstroke-flags": "背泳ぎ用フラッグ", "false-start-rope": "フォルススタートロープ", springboards: "飛板", platforms: "固定台", "judges-stand": "ジャッジ台", hurdles: "ハードル", steeplechase: "障害物", "high-jump": "走高跳の支柱とバー", "pole-vault": "棒高跳の支柱とバー", cage: "円盤投・ハンマー投の囲い", padding: "防護マット", "rink-boards": "フェンス", mound: "土の台", azuchi: "安土", targets: "的", stands: "スタンド", "wall-seats": "壁の上の観客席", roof: "屋根", gallery: "見学席", dais: "上座の台", banner: "垂れ幕", shrine: "神棚", "mat-edge": "畳の厚み", surrounds: "競技エリアのフェンス", officials: "審判席と記録台", judges: "審判員席の名札" },
|
|
983
|
+
parts: { scoreboard: "スコアボードの下端", net: "ネット", antennae: "アンテナ", goalposts: "ゴールポスト", netposts: "支柱", hoop: "バスケットゴール", goal: "ゴール", boards: "ボードとガラス", stumps: "ウィケットのスタンプ", pylons: "パイロン", flags: "コーナーフラッグ", fence: "外野フェンス", backstop: "バックネット", "foul-poles": "ファウルポール", "table-legs": "天板", walls: "壁", "starting-blocks": "スタート台", "backstroke-flags": "背泳ぎ用フラッグ", "false-start-rope": "フォルススタートロープ", springboards: "飛板", platforms: "固定台", "judges-stand": "ジャッジ台", hurdles: "ハードル", steeplechase: "障害物", "high-jump": "走高跳の支柱とバー", "pole-vault": "棒高跳の支柱とバー", cage: "円盤投・ハンマー投の囲い", padding: "防護マット", "rink-boards": "フェンス", mound: "土の台", azuchi: "安土", targets: "的", stands: "スタンド", "wall-seats": "壁の上の観客席", roof: "屋根", gallery: "見学席", dais: "上座の台", banner: "垂れ幕", shrine: "神棚", "mat-edge": "畳の厚み", surrounds: "競技エリアのフェンス", officials: "審判席と記録台", judges: "審判員席の名札", deck: "台", "cage-fence": "金網", "cage-posts": "パッド付き支柱" },
|
|
972
984
|
},
|
|
973
985
|
rules: {
|
|
974
986
|
"defensive-zone": "ディフェンディングゾーン",
|