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 大小"