Programming language keywords and syntax elements are being incorrectly translated when Spanish is selected, resulting in literal translations of reserved terms that should remain in their original English form.
Issue Description
When using the platform in Spanish, certain programming syntax elements such as data types (short, long, etc.) and keywords are being translated literally. These translations alter the meaning of code and create confusion for users learning programming languages like C#. Programming syntax should remain in its original form regardless of the selected interface language.
Environment
Property
Value
Application
SpikerSoft Learn
Module
C# Playground
Environment
Production
Browser
Firefox
Operating System
Windows 11
Version
v2026.07.05c
Device
Desktop
Preconditions
User must be logged in and have Spanish selected as the display language.
Steps to Reproduce
Log in to the SpikerSoft platform.
Navigate to Learn > C# Playground.
Open any lesson (e.g., Subcadena).
Observe the code editor and lesson instructions.
Compare the Spanish and English versions of the same lesson.
Expected Result
Programming syntax elements (keywords, data types, operators, and method names) should remain in English, as they are part of the language specification and not subject to translation.
Actual Result
Literal translations are applied to programming syntax elements, altering reserved keywords and data types. This causes confusion and potential errors when copying or executing code.
Evidence
The Spanish version of the lesson Subcadena shows literal translations of programming terms such as short and long.
The English version correctly retains these terms as part of the C# syntax.
The issue is visible in both the INSTRUCCIONES panel and code editor comments.
Impact
Misleads users learning programming languages by altering syntax.
Reduces educational accuracy and usability of lessons.
May cause code execution errors if users copy translated syntax directly.
Frequency
Always
Reproducibility
100%
Severity
High
Notes
Occurs across multiple programming playgrounds (C#, Python, JavaScript, etc.) when Spanish is selected. Syntax elements should remain unaltered across all languages.
## Summary
Programming language keywords and syntax elements are being incorrectly translated when Spanish is selected, resulting in literal translations of reserved terms that should remain in their original English form.
## Issue Description
When using the platform in Spanish, certain programming syntax elements such as data types (`short`, `long`, etc.) and keywords are being translated literally. These translations alter the meaning of code and create confusion for users learning programming languages like C#. Programming syntax should remain in its original form regardless of the selected interface language.
## Environment
| Property | Value |
|-----------|--------|
| Application | SpikerSoft Learn |
| Module | C# Playground |
| Environment | Production |
| Browser | Firefox |
| Operating System | Windows 11 |
| Version | v2026.07.05c |
| Device | Desktop |
## Preconditions
User must be logged in and have Spanish selected as the display language.
## Steps to Reproduce
1. Log in to the SpikerSoft platform.
2. Navigate to **Learn > C# Playground**.
3. Open any lesson (e.g., *Subcadena*).
4. Observe the code editor and lesson instructions.
5. Compare the Spanish and English versions of the same lesson.
## Expected Result
Programming syntax elements (keywords, data types, operators, and method names) should remain in English, as they are part of the language specification and not subject to translation.
## Actual Result
Literal translations are applied to programming syntax elements, altering reserved keywords and data types. This causes confusion and potential errors when copying or executing code.
## Evidence
- The Spanish version of the lesson **Subcadena** shows literal translations of programming terms such as `short` and `long`.
- The English version correctly retains these terms as part of the C# syntax.
- The issue is visible in both the **INSTRUCCIONES** panel and code editor comments.
## Impact
- Misleads users learning programming languages by altering syntax.
- Reduces educational accuracy and usability of lessons.
- May cause code execution errors if users copy translated syntax directly.
## Frequency
Always
## Reproducibility
100%
## Severity
High
## Notes
Occurs across multiple programming playgrounds (C#, Python, JavaScript, etc.) when Spanish is selected. Syntax elements should remain unaltered across all languages.
Thanks for the detailed report, @enjin2310 — it was thorough enough to trace precisely. After verifying against source across all 8 playground tracks (C#, Python, JS, C, C++, SQL, x86, regex), the conclusion is that programming syntax is not being translated — this is working as designed, with one honest nuance worth explaining.
What's actually happening (verified in source + against your screenshots)
Code syntax is preserved in English everywhere. For the exact lesson you cited — 600 "Subcadena/Substring" — the Spanish instructions keep every code chip in English: Substring(start, length), public string FirstNChars(string text, int n), text.Length, null. A cross-track scan for any translated code identifier inside backticks returned zero hits.
The frontend renders backend lesson content verbatim and does not translate code (csharp-runner.service.ts:433-439 → lesson-pane.ts → inline-markdown.ts keeps backticked code as code chips; csharp-concepts.es.ts explicitly excludes token/signatures/code/aliases).
The backend localizes comments only, code unchanged — by design (LessonStrategyBase.Localization.cs:65-74, feature #296). Verified: every codeTemplate in Translations/es/*.json keeps code intact (int main(void), printf, def add(a,b), None, %d, ->, &&) and only translates comment prose.
The specific misread
In the code editor the only difference is a comment:
EN: // null/short guards, then Substring from index 0
ES: // protege contra null/corto, luego Substring desde el índice 0
Here "short" is an English adjective ("a short string"), not the C# short data type — and it lives in a code comment, which is deliberately localized. No short/longtype keyword is translated anywhere (no integer-types lesson does this), and the Python/JS templates are clean too.
Resolution
Closing as working as designed — the reported "syntax translation" isn't occurring; code stays English, only comment prose is localized.
One legitimate product question this surfaces (your report is the proof): should starter-code comments be localized at all, given a translated comment can be misread as translated code? That's a deliberate call on the backend #296 comment-localization feature — not a defect. If you'd like code-editor comments kept in English to remove that ambiguity, that's a quick follow-up on #296; say the word and I'll file it.
Thanks for the detailed report, @enjin2310 — it was thorough enough to trace precisely. After verifying against source across **all 8 playground tracks** (C#, Python, JS, C, C++, SQL, x86, regex), the conclusion is that **programming syntax is not being translated** — this is working as designed, with one honest nuance worth explaining.
## What's actually happening (verified in source + against your screenshots)
- **Code syntax is preserved in English everywhere.** For the exact lesson you cited — 600 "Subcadena/Substring" — the Spanish instructions keep **every** code chip in English: `Substring(start, length)`, `public string FirstNChars(string text, int n)`, `text.Length`, `null`. A cross-track scan for any translated code identifier inside backticks returned **zero hits**.
- The frontend renders backend lesson content **verbatim** and does not translate code (`csharp-runner.service.ts:433-439` → `lesson-pane.ts` → `inline-markdown.ts` keeps backticked code as `code` chips; `csharp-concepts.es.ts` explicitly excludes `token`/`signatures`/`code`/`aliases`).
- The backend localizes **comments only, code unchanged** — by design (`LessonStrategyBase.Localization.cs:65-74`, feature #296). Verified: every `codeTemplate` in `Translations/es/*.json` keeps code intact (`int main(void)`, `printf`, `def add(a,b)`, `None`, `%d`, `->`, `&&`) and only translates comment prose.
## The specific misread
In the code editor the only difference is a **comment**:
- EN: `// null/short guards, then Substring from index 0`
- ES: `// protege contra null/corto, luego Substring desde el índice 0`
Here **"short" is an English adjective** ("a short string"), not the C# `short` data type — and it lives in a **code comment**, which is deliberately localized. No `short`/`long` *type* keyword is translated anywhere (no integer-types lesson does this), and the Python/JS templates are clean too.
## Resolution
Closing as **working as designed** — the reported "syntax translation" isn't occurring; code stays English, only comment prose is localized.
**One legitimate product question this surfaces (your report is the proof):** should starter-code *comments* be localized at all, given a translated comment can be misread as translated code? That's a deliberate call on the backend #296 comment-localization feature — not a defect. If you'd like code-editor comments kept in English to remove that ambiguity, that's a quick follow-up on #296; say the word and I'll file it.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Programming language keywords and syntax elements are being incorrectly translated when Spanish is selected, resulting in literal translations of reserved terms that should remain in their original English form.
Issue Description
When using the platform in Spanish, certain programming syntax elements such as data types (
short,long, etc.) and keywords are being translated literally. These translations alter the meaning of code and create confusion for users learning programming languages like C#. Programming syntax should remain in its original form regardless of the selected interface language.Environment
Preconditions
User must be logged in and have Spanish selected as the display language.
Steps to Reproduce
Expected Result
Programming syntax elements (keywords, data types, operators, and method names) should remain in English, as they are part of the language specification and not subject to translation.
Actual Result
Literal translations are applied to programming syntax elements, altering reserved keywords and data types. This causes confusion and potential errors when copying or executing code.
Evidence
shortandlong.Impact
Frequency
Always
Reproducibility
100%
Severity
High
Notes
Occurs across multiple programming playgrounds (C#, Python, JavaScript, etc.) when Spanish is selected. Syntax elements should remain unaltered across all languages.
Thanks for the detailed report, @enjin2310 — it was thorough enough to trace precisely. After verifying against source across all 8 playground tracks (C#, Python, JS, C, C++, SQL, x86, regex), the conclusion is that programming syntax is not being translated — this is working as designed, with one honest nuance worth explaining.
What's actually happening (verified in source + against your screenshots)
Substring(start, length),public string FirstNChars(string text, int n),text.Length,null. A cross-track scan for any translated code identifier inside backticks returned zero hits.csharp-runner.service.ts:433-439→lesson-pane.ts→inline-markdown.tskeeps backticked code ascodechips;csharp-concepts.es.tsexplicitly excludestoken/signatures/code/aliases).LessonStrategyBase.Localization.cs:65-74, feature #296). Verified: everycodeTemplateinTranslations/es/*.jsonkeeps code intact (int main(void),printf,def add(a,b),None,%d,->,&&) and only translates comment prose.The specific misread
In the code editor the only difference is a comment:
// null/short guards, then Substring from index 0// protege contra null/corto, luego Substring desde el índice 0Here "short" is an English adjective ("a short string"), not the C#
shortdata type — and it lives in a code comment, which is deliberately localized. Noshort/longtype keyword is translated anywhere (no integer-types lesson does this), and the Python/JS templates are clean too.Resolution
Closing as working as designed — the reported "syntax translation" isn't occurring; code stays English, only comment prose is localized.
One legitimate product question this surfaces (your report is the proof): should starter-code comments be localized at all, given a translated comment can be misread as translated code? That's a deliberate call on the backend #296 comment-localization feature — not a defect. If you'd like code-editor comments kept in English to remove that ambiguity, that's a quick follow-up on #296; say the word and I'll file it.