Skip to content

New Crowdin updates#15018

Merged
koppor merged 25 commits into
mainfrom
l10n_main
Feb 3, 2026
Merged

New Crowdin updates#15018
koppor merged 25 commits into
mainfrom
l10n_main

Conversation

@Siedlerchr

@Siedlerchr Siedlerchr commented Feb 3, 2026

Copy link
Copy Markdown
Member

PR Type

Documentation, Other


Description

  • Reorganized localization files across 25+ languages by grouping related translation entries into thematic sections

  • Created dedicated "# Grouping" sections to consolidate all group-related translation keys

  • Created dedicated "# Preferences" sections to organize preference-related translations

  • Removed duplicate entries and consolidated scattered translations throughout multiple language files

  • Added new translations for group sorting, entry update, and bibliographic data update features in Italian and French

  • Improved file structure and maintainability by removing unnecessary empty lines and organizing keys logically

  • No translation content was modified in most files, only structural reorganization was performed

  • Languages affected include: Greek, Italian, French, Polish, Finnish, German, Spanish, Brazilian Portuguese, Chinese (Simplified and Traditional), Persian, Turkish, Japanese, Russian, Dutch, Indonesian, Korean, Portuguese, Swedish, Vietnamese, Tagalog, Norwegian, Danish, Ukrainian, and Arabic


Diagram Walkthrough

flowchart LR
  A["Scattered translation keys"] --> B["Reorganization process"]
  B --> C["# Grouping section"]
  B --> D["# Preferences section"]
  C --> E["Improved maintainability"]
  D --> E
  F["Duplicate entries"] --> G["Consolidation"]
  G --> E
Loading

File Walkthrough

Relevant files
Localization
5 files
JabRef_el.properties
Reorganize Greek localization strings into thematic sections

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

  • Reorganized Greek localization strings by grouping related entries
    together
  • Moved grouping-related translations into a dedicated "# Grouping"
    section
  • Moved preferences-related translations into a dedicated "#
    Preferences" section
  • Removed duplicate entries and consolidated scattered translations
+86/-144
JabRef_it.properties
Reorganize Italian localization strings and add new translations

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

  • Reorganized Italian localization strings by grouping related entries
    together
  • Moved grouping-related translations into a dedicated "# Grouping"
    section
  • Moved preferences-related translations into a dedicated "#
    Preferences" section
  • Added new translations for group sorting and entry update features
+103/-158
JabRef_fr.properties
Reorganize French localization strings and add new translations

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

  • Reorganized French localization strings by grouping related entries
    together
  • Moved grouping-related translations into a dedicated "# Grouping"
    section
  • Moved preferences-related translations into a dedicated "#
    Preferences" section
  • Added new translations for bibliographic data update features
+104/-159
JabRef_pl.properties
Reorganize Polish localization strings into thematic sections

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

  • Reorganized Polish localization strings by grouping related entries
    together
  • Moved grouping-related translations into a dedicated "# Grouping"
    section
  • Moved preferences-related translations into a dedicated "#
    Preferences" section
  • Removed duplicate entries and consolidated scattered translations
+70/-130
JabRef_fi.properties
Add section markers to Finnish localization file                 

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

  • Added section markers for "# Grouping" and "# Preferences"
  • Minimal changes to Finnish localization file structure
  • Removed duplicate About\ JabRef entry
+4/-61   
Formatting
5 files
JabRef_de.properties
Reorganize German localization strings into logical sections

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

  • Reorganized German localization strings by grouping related entries
    together
  • Moved grouping-related translations into a dedicated "# Grouping"
    section
  • Moved preferences-related translations into a dedicated "#
    Preferences" section
  • Removed scattered empty lines and consolidated string definitions
  • No actual translation content was changed, only reorganized for better
    maintainability
+98/-159
JabRef_es.properties
Reorganize Spanish localization strings into logical sections

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

  • Reorganized Spanish localization strings by grouping related entries
    together
  • Moved grouping-related translations into a dedicated "# Grouping"
    section
  • Moved preferences-related translations into a dedicated "#
    Preferences" section
  • Consolidated scattered string definitions and removed empty lines
  • No translation content was modified, only structural reorganization
