Skip to content

Code Quality: i18n infrastructure exists but is completely unused (dead code) #51

@sfloess

Description

@sfloess

Description

Complete i18n infrastructure was added (Messages.java, resource bundles for 4 languages) but is never actually used anywhere in the codebase. All UI strings remain hardcoded.

Files Added But Unused

Java infrastructure:

  • src/main/java/org/flossware/jnexus/Messages.java (150+ lines)

Resource bundles (4 languages):

  • src/main/resources/messages.properties (English)
  • src/main/resources/messages_de.properties (German)
  • src/main/resources/messages_es.properties (Spanish)
  • src/main/resources/messages_fr.properties (French)

Evidence of Non-Usage

No imports:

$ grep -r "import.*Messages" src/main/java --include="*.java"
# No results (Messages.java only imports itself)

No method calls:

$ grep -n "Messages\.get\|Messages\.format" src/main/java/*.java
# Only 2 results - both are example comments in Messages.java itself

UI still hardcoded:

// JNexusSwing.java - all strings hardcoded
JButton listButton = new JButton("List");
JButton refreshButton = new JButton("Refresh");
JButton deleteButton = new JButton("Delete");
// Should be:
// JButton listButton = new JButton(Messages.get("button.list"));

Git History

commit 30dad6d
feat: Add i18n/l10n foundation with English resource bundle - Partial #45

Marked as "Partial" but no follow-up commits to actually integrate it.

Impact

Options

Option 1: Complete the implementation (recommended)

Option 2: Remove dead code

Option 3: Document as in-progress

  • Add JavaDoc to Messages.java explaining it's not yet integrated
  • Add TODO comments in UI code where Messages should be used
  • Keep infrastructure for easier future implementation

Recommendation

Complete the implementation or remove it. Half-done features create technical debt.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions