This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Table of contents
- Building and running DBeaver
- Finding bundles in IntelliJ IDEA
- Adding new languages
- Making localization changes
- Pushing your changes
- Changing user interface language
DBeaver uses the standard properties-based i18n model. All translatable resources reside in the *.properties file.
Each plugin (bundle) has its own set of resources. Almost all plugins have at least a bundles.properties resource.
More extensive plugins have additional resources in the src folder. bundle.properties contains original English
strings. Translated resources are stored in bundle_XX.properties files, where XX is a two-letter language code.
Building and running DBeaver
To set up your environment, follow the instructions in Develop in IDEA.
Finding bundles in IntelliJ IDEA
- Open your cloned DBeaver project in IntelliJ IDEA.
- Use
Find in Files(Ctrl+Shift+F for Windows / Cmd+Shift+F on macOS) to search forbundle.properties. - Look for relevant
bundle.propertiesfiles within theOSGI-INF/l10n/directory orsrcfolders.
Adding new languages
If you want to add a new language that was not previously supported, you need to register it so it appears in the user interface:
- Open the file
plugins/org.jkiss.dbeaver.registry/plugin.xml - Locate
<extension point="org.jkiss.dbeaver.language"> - Copy an existing
<language>element and update theidandnameattributes. Theidmust match the language code. - Localize the language name in
OSGI-INF/l10n/bundle.properties.
Example of adding Hebrew:
--- a/plugins/org.jkiss.dbeaver.registry/plugin.xml
+++ b/plugins/org.jkiss.dbeaver.registry/plugin.xml
@@ -36,6 +36,7 @@
<language code="es" label="%language.es.label"/>
<language code="tw" label="%language.tw.label"/>
<language code="uk" label="%language.uk.label"/>
+ <language code="he" label="%language.he.label"/>
</extension>
Important encoding requirements:
- All localization files must use UTF-8 encoding.
- Ensure your editor is configured for UTF-8 and disable
native2asciiif enabled.
Making localization changes
Using placeholders in localization files
Use text placeholders instead of concatenating strings in code. Placeholders are {N} markers, replaced at runtime.
// Outputs: "This is my text: hello from DBeaver"
NLS.bind("This is my text: {0} from {1}", "hello", "DBeaver");
Dealing with single quotes
Manually editing properties with single quotes requires doubling them:
- Wrong:
Can't delete '{0}' - Right:
Can''t delete ''{0}''
Pushing your changes
- Open GitHub Desktop.
- Select Current branch and click New Branch.
- Name your branch related to localization (
l10n). - Commit your changes to the new branch.
- Click Publish branch / Push.
- Click Fetch origin.
- In the main menu, select Branch -> Create Pull Request.
- On GitHub, provide a meaningful title and description, then click Create pull request.
- Switch back to the
develbranch in GitHub Desktop.
Alternatively, create a Pull Request in the devel branch.
For more details, see GitHub help.
Pull request guidelines
- Avoid multiple pull requests for the same issue.
- Don’t force-push commits in the pull request branch to keep commit history readable.
Changing user interface language
DBeaver Documentation
- Getting started
- DBeaver configuration
- Security
- Connection settings
- Databases support
- Classic
- Cloud
- Embedded
- File drivers
- Graph
- Database Navigator
- Data Editor
- SQL Editor
- Entity relation diagrams (ERD)
- Cloud services
- AI Assistant
- Data transfer and schema compare
- Task management
- Integrated tools
- Administration
- DBeaver Editions
- Standalone
- Cloud-hosted
- FAQ
- Development