-
Notifications
You must be signed in to change notification settings - Fork 4k
Localization
- 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.
To set up your environment, follow the instructions in Develop in 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.
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.
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");Manually editing properties with single quotes requires doubling them:
- Wrong:
Can't delete '{0}' - Right:
Can''t delete ''{0}''
- 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.
- Avoid multiple pull requests for the same issue.
- Don’t force-push commits in the pull request branch to keep commit history readable.
- 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
- FAQ
- Development