-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Localization
- Overview
- 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.properties
files within theOSGI-INF/l10n/
directory orsrc
folders.
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 theid
andname
attributes. Theid
must 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
native2ascii
if 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
devel
branch 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.
-
Views
-
Search
-
Data management
-
Usability enhancements
-
Security
-
Projects
- Sample Database
-
Database Connections
- Edit Connection
- Invalidate/Reconnect to Database
- Disconnect from Database
- Change current user password
- Advanced settings
- Cloud configuration settings
- Local Client Configuration
- Connection Types
- Configure Connection Initialization Settings
-
Tableau integration
- Transactions
- Drivers
- Tasks
-
Cloud Explorer
-
Cloud Storage
- Classic
- Cloud
- Embedded
- File drivers
- Changing interface language
- DBeaver extensions - Office, Debugger, SVG
- Installing extensions - Themes, version control, etc
- User Interface Themes
- Command Line
- Reset UI settings
- Reset workspace
- Troubleshooting system issues
- Posting issues
- Log files
- JDBC trace
- Thread dump
- Managing connections
- Managing variables
- Managing drivers
- Managing preferences
- Managing restrictions
- Windows Silent Install
- Snap installation