JabRef
v4
v4
  • JabRef Bibliography Management
  • General information about JabRef
    • Entry Editor
    • Best Practices
    • Command line use and options
    • Automatic Backup (.sav and .bak) and Autosave
    • Remote operation
    • Installation
  • About BibTeX and its fields
    • URL and DOI links in JabRef
    • File links in JabRef
    • Links to other entries
    • The 'owner' field
    • Time stamped fileds
    • Journal abbreviations
    • Special Fields
    • Set/clear/rename fields
    • Field content selector
    • Strings
  • Finding, Sorting, and Cleaning Entries
    • Searching within the library
    • Searching externally using Online Services
      • ACM Portal
      • arXiv
      • CiteSeerX
      • DBLP
      • DOAJ
      • Google Scholar
      • GVK
      • IEEEXplore
      • INSPIRE-HEP
      • MathSciNet
      • MEDLINE
      • SAO/NASA Astrophysics Data System
      • Springer
      • Unpaywall
      • zbMATH
    • Searching externally using Publication Identifiers
      • DiVA
      • DOI -- Digital Object Identifier
      • IACR eprint IDs
      • ISBN number
      • Medline
      • RFC document
      • SAO/NASA Astrophysics Data System
      • Title of the paper
    • Add unlinked PDFs including BibTeX data into the database
    • Synchronize file links
    • Cleanup entries
    • Save actions
    • Check integrity
    • Get BibTeX data from DOI
    • Find duplicates
    • Merge entries
    • Groups
    • Replace string
  • Import and Export
    • Import
      • JabRef Browser Extension
      • Custom import filters
      • Import from Microsoft Word -- MS Office Bibliography XML format
      • Import inspection window
      • New subdatabase based on AUX file
      • New entry from plain text
    • Export
      • Custom export filters
      • EndNote Export Filter
      • Export to an External SQL Database
      • Export to Microsoft Word -- MS Office Bibliography XML format
    • Other integrations
      • LaTeX Citations Tab
      • OpenOffice/LibreOffice integration
      • Pushing to external editor application
      • XMP metadata support in JabRef
    • Knowledge
      • Comparison of the Medline (txt), Medline (XML), and RIS format
  • Collaborative Work
    • Sharing a Bib(La)TeX Database
    • Shared SQL Database
    • Migration of pre-3.6 SQL databases into a shared SQL database
  • Configuration of JabRef
    • Customize the BibTeX key generator
    • Customize entry types
    • Customize general fields
    • Customize key bindings
    • Database properties window
    • Entry preview setup
    • Manage external file types
    • Manage protected terms
    • The string editor
  • Frequently Asked Questions and Howtos
    • General FAQs
    • Contributing
    • Sharing
    • How Tos
      • How to expand first names of a BibTeX entry
      • How to Improve the Help Page
      • How to translate the JabRef User Interface
    • FAQs on Operating Systems
      • Linux
      • Mac OS X
      • Windows
Powered by GitBook
On this page
  • Introduction
  • Improving an existing translation
  • Translating JabRef into a new language
  • The format of the property files
  • Testing the translation

Was this helpful?

Edit on GitHub
Export as PDF
  1. Frequently Asked Questions and Howtos
  2. How Tos

How to translate the JabRef User Interface

PreviousHow to Improve the Help PageNextFAQs on Operating Systems

Last updated 3 years ago

Was this helpful?

Introduction

JabRef comes with a set of translations into different languages, currently: Chinese (simplified), Danish, Dutch, English, Farsi, French, German, Indonesian, Italian, Japanese, Norwegian, Persian, Portuguese (Brazil), Russian, Spanish, Swedish, Turkish and Vietnamese.

If the JabRef interface already exists in your language, you can help improve it. Otherwise, you can start translating JabRef into your own language.

For each language, there is the file JabRef_xx.properties (xx denotes the country code for the language). It contains all translations in a key/value format. In the JabRef source code tree, the property files reside in the directory.

Improving an existing translation

We use the service of to keep our translations updated. It is a service directly running in the browser and one can quickly join and start translating. Please visit to get started.

Translating JabRef into a new language

Crowdin offers to quickly add a new language. Please contact us so that we add a new language.

The format of the property files

Each entry is first given in English, then in the other language, with the two parts separated by an '=' character. For instance, a line can look like this in a German translation file:

Background\ color\ for\ optional\ fields=Hintergrundfarbe für optionale Felder

Note that each space character is escaped (\) to make it a valid property key. The translation value does not need any esacpes.

Some entries contain "variables" that are inserted at runtime by JabRef - this can for instance be a file name or a file type name:

Synchronizing\ %0\ links...=Synchronisiere %0-Links...

A variable is denoted by %0, %1, %2 etc. In such entries, simply repeat the same notation in the translated version.

As we can see, there are several "special" characters: the percent sign and the equals sign, along with the colon character. If these characters are to be part of the actual text in an entry, they must be escaped in the English version, as with the colon in the following example:

Error\ writing\ XMP\ to\ file\:_%0=Fehler beim Schreiben von XMP in die Datei: %0

The character encoding should be UTF-8. Please avoid Unicode escaping such as \u2302.

Testing the translation

Crowdin allows for downloading the current translation file:

Place the downloaded file in the path src/main/resources/l10n. Then, execute gradlew run in the root directory and JabRef should start.

For testing a crowdin-contributed translation without having to compile JabRef, one has to wait until the translation is incorporated into the current source code of JabRef.

For a new language to be available within JabRef, a corresponding line must be added in the Java class GUIGlobals (found in the directory /src/main/java/org/jabref/logic/l10n/Languages.java in the JabRef source code tree). The line is inserted in the static {} section where the map LANGUAGES is populated. The code must of course be recompiled after this modification.

To test your translation you must be able to compile the source tree after making your additions. This requires you to install the . Ensure that you use the most recent version.

/src/main/resources/l10n
Crowdin
https://translate.jabref.org/
Java Development Kit
Screenshot of Crowdin download dialog