You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
• Sync Crowdin-provided translations across multiple locales.
• Remove outdated parameterized citation-fetch error strings in most languages.
• Add/adjust Italian error-message keys, including DOI lookup failure text.
The following are alternative approaches to this PR:
1. Keep parameterized keys alongside new keys (deprecate later)
➕ Avoids runtime missing-key fallbacks if code still requests the %0 variants
➕ Allows gradual migration of message formatting behavior
➖ Temporarily increases key surface area and maintenance overhead
➖ Crowdin may reintroduce/remap strings if not handled consistently
2. Update code to use non-parameterized messages everywhere
➕ Eliminates placeholder/formatting mismatches across locales
➕ Simplifies translator workload for error strings
➖ Requires code changes and coordination beyond l10n sync
➖ May reduce diagnostic detail if the removed %0 value was useful
3. Standardize both variants: with and without details
➕ Allows UI to show short message plus optional details consistently
➕ Improves UX consistency across locales
➖ Requires defining/maintaining two keys per error case
➖ Needs UI decisions on when to show details
Recommendation: Before merging, verify the application no longer requests the removed parameterized keys (e.g., "Error while fetching cited entries: %0"). If any runtime paths still expect placeholders, prefer keeping the old keys temporarily (deprecated) or updating the code to the new non-parameterized keys to prevent missing translations and formatting errors.
• Deletes the German translations for cited/citing fetch errors that included the %0 placeholder. This aligns the locale file with the updated key set coming from Crowdin.
JabRef_it.propertiesReplace parameterized citation errors and add DOI lookup error (Italian)+3/-2
Replace parameterized citation errors and add DOI lookup error (Italian)
• Removes the placeholder-based cited/citing fetch error translations and introduces non-parameterized variants. Adds a new Italian translation for a DOI lookup error key.
• Removes zh_CN translations for cited/citing fetch error keys that included %0 placeholders. Keeps the restricted-access message and other keys in place.
1. Translations diverge from base✓ Resolved📘 Rule violation≡ Correctness
Description
Several translated JabRef_.properties bundles removed or renamed the still-active keys `Error
while fetching cited entries: %0 / Error while fetching citing entries: %0` that remain in
JabRef_en.properties and are still looked up by CitationRelationsTab, breaking key consistency
and likely failing LocalizationConsistencyTest. In Italian, the replacement keys also drop the
%0 placeholder semantics (e.g., via different/period-suffixed keys), so current call sites will
never use the new keys and users may see the raw key text instead of a localized message.
+Error\ while\ fetching\ cited\ entries.=Errore durante il recupero delle voci citate.+Error\ while\ fetching\ citing\ entries.=Errore durante il recupero delle voci di citazione.+Error\ while\ looking\ up\ DOI.=Errore durante la ricerca del DOI.
Evidence
PR Compliance ID 21 requires translated localization files to keep the same key set as the base
JabRef_en.properties, which still defines the parameterized keys `Error\ while\ fetching\ cited\
entries\:\ %0 and Error\ while\ fetching\ citing\ entries\:\ %0`, indicating they are
valid/active. The cited locale bundles (e.g., German) no longer include these keys in the
corresponding section, and Italian introduces different Error... key strings without the %0
placeholder, creating an inconsistent key set across languages; meanwhile, CitationRelationsTab
still calls Localization.lang("Error while fetching cited entries: %0", ...) /
Localization.lang("Error while fetching citing entries: %0", ...). Because the localization
implementation returns the key itself when a translation is missing, these missing/renamed
translations will surface at runtime as the raw English key text (with %0 substituted) rather than
a localized message, and any newly introduced Italian keys will not be reached by existing call
sites.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
Restore localization key consistency for the active, parameterized messages `Error while fetching cited entries: %0` and `Error while fetching citing entries: %0` across all `JabRef_<lang>.properties` bundles so they match `JabRef_en.properties` and the lookups in `CitationRelationsTab`. This should prevent `LocalizationConsistencyTest` failures and avoid runtime fallbacks where missing translations display the raw key text; ensure `%0` placeholder semantics are preserved (notably in Italian).
## Issue Context
- `JabRef_en.properties` is the source of truth for localization keys, and PR Compliance ID 21 requires translated bundles to keep the same keys (including placeholders like `%0`).
- `CitationRelationsTab` still calls `Localization.lang("Error while fetching cited entries: %0", ...)` and `Localization.lang("Error while fetching citing entries: %0", ...)`.
- Some locale bundles removed these exact keys, and Italian introduced different/period-suffixed keys that do not include the `%0` placeholder; missing keys fall back to returning the key string itself, causing English/raw-key text to be shown.
- Either re-add/restore the original keys (recommended/minimal), or if renaming was intended, update *all* call sites and `JabRef_en.properties` accordingly while keeping placeholder handling correct.
## Fix Focus Areas
- jabgui/src/main/java/org/jabref/gui/entryeditor/citationrelationtab/CitationRelationsTab.java[891-899]
- jablib/src/main/resources/l10n/JabRef_en.properties[1761-1765]
- jablib/src/main/resources/l10n/JabRef_de.properties[1720-1724]
- jablib/src/main/resources/l10n/JabRef_es.properties[1588-1592]
- jablib/src/main/resources/l10n/JabRef_fr.properties[1761-1765]
- jablib/src/main/resources/l10n/JabRef_pt_BR.properties[1595-1599]
- jablib/src/main/resources/l10n/JabRef_ru.properties[1642-1646]
- jablib/src/main/resources/l10n/JabRef_tr.properties[1659-1663]
- jablib/src/main/resources/l10n/JabRef_zh_CN.properties[1665-1669]
- jablib/src/main/resources/l10n/JabRef_it.properties[1757-1762]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Tip of the day
💡 Did you know, you can turn on the rule miner and Qodo learns your standards from review history
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.