Skip to content

Reorder some localization keys#15005

Merged
calixtus merged 7 commits into
mainfrom
fix-localization
Feb 2, 2026
Merged

Reorder some localization keys#15005
calixtus merged 7 commits into
mainfrom
fix-localization

Conversation

@koppor

@koppor koppor commented Feb 2, 2026

Copy link
Copy Markdown
Member

User description

Main failed

grafik

But I think, it was on a branch.

Nevertheless, I re-grouped some localization keys.

Mandatory checks

  • I own the copyright of the code submitted and I license it under the MIT license
  • [/] I manually tested my changes in running JabRef (always required)
  • [/] I added JUnit tests for changes (if applicable)
  • [/] I added screenshots in the PR description (if change is visible to the user)
  • [/] I described the change in CHANGELOG.md in a way that is understandable for the average user (if change is visible to the user)
  • [/] I checked the user documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request updating file(s) in https://github.com/JabRef/user-documentation/tree/main/en.

PR Type

Enhancement


Description

  • Reorganized localization keys into semantic groups

  • Moved grouping-related keys under new "# Grouping" section

  • Moved preferences-related keys under new "# Preferences" section

  • Fixed capitalization in sort subgroups messages (descending/ascending)


Diagram Walkthrough

flowchart LR
  A["Scattered localization keys"] -- "Group by category" --> B["Grouping section"]
  A -- "Group by category" --> C["Preferences section"]
  D["Capitalization fixes"] -- "Apply to sort messages" --> E["Consistent formatting"]
  B --> F["Organized properties file"]
  C --> F
  E --> F
Loading

File Walkthrough

Relevant files
Formatting
StandardActions.java
Fix capitalization in sort subgroups messages                       

jabgui/src/main/java/org/jabref/gui/actions/StandardActions.java

  • Changed capitalization in two sort subgroups messages from
    "Descending"/"Ascending" to "descending"/"ascending"
  • Ensures consistent lowercase formatting for these UI labels
+2/-2     
Enhancement
JabRef_en.properties
Reorganize localization keys into semantic sections           

jablib/src/main/resources/l10n/JabRef_en.properties

  • Removed scattered localization entries from various locations in the
    file
  • Created new "# Grouping" section consolidating 60+ group-related
    localization keys
  • Created new "# Preferences" section consolidating 20+
    preferences-related localization keys
  • Reorganized keys for better maintainability and logical grouping
  • Fixed capitalization in sort subgroups messages (descending/ascending)
+96/-151

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Reconsider large-scale localization file reorganization

The large-scale reorganization of the JabRef_en.properties file is disruptive
and can cause merge conflicts and break git blame. Consider alternatives like
automated alphabetical sorting or splitting the file into smaller,
domain-specific ones.

Examples:

jablib/src/main/resources/l10n/JabRef_en.properties [1-3447]
Unable\ to\ monitor\ file\ changes.\ Please\ close\ files\ and\ processes\ and\ restart.\ You\ may\ encounter\ errors\ if\ you\ continue\ with\ this\ session.=Unable to monitor file changes. Please close files and processes and restart. You may encounter errors if you continue with this session.

%0/%1\ entries=%0/%1 entries

Export\ operation\ finished\ successfully.=Export operation finished successfully.

Reveal\ in\ File\ Explorer=Reveal in File Explorer

Abbreviate\ names=Abbreviate names


 ... (clipped 3437 lines)

Solution Walkthrough:

Before:

// jablib/src/main/resources/l10n/JabRef_en.properties

... (many unsorted keys) ...

# Grouping
Groups=Groups
Include\ subgroups\:...=...
... (60+ grouping keys) ...

... (many other keys) ...

# Preferences
Preferences=Preferences
JabRef\ preferences=JabRef preferences
... (20+ preference keys) ...

... (many other keys) ...

After:

// jablib/src/main/resources/l10n/groups_en.properties
Groups=Groups
IncludeSubgroups=Include subgroups: ...
AddSubgroup=Add subgroup
...

// jablib/src/main/resources/l10n/preferences_en.properties
Preferences=Preferences
JabRefPreferences=JabRef preferences
ResetPreferences=Reset preferences
...

// jablib/src/main/resources/l10n/general_en.properties
AboutJabRef=About JabRef
Accept=Accept
Add=Add
...
Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies the significant negative impacts of reorganizing a large, shared localization file, such as merge conflicts and broken git blame history, and proposes valid architectural alternatives.

Medium
  • Update

@koppor koppor changed the title Fix missing Original Reorder some localization keys Feb 2, 2026
@calixtus calixtus added this pull request to the merge queue Feb 2, 2026
@github-actions github-actions Bot added the status: to-be-merged PRs which are accepted and should go into the merge-queue. label Feb 2, 2026
Merged via the queue into main with commit 1013a15 Feb 2, 2026
55 checks passed
@calixtus calixtus deleted the fix-localization branch February 2, 2026 17:32
@koppor koppor mentioned this pull request Feb 3, 2026
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Review effort 2/5 status: to-be-merged PRs which are accepted and should go into the merge-queue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants