Skip to content

fix(i18n): disambiguate paid feature availability keys#2134

Merged
UnschooledGamer merged 2 commits into
Acode-Foundation:mainfrom
UnschooledGamer:fix/i18n-disambiguate-paid-feature-keys
May 27, 2026
Merged

fix(i18n): disambiguate paid feature availability keys#2134
UnschooledGamer merged 2 commits into
Acode-Foundation:mainfrom
UnschooledGamer:fix/i18n-disambiguate-paid-feature-keys

Conversation

@UnschooledGamer
Copy link
Copy Markdown
Member

@UnschooledGamer UnschooledGamer commented May 26, 2026

Summary

  • rename i18n key Feature not available to Feature available in paid version across locale files
  • add a new Feature not available key directly above it in each locale with localized messaging

Why

This change avoids confusion while using i18n keys by clearly separating generic feature unavailability from paid-only availability messaging.

Notes

  • updated 31 language JSON files under src/lang
  • no behavior changes outside localization strings

Rename the ambiguous i18n key to feature available in paid version and add a dedicated feature not available key in all locale files.

This avoids confusion while using i18n keys by separating generic unavailability from paid-only messaging.
@github-actions github-actions Bot added enhancement New feature or request translations Anything related to Translations Whether a Issue or PR labels May 26, 2026
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 26, 2026

Greptile Summary

This PR disambiguates two previously conflated i18n keys across all 31 locale files: the old "feature not available" key (which carried a "paid version only" message) is split into a generic "feature not available" and a new "feature available in paid version" key. The TypeScript type definition is updated to match.

  • All 31 locale JSON files receive both keys; "feature not available" now carries a generic "this feature is unavailable" message while the paid-version message moves to the new key.
  • The only existing JS callsites (terminalSettings.js lines 242 and 246) already use "feature not available" in system-level unavailability contexts, so they now show the semantically correct generic message.
  • "feature available in paid version" is added to every locale and to index.d.ts but is not yet referenced by any JavaScript source file — it appears to be a preparatory key for future use.

Confidence Score: 5/5

Safe to merge — purely additive i18n changes with no logic alterations; existing callsites get a more accurate generic message.

The change is limited to locale JSON files and the TypeScript type definition. Existing runtime behavior in terminalSettings.js is actually improved (correct generic message instead of a misleading paid-version message). The new key is unused but harmless.

No files require special attention; all 31 locale files follow the same consistent pattern.

Important Files Changed

Filename Overview
src/lang/en-us.json Reference locale updated correctly: "feature not available" changed to generic message and new "feature available in paid version" key added.
src/lang/index.d.ts TypeScript type definition correctly extended with the new "feature available in paid version" key.
src/lang/ir-fa.json "feature not available" is now localized; "feature available in paid version" remains English — acknowledged in prior thread as acceptable for now.
src/lang/ar-ye.json Both keys fully translated into Arabic.
src/lang/ko-kr.json "feature not available" localized to Korean; "feature available in paid version" left in English (same as ir-fa, tr-tr, uz-uz, mm-* — acknowledged).

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["strings lookup in JS code"] --> B{"Which key?"}
    B -->|"feature not available"| C["Generic: 'This feature is not available.'"]
    B -->|"feature available in paid version"| D["Paid: 'This feature is only available in paid version.'"]
    E["terminalSettings.js L242 / L246"] --> B
    F["(no callsite yet)"] -.->|future use| D
    C --> G["alert shown to user"]
    D -.-> H["(never shown — key unused)"]
Loading

Reviews (2): Last reviewed commit: "update: lang TS declaration file" | Re-trigger Greptile

Comment thread src/lang/ir-fa.json
@UnschooledGamer
Copy link
Copy Markdown
Member Author

@greptileai review again.

@UnschooledGamer UnschooledGamer merged commit b60058a into Acode-Foundation:main May 27, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community enhancement New feature or request translations Anything related to Translations Whether a Issue or PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant