Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .dev/PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -390,9 +390,11 @@ new-language adopter can go from zero to a working target repo following only pu
- [ ] **#61** — create the `quantecon-services` PAT, grant repo access, rotate secrets in the
~6 workflow repos (pure ops; recent translation PRs still author as `mmcky`)
- [ ] **#7** — resolve alongside the `presentations/` decision in Phase 7
- [ ] For PRs **#68** (fr) / **#69** (ja): before merge, add the missing `LANGUAGE_CONFIGS`
- [x] For PRs **#68** (fr) / **#69** (ja): before merge, add the missing `LANGUAGE_CONFIGS`
entries (Copilot's catch — a glossary alone does not enable a language), resolve the
flagged term-choice judgment calls with native speakers, rebase whichever lands second
— #68 merged 2026-07-14; #69 rebuilt on main 2026-09-01 with the `ja` config entry and
the native-review edits applied (72 terms), awaiting the reviewers' confirming pass

**Done when**: open-issue list contains only live work; translation PRs author as
`quantecon-services`.
2 changes: 1 addition & 1 deletion .dev/STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ Roadmap detail lives in the work-plan tracker **#257**, not here (PLAN.md predat
guard. **Resync moratorium until the guard lands.**
- **Malayalam** — first-class harness language (26/26); its two seed reference
translations await native review (#207); benchmark Phase 1 (#194) unrun.
- **Glossary PR #69** (ja) — open, awaiting native review + a `LANGUAGE_CONFIGS` entry.
- **Glossary PR #69** (ja) — native review complete (thread 2026-07-29 → 08-18); rebuilt on main 2026-09-01 with the `ja` `LANGUAGE_CONFIGS` entry and 72 review edits applied (`ja.json` v1.1, decision `D-2026-09-01-ja-terminology-policy`); awaiting the reviewers' confirming pass, then merge.

## Recently landed

Expand Down
39 changes: 39 additions & 0 deletions .dev/decisions/D-2026-09-01-ja-terminology-policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Japanese: standard term where one exists, English otherwise, if in doubt English

**Context**: The Japanese glossary (PR #69) was machine-drafted in June 2026 and put to
native-speaker review. Four reviewers converged between 2026-07-29 and 2026-08-18 — a
whole-glossary pass by Chihiro2000GitHub (native speaker), confirmations by sayaikegawa
and xuanguang-li, policy rulings by jstac. Their reasoning: Japanese undergraduates read
Japanese sentences with English technical words comfortably (value function, Bellman
equation, per Abe's Hitotsubashi DP notes), so a forced Japanese rendering costs more in
naturalness than it gains; but a well-known standard term (予算制約, 行列, 均衡) is more
familiar than the English and must be used. Relevant to every future language that sits
between the full-translation pattern (`zh-cn`, `fa`, `fr`) and keep-English-dominant
(`ml`). #promote

**Decision**: For `ja`, use the Japanese term only where a well-known, standard Japanese
counterpart exists; otherwise keep the English term in Latin script — *if in doubt, keep
English*. Where only the generic head noun has a Japanese equivalent, keep the proper-name
part English and translate the head noun (`lake モデル`, `cost-to-go 関数`). All personal
names stay in Latin script — no katakana transliteration and no guessed kanji, Japanese and
Chinese researchers included (jstac's own name is the counter-example: the model's guess
スタチャースキー vs the form he actually uses, スタハースキー). Compound names join with ・,
never =. Abbreviations expand on first use to the full Japanese term with the English
acronym in full-width parentheses (国内総生産(GDP)). Named datasets and surveys keep their
English name (FRED, Survey of Consumer Finances — 消費者金融調査 means the consumer-lending
industry). Policy carried both in `glossary/ja.json` (v1.1, every name `ja == en`) and as
seven `ja` prompt rules in `language-config.ts`, so the two pull the same way on terms the
glossary does not cover.

**Consequences**: 72 glossary edits applied to the v1.0 draft (42 names, 6 English
reversions, 14 term corrections, 5 resolved questions, 2 ・ joins, 2 Wikipedia cross-check
adoptions); tests pin the name and ・ invariants. Deliberately *not* changed: input-output
model stays 産業連関モデル (Wikipedia's 産業連関表 is the table, not the model); market
clearing stays 市場清算 (市場均衡 would collide with equilibrium → 均衡). Open follow-up
(jstac 2026-08-17/19): a first-pass automation — cross-check candidate terms against
Japanese Wikipedia, revert to English if still unsure, flag for native review — is a
separate issue, not part of #69.

**Refs**: PR #69 (thread 2026-07-29 → 2026-08-19), xuanguang-li's Wikipedia cross-check
(268/357 found, 3 differences), `D-2026-06-01-malayalam-keep-english-policy` for the
adjacent keep-English-dominant ruling.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- **Japanese (`ja`) is a configured target language with a native-speaker-reviewed glossary** (#69): `glossary/ja.json` v1.1 — 357 terms mirroring the `zh-cn` / `fa` term set — and a `LANGUAGE_CONFIGS` entry, so `target-language: ja` validates and the glossary loads automatically. The v1.0 draft opened for review in June; four reviewers (Chihiro2000GitHub's whole-glossary pass, sayaikegawa, xuanguang-li, and jstac's policy rulings) settled one rule between July 29 and August 18 — *Japanese where a well-known, standard Japanese counterpart exists, English otherwise; if in doubt, English* — and v1.1 applies it: all 42 personal names revert to Latin script (no katakana transliteration, no guessed kanji — jstac's own name was the counter-example); six terms with no established Japanese form go back to English or keep the proper-name part English (`lake モデル`, `cost-to-go 関数`, `Forcing variable`, `Forward-looking difference equation`, `Authority centrality`, `Survey of Consumer Finances` — 消費者金融調査 means the consumer-*lending* industry); fourteen term corrections from the review table (固有値分解, カーネル, 逆行列の計算, マネタリストの不愉快な算術, 真正手形説, …); the resolved questions (コミュニケートする状態, 状態条件付き請求権, 相補累積分布関数(CCDF), 改革開放 for the PRC's "reform and liberalization", 市場清算 kept because 市場均衡 would collide with equilibrium → 均衡); ・ rather than = in every compound name; and two Wikipedia cross-check adoptions (限界収益, 割引現在価値). The same policy is carried into the prompt as seven `ja` rules (typography, keep-English-when-in-doubt, names in Latin script, ・ joins, abbreviation expansion) so the glossary and the rules pull the same way on terms the glossary does not cover. Guards: the glossary test suite gains a `ja.json` block (en/ja present, no duplicate keys, term set identical to `zh-cn`, every name `ja == en`, no =); the docs drift tests cover the new language. Decision record `.dev/decisions/D-2026-09-01-ja-terminology-policy.md`.

## [0.27.0] - 2026-09-01

### Added
Expand Down
25 changes: 18 additions & 7 deletions dist-action/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -26463,15 +26463,26 @@ var LANGUAGE_CONFIGS = {
"Use a natural classroom/educational register, not a formal government-gazette style; where a Malayalam word genuinely aids comprehension for a borderline non-technical concept, it may be given with the English in parentheses on first use (e.g. \u0D2C\u0D28\u0D4D\u0D27\u0D02 (relationship)) \u2014 use sparingly",
"English-retained terms carrying Malayalam case-suffixes (relationships-\u0D7D, concepts-\u0D28\u0D4D\u0D31\u0D46, NumPy-\u0D2F\u0D41\u0D1F\u0D46) and English section headings are the REQUIRED form of compliant Malayalam prose under this policy \u2014 never treat them as partial translation, untranslated content, or a terminology inconsistency"
]
},
ja: {
code: "ja",
name: "Japanese",
// Terminology policy from the native-speaker review of the glossary draft on
// PR #69 (2026-07-29 → 2026-08-18): whole-glossary pass by Chihiro2000GitHub
// (native speaker), confirmations by sayaikegawa and xuanguang-li, policy
// rulings by jstac. Recorded in
// .dev/decisions/D-2026-09-01-ja-terminology-policy.md.
additionalRules: [
"Use proper full-width Japanese punctuation marks (\u3001\u3002\u300C\u300D) not ASCII punctuation (,.) in prose text",
"Always insert a space between Japanese characters and inline MyST directives ({doc}, {ref}, {any}, {term}, etc.) or Markdown links ([text](url))",
"Use the Japanese term only where a well-known, standard Japanese counterpart exists (e.g. \u4E88\u7B97\u5236\u7D04 for budget constraint, \u884C\u5217 for matrix, \u5747\u8861 for equilibrium, \u4E16\u4EE3\u91CD\u8907\u30E2\u30C7\u30EB for the OLG model); otherwise keep the English term in Latin script \u2014 if in doubt, keep English. Japanese readers of economics are comfortable with English technical words inside Japanese sentences (value function, Bellman equation)",
"Where only the generic head noun has a Japanese equivalent, keep the proper-name part in English and translate the head noun (lake \u30E2\u30C7\u30EB, cost-to-go \u95A2\u6570) \u2014 never invent a katakana rendering for a term that has no established Japanese form",
"Keep ALL personal names in Latin script exactly as in the source (Robert Solow, not \u30ED\u30D0\u30FC\u30C8\u30FB\u30BD\u30ED\u30FC) \u2014 do not transliterate names to katakana, and never guess kanji for Japanese or Chinese researchers",
"Join the parts of a compound name with \u30FB (\u30BD\u30ED\u30FC\u30FB\u30B9\u30EF\u30F3\u6210\u9577\u30E2\u30C7\u30EB, \u30B3\u30D6\u30FB\u30C0\u30B0\u30E9\u30B9\u578B\u751F\u7523\u95A2\u6570, \u30CF\u30DF\u30EB\u30C8\u30F3\u30FB\u30E4\u30B3\u30D3\u30FB\u30D9\u30EB\u30DE\u30F3\u65B9\u7A0B\u5F0F), never with \uFF1D",
"On first use, render an abbreviation as the full Japanese term with the English abbreviation in full-width parentheses (\u56FD\u5185\u7DCF\u751F\u7523\uFF08GDP\uFF09, \u6700\u5C0F\u4E8C\u4E57\u6CD5\uFF08OLS\uFF09), then the abbreviation alone; named datasets and surveys keep their English name (FRED, Survey of Consumer Finances)"
]
}
// Future language configurations can be added here:
// 'ja': {
// code: 'ja',
// name: 'Japanese',
// additionalRules: [
// 'Use proper Japanese punctuation marks (、。「」)',
// ],
// },
// 'es': {
// code: 'es',
// name: 'Spanish',
Expand Down
Loading
Loading