+98/-159
JabRef_pt_BR.properties
Reorganize Brazilian Portuguese localization strings into sections

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

  • Reorganized Brazilian Portuguese localization strings by grouping
    related entries
  • Created dedicated sections for "# Grouping" and "# Preferences"
    translations
  • Consolidated scattered string definitions and removed unnecessary
    empty lines
  • Maintained all translation content while improving file structure
+96/-157
JabRef_zh_CN.properties
Reorganize Chinese localization strings into logical sections

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

  • Reorganized Chinese (Simplified) localization strings by grouping
    related entries
  • Created dedicated sections for "# Grouping" and "# Preferences"
    translations
  • Consolidated scattered string definitions and removed empty lines
  • No translation content was changed, only structural improvements
+98/-159
JabRef_fa.properties
Reorganize Persian localization strings and remove empty lines

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

  • Reorganized Persian localization strings by grouping related entries
    together
  • Created dedicated sections for "# Grouping" and "# Preferences"
    translations
  • Removed numerous empty lines throughout the file
  • Improved file structure without modifying translation content
+9/-66   
Refactoring
5 files
JabRef_tr.properties
Reorganize Turkish translations into thematic sections for groups and
preferences

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

  • Reorganized grouping-related translations into a dedicated "#
    Grouping" section
  • Moved preferences-related translations into a new "# Preferences"
    section
  • Removed scattered group and preference entries from their original
    locations
  • Consolidated related translation keys for better organization and
    maintainability
+78/-138
JabRef_ja.properties
Restructure Japanese translations with dedicated sections for grouping
and preferences

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

  • Restructured grouping translations under a new "# Grouping" comment
    section
  • Created a dedicated "# Preferences" section for preference-related
    translations
  • Moved group-related keys from scattered locations into the grouping
    section
  • Consolidated preference keys into a single organized section
+75/-133
JabRef_ru.properties
Organize Russian translations into grouping and preferences sections

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

  • Added "# Grouping" section to consolidate all group-related
    translation keys
  • Created "# Preferences" section to organize preference-related
    translations
  • Removed duplicate and scattered entries for groups and preferences
  • Improved translation file structure for better maintainability
+77/-135
JabRef_nl.properties
Consolidate Dutch translations into grouping and preferences sections

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

  • Introduced "# Grouping" section to group all grouping-related
    translations
  • Added "# Preferences" section for preference-related translation keys
  • Relocated scattered group and preference entries into their respective
    sections
  • Enhanced organization of Dutch translation file
+77/-135
JabRef_id.properties
Structure Indonesian translations with grouping and preferences
sections

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

  • Created "# Grouping" section to organize group-related translation
    keys
  • Added "# Preferences" section for preference translations
  • Moved dispersed group and preference entries into dedicated sections
  • Improved Indonesian translation file structure
+58/-116
Additional files
10 files
JabRef_ar.properties +14/-71 
JabRef_da.properties +43/-100
JabRef_ko.properties +64/-122
JabRef_no.properties +48/-106
JabRef_pt.properties +71/-129
JabRef_sv.properties +57/-115
JabRef_tl.properties +47/-104
JabRef_uk.properties +14/-71 
JabRef_vi.properties +48/-105
JabRef_zh_TW.properties +33/-91 

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

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

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

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

Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Fix invalid string format specifier

Correct the typo in the Greek translation string from "%0% to "%0" to prevent a
string formatting exception.

jablib/src/main/resources/l10n/JabRef_el.properties [530]

-The\ search\ group\ '%0'\ could\ not\ be\ migrated.\ Please\ enter\ the\ new\ search\ expression.=Η ομάδα αναζήτησης "%0% δεν μπορεί να μεταβιβαστεί. Παρακαλώ εισάγετε νέα έκφραση προς αναζήτηση.
+The\ search\ group\ '%0'\ could\ not\ be\ migrated.\ Please\ enter\ the\ new\ search\ expression.=Η ομάδα αναζήτησης "%0" δεν μπορεί να μεταβιβαστεί. Παρακαλώ εισάγετε νέα έκφραση προς αναζήτηση.
  • Apply / Chat
Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies a typo "%0% in a translated string, which would cause a runtime IllegalFormatException and crash the application when this error message is displayed.

High
Fix incorrect placeholder in translation

Correct the placeholder in the translation for Assigned\ 1\ entry\ to\ group\
"%0" from %1 to %0 to prevent a runtime exception.

jablib/src/main/resources/l10n/JabRef_ja.properties [488]

