Skip to content

Fix: Localize 'Preferences' menu item in walkthrough#14829

Merged
Siedlerchr merged 3 commits into
JabRef:mainfrom
abhishek9773:fix-walkthrough-translation
Jan 9, 2026
Merged

Fix: Localize 'Preferences' menu item in walkthrough#14829
Siedlerchr merged 3 commits into
JabRef:mainfrom
abhishek9773:fix-walkthrough-translation

Conversation

@abhishek9773

@abhishek9773 abhishek9773 commented Jan 9, 2026

Copy link
Copy Markdown
Contributor

User description

Closes #14822

In the "Entry Table Customization" walkthrough, the highlight for the 'Preferences' menu item was hardcoded in English. I updated WalkthroughAction.java to use the localization system so the highlight correctly finds the "Preferencias" menu item when the app is in Spanish.

Steps to test

  1. Open JabRef.
  2. Go to File -> Preferences -> Appearance.
  3. Change the User interface language to Spanish.
  4. Restart JabRef so the changes take effect.
  5. On the welcome screen, click the tutorial: "Personalizar tabla de entrada".
  6. Follow the prompt to click the "Archivo" menu.
  7. The Fix: Observe that the blue highlight circle now appears correctly over the "Preferencias" menu item.

VISUAL TEST

Step 1: Start the tutorial from the Spanish Welcome Screen
Screenshot from 2026-01-09 23-39-26

Step 2: Follow the localized tooltip to open the "Archivo" menu
Screenshot from 2026-01-09 23-39-43

Step 3: Success - The highlight circle correctly identifies "Preferencias"
main_jfg

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]

PR Type

Bug fix


Description

  • Localize 'Preferences' menu item lookup in walkthrough

  • Uses Localization.lang() to find correct translated menu item

  • Fixes highlight not appearing for non-English languages

  • Ensures walkthrough works correctly in Spanish and other locales


Diagram Walkthrough

flowchart LR
  A["Hardcoded English<br/>Preferences string"] -->|Replace with| B["Localization.lang()<br/>function call"]
  B -->|Resolves to| C["Translated menu item<br/>in current language"]
  C -->|Result| D["Walkthrough highlight<br/>works in all languages"]
Loading

File Walkthrough

Relevant files
Bug fix
WalkthroughAction.java
Localize Preferences menu item resolver                                   

jabgui/src/main/java/org/jabref/gui/walkthrough/WalkthroughAction.java

  • Changed NodeResolver.menuItem("Preferences") to
    NodeResolver.menuItem(Localization.lang("Preferences"))
  • Enables the walkthrough to find the correctly translated
    "Preferencias" menu item in Spanish
  • Fixes the highlight circle not appearing when app language is set to
    Spanish
  • Ensures walkthrough tutorial works across all supported languages
+1/-1     

@github-actions

github-actions Bot commented Jan 9, 2026

Copy link
Copy Markdown
Contributor

Hey @abhishek9773! 👋

Thank you for contributing to JabRef!

We have automated checks in place, based on which you will soon get feedback if any of them are failing. We also use Qodo for review assistance. It will update your pull request description with a review help and offer suggestions to improve the pull request.

After all automated checks pass, a maintainer will also review your contribution. Once that happens, you can go through their comments in the "Files changed" tab and act on them, or reply to the conversation if you have further inputs. You can read about the whole pull request process in our contribution guide.

Please ensure that your pull request is in line with our AI Usage Policy and make necessary disclosures.

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

qodo-free-for-open-source-projects Bot commented Jan 9, 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 Jan 9, 2026

Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

No code suggestions found for the PR.

@github-actions github-actions Bot added the status: changes-required Pull requests that are not yet complete label Jan 9, 2026
Comment thread CHANGELOG.md Outdated

### Fixed

- Fixed localized walkthrough highlight for 'Preferences' menu item in Spanish. [#14822](https://github.com/JabRef/jabref/issues/14822)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This applies to all languages not just Spanish

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also in the wrong section.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @Siedlerchr , I have updated the CHANGELOG.md as requested. I moved the entry to the [Unreleased] section and generalized the description to reflect that the fix applies to all languages. My branch is also synced with the latest upstream/main. Ready for another look!

@github-actions github-actions Bot removed the status: changes-required Pull requests that are not yet complete label Jan 9, 2026
@Siedlerchr Siedlerchr added this pull request to the merge queue Jan 9, 2026
Merged via the queue into JabRef:main with commit cbc8960 Jan 9, 2026
51 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spanish walkthrough tooltip not localized: shows English text “Click on ‘Preferences’” while UI is Spanish (“Preferencias”)

2 participants