From 79a26611743636ac00d75719a6a8fab87904dcdd Mon Sep 17 00:00:00 2001 From: Anish Mishra Date: Thu, 8 May 2025 11:44:07 +0530 Subject: [PATCH] Layouting support --- assets/icons/CodeEditor.svg | 1 + assets/icons/CodeEditor.svg.import | 37 ++ .../icons/{ViewInList.svg => Inspector.svg} | 0 ...InList.svg.import => Inspector.svg.import} | 6 +- assets/icons/Layouts.svg | 1 + assets/icons/Layouts.svg.import | 37 ++ assets/icons/Viewport.svg | 1 + assets/icons/Viewport.svg.import | 37 ++ export_presets.cfg | 2 +- godot_only/scripts/tests.gd | 2 +- src/autoload/Configs.gd | 2 + src/autoload/State.gd | 16 +- src/config_classes/SaveData.gd | 113 ++++- src/data_classes/DB.gd | 2 +- src/data_classes/SVGParser.gd | 2 +- src/ui_parts/code_editor.gd | 2 +- src/ui_parts/code_editor.tscn | 5 +- src/ui_parts/display.tscn | 2 +- src/ui_parts/editor_scene.gd | 125 ++++++ src/ui_parts/editor_scene.tscn | 43 +- src/ui_parts/element_container.gd | 4 +- src/ui_parts/global_actions.gd | 17 + src/ui_parts/global_actions.tscn | 11 +- src/ui_parts/handles_manager.gd | 7 +- src/ui_parts/inspector.gd | 1 + src/ui_parts/inspector.tscn | 6 +- src/ui_parts/layout_popup.gd | 388 ++++++++++++++++++ src/ui_parts/layout_popup.gd.uid | 1 + src/ui_parts/layout_popup.tscn | 11 + src/ui_parts/tab_bar.gd | 8 +- src/ui_parts/viewport.gd | 2 +- src/ui_widgets/basic_xnode_frame.gd | 8 +- src/ui_widgets/color_popup.gd | 2 +- src/ui_widgets/color_swatch_config.gd | 6 +- src/ui_widgets/element_frame.gd | 8 +- src/ui_widgets/palette_config.gd | 4 +- src/ui_widgets/pathdata_field.gd | 2 +- src/ui_widgets/points_field.gd | 6 +- src/ui_widgets/presented_shortcut.gd | 1 + src/{ui_parts => ui_widgets}/zoom_menu.gd | 47 +-- src/{ui_parts => ui_widgets}/zoom_menu.gd.uid | 0 src/{ui_parts => ui_widgets}/zoom_menu.tscn | 4 +- src/utils/ShortcutUtils.gd | 4 +- src/utils/ThemeUtils.gd | 1 + src/utils/TranslationUtils.gd | 8 + src/utils/Utils.gd | 12 + translations/GodSVG.pot | 317 +++++++------- translations/bg.po | 339 ++++++++------- translations/de.po | 341 ++++++++------- translations/en.po | 317 +++++++------- translations/et.po | 345 +++++++++------- translations/fr.po | 341 ++++++++------- translations/nl.po | 359 +++++++++------- translations/pt_BR.po | 341 ++++++++------- translations/ru.po | 345 +++++++++------- translations/uk.po | 343 +++++++++------- translations/zh_CN.po | 343 +++++++++------- 57 files changed, 2976 insertions(+), 1760 deletions(-) create mode 100644 assets/icons/CodeEditor.svg create mode 100644 assets/icons/CodeEditor.svg.import rename assets/icons/{ViewInList.svg => Inspector.svg} (100%) rename assets/icons/{ViewInList.svg.import => Inspector.svg.import} (74%) create mode 100644 assets/icons/Layouts.svg create mode 100644 assets/icons/Layouts.svg.import create mode 100644 assets/icons/Viewport.svg create mode 100644 assets/icons/Viewport.svg.import create mode 100644 src/ui_parts/layout_popup.gd create mode 100644 src/ui_parts/layout_popup.gd.uid create mode 100644 src/ui_parts/layout_popup.tscn rename src/{ui_parts => ui_widgets}/zoom_menu.gd (54%) rename src/{ui_parts => ui_widgets}/zoom_menu.gd.uid (100%) rename src/{ui_parts => ui_widgets}/zoom_menu.tscn (88%) diff --git a/assets/icons/CodeEditor.svg b/assets/icons/CodeEditor.svg new file mode 100644 index 0000000..eb9075a --- /dev/null +++ b/assets/icons/CodeEditor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/CodeEditor.svg.import b/assets/icons/CodeEditor.svg.import new file mode 100644 index 0000000..28cc648 --- /dev/null +++ b/assets/icons/CodeEditor.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drl587rrnbwo3" +path="res://.godot/imported/CodeEditor.svg-0e7e65ddead32356f4603181bf8c379c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/CodeEditor.svg" +dest_files=["res://.godot/imported/CodeEditor.svg-0e7e65ddead32356f4603181bf8c379c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/assets/icons/ViewInList.svg b/assets/icons/Inspector.svg similarity index 100% rename from assets/icons/ViewInList.svg rename to assets/icons/Inspector.svg diff --git a/assets/icons/ViewInList.svg.import b/assets/icons/Inspector.svg.import similarity index 74% rename from assets/icons/ViewInList.svg.import rename to assets/icons/Inspector.svg.import index cf3cb8e..76bd231 100644 --- a/assets/icons/ViewInList.svg.import +++ b/assets/icons/Inspector.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://oha0oauf4kup" -path="res://.godot/imported/ViewInList.svg-e0595b44695503f2072a608f260e2171.ctex" +path="res://.godot/imported/Inspector.svg-16dc105bb2fde5191bb55e4179b50443.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/icons/ViewInList.svg" -dest_files=["res://.godot/imported/ViewInList.svg-e0595b44695503f2072a608f260e2171.ctex"] +source_file="res://assets/icons/Inspector.svg" +dest_files=["res://.godot/imported/Inspector.svg-16dc105bb2fde5191bb55e4179b50443.ctex"] [params] diff --git a/assets/icons/Layouts.svg b/assets/icons/Layouts.svg new file mode 100644 index 0000000..2eb318c --- /dev/null +++ b/assets/icons/Layouts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/Layouts.svg.import b/assets/icons/Layouts.svg.import new file mode 100644 index 0000000..8b9c759 --- /dev/null +++ b/assets/icons/Layouts.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6mqp088ef65" +path="res://.godot/imported/Layouts.svg-1c07a3528e532f1c03ca36a1edac552d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/Layouts.svg" +dest_files=["res://.godot/imported/Layouts.svg-1c07a3528e532f1c03ca36a1edac552d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/assets/icons/Viewport.svg b/assets/icons/Viewport.svg new file mode 100644 index 0000000..b7910b6 --- /dev/null +++ b/assets/icons/Viewport.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/Viewport.svg.import b/assets/icons/Viewport.svg.import new file mode 100644 index 0000000..a3dec21 --- /dev/null +++ b/assets/icons/Viewport.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://baxqpqub1hxmr" +path="res://.godot/imported/Viewport.svg-f8c0ca66b45914e279c67a6c13d5852c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/Viewport.svg" +dest_files=["res://.godot/imported/Viewport.svg-f8c0ca66b45914e279c67a6c13d5852c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/export_presets.cfg b/export_presets.cfg index a094993..9c14a29 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -34,7 +34,7 @@ architectures/arm64-v8a=true architectures/x86=false architectures/x86_64=false version/code=1 -version/name="1.0-alpha1" +version/name="1.0-alpha2" package/unique_name="com.godsvg.mobile" package/name="GodSVG Mobile" package/signed=true diff --git a/godot_only/scripts/tests.gd b/godot_only/scripts/tests.gd index d372a40..14e0045 100644 --- a/godot_only/scripts/tests.gd +++ b/godot_only/scripts/tests.gd @@ -31,7 +31,7 @@ func pathdata_tests(print_success := false) -> bool: } var tests_passed := true - for test in tests.keys(): + for test in tests: var result := AttributePathdata.pathdata_to_arrays(test) var expected: Array = tests[test] if result != expected: diff --git a/src/autoload/Configs.gd b/src/autoload/Configs.gd index 8ced14a..e2323d8 100644 --- a/src/autoload/Configs.gd +++ b/src/autoload/Configs.gd @@ -29,6 +29,8 @@ signal active_tab_reference_changed signal active_tab_changed @warning_ignore("unused_signal") signal tabs_changed +@warning_ignore("unused_signal") +signal layout_changed const savedata_path = "user://savedata.tres" var savedata: SaveData: diff --git a/src/autoload/State.gd b/src/autoload/State.gd index 42327b9..8894b29 100644 --- a/src/autoload/State.gd +++ b/src/autoload/State.gd @@ -735,9 +735,7 @@ func insert_point_after_selection() -> void: queue_svg_save() -enum Context {VIEWPORT, LIST} - -func get_selection_context(popup_method: Callable, context: Context) -> ContextPopup: +func get_selection_context(popup_method: Callable, context: Utils.LayoutPart) -> ContextPopup: var btn_arr: Array[Button] = [] if not selected_xids.is_empty(): @@ -761,10 +759,10 @@ func get_selection_context(popup_method: Callable, context: Context) -> ContextP can_move_up = true if not can_move_down and base_xid[-1] < parent_child_count - filtered_count: can_move_down = true - if context == Context.VIEWPORT: - btn_arr.append(ContextPopup.create_button(Translator.translate("View in List"), + if context == Utils.LayoutPart.VIEWPORT: + btn_arr.append(ContextPopup.create_button(Translator.translate("View in Inspector"), view_in_list.bind(selected_xids[0]), false, - load("res://assets/icons/ViewInList.svg"))) + load("res://assets/icons/Inspector.svg"))) btn_arr.append(ContextPopup.create_shortcut_button("duplicate")) @@ -787,14 +785,14 @@ func get_selection_context(popup_method: Callable, context: Context) -> ContextP elif not inner_selections.is_empty() and not semi_selected_xid.is_empty(): var element_ref := root_element.get_xnode(semi_selected_xid) - if context == Context.VIEWPORT: + if context == Utils.LayoutPart.VIEWPORT: var inner_idx := inner_selections[0] for idx in inner_selections: if idx < inner_idx: inner_idx = idx - btn_arr.append(ContextPopup.create_button(Translator.translate("View in List"), + btn_arr.append(ContextPopup.create_button(Translator.translate("View in Inspector"), view_in_list.bind(semi_selected_xid, inner_idx), false, - load("res://assets/icons/ViewInList.svg"))) + load("res://assets/icons/Inspector.svg"))) match element_ref.name: "path": if inner_selections.size() == 1: diff --git a/src/config_classes/SaveData.gd b/src/config_classes/SaveData.gd index 30452c9..add6355 100644 --- a/src/config_classes/SaveData.gd +++ b/src/config_classes/SaveData.gd @@ -57,6 +57,14 @@ func validate() -> void: export_formatter = Formatter.new(Formatter.Preset.COMPACT) if _active_tab_index >= _tabs.size() or _active_tab_index < 0: _active_tab_index = _active_tab_index # Run the setter. + + # End of the method, would need to be rewritten if more things need validation. + for location in [LayoutLocation.TOP_LEFT, LayoutLocation.BOTTOM_LEFT]: + if _layout.has(location) and not _layout[location].is_empty(): + return + _layout = { + LayoutLocation.TOP_LEFT: [Utils.LayoutPart.CODE_EDITOR, Utils.LayoutPart.INSPECTOR] + } const CURRENT_VERSION = 1 @@ -239,9 +247,10 @@ const HANDLE_SIZE_MAX = 4.0 @export var handle_size := 1.0: set(new_value): # Validation - new_value = clampf(new_value, HANDLE_SIZE_MIN, HANDLE_SIZE_MAX) if is_nan(new_value): new_value = get_setting_default("handle_size") + else: + new_value = clampf(new_value, HANDLE_SIZE_MIN, HANDLE_SIZE_MAX) # Main part if handle_size != new_value: handle_size = new_value @@ -267,9 +276,10 @@ const MAX_SNAP = 16384 @export var snap := -0.5: # Negative when disabled. set(new_value): # Validation - new_value = clampf(new_value, -MAX_SNAP, MAX_SNAP) if is_nan(new_value): new_value = -0.5 + else: + new_value = clampf(new_value, -MAX_SNAP, MAX_SNAP) # Main part if snap != new_value: snap = new_value @@ -595,9 +605,10 @@ const MAX_TABS = 50 if _tabs.is_empty(): _add_new_tab() - new_value = clampi(new_value, 0, _tabs.size() - 1) if is_nan(new_value): new_value = 0 + else: + new_value = clampi(new_value, 0, _tabs.size() - 1) # Main part if _active_tab_index != new_value: _active_tab_index = new_value @@ -738,6 +749,102 @@ func move_tab(old_idx: int, new_idx: int) -> void: Configs.tabs_changed.emit() +enum LayoutLocation {NONE, EXCLUDED, TOP_LEFT, BOTTOM_LEFT} + +@export var _layout: Dictionary[LayoutLocation, Array]: # Array[Utils.LayoutPart] + set(new_value): + # Validation + for key in new_value: + # Ensure keys correspond to layout locations. + if key < 0 or key >= LayoutLocation.size() or key == LayoutLocation.NONE: + new_value.erase(key) + else: + # Ensure arrays correspond to layout parts. + var arr := new_value[key] + for i in range(arr.size() - 1, -1, -1): + if not arr[i] is Utils.LayoutPart or arr[i] < 0 or\ + arr[i] >= Utils.LayoutPart.size(): + arr.remove_at(i) + # Ensure non-duplicate layout parts and no empty arrays. + var used_layout_parts: Array[Utils.LayoutPart] = [] + for location in LayoutLocation.size(): + if new_value.has(location): + var arr := new_value[location] + for i in range(arr.size() - 1, -1, -1): + if arr[i] in used_layout_parts: + arr.remove_at(i) + else: + used_layout_parts.append(arr[i]) + if arr.is_empty(): + new_value.erase(location) + # Put all layout parts that aren't listed in excluded. + used_layout_parts += [Utils.LayoutPart.NONE, Utils.LayoutPart.VIEWPORT] + for part in Utils.LayoutPart.size(): + if not part in used_layout_parts: + if not new_value.has(LayoutLocation.EXCLUDED): + new_value[LayoutLocation.EXCLUDED] = [] + new_value[LayoutLocation.EXCLUDED].append(part) + # Main part + if _layout != new_value: + _layout = new_value + emit_changed() + +func set_layout_parts(location: LayoutLocation, parts: Array[Utils.LayoutPart], +notify_layout_changed := true) -> void: + if (_layout.has(location) and parts == _layout[location]) or\ + (not _layout.has(location) and parts.is_empty()): + return + + if parts.is_empty(): + _layout.erase(location) + else: + _layout[location] = parts + emit_changed() + if notify_layout_changed: + Configs.layout_changed.emit() + +func get_layout_parts(location: LayoutLocation) -> Array[Utils.LayoutPart]: + if _layout.has(location): + var output: Array[Utils.LayoutPart] = [] + output.assign(_layout[location]) + return output + else: + return [] + +func get_layout_part_location(part: Utils.LayoutPart) -> LayoutLocation: + for location in _layout: + if _layout[location].has(part): + return location + return LayoutLocation.NONE + +func get_layout_part_index(part: Utils.LayoutPart) -> int: + for location in _layout: + if _layout[location].has(part): + return _layout[location].find(part) + return -1 + + +@export var main_splitter_offset := -180: + set(new_value): + # Validation + if is_nan(new_value): + new_value = 0 + # Main part + if main_splitter_offset != new_value: + main_splitter_offset = new_value + emit_changed() + +@export var top_vertical_splitter_offset := -240: + set(new_value): + # Validation + if is_nan(new_value): + new_value = 0 + # Main part + if top_vertical_splitter_offset != new_value: + top_vertical_splitter_offset = new_value + emit_changed() + + # Utility func get_validity_color(error_condition: bool, warning_condition := false) -> Color: diff --git a/src/data_classes/DB.gd b/src/data_classes/DB.gd index aff2028..c8bcdf2 100644 --- a/src/data_classes/DB.gd +++ b/src/data_classes/DB.gd @@ -164,7 +164,7 @@ static func is_child_element_valid(parent_name: String, child_name: String) -> b static func get_valid_parents(child_name: String) -> PackedStringArray: var valid_parents := PackedStringArray() - for parent_name in _valid_children.keys(): + for parent_name in _valid_children: if child_name in _valid_children[parent_name]: valid_parents.append(parent_name) return valid_parents diff --git a/src/data_classes/SVGParser.gd b/src/data_classes/SVGParser.gd index 1614caf..cbc8228 100644 --- a/src/data_classes/SVGParser.gd +++ b/src/data_classes/SVGParser.gd @@ -183,7 +183,7 @@ static func _xnode_to_export_text(xnode: XNode) -> String: enum ParseError {OK, ERR_NOT_SVG, ERR_IMPROPER_NESTING} -class ParseResult extends RefCounted: +class ParseResult: var error: SVGParser.ParseError var svg: ElementRoot diff --git a/src/ui_parts/code_editor.gd b/src/ui_parts/code_editor.gd index 82c31ae..6f5ec47 100644 --- a/src/ui_parts/code_editor.gd +++ b/src/ui_parts/code_editor.gd @@ -4,7 +4,6 @@ extends VBoxContainer @onready var code_edit: TextEdit = $ScriptEditor/SVGCodeEdit @onready var error_bar: PanelContainer = $ScriptEditor/ErrorBar @onready var error_label: RichTextLabel = $ScriptEditor/ErrorBar/Label - @onready var options_button: Button = %MetaActions/OptionsButton func _ready() -> void: @@ -15,6 +14,7 @@ func _ready() -> void: update_syntax_highlighter() code_edit.clear_undo_history() State.svg_changed.connect(auto_update_text) + auto_update_text() func auto_update_text() -> void: diff --git a/src/ui_parts/code_editor.tscn b/src/ui_parts/code_editor.tscn index a49c4e5..b15cc1f 100644 --- a/src/ui_parts/code_editor.tscn +++ b/src/ui_parts/code_editor.tscn @@ -6,7 +6,8 @@ [ext_resource type="Script" uid="uid://dh5mir6i27u4u" path="res://src/ui_widgets/BetterTextEdit.gd" id="8_ser4i"] [node name="CodeEditor" type="VBoxContainer"] -custom_minimum_size = Vector2(0, 120) +offset_right = 24.0 +offset_bottom = 120.0 size_flags_vertical = 3 theme_override_constants/separation = 0 script = ExtResource("1_nffk0") @@ -32,8 +33,8 @@ icon = ExtResource("4_sos04") icon_alignment = 1 [node name="ScriptEditor" type="VBoxContainer" parent="."] +custom_minimum_size = Vector2(0, 150) layout_mode = 2 -size_flags_horizontal = 3 size_flags_vertical = 3 theme_override_constants/separation = -2 diff --git a/src/ui_parts/display.tscn b/src/ui_parts/display.tscn index 104746c..0b6dc21 100644 --- a/src/ui_parts/display.tscn +++ b/src/ui_parts/display.tscn @@ -6,7 +6,7 @@ [ext_resource type="Texture2D" uid="uid://buire51l0mifg" path="res://assets/icons/Snap.svg" id="5_1k2cq"] [ext_resource type="Script" uid="uid://ynx3s1jc6bwq" path="res://src/ui_widgets/BetterButton.gd" id="6_3v3ve"] [ext_resource type="PackedScene" uid="uid://dad7fkhmsooc6" path="res://src/ui_widgets/number_edit.tscn" id="7_wrrfr"] -[ext_resource type="PackedScene" uid="uid://oltvrf01xrxl" path="res://src/ui_parts/zoom_menu.tscn" id="8_xtdmn"] +[ext_resource type="PackedScene" uid="uid://oltvrf01xrxl" path="res://src/ui_widgets/zoom_menu.tscn" id="8_xtdmn"] [ext_resource type="Script" uid="uid://b6pmlbnl76wmm" path="res://src/ui_parts/viewport.gd" id="9_4xrk7"] [ext_resource type="Script" uid="uid://rqrxhe8wa6fn" path="res://src/ui_parts/tab_bar.gd" id="9_rll1m"] [ext_resource type="Shader" uid="uid://i2y5pyhcgra2" path="res://src/shaders/zoom_shader.gdshader" id="10_x7ybk"] diff --git a/src/ui_parts/editor_scene.gd b/src/ui_parts/editor_scene.gd index 2076b6e..3e2bc96 100644 --- a/src/ui_parts/editor_scene.gd +++ b/src/ui_parts/editor_scene.gd @@ -1 +1,126 @@ extends VBoxContainer + +const GlobalActionsScene = preload("res://src/ui_parts/global_actions.tscn") +const CodeEditorScene = preload("res://src/ui_parts/code_editor.tscn") +const InspectorScene = preload("res://src/ui_parts/inspector.tscn") +const ViewportScene = preload("res://src/ui_parts/display.tscn") + +@onready var panel_container: PanelContainer = $PanelContainer + +func _ready() -> void: + Configs.theme_changed.connect(update_theme) + Configs.layout_changed.connect(update_layout) + update_layout() + update_theme() + +func update_theme() -> void: + var stylebox := StyleBoxFlat.new() + stylebox.bg_color = ThemeUtils.overlay_panel_inner_color + stylebox.set_content_margin_all(0) + panel_container.add_theme_stylebox_override("panel", stylebox) + + +func update_layout() -> void: + for child in panel_container.get_children(): + child.queue_free() + + var top_left := Configs.savedata.get_layout_parts(SaveData.LayoutLocation.TOP_LEFT) + var bottom_left := Configs.savedata.get_layout_parts(SaveData.LayoutLocation.BOTTOM_LEFT) + + # Set up the horizontal splitter. + var main_splitter := VSplitContainer.new() + main_splitter.size_flags_horizontal = Control.SIZE_FILL + main_splitter.add_theme_constant_override("separation", 6) + main_splitter.split_offset = Configs.savedata.main_splitter_offset + main_splitter.dragged.connect(_on_main_splitter_dragged) + panel_container.add_child(main_splitter) + + var top_margin_container := MarginContainer.new() + top_margin_container.custom_minimum_size.x = 350 + top_margin_container.begin_bulk_theme_override() + top_margin_container.add_theme_constant_override("margin_top", 6) + top_margin_container.add_theme_constant_override("margin_bottom", 6) + top_margin_container.add_theme_constant_override("margin_left", 6) + top_margin_container.end_bulk_theme_override() + main_splitter.add_child(top_margin_container) + + var bottom_margin_container := MarginContainer.new() + bottom_margin_container.add_theme_constant_override("margin_top", 6) + bottom_margin_container.add_child(create_layout_node(Utils.LayoutPart.VIEWPORT)) + main_splitter.add_child(bottom_margin_container) + + var left_vbox := VBoxContainer.new() + left_vbox.add_theme_constant_override("separation", 6) + top_margin_container.add_child(left_vbox) + + var global_actions := GlobalActionsScene.instantiate() + left_vbox.add_child(global_actions) + + if not top_left.is_empty() and not bottom_left.is_empty(): + # Layout parts both on top and on the bottom. + var top_vertical_split_container := VSplitContainer.new() + top_vertical_split_container.size_flags_vertical = Control.SIZE_EXPAND_FILL + top_vertical_split_container.add_theme_constant_override("separation", 10) + top_vertical_split_container.split_offset = Configs.savedata.top_vertical_splitter_offset + top_vertical_split_container.dragged.connect(_on_top_vertical_splitter_dragged) + top_vertical_split_container.add_child(create_layout_node(top_left[0])) + top_vertical_split_container.add_child(create_layout_node(bottom_left[0])) + left_vbox.add_child(top_vertical_split_container) + elif top_left.size() == 2 or bottom_left.size() == 2: + # Tabs for the different layout parts. + var layout_parts := top_left if bottom_left.is_empty() else bottom_left + var vbox := VBoxContainer.new() + vbox.size_flags_vertical = Control.SIZE_EXPAND_FILL + var buttons_hbox := HBoxContainer.new() + buttons_hbox.size_flags_horizontal = Control.SIZE_SHRINK_CENTER + buttons_hbox.add_theme_constant_override("separation", 10) + vbox.add_child(buttons_hbox) + + var layout_nodes: Dictionary[Utils.LayoutPart, Node] = {} + for part in layout_parts: + var layout_node := create_layout_node(part) + layout_nodes[part] = layout_node + layout_node.hide() + vbox.add_child(layout_node) + + var btn_group := ButtonGroup.new() + for i in layout_parts.size(): + var part := layout_parts[i] + var btn := Button.new() + btn.toggle_mode = true + btn.text = TranslationUtils.get_layout_part_name(part) + btn.icon = Utils.get_layout_part_icon(part) + btn.theme_type_variation = "FlatButton" + btn.focus_mode = Control.FOCUS_NONE + btn.action_mode = BaseButton.ACTION_MODE_BUTTON_PRESS + btn.button_group = btn_group + for node_part in layout_nodes: + if node_part == part: + btn.pressed.connect(layout_nodes[node_part].show) + else: + btn.pressed.connect(layout_nodes[node_part].hide) + buttons_hbox.add_child(btn) + if i == 0: + btn.button_pressed = true + layout_nodes[part].show() + left_vbox.add_child(vbox) + else: + # Layout parts disabled. + if not top_left.is_empty(): + left_vbox.add_child(create_layout_node(top_left[0])) + elif not bottom_left.is_empty(): + left_vbox.add_child(create_layout_node(bottom_left[0])) + +func _on_main_splitter_dragged(offset: int) -> void: + Configs.savedata.main_splitter_offset = offset + +func _on_top_vertical_splitter_dragged(offset: int) -> void: + Configs.savedata.top_vertical_splitter_offset = offset + + +func create_layout_node(layout_part: Utils.LayoutPart) -> Node: + match layout_part: + Utils.LayoutPart.CODE_EDITOR: return CodeEditorScene.instantiate() + Utils.LayoutPart.INSPECTOR: return InspectorScene.instantiate() + Utils.LayoutPart.VIEWPORT: return ViewportScene.instantiate() + _: return Control.new() diff --git a/src/ui_parts/editor_scene.tscn b/src/ui_parts/editor_scene.tscn index 3a9acab..dcfd40a 100644 --- a/src/ui_parts/editor_scene.tscn +++ b/src/ui_parts/editor_scene.tscn @@ -1,13 +1,6 @@ -[gd_scene load_steps=7 format=3 uid="uid://bihwwoedqcyo8"] +[gd_scene load_steps=2 format=3 uid="uid://bihwwoedqcyo8"] [ext_resource type="Script" uid="uid://dunoppeuubgd1" path="res://src/ui_parts/editor_scene.gd" id="1_o7lif"] -[ext_resource type="PackedScene" uid="uid://cxmrx6t4jkhyj" path="res://src/ui_parts/global_actions.tscn" id="2_p8urg"] -[ext_resource type="PackedScene" uid="uid://cr1fdlmbknnko" path="res://src/ui_parts/code_editor.tscn" id="3_4uluy"] -[ext_resource type="PackedScene" uid="uid://ccynisiuyn5qn" path="res://src/ui_parts/inspector.tscn" id="4_jik7v"] -[ext_resource type="PackedScene" uid="uid://bvrncl7e6yn5b" path="res://src/ui_parts/display.tscn" id="5_gb5yr"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mt61i"] -bg_color = Color(0.0745098, 0.0745098, 0.121569, 0.501961) [node name="MainScene" type="VBoxContainer"] anchors_preset = 15 @@ -18,38 +11,6 @@ grow_vertical = 2 theme_override_constants/separation = 0 script = ExtResource("1_o7lif") -[node name="MarginContainer" type="MarginContainer" parent="."] -layout_mode = 2 -theme_override_constants/margin_left = 5 -theme_override_constants/margin_top = 3 -theme_override_constants/margin_right = 5 -theme_override_constants/margin_bottom = 3 - -[node name="GlobalActions" parent="MarginContainer" instance=ExtResource("2_p8urg")] -layout_mode = 2 - -[node name="HSplitContainer" type="VSplitContainer" parent="."] +[node name="PanelContainer" type="PanelContainer" parent="."] layout_mode = 2 size_flags_vertical = 3 -theme_override_constants/separation = 30 -theme_override_styles/split_bar_background = SubResource("StyleBoxFlat_mt61i") - -[node name="TabContainer" type="TabContainer" parent="HSplitContainer"] -layout_mode = 2 -tab_alignment = 1 -current_tab = 0 -tabs_position = 1 - -[node name="Inspector" parent="HSplitContainer/TabContainer" instance=ExtResource("4_jik7v")] -custom_minimum_size = Vector2(0, 120) -layout_mode = 2 -metadata/_tab_index = 0 - -[node name="CodeEditor" parent="HSplitContainer/TabContainer" instance=ExtResource("3_4uluy")] -visible = false -layout_mode = 2 -metadata/_tab_index = 1 - -[node name="Display" parent="HSplitContainer" instance=ExtResource("5_gb5yr")] -unique_name_in_owner = true -layout_mode = 2 diff --git a/src/ui_parts/element_container.gd b/src/ui_parts/element_container.gd index fbd4b49..25ac3fc 100644 --- a/src/ui_parts/element_container.gd +++ b/src/ui_parts/element_container.gd @@ -79,7 +79,9 @@ func update_proposed_xid() -> void: func _notification(what: int) -> void: - if is_inside_tree() and HandlerGUI.menu_stack.is_empty(): + # TODO This stuff easily passes through on unrelated drag & drops. What to do?! + if is_inside_tree() and visible and HandlerGUI.menu_stack.is_empty() and\ + HandlerGUI.popup_stack.is_empty(): if what == NOTIFICATION_DRAG_BEGIN: set_dragging(true) update_proposed_xid() diff --git a/src/ui_parts/global_actions.gd b/src/ui_parts/global_actions.gd index 374a82b..86eff15 100644 --- a/src/ui_parts/global_actions.gd +++ b/src/ui_parts/global_actions.gd @@ -1,11 +1,22 @@ extends HBoxContainer +const LayoutPopup = preload("res://src/ui_parts/layout_popup.gd") + +const LayoutPopupScene = preload("res://src/ui_parts/layout_popup.tscn") + @onready var more_options: Button = $LeftSide/MoreOptions @onready var size_button: Button = $RightSide/SizeButton +@onready var layout_button: Button = $LeftSide/LayoutButton + +func update_translation() -> void: + layout_button.tooltip_text = Translator.translate("Layout") func _ready() -> void: State.svg_changed.connect(update_size_button) + update_size_button() Configs.basic_colors_changed.connect(update_size_button_colors) + Configs.language_changed.connect(update_translation) + update_translation() # Fix the size button sizing. size_button.begin_bulk_theme_override() @@ -19,6 +30,7 @@ func _ready() -> void: more_options.pressed.connect(_on_more_options_pressed) size_button.pressed.connect(_on_size_button_pressed) + layout_button.pressed.connect(_on_layout_button_pressed) func _on_size_button_pressed() -> void: @@ -80,3 +92,8 @@ func update_size_button_colors() -> void: size_button.add_theme_color_override(theme_type, Configs.savedata.basic_color_warning.lerp(Color.WHITE, 0.5)) size_button.end_bulk_theme_override() + +func _on_layout_button_pressed() -> void: + var layout_popup := LayoutPopupScene.instantiate() + HandlerGUI.popup_under_rect_center(layout_popup, layout_button.get_global_rect(), + get_viewport()) diff --git a/src/ui_parts/global_actions.tscn b/src/ui_parts/global_actions.tscn index cf48168..85e5554 100644 --- a/src/ui_parts/global_actions.tscn +++ b/src/ui_parts/global_actions.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=3 uid="uid://cxmrx6t4jkhyj"] +[gd_scene load_steps=10 format=3 uid="uid://cxmrx6t4jkhyj"] [ext_resource type="Script" uid="uid://cgbgw4ok5jxk5" path="res://src/ui_parts/global_actions.gd" id="1_x4rqo"] [ext_resource type="Texture2D" uid="uid://ccbta5q43jobk" path="res://assets/icons/More.svg" id="2_71075"] @@ -8,6 +8,7 @@ [ext_resource type="Script" uid="uid://ynx3s1jc6bwq" path="res://src/ui_widgets/BetterButton.gd" id="4_f81d5"] [ext_resource type="FontFile" uid="uid://dc0w4sx0h0fui" path="res://assets/fonts/FontBold.ttf" id="4_xl5uh"] [ext_resource type="Script" uid="uid://41g64ussxcbn" path="res://src/ui_parts/current_file_button.gd" id="5_14xct"] +[ext_resource type="Texture2D" uid="uid://b6mqp088ef65" path="res://assets/icons/Layouts.svg" id="5_tx4gi"] [node name="GlobalActions" type="HBoxContainer"] offset_right = 52.0 @@ -37,6 +38,14 @@ script = ExtResource("4_f81d5") action = "open_settings" metadata/_custom_type_script = "uid://ynx3s1jc6bwq" +[node name="LayoutButton" type="Button" parent="LeftSide"] +layout_mode = 2 +size_flags_horizontal = 2 +focus_mode = 0 +mouse_default_cursor_shape = 2 +theme_type_variation = &"IconButton" +icon = ExtResource("5_tx4gi") + [node name="RightSide" type="HBoxContainer" parent="."] layout_mode = 2 diff --git a/src/ui_parts/handles_manager.gd b/src/ui_parts/handles_manager.gd index ba8df15..0b18a26 100644 --- a/src/ui_parts/handles_manager.gd +++ b/src/ui_parts/handles_manager.gd @@ -96,7 +96,7 @@ func _ready() -> void: State.zoom_changed.connect(queue_redraw) State.handle_added.connect(_on_handle_added) State.show_handles_changed.connect(toggle_visibility) - State.view_changed.connect(HandlerGUI.throw_mouse_motion_event) + State.view_changed.connect(_on_view_changed) queue_update_handles() @@ -784,7 +784,7 @@ func _unhandled_input(event: InputEvent) -> void: HandlerGUI.popup_under_pos(State.get_selection_context( HandlerGUI.popup_under_pos.bind(popup_pos, vp), - State.Context.VIEWPORT), popup_pos, vp) + Utils.LayoutPart.VIEWPORT), popup_pos, vp) func find_nearest_handle(event_pos: Vector2) -> Handle: var nearest_handle: Handle = null @@ -819,6 +819,9 @@ func apply_snap(pos: Vector2) -> PackedFloat64Array: return PackedFloat64Array([snappedf(pos.x, snap_size), snappedf(pos.y, snap_size)]) +func _on_view_changed() -> void: + HandlerGUI.throw_mouse_motion_event() + func _on_handle_added() -> void: if not get_viewport_rect().has_point(get_viewport().get_mouse_position()): if not State.semi_selected_xid.is_empty(): diff --git a/src/ui_parts/inspector.gd b/src/ui_parts/inspector.gd index c58475f..009372e 100644 --- a/src/ui_parts/inspector.gd +++ b/src/ui_parts/inspector.gd @@ -11,6 +11,7 @@ func _ready() -> void: update_translation() State.xnode_layout_changed.connect(full_rebuild) State.svg_unknown_change.connect(full_rebuild) + full_rebuild() add_button.pressed.connect(_on_add_button_pressed) diff --git a/src/ui_parts/inspector.tscn b/src/ui_parts/inspector.tscn index 587e0f3..8ed9057 100644 --- a/src/ui_parts/inspector.tscn +++ b/src/ui_parts/inspector.tscn @@ -7,12 +7,11 @@ [ext_resource type="Script" uid="uid://b04padjc3w1s8" path="res://src/ui_parts/move_to_overlay.gd" id="5_otlmf"] [node name="Inspector" type="Container"] -anchors_preset = 15 -anchor_right = 1.0 +anchors_preset = 9 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -size_flags_horizontal = 3 +size_flags_vertical = 3 script = ExtResource("1_16ggy") border_width = 2 corner_radius_top_left = 5 @@ -34,6 +33,7 @@ theme_override_constants/h_separation = 4 icon = ExtResource("3_vo6hf") [node name="ElementContainer" type="Control" parent="."] +custom_minimum_size = Vector2(0, 150) layout_mode = 2 size_flags_vertical = 3 script = ExtResource("3_qeptj") diff --git a/src/ui_parts/layout_popup.gd b/src/ui_parts/layout_popup.gd new file mode 100644 index 0000000..4fd6bb4 --- /dev/null +++ b/src/ui_parts/layout_popup.gd @@ -0,0 +1,388 @@ +extends Control + +# This popup is mainly just one node doing a lot of things. This helps with drag & drop +# which can be defined only here. Buttons are used too, but just for graphics. + +class DragData: + var layout_part: Utils.LayoutPart + var layout_location: SaveData.LayoutLocation + var idx: int + + func _init(new_layout_part: Utils.LayoutPart, + new_layout_location: SaveData.LayoutLocation, new_idx: int) -> void: + layout_part = new_layout_part + layout_location = new_layout_location + idx = new_idx + +const PART_UI_SIZE = 30 +const PANEL_MARGIN = 4 +const BUFFER_SIZE = 2 + +var ci := get_canvas_item() + +# This is for the big rectangles. +var section_areas: Dictionary[SaveData.LayoutLocation, Rect2] + +# This is for the small drag-and-drop squares. +var layout_part_areas: Dictionary[Utils.LayoutPart, Rect2] + +var hovered_part := Utils.LayoutPart.NONE: + set(new_value): + if hovered_part != new_value: + hovered_part = new_value + mouse_default_cursor_shape = CURSOR_ARROW if\ + hovered_part == Utils.LayoutPart.NONE else CURSOR_POINTING_HAND + queue_redraw() + +var proposed_drop_location_pivot := SaveData.LayoutLocation.NONE: + set(new_value): + if proposed_drop_location_pivot != new_value: + proposed_drop_location_pivot = new_value + queue_redraw() + +enum DropDirection {NONE, BELOW, ABOVE, INSIDE} + +var proposed_drop_location_direction := DropDirection.NONE: + set(new_value): + if proposed_drop_location_direction != new_value: + proposed_drop_location_direction = new_value + queue_redraw() + +var proposed_drop_idx := -1: + set(new_value): + if proposed_drop_idx != new_value: + proposed_drop_idx = new_value + queue_redraw() + +var dragged_data: DragData: + set(new_value): + if dragged_data != new_value: + dragged_data = new_value + if is_instance_valid(dragged_data): + hovered_part = Utils.LayoutPart.NONE + queue_redraw() + + +func _ready() -> void: + get_window().mouse_exited.connect(_on_window_mouse_exited) + update_areas() + +func _gui_input(event: InputEvent) -> void: + if event is InputEventMouseMotion: + if not is_instance_valid(dragged_data): + for layout_part in layout_part_areas: + if layout_part_areas[layout_part].grow(-BUFFER_SIZE).has_point(event.position): + hovered_part = layout_part + return + hovered_part = Utils.LayoutPart.NONE + +func _notification(what: int) -> void: + if what == NOTIFICATION_DRAG_END: + dragged_data = null + clear_proposed_drop() + +func _on_window_mouse_exited() -> void: + hovered_part = Utils.LayoutPart.NONE + + +# Drawing + +func _draw() -> void: + get_theme_stylebox("panel", "PanelContainer").draw(ci, Rect2(Vector2.ZERO, get_size())) + + var half_width := size.x / 2.0 - PANEL_MARGIN + var right_rect := Rect2(size.x / 2.0, PANEL_MARGIN, half_width, half_width * 1.25) + + # Fixed viewport location for now. + var stylebox := StyleBoxFlat.new() + stylebox.set_corner_radius_all(4) + stylebox.bg_color = ThemeUtils.translucent_button_color_normal + + var disabled_stylebox := stylebox.duplicate() + disabled_stylebox.bg_color = ThemeUtils.translucent_button_color_disabled + disabled_stylebox.draw(ci, right_rect.grow(-BUFFER_SIZE)) + var viewport_icon := Utils.get_layout_part_icon(Utils.LayoutPart.VIEWPORT) + viewport_icon.draw(ci, right_rect.get_center() - viewport_icon.get_size() / 2) + + for layout_location in section_areas: + var area := section_areas[layout_location].grow(-BUFFER_SIZE) + stylebox.draw(ci, area) + if proposed_drop_location_pivot == layout_location: + var drop_sb := StyleBoxFlat.new() + drop_sb.set_corner_radius_all(5) + drop_sb.draw_center = false + drop_sb.border_color = Configs.savedata.basic_color_valid + if proposed_drop_location_direction == DropDirection.ABOVE: + drop_sb.border_width_top = 2 + elif proposed_drop_location_direction == DropDirection.BELOW: + drop_sb.border_width_bottom = 2 + elif proposed_drop_location_direction == DropDirection.INSIDE: + drop_sb.set_border_width_all(2) + if not Configs.savedata.get_layout_parts(proposed_drop_location_pivot).is_empty(): + drop_sb.border_color.a *= 0.4 + drop_sb.draw(ci, area) + + var parts_in_proposed_drop: Array[Utils.LayoutPart] = [] + if proposed_drop_location_direction == DropDirection.INSIDE: + parts_in_proposed_drop = Configs.savedata.get_layout_parts(proposed_drop_location_pivot) + + for layout_part in layout_part_areas: + var rect := layout_part_areas[layout_part].grow(-BUFFER_SIZE) + var icon := Utils.get_layout_part_icon(layout_part) + + if is_instance_valid(dragged_data) and dragged_data.layout_part == layout_part: + disabled_stylebox.draw(ci, rect) + elif hovered_part == layout_part: + var hover_stylebox := stylebox.duplicate() + hover_stylebox.bg_color = ThemeUtils.translucent_button_color_hover + hover_stylebox.draw(ci, rect) + else: + stylebox.draw(ci, rect) + if proposed_drop_idx >= 0: + if parts_in_proposed_drop.size() > proposed_drop_idx and\ + parts_in_proposed_drop[proposed_drop_idx] == layout_part: + var drop_sb := StyleBoxFlat.new() + drop_sb.set_corner_radius_all(5) + drop_sb.draw_center = false + drop_sb.border_color = Configs.savedata.basic_color_valid + drop_sb.border_width_left = 2 + drop_sb.draw(ci, rect) + elif proposed_drop_idx >= 1 and\ + parts_in_proposed_drop.size() > proposed_drop_idx - 1 and\ + parts_in_proposed_drop[proposed_drop_idx - 1] == layout_part: + var drop_sb := StyleBoxFlat.new() + drop_sb.set_corner_radius_all(5) + drop_sb.draw_center = false + drop_sb.border_color = Configs.savedata.basic_color_valid + drop_sb.border_width_right = 2 + drop_sb.draw(ci, rect) + + icon.draw(ci, rect.get_center() - icon.get_size() / 2.0) + + ThemeUtils.regular_font.draw_string(ci, Vector2(0, size.x * 0.75 - 5), + Translator.translate("Excluded") + ":", HORIZONTAL_ALIGNMENT_CENTER, size.x, + get_theme_font_size("font_size", "Label")) + +# Drag and drop + +func _get_drag_data(at_position: Vector2) -> Variant: + for part in layout_part_areas: + if layout_part_areas[part].has_point(at_position): + var btn := Button.new() + btn.icon = Utils.get_layout_part_icon(part) + btn.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER + btn.theme_type_variation = "TranslucentButton" + btn.size = Vector2(PART_UI_SIZE, PART_UI_SIZE) * 2 + set_drag_preview(btn) + + var location := Configs.savedata.get_layout_part_location(part) + var index := Configs.savedata.get_layout_part_index(part) + dragged_data = DragData.new(part, location, index) + return dragged_data + return null + +func _drop_data(_at_position: Vector2, data: Variant) -> void: + if not data == dragged_data: + return + + if proposed_drop_location_direction == DropDirection.INSIDE and\ + proposed_drop_location_pivot == dragged_data.layout_location: + var parts := Configs.savedata.get_layout_parts(proposed_drop_location_pivot) + # We're just rearranging tabs. + parts.remove_at(dragged_data.idx) + parts.insert(proposed_drop_idx if proposed_drop_idx <= dragged_data.idx else\ + proposed_drop_idx - 1, dragged_data.layout_part) + Configs.savedata.set_layout_parts(proposed_drop_location_pivot, parts) + else: + var old_parts := Configs.savedata.get_layout_parts(dragged_data.layout_location) + old_parts.remove_at(dragged_data.idx) + Configs.savedata.set_layout_parts(dragged_data.layout_location, old_parts, false) + # We're moving part of the layout to another location. + match proposed_drop_location_direction: + DropDirection.INSIDE: + var parts := Configs.savedata.get_layout_parts(proposed_drop_location_pivot) + parts.insert(proposed_drop_idx, dragged_data.layout_part) + Configs.savedata.set_layout_parts(proposed_drop_location_pivot, parts) + DropDirection.BELOW: + var bottom_left_parts := Configs.savedata.get_layout_parts( + SaveData.LayoutLocation.BOTTOM_LEFT) + if not bottom_left_parts.is_empty(): + # If everything is on the bottom, then move them to the top so the + # new dragged layout part can be on the bottom. + # If there are layout parts both on the top and the bottom, for this drop + # to be valid, then the dragged part should be the only one on the top side. + # In either case, the stuff on the bottom should be moved to the top, + # and the dragged one should move to the bottom. + Configs.savedata.set_layout_parts(SaveData.LayoutLocation.TOP_LEFT, + bottom_left_parts, false) + Configs.savedata.set_layout_parts(SaveData.LayoutLocation.BOTTOM_LEFT, + [dragged_data.layout_part]) + DropDirection.ABOVE: + # Same logic as above, but with top and bottom flipped. + var top_left_parts := Configs.savedata.get_layout_parts( + SaveData.LayoutLocation.TOP_LEFT) + if not top_left_parts.is_empty(): + Configs.savedata.set_layout_parts(SaveData.LayoutLocation.BOTTOM_LEFT, + top_left_parts, false) + Configs.savedata.set_layout_parts(SaveData.LayoutLocation.TOP_LEFT, + [dragged_data.layout_part]) + + clear_proposed_drop() + update_areas() + +func _can_drop_data(at_position: Vector2, data: Variant) -> bool: + if not data == dragged_data: + return false + + var top_left_parts := Configs.savedata.get_layout_parts(SaveData.LayoutLocation.TOP_LEFT) + var bottom_left_parts := Configs.savedata.get_layout_parts(SaveData.LayoutLocation.BOTTOM_LEFT) + + for section in section_areas: + var section_area := section_areas[section] + if not section_area.has_point(at_position): + continue + + proposed_drop_location_pivot = section + + if at_position.y < lerpf(section_area.position.y, section_area.end.y, 0.25) and\ + ((section == SaveData.LayoutLocation.TOP_LEFT and\ + top_left_parts != [dragged_data.layout_part] and (bottom_left_parts.is_empty() or\ + bottom_left_parts == [dragged_data.layout_part])) or\ + (section == SaveData.LayoutLocation.BOTTOM_LEFT and top_left_parts.is_empty() and\ + bottom_left_parts != [dragged_data.layout_part])): + # Hovering over the top side of the section, when one of the following is true: + # Case 1: The section is top left, and there's either nothing on the bottom left, + # or the only thing on the bottom left is the dragged layout part. + # Case 2: The section is bottom left, there's nothing on the top left, and + # the dragged layout part is not the only thing on the bottom left. + proposed_drop_location_direction = DropDirection.ABOVE + proposed_drop_idx = -1 + elif at_position.y > lerpf(section_area.position.y, section_area.end.y, 0.75) and\ + ((section == SaveData.LayoutLocation.BOTTOM_LEFT and\ + bottom_left_parts != [dragged_data.layout_part] and (top_left_parts.is_empty() or\ + top_left_parts == [dragged_data.layout_part])) or\ + (section == SaveData.LayoutLocation.TOP_LEFT and bottom_left_parts.is_empty() and\ + top_left_parts != [dragged_data.layout_part])): + # Same logic as the previous big condition, but top and bottom are flipped. + proposed_drop_location_direction = DropDirection.BELOW + proposed_drop_idx = -1 + elif not (section == SaveData.LayoutLocation.EXCLUDED and\ + ((top_left_parts == [dragged_data.layout_part] and bottom_left_parts.is_empty()) or\ + (bottom_left_parts == [dragged_data.layout_part] and top_left_parts.is_empty()))): + # Ensure we're not dragging the last layout part into excluded. + proposed_drop_location_direction = DropDirection.INSIDE + var layout_parts_count := Configs.savedata.get_layout_parts(section).size() + if proposed_drop_location_pivot == SaveData.LayoutLocation.EXCLUDED: + proposed_drop_idx = clampi(roundi(at_position.x / (PART_UI_SIZE + 8)), 0, + layout_parts_count) + else: + proposed_drop_idx = clampi(roundi(((at_position.x -\ + section_areas[section].get_center().x) / PART_UI_SIZE) +\ + layout_parts_count / 2.0), 0, layout_parts_count) + + if proposed_drop_location_pivot == dragged_data.layout_location and\ + (proposed_drop_idx == dragged_data.idx or\ + proposed_drop_idx == dragged_data.idx + 1): + proposed_drop_idx = -1 + else: + clear_proposed_drop() + return false + + if proposed_drop_idx != -1 or\ + proposed_drop_location_direction != DropDirection.INSIDE or\ + proposed_drop_location_pivot != dragged_data.layout_location: + return true + else: + clear_proposed_drop() + return false + clear_proposed_drop() + return false + +func clear_proposed_drop() -> void: + proposed_drop_location_pivot = SaveData.LayoutLocation.NONE + proposed_drop_location_direction = DropDirection.NONE + proposed_drop_idx = -1 + + +# Tooltips + +func _get_tooltip(at_position: Vector2) -> String: + for layout_part in layout_part_areas: + if layout_part_areas[layout_part].grow(-BUFFER_SIZE).has_point(at_position): + return TranslationUtils.get_layout_part_name(layout_part) + return "" + +func _make_custom_tooltip(for_text: String) -> Object: + if for_text.is_empty(): + return null + + var vbox := VBoxContainer.new() + vbox.add_theme_constant_override("separation", 2) + var main_label := Label.new() + main_label.text = for_text + var dim_label := Label.new() + dim_label.add_theme_color_override("font_color", ThemeUtils.common_dimmer_text_color) + dim_label.text = Translator.translate("Drag and drop to change the layout") + vbox.add_child(main_label) + vbox.add_child(dim_label) + return vbox + + +# Sync + +func update_areas() -> void: + for child in get_children(): + child.queue_free() + + var top_left := Configs.savedata.get_layout_parts(SaveData.LayoutLocation.TOP_LEFT) + var bottom_left := Configs.savedata.get_layout_parts(SaveData.LayoutLocation.BOTTOM_LEFT) + var excluded := Configs.savedata.get_layout_parts(SaveData.LayoutLocation.EXCLUDED) + + var width := size.x - PANEL_MARGIN * 2 + var included_rect := Rect2(PANEL_MARGIN, PANEL_MARGIN, width, width / 1.6) + + section_areas.clear() + + section_areas[SaveData.LayoutLocation.EXCLUDED] =\ + Rect2(PANEL_MARGIN, size.x * 0.75, 160, PART_UI_SIZE + 8) + + if not top_left.is_empty() and not bottom_left.is_empty(): + section_areas[SaveData.LayoutLocation.TOP_LEFT] =\ + Rect2(included_rect.position, included_rect.size * Vector2(0.5, 0.5)) + section_areas[SaveData.LayoutLocation.BOTTOM_LEFT] =\ + Rect2(included_rect.position + included_rect.size * Vector2(0.0, 0.5), + included_rect.size * Vector2(0.5, 0.5)) + elif bottom_left.is_empty(): + section_areas[SaveData.LayoutLocation.TOP_LEFT] =\ + Rect2(included_rect.position, included_rect.size * Vector2(0.5, 1.0)) + elif top_left.is_empty(): + section_areas[SaveData.LayoutLocation.BOTTOM_LEFT] =\ + Rect2(included_rect.position, included_rect.size * Vector2(0.5, 1.0)) + + if not top_left.is_empty(): + var top_left_count := top_left.size() + var top_left_rect_center := section_areas[SaveData.LayoutLocation.TOP_LEFT].\ + get_center() + for i in top_left_count: + layout_part_areas[top_left[i]] = Rect2(top_left_rect_center.x -\ + PART_UI_SIZE * (top_left_count * 0.5 - i), top_left_rect_center.y -\ + PART_UI_SIZE / 2.0, PART_UI_SIZE, PART_UI_SIZE) + + if not bottom_left.is_empty(): + var bottom_left_count := bottom_left.size() + var bottom_left_rect_center := section_areas[SaveData.LayoutLocation.BOTTOM_LEFT].\ + get_center() + for i in bottom_left_count: + layout_part_areas[bottom_left[i]] = Rect2(bottom_left_rect_center.x -\ + PART_UI_SIZE * (bottom_left_count * 0.5 - i), bottom_left_rect_center.y -\ + PART_UI_SIZE / 2.0, PART_UI_SIZE, PART_UI_SIZE) + + var excluded_count := excluded.size() + for i in excluded_count: + var part := excluded[i] + var rect := Rect2(section_areas[SaveData.LayoutLocation.EXCLUDED].position +\ + Vector2((PART_UI_SIZE + 4) * i, 0), + Vector2(PART_UI_SIZE + 8, PART_UI_SIZE + 8)).grow(-4) + layout_part_areas[part] = rect + + queue_redraw() diff --git a/src/ui_parts/layout_popup.gd.uid b/src/ui_parts/layout_popup.gd.uid new file mode 100644 index 0000000..a467359 --- /dev/null +++ b/src/ui_parts/layout_popup.gd.uid @@ -0,0 +1 @@ +uid://tyh2836jivui diff --git a/src/ui_parts/layout_popup.tscn b/src/ui_parts/layout_popup.tscn new file mode 100644 index 0000000..6d95e75 --- /dev/null +++ b/src/ui_parts/layout_popup.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=3 uid="uid://bygxen40wv4nr"] + +[ext_resource type="Script" uid="uid://tyh2836jivui" path="res://src/ui_parts/layout_popup.gd" id="1_1fo7n"] + +[node name="LayoutPopup" type="Control"] +custom_minimum_size = Vector2(168, 168) +layout_mode = 3 +anchors_preset = 0 +offset_right = 168.0 +offset_bottom = 168.0 +script = ExtResource("1_1fo7n") diff --git a/src/ui_parts/tab_bar.gd b/src/ui_parts/tab_bar.gd index 70af386..097bb0d 100644 --- a/src/ui_parts/tab_bar.gd +++ b/src/ui_parts/tab_bar.gd @@ -467,7 +467,7 @@ func get_tab_index_at(pos: Vector2) -> int: return -1 -class TabDropData extends RefCounted: +class TabDragData: var index := -1 func _init(new_index: int) -> void: index = new_index @@ -519,10 +519,10 @@ func _get_drag_data(at_position: Vector2) -> Variant: set_drag_preview(preview) set_process(true) - return TabDropData.new(tab_index_at_position) + return TabDragData.new(tab_index_at_position) func _can_drop_data(at_position: Vector2, data: Variant) -> bool: - if not data is TabDropData: + if not data is TabDragData: proposed_drop_idx = -1 return false var current_drop_idx := get_drop_index_at(at_position) @@ -534,7 +534,7 @@ func _can_drop_data(at_position: Vector2, data: Variant) -> bool: return true func _drop_data(at_position: Vector2, data: Variant) -> void: - if not data is TabDropData: + if not data is TabDragData: return set_process(false) Configs.savedata.move_tab(data.index, get_drop_index_at(at_position)) diff --git a/src/ui_parts/viewport.gd b/src/ui_parts/viewport.gd index 3ba6537..f164a84 100644 --- a/src/ui_parts/viewport.gd +++ b/src/ui_parts/viewport.gd @@ -1,6 +1,6 @@ extends SubViewport -const ZoomMenu = preload("res://src/ui_parts/zoom_menu.gd") +const ZoomMenu = preload("res://src/ui_widgets/zoom_menu.gd") const Camera = preload("res://src/ui_widgets/camera.gd") const HandlesManager = preload("res://src/ui_parts/handles_manager.gd") const DisplayTexture = preload("res://src/ui_parts/display_texture.gd") diff --git a/src/ui_widgets/basic_xnode_frame.gd b/src/ui_widgets/basic_xnode_frame.gd index 735b7ca..aa88224 100644 --- a/src/ui_widgets/basic_xnode_frame.gd +++ b/src/ui_widgets/basic_xnode_frame.gd @@ -48,8 +48,8 @@ func _on_title_button_pressed() -> void: var viewport := get_viewport() var rect := title_bar.get_global_rect() HandlerGUI.popup_under_rect_center(State.get_selection_context( - HandlerGUI.popup_under_rect_center.bind(rect, viewport), State.Context.LIST), - rect, viewport) + HandlerGUI.popup_under_rect_center.bind(rect, viewport), + Utils.LayoutPart.INSPECTOR), rect, viewport) func _gui_input(event: InputEvent) -> void: @@ -77,8 +77,8 @@ func _gui_input(event: InputEvent) -> void: var viewport := get_viewport() var popup_pos := viewport.get_mouse_position() HandlerGUI.popup_under_pos(State.get_selection_context( - HandlerGUI.popup_under_pos.bind(popup_pos, viewport), State.Context.LIST), - popup_pos, viewport) + HandlerGUI.popup_under_pos.bind(popup_pos, viewport), + Utils.LayoutPart.INSPECTOR), popup_pos, viewport) accept_event() func _on_mouse_exited() -> void: diff --git a/src/ui_widgets/color_popup.gd b/src/ui_widgets/color_popup.gd index ab6674f..9079ae4 100644 --- a/src/ui_widgets/color_popup.gd +++ b/src/ui_widgets/color_popup.gd @@ -5,7 +5,7 @@ const GoodColorPicker = preload("res://src/ui_widgets/good_color_picker.gd") const ColorSwatch = preload("res://src/ui_widgets/color_swatch.gd") # Useful here, because it avoids the Palette validation. -class MockPalette extends RefCounted: +class MockPalette: var title: String var colors: PackedStringArray var color_names: PackedStringArray diff --git a/src/ui_widgets/color_swatch_config.gd b/src/ui_widgets/color_swatch_config.gd index 8ea574c..e0dd561 100644 --- a/src/ui_widgets/color_swatch_config.gd +++ b/src/ui_widgets/color_swatch_config.gd @@ -8,7 +8,7 @@ const ColorSwatchScene = preload("res://src/ui_widgets/color_swatch.tscn") var palette: Palette var idx := -1 # Index inside the palette. -var proposed_drop_data: DropData # Used to sync with drag-and-dropping information. +var proposed_drop_data: DragData # Used to sync with drag-and-dropping information. var surface := RenderingServer.canvas_item_create() func _ready() -> void: @@ -70,7 +70,7 @@ func _make_custom_tooltip(_for_text: String) -> Object: var is_dragging := false -class DropData extends RefCounted: +class DragData: var palette: Palette var index: int @@ -79,7 +79,7 @@ class DropData extends RefCounted: index = new_index func _get_drag_data(_at_position: Vector2) -> Variant: - var data := DropData.new(palette, idx) + var data := DragData.new(palette, idx) # Set up a preview. var preview := ColorSwatchScene.instantiate() preview.color = palette.get_color(idx) diff --git a/src/ui_widgets/element_frame.gd b/src/ui_widgets/element_frame.gd index 3d35a8e..ca21f67 100644 --- a/src/ui_widgets/element_frame.gd +++ b/src/ui_widgets/element_frame.gd @@ -103,8 +103,8 @@ func _on_title_button_pressed() -> void: var viewport := get_viewport() var rect := title_bar.get_global_rect() HandlerGUI.popup_under_rect_center(State.get_selection_context( - HandlerGUI.popup_under_rect_center.bind(rect, viewport), State.Context.LIST), - rect, viewport) + HandlerGUI.popup_under_rect_center.bind(rect, viewport), + Utils.LayoutPart.INSPECTOR), rect, viewport) func _gui_input(event: InputEvent) -> void: @@ -132,8 +132,8 @@ func _gui_input(event: InputEvent) -> void: var viewport := get_viewport() var popup_pos := viewport.get_mouse_position() HandlerGUI.popup_under_pos(State.get_selection_context( - HandlerGUI.popup_under_pos.bind(popup_pos, viewport), State.Context.LIST), - popup_pos, viewport) + HandlerGUI.popup_under_pos.bind(popup_pos, viewport), + Utils.LayoutPart.INSPECTOR), popup_pos, viewport) accept_event() func _on_mouse_entered() -> void: diff --git a/src/ui_widgets/palette_config.gd b/src/ui_widgets/palette_config.gd index 30b3d25..4dd67aa 100644 --- a/src/ui_widgets/palette_config.gd +++ b/src/ui_widgets/palette_config.gd @@ -261,7 +261,7 @@ func _can_drop_data(_at_position: Vector2, data: Variant) -> bool: var buffer := 6 var pos := colors_container.get_local_mouse_position() - if not (data is ColorSwatch.DropData and\ + if not (data is ColorSwatch.DragData and\ Rect2(Vector2.ZERO, colors_container.size).grow(buffer).has_point(pos)): clear_proposed_drop() return false @@ -281,7 +281,7 @@ func _can_drop_data(_at_position: Vector2, data: Variant) -> bool: proposed_drop_idx = new_idx for swatch in get_swatches(): - swatch.proposed_drop_data = ColorSwatch.DropData.new(palette, new_idx) + swatch.proposed_drop_data = ColorSwatch.DragData.new(palette, new_idx) swatch.queue_redraw() return data.palette != palette or (data.palette == palette and\ data.index != new_idx and data.index != new_idx - 1) diff --git a/src/ui_widgets/pathdata_field.gd b/src/ui_widgets/pathdata_field.gd index f2ea075..ad2f157 100644 --- a/src/ui_widgets/pathdata_field.gd +++ b/src/ui_widgets/pathdata_field.gd @@ -490,4 +490,4 @@ func _on_action_button_pressed(action_button_ref: Button) -> void: var action_button_rect := action_button_ref.get_global_rect() HandlerGUI.popup_under_rect_center(State.get_selection_context( HandlerGUI.popup_under_rect_center.bind(action_button_rect, viewport), - State.Context.LIST), action_button_rect, viewport) + Utils.LayoutPart.INSPECTOR), action_button_rect, viewport) diff --git a/src/ui_widgets/points_field.gd b/src/ui_widgets/points_field.gd index 68e0afa..9fb7081 100644 --- a/src/ui_widgets/points_field.gd +++ b/src/ui_widgets/points_field.gd @@ -217,8 +217,8 @@ func _on_points_gui_input(event: InputEvent) -> void: var viewport := get_viewport() var popup_pos := viewport.get_mouse_position() HandlerGUI.popup_under_pos(State.get_selection_context( - HandlerGUI.popup_under_pos.bind(popup_pos, viewport), State.Context.LIST), - popup_pos, viewport) + HandlerGUI.popup_under_pos.bind(popup_pos, viewport), + Utils.LayoutPart.INSPECTOR), popup_pos, viewport) func points_draw() -> void: @@ -363,4 +363,4 @@ func _on_action_button_pressed(action_button_ref: Button) -> void: var action_button_rect := action_button_ref.get_global_rect() HandlerGUI.popup_under_rect_center(State.get_selection_context( HandlerGUI.popup_under_rect_center.bind(action_button_rect, viewport), - State.Context.LIST), action_button_rect, viewport) + Utils.LayoutPart.INSPECTOR), action_button_rect, viewport) diff --git a/src/ui_widgets/presented_shortcut.gd b/src/ui_widgets/presented_shortcut.gd index 0dd8240..45f5f57 100644 --- a/src/ui_widgets/presented_shortcut.gd +++ b/src/ui_widgets/presented_shortcut.gd @@ -49,3 +49,4 @@ func check_shortcuts_validity() -> void: ":\n" + "\n".join(conflicts) else: shortcut_btn.remove_theme_color_override("font_disabled_color") + shortcut_btn.tooltip_text = "" diff --git a/src/ui_parts/zoom_menu.gd b/src/ui_widgets/zoom_menu.gd similarity index 54% rename from src/ui_parts/zoom_menu.gd rename to src/ui_widgets/zoom_menu.gd index 9f54853..5d5a80d 100644 --- a/src/ui_parts/zoom_menu.gd +++ b/src/ui_widgets/zoom_menu.gd @@ -6,9 +6,9 @@ const MAX_ZOOM = 512.0 signal zoom_changed(zoom_level: float, offset: Vector2) signal zoom_reset_pressed -@onready var zoom_out_button: Button = $ZoomOut -@onready var zoom_in_button: Button = $ZoomIn -@onready var zoom_reset_button: Button = $ZoomReset +@onready var zoom_out_button: BetterButton = $ZoomOut +@onready var zoom_in_button: BetterButton = $ZoomIn +@onready var zoom_reset_button: BetterButton = $ZoomReset var _zoom_level: float @@ -50,23 +50,24 @@ func zoom_reset() -> void: func update_buttons_appearance() -> void: - pass - #if _zoom_level < 0.1: - #zoom_reset_button.text = Utils.num_simple(_zoom_level * 100, 2) + "%" - #elif _zoom_level < 10.0: - #zoom_reset_button.text = Utils.num_simple(_zoom_level * 100, 1) + "%" - #elif _zoom_level < 100.0: - #zoom_reset_button.text = String.num_uint64(roundi(_zoom_level * 100)) + "%" - #else: - #zoom_reset_button.text = Utils.num_simple(_zoom_level, 1) + "x" - # - #var is_max_zoom := _zoom_level > MAX_ZOOM or is_equal_approx(_zoom_level, MAX_ZOOM) - #var is_min_zoom := _zoom_level < MIN_ZOOM or is_equal_approx(_zoom_level, MIN_ZOOM) - # - #zoom_in_button.disabled = is_max_zoom - #zoom_in_button.mouse_default_cursor_shape = Control.CURSOR_ARROW if\ - #is_max_zoom else Control.CURSOR_POINTING_HAND - # - #zoom_out_button.disabled = is_min_zoom - #zoom_out_button.mouse_default_cursor_shape = Control.CURSOR_ARROW if\ - #is_min_zoom else Control.CURSOR_POINTING_HAND + if not zoom_reset_button: + return + if _zoom_level < 0.1: + zoom_reset_button.text = Utils.num_simple(_zoom_level * 100, 2) + "%" + elif _zoom_level < 10.0: + zoom_reset_button.text = Utils.num_simple(_zoom_level * 100, 1) + "%" + elif _zoom_level < 100.0: + zoom_reset_button.text = String.num_uint64(roundi(_zoom_level * 100)) + "%" + else: + zoom_reset_button.text = Utils.num_simple(_zoom_level, 1) + "x" + + var is_max_zoom := _zoom_level > MAX_ZOOM or is_equal_approx(_zoom_level, MAX_ZOOM) + var is_min_zoom := _zoom_level < MIN_ZOOM or is_equal_approx(_zoom_level, MIN_ZOOM) + + zoom_in_button.disabled = is_max_zoom + zoom_in_button.mouse_default_cursor_shape = Control.CURSOR_ARROW if\ + is_max_zoom else Control.CURSOR_POINTING_HAND + + zoom_out_button.disabled = is_min_zoom + zoom_out_button.mouse_default_cursor_shape = Control.CURSOR_ARROW if\ + is_min_zoom else Control.CURSOR_POINTING_HAND diff --git a/src/ui_parts/zoom_menu.gd.uid b/src/ui_widgets/zoom_menu.gd.uid similarity index 100% rename from src/ui_parts/zoom_menu.gd.uid rename to src/ui_widgets/zoom_menu.gd.uid diff --git a/src/ui_parts/zoom_menu.tscn b/src/ui_widgets/zoom_menu.tscn similarity index 88% rename from src/ui_parts/zoom_menu.tscn rename to src/ui_widgets/zoom_menu.tscn index 67d5537..eec4f27 100644 --- a/src/ui_parts/zoom_menu.tscn +++ b/src/ui_widgets/zoom_menu.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=3 uid="uid://oltvrf01xrxl"] [ext_resource type="Texture2D" uid="uid://c2h5snkvemm4p" path="res://assets/icons/Minus.svg" id="1_8ggy2"] -[ext_resource type="Script" uid="uid://dj2q7wnto3uqp" path="res://src/ui_parts/zoom_menu.gd" id="1_18ab8"] +[ext_resource type="Script" uid="uid://dj2q7wnto3uqp" path="res://src/ui_widgets/zoom_menu.gd" id="1_18ab8"] [ext_resource type="Texture2D" uid="uid://eif2ioi0mw17" path="res://assets/icons/Plus.svg" id="2_284x5"] -[ext_resource type="Script" path="res://src/ui_widgets/BetterButton.gd" id="3_vgfv3"] +[ext_resource type="Script" uid="uid://ynx3s1jc6bwq" path="res://src/ui_widgets/BetterButton.gd" id="3_vgfv3"] [node name="ZoomMenu" type="HBoxContainer"] offset_right = 114.0 diff --git a/src/utils/ShortcutUtils.gd b/src/utils/ShortcutUtils.gd index ed65405..2e6b4da 100644 --- a/src/utils/ShortcutUtils.gd +++ b/src/utils/ShortcutUtils.gd @@ -136,12 +136,12 @@ static func get_actions(category: String) -> PackedStringArray: static func get_all_actions() -> PackedStringArray: var shortcuts := PackedStringArray() - for category in _action_categories_dict.keys(): + for category in _action_categories_dict: shortcuts += get_actions(category) return shortcuts static func is_action_modifiable(shortcut: String) -> bool: - for category in _action_categories_dict.keys(): + for category in _action_categories_dict: if _action_categories_dict[category].has(shortcut): return _action_categories_dict[category][shortcut] return false diff --git a/src/utils/ThemeUtils.gd b/src/utils/ThemeUtils.gd index 452daaa..a82a58e 100644 --- a/src/utils/ThemeUtils.gd +++ b/src/utils/ThemeUtils.gd @@ -425,6 +425,7 @@ static func _setup_button(theme: Theme) -> void: theme.set_color("icon_normal_color", "FlatButton", icon_normal_color) theme.set_color("icon_hover_color", "FlatButton", icon_hover_color) theme.set_color("icon_pressed_color", "FlatButton", icon_pressed_color) + theme.set_color("icon_hover_pressed_color", "FlatButton", icon_pressed_color) var flat_button_stylebox := StyleBoxFlat.new() flat_button_stylebox.set_corner_radius_all(3) flat_button_stylebox.set_content_margin_all(2) diff --git a/src/utils/TranslationUtils.gd b/src/utils/TranslationUtils.gd index bc2a096..255ef45 100644 --- a/src/utils/TranslationUtils.gd +++ b/src/utils/TranslationUtils.gd @@ -124,6 +124,14 @@ omit_relativity := false) -> String: return description + " (" + Translator.translate("Absolute") + ")" +static func get_layout_part_name(layout_part: Utils.LayoutPart) -> String: + match layout_part: + Utils.LayoutPart.CODE_EDITOR: return Translator.translate("Code editor") + Utils.LayoutPart.INSPECTOR: return Translator.translate("Inspector") + Utils.LayoutPart.VIEWPORT: return Translator.translate("Viewport") + _: return "" + + static func get_bad_extension_alert_text(extension: String, allowed_extensions: PackedStringArray) -> String: var extension_list := ", ".join(allowed_extensions) diff --git a/src/utils/Utils.gd b/src/utils/Utils.gd index feb8d54..646cfaa 100644 --- a/src/utils/Utils.gd +++ b/src/utils/Utils.gd @@ -4,6 +4,18 @@ const MAX_NUMERIC_PRECISION = 6 const MAX_ANGLE_PRECISION = 4 enum InteractionType {NONE = 0, HOVERED = 1, SELECTED = 2, HOVERED_SELECTED = 3} +enum LayoutPart {NONE, CODE_EDITOR, INSPECTOR, VIEWPORT} + +const _LAYOUT_ICONS: Dictionary[LayoutPart, Texture2D] = { + LayoutPart.CODE_EDITOR: preload("res://assets/icons/CodeEditor.svg"), + LayoutPart.INSPECTOR: preload("res://assets/icons/Inspector.svg"), + LayoutPart.VIEWPORT: preload("res://assets/icons/Viewport.svg"), +} +const _LAYOUT_PLACEHOLDER_ICON = preload("res://assets/icons/Placeholder.svg") + +static func get_layout_part_icon(layout_part: LayoutPart) -> Texture2D: + return _LAYOUT_ICONS.get(layout_part, _LAYOUT_PLACEHOLDER_ICON) + static func num_simple(number: float, decimals := -1) -> String: return String.num(number, decimals).trim_suffix(".0") diff --git a/translations/GodSVG.pot b/translations/GodSVG.pot index f626b35..97968bc 100644 --- a/translations/GodSVG.pot +++ b/translations/GodSVG.pot @@ -49,7 +49,7 @@ msgid "Export SVG" msgstr "" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "" @@ -69,7 +69,7 @@ msgstr "" msgid "Alert!" msgstr "" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "" @@ -78,30 +78,13 @@ msgid "Restore" msgstr "" #: src/autoload/State.gd -msgid "View in List" -msgstr "" - -#: src/autoload/State.gd -msgid "Duplicate" +msgid "View in Inspector" msgstr "" #: src/autoload/State.gd msgid "Convert To" msgstr "" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "" @@ -242,58 +225,14 @@ msgstr "" msgid "Diamond donors" msgstr "" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "" @@ -348,37 +287,8 @@ msgstr "" msgid "Preview image size is limited to {dimensions}" msgstr "" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" msgstr "" #: src/ui_parts/global_actions.gd @@ -401,6 +311,10 @@ msgstr "" msgid "Search files" msgstr "" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "" @@ -418,7 +332,6 @@ msgid "Select" msgstr "" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "" @@ -468,6 +381,10 @@ msgstr "" msgid "Import Problems" msgstr "" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "" @@ -484,6 +401,14 @@ msgstr "" msgid "Add element" msgstr "" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "" @@ -592,6 +517,10 @@ msgstr "" msgid "Background color" msgstr "" +#: src/ui_parts/settings_menu.gd +msgid "Grid color" +msgstr "" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "" @@ -604,6 +533,10 @@ msgstr "" msgid "Input" msgstr "" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "" @@ -816,14 +749,6 @@ msgstr "" msgid "Configure Shortcut Panel" msgstr "" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "" @@ -868,40 +793,6 @@ msgstr "" msgid "New versions" msgstr "" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "" @@ -950,10 +841,23 @@ msgstr "" msgid "Rename" msgstr "" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "" @@ -962,8 +866,7 @@ msgstr "" msgid "Save as XML" msgstr "" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "" @@ -971,10 +874,6 @@ msgstr "" msgid "No path data" msgstr "" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "" @@ -1072,7 +971,7 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "" #: src/utils/TranslationUtils.gd -msgid "Save as" +msgid "Save SVG as" msgstr "" #: src/utils/TranslationUtils.gd @@ -1087,6 +986,10 @@ msgstr "" msgid "Close all other tabs" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "" @@ -1095,18 +998,70 @@ msgstr "" msgid "Select the previous tab" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Optimize SVG" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Copy the SVG text" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "" @@ -1115,10 +1070,18 @@ msgstr "" msgid "Delete the selection" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Move up" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Move down" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "" @@ -1127,6 +1090,26 @@ msgstr "" msgid "Find" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "" @@ -1135,6 +1118,10 @@ msgstr "" msgid "Toggle snapping" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "" @@ -1147,26 +1134,50 @@ msgstr "" msgid "View debug information" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "" @@ -1211,6 +1222,22 @@ msgstr "" msgid "Shorthand Cubic Bezier to" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Viewport" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " diff --git a/translations/bg.po b/translations/bg.po index 6517c79..74f7769 100644 --- a/translations/bg.po +++ b/translations/bg.po @@ -52,7 +52,7 @@ msgid "Export SVG" msgstr "Експортирай SVG-то" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "Експортирай" @@ -76,7 +76,7 @@ msgstr "" msgid "Alert!" msgstr "Предупреждение!" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "Затвори раздела" @@ -85,30 +85,13 @@ msgid "Restore" msgstr "Възстанови" #: src/autoload/State.gd -msgid "View in List" -msgstr "Виж в Списъка" - -#: src/autoload/State.gd -msgid "Duplicate" -msgstr "Дублирай" +msgid "View in Inspector" +msgstr "Виж в инспектора" #: src/autoload/State.gd msgid "Convert To" msgstr "Превърни в" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "Премести нагоре" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "Премести надолу" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "Премахни" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "Вмъкни отпред" @@ -251,58 +234,14 @@ msgstr "Златни дарители" msgid "Diamond donors" msgstr "Диамантени дарители" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "Копирай всичкия текст" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "Запиши SVG-то" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "Запиши SVG-то като…" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "Рестартирай SVG-то" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "Отвори с външно приложение" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "Покажи във Файловия мениджър" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "Графики" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "Зареди справочно изображение" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "Покажни справочното изображение" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "Насложи справочното изображение" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "Покажи решетката" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "Покажи дръжките" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "Растеризирай SVG" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "Размер на захващането" @@ -357,38 +296,9 @@ msgstr "Височина" msgid "Preview image size is limited to {dimensions}" msgstr "Размерът на визуализацията е ограничен до {dimensions}" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "Импортирай" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "Настройки" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "Оптимизирай" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "Относно приложението…" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "Провери за ъпдейти" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "Направи дарение…" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "Репозиторията на GodSVG" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" -msgstr "Уебсайта на GodSVG" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" +msgstr "Оформление" #: src/ui_parts/global_actions.gd msgid "View savedata" @@ -410,6 +320,10 @@ msgstr "Превключи видимостта на скритите файло msgid "Search files" msgstr "Търсене из файловете" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "Запиши SVG-то" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "Избери SVG" @@ -427,7 +341,6 @@ msgid "Select" msgstr "Избери" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "Запиши" @@ -479,6 +392,10 @@ msgstr "Нова фигура" msgid "Import Problems" msgstr "Проблеми в импортирането" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "Импортирай" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "Непознат елемент" @@ -495,6 +412,14 @@ msgstr "Синтактична грешка" msgid "Add element" msgstr "Добави елемент" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "Изключени" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "Влачи и пусни за да промениш оформлението на интерфейса" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "Файл" @@ -607,6 +532,10 @@ msgstr "Основни цветове" msgid "Background color" msgstr "Цвят на задния фон" +#: src/ui_parts/settings_menu.gd +msgid "Grid color" +msgstr "Цвят на решетката" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "Цвят на валидният текст" @@ -615,14 +544,14 @@ msgstr "Цвят на валидният текст" msgid "Warning color" msgstr "Цвят на предупрежденията" -#: src/ui_parts/settings_menu.gd -msgid "Close tabs with middle mouse button" -msgstr "Затваряне на раздели със средното копче на мишката" - #: src/ui_parts/settings_menu.gd msgid "Input" msgstr "Входни сигнали" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "Затваряне на раздели със средното копче на мишката" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "Обърни посоката на увеличение" @@ -844,14 +773,6 @@ msgstr "Хоризонтален с два реда" msgid "Configure Shortcut Panel" msgstr "Настройки на панела с бързи клавиши" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "Оформление" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "Създай раздел" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "Създай нов раздел" @@ -896,40 +817,6 @@ msgstr "GodSVG е актуален." msgid "New versions" msgstr "Нови версии" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "Намали" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "Увеличи" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "Рестартирай мащаба" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "Върни назад" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "Върни напред" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "Изрежи" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "Копирай" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "Постави" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "Създай" @@ -978,10 +865,23 @@ msgstr "Тази палета има еднакво определетни цв msgid "Rename" msgstr "Преименувай" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "Премести нагоре" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "Премести надолу" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "Приложи шаблон" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "Премахни" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "Копирай като XML" @@ -990,8 +890,7 @@ msgstr "Копирай като XML" msgid "Save as XML" msgstr "Запиши като XML" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "Относително" @@ -999,10 +898,6 @@ msgstr "Относително" msgid "No path data" msgstr "Няма пътека" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "Абсолютно" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "Няма точки" @@ -1102,8 +997,8 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "Искаш ли да запишеш промените върху {file_name}?" #: src/utils/TranslationUtils.gd -msgid "Save as" -msgstr "Запиши като" +msgid "Save SVG as" +msgstr "Запиши SVG-то като" #: src/utils/TranslationUtils.gd msgid "Close tabs to the left" @@ -1117,6 +1012,10 @@ msgstr "Затвори разделите отдясно" msgid "Close all other tabs" msgstr "Затвори другите раздели" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "Създай раздел" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "Избери раздела отпред" @@ -1125,18 +1024,70 @@ msgstr "Избери раздела отпред" msgid "Select the previous tab" msgstr "Избери раздела отзад" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "Оптимизирай" + +#: src/utils/TranslationUtils.gd +msgid "Optimize SVG" +msgstr "Оптимизирай SVG-то" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "Копирай всичкия текст" + +#: src/utils/TranslationUtils.gd +msgid "Copy the SVG text" +msgstr "Копирай всичкия SVG текст" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "Рестартирай SVG-то" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "Отвори с външно приложение" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "Отвори SVG с външно приложение" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "Покажи във Файловия мениджър" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "Покажи SVG-то във Файловия мениджър" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "Върни назад" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "Върни напред" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "Копирай" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "Постави" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "Изрежи" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "Избери всички" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "Дублирай" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "Изтрий селекцията" @@ -1145,10 +1096,18 @@ msgstr "Изтрий селекцията" msgid "Delete the selection" msgstr "Изтрий селекцията" +#: src/utils/TranslationUtils.gd +msgid "Move up" +msgstr "Премести нагоре" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "Премести селекцията нагоре" +#: src/utils/TranslationUtils.gd +msgid "Move down" +msgstr "Премести надолу" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "Премести селекцията надолу" @@ -1157,6 +1116,26 @@ msgstr "Премести селекцията надолу" msgid "Find" msgstr "Намери" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "Увеличи" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "Намали" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "Рестартирай мащаба" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "Покажи решетката" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "Покажи дръжките" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "Покажи растеризиран SVG" @@ -1165,6 +1144,10 @@ msgstr "Покажи растеризиран SVG" msgid "Toggle snapping" msgstr "Превключи захващането" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "Зареди справочно изображение" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "Покажи справочното изображение" @@ -1177,26 +1160,50 @@ msgstr "Насложи справочното изображение" msgid "View debug information" msgstr "Покажи дебъг информацията" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "Настройки" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "Отвори настройките" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "Относно приложението…" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "Отвори информацията за приложението" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "Направи дарение…" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "Отвори менюто за дарения" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "Репозиторията на GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "Отвори репозиторията на GodSVG" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "Уебсайта на GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "Отвори уебсайта на GodSVG" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "Провери за ъпдейти" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "Излез от апликацията" @@ -1241,6 +1248,22 @@ msgstr "Кубична крива на Безие до" msgid "Shorthand Cubic Bezier to" msgstr "Кратка кубична крива на Безие до" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "Абсолютно" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "Редактор за код" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "Инспектор" + +#: src/utils/TranslationUtils.gd +msgid "Viewport" +msgstr "Гледка" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " @@ -1252,3 +1275,15 @@ msgstr "" #: src/utils/TranslationUtils.gd msgid "The file extension is empty. Only {extension_list} files are supported." msgstr "Форматът е празен. Единствено {extension_list} файловете са подържани." + +#~ msgid "Show reference" +#~ msgstr "Покажни справочното изображение" + +#~ msgid "Overlay reference" +#~ msgstr "Насложи справочното изображение" + +#~ msgid "Rasterized SVG" +#~ msgstr "Растеризирай SVG" + +#~ msgid "Save as" +#~ msgstr "Запиши като" diff --git a/translations/de.po b/translations/de.po index 5540bf3..ba446be 100644 --- a/translations/de.po +++ b/translations/de.po @@ -52,7 +52,7 @@ msgid "Export SVG" msgstr "SVG exportieren" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "Exportieren" @@ -76,7 +76,7 @@ msgstr "" msgid "Alert!" msgstr "Achtung!" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "Registerkarte schließen" @@ -85,30 +85,14 @@ msgid "Restore" msgstr "Wiederherstellen" #: src/autoload/State.gd -msgid "View in List" +#, fuzzy +msgid "View in Inspector" msgstr "Als Liste ansehen" -#: src/autoload/State.gd -msgid "Duplicate" -msgstr "Duplizieren" - #: src/autoload/State.gd msgid "Convert To" msgstr "Konvertieren zu" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "Nach oben" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "Nach unten" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "Löschen" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "Danach einsetzen" @@ -254,58 +238,14 @@ msgstr "Gold-Spender" msgid "Diamond donors" msgstr "Diamant-Spender" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "Text kopieren" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "SVG speichern" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "SVG speichern als…" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "SVG zurücksetzen" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "Extern öffnen" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "Im Dateisystem anzeigen" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "Visuelles" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "Referenzbild laden" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "Referenz anzeigen" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "Referenz überblenden" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "Raster anzeigen" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "Griffe anzeigen" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "SVG rasterisieren" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "Rastergröße" @@ -360,38 +300,9 @@ msgstr "Höhe" msgid "Preview image size is limited to {dimensions}" msgstr "Vorschaubildgröße ist auf {dimensions} limitiert." -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "Importieren" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "Einstellungen" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "Optimieren" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "Über…" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "Nach Aktualisierungen suchen" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "Spenden…" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "GodSVG Repository" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" -msgstr "GodSVG Webseite" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" +msgstr "Layout" #: src/ui_parts/global_actions.gd msgid "View savedata" @@ -413,6 +324,10 @@ msgstr "Versteckte Dateien anzeigen" msgid "Search files" msgstr "Datei suchen" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "SVG speichern" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "SVG auswählen" @@ -430,7 +345,6 @@ msgid "Select" msgstr "Auswählen" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "Speichern" @@ -482,6 +396,10 @@ msgstr "Neue Form" msgid "Import Problems" msgstr "Probleme beim Importieren" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "Importieren" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "Unerkanntes Element" @@ -498,6 +416,14 @@ msgstr "Syntaxfehler" msgid "Add element" msgstr "Element hinzufügen" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "Datei" @@ -606,6 +532,11 @@ msgstr "Allgemeine Farben" msgid "Background color" msgstr "Hintergrundfarben" +#: src/ui_parts/settings_menu.gd +#, fuzzy +msgid "Grid color" +msgstr "Gültige Farbe" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "Gültige Farbe" @@ -618,6 +549,10 @@ msgstr "Warnfarbe" msgid "Input" msgstr "Eingabe" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "Zoomrichtung umkehren" @@ -839,14 +774,6 @@ msgstr "Horizontal mit zwei Reihen" msgid "Configure Shortcut Panel" msgstr "Kurzbefehlsmenü anpassen" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "Layout" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "Registerkarte erstellen" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "Neue Registerkarte erstellen" @@ -891,40 +818,6 @@ msgstr "GodSVG ist auf dem neuesten Stand." msgid "New versions" msgstr "Neue Versionen" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "Herauszoomen" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "Hineinzoomen" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "Zoom zurücksetzen" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "Rückgängig" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "Wiederholen" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "Ausschneiden" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "Kopieren" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "Einfügen" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "Erstellen" @@ -973,10 +866,23 @@ msgstr "Diese Palette hat identisch definierte Farben." msgid "Rename" msgstr "Umbenennen" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "Nach oben" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "Nach unten" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "Voreinstellung anwenden" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "Löschen" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "Kopieren als XML" @@ -985,8 +891,7 @@ msgstr "Kopieren als XML" msgid "Save as XML" msgstr "Speichern als XML" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "Relativ" @@ -994,10 +899,6 @@ msgstr "Relativ" msgid "No path data" msgstr "Keine Pfaddaten" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "Absolut" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "Keine Punkte" @@ -1097,8 +998,9 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "Möchten Sie die an {file_name} vorgenommenen Änderungen speichern?" #: src/utils/TranslationUtils.gd -msgid "Save as" -msgstr "Speichern als" +#, fuzzy +msgid "Save SVG as" +msgstr "SVG speichern als…" #: src/utils/TranslationUtils.gd msgid "Close tabs to the left" @@ -1112,6 +1014,10 @@ msgstr "Alle Registerkarten rechts schließen" msgid "Close all other tabs" msgstr "Alle anderen Registerkarten schließen" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "Registerkarte erstellen" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "Nächsten Tab auswählen" @@ -1120,18 +1026,72 @@ msgstr "Nächsten Tab auswählen" msgid "Select the previous tab" msgstr "Vorherigen Tab auswählen" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "Optimieren" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Optimize SVG" +msgstr "Optimieren" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "Text kopieren" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Copy the SVG text" +msgstr "Text kopieren" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "SVG zurücksetzen" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "Extern öffnen" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "SVG extern öffnen" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "Im Dateisystem anzeigen" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "SVG im Dateisystem anzeigen" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "Rückgängig" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "Wiederholen" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "Kopieren" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "Einfügen" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "Ausschneiden" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "Alle auswählen" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "Duplizieren" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "Auswahl duplizieren" @@ -1140,10 +1100,20 @@ msgstr "Auswahl duplizieren" msgid "Delete the selection" msgstr "Auswahl löschen" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move up" +msgstr "Nach oben" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "Auswahl nach oben verschieben" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move down" +msgstr "Nach unten" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "Auswahl nach unten verschieben" @@ -1152,6 +1122,26 @@ msgstr "Auswahl nach unten verschieben" msgid "Find" msgstr "Finden" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "Hineinzoomen" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "Herauszoomen" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "Zoom zurücksetzen" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "Raster anzeigen" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "Griffe anzeigen" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "Rasterisiertes SVG anzeigen" @@ -1160,6 +1150,10 @@ msgstr "Rasterisiertes SVG anzeigen" msgid "Toggle snapping" msgstr "Einrasten aktivieren" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "Referenzbild laden" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "Referenzbild anzeigen" @@ -1172,26 +1166,50 @@ msgstr "Referenzbild überblenden" msgid "View debug information" msgstr "Debuginformationen anzeigen" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "Einstellungen" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "Einstellungsmenü öffnen" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "Über…" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "Infomenü anzeigen" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "Spenden…" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "Spendemenü öffnen" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "GodSVG Repository" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "GodSVG-Repository öffnen" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "GodSVG Webseite" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "GodSVG-Webseite öffnen" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "Nach Aktualisierungen suchen" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "Anwendung verlassen" @@ -1236,6 +1254,23 @@ msgstr "Kubischer Bezier to" msgid "Shorthand Cubic Bezier to" msgstr "Kurzhand-Kubischer Bezier to" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "Absolut" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Viewport" +msgstr "Ansicht" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " @@ -1250,6 +1285,18 @@ msgstr "" "Die Dateierweiterung ist leer. Nur {extension_list} Dateien werden " "unterstützt." +#~ msgid "Show reference" +#~ msgstr "Referenz anzeigen" + +#~ msgid "Overlay reference" +#~ msgstr "Referenz überblenden" + +#~ msgid "Rasterized SVG" +#~ msgstr "SVG rasterisieren" + +#~ msgid "Save as" +#~ msgstr "Speichern als" + #~ msgid "" #~ "If you want to apply the unsaved file state, use \"Reset SVG\" instead." #~ msgstr "" diff --git a/translations/en.po b/translations/en.po index c38bfaf..ad328e2 100644 --- a/translations/en.po +++ b/translations/en.po @@ -50,7 +50,7 @@ msgid "Export SVG" msgstr "" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "" @@ -70,7 +70,7 @@ msgstr "" msgid "Alert!" msgstr "" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "" @@ -79,30 +79,13 @@ msgid "Restore" msgstr "" #: src/autoload/State.gd -msgid "View in List" -msgstr "" - -#: src/autoload/State.gd -msgid "Duplicate" +msgid "View in Inspector" msgstr "" #: src/autoload/State.gd msgid "Convert To" msgstr "" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "" @@ -243,58 +226,14 @@ msgstr "" msgid "Diamond donors" msgstr "" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "" @@ -349,37 +288,8 @@ msgstr "" msgid "Preview image size is limited to {dimensions}" msgstr "" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" msgstr "" #: src/ui_parts/global_actions.gd @@ -402,6 +312,10 @@ msgstr "" msgid "Search files" msgstr "" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "" @@ -419,7 +333,6 @@ msgid "Select" msgstr "" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "" @@ -469,6 +382,10 @@ msgstr "" msgid "Import Problems" msgstr "" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "" @@ -485,6 +402,14 @@ msgstr "" msgid "Add element" msgstr "" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "" @@ -593,6 +518,10 @@ msgstr "" msgid "Background color" msgstr "" +#: src/ui_parts/settings_menu.gd +msgid "Grid color" +msgstr "" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "" @@ -605,6 +534,10 @@ msgstr "" msgid "Input" msgstr "" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "" @@ -817,14 +750,6 @@ msgstr "" msgid "Configure Shortcut Panel" msgstr "" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "" @@ -869,40 +794,6 @@ msgstr "" msgid "New versions" msgstr "" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "" @@ -951,10 +842,23 @@ msgstr "" msgid "Rename" msgstr "" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "" @@ -963,8 +867,7 @@ msgstr "" msgid "Save as XML" msgstr "" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "" @@ -972,10 +875,6 @@ msgstr "" msgid "No path data" msgstr "" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "" @@ -1073,7 +972,7 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "" #: src/utils/TranslationUtils.gd -msgid "Save as" +msgid "Save SVG as" msgstr "" #: src/utils/TranslationUtils.gd @@ -1088,6 +987,10 @@ msgstr "" msgid "Close all other tabs" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "" @@ -1096,18 +999,70 @@ msgstr "" msgid "Select the previous tab" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Optimize SVG" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Copy the SVG text" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "" @@ -1116,10 +1071,18 @@ msgstr "" msgid "Delete the selection" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Move up" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Move down" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "" @@ -1128,6 +1091,26 @@ msgstr "" msgid "Find" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "" @@ -1136,6 +1119,10 @@ msgstr "" msgid "Toggle snapping" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "" @@ -1148,26 +1135,50 @@ msgstr "" msgid "View debug information" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "" @@ -1212,6 +1223,22 @@ msgstr "" msgid "Shorthand Cubic Bezier to" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Viewport" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " diff --git a/translations/et.po b/translations/et.po index 25ade10..b8d8322 100644 --- a/translations/et.po +++ b/translations/et.po @@ -52,7 +52,7 @@ msgid "Export SVG" msgstr "Ekspordi SVG" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "Ekspordi" @@ -75,7 +75,7 @@ msgstr "" msgid "Alert!" msgstr "Hoiatus!" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "Sulge kaart" @@ -84,30 +84,14 @@ msgid "Restore" msgstr "Taasta" #: src/autoload/State.gd -msgid "View in List" +#, fuzzy +msgid "View in Inspector" msgstr "Näita nimekirjas" -#: src/autoload/State.gd -msgid "Duplicate" -msgstr "Dubleeri" - #: src/autoload/State.gd msgid "Convert To" msgstr "Konverteeri" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "Liiguta üles" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "Liiguta alla" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "Kustuta" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "Sisesta pärast" @@ -250,58 +234,14 @@ msgstr "Kuldsed annetajad" msgid "Diamond donors" msgstr "Teemant annetajad" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "Kopeeri terve tekst" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "Salvesta SVG" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "Salvesta SVG kui…" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "Lähtesta SVG" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "Ava väliselt" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "Kuva failihalduris" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "Visuaalid" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "Lae võrdluspilt" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "Kuva võrdluspilti" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "Kata võrdluspildiga üle" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "Kuva ruudustik" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "Kuva pidemeid" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "Rasterdatud SVG" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "Joondamise mastaap" @@ -356,38 +296,9 @@ msgstr "Kõrgus" msgid "Preview image size is limited to {dimensions}" msgstr "Eelvaade on piiratud suurusele {dimensions}" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "Impordi" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "Seaded" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "Optimeeri" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "Teave…" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "Otsi uuendusi" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "Anneta…" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "GodSVG repositoorium" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" -msgstr "GodSVG veebileht" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" +msgstr "Paigutus" #: src/ui_parts/global_actions.gd msgid "View savedata" @@ -409,6 +320,10 @@ msgstr "Lülita peidetud failide kuvamine sisse" msgid "Search files" msgstr "Otsi faile" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "Salvesta SVG" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "Vali SVG" @@ -426,7 +341,6 @@ msgid "Select" msgstr "Vali" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "Salvesta" @@ -478,6 +392,10 @@ msgstr "Uus kujund" msgid "Import Problems" msgstr "Impordi probleemid" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "Impordi" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "Tundmatu element" @@ -494,6 +412,14 @@ msgstr "Süntaksiviga" msgid "Add element" msgstr "Lisa element" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "Fail" @@ -606,6 +532,11 @@ msgstr "Alusvärvid" msgid "Background color" msgstr "Tausta värv" +#: src/ui_parts/settings_menu.gd +#, fuzzy +msgid "Grid color" +msgstr "Kehtiva värv" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "Kehtiva värv" @@ -614,14 +545,14 @@ msgstr "Kehtiva värv" msgid "Warning color" msgstr "Hoiatuse värv" -#: src/ui_parts/settings_menu.gd -msgid "Close tabs with middle mouse button" -msgstr "Sulge kaarte keskmise hiireklahviga" - #: src/ui_parts/settings_menu.gd msgid "Input" msgstr "Sisend" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "Sulge kaarte keskmise hiireklahviga" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "Inverteeri suurendussuund" @@ -841,14 +772,6 @@ msgstr "Horisontaalne riba kahe reaga" msgid "Configure Shortcut Panel" msgstr "Konfigureeri otseklahvide paneeli" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "Paigutus" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "Uus kaart" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "Loo uus kaart" @@ -893,40 +816,6 @@ msgstr "GodSVG on ajakohane." msgid "New versions" msgstr "Uued versioonid" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "Vähenda" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "Suurenda" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "Taasta suurendus" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "Võta tagasi" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "Tee uuesti" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "Lõika" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "Kopeeri" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "Kleebi" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "Loo" @@ -975,10 +864,23 @@ msgstr "Selles värvipalettis on sama värv juba olemas." msgid "Rename" msgstr "Nimeta ümber" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "Liiguta üles" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "Liiguta alla" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "Rakenda eelseadistus" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "Kustuta" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "Kopeeri kui XML" @@ -987,8 +889,7 @@ msgstr "Kopeeri kui XML" msgid "Save as XML" msgstr "Salvesta kui XML" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "Suhteline" @@ -996,10 +897,6 @@ msgstr "Suhteline" msgid "No path data" msgstr "Puudub path andmed" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "Absoluutne" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "Puuduvad punktid" @@ -1099,8 +996,9 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "Kas soovite salvestada {file_name} kallal tehtud muudatused?" #: src/utils/TranslationUtils.gd -msgid "Save as" -msgstr "Salvesta kui" +#, fuzzy +msgid "Save SVG as" +msgstr "Salvesta SVG kui…" #: src/utils/TranslationUtils.gd msgid "Close tabs to the left" @@ -1114,6 +1012,10 @@ msgstr "Sulge kaardid paremal" msgid "Close all other tabs" msgstr "Sulge teised kaardid" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "Uus kaart" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "Vali järgmine kaart" @@ -1122,18 +1024,72 @@ msgstr "Vali järgmine kaart" msgid "Select the previous tab" msgstr "Vali eelmine kaart" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "Optimeeri" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Optimize SVG" +msgstr "Optimeeri" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "Kopeeri terve tekst" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Copy the SVG text" +msgstr "Kopeeri terve tekst" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "Lähtesta SVG" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "Ava väliselt" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "Ava SVG väliselt" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "Kuva failihalduris" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "Kuva SVG failihalduris" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "Võta tagasi" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "Tee uuesti" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "Kopeeri" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "Kleebi" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "Lõika" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "Vali kõik" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "Dubleeri" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "Dubleeri valik" @@ -1142,10 +1098,20 @@ msgstr "Dubleeri valik" msgid "Delete the selection" msgstr "Kustuta valik" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move up" +msgstr "Liiguta üles" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "Liiguta valik üles" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move down" +msgstr "Liiguta alla" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "Liiguta valik alla" @@ -1154,6 +1120,26 @@ msgstr "Liiguta valik alla" msgid "Find" msgstr "Leia" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "Suurenda" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "Vähenda" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "Taasta suurendus" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "Kuva ruudustik" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "Kuva pidemeid" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "Kuva rasterdatud SVG" @@ -1162,6 +1148,10 @@ msgstr "Kuva rasterdatud SVG" msgid "Toggle snapping" msgstr "Lülita joondamine sisse" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "Lae võrdluspilt" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "Kuva võrdluspilt" @@ -1174,26 +1164,50 @@ msgstr "Kata võrdluspildiga üle" msgid "View debug information" msgstr "Kuva silumisinformatsioon" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "Seaded" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "Ava seadete menüü" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "Teave…" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "Ava teabe menüü" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "Anneta…" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "Ava annetuste menüü" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "GodSVG repositoorium" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "Ava GodSVG repositoorium" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "GodSVG veebileht" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "Ava GodSVG veebileht" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "Otsi uuendusi" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "Sulge rakendus" @@ -1238,6 +1252,23 @@ msgstr "Kuubiline Bezier" msgid "Shorthand Cubic Bezier to" msgstr "Lihtne kuubiline Bezier" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "Absoluutne" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Viewport" +msgstr "Vaade" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " @@ -1249,3 +1280,15 @@ msgstr "" #: src/utils/TranslationUtils.gd msgid "The file extension is empty. Only {extension_list} files are supported." msgstr "Faililaiend on tühi. Ainult {extension_list} on toetatud." + +#~ msgid "Show reference" +#~ msgstr "Kuva võrdluspilti" + +#~ msgid "Overlay reference" +#~ msgstr "Kata võrdluspildiga üle" + +#~ msgid "Rasterized SVG" +#~ msgstr "Rasterdatud SVG" + +#~ msgid "Save as" +#~ msgstr "Salvesta kui" diff --git a/translations/fr.po b/translations/fr.po index 4cc726b..c2bb499 100644 --- a/translations/fr.po +++ b/translations/fr.po @@ -52,7 +52,7 @@ msgid "Export SVG" msgstr "Exporter le SVG" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "Exporter" @@ -75,7 +75,7 @@ msgstr "" msgid "Alert!" msgstr "Alerte !" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "Fermer l'onglet" @@ -84,30 +84,14 @@ msgid "Restore" msgstr "Restaurer" #: src/autoload/State.gd -msgid "View in List" +#, fuzzy +msgid "View in Inspector" msgstr "Voir en liste" -#: src/autoload/State.gd -msgid "Duplicate" -msgstr "Dupliquer" - #: src/autoload/State.gd msgid "Convert To" msgstr "Convertir en" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "Remonter" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "Descendre" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "Supprimer" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "Insérer après" @@ -250,58 +234,14 @@ msgstr "Donateurs Or" msgid "Diamond donors" msgstr "Donateurs Diamant" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "Copier tout le texte" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "Sauvegarder le SVG" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "Sauvegarder le SVG sous…" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "Rénitialiser le SVG" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "Ouvrir externement" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "Afficher dans l'explorateur de fichiers" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "Vue" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "Charger une image de référence" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "Montrer la référence" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "Superposer la référence" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "Afficher la grille" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "Montrer les poignées" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "Rastériser le SVG" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "Taille d'aimantation" @@ -356,38 +296,9 @@ msgstr "Hauteur" msgid "Preview image size is limited to {dimensions}" msgstr "La taille de l'image de prévisualisation est limitée à {dimensions}" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "Importer" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "Paramètres" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "Optimiser" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "À propos…" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "Vérifier les mises à jour" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "Faire un don…" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "Dépôt de GodSVG" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" -msgstr "Site web de GodSVG" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" +msgstr "Disposition" #: src/ui_parts/global_actions.gd msgid "View savedata" @@ -409,6 +320,10 @@ msgstr "Activer/Désactiver la visibilité des fichiers cachés" msgid "Search files" msgstr "Rechercher des fichiers" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "Sauvegarder le SVG" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "Sélectionner un SVG" @@ -426,7 +341,6 @@ msgid "Select" msgstr "Sélectionner" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "Enregistrer" @@ -478,6 +392,10 @@ msgstr "Nouvelle forme" msgid "Import Problems" msgstr "Importer des problèmes" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "Importer" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "Élément non reconnu" @@ -494,6 +412,14 @@ msgstr "Erreur de syntaxe" msgid "Add element" msgstr "Ajouter un élément" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "Fichier" @@ -602,6 +528,11 @@ msgstr "Couleurs basiques" msgid "Background color" msgstr "Couleur d'arrière-plan" +#: src/ui_parts/settings_menu.gd +#, fuzzy +msgid "Grid color" +msgstr "Couleur valide" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "Couleur valide" @@ -614,6 +545,10 @@ msgstr "Couleur d'avertissement" msgid "Input" msgstr "Entrée" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "Inverser la direction du zoom" @@ -836,14 +771,6 @@ msgstr "Horizontal avec deux rangées" msgid "Configure Shortcut Panel" msgstr "Configurer le panneau de raccourcis" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "Disposition" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "Créer un onglet" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "Créer un nouvel onglet" @@ -888,40 +815,6 @@ msgstr "GodSVG est à jour." msgid "New versions" msgstr "Nouvelles versions" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "Zoom arrière" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "Zoom avant" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "Rénitialiser le zoom" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "Annuler" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "Rétablir" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "Couper" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "Copier" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "Coller" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "Créer" @@ -970,10 +863,23 @@ msgstr "Cette palette a des couleurs définies identiquement." msgid "Rename" msgstr "Renommer" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "Remonter" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "Descendre" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "Appliquer un préréglage" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "Supprimer" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "Copier en tant que XML" @@ -982,8 +888,7 @@ msgstr "Copier en tant que XML" msgid "Save as XML" msgstr "Enregistrer en tant que XML" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "Relatif" @@ -991,10 +896,6 @@ msgstr "Relatif" msgid "No path data" msgstr "Aucune donnée de chemin" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "Absolu" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "Aucun point" @@ -1094,8 +995,9 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "Voulez-vous enregistrer les modifications de {file_name} ?" #: src/utils/TranslationUtils.gd -msgid "Save as" -msgstr "Enregistrer sous" +#, fuzzy +msgid "Save SVG as" +msgstr "Sauvegarder le SVG sous…" #: src/utils/TranslationUtils.gd msgid "Close tabs to the left" @@ -1109,6 +1011,10 @@ msgstr "Fermer les onglets sur la droite" msgid "Close all other tabs" msgstr "Fermer les autres onglets" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "Créer un onglet" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "Sélectionner l'onglet suivant" @@ -1117,18 +1023,72 @@ msgstr "Sélectionner l'onglet suivant" msgid "Select the previous tab" msgstr "Sélectionner l'onglet précédent" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "Optimiser" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Optimize SVG" +msgstr "Optimiser" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "Copier tout le texte" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Copy the SVG text" +msgstr "Copier tout le texte" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "Rénitialiser le SVG" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "Ouvrir externement" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "Ouvrir le SVG externement" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "Afficher dans l'explorateur de fichiers" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "Montrer le SVG dans l'explorateur de fichiers" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "Annuler" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "Rétablir" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "Copier" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "Coller" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "Couper" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "Tout sélectionner" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "Dupliquer" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "Dupliquer les éléments sélectionnés" @@ -1137,10 +1097,20 @@ msgstr "Dupliquer les éléments sélectionnés" msgid "Delete the selection" msgstr "Supprimer les éléments sélectionnés" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move up" +msgstr "Remonter" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "Remonter les éléments sélectionnés" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move down" +msgstr "Descendre" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "Descendre les éléments sélectionnés" @@ -1149,6 +1119,26 @@ msgstr "Descendre les éléments sélectionnés" msgid "Find" msgstr "Rechercher" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "Zoom avant" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "Zoom arrière" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "Rénitialiser le zoom" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "Afficher la grille" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "Montrer les poignées" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "Montrer le SVG rastérisé" @@ -1157,6 +1147,10 @@ msgstr "Montrer le SVG rastérisé" msgid "Toggle snapping" msgstr "Activer/Désactiver l'aimantation" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "Charger une image de référence" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "Afficher l'image de référence" @@ -1169,26 +1163,50 @@ msgstr "Superposer l'image de référence" msgid "View debug information" msgstr "Voir les informations de déboggage" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "Paramètres" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "Ouvrir le menu des paramètres" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "À propos…" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "Ouvrir le menu « À propos »" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "Faire un don…" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "Ouvrir le menu « Faire un don »" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "Dépôt de GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "Ouvrir le dépôt de GodSVG" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "Site web de GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "Ouvrir le site web de GodSVG" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "Vérifier les mises à jour" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "Quitter l'application" @@ -1233,6 +1251,23 @@ msgstr "Courbe de Bézier cubique vers" msgid "Shorthand Cubic Bezier to" msgstr "Courbe de Bézier cubique raccourcie vers" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "Absolu" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Viewport" +msgstr "Affichage" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " @@ -1247,6 +1282,18 @@ msgstr "" "L'extension de fichier est vide. Seuls les fichiers {extension_list} sont " "supportés." +#~ msgid "Show reference" +#~ msgstr "Montrer la référence" + +#~ msgid "Overlay reference" +#~ msgstr "Superposer la référence" + +#~ msgid "Rasterized SVG" +#~ msgstr "Rastériser le SVG" + +#~ msgid "Save as" +#~ msgstr "Enregistrer sous" + #~ msgid "Auto UI scale" #~ msgstr "Échelle de l'interface automatique" diff --git a/translations/nl.po b/translations/nl.po index ddcc1e7..82efb72 100644 --- a/translations/nl.po +++ b/translations/nl.po @@ -36,8 +36,8 @@ msgid "" "This will connect to github.com to compare version numbers. No other data is " "collected or transmitted." msgstr "" -"Dit zal een verbinding maken naar github.com om de versienummers te vergelijken. " -"Er wordt geen andere data verzameld of verzonden." +"Dit zal een verbinding maken naar github.com om de versienummers te " +"vergelijken. Er wordt geen andere data verzameld of verzonden." #: src/autoload/HandlerGUI.gd src/ui_widgets/alert_dialog.gd msgid "OK" @@ -52,7 +52,7 @@ msgid "Export SVG" msgstr "Exporteer SVG" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "Exporteren" @@ -68,15 +68,15 @@ msgstr "" msgid "" "The graphic can be exported only as SVG because its size is not defined." msgstr "" -"De afbeelding kan alleen maar als SVG geëxporteerd worden want zijn maat is niet " -"gedefiniëerd." +"De afbeelding kan alleen maar als SVG geëxporteerd worden want zijn maat is " +"niet gedefiniëerd." #: src/autoload/State.gd src/ui_parts/good_file_dialog.gd #: src/ui_widgets/alert_dialog.gd msgid "Alert!" msgstr "Aandacht!" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "Tabblad sluiten" @@ -85,30 +85,14 @@ msgid "Restore" msgstr "Herstel" #: src/autoload/State.gd -msgid "View in List" +#, fuzzy +msgid "View in Inspector" msgstr "Bekijken In Lijst" -#: src/autoload/State.gd -msgid "Duplicate" -msgstr "Dupliceren" - #: src/autoload/State.gd msgid "Convert To" msgstr "Omzetten Naar" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "Naar Boven" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "Naar Onder" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "Verwijderen" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "Erna Invoegen" @@ -251,58 +235,14 @@ msgstr "Gouden Donatuers" msgid "Diamond donors" msgstr "Diamanten Donateurs" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "Kopiëer alle tekst" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "SVG opslaan" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "SVG opslaan als…" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "SVG Resetten" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "Extern openen" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "Laat zien in Bestandsenverkenner" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "Visuelen" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "Referentiebeeld inladen" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "Referentie weergeven" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "Referentie overlappen" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "Raster weergeven" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "Handvaten weergeven" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "Gerasterd SVG" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "Maat inknappen" @@ -357,38 +297,9 @@ msgstr "Hoogte" msgid "Preview image size is limited to {dimensions}" msgstr "Voorbeeldafbeelding maat is beperkt tot {dimensions}" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "Importeren" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "Instellingen" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "Optimaliseren" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "Betreffende…" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "Nakijken voor updates" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "Doneren…" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "GodSVG opslagplaats" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" -msgstr "GodSVG website" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" +msgstr "Indeling" #: src/ui_parts/global_actions.gd msgid "View savedata" @@ -410,6 +321,10 @@ msgstr "De zichtbaarheit van verborgen bestanden omschakelen" msgid "Search files" msgstr "Bestanden zoeken" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "SVG opslaan" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "Kies een SVG uit" @@ -427,7 +342,6 @@ msgid "Select" msgstr "Selecteren" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "Opslaan" @@ -479,6 +393,10 @@ msgstr "Nieuwe vorm" msgid "Import Problems" msgstr "Importproblemen" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "Importeren" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "Onherkende element" @@ -495,6 +413,14 @@ msgstr "Syntaxfout" msgid "Add element" msgstr "Element toevoegen" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "Bestand" @@ -607,6 +533,11 @@ msgstr "Basiskleuren" msgid "Background color" msgstr "Achtergrondskleur" +#: src/ui_parts/settings_menu.gd +#, fuzzy +msgid "Grid color" +msgstr "Geldige kleur" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "Geldige kleur" @@ -615,14 +546,14 @@ msgstr "Geldige kleur" msgid "Warning color" msgstr "Waarschuwingskleur" -#: src/ui_parts/settings_menu.gd -msgid "Close tabs with middle mouse button" -msgstr "Sluit tabbladen met de middelste muisknop" - #: src/ui_parts/settings_menu.gd msgid "Input" msgstr "Invoer" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "Sluit tabbladen met de middelste muisknop" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "inzoomrichting tegenstellen" @@ -796,8 +727,8 @@ msgid "" "Warps the cursor to the opposite side whenever it reaches a viewport " "boundary while panning." msgstr "" -"Verplaatst de cursur naar de overkant wanneer het buiten de viewport " -"gaat tijdens het rondkijken." +"Verplaatst de cursur naar de overkant wanneer het buiten de viewport gaat " +"tijdens het rondkijken." #: src/ui_parts/settings_menu.gd msgid "" @@ -844,14 +775,6 @@ msgstr "Horizontaal met twee rijen" msgid "Configure Shortcut Panel" msgstr "Configureer Snelkoppelingspaneel" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "Indeling" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "Tabblad creëren" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "Een nieuw tabblad creëren" @@ -896,40 +819,6 @@ msgstr "GodSVG is up-to-date." msgid "New versions" msgstr "Nieuwe versies" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "Uitzoomen" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "Inzoomen" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "Zoom resetten" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "Ongedaan maken" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "Opnieuw doen" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "Knippen" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "Kopiëren" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "Plakken" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "Creëren" @@ -954,7 +843,7 @@ msgstr "Kleur verwijderen" msgid "Unnamed" msgstr "Onbenoemd" -#: src/ui_widgets/good_color_picker.gd- +#: src/ui_widgets/good_color_picker.gd msgid "Color keywords" msgstr "kleur trefwoorden" @@ -978,10 +867,23 @@ msgstr "Dit palette heeft identiek gedefinieerde kleuren." msgid "Rename" msgstr "Hernoemen" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "Naar Boven" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "Naar Onder" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "Voorinstelling toepassen" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "Verwijderen" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "Als XML kopiëren" @@ -990,8 +892,7 @@ msgstr "Als XML kopiëren" msgid "Save as XML" msgstr "Als XML opslaan" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "Relatief" @@ -999,10 +900,6 @@ msgstr "Relatief" msgid "No path data" msgstr "Geen padgegevens" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "Absoluut" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "Geen punten" @@ -1102,8 +999,9 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "Wilt u de aanpassingen opslaan als {file_name}?" #: src/utils/TranslationUtils.gd -msgid "Save as" -msgstr "Opslaan als" +#, fuzzy +msgid "Save SVG as" +msgstr "SVG opslaan als…" #: src/utils/TranslationUtils.gd msgid "Close tabs to the left" @@ -1117,6 +1015,10 @@ msgstr "Sluit rechter tabbladen" msgid "Close all other tabs" msgstr "Kopiëer alle tekst" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "Tabblad creëren" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "Selecteer het volgende tabblad" @@ -1125,18 +1027,72 @@ msgstr "Selecteer het volgende tabblad" msgid "Select the previous tab" msgstr "Selecteer het vorige tabblad" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "Optimaliseren" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Optimize SVG" +msgstr "Optimaliseren" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "Kopiëer alle tekst" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Copy the SVG text" +msgstr "Kopiëer alle tekst" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "SVG Resetten" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "Extern openen" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "SVG extern openen" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "Laat zien in Bestandsenverkenner" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "Laat SVG zien in Bestandsverkenner" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "Ongedaan maken" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "Opnieuw doen" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "Kopiëren" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "Plakken" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "Knippen" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "Alles selecteren" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "Dupliceren" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "Dupliceer de selectie" @@ -1145,10 +1101,20 @@ msgstr "Dupliceer de selectie" msgid "Delete the selection" msgstr "Verwijder de selectie" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move up" +msgstr "Naar Boven" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "Beweeg de selectie omhoog" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move down" +msgstr "Naar Onder" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "Beweeg de selectie omlaag" @@ -1157,6 +1123,26 @@ msgstr "Beweeg de selectie omlaag" msgid "Find" msgstr "Vind" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "Inzoomen" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "Uitzoomen" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "Zoom resetten" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "Raster weergeven" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "Handvaten weergeven" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "Gerasterd SVG weergeven" @@ -1165,6 +1151,10 @@ msgstr "Gerasterd SVG weergeven" msgid "Toggle snapping" msgstr "Knappen omschakelen" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "Referentiebeeld inladen" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "Referentie afbeelding weergeven" @@ -1177,26 +1167,50 @@ msgstr "Referentie afbeelding overlappen" msgid "View debug information" msgstr "Bekijk debug informatie" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "Instellingen" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "Open Instellingenmenu" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "Betreffende…" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "Open het Betreffende menu" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "Doneren…" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "Open Doneermenu" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "GodSVG opslagplaats" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "Open GodSVG opslagplaats" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "GodSVG website" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "Open GodSVG website" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "Nakijken voor updates" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "Applicatie afsluiten" @@ -1241,6 +1255,23 @@ msgstr "Kubieke Bézier naar" msgid "Shorthand Cubic Bezier to" msgstr "Afgekorte Kubieke Bézier naar" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "Absoluut" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Viewport" +msgstr "Zicht" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " @@ -1255,6 +1286,18 @@ msgstr "" "Deze bestandsextensie is leeg. Alleen {extension_list} bestanden zijn " "ondersteund." +#~ msgid "Show reference" +#~ msgstr "Referentie weergeven" + +#~ msgid "Overlay reference" +#~ msgstr "Referentie overlappen" + +#~ msgid "Rasterized SVG" +#~ msgstr "Gerasterd SVG" + +#~ msgid "Save as" +#~ msgstr "Opslaan als" + #~ msgid "Auto UI scale" #~ msgstr "Automatische gebruikersinterface maat" diff --git a/translations/pt_BR.po b/translations/pt_BR.po index 833e4b9..0912fcb 100644 --- a/translations/pt_BR.po +++ b/translations/pt_BR.po @@ -52,7 +52,7 @@ msgid "Export SVG" msgstr "Exportar SVG" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "Exportar" @@ -76,7 +76,7 @@ msgstr "" msgid "Alert!" msgstr "Alerta!" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "Fechar aba" @@ -85,30 +85,14 @@ msgid "Restore" msgstr "Restaurar" #: src/autoload/State.gd -msgid "View in List" +#, fuzzy +msgid "View in Inspector" msgstr "Ver na Lista" -#: src/autoload/State.gd -msgid "Duplicate" -msgstr "Duplicar" - #: src/autoload/State.gd msgid "Convert To" msgstr "Converter Para" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "Mover para acima" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "Mover para abaixo" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "Excluir" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "Inserir Após" @@ -252,58 +236,14 @@ msgstr "Doadores ouro" msgid "Diamond donors" msgstr "Doadores diamante" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "Copiar todo texto" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "Salvar SVG" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "Salvar SVG como…" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "Redefinir SVG" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "Abrir externalmente" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "Mostrar no gerenciador de arquivos" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "Visuais" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "Carregar imagem de referência" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "Mostrar referência" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "Sobrepôr referência" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "Mostrar grade" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "Mostrar alças" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "SVG rasterizado" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "Tamanho de encaixe" @@ -359,38 +299,9 @@ msgid "Preview image size is limited to {dimensions}" msgstr "" "O tamanho da visualização da prévia de imagem é limitado à {dimensions}" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "Importar" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "Configurações" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "Otimizar" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "Sobre…" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "Verificar atualizações" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "Doar…" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "Repositório do GodSVG" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" -msgstr "Website do GodSVG" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" +msgstr "Layout" #: src/ui_parts/global_actions.gd msgid "View savedata" @@ -412,6 +323,10 @@ msgstr "Alternar a visibilidade de arquivos escondidos" msgid "Search files" msgstr "Procurar arquivos" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "Salvar SVG" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "Selecionar um SVG" @@ -429,7 +344,6 @@ msgid "Select" msgstr "Selecionar" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "Salvar" @@ -481,6 +395,10 @@ msgstr "Nova forma" msgid "Import Problems" msgstr "Problemas de Importação" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "Importar" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "Elemento não reconhecido" @@ -497,6 +415,14 @@ msgstr "Erro de sintaxe" msgid "Add element" msgstr "Adicionar elemento" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "Arquivo" @@ -605,6 +531,11 @@ msgstr "Cores básicas" msgid "Background color" msgstr "Cor do plano de fundo" +#: src/ui_parts/settings_menu.gd +#, fuzzy +msgid "Grid color" +msgstr "Cor válida" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "Cor válida" @@ -617,6 +548,10 @@ msgstr "Cor de aviso" msgid "Input" msgstr "Entrada" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "Inverter direção do zoom" @@ -837,14 +772,6 @@ msgstr "Horizontal com duas linhas" msgid "Configure Shortcut Panel" msgstr "Configurar Painel de Atalhos" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "Layout" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "Criar aba" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "Criar nova aba" @@ -890,40 +817,6 @@ msgstr "GodSVG está atualizado." msgid "New versions" msgstr "Novas versões" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "Diminuir zoom" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "Aumentar zoom" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "Redefinir zoom" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "Desfazer" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "Refazer" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "Cortar" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "Copiar" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "Colar" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "Criar" @@ -972,10 +865,23 @@ msgstr "Essa paleta tem cores definidas de forma idêntica." msgid "Rename" msgstr "Renomear" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "Mover para acima" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "Mover para abaixo" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "Aplicar Predefinição" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "Excluir" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "Copiar como XML" @@ -984,8 +890,7 @@ msgstr "Copiar como XML" msgid "Save as XML" msgstr "Salvar como XML" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "Relativo" @@ -993,10 +898,6 @@ msgstr "Relativo" msgid "No path data" msgstr "Sem dados de caminho" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "Absoluto" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "Sem pontos" @@ -1096,8 +997,9 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "" #: src/utils/TranslationUtils.gd -msgid "Save as" -msgstr "Salvar como" +#, fuzzy +msgid "Save SVG as" +msgstr "Salvar SVG como…" #: src/utils/TranslationUtils.gd msgid "Close tabs to the left" @@ -1111,6 +1013,10 @@ msgstr "Fechar abas à direita" msgid "Close all other tabs" msgstr "Fechar todas as outras abas" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "Criar aba" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "Selecionar a próxima guia" @@ -1119,18 +1025,72 @@ msgstr "Selecionar a próxima guia" msgid "Select the previous tab" msgstr "Selecionar a guia anterior" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "Otimizar" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Optimize SVG" +msgstr "Otimizar" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "Copiar todo texto" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Copy the SVG text" +msgstr "Copiar todo texto" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "Redefinir SVG" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "Abrir externalmente" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "Abrir SVG externalmente" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "Mostrar no gerenciador de arquivos" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "Mostrar SVG no Explorador de Arquivos" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "Desfazer" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "Refazer" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "Copiar" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "Colar" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "Cortar" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "Selecionar tudo" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "Duplicar" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "Duplicar a seleção" @@ -1139,10 +1099,20 @@ msgstr "Duplicar a seleção" msgid "Delete the selection" msgstr "Excluir a seleção" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move up" +msgstr "Mover para acima" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "Mover a seleção para cima" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move down" +msgstr "Mover para abaixo" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "Mover a seleção para baixo" @@ -1151,6 +1121,26 @@ msgstr "Mover a seleção para baixo" msgid "Find" msgstr "Encontrar" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "Aumentar zoom" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "Diminuir zoom" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "Redefinir zoom" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "Mostrar grade" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "Mostrar alças" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "Mostrar SVG rasterizado" @@ -1159,6 +1149,10 @@ msgstr "Mostrar SVG rasterizado" msgid "Toggle snapping" msgstr "Alternar ajuste" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "Carregar imagem de referência" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "Mostrar imagem de referência" @@ -1171,26 +1165,50 @@ msgstr "Sobrepor imagem de referência" msgid "View debug information" msgstr "Visualizar informação de depuração" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "Configurações" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "Abrir o menu Configurações" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "Sobre…" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "Abrir o menu Sobre" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "Doar…" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "Abrir o menu Doar" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "Repositório do GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "Abrir o repositório do GodSVG" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "Website do GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "Abrir website do GodSVG" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "Verificar atualizações" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "Fechar programa" @@ -1235,6 +1253,23 @@ msgstr "Bézier Cúbico" msgid "Shorthand Cubic Bezier to" msgstr "Bézier Cúbico Abreviado para" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "Absoluto" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Viewport" +msgstr "Visualizar" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " @@ -1249,6 +1284,18 @@ msgstr "" "A extensão de arquivo está vazia. Somente arquivos {extension_list} são " "suportados." +#~ msgid "Show reference" +#~ msgstr "Mostrar referência" + +#~ msgid "Overlay reference" +#~ msgstr "Sobrepôr referência" + +#~ msgid "Rasterized SVG" +#~ msgstr "SVG rasterizado" + +#~ msgid "Save as" +#~ msgstr "Salvar como" + # Wonky translation but source is alwo wonky #~ msgid "" #~ "If you want to apply the unsaved file state, use \"Reset SVG\" instead." diff --git a/translations/ru.po b/translations/ru.po index f8e76a0..45483ac 100644 --- a/translations/ru.po +++ b/translations/ru.po @@ -53,7 +53,7 @@ msgid "Export SVG" msgstr "Экспортировать SVG" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "Экспортовать" @@ -78,7 +78,7 @@ msgstr "" msgid "Alert!" msgstr "Внимание!" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "Закрыть вкладку" @@ -87,30 +87,14 @@ msgid "Restore" msgstr "Восстановить" #: src/autoload/State.gd -msgid "View in List" +#, fuzzy +msgid "View in Inspector" msgstr "Просмотреть в списке" -#: src/autoload/State.gd -msgid "Duplicate" -msgstr "Дублировать" - #: src/autoload/State.gd msgid "Convert To" msgstr "Конвертировать в" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "Подвинуть вверх" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "Подвинуть вниз" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "Удалить" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "Вставить после" @@ -253,58 +237,14 @@ msgstr "Золотые благотворители" msgid "Diamond donors" msgstr "Алмазные благотворители" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "Скопировать весь текст" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "Сохранить SVG" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "Сохранить SVG как…" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "Сбросить SVG" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "Открыть во внешней программе" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "Показать в файловом менеджере" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "Внешний вид" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "Загрузить референс" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "Показать референс-изображение" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "Наложить референс-изображение" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "Показать сетку" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "Показать ручки редактирования" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "Растеризовать SVG" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "Размер привязки" @@ -360,38 +300,9 @@ msgid "Preview image size is limited to {dimensions}" msgstr "" "Размер предварительного просмотра изображения ограничен до {dimensions}" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "Импортировать" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "Настройки" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "Оптимизировать" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "Про программу…" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "Проверить обновления" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "Сделать пожертвование…" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "Репозиторий GodSVG" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" -msgstr "Веб-сайт GodSVG" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" +msgstr "Макет" #: src/ui_parts/global_actions.gd msgid "View savedata" @@ -413,6 +324,10 @@ msgstr "Переключить видимость скрытых файлов" msgid "Search files" msgstr "Искать файлы" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "Сохранить SVG" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "Выбрать SVG" @@ -430,7 +345,6 @@ msgid "Select" msgstr "Выбрать" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "Сохранить" @@ -482,6 +396,10 @@ msgstr "Новая привязка" msgid "Import Problems" msgstr "Проблемы с импортированием" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "Импортировать" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "Неизвестный элемент" @@ -498,6 +416,14 @@ msgstr "Синтаксическая ошибка" msgid "Add element" msgstr "Добавить элемент" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "Файл" @@ -610,6 +536,11 @@ msgstr "Базовый цвет" msgid "Background color" msgstr "Цвет фона" +#: src/ui_parts/settings_menu.gd +#, fuzzy +msgid "Grid color" +msgstr "Цвет валидности" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "Цвет валидности" @@ -618,14 +549,14 @@ msgstr "Цвет валидности" msgid "Warning color" msgstr "Цвет предупреждения" -#: src/ui_parts/settings_menu.gd -msgid "Close tabs with middle mouse button" -msgstr "Закрывать вкладки средней клавишей мыши" - #: src/ui_parts/settings_menu.gd msgid "Input" msgstr "Устройства ввода" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "Закрывать вкладки средней клавишей мыши" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "Инвертировать направление масштабирования" @@ -847,14 +778,6 @@ msgstr "Горизонтальная с двумя колонками" msgid "Configure Shortcut Panel" msgstr "Настроить в панели сочетаний клавиш" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "Макет" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "Создать вкладку" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "Создать новую вкладку" @@ -899,40 +822,6 @@ msgstr "Установлена последняя версия GodSVG." msgid "New versions" msgstr "Новые версии" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "Уменьшить масштаб" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "Увеличить масштаб" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "Сбросить масштаб" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "Отменить" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "Вернуть" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "Вырезать" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "Скопировать" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "Вставить" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "Создать" @@ -981,10 +870,23 @@ msgstr "В этой палитре имеются цвета с идентичн msgid "Rename" msgstr "Переименовать" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "Подвинуть вверх" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "Подвинуть вниз" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "Применить пресет" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "Удалить" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "Скопировать как XML" @@ -993,8 +895,7 @@ msgstr "Скопировать как XML" msgid "Save as XML" msgstr "Сохранить как XML" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "Относительно" @@ -1002,10 +903,6 @@ msgstr "Относительно" msgid "No path data" msgstr "Нет данных пути" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "Абсолютно" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "Нет точек" @@ -1105,8 +1002,9 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "Сохранить изменения в {file_name}?" #: src/utils/TranslationUtils.gd -msgid "Save as" -msgstr "Сохранить как" +#, fuzzy +msgid "Save SVG as" +msgstr "Сохранить SVG как…" #: src/utils/TranslationUtils.gd msgid "Close tabs to the left" @@ -1120,6 +1018,10 @@ msgstr "Закрыть вкладки справа" msgid "Close all other tabs" msgstr "Закрыть все остальные вкладки" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "Создать вкладку" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "Выбрать следующую вкладку" @@ -1128,18 +1030,72 @@ msgstr "Выбрать следующую вкладку" msgid "Select the previous tab" msgstr "Выбрать предыдущую вкладку" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "Оптимизировать" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Optimize SVG" +msgstr "Оптимизировать" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "Скопировать весь текст" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Copy the SVG text" +msgstr "Скопировать весь текст" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "Сбросить SVG" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "Открыть во внешней программе" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "Открыть SVG в внешней программе" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "Показать в файловом менеджере" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "Показать SVG в файловом менеджере" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "Отменить" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "Вернуть" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "Скопировать" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "Вставить" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "Вырезать" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "Выбрать все" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "Дублировать" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "Дублировать выбранное" @@ -1148,10 +1104,20 @@ msgstr "Дублировать выбранное" msgid "Delete the selection" msgstr "Удалить все выбранные теги" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move up" +msgstr "Подвинуть вверх" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "Подвинуть выбранное вверх" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move down" +msgstr "Подвинуть вниз" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "Подвинуть выбранное вниз" @@ -1160,6 +1126,26 @@ msgstr "Подвинуть выбранное вниз" msgid "Find" msgstr "Найти" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "Увеличить масштаб" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "Уменьшить масштаб" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "Сбросить масштаб" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "Показать сетку" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "Показать ручки редактирования" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "Показать растеризованный SVG" @@ -1168,6 +1154,10 @@ msgstr "Показать растеризованный SVG" msgid "Toggle snapping" msgstr "Переключить привязку" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "Загрузить референс" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "Показать референс-изображение" @@ -1180,26 +1170,50 @@ msgstr "Наложить референс-изображение" msgid "View debug information" msgstr "Просмотреть информацию для отладки" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "Настройки" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "Открыть меню настроек" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "Про программу…" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "Открыть меню \"Про приложение\"" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "Сделать пожертвование…" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "Открыть меню благотворителей" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "Репозиторий GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "Открыть репозиторий GodSVG" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "Веб-сайт GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "Открыть веб-сайт GodSVG" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "Проверить обновления" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "Выйти из приложения" @@ -1244,6 +1258,23 @@ msgstr "Кубическая Безье до" msgid "Shorthand Cubic Bezier to" msgstr "Сокращенная кубическая Безье до" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "Абсолютно" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Viewport" +msgstr "Просмотр" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " @@ -1256,6 +1287,18 @@ msgstr "" msgid "The file extension is empty. Only {extension_list} files are supported." msgstr "Расширение файла пустое. Поддерживаются только {extension_list} файлы." +#~ msgid "Show reference" +#~ msgstr "Показать референс-изображение" + +#~ msgid "Overlay reference" +#~ msgstr "Наложить референс-изображение" + +#~ msgid "Rasterized SVG" +#~ msgstr "Растеризовать SVG" + +#~ msgid "Save as" +#~ msgstr "Сохранить как" + #~ msgid "" #~ "If you want to apply the unsaved file state, use \"Reset SVG\" instead." #~ msgstr "" diff --git a/translations/uk.po b/translations/uk.po index b79d9a3..55d4158 100644 --- a/translations/uk.po +++ b/translations/uk.po @@ -52,7 +52,7 @@ msgid "Export SVG" msgstr "Експортувати SVG" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "Експортувати" @@ -76,7 +76,7 @@ msgstr "" msgid "Alert!" msgstr "Увага!" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd msgid "Close tab" msgstr "Закрити вкладку" @@ -85,30 +85,14 @@ msgid "Restore" msgstr "Відновити" #: src/autoload/State.gd -msgid "View in List" +#, fuzzy +msgid "View in Inspector" msgstr "Переглянути списком" -#: src/autoload/State.gd -msgid "Duplicate" -msgstr "Дублювати" - #: src/autoload/State.gd msgid "Convert To" msgstr "Конвертувати в" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "Пересунути вгору" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "Пересунути вниз" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "Видалити" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "Вставити після" @@ -252,59 +236,14 @@ msgstr "Золоті благодійники" msgid "Diamond donors" msgstr "Діамантові благодійники" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "Скопіювати весь текст" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "Зберегти SVG" - #: src/ui_parts/current_file_button.gd msgid "Save SVG as…" msgstr "Зберегти SVG як…" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "Скинути SVG" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "Відкрити у зовнішній програмі" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "Показати у файловому менеджері" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "Зовнішній вигляд" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "Завантажити еталонне зображення" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "Показати еталонне зображення" - -# Мабуть -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "Накласти еталонне зображення" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "Показати ґратку" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "Показати ручки редагування" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "Растеризувати SVG" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "Розмір прилипання" @@ -359,38 +298,9 @@ msgstr "Висота" msgid "Preview image size is limited to {dimensions}" msgstr "Розмір попереднього перегляду зображення обмежено до {dimensions}" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "Імпортувати" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "Налаштування" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "Оптимізувати" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "Про додаток…" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "Перевірити оновлення" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "Зробити пожертвування…" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "Репозиторій GodSVG" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" -msgstr "Веб-сайт GodSVG" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" +msgstr "Макет" #: src/ui_parts/global_actions.gd msgid "View savedata" @@ -412,6 +322,10 @@ msgstr "Перемикнути видимість прихованих файл msgid "Search files" msgstr "Пошук файлів" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "Зберегти SVG" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "Обрати SVG" @@ -429,7 +343,6 @@ msgid "Select" msgstr "Обрати" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "Зберегти" @@ -481,6 +394,10 @@ msgstr "Нова форма" msgid "Import Problems" msgstr "Проблема з імпортуванням" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "Імпортувати" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "Невідомий елемент" @@ -497,6 +414,14 @@ msgstr "Синтаксична помилка" msgid "Add element" msgstr "Додати елемент" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "Файл" @@ -605,6 +530,11 @@ msgstr "Базовий колір" msgid "Background color" msgstr "Колір фону" +#: src/ui_parts/settings_menu.gd +#, fuzzy +msgid "Grid color" +msgstr "Колір валідності" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "Колір валідності" @@ -617,6 +547,10 @@ msgstr "Колір попередження" msgid "Input" msgstr "Пристрої вводу" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "Інвертувати напрямок масштабування" @@ -842,14 +776,6 @@ msgstr "Горизонтальна з двома рядками" msgid "Configure Shortcut Panel" msgstr "Налаштувати у панелі клавіатурних скорочень" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "Макет" - -#: src/ui_parts/tab_bar.gd -msgid "Create tab" -msgstr "Створити вкладку" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd msgid "Create a new tab" msgstr "Створити нову вкладку" @@ -895,40 +821,6 @@ msgstr "GodSVG оновлено до останньої версії." msgid "New versions" msgstr "Нові версії" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "Зменшити масштаб" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "Збільшити масштаб" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "Скинути масштаб" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "Скасувати" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "Повернути" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "Вирізати" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "Скопіювати" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "Вставити" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "Створити" @@ -977,10 +869,23 @@ msgstr "Ця палітра має ідентичні кольори." msgid "Rename" msgstr "Перейменувати" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "Пересунути вгору" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "Пересунути вниз" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "Застосувати пресет" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "Видалити" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "Скопіювати як XML" @@ -989,8 +894,7 @@ msgstr "Скопіювати як XML" msgid "Save as XML" msgstr "Зберегти як XML" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "Відносно" @@ -998,10 +902,6 @@ msgstr "Відносно" msgid "No path data" msgstr "Немає даних шляху" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "Абсолютно" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "Немає точок" @@ -1101,8 +1001,9 @@ msgid "Do you want to save the changes made to {file_name}?" msgstr "" #: src/utils/TranslationUtils.gd -msgid "Save as" -msgstr "Зберегти як" +#, fuzzy +msgid "Save SVG as" +msgstr "Зберегти SVG як…" #: src/utils/TranslationUtils.gd msgid "Close tabs to the left" @@ -1116,6 +1017,10 @@ msgstr "Закрити усі вкладки справа" msgid "Close all other tabs" msgstr "Закрити усі інші вкладки" +#: src/utils/TranslationUtils.gd +msgid "Create tab" +msgstr "Створити вкладку" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "Обрати наступну вкладку" @@ -1124,18 +1029,72 @@ msgstr "Обрати наступну вкладку" msgid "Select the previous tab" msgstr "Обрати попередню вкладку" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "Оптимізувати" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Optimize SVG" +msgstr "Оптимізувати" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "Скопіювати весь текст" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Copy the SVG text" +msgstr "Скопіювати весь текст" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "Скинути SVG" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "Відкрити у зовнішній програмі" + #: src/utils/TranslationUtils.gd msgid "Open SVG externally" msgstr "Відкрити SVG у зовнішній програмі" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "Показати у файловому менеджері" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "Показати SVG у файловому менеджері" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "Скасувати" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "Повернути" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "Скопіювати" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "Вставити" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "Вирізати" + #: src/utils/TranslationUtils.gd msgid "Select all" msgstr "Обрати усе" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "Дублювати" + #: src/utils/TranslationUtils.gd msgid "Duplicate the selection" msgstr "Продублювати обране" @@ -1144,10 +1103,20 @@ msgstr "Продублювати обране" msgid "Delete the selection" msgstr "Видалити усі обрані теги" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move up" +msgstr "Пересунути вгору" + #: src/utils/TranslationUtils.gd msgid "Move the selection up" msgstr "Пересунути обране вгору" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move down" +msgstr "Пересунути вниз" + #: src/utils/TranslationUtils.gd msgid "Move the selection down" msgstr "Пересунути обране вниз" @@ -1156,6 +1125,26 @@ msgstr "Пересунути обране вниз" msgid "Find" msgstr "Знайти" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "Збільшити масштаб" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "Зменшити масштаб" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "Скинути масштаб" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "Показати ґратку" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "Показати ручки редагування" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "Показати растеризуваний SVG" @@ -1164,6 +1153,10 @@ msgstr "Показати растеризуваний SVG" msgid "Toggle snapping" msgstr "Перемикнути прилипання" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "Завантажити еталонне зображення" + # Нехай "reference image" буде "еталонне зображення", мені так гугл сказав #: src/utils/TranslationUtils.gd msgid "Show reference image" @@ -1177,26 +1170,50 @@ msgstr "Накласти еталонне зображення" msgid "View debug information" msgstr "Переглянути інформацію про відладку" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "Налаштування" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "Відкрити меню налаштувань" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "Про додаток…" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "Відкрити меню \"Про додаток\"" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "Зробити пожертвування…" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "Відкрити меню благодійників" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "Репозиторій GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "Відкрити репозиторій GodSVG" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "Веб-сайт GodSVG" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "Відкрити веб-сайт GodSVG" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "Перевірити оновлення" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "Вийти із додатку" @@ -1241,6 +1258,23 @@ msgstr "Кубічна Безьє до" msgid "Shorthand Cubic Bezier to" msgstr "Скорочена кубічна Безьє до" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "Абсолютно" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Viewport" +msgstr "Перегляд" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " @@ -1253,6 +1287,19 @@ msgstr "" msgid "The file extension is empty. Only {extension_list} files are supported." msgstr "Розширення файлу порожнє. Тільки {extension_list} файли підтримуються." +#~ msgid "Show reference" +#~ msgstr "Показати еталонне зображення" + +# Мабуть +#~ msgid "Overlay reference" +#~ msgstr "Накласти еталонне зображення" + +#~ msgid "Rasterized SVG" +#~ msgstr "Растеризувати SVG" + +#~ msgid "Save as" +#~ msgstr "Зберегти як" + #~ msgid "" #~ "If you want to apply the unsaved file state, use \"Reset SVG\" instead." #~ msgstr "" diff --git a/translations/zh_CN.po b/translations/zh_CN.po index 748b4d1..a9aabda 100644 --- a/translations/zh_CN.po +++ b/translations/zh_CN.po @@ -51,7 +51,7 @@ msgid "Export SVG" msgstr "导出 SVG" #: src/autoload/HandlerGUI.gd src/ui_parts/export_menu.gd -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd +#: src/utils/TranslationUtils.gd msgid "Export" msgstr "导出" @@ -73,7 +73,7 @@ msgstr "此图像只能以 SVG 格式导出,因为其大小未定义。您确 msgid "Alert!" msgstr "警告!" -#: src/autoload/State.gd src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd +#: src/autoload/State.gd src/utils/TranslationUtils.gd #, fuzzy msgid "Close tab" msgstr "闭合路径" @@ -83,30 +83,14 @@ msgid "Restore" msgstr "" #: src/autoload/State.gd -msgid "View in List" +#, fuzzy +msgid "View in Inspector" msgstr "在列表中查看" -#: src/autoload/State.gd -msgid "Duplicate" -msgstr "克隆" - #: src/autoload/State.gd msgid "Convert To" msgstr "转换为" -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Up" -msgstr "上移" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -msgid "Move Down" -msgstr "下移" - -#: src/autoload/State.gd src/ui_widgets/palette_config.gd -#: src/ui_widgets/setting_shortcut.gd src/ui_widgets/transform_popup.gd -msgid "Delete" -msgstr "删除" - #: src/autoload/State.gd src/ui_widgets/transform_popup.gd msgid "Insert After" msgstr "在后方插入" @@ -247,59 +231,15 @@ msgstr "金牌捐赠者" msgid "Diamond donors" msgstr "钻石捐赠者" -#: src/ui_parts/code_editor.gd src/utils/TranslationUtils.gd -msgid "Copy all text" -msgstr "复制所有文本" - -#: src/ui_parts/current_file_button.gd src/ui_parts/good_file_dialog.gd -msgid "Save SVG" -msgstr "保存 SVG" - #: src/ui_parts/current_file_button.gd #, fuzzy msgid "Save SVG as…" msgstr "保存 SVG" -#: src/ui_parts/current_file_button.gd src/utils/TranslationUtils.gd -msgid "Reset SVG" -msgstr "重置 SVG" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Open externally" -msgstr "" - -#: src/ui_parts/current_file_button.gd src/ui_parts/tab_bar.gd -msgid "Show in File Manager" -msgstr "" - #: src/ui_parts/display.gd msgid "Visuals" msgstr "显示" -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Load reference image" -msgstr "加载参考图像" - -#: src/ui_parts/display.gd -msgid "Show reference" -msgstr "显示参考" - -#: src/ui_parts/display.gd -msgid "Overlay reference" -msgstr "置顶参考" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show grid" -msgstr "显示网格" - -#: src/ui_parts/display.gd src/utils/TranslationUtils.gd -msgid "Show handles" -msgstr "显示拖拽框" - -#: src/ui_parts/display.gd -msgid "Rasterized SVG" -msgstr "光栅化 SVG" - #: src/ui_parts/display.gd msgid "Snap size" msgstr "吸附大小" @@ -354,38 +294,9 @@ msgstr "高度" msgid "Preview image size is limited to {dimensions}" msgstr "预览图像大小被限制到 {dimensions}" -#: src/ui_parts/global_actions.gd src/ui_parts/import_warning_menu.gd -#: src/utils/TranslationUtils.gd -msgid "Import" -msgstr "导入" - -#: src/ui_parts/global_actions.gd -msgid "Settings" -msgstr "设置" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Optimize" -msgstr "优化" - -#: src/ui_parts/global_actions.gd -msgid "About…" -msgstr "关于…" - -#: src/ui_parts/global_actions.gd src/utils/TranslationUtils.gd -msgid "Check for updates" -msgstr "检查更新" - -#: src/ui_parts/global_actions.gd -msgid "Donate…" -msgstr "捐赠…" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG repository" -msgstr "GodSVG 代码仓库" - -#: src/ui_parts/global_actions.gd -msgid "GodSVG website" -msgstr "GodSVG 网站" +#: src/ui_parts/global_actions.gd src/ui_parts/shortcut_panel_config.gd +msgid "Layout" +msgstr "" #: src/ui_parts/global_actions.gd msgid "View savedata" @@ -407,6 +318,10 @@ msgstr "切换隐藏文件可见性" msgid "Search files" msgstr "搜索文件" +#: src/ui_parts/good_file_dialog.gd src/utils/TranslationUtils.gd +msgid "Save SVG" +msgstr "保存 SVG" + #: src/ui_parts/good_file_dialog.gd msgid "Select an SVG" msgstr "选择 SVG" @@ -424,7 +339,6 @@ msgid "Select" msgstr "选择" #: src/ui_parts/good_file_dialog.gd src/utils/FileUtils.gd -#: src/utils/TranslationUtils.gd msgid "Save" msgstr "保存" @@ -474,6 +388,10 @@ msgstr "新形状" msgid "Import Problems" msgstr "导入出错" +#: src/ui_parts/import_warning_menu.gd src/utils/TranslationUtils.gd +msgid "Import" +msgstr "导入" + #: src/ui_parts/import_warning_menu.gd msgid "Unrecognized element" msgstr "未知元素" @@ -490,6 +408,14 @@ msgstr "语法错误" msgid "Add element" msgstr "添加元素" +#: src/ui_parts/layout_popup.gd +msgid "Excluded" +msgstr "" + +#: src/ui_parts/layout_popup.gd +msgid "Drag and drop to change the layout" +msgstr "" + #: src/ui_parts/mac_menu.gd src/ui_parts/settings_menu.gd msgid "File" msgstr "文件" @@ -598,6 +524,11 @@ msgstr "基本颜色" msgid "Background color" msgstr "背景颜色" +#: src/ui_parts/settings_menu.gd +#, fuzzy +msgid "Grid color" +msgstr "正常颜色" + #: src/ui_parts/settings_menu.gd msgid "Valid color" msgstr "正常颜色" @@ -610,6 +541,10 @@ msgstr "警告颜色" msgid "Input" msgstr "输入" +#: src/ui_parts/settings_menu.gd +msgid "Close tabs with middle mouse button" +msgstr "" + #: src/ui_parts/settings_menu.gd msgid "Invert zoom direction" msgstr "反转缩放方向" @@ -831,15 +766,6 @@ msgstr "横线" msgid "Configure Shortcut Panel" msgstr "" -#: src/ui_parts/shortcut_panel_config.gd -msgid "Layout" -msgstr "" - -#: src/ui_parts/tab_bar.gd -#, fuzzy -msgid "Create tab" -msgstr "创建" - #: src/ui_parts/tab_bar.gd src/utils/TranslationUtils.gd #, fuzzy msgid "Create a new tab" @@ -886,40 +812,6 @@ msgstr "GodSVG 是最新版本。" msgid "New versions" msgstr "新版本" -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom out" -msgstr "缩小" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom in" -msgstr "放大" - -#: src/ui_parts/zoom_menu.gd src/utils/TranslationUtils.gd -msgid "Zoom reset" -msgstr "重置缩放" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Undo" -msgstr "撤销" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -#: src/utils/TranslationUtils.gd -msgid "Redo" -msgstr "恢复" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Cut" -msgstr "剪切" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Copy" -msgstr "复制" - -#: src/ui_widgets/BetterLineEdit.gd src/ui_widgets/BetterTextEdit.gd -msgid "Paste" -msgstr "粘贴" - #: src/ui_widgets/choose_name_dialog.gd msgid "Create" msgstr "创建" @@ -969,10 +861,23 @@ msgstr "此调色盘使用了完全相同的颜色定义。" msgid "Rename" msgstr "重命名" +#: src/ui_widgets/palette_config.gd +msgid "Move Up" +msgstr "上移" + +#: src/ui_widgets/palette_config.gd +msgid "Move Down" +msgstr "下移" + #: src/ui_widgets/palette_config.gd msgid "Apply Preset" msgstr "应用预设" +#: src/ui_widgets/palette_config.gd src/ui_widgets/setting_shortcut.gd +#: src/ui_widgets/transform_popup.gd src/utils/TranslationUtils.gd +msgid "Delete" +msgstr "删除" + #: src/ui_widgets/palette_config.gd msgid "Copy as XML" msgstr "复制为 XML" @@ -982,8 +887,7 @@ msgstr "复制为 XML" msgid "Save as XML" msgstr "复制为 XML" -#: src/ui_widgets/path_popup.gd src/ui_widgets/pathdata_field.gd -#: src/utils/TranslationUtils.gd +#: src/ui_widgets/path_popup.gd src/utils/TranslationUtils.gd msgid "Relative" msgstr "相对" @@ -991,10 +895,6 @@ msgstr "相对" msgid "No path data" msgstr "没有路径数据" -#: src/ui_widgets/pathdata_field.gd src/utils/TranslationUtils.gd -msgid "Absolute" -msgstr "绝对" - #: src/ui_widgets/points_field.gd msgid "No points" msgstr "没有点" @@ -1095,8 +995,8 @@ msgstr "" #: src/utils/TranslationUtils.gd #, fuzzy -msgid "Save as" -msgstr "保存" +msgid "Save SVG as" +msgstr "保存 SVG" #: src/utils/TranslationUtils.gd msgid "Close tabs to the left" @@ -1111,6 +1011,11 @@ msgstr "" msgid "Close all other tabs" msgstr "复制所有文本" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Create tab" +msgstr "创建" + #: src/utils/TranslationUtils.gd msgid "Select the next tab" msgstr "" @@ -1119,20 +1024,74 @@ msgstr "" msgid "Select the previous tab" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Optimize" +msgstr "优化" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Optimize SVG" +msgstr "优化" + +#: src/utils/TranslationUtils.gd +msgid "Copy all text" +msgstr "复制所有文本" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Copy the SVG text" +msgstr "复制所有文本" + +#: src/utils/TranslationUtils.gd +msgid "Reset SVG" +msgstr "重置 SVG" + +#: src/utils/TranslationUtils.gd +msgid "Open externally" +msgstr "" + #: src/utils/TranslationUtils.gd #, fuzzy msgid "Open SVG externally" msgstr "打开 GodSVG 代码仓库" +#: src/utils/TranslationUtils.gd +msgid "Show in File Manager" +msgstr "" + #: src/utils/TranslationUtils.gd msgid "Show SVG in File Manager" msgstr "" +#: src/utils/TranslationUtils.gd +msgid "Undo" +msgstr "撤销" + +#: src/utils/TranslationUtils.gd +msgid "Redo" +msgstr "恢复" + +#: src/utils/TranslationUtils.gd +msgid "Copy" +msgstr "复制" + +#: src/utils/TranslationUtils.gd +msgid "Paste" +msgstr "粘贴" + +#: src/utils/TranslationUtils.gd +msgid "Cut" +msgstr "剪切" + #: src/utils/TranslationUtils.gd #, fuzzy msgid "Select all" msgstr "选择" +#: src/utils/TranslationUtils.gd +msgid "Duplicate" +msgstr "克隆" + #: src/utils/TranslationUtils.gd #, fuzzy msgid "Duplicate the selection" @@ -1142,11 +1101,21 @@ msgstr "删除所选项" msgid "Delete the selection" msgstr "删除所选项" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move up" +msgstr "上移" + #: src/utils/TranslationUtils.gd #, fuzzy msgid "Move the selection up" msgstr "将选中的元素上移" +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Move down" +msgstr "下移" + #: src/utils/TranslationUtils.gd #, fuzzy msgid "Move the selection down" @@ -1156,6 +1125,26 @@ msgstr "将选中的元素下移" msgid "Find" msgstr "查找" +#: src/utils/TranslationUtils.gd +msgid "Zoom in" +msgstr "放大" + +#: src/utils/TranslationUtils.gd +msgid "Zoom out" +msgstr "缩小" + +#: src/utils/TranslationUtils.gd +msgid "Zoom reset" +msgstr "重置缩放" + +#: src/utils/TranslationUtils.gd +msgid "Show grid" +msgstr "显示网格" + +#: src/utils/TranslationUtils.gd +msgid "Show handles" +msgstr "显示拖拽框" + #: src/utils/TranslationUtils.gd msgid "Show rasterized SVG" msgstr "显示光栅化的 SVG" @@ -1164,6 +1153,10 @@ msgstr "显示光栅化的 SVG" msgid "Toggle snapping" msgstr "切换吸附" +#: src/utils/TranslationUtils.gd +msgid "Load reference image" +msgstr "加载参考图像" + #: src/utils/TranslationUtils.gd msgid "Show reference image" msgstr "显示参考图像" @@ -1176,26 +1169,50 @@ msgstr "置顶参考图像" msgid "View debug information" msgstr "查看调试信息" +#: src/utils/TranslationUtils.gd +msgid "Settings" +msgstr "设置" + #: src/utils/TranslationUtils.gd msgid "Open Settings menu" msgstr "打开设置菜单" +#: src/utils/TranslationUtils.gd +msgid "About…" +msgstr "关于…" + #: src/utils/TranslationUtils.gd msgid "Open About menu" msgstr "打开关于菜单" +#: src/utils/TranslationUtils.gd +msgid "Donate…" +msgstr "捐赠…" + #: src/utils/TranslationUtils.gd msgid "Open Donate menu" msgstr "打开捐赠菜单" +#: src/utils/TranslationUtils.gd +msgid "GodSVG repository" +msgstr "GodSVG 代码仓库" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG repository" msgstr "打开 GodSVG 代码仓库" +#: src/utils/TranslationUtils.gd +msgid "GodSVG website" +msgstr "GodSVG 网站" + #: src/utils/TranslationUtils.gd msgid "Open GodSVG website" msgstr "打开 GodSVG 网站" +#: src/utils/TranslationUtils.gd +msgid "Check for updates" +msgstr "检查更新" + #: src/utils/TranslationUtils.gd msgid "Quit the application" msgstr "退出程序" @@ -1240,6 +1257,23 @@ msgstr "三点三次贝塞尔曲线" msgid "Shorthand Cubic Bezier to" msgstr "两点三次贝塞尔曲线" +#: src/utils/TranslationUtils.gd +msgid "Absolute" +msgstr "绝对" + +#: src/utils/TranslationUtils.gd +msgid "Code editor" +msgstr "" + +#: src/utils/TranslationUtils.gd +msgid "Inspector" +msgstr "" + +#: src/utils/TranslationUtils.gd +#, fuzzy +msgid "Viewport" +msgstr "视图" + #: src/utils/TranslationUtils.gd msgid "" "The file extension {extension} is unsupported for this operation. Only " @@ -1251,6 +1285,19 @@ msgstr "" msgid "The file extension is empty. Only {extension_list} files are supported." msgstr "文件扩展名为空。只有 {extension_list} 内的文件受支持。" +#~ msgid "Show reference" +#~ msgstr "显示参考" + +#~ msgid "Overlay reference" +#~ msgstr "置顶参考" + +#~ msgid "Rasterized SVG" +#~ msgstr "光栅化 SVG" + +#, fuzzy +#~ msgid "Save as" +#~ msgstr "保存" + #~ msgid "Auto UI scale" #~ msgstr "自动 UI 大小"