-Assigned\ 1\ entry\ to\ group\ "%0".=1項目をグループ「%1」に割り当てました.
+Assigned\ 1\ entry\ to\ group\ "%0".=1項目をグループ「%0」に割り当てました.
  • Apply / Chat
Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies a bug in a new translation key that would cause a MissingFormatArgumentException at runtime, and the proposed fix is accurate.

High
Correct mistranslation for reset preferences

Correct the Spanish mistranslation for Reset\ preferences from "Preferencias" to
"Restablecer preferencias".

jablib/src/main/resources/l10n/JabRef_es.properties [2598]

-Reset\ preferences=Preferencias
+Reset\ preferences=Restablecer preferencias
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why: The suggestion correctly identifies a significant mistranslation in the Spanish localization file that would confuse users, and provides a correct translation.

Low
Translate missing Chinese localization keys

Translate several untranslated keys in the Chinese localization file under the #
Grouping section.

jablib/src/main/resources/l10n/JabRef_zh_CN.properties [629-633]

-Sort\ subgroups\ A-Z=Sort subgroups A-Z
+Sort\ subgroups\ A-Z=按A-Z排序子组
 Sort\ subgroups\ Z-A=按Z-A排序子组
-(Note\:\ If\ original\ entries\ lack\ keywords\ to\ qualify\ for\ the\ new\ group\ configuration,\ confirming\ here\ will\ add\ them)=(Note\: If original entries lack keywords to qualify for the new group configuration, confirming here will add them)
-Assign=Assign
-Do\ not\ assign=Do not assign
+(Note\:\ If\ original\ entries\ lack\ keywords\ to\ qualify\ for\ the\ new\ group\ configuration,\ confirming\ here\ will\ add\ them)=(注意:如果原始条目缺少关键字以符合新分组配置,在此处确认将添加它们)
+Assign=分配
+Do\ not\ assign=不分配
  • Apply / Chat
Suggestion importance[1-10]: 5

__

Why: The suggestion correctly points out several untranslated strings in the Chinese localization file and provides appropriate translations, improving UI consistency.

Low
Remove trailing space in translation

Remove the trailing space in the German translation for Importing\ preferences\
from\ '%0'.

jablib/src/main/resources/l10n/JabRef_de.properties [2626]

-Importing\ preferences\ from\ '%0'.=Importiere Einstellungen aus '%0 '.
+Importing\ preferences\ from\ '%0'.=Importiere Einstellungen aus '%0'.
  • Apply / Chat
Suggestion importance[1-10]: 3

__

Why: The suggestion correctly identifies and fixes a trailing space in a German translation string, which improves the UI text formatting.

Low
  • More

@koppor koppor added this pull request to the merge queue Feb 3, 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 3, 2026
Merged via the queue into main with commit 7762120 Feb 3, 2026
77 of 84 checks passed
@koppor koppor deleted the l10n_main branch February 3, 2026 16:43
Siedlerchr added a commit to Jalina2007/jabref that referenced this pull request Feb 5, 2026
…4902

* upstream/main: (23 commits)
  Some more recipes from OpenRewrite (JabRef#15030)
  feat: Add PDF Upload endpoint to EntryResource (JabRef#14963)
  Heuristics also used at batch (JabRef#15025)
  Fix cleanup-pr.yml
  New Crowdin updates (JabRef#15035)
  Use patched Gradle version (JabRef#15034)
  Add OpenAlex-based Citation Fetcher (JabRef#15023)
  Update null annotaitons at EntryBasedFetcher (JabRef#15024)
  Fix CHANGELOG.md test
  Use _ for unused variables (JabRef#15028)
  Use ubuntu-latest for checkstyle and javadoc
  Update Gradle Wrapper from 9.3.0-jabref-2 to 9.3.1 (JabRef#15021)
  Use "ubuntu-slim" for most workflows (JabRef#15019)
  Refine GroupsTree (JabRef#15013)
  New Crowdin updates (JabRef#15018)
  Added Clear group option (JabRef#15017)
  Chore(deps): Bump com.uber.nullaway:nullaway from 0.12.15 to 0.13.1 in /versions (JabRef#15006)
  Chore(deps): Bump tools.jackson:jackson-bom in /versions (JabRef#15007)
  No rush in Docker building
  Yaml issue workaround
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Review effort 1/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