JabRef comes with a set of translations into 20 different languages: Chinese (simplified), Danish, Dutch, English, Farsi, French, German, Greek, Indonesian, Italian, Japanese, Norwegian, Persian, Portuguese, Portuguese (Brazil), Russian, Spanish, Swedish, Tagalog, 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.
We use the service of Crowdin to keep our translations updated. It is a service directly running in the browser and one can quickly join and start translating.
Visit https://translate.jabref.org/ to get started
Select your preferred language, login, and click on JabRef_en.properties
Choose the string you want to translate in the left panel (strings to be translated are listed first)
and enter the translation in the central panel (suggestions are given at the bottom)
Crowdin offers to quickly add a new language. Please contact us so that we add a new language for you.
You may decide to wait for a new test version of JabRef to be published.
To test directly your translation, you must be able to compile the source tree after making your additions. This requires you to install the Java Development Kit. Ensure that you use the most recent version.
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 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.
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 /src/main/resources/l10n directory.
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:
Note that each space character is escaped (\
) to make it a valid property key. The translation value does not need any escapes.
Some entries contain "variables" that are inserted at runtime by JabRef - this can for instance be a file name or a file type name:
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:
The character encoding should be UTF-8. Please avoid Unicode escaping such as \u2302
.
Here is a quick start guide on how to improve help pages in the Jabref User Documentation.
The Jabref help pages are hosted at GitBook with integration to GitHub, which provides version control based on git. In order to edit or create a JabRef help page, you need a GitHub account. You can sign up here for free. If you already have an account, please make sure that you are signed in.
The easiest way to fix small errors, or to add additional information, is to edit a help page directly in your browser, using the following steps.
At the top of each help page, you can find the GitHub icon with "Edit on GitHub" link. Just click the link to show the source of the page.
This leads you to the GitHub page associated with the help page:
To actually edit the page, click on the pencil icon, as highlighted above.
The window to edit the page at GitHub looks like this:
Most text can be simply added/edited in this field as plain text. However, you can style your contribution by using markdown. Markdown is a rather easy way to format text without the need for complex markup, such as with HTML. You can find an introduction to markdown here or here.
In order to review your changes, click on the "Preview changes" tab:
To save the changes, create a so-called "Commit" by scrolling down and pressing the "Propose File Change" button:
Please note: The message you provide here will be visible in the history of the help page, so please consider your change and provide a meaningful description of your changes.
As the last step, submit the changes you have made back to the JabRef team:
Just press the "Create Pull Request" button, and confirm the creation of the request on the next page.
That's it! The JabRef team will review your changes and publish them on docs.jabref.org.
To edit more than one file at a time, add screenshots, and for other more advanced changes, we recommend that you checkout this repository locally and create a Pull Request of your changes using the standard git and GitHub workflow.
The best way to enter tables is to use this Table Generator for Markdown. It has the nice feature to generate markdown tables from different sources, e.g. you can directly copy the table from a spreadsheet or upload a csv file. Just copy and paste the generated markdown into the documentation.
We are really happy that you are interested in contributing to JabRef. Please take your time to look around here. We especially invite you to look into our community members page where members introduce themselves.
I would like to improve the help page. What are the steps?
Please use the "Edit on GitHub" link in the upper right corner. Then, follow GitHub's guide to edit files in other user's repository.
I would like to help translating JabRef to another language. How do I get started?
We encourage you to read about translating the JabRef user interface.
I want to keep Wikipedia pages up-to-date
JabRef improves -- and Wikipedia pages should keep up!
For changes affecting all languages, update the wikidata entry of JabRef.
For changes in a specific language, go to the related page, and simply click on "Edit" (top right-hand tab). Currently, existing pages are:
Deutsch: https://de.wikipedia.org/wiki/JabRef
English: https://en.wikipedia.org/wiki/JabRef
Español: https://es.wikipedia.org/wiki/JabRef
Français: https://fr.wikipedia.org/wiki/JabRef
Italiano: https://it.wikipedia.org/wiki/JabRef
Русский: https://ru.wikipedia.org/wiki/JabRef
Portuguese: https://pt.wikipedia.org/wiki/JabRef
Svenska: https://sv.wikipedia.org/wiki/JabRef
Українська: https://uk.wikipedia.org/wiki/JabRef
If there is no page for your own language, you can easily create one.
Can I make a donation? How?
Donations keep us going! You can use Paypal, Flattr, or bank transfers. Your institution/company can contribute too, through bank transfer for example. All details are provided at https://donations.jabref.org.
Our team consists of volunteers. To provide better support, we are currently trying to get a funded developer on board. Please consider donating money!
We collect good issues to start with at our list of good first issues. After finding something, please check our CONTRIBUTING.md.
Have a look at JabRefs candidates for university projects. There, a list of possible projects to work on during a teaching period is offered. After finding something, please check our CONTRIBUTING.md.
We collect good issues to start with at our list of good first issues. After finding something, please check our CONTRIBUTING.md.
Look at the discussions in our forum about new features. Find an interesting topic, discuss it and start contributing. Alternatively, you can check out JabRefs projects page at GitHub. Although, of course, you can choose to work on ANY issue, choosing from the projects page has the advantage that these issues have already been categorized, sorted and screened by JabRef maintainers. A typical sub-classifications scheme is "priority" (high, normal and low). Fixing high priority issues is preferred.
I am a lecturer If you ask yourself how to integrate JabRef into your class, please read the documentation about how to integrate JabRef into a class of software engineering training. As student, you may notify your lecturer about this possibility.
Check out the documentation for developers
You can talk to the core developers of JabRef in the gitter chat.
Please head to devdocs about code-quality to learn about our current efforts to measure and improve code quality.