You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
StemDeck ships English, Polish, Japanese, Simplified Chinese, German, French, Portuguese (Brazil and Portugal) and Indonesian. It does not ship Spanish.
By speaker count that is the largest gap in the set, and it is not a close call. Anyone who works in Spanish opens a fully translated app in a language they did not pick, with no indication that the absence is an oversight rather than a decision.
Why it is not just another table
The bar here is not a string dump, and #415 already established why. Spanish runs noticeably longer than English, which is the same pressure that forced the language dropdown and device select to be widened. A translation that is correct and overflows is still a regression, and the places it would show first are the settings tabs and the mixer.
There is also vocabulary that goes wrong when translated literally rather than by someone who has stood in a studio. Two English pairs collapse into one Spanish word and have to be pulled apart deliberately:
track and stems both want to become "pista", across roughly 60 and 53 keys respectively
key and pitch both want to become "tono"
And several terms are spoken in English by Spanish-speaking musicians. Mute, Solo, Fader, Loop, Click and Stems read as jargon translated and as normal speech left alone, while full sentences around them still have to read naturally.
Constraints for a fix
Full key parity against the English table, verified rather than assumed. The parity script in .claude/rules/i18n.md compares plural families, not raw keys, because the per-language buckets differ on purpose.
Spanish has no few/many bucket. plural() only routes those for Polish, so Spanish takes one/other, the same shape as German and Portuguese.
Placeholders must survive. A {count} dropped in translation produces a literal brace in the UI and no error anywhere.
One neutral table rather than regional variants, which means avoiding vocabulary that marks it as Spain or Latin America specifically.
The problem
StemDeck ships English, Polish, Japanese, Simplified Chinese, German, French, Portuguese (Brazil and Portugal) and Indonesian. It does not ship Spanish.
By speaker count that is the largest gap in the set, and it is not a close call. Anyone who works in Spanish opens a fully translated app in a language they did not pick, with no indication that the absence is an oversight rather than a decision.
Why it is not just another table
The bar here is not a string dump, and #415 already established why. Spanish runs noticeably longer than English, which is the same pressure that forced the language dropdown and device select to be widened. A translation that is correct and overflows is still a regression, and the places it would show first are the settings tabs and the mixer.
There is also vocabulary that goes wrong when translated literally rather than by someone who has stood in a studio. Two English pairs collapse into one Spanish word and have to be pulled apart deliberately:
And several terms are spoken in English by Spanish-speaking musicians. Mute, Solo, Fader, Loop, Click and Stems read as jargon translated and as normal speech left alone, while full sentences around them still have to read naturally.
Constraints for a fix
.claude/rules/i18n.mdcompares plural families, not raw keys, because the per-language buckets differ on purpose.few/manybucket.plural()only routes those for Polish, so Spanish takesone/other, the same shape as German and Portuguese.{count}dropped in translation produces a literal brace in the UI and no error anywhere._detectDefaultneeds a branch or the table ships unreachable. See French never gets picked automatically, and nothing would catch the next one #467, which is the same gap for French.Offered and drafted by @diegoarusso in #447.