未验证 提交 4464b7cc 编写于 作者: S Serge Rider 提交者: GitHub

Merge pull request #2489 from liuyuanyuan/devel

Add i18n and l10n for driver and SQL editor result set filter panel
......@@ -1200,9 +1200,9 @@ public class CoreMessages extends NLS {
public static String dialog_connection_edit_wizard_bad_pwd_msg;
public static String dialog_connection_edit_wizard_error_md5_title;
public static String dialog_connection_edit_wizard_error_md5_msg;
// Connection edit
//Connection edit
// Driver edit
// Driver edit
public static String dialog_edit_driver_setting;
public static String dialog_edit_driver_type_label;
public static String dialog_edit_driver_embedded_label;
......@@ -1212,8 +1212,84 @@ public class CoreMessages extends NLS {
public static String dialog_edit_driver_edit_maven_artifact_id_label;
public static String dialog_edit_driver_edit_maven_classfier_label;
public static String dialog_edit_driver_edit_maven_version_label;
public static String dialog_edit_driver_text_driver_library;
public static String dialog_edit_driver_info;
public static String dialog_edit_driver_driver;
public static String dialog_edit_driver_library;
public static String dialog_edit_driver_path;
public static String dialog_edit_driver_version;
public static String dialog_edit_driver_file;
public static String dialog_edit_driver_tab_depencencies;
public static String dialog_edit_driver_tab_depencencies_tooltip;
public static String dialog_edit_driver_tab_detail;
public static String dialog_edit_driver_tab_detail_tooltip;
public static String dialog_edit_driver_text_license;
// Driver edit
// Driver download
public static String dialog_driver_download_button_edit_dirver;
public static String dialog_driver_download_button_add_jars;
public static String dialog_driver_download_wizard_title_setting;
public static String dialog_driver_download_wizard_title_upload_files;
public static String dialog_driver_download_wizard_title_setup_files;
public static String dialog_driver_download_wizard_download;
public static String dialog_driver_download_wizard_open_download;
public static String dialog_driver_download_page_vendor_link;
public static String dialog_driver_download_page_download_conf_link;
public static String dialog_driver_download_manual_page_config_driver_file;
public static String dialog_driver_download_manual_page_download_driver_file;
public static String dialog_driver_download_manual_page_download_config_driver_file;
public static String dialog_driver_download_manual_page_driver_file_missing_text;
public static String dialog_driver_download_manual_page_driver_file;
public static String dialog_driver_download_manual_page_column_file;
public static String dialog_driver_download_manual_page_column_required;
public static String dialog_driver_download_manual_page_column_description;
public static String dialog_driver_download_manual_page_yes;
public static String dialog_driver_download_manual_page_no;
public static String dialog_driver_download_auto_page_auto_download;
public static String dialog_driver_download_auto_page_download_driver_files;
public static String dialog_driver_download_auto_page_download_specific_driver_files;
public static String dialog_driver_download_auto_page_driver_file_missing_text;
public static String dialog_driver_download_auto_page_force_download;
public static String dialog_driver_download_auto_page_force_download_tooltip;
public static String dialog_driver_download_auto_page_required_files;
public static String dialog_driver_download_auto_page_change_driver_version_text;
public static String dialog_driver_download_auto_page_obtain_driver_files_text;
public static String dialog_driver_download_auto_page_cannot_resolve_libraries_text;
public static String dialog_driver_download_auto_page_driver_download_error;
public static String dialog_driver_download_auto_page_driver_download_error_msg;
public static String dialog_driver_download_auto_page_driver_security_warning;
public static String dialog_driver_download_auto_page_driver_security_warning_msg;
public static String dialog_driver_download_auto_page_download_rate;
public static String dialog_driver_download_auto_page_download_failed_msg;
// Driver download
// SQL editor resultset filter panel
public static String sql_editor_resultset_tool_item_log;
public static String sql_editor_resultset_tool_item_output;
public static String sql_editor_resultset_filter_panel_text_enter_sql_to_filter;
public static String sql_editor_resultset_filter_panel_text_enter_filter_not_support;
public static String sql_editor_resultset_filter_panel_btn_apply;
public static String sql_editor_resultset_filter_panel_btn_remove;
public static String sql_editor_resultset_filter_panel_btn_save;
public static String sql_editor_resultset_filter_panel_btn_custom;
public static String sql_editor_resultset_filter_panel_btn_config_refresh;
public static String sql_editor_resultset_filter_panel_btn_stop_refresh;
public static String sql_editor_resultset_filter_panel_label;
public static String sql_editor_resultset_filter_panel_btn_open_console;
public static String sql_editor_resultset_filter_panel_menu_refresh_interval;
public static String sql_editor_resultset_filter_panel_menu_stop;
public static String sql_editor_resultset_filter_panel_menu_customize;
public static String sql_editor_resultset_filter_panel_control_no_data;
public static String sql_editor_resultset_filter_panel_control_execute_to_see_reslut;
// SQL editor resultset filter panel
static {
......
......@@ -1177,5 +1177,81 @@ dialog_edit_driver_edit_maven_group_id_label = Group Id
dialog_edit_driver_edit_maven_artifact_id_label = Artifact Id
dialog_edit_driver_edit_maven_classfier_label = Classifier
dialog_edit_driver_edit_maven_version_label = Version
dialog_edit_driver_text_driver_library = Driver '{0}' library '{1}'
dialog_edit_driver_info = Information
dialog_edit_driver_driver = Driver
dialog_edit_driver_library = Library
dialog_edit_driver_path = Path
dialog_edit_driver_version = Version
dialog_edit_driver_file = File
dialog_edit_driver_tab_depencencies = Dependencies
dialog_edit_driver_tab_depencencies_tooltip = Library dependencies
dialog_edit_driver_tab_detail = Details
dialog_edit_driver_tab_detail_tooltip = Additional library information
dialog_edit_driver_text_license = License
## Driver edit ##
## Driver download ##
dialog_driver_download_button_edit_dirver = Edit Driver
dialog_driver_download_button_add_jars = Add JARs
dialog_driver_download_wizard_title_setting = Driver settings
dialog_driver_download_wizard_title_upload_files = Update driver files
dialog_driver_download_wizard_title_setup_files = Setup driver files
dialog_driver_download_wizard_download = Download
dialog_driver_download_wizard_open_download = Open Download Page
dialog_driver_download_page_vendor_link = <a>Vendor's website</a>
dialog_driver_download_page_download_conf_link = <a>Download configuration</a>
dialog_driver_download_manual_page_config_driver_file = Configure driver files
dialog_driver_download_manual_page_download_driver_file = Download driver files
dialog_driver_download_manual_page_download_config_driver_file = Download & configure {0} driver files
dialog_driver_download_manual_page_driver_file_missing_text = {0} driver files missing.\n\nAccording to vendor policy this driver isn't publicly available\nand you have to download it manually from vendor's web site.\n\nAfter successful driver download you will need to <a>add JAR files</a> in DBeaver libraries list.
dialog_driver_download_manual_page_driver_file = Driver files
dialog_driver_download_manual_page_column_file = File
dialog_driver_download_manual_page_column_required = Required
dialog_driver_download_manual_page_column_description = Description
dialog_driver_download_manual_page_yes = Yes
dialog_driver_download_manual_page_no = No
dialog_driver_download_auto_page_auto_download = Automatic download
dialog_driver_download_auto_page_download_driver_files = Download driver files
dialog_driver_download_auto_page_download_specific_driver_files = Download {0} driver files
dialog_driver_download_auto_page_driver_file_missing_text = {0} driver files are missing.\nDBeaver can download these files automatically.\n\n
dialog_driver_download_auto_page_force_download = Force download / overwrite
dialog_driver_download_auto_page_force_download_tooltip = Force files download. Will download files even if they are already on the disk
dialog_driver_download_auto_page_required_files = Files required by driver
dialog_driver_download_auto_page_change_driver_version_text = You can change driver version by clicking on version column.\nThen you can choose one of the available versions.
dialog_driver_download_auto_page_obtain_driver_files_text = \nOr you can obtain driver files by yourself and add them in driver editor.
dialog_driver_download_auto_page_cannot_resolve_libraries_text = Can't resolve libraries. Check your network settings
dialog_driver_download_auto_page_driver_download_error = Driver download
dialog_driver_download_auto_page_driver_download_error_msg = Error downloading driver files
dialog_driver_download_auto_page_driver_security_warning = Security warning
dialog_driver_download_auto_page_driver_security_warning_msg = Library '{0}' wasn't found in secure repositories.\nOnly non-secure version is available: {1}.\n\nIt is not recommended to use non-secure repositories because of possibility of malware infection.\n\nAre you sure you want to proceed?
dialog_driver_download_auto_page_download_rate = Download {0}/{1}
dialog_driver_download_auto_page_download_failed_msg = Driver file download failed.\nDo you want to retry?
## Driver download ##
## SQL editor resultset filter panel ##
sql_editor_resultset_tool_item_log = Log
sql_editor_resultset_tool_item_output = Output
sql_editor_resultset_filter_panel_text_enter_sql_to_filter = Enter a SQL expression to filter results (use Ctrl+Space)
sql_editor_resultset_filter_panel_text_enter_filter_not_support = Data filter is not supported
sql_editor_resultset_filter_panel_btn_apply = Apply filter criteria
sql_editor_resultset_filter_panel_btn_remove = Remove all filters/orderings
sql_editor_resultset_filter_panel_btn_save = Save filter settings for current object
sql_editor_resultset_filter_panel_btn_custom = Custom Filters
sql_editor_resultset_filter_panel_btn_stop_refresh = Stop auto-refresh
sql_editor_resultset_filter_panel_btn_config_refresh = Configure auto-refresh
sql_editor_resultset_filter_panel_label = Click to open query in editor
sql_editor_resultset_filter_panel_btn_open_console = Ctrl+click to open SQL console
sql_editor_resultset_filter_panel_menu_customize = Customize ...
sql_editor_resultset_filter_panel_menu_stop = Stop
sql_editor_resultset_filter_panel_menu_refresh_interval = Refresh each {0} seconds
sql_editor_resultset_filter_panel_control_no_data = No Data
sql_editor_resultset_filter_panel_control_execute_to_see_reslut = Execute query {0} or script {1} to see results
## SQL editor resultset filter panel ##
......@@ -56,7 +56,7 @@ actions_navigator_error_dialog_delete_object_title = \u5220\u9664\u5BF9\u8C61
actions_navigator_error_dialog_open_entity_title = \u6253\u5F00\u5B9E\u4F53
actions_navigator_error_dialog_open_resource_title = \u6253\u5F00\u8D44\u6E90
actions_navigator_open = \u6253\u5F00
actions_navigator_view = \u89C6\u56FE
actions_navigator_view = \u67E5\u770B
actions_navigator_view_script_button = \u67E5\u770B\u811A\u672C
actions_spreadsheet_copy_special = \u9AD8\u7EA7\u62F7\u8D1D...
......@@ -1176,5 +1176,81 @@ dialog_edit_driver_edit_maven_group_id_label = \u7EC4 Id
dialog_edit_driver_edit_maven_artifact_id_label = Artifact Id
dialog_edit_driver_edit_maven_classfier_label = Classifier
dialog_edit_driver_edit_maven_version_label = \u7248\u672C
dialog_edit_driver_text_driver_library = \u9A71\u52A8 '{0}' \u5E93 '{1}'
dialog_edit_driver_info = \u4FE1\u606F
dialog_edit_driver_driver = \u9A71\u52A8
dialog_edit_driver_library = \u5E93
dialog_edit_driver_path = \u8DEF\u5F84
dialog_edit_driver_version = \u7248\u672C
dialog_edit_driver_file = \u6587\u4EF6
dialog_edit_driver_tab_depencencies = \u4F9D\u8D56
dialog_edit_driver_tab_depencencies_tooltip = \u5E93\u4F9D\u8D56
dialog_edit_driver_tab_detail = \u8BE6\u7EC6
dialog_edit_driver_tab_detail_tooltip = \u9644\u52A0\u5E93\u4FE1\u606F
dialog_edit_driver_text_license = \u8BB8\u53EF
## Driver edit ##
## Driver download ##
dialog_driver_download_button_edit_dirver = \u7F16\u8F91\u9A71\u52A8
dialog_driver_download_button_add_jars = \u6DFB\u52A0 JAR
dialog_driver_download_wizard_title_setting = \u9A71\u52A8\u8BBE\u7F6E
dialog_driver_download_wizard_title_upload_files = \u66F4\u65B0\u9A71\u52A8\u6587\u4EF6
dialog_driver_download_wizard_title_setup_files = \u5B89\u88C5\u9A71\u52A8\u6587\u4EF6
dialog_driver_download_wizard_download = \u4E0B\u8F7D
dialog_driver_download_wizard_open_download = \u6253\u5F00\u4E0B\u8F7D\u9875\u9762
dialog_driver_download_page_vendor_link = <a>\u4F9B\u5E94\u5546\u7F51\u7AD9</a>
dialog_driver_download_page_download_conf_link = <a>\u4E0B\u8F7D\u914D\u7F6E</a>
dialog_driver_download_manual_page_config_driver_file = \u914D\u7F6E\u9A71\u52A8\u6587\u4EF6
dialog_driver_download_manual_page_download_driver_file = \u4E0B\u8F7D\u9A71\u52A8\u6587\u4EF6
dialog_driver_download_manual_page_download_config_driver_file = \u4E0B\u8F7D & \u914D\u7F6E {0} \u9A71\u52A8\u6587\u4EF6
dialog_driver_download_manual_page_driver_file_missing_text = {0} \u9A71\u52A8\u6587\u4EF6\u4E22\u5931.\n\n\u6839\u636E\u4F9B\u5E94\u5546\u653F\u7B56\u8FD9\u4E2A\u9A71\u52A8\u7A0B\u5E8F\u4E0D\u516C\u5F00\n\u4F60\u5FC5\u987B\u4ECE\u4F9B\u5E94\u5546\u7F51\u7AD9\u624B\u52A8\u4E0B\u8F7D.\n\n\u6210\u529F\u4E0B\u8F7D\u9A71\u52A8\u540E\u4F60\u5C06\u9700\u8981 <a>\u6DFB\u52A0 JAR \u6587\u4EF6</a> \u5728 DBeaver \u5E93\u5217\u8868\u4E2D.
dialog_driver_download_manual_page_driver_file =\u9A71\u52A8\u6587\u4EF6
dialog_driver_download_manual_page_column_file = \u6587\u4EF6
dialog_driver_download_manual_page_column_required = \u9700\u8981\u7684
dialog_driver_download_manual_page_column_description = \u63CF\u8FF0
dialog_driver_download_manual_page_yes = \u662F
dialog_driver_download_manual_page_no = \u5426
dialog_driver_download_auto_page_auto_download = \u81EA\u52A8\u4E0B\u8F7D
dialog_driver_download_auto_page_download_driver_files = \u4E0B\u8F7D\u9A71\u52A8\u6587\u4EF6
dialog_driver_download_auto_page_download_specific_driver_files = \u4E0B\u8F7D {0} \u9A71\u52A8\u6587\u4EF6
dialog_driver_download_auto_page_driver_file_missing_text = {0} \u9A71\u52A8\u6587\u4EF6\u4E22\u5931.\nDBeaver \u53EF\u4EE5\u81EA\u52A8\u4E0B\u8F7D\u8FD9\u4E9B\u6587\u4EF6.\n\n
dialog_driver_download_auto_page_force_download = \u5F3A\u5236\u4E0B\u8F7D / \u8986\u76D6
dialog_driver_download_auto_page_force_download_tooltip = \u5F3A\u5236\u6587\u4EF6\u4E0B\u8F7D\u3002\u5373\u4F7F\u6587\u4EF6\u5728\u78C1\u76D8\u4E0A\u4ECD\u5C06\u4E0B\u8F7D\u3002
dialog_driver_download_auto_page_required_files = \u9A71\u52A8\u9700\u8981\u7684\u6587\u4EF6
dialog_driver_download_auto_page_change_driver_version_text = \u4F60\u53EF\u4EE5\u901A\u8FC7\u5355\u51FB\u9A71\u52A8\u5217\u6765\u4FEE\u6539\u9A71\u52A8\u7248\u672C\u3002\n\u7136\u540E\u4F60\u53EF\u4EE5\u9009\u62E9\u4E00\u4E2A\u53EF\u7528\u7248\u672C\u3002
dialog_driver_download_auto_page_obtain_driver_files_text = \n\u6216\u8005\u4F60\u53EF\u4EE5\u81EA\u5DF1\u83B7\u53D6\u9A71\u52A8\u7A0B\u5E8F\u6587\u4EF6,\u5E76\u5C06\u5B83\u4EEC\u6DFB\u52A0\u5728\u9A71\u52A8\u7F16\u8F91\u5668\u4E2D\u3002
dialog_driver_download_auto_page_cannot_resolve_libraries_text = \u65E0\u6CD5\u89E3\u51B3\u5E93\u6587\u4EF6\uFF0C\u8BF7\u68C0\u67E5\u4F60\u7684\u7F51\u7EDC\u8BBE\u7F6E\u3002
dialog_driver_download_auto_page_driver_download_error = \u9A71\u52A8\u4E0B\u8F7D
dialog_driver_download_auto_page_driver_download_error_msg = \u9519\u8BEF\u4E0B\u8F7D\u9A71\u52A8\u6587\u4EF6
dialog_driver_download_auto_page_driver_security_warning = \u5B89\u5168\u8B66\u544A
dialog_driver_download_auto_page_driver_security_warning_msg = \u5728\u5B89\u5168\u7684\u8D44\u6E90\u5E93\u4E2D\u672A\u627E\u5230\u5E93\u6587\u4EF6 '{0}' .\n\u53EA\u6709\u975E\u5B89\u5168\u7248\u672C\u53EF\u7528: {1}.\n\n\u4E0D\u63A8\u8350\u4F7F\u7528\u4E0D\u5B89\u5168\u7684\u8D44\u6E90\u5E93,\u56E0\u4E3A\u6709\u6076\u610F\u8F6F\u4EF6\u611F\u67D3\u7684\u53EF\u80FD\u6027\u3002\n\n\u4F60\u786E\u5B9A\u8981\u7EE7\u7EED\u5417?
dialog_driver_download_auto_page_download_rate = \u4E0B\u8F7D {0}/{1}
dialog_driver_download_auto_page_download_failed_msg = \u9A71\u52A8\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25\u3002\n\u4F60\u60F3\u91CD\u8BD5\u5417?
## Driver download ##
## SQL editor resultset filter panel ##
sql_editor_resultset_tool_item_log = \u65E5\u5FD7
sql_editor_resultset_tool_item_output = \u8F93\u51FA
sql_editor_resultset_filter_panel_text_enter_sql_to_filter = \u8F93\u5165\u4E00\u4E2A SQL \u8868\u8FBE\u5F0F\u6765\u8FC7\u6EE4\u7ED3\u679C (\u4F7F\u7528 Ctrl+Space)
sql_editor_resultset_filter_panel_text_enter_filter_not_support = \u6570\u636E\u8FC7\u6EE4\u4E0D\u652F\u6301
sql_editor_resultset_filter_panel_btn_apply = \u5E94\u7528\u8FC7\u6EE4\u6761\u4EF6
sql_editor_resultset_filter_panel_btn_remove = \u79FB\u9664\u6240\u6709\u8FC7\u6EE4/\u6392\u5E8F
sql_editor_resultset_filter_panel_btn_save = \u4E3A\u5F53\u524D\u5BF9\u8C61\u4FDD\u5B58\u8FC7\u6EE4\u8BBE\u7F6E
sql_editor_resultset_filter_panel_btn_custom = \u81EA\u5B9A\u4E49\u8FC7\u6EE4
sql_editor_resultset_filter_panel_btn_stop_refresh = \u505C\u6B62\u81EA\u52A8\u66F4\u65B0
sql_editor_resultset_filter_panel_btn_config_refresh = \u914D\u7F6E\u81EA\u52A8\u66F4\u65B0
sql_editor_resultset_filter_panel_label = \u70B9\u51FB\u5728\u7F16\u8F91\u5668\u4E2D\u6253\u5F00\u67E5\u8BE2
sql_editor_resultset_filter_panel_btn_open_console = Ctrl+click \u6765\u6253\u5F00 SQL \u63A7\u5236\u53F0
sql_editor_resultset_filter_panel_menu_customize = \u81EA\u5B9A\u4E49 ...
sql_editor_resultset_filter_panel_menu_stop = \u505C\u6B62
sql_editor_resultset_filter_panel_menu_refresh_interval = \u6BCF {0} \u79D2\u5237\u65B0
sql_editor_resultset_filter_panel_control_no_data = \u65E0\u6570\u636E
sql_editor_resultset_filter_panel_control_execute_to_see_reslut = \u6267\u884C\u62C6\u67E5\u8BE2 {0} \u6216\u8005\u811A\u672C {1} \u6765\u67E5\u770B\u7ED3\u679C
## SQL editor resultset filter panel ##
......@@ -17,19 +17,64 @@
package org.jkiss.dbeaver.ui.controls.resultset;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.fieldassist.ContentProposal;
import org.eclipse.jface.fieldassist.IContentProposal;
import org.eclipse.jface.fieldassist.IContentProposalProvider;
import org.eclipse.jface.text.Document;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.events.ControlListener;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.events.MouseTrackAdapter;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.TraverseEvent;
import org.eclipse.swt.events.TraverseListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.ScrollBar;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.ui.IWorkbenchCommandConstants;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.texteditor.ITextEditorActionConstants;
......@@ -39,7 +84,11 @@ import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.*;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPImage;
import org.jkiss.dbeaver.model.DBPImageProvider;
import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
import org.jkiss.dbeaver.model.data.DBDAttributeConstraint;
import org.jkiss.dbeaver.model.data.DBDDataFilter;
......@@ -54,7 +103,11 @@ import org.jkiss.dbeaver.model.sql.SQLUtils;
import org.jkiss.dbeaver.model.struct.DBSDataContainer;
import org.jkiss.dbeaver.model.struct.DBSEntity;
import org.jkiss.dbeaver.runtime.ui.DBUserInterface;
import org.jkiss.dbeaver.ui.*;
import org.jkiss.dbeaver.ui.ActionUtils;
import org.jkiss.dbeaver.ui.DBeaverIcons;
import org.jkiss.dbeaver.ui.TextUtils;
import org.jkiss.dbeaver.ui.UIIcon;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.controls.StyledTextContentAdapter;
import org.jkiss.dbeaver.ui.editors.StringEditorInput;
import org.jkiss.dbeaver.ui.editors.SubEditorSite;
......@@ -65,12 +118,6 @@ import org.jkiss.dbeaver.ui.editors.sql.syntax.SQLWordPartDetector;
import org.jkiss.dbeaver.utils.GeneralUtils;
import org.jkiss.utils.CommonUtils;
import java.lang.reflect.InvocationTargetException;
import java.util.*;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* ResultSetFilterPanel
*/
......@@ -161,8 +208,8 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
e.gc.setForeground(shadowColor);
e.gc.setFont(hintFont);
e.gc.drawText(supportsDataFilter ?
"Enter a SQL expression to filter results (use Ctrl+Space)" :
"Data filter is not supported",
CoreMessages.sql_editor_resultset_filter_panel_text_enter_sql_to_filter:
CoreMessages.sql_editor_resultset_filter_panel_text_enter_filter_not_support,
2, 0, true);
e.gc.setFont(null);
}
......@@ -216,7 +263,7 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
filtersApplyButton = new ToolItem(filterToolbar, SWT.PUSH | SWT.NO_FOCUS);
filtersApplyButton.setImage(DBeaverIcons.getImage(UIIcon.FILTER_APPLY));
//filtersApplyButton.setText("Apply");
filtersApplyButton.setToolTipText("Apply filter criteria");
filtersApplyButton.setToolTipText(CoreMessages.sql_editor_resultset_filter_panel_btn_apply);
filtersApplyButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
......@@ -227,7 +274,7 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
filtersClearButton = new ToolItem(filterToolbar, SWT.PUSH | SWT.NO_FOCUS);
filtersClearButton.setImage(DBeaverIcons.getImage(UIIcon.FILTER_RESET));
filtersClearButton.setToolTipText("Remove all filters/orderings");
filtersClearButton.setToolTipText(CoreMessages.sql_editor_resultset_filter_panel_btn_remove);
filtersClearButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
......@@ -238,7 +285,7 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
filtersSaveButton = new ToolItem(filterToolbar, SWT.PUSH | SWT.NO_FOCUS);
filtersSaveButton.setImage(DBeaverIcons.getImage(UIIcon.FILTER_SAVE));
filtersSaveButton.setToolTipText("Save filter settings for current object");
filtersSaveButton.setToolTipText(CoreMessages.sql_editor_resultset_filter_panel_btn_save);
filtersSaveButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
......@@ -249,7 +296,7 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
ToolItem filtersCustomButton = new ToolItem(filterToolbar, SWT.PUSH | SWT.NO_FOCUS);
filtersCustomButton.setImage(DBeaverIcons.getImage(UIIcon.FILTER));
filtersCustomButton.setToolTipText("Custom Filters");
filtersCustomButton.setToolTipText(CoreMessages.sql_editor_resultset_filter_panel_btn_custom);
filtersCustomButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
......@@ -383,10 +430,10 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
void updateAutoRefreshToolbar() {
if (viewer.isAutoRefreshEnabled()) {
autoRefreshButton.setImage(DBeaverIcons.getImage(UIIcon.RS_SCHED_STOP));
autoRefreshButton.setToolTipText("Stop auto-refresh");
autoRefreshButton.setToolTipText(CoreMessages.sql_editor_resultset_filter_panel_btn_stop_refresh);
} else {
autoRefreshButton.setImage(DBeaverIcons.getImage(UIIcon.RS_SCHED_START));
autoRefreshButton.setToolTipText("Configure auto-refresh");
autoRefreshButton.setToolTipText(CoreMessages.sql_editor_resultset_filter_panel_btn_config_refresh);
}
}
......@@ -537,7 +584,7 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
if (activeObjectImage != null) {
iconLabel.setImage(DBeaverIcons.getImage(activeObjectImage));
}
iconLabel.setToolTipText("Click to open query in editor");
iconLabel.setToolTipText(CoreMessages.sql_editor_resultset_filter_panel_label);
iconLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
iconLabel.setCursor(getDisplay().getSystemCursor(SWT.CURSOR_HAND));
iconLabel.addMouseListener(new MouseAdapter() {
......@@ -677,7 +724,7 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
ActiveObjectPanel(Composite addressBar) {
super(addressBar, SWT.NONE);
setLayoutData(new GridData(GridData.FILL_VERTICAL));
setToolTipText("Ctrl+click to open SQL console");
setToolTipText(CoreMessages.sql_editor_resultset_filter_panel_btn_open_console);
this.addMouseListener(new MouseAdapter() {
@Override
......@@ -1060,7 +1107,7 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
schedulerMenu = new Menu(dropdown.getParent().getShell());
{
MenuItem mi = new MenuItem(schedulerMenu, SWT.NONE);
mi.setText("Customize ...");
mi.setText(CoreMessages.sql_editor_resultset_filter_panel_menu_customize);
mi.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
......@@ -1069,7 +1116,7 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
});
mi = new MenuItem(schedulerMenu, SWT.NONE);
mi.setText("Stop");
mi.setText(CoreMessages.sql_editor_resultset_filter_panel_menu_stop);
mi.setEnabled(viewer.isAutoRefreshEnabled());
mi.addSelectionListener(new SelectionAdapter() {
@Override
......@@ -1088,7 +1135,7 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
}
for (final Integer timeout : presetList) {
mi = new MenuItem(schedulerMenu, SWT.PUSH);
mi.setText("Refresh each " + String.valueOf(timeout) + " seconds");
mi.setText(NLS.bind(CoreMessages.sql_editor_resultset_filter_panel_menu_refresh_interval , String.valueOf(timeout)));
if (viewer.isAutoRefreshEnabled() && timeout == defaultInterval) {
schedulerMenu.setDefaultItem(mi);
}
......
......@@ -18,6 +18,7 @@
package org.jkiss.dbeaver.ui.controls.resultset.view;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
......@@ -33,6 +34,7 @@ import org.eclipse.swt.widgets.Control;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.core.CoreCommands;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
import org.jkiss.dbeaver.ui.ActionUtils;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -78,12 +80,12 @@ public class EmptyPresentation extends AbstractPresentation {
}
e.gc.setFont(largeFont);
int fontSize = largeFont.getFontData()[0].getHeight();
UIUtils.drawMessageOverControl(placeholder, e, "No Data", -(fontSize / 2));
UIUtils.drawMessageOverControl(placeholder, e, CoreMessages.sql_editor_resultset_filter_panel_control_no_data, -(fontSize / 2));
e.gc.setFont(normalFont);
if (controller.getDataContainer() instanceof SQLEditor.QueryResultsContainer) {
String execQuery = ActionUtils.findCommandDescription(CoreCommands.CMD_EXECUTE_STATEMENT, controller.getSite(), true);
String execScript = ActionUtils.findCommandDescription(CoreCommands.CMD_EXECUTE_SCRIPT, controller.getSite(), true);
UIUtils.drawMessageOverControl(placeholder, e, "Execute query (" + execQuery + ") or script (" + execScript + ") to see results", fontSize + fontSize / 3);
UIUtils.drawMessageOverControl(placeholder, e, NLS.bind(CoreMessages.sql_editor_resultset_filter_panel_control_execute_to_see_reslut, execQuery, execScript), fontSize + fontSize / 3);
}
}
......
......@@ -21,11 +21,13 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.*;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.model.connection.DBPDriverDependencies;
import org.jkiss.dbeaver.model.connection.DBPDriverLibrary;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
......@@ -48,7 +50,7 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
private DriverDependenciesTree depsTree;
DriverDownloadAutoPage() {
super("Automatic download", "Download driver files", null);
super(CoreMessages.dialog_driver_download_auto_page_auto_download, CoreMessages.dialog_driver_download_auto_page_download_driver_files, null);
setPageComplete(false);
}
......@@ -57,7 +59,7 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
final DriverDownloadWizard wizard = getWizard();
final DriverDescriptor driver = wizard.getDriver();
setMessage("Download " + driver.getFullName() + " driver files");
setMessage(NLS.bind(CoreMessages.dialog_driver_download_auto_page_download_specific_driver_files, driver.getFullName()));
initializeDialogUnits(parent);
Composite composite = UIUtils.createPlaceholder(parent, 1);
......@@ -67,11 +69,11 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
Composite infoGroup = UIUtils.createPlaceholder(composite, 2, 5);
infoGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
Label infoText = new Label(infoGroup, SWT.NONE);
infoText.setText(driver.getFullName() + " driver files are missing.\nDBeaver can download these files automatically.\n\n");
infoText.setText(NLS.bind(CoreMessages.dialog_driver_download_auto_page_driver_file_missing_text, driver.getFullName()));
infoText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
final Button forceCheckbox = UIUtils.createCheckbox(infoGroup, "Force download / overwrite", wizard.isForceDownload());
forceCheckbox.setToolTipText("Force files download. Will download files even if they are already on the disk");
final Button forceCheckbox = UIUtils.createCheckbox(infoGroup, CoreMessages.dialog_driver_download_auto_page_force_download, wizard.isForceDownload());
forceCheckbox.setToolTipText(CoreMessages.dialog_driver_download_auto_page_force_download_tooltip);
forceCheckbox.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_BEGINNING));
forceCheckbox.addSelectionListener(new SelectionAdapter() {
@Override
......@@ -82,7 +84,7 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
}
{
Group filesGroup = UIUtils.createControlGroup(composite, "Files required by driver", 1, -1, -1);
Group filesGroup = UIUtils.createControlGroup(composite, CoreMessages.dialog_driver_download_auto_page_required_files, 1, -1, -1);
filesGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
depsTree = new DriverDependenciesTree(
......@@ -103,12 +105,12 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
}
};
new Label(filesGroup, SWT.NONE).setText("You can change driver version by clicking on version column.\nThen you can choose one of the available versions.");
new Label(filesGroup, SWT.NONE).setText(CoreMessages.dialog_driver_download_auto_page_change_driver_version_text);
}
if (!wizard.isForceDownload()) {
Label infoText = new Label(composite, SWT.NONE);
infoText.setText("\nOr you can obtain driver files by yourself and add them in driver editor.");
infoText.setText(CoreMessages.dialog_driver_download_auto_page_obtain_driver_files_text);
infoText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
}
......@@ -121,7 +123,7 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
@Override
void resolveLibraries() {
if (!depsTree.resolveLibraries()) {
setErrorMessage("Can't resolve libraries. Check your network settings");
setErrorMessage(CoreMessages.dialog_driver_download_auto_page_cannot_resolve_libraries_text);
}
depsTree.resizeTree();
}
......@@ -141,7 +143,7 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
}
});
} catch (InvocationTargetException e) {
DBUserInterface.getInstance().showError("Driver download", "Error downloading driver files", e.getTargetException());
DBUserInterface.getInstance().showError(CoreMessages.dialog_driver_download_auto_page_driver_download_error, CoreMessages.dialog_driver_download_auto_page_driver_download_error_msg, e.getTargetException());
} catch (InterruptedException e) {
// ignore
}
......@@ -162,12 +164,9 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
@Override
protected Boolean runTask() {
MessageBox messageBox = new MessageBox(getShell(), SWT.ICON_WARNING | SWT.YES | SWT.NO);
messageBox.setText("Security warning");
messageBox.setMessage(
"Library '" + lib.getDisplayName() + "' wasn't found in secure repositories.\n" +
"Only non-secure version is available: " + lib.getExternalURL(monitor) + ".\n\n" +
"It is not recommended to use non-secure repositories because of possibility of malware infection.\n\n" +
"Are you sure you want to proceed?");
messageBox.setText(CoreMessages.dialog_driver_download_auto_page_driver_security_warning);
messageBox.setMessage(NLS.bind(CoreMessages.dialog_driver_download_auto_page_driver_security_warning_msg,
lib.getDisplayName(), lib.getExternalURL(monitor)));
int response = messageBox.open();
return (response == SWT.YES);
}
......@@ -180,7 +179,7 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
}
int result = IDialogConstants.OK_ID;
try {
lib.downloadLibraryFile(monitor, getWizard().isForceDownload(), "Download " + (i + 1) + "/" + filesSize);
lib.downloadLibraryFile(monitor, getWizard().isForceDownload(), NLS.bind(CoreMessages.dialog_driver_download_auto_page_download_rate, (i + 1), filesSize));
} catch (final IOException e) {
if (lib.getType() == DBPDriverLibrary.FileType.license) {
result = IDialogConstants.OK_ID;
......@@ -191,7 +190,7 @@ class DriverDownloadAutoPage extends DriverDownloadPage {
DownloadErrorDialog dialog = new DownloadErrorDialog(
null,
lib.getDisplayName(),
"Driver file download failed.\nDo you want to retry?",
CoreMessages.dialog_driver_download_auto_page_download_failed_msg,
e);
return dialog.open();
}
......
......@@ -25,6 +25,7 @@ import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.registry.driver.DriverDependencies;
import org.jkiss.dbeaver.registry.driver.DriverDescriptor;
......@@ -93,7 +94,7 @@ public class DriverDownloadDialog extends WizardDialog
DriverDownloadWizard wizard = getWizard();
if (!wizard.isForceDownload() && DriverEditDialog.getDialogCount() == 0) {
createButton(parent, EDIT_DRIVER_BUTTON_ID,
wizard.isAutoDownloadWizard() ? "Edit Driver" : "Add JARs",
wizard.isAutoDownloadWizard() ? CoreMessages.dialog_driver_download_button_edit_dirver : CoreMessages.dialog_driver_download_button_add_jars,
false);
}
......
......@@ -16,11 +16,13 @@
*/
package org.jkiss.dbeaver.ui.dialogs.driver;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.*;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.registry.driver.DriverDescriptor;
import org.jkiss.dbeaver.registry.driver.DriverFileSource;
......@@ -35,7 +37,7 @@ class DriverDownloadManualPage extends DriverDownloadPage {
private Table filesTable;
DriverDownloadManualPage() {
super("Configure driver files", "Download driver files", null);
super(CoreMessages.dialog_driver_download_manual_page_config_driver_file, CoreMessages.dialog_driver_download_manual_page_download_driver_file, null);
setPageComplete(false);
}
......@@ -43,15 +45,13 @@ class DriverDownloadManualPage extends DriverDownloadPage {
public void createControl(Composite parent) {
final DriverDescriptor driver = getWizard().getDriver();
setMessage("Download & configure " + driver.getFullName() + " driver files");
setMessage(NLS.bind(CoreMessages.dialog_driver_download_manual_page_download_config_driver_file, driver.getFullName()));
Composite composite = UIUtils.createPlaceholder(parent, 1);
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
Link infoText = new Link(composite, SWT.NONE);
infoText.setText(driver.getFullName() + " driver files missing.\n\n" +
"According to vendor policy this driver isn't publicly available\nand you have to download it manually from vendor's web site.\n\n" +
"After successful driver download you will need to <a>add JAR files</a> in DBeaver libraries list.");
infoText.setText(NLS.bind(CoreMessages.dialog_driver_download_manual_page_driver_file_missing_text, driver.getFullName()));
infoText.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
......@@ -61,7 +61,7 @@ class DriverDownloadManualPage extends DriverDownloadPage {
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
infoText.setLayoutData(gd);
Group filesGroup = UIUtils.createControlGroup(composite, "Driver files", 1, -1, -1);
Group filesGroup = UIUtils.createControlGroup(composite, CoreMessages.dialog_driver_download_manual_page_driver_file, 1, -1, -1);
gd = new GridData(GridData.FILL_HORIZONTAL);
gd.verticalIndent = 10;
filesGroup.setLayoutData(gd);
......@@ -83,9 +83,9 @@ class DriverDownloadManualPage extends DriverDownloadPage {
filesTable = new Table(filesGroup, SWT.BORDER | SWT.FULL_SELECTION);
filesTable.setHeaderVisible(true);
filesTable.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
UIUtils.createTableColumn(filesTable, SWT.LEFT, "File");
UIUtils.createTableColumn(filesTable, SWT.LEFT, "Required");
UIUtils.createTableColumn(filesTable, SWT.LEFT, "Description");
UIUtils.createTableColumn(filesTable, SWT.LEFT, CoreMessages.dialog_driver_download_manual_page_column_file);
UIUtils.createTableColumn(filesTable, SWT.LEFT, CoreMessages.dialog_driver_download_manual_page_column_required);
UIUtils.createTableColumn(filesTable, SWT.LEFT, CoreMessages.dialog_driver_download_manual_page_column_description);
sourceCombo.addSelectionListener(new SelectionAdapter() {
@Override
......@@ -112,7 +112,7 @@ class DriverDownloadManualPage extends DriverDownloadPage {
for (DriverFileSource.FileInfo file : fileSource.getFiles()) {
new TableItem(filesTable, SWT.NONE).setText(new String[] {
file.getName(),
!file.isOptional() ? "Yes" : "No",
!file.isOptional() ? CoreMessages.dialog_driver_download_manual_page_yes : CoreMessages.dialog_driver_download_manual_page_no,
CommonUtils.notEmpty(file.getDescription()) });
}
}
......
......@@ -23,6 +23,7 @@ import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Link;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.registry.driver.DriverDescriptor;
import org.jkiss.dbeaver.runtime.WebUtils;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -58,7 +59,7 @@ abstract class DriverDownloadPage extends WizardPage {
if (!CommonUtils.isEmpty(driver.getWebURL())) {
Link link = UIUtils.createLink(
linksGroup,
"<a>Vendor's website</a>",
CoreMessages.dialog_driver_download_page_vendor_link,
new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
......@@ -73,7 +74,7 @@ abstract class DriverDownloadPage extends WizardPage {
Link link = UIUtils.createLink(
linksGroup,
"<a>Download configuration</a>",
CoreMessages.dialog_driver_download_page_download_conf_link,
new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
......
......@@ -22,6 +22,7 @@ import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.IExportWizard;
import org.eclipse.ui.IWorkbench;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.registry.driver.DriverDependencies;
import org.jkiss.dbeaver.registry.driver.DriverDescriptor;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -42,7 +43,7 @@ public class DriverDownloadWizard extends Wizard implements IExportWizard {
this.dependencies = dependencies;
this.updateVersion = updateVersion;
this.forceDownload = forceDownload;
setWindowTitle(updateVersion ? "Update driver files" : "Setup driver files");
setWindowTitle(updateVersion ? CoreMessages.dialog_driver_download_wizard_title_upload_files : CoreMessages.dialog_driver_download_wizard_title_setup_files);
setNeedsProgressMonitor(isAutoDownloadWizard());
loadSettings();
}
......@@ -94,7 +95,7 @@ public class DriverDownloadWizard extends Wizard implements IExportWizard {
@Override
public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
setWindowTitle("Driver settings");
setWindowTitle(CoreMessages.dialog_driver_download_wizard_title_setting);
setNeedsProgressMonitor(isAutoDownloadWizard());
setHelpAvailable(false);
}
......@@ -112,9 +113,9 @@ public class DriverDownloadWizard extends Wizard implements IExportWizard {
public String getFinishText() {
if (isAutoDownloadWizard()) {
return "Download";
return CoreMessages.dialog_driver_download_wizard_download;
} else {
return "Open Download Page";
return CoreMessages.dialog_driver_download_wizard_open_download;
}
}
......
......@@ -18,6 +18,7 @@ package org.jkiss.dbeaver.ui.dialogs.driver;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
......@@ -63,7 +64,7 @@ public class DriverLibraryDetailsDialog extends HelpEnabledDialog
@Override
protected Control createDialogArea(Composite parent)
{
getShell().setText("Driver '" + driver.getName() + "' library '" + library.getDisplayName() + "'"); //$NON-NLS-2$
getShell().setText(NLS.bind(CoreMessages.dialog_edit_driver_text_driver_library, driver.getName(), library.getDisplayName())); //$NON-NLS-2$
getShell().setImage(DBeaverIcons.getImage(library.getIcon()));
Composite group = (Composite) super.createDialogArea(parent);
......@@ -71,14 +72,14 @@ public class DriverLibraryDetailsDialog extends HelpEnabledDialog
gd.widthHint = 500;
group.setLayoutData(gd);
Group propsGroup = UIUtils.createControlGroup(group, "Information", 2, -1, -1);
Group propsGroup = UIUtils.createControlGroup(group, CoreMessages.dialog_edit_driver_info, 2, -1, -1);
propsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
UIUtils.createLabelText(propsGroup, "Driver", driver.getName(), SWT.BORDER | SWT.READ_ONLY);
UIUtils.createLabelText(propsGroup, "Library", library.getDisplayName(), SWT.BORDER | SWT.READ_ONLY);
UIUtils.createLabelText(propsGroup, "Path", library.getPath(), SWT.BORDER | SWT.READ_ONLY);
UIUtils.createLabelText(propsGroup, "Version", library.getVersion(), SWT.BORDER | SWT.READ_ONLY);
Text fileText = UIUtils.createLabelText(propsGroup, "File", "", SWT.BORDER | SWT.READ_ONLY);
UIUtils.createLabelText(propsGroup, CoreMessages.dialog_edit_driver_driver, driver.getName(), SWT.BORDER | SWT.READ_ONLY);
UIUtils.createLabelText(propsGroup, CoreMessages.dialog_edit_driver_library, library.getDisplayName(), SWT.BORDER | SWT.READ_ONLY);
UIUtils.createLabelText(propsGroup, CoreMessages.dialog_edit_driver_path, library.getPath(), SWT.BORDER | SWT.READ_ONLY);
UIUtils.createLabelText(propsGroup, CoreMessages.dialog_edit_driver_version, library.getVersion(), SWT.BORDER | SWT.READ_ONLY);
Text fileText = UIUtils.createLabelText(propsGroup, CoreMessages.dialog_edit_driver_file, "", SWT.BORDER | SWT.READ_ONLY);
TabFolder tabs = new TabFolder(group, SWT.HORIZONTAL | SWT.FLAT);
tabs.setLayoutData(new GridData(GridData.FILL_BOTH));
......@@ -117,8 +118,8 @@ public class DriverLibraryDetailsDialog extends HelpEnabledDialog
});
TabItem depsTab = new TabItem(tabs, SWT.NONE);
depsTab.setText("Dependencies");
depsTab.setToolTipText("Library dependencies");
depsTab.setText(CoreMessages.dialog_edit_driver_tab_depencencies);
depsTab.setToolTipText(CoreMessages.dialog_edit_driver_tab_depencencies_tooltip);
depsTab.setControl(paramsGroup);
}
......@@ -126,7 +127,7 @@ public class DriverLibraryDetailsDialog extends HelpEnabledDialog
Composite detailsGroup = new Composite(tabs, SWT.NONE);
detailsGroup.setLayout(new GridLayout(1, false));
UIUtils.createControlLabel(detailsGroup, "Description");
UIUtils.createControlLabel(detailsGroup, CoreMessages.dialog_edit_driver_label_description);
Text descriptionText = new Text(detailsGroup, SWT.READ_ONLY | SWT.BORDER);
descriptionText.setText(CommonUtils.notEmpty(library.getDescription()));
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
......@@ -134,8 +135,8 @@ public class DriverLibraryDetailsDialog extends HelpEnabledDialog
descriptionText.setLayoutData(gd);
TabItem detailsTab = new TabItem(tabs, SWT.NONE);
detailsTab.setText("Details");
detailsTab.setToolTipText("Additional library information");
detailsTab.setText(CoreMessages.dialog_edit_driver_tab_detail);
detailsTab.setToolTipText(CoreMessages.dialog_edit_driver_tab_detail_tooltip);
detailsTab.setControl(detailsGroup);
}
......@@ -193,7 +194,7 @@ public class DriverLibraryDetailsDialog extends HelpEnabledDialog
paramsGroup.setLayout(new GridLayout(1, false));
Text licenseText = new Text(paramsGroup, SWT.BORDER | SWT.WRAP | SWT.MULTI | SWT.V_SCROLL);
licenseText.setText("License");
licenseText.setText(CoreMessages.dialog_edit_driver_text_license);
licenseText.setEditable(false);
licenseText.setMessage(CoreMessages.dialog_edit_driver_text_driver_license);
final GridData gd = new GridData(GridData.FILL_BOTH);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册