Create a Japanese (ja) translation
- Dominant language
- Rust
- Stars
- 114
- Forks
- 85
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 42
Description
## What is missing
`Rules/Languages/` currently contains `de el en es fi fr hu id nb pl ru sv vi zh` plus the `zz` template — there is no `ja`. `Rules/Braille/` contains ASCIIMath, CMU, French, LaTeX, Nemeth, Russian, Swedish, UEB and Vietnam — there is no Japanese math braille code either.
The practical effect is that Japanese screen reader users get no math speech in their own language from MathCAT.
I searched the tracker for existing Japanese requests (open and closed) and found none, so I am opening one following the pattern of #466 (Catalan), #257 (Italian) and #548 (Portuguese).
## Background
I am a native Japanese speaker and I would like to take this on. I contributed #665 to this repo earlier this year, so I am somewhat familiar with the codebase, though I have not worked on the rule files before.
I have read the translator's guide (https://daisy.github.io/MathCAT/helpers.html) and `AGENTS.md`, including the `t:` / `T:` convention and `uv run --project PythonScripts audit-translations`. I understand the guide's estimate that a thorough TTS translation is on the order of 300–450 hours and that it needs review by someone with a mathematics background followed by user testing, so I am not treating this as a quick patch.
## Questions before I start
1. **Seeding.** For Catalan you created a `ca` branch with an initial seeding and had the translator correct the strings from there (#466). Would you like to do the same for `ja`, or would you prefer that I open a PR adding `Rules/Languages/ja` myself?
2. **Which language to start from.** The guide recommends starting from a grammatically similar language when one exists. I do not think any of the current languages is a good base for Japanese: word order is subject-object-verb, and quantities are expressed with counter words that vary with the kind of object being counted, so `zh` is less close than it may appear. My plan is to start from `en` with `zz` as the structural reference, unless you advise otherwise.
3. **Braille.** #232 invites an issue from anyone willing to help with an additional braille code. Japanese mathematics braille is a separate and substantial piece of work. Would you prefer that tracked as its own issue when the speech work is far enough along, or kept here?
Happy to adjust the plan to whatever fits your process best.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the translator's guide, AGENTS.md, Rules/Languages/zz, and the existing language directories; review the t:/T: convention and run `uv run --project PythonScripts audit-translations`. Clarify the seeding process, English-versus-zz starting point, and whether Japanese braille belongs here. Done requires a reviewed Japanese speech translation, user testing, and an agreed scope for Japanese math braille.
Written by the indexing model from the issue text.
Assessment
- Domain
- accessibility, localization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100