ja: read the function-application of as オブ - #731
Merged
Conversation
These are the sites the first two commits could not reach while daisy#730 was open — the square root in ClearSpeak_Rules, SimpleSpeak_Rules, SharedRules/general and overview — plus three where the connector was fused into the preceding word, so grepping for a standalone one missed them: ∆ and √ in unicode.yaml, and the square-root-of prefix in definitions.yaml. en reads "laplacian of" and "square root of" as two words in those same places. The exponent readings keep の: 3 の 2 乗 is ordinary Japanese and correct, as are 分の, 正の and 負の. SharedRules/calculus.yaml is brought in line too, but it is dormant — neither ja nor en includes it, only fi, es, vi, sv, id and zh-tw do. Its four operators reach speech through the function= entries in definitions.yaml instead, and that is the path the new test covers. Two of the four had lost the connector in this file altogether while the two beside them kept it. Left alone on purpose: 順列の in SharedRules/general.yaml. en reads "permutations of" there, but that rule already reverses its two arguments, so the right Japanese wording is a decision rather than a swap.
yasumorishima
force-pushed
the
ja-function-of
branch
from
September 1, 2026 16:27
c830215 to
cb952bd
Compare
yasumorishima
marked this pull request as ready for review
September 1, 2026 16:27
moritz-gross
pushed a commit
that referenced
this pull request
Sep 3, 2026
The pochhammer speech rule (reached from the nPk P-notation intents) copied
the en argument reversal and glued 順列の between the arguments, so 5 P 2 was
spoken as 2 順列の 5 — word salad in Japanese. en says "2 permutations of 5"
after Wikipedia's "k-permutations of n"; nb and sv rebuilt the phrase
entirely ("antalet permutationer av 2 element ur 5"). Japanese has a
standard school phrase that reads the notation in display order, so the
reversal is simply not needed: 5 個から 2 個取る順列, "permutations taking
2 out of 5".
The rule is marked audit-ignore the way nb's is, since the x:/T: sequence no
longer mirrors en. A speech test covers the msubsup form in ClearSpeak and
SimpleSpeak. audit-translations: untranslated text 3674 -> 3673, rule
differences 28 -> 28, missing/extra rules 0 -> 0.
This is the item #731's description left alone on purpose (順列の — "the
right Japanese wording is a decision rather than a swap").
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016JCoREgn1pJzcbdnUx4iuh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follows #730 on the
jabranch. Same defect as the absolute value in #725 and the large operators in #726, but in the generic rules, so it covers every function application at once.Rebased onto
janow that #728, #730 and #733 have landed, and extended to the sites I was holding back while they were open.の does not mean "of" here
sin xwas readサイン の x. Japanese の attaches the other way round, so that parses as "the sine belonging to x" — the operand ends up modifying the function name rather than being applied to it. The same reading appeared for roots (ルート の x) and for any uncaught intent throughfunction-intent.Yamaguchi, Kawane and Sawazaki (1996) introduce オブ as a borrowed preposition for exactly this position (item 3), and item 6 spells the readings out:
ログ底 a オブ xfor a logarithm andサイン・インバース(オブ)xfor an inverse function. Item 1 says not to reorder into Japanese word order, so the fix is to keep the order and swap the connective.There are two paths, not one
Changing
SharedRules/default.yamlfixed the gradient but not the sine. The sine goes through the invisible function-apply character instead:unicode.yamlgives U+2061 a conditional reading when it follows a trig function or a geometry shape. Both paths are オブ:SharedRules/default.yaml—root,root-with-index,apply-function,function-intentunicode.yaml— U+2061Three sites had the connective fused into the word
Grepping for a standalone
t: "の"does not find them, which is why they survived the first pass:∆and√inunicode.yaml, and thesquare-root-ofprefix indefinitions.yaml. en readslaplacian ofandsquare root ofas two words in the same places.The square root in
ClearSpeak_Rules.yaml,SimpleSpeak_Rules.yaml,SharedRules/general.yamlandoverview.yamlis the same defect; those files were in #730, so they are here rather than in a conflict.SharedRules/calculus.yaml is dormant, and fixed anyway
Neither
janorenincludes that file — only fi, es, vi, sv, id and zh-tw do. Its four vector calculus operators reach speech through thefunction=entries indefinitions.yamlinstead, and that is whatvector_calculus_operatorscovers. Two of the four,divergenceandgradient, had lost the connective incalculus.yamlaltogether whilelaplacianandcurlbeside them kept theirs, so I brought all four in line rather than leave a file that is wrong the day someone includes it. Please say if you would rather I dropped that hunk.What was deliberately left alone
のis correct Japanese in most of the places it appears and must stay. The exponent reading added in #721 —3 の 2 乗, "3 to the 2nd power" — is ordinary Japanese, as are分のin fractions and正の/負の. A blanket replacement would have broken all of them, so each site is matched individually.順列のinSharedRules/general.yamlis left for now. en readspermutations ofthere, but the rule already reverses its two arguments, so the right Japanese wording is a decision rather than a swap, and I would rather not fold a judgement call into a mechanical one.unicode-full.yamlis untouched, since you mentioned in #715 that it can be seeded from the MathPlayer Japanese data.Checks
audit-translations jais unchanged against the currentja: 3674 untranslated, 28 rule differences, on both. Test expectations are the actual CI output, including the comma the engine inserts inコタンジェント, オブ x.