Description
All user-facing text is hardcoded in English with no internationalization (i18n) or localization (l10n) support. This limits accessibility for non-English speakers.
Scope
Affects all UIs:
- CLI (JNexus.java): Command help text, error messages
- Swing GUI (JNexusSwing.java): All labels, buttons, dialogs
- AWT GUI (JNexusAWT.java): All UI text
- Terminal UI (JNexusUI.java): All prompts and labels
- Android (Kotlin screens): All UI strings
- iOS/macOS (Swift screens): All UI text
Current State
All strings hardcoded:
JOptionPane.showMessageDialog(frame,
"Please configure credentials first.",
"Missing Configuration",
JOptionPane.WARNING_MESSAGE);
Impact
- Global reach: Cannot serve non-English users
- Accessibility: Language barrier for international developers
- Professional quality: Limits enterprise adoption in non-English regions
- Maintenance: String changes require code changes
Recommended Approach
For Java (Desktop):
Use ResourceBundle:
// src/main/resources/messages.properties
error.missing.config=Please configure credentials first.
dialog.title.missing.config=Missing Configuration
// src/main/resources/messages_es.properties (Spanish)
error.missing.config=Por favor configure las credenciales primero.
dialog.title.missing.config=Configuración Faltante
// In code:
ResourceBundle bundle = ResourceBundle.getBundle("messages");
JOptionPane.showMessageDialog(frame,
bundle.getString("error.missing.config"),
bundle.getString("dialog.title.missing.config"),
JOptionPane.WARNING_MESSAGE);
For Android:
Use strings.xml:
<!-- res/values/strings.xml (English) -->
<string name="error_missing_config">Please configure credentials first.</string>
<!-- res/values-es/strings.xml (Spanish) -->
<string name="error_missing_config">Por favor configure las credenciales primero.</string>
<!-- In Compose -->
Text(text = stringResource(R.string.error_missing_config))
For iOS/macOS:
Use Localizable.strings:
// en.lproj/Localizable.strings
"error.missing.config" = "Please configure credentials first.";
// es.lproj/Localizable.strings
"error.missing.config" = "Por favor configure las credenciales primero.";
// In code
Text(NSLocalizedString("error.missing.config", comment: ""))
Priority
Low - feature enhancement for future versions
- Not blocking current functionality
- Important for global adoption
- Consider for v2.0 or major release
Suggested Languages
Start with most common:
- English (default/current)
- Spanish
- French
- German
- Japanese
- Chinese (Simplified)
Related
Description
All user-facing text is hardcoded in English with no internationalization (i18n) or localization (l10n) support. This limits accessibility for non-English speakers.
Scope
Affects all UIs:
Current State
All strings hardcoded:
Impact
Recommended Approach
For Java (Desktop):
Use ResourceBundle:
For Android:
Use strings.xml:
For iOS/macOS:
Use Localizable.strings:
Priority
Low - feature enhancement for future versions
Suggested Languages
Start with most common:
Related