mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-20 12:33:14 +00:00
Merge pull request #6 from Orama-Interactive/master
Merged with d2760c0
This commit is contained in:
commit
7fce473e76
18 changed files with 879 additions and 427 deletions
BIN
Assets/Fonts/NotoSansCJKtc-Regular.otf
Normal file
BIN
Assets/Fonts/NotoSansCJKtc-Regular.otf
Normal file
Binary file not shown.
9
Assets/Fonts/NotoSansCJKtc-Regular.tres
Normal file
9
Assets/Fonts/NotoSansCJKtc-Regular.tres
Normal file
|
@ -0,0 +1,9 @@
|
|||
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/Fonts/NotoSansCJKtc-Regular.otf" type="DynamicFontData" id=1]
|
||||
|
||||
[resource]
|
||||
size = 12
|
||||
use_mipmaps = true
|
||||
use_filter = true
|
||||
font_data = ExtResource( 1 )
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "BubbleGum16",
|
||||
"colors" : [
|
||||
"name": "BubbleGum16",
|
||||
"colors" : [
|
||||
{ "data" : "#FF000000", "name" : "no name" },
|
||||
{ "data" : "#FF7f0622", "name" : "no name" },
|
||||
{ "data" : "#FFd62411", "name" : "no name" },
|
||||
|
@ -18,5 +18,6 @@
|
|||
{ "data" : "#FF007899", "name" : "no name" },
|
||||
{ "data" : "#FF002859", "name" : "no name" },
|
||||
],
|
||||
"comments": "by PineTreePizza - https://twitter.com/PineTreePizza"
|
||||
"comments": "by PineTreePizza - https://twitter.com/PineTreePizza",
|
||||
"editable": false
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "Default",
|
||||
"colors" : [
|
||||
"name": "Default",
|
||||
"colors" : [
|
||||
{ "data" : "#FF000000", "name" : "no name" },
|
||||
{ "data" : "#FF222034", "name" : "no name" },
|
||||
{ "data" : "#FF45283c", "name" : "no name" },
|
||||
|
@ -33,5 +33,7 @@
|
|||
{ "data" : "#FFd77bba", "name" : "no name" },
|
||||
{ "data" : "#FF8f974a", "name" : "no name" },
|
||||
{ "data" : "#FF8a6f30", "name" : "no name" }
|
||||
]
|
||||
],
|
||||
"comments": "Aseprite default palette",
|
||||
"editable": false
|
||||
}
|
BIN
Assets/Graphics/Palette/swatch_drag_preview.png
Normal file
BIN
Assets/Graphics/Palette/swatch_drag_preview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 111 B |
34
Assets/Graphics/Palette/swatch_drag_preview.png.import
Normal file
34
Assets/Graphics/Palette/swatch_drag_preview.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/swatch_drag_preview.png-4e3b034338643b2d9a5d7daa883dd850.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Graphics/Palette/swatch_drag_preview.png"
|
||||
dest_files=[ "res://.import/swatch_drag_preview.png-4e3b034338643b2d9a5d7daa883dd850.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
497
Main.tscn
497
Main.tscn
File diff suppressed because one or more lines are too long
|
@ -1,9 +1,11 @@
|
|||
[gd_scene load_steps=6 format=2]
|
||||
[gd_scene load_steps=8 format=2]
|
||||
|
||||
[ext_resource path="res://Themes & Styles/StyleBoxes/palette_stylebox_hover.tres" type="StyleBox" id=1]
|
||||
[ext_resource path="res://Themes & Styles/StyleBoxes/palette_stylebox_pressedr.tres" type="StyleBox" id=2]
|
||||
[ext_resource path="res://Themes & Styles/StyleBoxes/palette_stylebox_normal.tres" type="StyleBox" id=3]
|
||||
[ext_resource path="res://Assets/Graphics/Palette/palette_button_fill.png" type="Texture" id=4]
|
||||
[ext_resource path="res://Themes & Styles/StyleBoxes/palette_stylebox_focus.tres" type="StyleBox" id=3]
|
||||
[ext_resource path="res://Themes & Styles/StyleBoxes/palette_stylebox_normal.tres" type="StyleBox" id=4]
|
||||
[ext_resource path="res://Scripts/PaletteButton.gd" type="Script" id=5]
|
||||
[ext_resource path="res://Assets/Graphics/Palette/palette_button_fill.png" type="Texture" id=6]
|
||||
|
||||
[sub_resource type="ImageTexture" id=1]
|
||||
|
||||
|
@ -14,9 +16,11 @@ rect_min_size = Vector2( 26, 26 )
|
|||
hint_tooltip = "Color Name"
|
||||
custom_styles/hover = ExtResource( 1 )
|
||||
custom_styles/pressed = ExtResource( 2 )
|
||||
custom_styles/normal = ExtResource( 3 )
|
||||
custom_styles/focus = ExtResource( 3 )
|
||||
custom_styles/normal = ExtResource( 4 )
|
||||
button_mask = 3
|
||||
icon = SubResource( 1 )
|
||||
script = ExtResource( 5 )
|
||||
|
||||
[node name="NinePatchRect" type="NinePatchRect" parent="."]
|
||||
anchor_right = 1.0
|
||||
|
@ -27,7 +31,7 @@ margin_right = -1.0
|
|||
margin_bottom = -1.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource( 4 )
|
||||
texture = ExtResource( 6 )
|
||||
patch_margin_left = 2
|
||||
patch_margin_top = 2
|
||||
patch_margin_right = 2
|
||||
|
|
120
Scripts/EditPalettePopup.gd
Normal file
120
Scripts/EditPalettePopup.gd
Normal file
|
@ -0,0 +1,120 @@
|
|||
extends WindowDialog
|
||||
|
||||
onready var palette_grid = $VBoxContainer/HBoxContainer/Panel/EditPaletteGridContainer
|
||||
onready var color_name_edit = $VBoxContainer/HBoxContainer3/EditPaletteColorNameLineEdit
|
||||
onready var color_picker = $VBoxContainer/HBoxContainer/EditPaletteColorPicker
|
||||
|
||||
var palette_button = preload("res://Prefabs/PaletteButton.tscn");
|
||||
|
||||
var current_palette : String
|
||||
var current_swatch := -1
|
||||
var working_palette : Dictionary
|
||||
|
||||
|
||||
func open(palette : String) -> void:
|
||||
current_palette = palette
|
||||
if Global.palettes.has(palette):
|
||||
working_palette = Global.palettes[palette].duplicate()
|
||||
|
||||
_display_palette()
|
||||
|
||||
self.popup_centered()
|
||||
pass
|
||||
|
||||
func _display_palette() -> void:
|
||||
_clear_swatches()
|
||||
var index := 0
|
||||
|
||||
for color_data in working_palette.colors:
|
||||
var color = Color(color_data.data)
|
||||
var new_button = palette_button.instance()
|
||||
|
||||
new_button.color = color
|
||||
new_button.get_child(0).modulate = color
|
||||
new_button.hint_tooltip = color_data.data.to_upper() + " " + color_data.name
|
||||
new_button.draggable = true
|
||||
new_button.index = index
|
||||
new_button.connect("on_drop_data", self, "on_move_swatch")
|
||||
new_button.connect("pressed", self, "on_swatch_select", [index])
|
||||
|
||||
palette_grid.add_child(new_button)
|
||||
index += 1
|
||||
|
||||
func _clear_swatches() -> void:
|
||||
for child in palette_grid.get_children():
|
||||
if child is BaseButton:
|
||||
child.disconnect("on_drop_data", self, "on_move_swatch")
|
||||
child.queue_free()
|
||||
|
||||
func on_swatch_select(index : int) -> void:
|
||||
current_swatch = index
|
||||
color_name_edit.text = working_palette.colors[index].name
|
||||
color_picker.color = working_palette.colors[index].data
|
||||
pass
|
||||
|
||||
func on_move_swatch(from : int, to : int) -> void:
|
||||
var color_to_move = working_palette.colors[from]
|
||||
working_palette.colors.remove(from)
|
||||
working_palette.colors.insert(to, color_to_move)
|
||||
|
||||
palette_grid.move_child(palette_grid.get_child(from), to)
|
||||
|
||||
# Re-index swatches with new order
|
||||
var index := 0
|
||||
for child in palette_grid.get_children():
|
||||
child.index = index
|
||||
index += 1
|
||||
pass
|
||||
|
||||
func _on_AddSwatchButton_pressed() -> void:
|
||||
var color = Color.white
|
||||
var color_data = {}
|
||||
color_data.data = color.to_html(true)
|
||||
color_data.name = "no name"
|
||||
working_palette.colors.push_back(color_data)
|
||||
var new_button = palette_button.instance()
|
||||
|
||||
new_button.color = color
|
||||
new_button.get_child(0).modulate = color
|
||||
new_button.hint_tooltip = color_data.data.to_upper() + " " + color_data.name
|
||||
new_button.draggable = true
|
||||
var index : int = palette_grid.get_child_count()
|
||||
new_button.index = index
|
||||
new_button.connect("on_drop_data", self, "on_move_swatch")
|
||||
new_button.connect("pressed", self, "on_swatch_select", [index])
|
||||
|
||||
palette_grid.add_child(new_button)
|
||||
pass # Replace with function body.
|
||||
|
||||
func _on_RemoveSwatchButton_pressed() -> void:
|
||||
working_palette.colors.remove(current_swatch)
|
||||
palette_grid.remove_child(palette_grid.get_child(current_swatch))
|
||||
pass # Replace with function body.
|
||||
|
||||
func _on_EditPaletteSaveButton_pressed() -> void:
|
||||
Global.palettes[current_palette] = working_palette
|
||||
Global.palette_container.on_palette_select(current_palette)
|
||||
Global.palette_container.save_palette(current_palette, working_palette.name + ".json")
|
||||
self.hide()
|
||||
pass # Replace with function body.
|
||||
|
||||
func _on_EditPaletteCancelButton_pressed() -> void:
|
||||
self.hide()
|
||||
pass # Replace with function body.
|
||||
|
||||
func _on_EditPaletteColorNameLineEdit_text_changed(new_text) -> void:
|
||||
if current_swatch > 0 && current_swatch < working_palette.colors.size():
|
||||
working_palette.colors[current_swatch].name = new_text
|
||||
_refresh_hint_tooltip(current_swatch)
|
||||
pass
|
||||
|
||||
func _on_EditPaletteColorPicker_color_changed(color) -> void:
|
||||
if current_swatch > 0 && current_swatch < working_palette.colors.size():
|
||||
palette_grid.get_child(current_swatch).get_child(0).modulate = color
|
||||
working_palette.colors[current_swatch].data = color.to_html(true)
|
||||
_refresh_hint_tooltip(current_swatch)
|
||||
pass
|
||||
|
||||
func _refresh_hint_tooltip(index : int):
|
||||
palette_grid.get_child(current_swatch).hint_tooltip = working_palette.colors[current_swatch].data.to_upper() + " " + working_palette.colors[current_swatch].name
|
||||
pass
|
|
@ -187,6 +187,11 @@ var remove_palette_button : TextureButton
|
|||
var palette_option_button : OptionButton
|
||||
var edit_palette_button : BaseButton
|
||||
var palette_container : GridContainer
|
||||
var edit_palette_popup : WindowDialog
|
||||
var new_palette_dialog : ConfirmationDialog
|
||||
var new_palette_name_line_edit : LineEdit
|
||||
|
||||
var error_dialog : AcceptDialog
|
||||
|
||||
func _ready() -> void:
|
||||
undo_redo = UndoRedo.new()
|
||||
|
@ -275,6 +280,11 @@ func _ready() -> void:
|
|||
palette_option_button = find_node_by_name(root, "PaletteOptionButton")
|
||||
edit_palette_button = find_node_by_name(root, "EditPalette")
|
||||
palette_container = find_node_by_name(root, "PaletteContainer")
|
||||
edit_palette_popup = find_node_by_name(root, "EditPalettePopup")
|
||||
new_palette_dialog = find_node_by_name(root, "NewPaletteDialog")
|
||||
new_palette_name_line_edit = find_node_by_name(new_palette_dialog, "NewPaletteNameLineEdit")
|
||||
|
||||
error_dialog = find_node_by_name(root, "ErrorDialog")
|
||||
|
||||
#Thanks to https://godotengine.org/qa/17524/how-to-find-an-instanced-scene-by-its-name
|
||||
func find_node_by_name(root, node_name) -> Node:
|
||||
|
@ -439,7 +449,7 @@ func update_left_custom_brush() -> void:
|
|||
custom_brush.copy_from(custom_brushes[custom_left_brush_index])
|
||||
var custom_brush_size = custom_brush.get_size()
|
||||
custom_brush.resize(custom_brush_size.x * left_brush_size, custom_brush_size.y * left_brush_size, Image.INTERPOLATE_NEAREST)
|
||||
custom_left_brush_image = blend_image_with_color(custom_brush, left_color_picker.color, left_interpolate_slider.value)
|
||||
custom_left_brush_image = blend_image_with_color(custom_brush, left_color_picker.color, left_interpolate_slider.value / 100)
|
||||
custom_left_brush_texture.create_from_image(custom_left_brush_image, 0)
|
||||
|
||||
left_brush_type_button.get_child(0).texture = custom_left_brush_texture
|
||||
|
@ -455,7 +465,7 @@ func update_right_custom_brush() -> void:
|
|||
custom_brush.copy_from(custom_brushes[custom_right_brush_index])
|
||||
var custom_brush_size = custom_brush.get_size()
|
||||
custom_brush.resize(custom_brush_size.x * right_brush_size, custom_brush_size.y * right_brush_size, Image.INTERPOLATE_NEAREST)
|
||||
custom_right_brush_image = blend_image_with_color(custom_brush, right_color_picker.color, right_interpolate_slider.value)
|
||||
custom_right_brush_image = blend_image_with_color(custom_brush, right_color_picker.color, right_interpolate_slider.value / 100)
|
||||
custom_right_brush_texture.create_from_image(custom_right_brush_image, 0)
|
||||
|
||||
right_brush_type_button.get_child(0).texture = custom_right_brush_texture
|
||||
|
|
|
@ -24,13 +24,13 @@ func _ready() -> void:
|
|||
# This property is only available in 3.2alpha or later, so use `set()` to fail gracefully if it doesn't exist.
|
||||
OS.set("min_window_size", Vector2(1152, 648))
|
||||
|
||||
# `TranslationServer.get_loaded_locales()` was added in 3.2beta and isn't available in 3.1.2.
|
||||
# `TranslationServer.get_loaded_locales()` was added in 3.2beta and in 3.1.2
|
||||
# The `has_method()` check and the `else` branch can be removed once 3.2 is released.
|
||||
if TranslationServer.has_method("get_loaded_locales"):
|
||||
loaded_locales = TranslationServer.get_loaded_locales()
|
||||
else:
|
||||
# Hardcoded list of locales
|
||||
loaded_locales = ["de", "el", "en", "fr"]
|
||||
loaded_locales = ["de", "el", "en", "fr", "pl", "ru", "zh_TW"]
|
||||
|
||||
# Make sure locales are always sorted, in the same order
|
||||
loaded_locales.sort()
|
||||
|
@ -91,6 +91,12 @@ func _ready() -> void:
|
|||
else: # If the user doesn't have a language preference, set it to their OS' locale
|
||||
TranslationServer.set_locale(OS.get_locale())
|
||||
|
||||
if TranslationServer.get_locale() == "zh_TW":
|
||||
theme.default_font = preload("res://Assets/Fonts/NotoSansCJKtc-Regular.tres")
|
||||
else:
|
||||
theme.default_font = preload("res://Assets/Fonts/Roboto-Regular.tres")
|
||||
|
||||
|
||||
var file_menu : PopupMenu = Global.file_menu.get_popup()
|
||||
var edit_menu : PopupMenu = Global.edit_menu.get_popup()
|
||||
view_menu = Global.view_menu.get_popup()
|
||||
|
@ -634,6 +640,10 @@ func _on_LanguageOption_item_selected(ID : int) -> void:
|
|||
TranslationServer.set_locale(OS.get_locale())
|
||||
else:
|
||||
TranslationServer.set_locale(loaded_locales[ID - 1])
|
||||
if loaded_locales[ID - 1] == "zh_TW":
|
||||
theme.default_font = preload("res://Assets/Fonts/NotoSansCJKtc-Regular.tres")
|
||||
else:
|
||||
theme.default_font = preload("res://Assets/Fonts/Roboto-Regular.tres")
|
||||
|
||||
config_cache.set_value("preferences", "locale", TranslationServer.get_locale())
|
||||
config_cache.save("user://cache.ini")
|
||||
|
@ -1012,12 +1022,12 @@ func _on_RightFillAreaOptions_item_selected(ID : int) -> void:
|
|||
func _on_LeftLightenDarken_item_selected(ID : int) -> void:
|
||||
Global.left_ld = ID
|
||||
func _on_LeftLDAmountSpinbox_value_changed(value : float) -> void:
|
||||
Global.left_ld_amount = value
|
||||
Global.left_ld_amount = value / 100
|
||||
|
||||
func _on_RightLightenDarken_item_selected(ID : int) -> void:
|
||||
Global.right_ld = ID
|
||||
func _on_RightLDAmountSpinbox_value_changed(value : float) -> void:
|
||||
Global.right_ld_amount = value
|
||||
Global.right_ld_amount = value / 100
|
||||
|
||||
func _on_LeftHorizontalMirroring_toggled(button_pressed) -> void:
|
||||
Global.left_horizontal_mirror = button_pressed
|
||||
|
@ -1047,3 +1057,16 @@ func _exit_tree() -> void:
|
|||
func _on_PaletteOptionButton_item_selected(ID) -> void:
|
||||
var palette_name = Global.palette_option_button.get_item_metadata(ID)
|
||||
Global.palette_container.on_palette_select(palette_name)
|
||||
|
||||
func _on_EditPalette_pressed() -> void:
|
||||
Global.palette_container.on_edit_palette()
|
||||
pass
|
||||
|
||||
func _on_RemovePalette_pressed() -> void:
|
||||
Global.palette_container.remove_current_palette()
|
||||
pass
|
||||
|
||||
func _on_NewPaletteDialog_confirmed() -> void:
|
||||
Global.palette_container.on_new_palette_confirmed()
|
||||
pass
|
||||
|
||||
|
|
26
Scripts/PaletteButton.gd
Normal file
26
Scripts/PaletteButton.gd
Normal file
|
@ -0,0 +1,26 @@
|
|||
extends Button
|
||||
signal on_drop_data
|
||||
|
||||
export var index := 0;
|
||||
export var color : Color = Color.white
|
||||
export var draggable := false
|
||||
|
||||
var drag_preview_texture = preload("res://Assets/Graphics/Palette/swatch_drag_preview.png")
|
||||
|
||||
func get_drag_data(position):
|
||||
var data = null;
|
||||
if(draggable):
|
||||
#print(String(get_instance_id()) + ": Drag Start");
|
||||
data = {source_index = index};
|
||||
var drag_icon = TextureRect.new();
|
||||
drag_icon.texture = drag_preview_texture;
|
||||
drag_icon.modulate = color
|
||||
set_drag_preview(drag_icon);
|
||||
return data;
|
||||
|
||||
func can_drop_data(position, data):
|
||||
return true;
|
||||
|
||||
func drop_data(position, data):
|
||||
emit_signal("on_drop_data", data.source_index, index);
|
||||
pass;
|
|
@ -3,46 +3,13 @@ extends GridContainer
|
|||
var palette_button = preload("res://Prefabs/PaletteButton.tscn");
|
||||
|
||||
var current_palette = "Default"
|
||||
|
||||
var default_palette = [
|
||||
Color("#FF000000"),
|
||||
Color("#FF222034"),
|
||||
Color("#FF45283c"),
|
||||
Color("#FF663931"),
|
||||
Color("#FF8f563b"),
|
||||
Color("#FFdf7126"),
|
||||
Color("#FFd9a066"),
|
||||
Color("#FFeec39a"),
|
||||
Color("#FFfbf236"),
|
||||
Color("#FF99e550"),
|
||||
Color("#FF6abe30"),
|
||||
Color("#FF37946e"),
|
||||
Color("#FF4b692f"),
|
||||
Color("#FF524b24"),
|
||||
Color("#FF323c39"),
|
||||
Color("#FF3f3f74"),
|
||||
Color("#FF306082"),
|
||||
Color("#FF5b6ee1"),
|
||||
Color("#FF639bff"),
|
||||
Color("#FF5fcde4"),
|
||||
Color("#FFcbdbfc"),
|
||||
Color("#FFffffff"),
|
||||
Color("#FF9badb7"),
|
||||
Color("#FF847e87"),
|
||||
Color("#FF696a6a"),
|
||||
Color("#FF595652"),
|
||||
Color("#FF76428a"),
|
||||
Color("#FFac3232"),
|
||||
Color("#FFd95763"),
|
||||
Color("#FFd77bba"),
|
||||
Color("#FF8f974a"),
|
||||
Color("#FF8a6f30")
|
||||
]
|
||||
var from_palette : = {}
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
_load_palettes()
|
||||
|
||||
#Select default palette "Default"
|
||||
on_palette_select(current_palette)
|
||||
|
||||
func _clear_swatches() -> void:
|
||||
|
@ -53,25 +20,93 @@ func _clear_swatches() -> void:
|
|||
|
||||
func on_palette_select(palette_name : String) -> void:
|
||||
_clear_swatches()
|
||||
current_palette = palette_name
|
||||
if Global.palettes.has(palette_name):
|
||||
_display_palette(Global.palettes[palette_name])
|
||||
else:
|
||||
if Global.palettes.has(palette_name): #Palette exists in memory
|
||||
current_palette = palette_name
|
||||
var palette : Dictionary = Global.palettes[palette_name]
|
||||
|
||||
Global.remove_palette_button.disabled = true # Cannot remove by default
|
||||
if palette.has("editable"):
|
||||
if palette.editable:
|
||||
Global.remove_palette_button.disabled = false # Can remove if custom palette
|
||||
|
||||
_display_palette(palette)
|
||||
else: #Use default on fail
|
||||
current_palette = "Default"
|
||||
_display_palette(Global.palettes["Default"])
|
||||
|
||||
func _display_palette(palette : Array) -> void:
|
||||
func on_edit_palette() -> void:
|
||||
var palette : Dictionary = Global.palettes[current_palette]
|
||||
|
||||
var create_new_palette := true # Create new palette by default
|
||||
if palette.has("editable"):
|
||||
if palette.editable:
|
||||
create_new_palette = false # Edit if already a custom palette
|
||||
|
||||
if create_new_palette:
|
||||
from_palette = Global.palettes[current_palette]
|
||||
Global.new_palette_name_line_edit.text = "Custom_" + current_palette
|
||||
Global.new_palette_dialog.popup_centered()
|
||||
else:
|
||||
from_palette = {}
|
||||
Global.edit_palette_popup.open(current_palette)
|
||||
|
||||
func on_new_palette_confirmed() -> void:
|
||||
var new_palette_name : String = Global.new_palette_name_line_edit.text
|
||||
var result : String = create_new_palette(new_palette_name, from_palette)
|
||||
if not result.empty():
|
||||
Global.error_dialog.set_text(result);
|
||||
Global.error_dialog.popup_centered()
|
||||
|
||||
func create_new_palette(name : String, from_palette : Dictionary = {}) -> String: # Returns empty string, else error string
|
||||
var new_palette : Dictionary = {}
|
||||
|
||||
# Check if new name is valid
|
||||
if name.empty():
|
||||
return "Error: Palette must have a valid name."
|
||||
if Global.palettes.has(name):
|
||||
return "Error: Palette '" + name + "' already exists!"
|
||||
|
||||
new_palette.name = name
|
||||
|
||||
# Check if source palette has data
|
||||
if from_palette.has("name"):
|
||||
new_palette = from_palette.duplicate()
|
||||
new_palette.name = name
|
||||
new_palette.editable = true
|
||||
else:
|
||||
new_palette.colors = []
|
||||
new_palette.comments = ""
|
||||
new_palette.editable = true
|
||||
|
||||
# Add palette to Global and options
|
||||
Global.palettes[name] = new_palette
|
||||
Global.palette_option_button.add_item(name)
|
||||
var index := Global.palette_option_button.get_item_count() - 1
|
||||
Global.palette_option_button.set_item_metadata(index, name)
|
||||
Global.palette_option_button.select(index)
|
||||
|
||||
save_palette(name, name + ".json")
|
||||
|
||||
on_palette_select(name)
|
||||
return ""
|
||||
|
||||
func _display_palette(palette : Dictionary) -> void:
|
||||
var index := 0
|
||||
for color_data in palette:
|
||||
|
||||
for color_data in palette.colors:
|
||||
var color = Color(color_data.data)
|
||||
var new_button = palette_button.instance()
|
||||
|
||||
new_button.get_child(0).modulate = color
|
||||
new_button.hint_tooltip = color_data.data.to_upper() + " " + color_data.name
|
||||
new_button.connect("pressed", self, "on_color_select", [index])
|
||||
|
||||
add_child(new_button)
|
||||
index += 1
|
||||
|
||||
func on_color_select(index : int) -> void:
|
||||
var color = Color(Global.palettes[current_palette][index].data)
|
||||
var color = Color(Global.palettes[current_palette].colors[index].data)
|
||||
|
||||
if Input.is_action_just_released("left_mouse"):
|
||||
Global.left_color_picker.color = color
|
||||
Global.update_left_custom_brush()
|
||||
|
@ -80,28 +115,21 @@ func on_color_select(index : int) -> void:
|
|||
Global.update_right_custom_brush()
|
||||
|
||||
func _load_palettes() -> void:
|
||||
var files := []
|
||||
|
||||
var file := File.new()
|
||||
var dir := Directory.new()
|
||||
|
||||
if not dir.dir_exists("user://palettes"):
|
||||
dir.make_dir("user://palettes");
|
||||
if not dir.dir_exists("user://palettes/custom"):
|
||||
dir.make_dir("user://palettes/custom")
|
||||
if not file.file_exists("user://palettes/default_palette.json"):
|
||||
dir.copy("res://Assets/Graphics/Palette/default_palette.json","user://palettes/default_palette.json");
|
||||
if not file.file_exists("user://palettes/bubblegum16.json"):
|
||||
dir.copy("res://Assets/Graphics/Palette/bubblegum16.json","user://palettes/bubblegum16.json");
|
||||
|
||||
dir.open("user://palettes")
|
||||
dir.list_dir_begin()
|
||||
var palette_files : Array = get_palette_files("user://palettes")
|
||||
|
||||
while true:
|
||||
var file_name = dir.get_next()
|
||||
if file_name == "":
|
||||
break
|
||||
elif not file_name.begins_with(".") && file_name.to_lower().ends_with("json"):
|
||||
files.append(file_name)
|
||||
|
||||
dir.list_dir_end()
|
||||
|
||||
for file_name in files:
|
||||
for file_name in palette_files:
|
||||
var result : String = load_palette("user://palettes/" + file_name)
|
||||
if result:
|
||||
Global.palette_option_button.add_item(result)
|
||||
|
@ -110,10 +138,36 @@ func _load_palettes() -> void:
|
|||
if result == "Default":
|
||||
Global.palette_option_button.select(index)
|
||||
|
||||
for item in Global.palette_option_button.items:
|
||||
print(item)
|
||||
dir.open("user://palettes/custom")
|
||||
var custom_palette_files : Array = get_palette_files("user://palettes/custom")
|
||||
|
||||
for file_name in custom_palette_files:
|
||||
var result : String = load_palette("user://palettes/custom/" + file_name)
|
||||
if result:
|
||||
Global.palette_option_button.add_item(result)
|
||||
var index := Global.palette_option_button.get_item_count() - 1
|
||||
Global.palette_option_button.set_item_metadata(index, result)
|
||||
|
||||
func get_palette_files(path : String) -> Array:
|
||||
var dir := Directory.new()
|
||||
var results = []
|
||||
|
||||
dir.open(path)
|
||||
dir.list_dir_begin()
|
||||
|
||||
while true:
|
||||
var file_name = dir.get_next()
|
||||
if file_name == "":
|
||||
break
|
||||
elif not file_name.begins_with(".") && file_name.to_lower().ends_with("json"):
|
||||
results.append(file_name)
|
||||
|
||||
dir.list_dir_end()
|
||||
|
||||
return results
|
||||
|
||||
func load_palette(path : String) -> String:
|
||||
# Open file for reading
|
||||
var file := File.new()
|
||||
file.open(path, File.READ)
|
||||
|
||||
|
@ -121,7 +175,7 @@ func load_palette(path : String) -> String:
|
|||
var result_json = JSON.parse(text)
|
||||
var result = {}
|
||||
|
||||
var palette_name = null
|
||||
var palette_name = null # Default error condition
|
||||
|
||||
if result_json.error != OK: # If parse has errors
|
||||
print("Error: ", result_json.error)
|
||||
|
@ -129,21 +183,36 @@ func load_palette(path : String) -> String:
|
|||
print("Error String: ", result_json.error_string)
|
||||
else: # If parse OK
|
||||
var data = result_json.result
|
||||
if data.has("name"):
|
||||
if data.has("name"): #If data is 'valid' palette file
|
||||
palette_name = data.name
|
||||
Global.palettes[data.name] = data.colors
|
||||
Global.palettes[data.name] = data
|
||||
|
||||
file.close()
|
||||
|
||||
return palette_name
|
||||
|
||||
func _save_palette(palette : Array, name : String, path : String) -> void:
|
||||
func remove_current_palette() -> void:
|
||||
if Global.palettes[current_palette].has("editable"):
|
||||
if Global.palettes[current_palette].editable:
|
||||
_delete_palette_file(current_palette + ".json")
|
||||
Global.palettes.erase(current_palette)
|
||||
var selected_index := Global.palette_option_button.selected
|
||||
Global.palette_option_button.remove_item(selected_index)
|
||||
if(selected_index - 1 >= 0):
|
||||
Global.palette_option_button.select(selected_index - 1)
|
||||
on_palette_select(Global.palette_option_button.get_item_metadata(selected_index - 1))
|
||||
pass
|
||||
|
||||
func _delete_palette_file(file_name : String) -> void:
|
||||
var dir = Directory.new()
|
||||
dir.remove("user://palettes/custom/" + file_name)
|
||||
|
||||
func save_palette(palette_name : String, filename : String) -> void:
|
||||
var palette_data = Global.palettes[palette_name]
|
||||
# Open file for writing
|
||||
var file := File.new()
|
||||
file.open(path, File.WRITE)
|
||||
file.open("user://palettes/custom/" + filename, File.WRITE)
|
||||
|
||||
var data := {}
|
||||
data.name = name
|
||||
data.colors = palette
|
||||
|
||||
file.store_string(JSON.print(data))
|
||||
# Write palette data to file
|
||||
file.store_string(JSON.print(palette_data))
|
||||
file.close()
|
||||
|
|
|
@ -53,7 +53,7 @@ bg_color = Color( 0.6, 0.6, 0.6, 0 )
|
|||
[sub_resource type="StyleBoxFlat" id=7]
|
||||
bg_color = Color( 0.6, 0.6, 0.6, 0 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=12]
|
||||
[sub_resource type="StyleBoxFlat" id=8]
|
||||
bg_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
border_width_left = 8
|
||||
border_width_top = 1
|
||||
|
@ -66,7 +66,7 @@ corner_radius_bottom_right = 4
|
|||
corner_radius_bottom_left = 4
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=8]
|
||||
[sub_resource type="StyleBoxFlat" id=9]
|
||||
bg_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
border_width_left = 5
|
||||
border_width_top = 10
|
||||
|
@ -79,7 +79,7 @@ corner_radius_bottom_right = 4
|
|||
corner_radius_bottom_left = 4
|
||||
anti_aliasing = false
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=9]
|
||||
[sub_resource type="StyleBoxFlat" id=10]
|
||||
bg_color = Color( 0.2, 0.2, 0.2, 1 )
|
||||
border_width_left = 10
|
||||
border_width_top = 6
|
||||
|
@ -87,7 +87,7 @@ border_width_right = 10
|
|||
border_width_bottom = 8
|
||||
border_color = Color( 0.2, 0.2, 0.2, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=10]
|
||||
[sub_resource type="StyleBoxFlat" id=11]
|
||||
bg_color = Color( 0.145098, 0.145098, 0.164706, 1 )
|
||||
border_width_left = 10
|
||||
border_width_top = 6
|
||||
|
@ -95,7 +95,7 @@ border_width_right = 10
|
|||
border_width_bottom = 8
|
||||
border_color = Color( 0.145098, 0.145098, 0.164706, 1 )
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id=11]
|
||||
[sub_resource type="StyleBoxFlat" id=12]
|
||||
bg_color = Color( 0.321569, 0.321569, 0.321569, 1 )
|
||||
border_width_left = 10
|
||||
border_width_top = 6
|
||||
|
@ -146,7 +146,7 @@ LineEdit/constants/minimum_spaces = 12
|
|||
LineEdit/fonts/font = null
|
||||
LineEdit/icons/clear = null
|
||||
LineEdit/styles/focus = null
|
||||
LineEdit/styles/normal = SubResource( 12 )
|
||||
LineEdit/styles/normal = SubResource( 8 )
|
||||
LineEdit/styles/read_only = null
|
||||
TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 )
|
||||
TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 )
|
||||
|
@ -163,8 +163,8 @@ TabContainer/icons/increment = null
|
|||
TabContainer/icons/increment_highlight = null
|
||||
TabContainer/icons/menu = null
|
||||
TabContainer/icons/menu_highlight = null
|
||||
TabContainer/styles/panel = SubResource( 8 )
|
||||
TabContainer/styles/tab_bg = SubResource( 9 )
|
||||
TabContainer/styles/tab_disabled = SubResource( 10 )
|
||||
TabContainer/styles/tab_fg = SubResource( 11 )
|
||||
TabContainer/styles/panel = SubResource( 9 )
|
||||
TabContainer/styles/tab_bg = SubResource( 10 )
|
||||
TabContainer/styles/tab_disabled = SubResource( 11 )
|
||||
TabContainer/styles/tab_fg = SubResource( 12 )
|
||||
VBoxContainer/constants/separation = 4
|
||||
|
|
11
Themes & Styles/StyleBoxes/palette_stylebox_focus.tres
Normal file
11
Themes & Styles/StyleBoxes/palette_stylebox_focus.tres
Normal file
|
@ -0,0 +1,11 @@
|
|||
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/Graphics/Palette/palette_button.png" type="Texture" id=1]
|
||||
|
||||
[resource]
|
||||
texture = ExtResource( 1 )
|
||||
region_rect = Rect2( 0, 0, 8, 8 )
|
||||
margin_left = 2.0
|
||||
margin_right = 2.0
|
||||
margin_top = 2.0
|
||||
margin_bottom = 2.0
|
|
@ -1,152 +1,152 @@
|
|||
id,en,el,fr,de,pl
|
||||
OK,OK,Εντάξει,OK,OK,OK
|
||||
Cancel,Cancel,Άκυρο,Annuler,Abbrechen,Anuluj
|
||||
Open,Open,Άνοιγμα,Ouvrir,Öffnen,Otwórz
|
||||
Please Confirm...,Please Confirm...,Παρακαλώ επιβεβαιώστε...,Veuillez confirmer...,Bitte bestätigen...,Proszę potwierdzić...
|
||||
Image Size,Image Size,Μέγεθος εικόνας,Taille de l'image,Bildgröße,Rozmiar obrazu
|
||||
Width:,Width:,Πλάτος:,Largeur :,Weite,Szerokość:
|
||||
Height:,Height:,Ύψος:,Hauteur :,Höhe,Wysokość:
|
||||
File,File,Αρχείο,Fichier,Datei,Plik
|
||||
Edit,Edit,Επεξεργασία,Édition,Bearbeiten,Edycja
|
||||
View,View,Προβολή,Affichage,Ansicht,Widok
|
||||
Help,Help,Βοήθεια,Aide,Hilfe,Pomoc
|
||||
New...,New...,Νέο...,Nouveau...,Neu,Nowy...
|
||||
Open...,Open...,Άνοιγμα...,Ouvrir...,Öffnen...,Otwórz...
|
||||
Save...,Save...,Αποθήκευση...,Enregistrer...,Speichern...,Zapisz...
|
||||
Save as...,Save as...,Αποθήκευση ως...,Enregistrer sous...,Speichern als...,Zapisz jako...
|
||||
Import PNG...,Import PNG...,Εισαγωγή PNG...,Importer une image PNG...,Importiere PNG,Importuj PNG…
|
||||
Export PNG...,Export PNG...,Εξαγωγή PNG...,Exporter une image PNG...,Exportiere PNG,Eksportuj PNG…
|
||||
Export PNG as...,Export PNG as...,Εξαγωγή PNG ως...,Exporter une image PNG sous...,Exportiere PNG als...,Eksportuj PNG jako...
|
||||
Quit,Quit,Έξοδος,Quitter,Verlassen,Wyjdź
|
||||
Undo,Undo,Αναίρεση,Annuler,Rückgängig,Cofnij
|
||||
Redo,Redo,Ακύρωση αναίρεσης,Refaire,Wiederherstellen,Przywróć zmiany
|
||||
Scale Image,Scale Image,Κλιμάκωση εικόνας,Redimensionner l'image,Bild skalieren,Skalowanie obrazu
|
||||
Crop Image,Crop Image,Περικοπή,Rogner l'image,Bild zuschneiden,Kadrowanie obrazu
|
||||
Clear Selection,Clear Selection,Καθαρισμός επιλογής,Ne rien sélectionner,Ausgewählten Bereich löschen,Wyczyść zaznaczenie
|
||||
Flip Horizontal,Flip Horizontal,Οριζόντια αναστροφή,Miroir horizontal,Horizontal spiegeln,Odbij w poziomie
|
||||
Flip Vertical,Flip Vertical,Κάθετη αναστροφή,Miroir vertical,Vertikal spiegeln,Odbij w pionie
|
||||
Preferences,Preferences,Προτιμήσεις,Préférences,Einstellungen,Preferencje
|
||||
Tile Mode,Tile Mode,Λειτουργία μοτίβου,Mode tuile,Tile Mode,Tryb kafelkowy
|
||||
Show Grid,Show Grid,Εμφάνιση πλέγματος,Afficher la grille,Zeige Gitter,Pokaż siatkę
|
||||
Show Rulers,Show Rulers,Εμφάνιση χαράκων,Afficher les règles,Zeige Lineale,Pokaż linijki
|
||||
Show Guides,Show Guides,Εμφάνιση οδηγών,Afficher les guides,Zeige Anleitungen,Pokaż prowadnice
|
||||
Fill with color:,Fill with color:,Γέμισμα με χρώμα:,Remplir avec la couleur :,Fülle mit Farbe,Wypełnij kolorem:
|
||||
Open a File,Open a File,Άνοιγμα αρχείου,Ouvrir un fichier,Öffne eine Datei,Otwórz plik
|
||||
Open File(s),Open File(s),Άνοιγμα αρχείου/ων,Ouvrir des fichiers,Öffne Datei(en),Otwórz pliki
|
||||
IMPORT_FILE_LABEL,Import as new frame,Εισαγωγή ως νέο καρέ,Importer en tant que trame,Importier als neues Frame,Importuj jako nowa klatka
|
||||
Save Sprite as .pxo,Save Sprite as .pxo,Αποθήκευση εικόνας ως .pxo,Enregistrer la sprite au format .pxo,Speichere Sprite als .pxo,Zapisz Sprite do .pxo
|
||||
Export Sprite,Export Sprite,Εξαγωγή εικόνας,Exporter une sprite,Exportiere Sprite,Eksportuj Sprite
|
||||
EXPORT_ALLFRAMES_LABEL,Export all frames,Εξαγωγή όλων των καρέ,Exporter toutes les trames,Exportiere alle Frames,Eksportuj wszystkie klatki
|
||||
EXPORT_FRAMES_ASFILE_LABEL,Export frames as a single file,Εξαγωγή όλων των καρέ στο ίδιο αρχείο,Exporter les trames en un seul fichier,Exportiere Frames als eine einzige Datei,Eksportuj klatki jako jeden plik
|
||||
EXPORT_VERTICAL_SPRITESHEET_LABEL,Vertical spritesheet,Κάθετη ευθυγράμμιση,Spritesheet vertical,Vertikales Spritesheet,Pionowy arkusz
|
||||
Path:,Path:,Διαδρομή:,Chemin :,Pfad:,Ścieżka:
|
||||
Directories & Files:,Directories & Files:,Φάκελοι & Αρχεία:,Répertoires et fichiers :,Verzeichnisse & Dateien,Pliki oraz katalogi:
|
||||
File:,File:,Αρχείο:,Fichier :,Datei:,Plik:
|
||||
Interpolation:,Interpolation:,Παρεμβολή:,Interpolation :,Interpolation,Interpolacja:
|
||||
Nearest,Nearest,Χωρίς,Le plus proche,Nächstes,Najbliższy sąsiad
|
||||
Bilinear,Bilinear,Διγραμμική,Linéaire,Bilinear,Dwuliniowa
|
||||
Cubic,Cubic,Κυβική,Cubique,Kubisch,Sześcienna
|
||||
Trilinear,Trilinear,Τριγραμμική,Trilinéaire,Trilinear,Trójlinowa
|
||||
Grid options,Grid options,Επιλογές πλέγματος,Configuration de la grille,Gitter Optionen,Ustawienia siatki
|
||||
Color:,Color:,Χρώμα:,Couleur :,Farbe:,Kolor:
|
||||
Language:,Language:,Γλώσσα:,Langue :,Sprache:,Język:
|
||||
System Language,System Language,Γλώσσα Συστήματος,Langue système,System Sprache,Język systemowy
|
||||
About Pixelorama,About Pixelorama,Σχετικά με το Pixelorama,À propos de Pixelorama,Über Pixelorama,O Pixeloramie
|
||||
MADEBY_LABEL,Your Free and Open Source Sprite Editor!\nDeveloped by Orama Interactive\n,Το δωρεάν και ανοιχτού κώδικα πρόγραμμά σας!\nΦτιαγμένο από την Orama Interactive\n,Votre éditeur de sprites libre et open source\nDéveloppé par Orama Interactive\n,Ihr kostenloser und opensource Pixeleditor!\nEntwickelt von Orama Interactive\n,Twój darmowy edytor Sprite-ów na otwartej licencji!\nTworzony przez: Orama Interactive\n
|
||||
Website,Website,Ιστοσελίδα,Site Web,Website,Strona internetowa
|
||||
Donate,Donate,Κάντε μια δωρεά,Faire un don,Spenden,Wspomóż
|
||||
QUIT_LABEL,Are you sure you want to exit Pixelorama?,Σίγουρα θέλετε να βγείτε από το Pixelorama;,Voulez-vous vraiment quitter Pixelorama ?,Möchten sie Pixelorama wirklich verlassen?,Na pewno chcesz opuścić Pixeloramę?
|
||||
Utility Tools,Utility Tools,Βοηθητικά Εργαλεία,Outils utilitaires,Dienstwerkzeuge,Narzędzia
|
||||
RECTSELECT_HT,Rectangular Selection\n\nR for left mouse button\nAlt + R for right mouse button\n\nPress Shift to move the content,Ορθογώνια επιλογή\n\nR για το αριστερό κουμπί ποντικιού\nAlt + R για το δεξί κουμπί ποντικιού\n\nΠατήστε Shift για να μετακινηθεί το περιεχόμενο,Sélection rectangulaire\n\nR pour le bouton gauche de la souris\n\nAlt + R pour le bouton droit de la souris\n\nMaintenez Maj. appuyée pour déplacer le contenu,Rechteckige Auswahl\n\nR für die linke Maustaste\nAlt + R für die rechte Maustaste\n\nPresse Shift zum verschieben des Inhalts,Zaznaczenie prostokątne\n\nR dla lewego narzędzia\nAlt + R dla prawego narzędzia\n\nPrzytrzymaj Shift aby przenieść zawartość
|
||||
COLORPICKER_HT,Color Picker\nSelect a color from a pixel of the sprite\n\nO for left mouse button\nAlt + O for right mouse button,Επιλογέας χρωμάτων\nΕπιλέξτε ένα χρώμα από ένα εικονοστοιχείο της εικόνας\n\nΟ για το αριστερό κουμπί ποντικιού\nAlt + Ο για το δεξί κουμπί ποντικιού,Sélecteur de couleurs\nSélectionnez la couleur d'un pixel de la sprite\n\nO pour le bouton gauche de la souris\n\nAlt + O pour le bouton droit de la souris,Farbauswahl\Wähle einr Farbe von einem Pixel des Sprites\n\nO für die linke Maustaste\nAlt + O für die rechte Maustaste,Próbnik\nPobiera kolor wybranego piksela do wybranego narzędzia.\n\nO dla lewego narzędzia\nAlt + O dla prawego narzędzia
|
||||
Draw Tools,Draw Tools,Εργαλεία Ζωγραφικής,Outils de dessin,Zeichnenwerkzeuge,Rysowanie
|
||||
PENCIL_HT,Pencil\n\nP for left mouse button\nAlt + P for right mouse button\n\nHold Shift to make a line,Μολύβι\n\nP για το αριστερό κουμπί ποντικιού\nAlt + P για το δεξί κουμπί ποντικιού\n\nΚρατήστε Shift για να τραβήξετε μια γραμμή,Crayon\n\nP pour le bouton gauche de la souris\n\nAlt + P pour le bouton droit de la souris\n\nMaintenez Maj. appuyée pour dessiner une ligne,"Bleistift\n\nP für linke Maustaste\nAlt + P für rechte Maustaste\n\nHalte Shift, um eine Linie zu bilden.",Ołówek\n\nP dla lewego narzędzia\nAlt + P dla prawego narzędzia\n\nPrzytrzymaj Shift aby narysować linię
|
||||
ERASER_HT,Eraser\n\nE for left mouse button\nAlt + E for right mouse button\n\nHold Shift to make a line,Γόμα\n\nE για το αριστερό κουμπί ποντικιού\nAlt + E για το δεξί κουμπί ποντικιού\n\nΚρατήστε Shift για να τραβήξετε μια γραμμή,Gomme\n\nE pour le bouton gauche de la souris\n\nAlt + E pour le bouton droit de la souris\n\nMaintenez Maj. appuyée pour dessiner une ligne,"Radiergummi\n\nE für die linke Maustaste\nAlt + E für die rechte Maustaste\n\nHalte Shift, um eine Linie zu bilden.",Gumka\n\nE dla lewego narzędzia\nAlt + E dla prawego narzędzia\n\nPrzytrzymaj Shift aby użyć w linii prostej
|
||||
BUCKET_HT,Bucket\n\nB for left mouse button\nAlt + B for right mouse button,Κουβάς\n\nB για το αριστερό κουμπί ποντικιού\nAlt + B για το δεξί κουμπί ποντικιού,Seau de remplissage\n\nB pour le bouton gauche de la souris\nAlt + B pour le bouton droit de la souris,Eimer\n\nB für linke Maustaste\nAlt + B für rechte Maustaste,Wiaderko\n\nB dla lewego narzędzia\nAlt + B dla prawego narzędzia
|
||||
LD_HT,Lighten/Darken\n\nU for left mouse button\nAlt + U for right mouse button,Φώτισμα/Σκούρημα\n\nU για το αριστερό κουμπί ποντικιού\nAlt + U για το δεξί κουμπί ποντικιού,Éclaircir/Assombrir\n\nU pour le bouton gauche de la souris\nAlt + U pour le bouton droit de la souris,Erhellen/Verdunkeln\n\nU für linke Maustaste\nAlt + U für rechte Maustaste,Rozjaśnianie/Ściemnianie\n\nU dla lewego narzędzia\nAlt + U dla prawego narzędzia
|
||||
LEFTCOLOR_HT,Choose a color for the left tool,Επιλέξτε ένα χρώμα για το αριστερό εργαλείο,Choisissez une couleur pour l'outil gauche,Wähle eine Farbe für das linke Werkzeug,Wybiera kolor dla lewego narzędzia
|
||||
RIGHTCOLOR_HT,Choose a color for the right tool,Επιλέξτε ένα χρώμα για το δεξί εργαλείο,Choisissez une couleur pour l'outil droit,Wähle eine Farbe für das rechte Werkzeug,Wybiera kolor dla prawego narzędzia
|
||||
COLORSWITCH_HT,Switch left and right colors\n(X),Εναλλαγή μεταξύ αριστερού και δεξιού χρώματος\n(X),Alterner les couleurs de gauche et de droite\n(X),Wechsle linke und rechte Farben\n(X),Podmienia lewy kolor z prawym kolorem\n(X)
|
||||
COLORDEFAULTS_HT,"Reset the colors to their default state (black for left, white for right)","Επαναφορά των χρωμάτων στην αρχική τους κατάσταση (μαύρο για το αριστερό, άσπρο για το δεξί)","Réinitialise les couleurs à leur état initial (noir pour l'outil gauche, blanc pour l'outil droit)","Setzt die Farben auf den Standardzustand zurück (schwarz für links, weiß für rechts).","Resetuje kolory do stanu domyślnego (czarny po lewej, biały po prawej)"
|
||||
Raw Mode,Raw Mode,Ωμή Λειτουργία,Mode Raw,Raw-Mode,RGB w częściach setnych od 0.0 do 1.0
|
||||
Left tool options,Left tool options,Επιλογές αριστερού εργαλείου,Options de l'outil gauche,Linke Werkzeugoptionen,Opcje lewego narzędzia
|
||||
Right tool options,Right tool options,Επιλογές δεξιού εργαλείου,Options de l'outil droit,Rechte Werkzeugoptionen,Opcje prawego narzędzia
|
||||
Left pixel indicator,Left pixel indicator,Δείκτης αριστερού πιξελ,Indicateur de pixel gauche,Linke Pixelanzeige,Wskaźnik lewego pędzla
|
||||
LEFT_INDIC_HT,Show left mouse pixel indicator or brush on the canvas when drawing,Εμφάνιση δείκτη για το εικονοστοιχείο ή το πινέλο πάνω στον καμβά που αντιστοιχεί στο αριστερό κουμπί του ποντικιού,Affiche un indicateur de pixel ou de brosse pour l'outil gauche lorsque vous dessinez,Zeige linkes Mausicon oder Pinsel auf der Leinwand wenn gezeichnet wird,Wyświetl wskaźnik lewego narzędzia lub pędzla podczas rysowania
|
||||
RIGHT_INDIC_HT,Show right mouse pixel indicator or brush on the canvas when drawing,Εμφάνιση δείκτη για το εικονοστοιχείο ή το πινέλο πάνω στον καμβά που αντιστοιχεί στο δεξί κουμπί του ποντικιού,Affiche un indicateur de pixel ou de brosse pour l'outil droit lorsque vous dessinez,Zeige rechtes Mausicon oder Pinsel auf der Leinwand wenn gezeichnet wird,Wyświetl wskaźnik prawego narzędzia lub pędzla podczas rysowania
|
||||
Right pixel indicator,Right pixel indicator,Δείκτης δεξιού πιξελ,Indicateur de pixel droit,Rechte Pixelanzeige,Wskaźnik prawego pędzla
|
||||
Brush:,Brush:,Πινέλο:,Brosse :,Pinsel:,Pędzel:
|
||||
BRUSH_HT,Select a brush,Επιλέξτε ένα πινέλο,Sélectionnez une brosse,Wähle einen Pinsel,Wybierz pędzel
|
||||
Brush: Pixel,Brush: Pixel,Πινέλο: Εικονοστοιχείο,Brosse : Pixel,Pinsel: Pixel,Pędzel: Piksel
|
||||
Custom brush,Custom brush,Προσαρμοσμένο πινέλο,Brosse personnalisée,Benutzerdefinierter Pinsel,Niestandardowy pędzel
|
||||
Brush size:,Brush size:,Μέγεθος πινέλου:,Taille de la brosse :,Pinselgröße:,Rozmiar pędzla:
|
||||
Brush color from,Brush color from,Χρώμα πινέλου από,Couleur de la brosse depuis,Pinselfarbe von,Nadpisywanie koloru pędzla
|
||||
COLORFROM_HT,"0: Color from the brush itself, 1: the currently selected color","0: Χρώμα από το πινέλο, 1: επιλεγμένο χρώμα","0 : Couleur depuis la brosse elle-même, 1 : la couleur actuellement sélectionnée","0: Farbe von dem Pinsel selbst, 1: die aktuell ausgewählte Farbe","0: Kolor pochodzący z samego pędzla, 1: Obecnie wybrany kolor rysowania"
|
||||
Fill area:,Fill area:,Περιοχή γεμίσματος:,Remplissage de zone :,Fülle Bereich,Wypełnij przestrzeń:
|
||||
Area of the same color,Area of the same color,Περιοχή ίδιου χρώματος,Zone de la même couleur,Bereich mit der selben Farbe,Przestrzeń o takim samym kolorze
|
||||
All pixels of the same color,All pixels of the same color,Όλα τα πίξελ ίδιου χρώματος,Tous les pixels de la même couleur,Alle Pixel mit der selben Farbe,Wszystkie piksele tego samego koloru
|
||||
Lighten,Lighten,Φώτισμα,Éclaircir,Erhellen,Rozjaśnianie
|
||||
Darken,Darken,Σκούρημα,Assombrir,Verdunkeln,Przyciemnianie
|
||||
Amount:,Amount:,Ποσό:,Quantité :,Menge:,Siła:
|
||||
LDAMOUNT_HT,Lighten/Darken amount,Ποσό φωτίσματος ή σκουρήματος,Quantité d'éclaircissement/assombrissement,Erhellen/Verdunkeln Menge,Siła rozjaśnienia/przyciemnienia
|
||||
Mirroring,Mirroring,Κατοπτρισμός,Miroir,Spiegeln,Lustrzane odbicie
|
||||
Horizontal,Horizontal,Οριζόντια,Horizontal,Horizontal spiegeln,Poziome
|
||||
HORIZMIRROR_HT,Enable horizontal mirrored drawing,Ενεργοποίηση ζωγραφικής με οριζόντιο κατοπτρισμό,Dessine avec un miroir horizontal,Aktiviere horizontal gespiegelte Zeichnung ,Włącza lustrzane odbicie w poziomie podczas rysowania
|
||||
VERTMIRROR_HT,Enable vertical mirrored drawing,Ενεργοποίηση ζωγραφικής με κάθετο κατοπτρισμό,Dessine avec un miroir vertical,Aktiviere vertikale gespiegelte Zeichnung,Włącza lustrzane odbicie w pionie podczas rysowania
|
||||
Vertical,Vertical,Κάθετα,Vertical,Vertikal,Pionowe
|
||||
Current frame:,Current frame:,Τρέχον καρέ:,Trame actuelle :,Aktueller Frame,Obecna klatka:
|
||||
Current frame: 1/1,Current frame: 1/1,Τρέχον καρέ: 1/1,Trame actuelle : 1/1,Aktueller Frame 1/1,Obecna klatka: 1/1
|
||||
FIRSTFRAME_HT,Jump to the first frame\n(Ctrl+Home),Μετάβαση στο πρώτο καρέ\n(Ctrl+Home),Aller à la première trame\n(Ctrl + Orig.),Springe zu dem ersten Frame\n(Strg+Home),Skocz do pierwszej klatki\n(Ctrl+Home)
|
||||
PREVIOUSFRAME_HT,Go to the previous frame\n(Ctrl+Left),Μετάβαση στο προηγούμενο καρέ\n(Ctrl+Αριστερά),Aller à la trame précédente\n(Ctrl + Gauche),Gehe zu dem letzten Frame\n(Strg+Pfeil nach Links),Przejdź do poprzedniej klatki\n(Ctrl+Strzałka w lewo)
|
||||
PLAYBACKWARDS_HT,Play the animation backwards (from end to beginning)\n(F4),Αναπαραγωγή της κίνησης ανάποδα (από το τέλος προς την αρχή)\n(F4),Jouer l'animation à l'envers (de la fin vers le début)\n(F4),Spiele die Animation rückwärts ab (vom Ende bis zum Anfang)\n(F4),Odtwórz animację od końca\n(F4)
|
||||
PLAYFORWARD_HT,Play the animation forward (from beginning to end)\n(F5),Αναπαραγωγή της κίνησης κανονικά (από την αρχή προς το τέλος)\n(F5),Jouer l'animation (du début vers la fin)\n(F5),Spiele die Animation vorwärts ab (vom Anfang bis zum Ende)\n(F5),Odtwórz animację od początku\n(F5)
|
||||
NEXTFRAME_HT,Go to the next frame\n(Ctrl+Right),Μετάβαση στο επόμενο καρέ\n(Ctrl+Δεξιά),Aller à la prochaine trame\n(Ctrl + Droite),Gehe zum nächsten Frame\n(Strg+Pfeil nach Rechts),Przejdź do następnej klatki\n(Ctrl+Strzałka w prawo)
|
||||
LASTFRAME_HT,Jump to the last frame\n(Ctrl+End),Μετάβαση στο τελευταίο καρέ\n(Ctrl+End),Aller à la dernière trame\n(Ctrl + Fin),Springe zum letzten Frame\n(Strg+Ende),Skocz do ostatniej klatki\n(Ctrl+End)
|
||||
FPS_HT,"How many frames per second should the animation preview be?\nThe more FPS, the faster the animation plays.","Πόσα καρέ ανά δευτερόλεπτο (FPS) να είναι η προεπισκόπηση της κίνησης;\nΌσο περισσότερα FPS, τόσο πιο γρήγορα παίζει η κίνηση.","Combien d'images par seconde pour l'aperçu de l'animation ?\nPlus cette valeur est élevée, plus l'animation sera jouée rapidement.","Wie viele Frames pro Sekunde sollte die Animationsvorschau haben?\n Je mehr FPS, desto schneller wird die Animation abgespielt.",W ilu klatkach na sekundę odtwarzana ma być animacja?\nWiększa ilość klatek na sekundę powoduje szybsze odtwarzanie.
|
||||
No loop,No loop,Όχι επανάληψη,Pas de bouclage,Keine Wiederholungsschleife,Brak zapętlania
|
||||
Cycle loop,Cycle loop,Κυκλική επανάληψη,Bouclage en cycle,Zyklusschleife,Zapętl odtwarzanie
|
||||
Ping-pong loop,Ping-pong loop,Επανάληψη πινγκ-πονγκ,Bouclage en ping-pong,Ping Pong Loop,Zapętlanie typu ping-pong
|
||||
Onion Skinning:,Onion Skinning:,Γειτονικά καρέ:,Peau d'oignon :,Onion Skinning:,Kalkowanie klatek:
|
||||
Past Frames,Past Frames,Παρελθοντικά καρέ,Trames passées,Letzten Frames,Przeszłe klatki
|
||||
Future Frames,Future Frames,Μελλοντικά καρέ,Trames futures,Nächsten Frames,Przyszłe klatki
|
||||
Blue-Red Mode,Blue-Red Mode,Μπλε-Κόκκινη λειτουργία,Mode rouge-bleu,Blau-Roter Modus,Niebiesko-czerwone prześwity
|
||||
Add a new frame,Add a new frame,Προσθήκη νέου καρέ,Ajouter une trame,Füge einen neuen Frame hinzu,Dodaj nową klatkę
|
||||
Remove Frame,Remove Frame,Διαγραφή Καρέ,Supprimer la trame,Entferne Frame,Usuń klatkę
|
||||
Clone Frame,Clone Frame,Κλωνοποίηση Καρέ,Cloner la trame,Kopiere Frame,Klonuj klatkę
|
||||
Move Left,Move Left,Μετακίνηση Αριστερά,Déplacer vers la gauche,Bewege nach Links,Przesuń w lewo
|
||||
Move Right,Move Right,Μετακίνηση Δεξιά,Déplacer vers la droite,Bewege nach Rechts,Przesuń w prawo
|
||||
Layers,Layers,Στρώσεις,Calques,Ebenen,Warstwy
|
||||
LAYERNEW_HT,Create a new layer,Δημιουργία νέας στρώσης,Créer un calque,Erstelle eine neue Ebene,Stwórz nową warstwę
|
||||
LAYERREMOVE_HT,Remove current layer,Διαγραφή της τρέχουσας στρώσης,Supprimer le calque,Entferne aktuelle Ebene,Usuń obecną warstwę
|
||||
LAYERUP_HT,Move up the current layer,Μετακίνηση της τρέχουσας στρώσης προς τα πάνω,Déplacer le calque vers le haut,Bewege aktuelle Ebene nach oben,Przesuń obecną warstwę do góry
|
||||
LAYERDOWN_HT,Move down the current layer,Μετακίνηση της τρέχουσας στρώσης προς τα κάτω,Déplacer le calque vers le cas,Bewege aktuelle Ebene nach unten,Przesuń obecną warstwę w dół
|
||||
LAYERCLONE_HT,Clone current layer,Κλωνοποίηση της τρέχουσας στρώσης,Cloner le calque,Kopiere aktuelle Ebene,Duplikuj obecną warstwę
|
||||
LAYERMERGE_HT,Merge current layer with the one below,Συγχώνευση της τρέχουσας στρώσης με την από κάτω,Fusionner le calque vers le bas,Führe Ebene mit der darunter zusammen,Połącz obecną warstwę z warstwą powyżej
|
||||
LAYERVISIBILITY_HT,Toggle layer's visibility,Εναλλαγή της ορατότητας της στρώσης,Afficher/Masquer le calque,Ändere die Sichtbarkeit der Ebene,Ukrywanie warstwy
|
||||
SPLITSCREEN_HT,Split screen\n\nShow second canvas,Διπλή οθόνη\n\nΕμφάνιση δεύτερου καμβά,Écran partagé\n\nAfficher un second canevas,Geteilter Bildschirm\n\nZeige zweite Leinwand,Podzielenie ekranu\n\nWyświetla drugie płótno
|
||||
SPLITSCREEN_HIDE_HT,Split screen\n\nHide second canvas,Διπλή οθόνη\n\nΑπόκρυψη δεύτερου καμβάf,Écran partagé\n\nCacher le second canevas,Geteilter Bildschirm\n\nVerstecke zweite Leinwand,Podzielenie ekranu\n\nUkrywa drugie płótno
|
||||
Undo: Draw,Undo: Draw,Αναίρεση: Ζωγραφική,Annuler : Dessin,Rückgängig: Zeichen,Cofnij: Rysowanie
|
||||
Redo: Draw,Redo: Draw,Ακύρωση αναίρεσης: Ζωγραφική,Refaire : Dessin,Wiederherstellen: Zeichnen,Przywróć: Rysowanie
|
||||
Undo: Rectangle Select,Undo: Rectangle Select,Αναίρεση: Ορθογώνια επιλογή,Annuler : Sélection par rectangle,Rückgängig: Rechteck Auswahl,Cofnij: Zaznaczenie prostokątne
|
||||
Redo: Rectangle Select,Redo: Rectangle Select,Ακύρωση αναίρεσης: Ορθογώνια επιλογή,Refaire : Sélection par rectangle,Wiederherstellen: Rechteck Auswahl,Przywróć: Zaznaczenie prostokątne
|
||||
Undo: Scale,Undo: Scale,Αναίρεση: Κλιμάκωση,Annuler : Redimensionner l'image,Rückgängig: Skalieren,Cofnij: Skalowanie
|
||||
Redo: Scale,Redo: Scale,Ακύρωση αναίρεσης: Κλιμάκωση,Refaire : Redimensionner l'image,Wiederherstellen: Skalieren,Przywróć: Skalowanie
|
||||
Undo: Add Layer,Undo: Add Layer,Αναίρεση: Προσθήκη στρώσης,Annuler : Ajouter un calque,Rückgängig: Ebene hinzufügen,Cofnij: Dodawanie warstwy
|
||||
Redo: Add Layer,Redo: Add Layer,Ακύρωση αναίρεσης: Προσθήκη στρώσης,Refaire : Ajouter un calque,Wiederherstellen: Ebene hinzufügen,Przywróć: Dodawanie warstwy
|
||||
Undo: Remove Layer,Undo: Remove Layer,Αναίρεση: Διαγραφή στρώσης,Annuler : Supprimer le calque,Rückgängigg: Entferne Ebene,Cofnij: Usuwanie warstwy
|
||||
Redo: Remove Layer,Redo: Remove Layer,Ακύρωση αναίρεσης: Διαγραφή στρώσης,Refaire : Supprimer le calque,Wiederherstellen: Entferne Ebene,Przywróć: Usuwanie warstwy
|
||||
Undo: Merge Layer,Undo: Merge Layer,Αναίρεση: Συγχώνευση στρώσης,Annuler : Fusionner le calque,Rückgängig: Füge Ebene zusammen,Cofnij: Scalanie warstw
|
||||
Redo: Merge Layer,Redo: Merge Layer,Ακύρωση αναίρεσης: Συγχώνευση στρώσης,Refaire : Fusionner le calque,Wiederherstellen: Füge Ebene zusammen,Przywróć: Scalanie warstw
|
||||
Undo: Change Layer Order,Undo: Change Layer Order,Αναίρεση: Αλλαγή σειράς στρώσης,Annuler : Modifier l'ordre des calques,Rückgängig: Ändere Ebenenreihenfolge,Cofnij: Zmiana kolejności warstw
|
||||
Redo: Change Layer Order,Redo: Change Layer Order,Ακύρωση αναίρεσης: Αλλαγή σειράς στρώσης,Refaire : Modifier l'ordre des calques,Wiederherstellen: Ändere Ebenenreihenfolge,Przywróć: Zmiana kolejności warstw
|
||||
Undo: Add Frame,Undo: Add Frame,Αναίρεση: Προσθήκη καρέ,Annuler : Ajouter une trame,Rückgängig: Füge Frame hinzu,Cofnij: Dodawanie klatki
|
||||
Redo: Add Frame,Redo: Add Frame,Ακύρωση αναίρεσης: Προσθήκη καρέ,Refaire : Ajouter une trame,Wiederherstellen: Füge Frame hinzu,Przywróć: Dodawanie klatki
|
||||
Undo: Remove Frame,Undo: Remove Frame,Αναίρεση: Διαγραφή καρέ,Annuler : Supprimer une trame,Rückgängig: Entferne Frame,Cofnij: Usunięcie klatki
|
||||
Redo: Remove Frame,Redo: Remove Frame,Ακύρωση αναίρεσης: Διαγραφή καρέ,Refaire : Supprimer une trame,Wiederherstellen: Entferne Frame,Przywróć: Usunięcie klatki
|
||||
Undo: Change Frame Order,Undo: Change Frame Order,Αναίρεση: Αλλαγή σειράς καρέ,Annuler : Modifier l'ordre des trames,Rückgängig: Ändere Framereihenfolge,Cofnij: Zmiana kolejności klatek
|
||||
Redo: Change Frame Order,Redo: Change Frame Order,Ακύρωση αναίρεσης: Αλλαγή σειράς καρέ,Refaire : Modifier l'ordre des trames,Wiederherstellen: Ändere Framereihenfolge,Przywróć: Zmiana kolejności klatek
|
||||
Undo: Delete Custom Brush,Undo: Delete Custom Brush,Αναίρεση: Διαγραφή προσαρμοσμένου πινέλου,Annuler : Supprimer la brosse personnalisée,Rückgängig: Entferne benutzerdefinierten Pinsel,Cofnij: Usuwanie niestandardowego pędzla
|
||||
Redo: Delete Custom Brush,Redo: Delete Custom Brush,Ακύρωση αναίρεσης: Διαγραφή προσαρμοσμένου πινέλου,Refaire : Supprimer la brosse personnalisée,Wiederherstellen: Entferne benutzerdefinierten Pinsel,Przywróć: Usuwanie niestandardowego pędzla
|
||||
Move Guide,Move Guide,Μετακίνηση βοηθού,Déplacer le guide,Bewegungsanleitung,Przesuń prowadnice
|
||||
File saved,File saved,Το αρχείο αποθηκεύτηκε,Fichier enregistré,Datei gespeichert,Plik został zapisany
|
||||
File exported,File exported,Έγινε εξαγωγή αρχείου,Fichier exporté,Datei exportiert,Plik został wyeksportowany
|
||||
id,en,el,fr,de,pl,ru,zh_TW
|
||||
OK,OK,Εντάξει,OK,OK,OK,OK,OK
|
||||
Cancel,Cancel,Άκυρο,Annuler,Abbrechen,Anuluj,Отмена,取消
|
||||
Open,Open,Άνοιγμα,Ouvrir,Öffnen,Otwórz,Открыть,打開
|
||||
Please Confirm...,Please Confirm...,Παρακαλώ επιβεβαιώστε...,Veuillez confirmer...,Bitte bestätigen...,Proszę potwierdzić...,Пожалуйста подтвердите...,確認...
|
||||
Image Size,Image Size,Μέγεθος εικόνας,Taille de l'image,Bildgröße,Rozmiar obrazu,Размер изображения,圖片尺寸
|
||||
Width:,Width:,Πλάτος:,Largeur :,Weite,Szerokość:,Ширина:,寬:
|
||||
Height:,Height:,Ύψος:,Hauteur :,Höhe,Wysokość:,Высота,高:
|
||||
File,File,Αρχείο,Fichier,Datei,Plik,Файл,檔案
|
||||
Edit,Edit,Επεξεργασία,Édition,Bearbeiten,Edycja,Редактировать,編輯
|
||||
View,View,Προβολή,Affichage,Ansicht,Widok,Просмотр,檢視
|
||||
Help,Help,Βοήθεια,Aide,Hilfe,Pomoc,Помощь,幫助
|
||||
New...,New...,Νέο...,Nouveau...,Neu,Nowy...,Создать...,開新檔案
|
||||
Open...,Open...,Άνοιγμα...,Ouvrir...,Öffnen...,Otwórz...,Открыть...,打開舊檔
|
||||
Save...,Save...,Αποθήκευση...,Enregistrer...,Speichern...,Zapisz...,Сохранить...,儲存
|
||||
Save as...,Save as...,Αποθήκευση ως...,Enregistrer sous...,Speichern als...,Zapisz jako...,Сохранить как...,儲存為
|
||||
Import PNG...,Import PNG...,Εισαγωγή PNG...,Importer une image PNG...,Importiere PNG,Importuj PNG…,Импорт PNG...,匯入PNG檔
|
||||
Export PNG...,Export PNG...,Εξαγωγή PNG...,Exporter une image PNG...,Exportiere PNG,Eksportuj PNG…,Экспорт PNG...,輸出PNG檔
|
||||
Export PNG as...,Export PNG as...,Εξαγωγή PNG ως...,Exporter une image PNG sous...,Exportiere PNG als...,Eksportuj PNG jako...,Экспортировать PNG как...,輸出PNG為...
|
||||
Quit,Quit,Έξοδος,Quitter,Verlassen,Wyjdź,Выйти,離開
|
||||
Undo,Undo,Αναίρεση,Annuler,Rückgängig,Cofnij,Отменить,取消
|
||||
Redo,Redo,Ακύρωση αναίρεσης,Refaire,Wiederherstellen,Przywróć zmiany,Повторить,復原
|
||||
Scale Image,Scale Image,Κλιμάκωση εικόνας,Redimensionner l'image,Bild skalieren,Skalowanie obrazu,Увеличить изображение,調整尺寸
|
||||
Crop Image,Crop Image,Περικοπή,Rogner l'image,Bild zuschneiden,Kadrowanie obrazu,Обрезать выделенное,擷取部分圖片
|
||||
Clear Selection,Clear Selection,Καθαρισμός επιλογής,Ne rien sélectionner,Ausgewählten Bereich löschen,Wyczyść zaznaczenie,Снять выделение,清除選取區塊
|
||||
Flip Horizontal,Flip Horizontal,Οριζόντια αναστροφή,Miroir horizontal,Horizontal spiegeln,Odbij w poziomie,Отразить по горизонтали,水平翻轉
|
||||
Flip Vertical,Flip Vertical,Κάθετη αναστροφή,Miroir vertical,Vertikal spiegeln,Odbij w pionie,Отразить по вертикале,垂直翻轉
|
||||
Preferences,Preferences,Προτιμήσεις,Préférences,Einstellungen,Preferencje,Настройки,偏好設定
|
||||
Tile Mode,Tile Mode,Λειτουργία μοτίβου,Mode tuile,Tile Mode,Tryb kafelkowy,Замостить плиткой,拼圖模式
|
||||
Show Grid,Show Grid,Εμφάνιση πλέγματος,Afficher la grille,Zeige Gitter,Pokaż siatkę,Показывать сетку,顯示格線
|
||||
Show Rulers,Show Rulers,Εμφάνιση χαράκων,Afficher les règles,Zeige Lineale,Pokaż linijki,Показывать линейку,顯示尺規
|
||||
Show Guides,Show Guides,Εμφάνιση οδηγών,Afficher les guides,Zeige Anleitungen,Pokaż prowadnice,Показывать направляющие,顯示輔助線
|
||||
Fill with color:,Fill with color:,Γέμισμα με χρώμα:,Remplir avec la couleur :,Fülle mit Farbe,Wypełnij kolorem:,Заливка цветом:,填滿
|
||||
Open a File,Open a File,Άνοιγμα αρχείου,Ouvrir un fichier,Öffne eine Datei,Otwórz plik,Октрыть файл,打開舊檔
|
||||
Open File(s),Open File(s),Άνοιγμα αρχείου/ων,Ouvrir des fichiers,Öffne Datei(en),Otwórz pliki,Открыть файл(ы),打開舊檔
|
||||
IMPORT_FILE_LABEL,Import as new frame,Εισαγωγή ως νέο καρέ,Importer en tant que trame,Importier als neues Frame,Importuj jako nowa klatka,Добавить как новый кадр,輸入為下一張
|
||||
Save Sprite as .pxo,Save Sprite as .pxo,Αποθήκευση εικόνας ως .pxo,Enregistrer la sprite au format .pxo,Speichere Sprite als .pxo,Zapisz Sprite do .pxo,Сохранить Sprite как .pxo,存成 .pxo
|
||||
Export Sprite,Export Sprite,Εξαγωγή εικόνας,Exporter une sprite,Exportiere Sprite,Eksportuj Sprite,Экспортировать Sprite,輸出圖片
|
||||
EXPORT_ALLFRAMES_LABEL,Export all frames,Εξαγωγή όλων των καρέ,Exporter toutes les trames,Exportiere alle Frames,Eksportuj wszystkie klatki,Экспортировать все кадры как,個別輸出
|
||||
EXPORT_FRAMES_ASFILE_LABEL,Export frames as a single file,Εξαγωγή όλων των καρέ στο ίδιο αρχείο,Exporter les trames en un seul fichier,Exportiere Frames als eine einzige Datei,Eksportuj klatki jako jeden plik,Экспортировать кадры в один файл,輸出成一張spritesheet
|
||||
EXPORT_VERTICAL_SPRITESHEET_LABEL,Vertical spritesheet,Κάθετη ευθυγράμμιση,Spritesheet vertical,Vertikales Spritesheet,Pionowy arkusz,Экспорт Sprite-листа,垂直spritesheet
|
||||
Path:,Path:,Διαδρομή:,Chemin :,Pfad:,Ścieżka:,Путь:,路徑:
|
||||
Directories & Files:,Directories & Files:,Φάκελοι & Αρχεία:,Répertoires et fichiers :,Verzeichnisse & Dateien,Pliki oraz katalogi:,Словари и файлы:,資料夾與檔案:
|
||||
File:,File:,Αρχείο:,Fichier :,Datei:,Plik:,Файл:,檔案:
|
||||
Interpolation:,Interpolation:,Παρεμβολή:,Interpolation :,Interpolation,Interpolacja:,Интерполяция:,插值:
|
||||
Nearest,Nearest,Χωρίς,Le plus proche,Nächstes,Najbliższy sąsiad,Ближайший,最近
|
||||
Bilinear,Bilinear,Διγραμμική,Linéaire,Bilinear,Dwuliniowa,Бинарный,雙線性
|
||||
Cubic,Cubic,Κυβική,Cubique,Kubisch,Sześcienna,Кубический,三次樣條
|
||||
Trilinear,Trilinear,Τριγραμμική,Trilinéaire,Trilinear,Trójlinowa,Трехлинейный,三線性
|
||||
Grid options,Grid options,Επιλογές πλέγματος,Configuration de la grille,Gitter Optionen,Ustawienia siatki,Настройки сетки,格線設定
|
||||
Color:,Color:,Χρώμα:,Couleur :,Farbe:,Kolor:,Цвет:,顏色:
|
||||
Language:,Language:,Γλώσσα:,Langue :,Sprache:,Język:,Язык:,語言:
|
||||
System Language,System Language,Γλώσσα Συστήματος,Langue système,System Sprache,Język systemowy,Системный язык,系統語言
|
||||
About Pixelorama,About Pixelorama,Σχετικά με το Pixelorama,À propos de Pixelorama,Über Pixelorama,O Pixeloramie,О Pixeloram'е,關於 Pixelorama
|
||||
MADEBY_LABEL,Your Free and Open Source Sprite Editor!\nDeveloped by Orama Interactive\n,Το δωρεάν και ανοιχτού κώδικα πρόγραμμά σας!\nΦτιαγμένο από την Orama Interactive\n,Votre éditeur de sprites libre et open source\nDéveloppé par Orama Interactive\n,Ihr kostenloser und opensource Pixeleditor!\nEntwickelt von Orama Interactive\n,Twój darmowy edytor Sprite-ów na otwartej licencji!\nTworzony przez: Orama Interactive\n,Ваш бесплатный и открытый Sprite редактор!\nРазработано Orama Interactive\n,免費開源圖像編輯軟體!\n由Orama Interactive開發\n
|
||||
Website,Website,Ιστοσελίδα,Site Web,Website,Strona internetowa,Сайт,官網
|
||||
Donate,Donate,Κάντε μια δωρεά,Faire un don,Spenden,Wspomóż,Поддержать,捐款
|
||||
QUIT_LABEL,Are you sure you want to exit Pixelorama?,Σίγουρα θέλετε να βγείτε από το Pixelorama;,Voulez-vous vraiment quitter Pixelorama ?,Möchten sie Pixelorama wirklich verlassen?,Na pewno chcesz opuścić Pixeloramę?,Вы действительно хотите выйти из Pixeloram'ы?,確定要離開Pixelorama嗎?
|
||||
Utility Tools,Utility Tools,Βοηθητικά Εργαλεία,Outils utilitaires,Dienstwerkzeuge,Narzędzia,Сервисные инструменты,其他工具
|
||||
RECTSELECT_HT,Rectangular Selection\n\nR for left mouse button\nAlt + R for right mouse button\n\nPress Shift to move the content,Ορθογώνια επιλογή\n\nR για το αριστερό κουμπί ποντικιού\nAlt + R για το δεξί κουμπί ποντικιού\n\nΠατήστε Shift για να μετακινηθεί το περιεχόμενο,Sélection rectangulaire\n\nR pour le bouton gauche de la souris\n\nAlt + R pour le bouton droit de la souris\n\nMaintenez Maj. appuyée pour déplacer le contenu,Rechteckige Auswahl\n\nR für die linke Maustaste\nAlt + R für die rechte Maustaste\n\nPresse Shift zum verschieben des Inhalts,Zaznaczenie prostokątne\n\nR dla lewego narzędzia\nAlt + R dla prawego narzędzia\n\nPrzytrzymaj Shift aby przenieść zawartość,Прямоугольное выдиление\n\nR для ЛКМ\nAlt + R для ПКМ\n\nShift для перемещения контента,長方形選取\n\nR換成左鍵\nAlt + R換成右鍵\n\n按住Shift移動內容
|
||||
COLORPICKER_HT,Color Picker\nSelect a color from a pixel of the sprite\n\nO for left mouse button\nAlt + O for right mouse button,Επιλογέας χρωμάτων\nΕπιλέξτε ένα χρώμα από ένα εικονοστοιχείο της εικόνας\n\nΟ για το αριστερό κουμπί ποντικιού\nAlt + Ο για το δεξί κουμπί ποντικιού,Sélecteur de couleurs\nSélectionnez la couleur d'un pixel de la sprite\n\nO pour le bouton gauche de la souris\n\nAlt + O pour le bouton droit de la souris,Farbauswahl\Wähle einr Farbe von einem Pixel des Sprites\n\nO für die linke Maustaste\nAlt + O für die rechte Maustaste,Próbnik\nPobiera kolor wybranego piksela do wybranego narzędzia.\n\nO dla lewego narzędzia\nAlt + O dla prawego narzędzia,Выбор цвета\nВыбрать цвет из пикселя Sprit'а\n\nO для ЛКМ\nAlt + O для ПКМ,撿色器\n取得圖片中某個像素的顏色\n\nO換成左鍵\nAlt + O換成右鍵
|
||||
Draw Tools,Draw Tools,Εργαλεία Ζωγραφικής,Outils de dessin,Zeichnenwerkzeuge,Rysowanie,Инструменты рисования,繪製工具
|
||||
PENCIL_HT,Pencil\n\nP for left mouse button\nAlt + P for right mouse button\n\nHold Shift to make a line,Μολύβι\n\nP για το αριστερό κουμπί ποντικιού\nAlt + P για το δεξί κουμπί ποντικιού\n\nΚρατήστε Shift για να τραβήξετε μια γραμμή,Crayon\n\nP pour le bouton gauche de la souris\n\nAlt + P pour le bouton droit de la souris\n\nMaintenez Maj. appuyée pour dessiner une ligne,"Bleistift\n\nP für linke Maustaste\nAlt + P für rechte Maustaste\n\nHalte Shift, um eine Linie zu bilden.",Ołówek\n\nP dla lewego narzędzia\nAlt + P dla prawego narzędzia\n\nPrzytrzymaj Shift aby narysować linię,Карандаш\n\nP для ЛКМ\nAlt + P для ПКМ\n\nЗажать Shift для создания прямой,鉛筆\n\nP換成左鍵\nAlt + P換成右鍵\n\n按住Shift畫直線
|
||||
ERASER_HT,Eraser\n\nE for left mouse button\nAlt + E for right mouse button\n\nHold Shift to make a line,Γόμα\n\nE για το αριστερό κουμπί ποντικιού\nAlt + E για το δεξί κουμπί ποντικιού\n\nΚρατήστε Shift για να τραβήξετε μια γραμμή,Gomme\n\nE pour le bouton gauche de la souris\n\nAlt + E pour le bouton droit de la souris\n\nMaintenez Maj. appuyée pour dessiner une ligne,"Radiergummi\n\nE für die linke Maustaste\nAlt + E für die rechte Maustaste\n\nHalte Shift, um eine Linie zu bilden.",Gumka\n\nE dla lewego narzędzia\nAlt + E dla prawego narzędzia\n\nPrzytrzymaj Shift aby użyć w linii prostej,Ластик\n\nE для ЛКМ\nAlt + E для ПКМ\n\nЗажать Shift для очистки линией,橡皮擦\n\nE換成左鍵\nAlt + E換成右鍵\n\n按住Shift畫直線
|
||||
BUCKET_HT,Bucket\n\nB for left mouse button\nAlt + B for right mouse button,Κουβάς\n\nB για το αριστερό κουμπί ποντικιού\nAlt + B για το δεξί κουμπί ποντικιού,Seau de remplissage\n\nB pour le bouton gauche de la souris\nAlt + B pour le bouton droit de la souris,Eimer\n\nB für linke Maustaste\nAlt + B für rechte Maustaste,Wiaderko\n\nB dla lewego narzędzia\nAlt + B dla prawego narzędzia,Заливка\n\nB для ЛКМ\nAlt + B для ПКМ,油漆桶\n\nB換成左鍵\nAlt + B換成右鍵
|
||||
LD_HT,Lighten/Darken\n\nU for left mouse button\nAlt + U for right mouse button,Φώτισμα/Σκούρημα\n\nU για το αριστερό κουμπί ποντικιού\nAlt + U για το δεξί κουμπί ποντικιού,Éclaircir/Assombrir\n\nU pour le bouton gauche de la souris\nAlt + U pour le bouton droit de la souris,Erhellen/Verdunkeln\n\nU für linke Maustaste\nAlt + U für rechte Maustaste,Rozjaśnianie/Ściemnianie\n\nU dla lewego narzędzia\nAlt + U dla prawego narzędzia,Высветление/Затемнение\n\nU для ЛКМ\nAlt + U ПКМ,變亮/變暗\n\nU換成左鍵\nAlt + U換成右鍵
|
||||
LEFTCOLOR_HT,Choose a color for the left tool,Επιλέξτε ένα χρώμα για το αριστερό εργαλείο,Choisissez une couleur pour l'outil gauche,Wähle eine Farbe für das linke Werkzeug,Wybiera kolor dla lewego narzędzia,Выбор цвета для левого инструмента,選擇左鍵工具顏色
|
||||
RIGHTCOLOR_HT,Choose a color for the right tool,Επιλέξτε ένα χρώμα για το δεξί εργαλείο,Choisissez une couleur pour l'outil droit,Wähle eine Farbe für das rechte Werkzeug,Wybiera kolor dla prawego narzędzia,Выбор цвета для правого инструмента,選擇右鍵工具顏色
|
||||
COLORSWITCH_HT,Switch left and right colors\n(X),Εναλλαγή μεταξύ αριστερού και δεξιού χρώματος\n(X),Alterner les couleurs de gauche et de droite\n(X),Wechsle linke und rechte Farben\n(X),Podmienia lewy kolor z prawym kolorem\n(X),Поменять цвета местами\n(X),左右工具顏色互換\n(X)
|
||||
COLORDEFAULTS_HT,"Reset the colors to their default state (black for left, white for right)","Επαναφορά των χρωμάτων στην αρχική τους κατάσταση (μαύρο για το αριστερό, άσπρο για το δεξί)","Réinitialise les couleurs à leur état initial (noir pour l'outil gauche, blanc pour l'outil droit)","Setzt die Farben auf den Standardzustand zurück (schwarz für links, weiß für rechts).","Resetuje kolory do stanu domyślnego (czarny po lewej, biały po prawej)","Сбросить цвет по умолчанию (слева черный, справа белый)","顏色改回初始值(左黑色, 右白色)"
|
||||
Raw Mode,Raw Mode,Ωμή Λειτουργία,Mode Raw,Raw-Mode,RGB w częściach setnych od 0.0 do 1.0,RGB от 0.0 до 1.0 (Raw Mode),Raw 模式
|
||||
Left tool options,Left tool options,Επιλογές αριστερού εργαλείου,Options de l'outil gauche,Linke Werkzeugoptionen,Opcje lewego narzędzia,Настройки левого инструмента,左鍵工具選項
|
||||
Right tool options,Right tool options,Επιλογές δεξιού εργαλείου,Options de l'outil droit,Rechte Werkzeugoptionen,Opcje prawego narzędzia,Настройки правого инструмента,右鍵工具選項
|
||||
Left pixel indicator,Left pixel indicator,Δείκτης αριστερού πιξελ,Indicateur de pixel gauche,Linke Pixelanzeige,Wskaźnik lewego pędzla,Цвет для ЛКМ,左鍵工具準心
|
||||
LEFT_INDIC_HT,Show left mouse pixel indicator or brush on the canvas when drawing,Εμφάνιση δείκτη για το εικονοστοιχείο ή το πινέλο πάνω στον καμβά που αντιστοιχεί στο αριστερό κουμπί του ποντικιού,Affiche un indicateur de pixel ou de brosse pour l'outil gauche lorsque vous dessinez,Zeige linkes Mausicon oder Pinsel auf der Leinwand wenn gezeichnet wird,Wyświetl wskaźnik lewego narzędzia lub pędzla podczas rysowania,Отображать цвет кисти для ЛКМ во время рисования,在畫布上顯示左鍵工具
|
||||
RIGHT_INDIC_HT,Show right mouse pixel indicator or brush on the canvas when drawing,Εμφάνιση δείκτη για το εικονοστοιχείο ή το πινέλο πάνω στον καμβά που αντιστοιχεί στο δεξί κουμπί του ποντικιού,Affiche un indicateur de pixel ou de brosse pour l'outil droit lorsque vous dessinez,Zeige rechtes Mausicon oder Pinsel auf der Leinwand wenn gezeichnet wird,Wyświetl wskaźnik prawego narzędzia lub pędzla podczas rysowania,Отображать цвет кисти для ПКМ во время рисования,在畫布上顯示右鍵工具
|
||||
Right pixel indicator,Right pixel indicator,Δείκτης δεξιού πιξελ,Indicateur de pixel droit,Rechte Pixelanzeige,Wskaźnik prawego pędzla,Цвет для ПКМ,右鍵工具準心
|
||||
Brush:,Brush:,Πινέλο:,Brosse :,Pinsel:,Pędzel:,Кисть:,畫筆
|
||||
BRUSH_HT,Select a brush,Επιλέξτε ένα πινέλο,Sélectionnez une brosse,Wähle einen Pinsel,Wybierz pędzel,Выбрать кисть,選擇畫筆
|
||||
Brush: Pixel,Brush: Pixel,Πινέλο: Εικονοστοιχείο,Brosse : Pixel,Pinsel: Pixel,Pędzel: Piksel,Кисть: Пиксель,畫筆: 像素
|
||||
Custom brush,Custom brush,Προσαρμοσμένο πινέλο,Brosse personnalisée,Benutzerdefinierter Pinsel,Niestandardowy pędzel,Текущая кисть,自訂畫筆
|
||||
Brush size:,Brush size:,Μέγεθος πινέλου:,Taille de la brosse :,Pinselgröße:,Rozmiar pędzla:,Размер кисти:,畫筆大小:
|
||||
Brush color from,Brush color from,Χρώμα πινέλου από,Couleur de la brosse depuis,Pinselfarbe von,Nadpisywanie koloru pędzla,Цвет кисти,畫筆顏色
|
||||
COLORFROM_HT,"0: Color from the brush itself, 100: the currently selected color","0: Χρώμα από το πινέλο, 100: επιλεγμένο χρώμα","0 : Couleur depuis la brosse elle-même, 100 : la couleur actuellement sélectionnée","0: Farbe von dem Pinsel selbst, 100: die aktuell ausgewählte Farbe","0: Kolor pochodzący z samego pędzla, 100: Obecnie wybrany kolor rysowania","0: Собственный цвет кисти, 100: Выбранный цвет","0: 畫筆自己的顏色, 100: 目前選定的顏色"
|
||||
Fill area:,Fill area:,Περιοχή γεμίσματος:,Remplissage de zone :,Fülle Bereich,Wypełnij przestrzeń:,Залить область:,填滿:
|
||||
Area of the same color,Area of the same color,Περιοχή ίδιου χρώματος,Zone de la même couleur,Bereich mit der selben Farbe,Przestrzeń o takim samym kolorze,Область того же цвета,同顏色的區塊
|
||||
All pixels of the same color,All pixels of the same color,Όλα τα πίξελ ίδιου χρώματος,Tous les pixels de la même couleur,Alle Pixel mit der selben Farbe,Wszystkie piksele tego samego koloru,Все точки такого же цвета,同顏色的像素
|
||||
Lighten,Lighten,Φώτισμα,Éclaircir,Erhellen,Rozjaśnianie,Высветлить,變亮
|
||||
Darken,Darken,Σκούρημα,Assombrir,Verdunkeln,Przyciemnianie,Затемнить,變暗
|
||||
Amount:,Amount:,Ποσό:,Quantité :,Menge:,Siła:,Кол-во:,程度:
|
||||
LDAMOUNT_HT,Lighten/Darken amount,Ποσό φωτίσματος ή σκουρήματος,Quantité d'éclaircissement/assombrissement,Erhellen/Verdunkeln Menge,Siła rozjaśnienia/przyciemnienia,Интенсивность Высветления/Затемнения,變亮或變暗的程度
|
||||
Mirroring,Mirroring,Κατοπτρισμός,Miroir,Spiegeln,Lustrzane odbicie,Отразить зеркально,鏡像
|
||||
Horizontal,Horizontal,Οριζόντια,Horizontal,Horizontal spiegeln,Poziome,Горизонально,水平
|
||||
HORIZMIRROR_HT,Enable horizontal mirrored drawing,Ενεργοποίηση ζωγραφικής με οριζόντιο κατοπτρισμό,Dessine avec un miroir horizontal,Aktiviere horizontal gespiegelte Zeichnung ,Włącza lustrzane odbicie w poziomie podczas rysowania,Режим рисования горизонтального зеркалирования,開啟水平鏡像
|
||||
VERTMIRROR_HT,Enable vertical mirrored drawing,Ενεργοποίηση ζωγραφικής με κάθετο κατοπτρισμό,Dessine avec un miroir vertical,Aktiviere vertikale gespiegelte Zeichnung,Włącza lustrzane odbicie w pionie podczas rysowania,Режим рисования вертикального зеркалирования,開啟垂直鏡像
|
||||
Vertical,Vertical,Κάθετα,Vertical,Vertikal,Pionowe,Вертикально,垂直
|
||||
Current frame:,Current frame:,Τρέχον καρέ:,Trame actuelle :,Aktueller Frame,Obecna klatka:,Текущий кадр:,目前畫面:
|
||||
Current frame: 1/1,Current frame: 1/1,Τρέχον καρέ: 1/1,Trame actuelle : 1/1,Aktueller Frame 1/1,Obecna klatka: 1/1,Текущий кадр: 1/1,目前畫面: 1/1
|
||||
FIRSTFRAME_HT,Jump to the first frame\n(Ctrl+Home),Μετάβαση στο πρώτο καρέ\n(Ctrl+Home),Aller à la première trame\n(Ctrl + Orig.),Springe zu dem ersten Frame\n(Strg+Home),Skocz do pierwszej klatki\n(Ctrl+Home),Перейти к первому кадру\n(Ctrl+Home),跳到第一張\n(Ctrl+Home)
|
||||
PREVIOUSFRAME_HT,Go to the previous frame\n(Ctrl+Left),Μετάβαση στο προηγούμενο καρέ\n(Ctrl+Αριστερά),Aller à la trame précédente\n(Ctrl + Gauche),Gehe zu dem letzten Frame\n(Strg+Pfeil nach Links),Przejdź do poprzedniej klatki\n(Ctrl+Strzałka w lewo),На предыдущий кадр\n(Ctrl+Left),到前一張\n(Ctrl+Left)
|
||||
PLAYBACKWARDS_HT,Play the animation backwards (from end to beginning)\n(F4),Αναπαραγωγή της κίνησης ανάποδα (από το τέλος προς την αρχή)\n(F4),Jouer l'animation à l'envers (de la fin vers le début)\n(F4),Spiele die Animation rückwärts ab (vom Ende bis zum Anfang)\n(F4),Odtwórz animację od końca\n(F4),Проиграть анимацию задом наперед (с конца в начало)\n(F4),倒著播動畫\n(F4)
|
||||
PLAYFORWARD_HT,Play the animation forward (from beginning to end)\n(F5),Αναπαραγωγή της κίνησης κανονικά (από την αρχή προς το τέλος)\n(F5),Jouer l'animation (du début vers la fin)\n(F5),Spiele die Animation vorwärts ab (vom Anfang bis zum Ende)\n(F5),Odtwórz animację od początku\n(F5),Проиграть анимацию по умолчанию (с начала в конец)\n(F5),播動畫\n(F5)
|
||||
NEXTFRAME_HT,Go to the next frame\n(Ctrl+Right),Μετάβαση στο επόμενο καρέ\n(Ctrl+Δεξιά),Aller à la prochaine trame\n(Ctrl + Droite),Gehe zum nächsten Frame\n(Strg+Pfeil nach Rechts),Przejdź do następnej klatki\n(Ctrl+Strzałka w prawo),На следующий кадр\n(Ctrl+Right),到後一張\n(Ctrl+Right)
|
||||
LASTFRAME_HT,Jump to the last frame\n(Ctrl+End),Μετάβαση στο τελευταίο καρέ\n(Ctrl+End),Aller à la dernière trame\n(Ctrl + Fin),Springe zum letzten Frame\n(Strg+Ende),Skocz do ostatniej klatki\n(Ctrl+End),Перейти на последний кадр\n(Ctrl+End),跳到最後一張\n(Ctrl+End)
|
||||
FPS_HT,"How many frames per second should the animation preview be?\nThe more FPS, the faster the animation plays.","Πόσα καρέ ανά δευτερόλεπτο (FPS) να είναι η προεπισκόπηση της κίνησης;\nΌσο περισσότερα FPS, τόσο πιο γρήγορα παίζει η κίνηση.","Combien d'images par seconde pour l'aperçu de l'animation ?\nPlus cette valeur est élevée, plus l'animation sera jouée rapidement.","Wie viele Frames pro Sekunde sollte die Animationsvorschau haben?\n Je mehr FPS, desto schneller wird die Animation abgespielt.",W ilu klatkach na sekundę odtwarzana ma być animacja?\nWiększa ilość klatek na sekundę powoduje szybsze odtwarzanie.,Число кадров в секунду для просмотра анимации?\nБольшее число кадров в секунду ускорит анмацию.,"動畫預覽每秒要多少張?\nFPS越高, 動畫播得越快"
|
||||
No loop,No loop,Όχι επανάληψη,Pas de bouclage,Keine Wiederholungsschleife,Brak zapętlania,Не зацикливать,不重複
|
||||
Cycle loop,Cycle loop,Κυκλική επανάληψη,Bouclage en cycle,Zyklusschleife,Zapętl odtwarzanie,Зациклить,輪迴重複
|
||||
Ping-pong loop,Ping-pong loop,Επανάληψη πινγκ-πονγκ,Bouclage en ping-pong,Ping Pong Loop,Zapętlanie typu ping-pong,Пинг-Понг,乒乓重複
|
||||
Onion Skinning:,Onion Skinning:,Γειτονικά καρέ:,Peau d'oignon :,Onion Skinning:,Kalkowanie klatek:,Шлейф смежных кадров:,洋蔥皮:
|
||||
Past Frames,Past Frames,Παρελθοντικά καρέ,Trames passées,Letzten Frames,Przeszłe klatki,Предыдущие кадры,過去畫面
|
||||
Future Frames,Future Frames,Μελλοντικά καρέ,Trames futures,Nächsten Frames,Przyszłe klatki,Последующие кадры,未來畫面
|
||||
Blue-Red Mode,Blue-Red Mode,Μπλε-Κόκκινη λειτουργία,Mode rouge-bleu,Blau-Roter Modus,Niebiesko-czerwone prześwity,Сине-красный режим,藍紅模式
|
||||
Add a new frame,Add a new frame,Προσθήκη νέου καρέ,Ajouter une trame,Füge einen neuen Frame hinzu,Dodaj nową klatkę,Добавить новый кадр,新增畫面
|
||||
Remove Frame,Remove Frame,Διαγραφή Καρέ,Supprimer la trame,Entferne Frame,Usuń klatkę,Удалить кадр,刪除畫面
|
||||
Clone Frame,Clone Frame,Κλωνοποίηση Καρέ,Cloner la trame,Kopiere Frame,Klonuj klatkę,Клонировать кадр,複製畫面
|
||||
Move Left,Move Left,Μετακίνηση Αριστερά,Déplacer vers la gauche,Bewege nach Links,Przesuń w lewo,Сместить влево,左移
|
||||
Move Right,Move Right,Μετακίνηση Δεξιά,Déplacer vers la droite,Bewege nach Rechts,Przesuń w prawo,Сместить вправо,右移
|
||||
Layers,Layers,Στρώσεις,Calques,Ebenen,Warstwy,Слои,圖層
|
||||
LAYERNEW_HT,Create a new layer,Δημιουργία νέας στρώσης,Créer un calque,Erstelle eine neue Ebene,Stwórz nową warstwę,Создать новый слой,新增圖層
|
||||
LAYERREMOVE_HT,Remove current layer,Διαγραφή της τρέχουσας στρώσης,Supprimer le calque,Entferne aktuelle Ebene,Usuń obecną warstwę,Удалить текущий слой,刪除此圖層
|
||||
LAYERUP_HT,Move up the current layer,Μετακίνηση της τρέχουσας στρώσης προς τα πάνω,Déplacer le calque vers le haut,Bewege aktuelle Ebene nach oben,Przesuń obecną warstwę do góry,Поднять текущий слой выше,上移此圖層
|
||||
LAYERDOWN_HT,Move down the current layer,Μετακίνηση της τρέχουσας στρώσης προς τα κάτω,Déplacer le calque vers le cas,Bewege aktuelle Ebene nach unten,Przesuń obecną warstwę w dół,Опустить текущий слой ниже,下移此圖層
|
||||
LAYERCLONE_HT,Clone current layer,Κλωνοποίηση της τρέχουσας στρώσης,Cloner le calque,Kopiere aktuelle Ebene,Duplikuj obecną warstwę,Клонировать текущий слой,複製此圖層
|
||||
LAYERMERGE_HT,Merge current layer with the one below,Συγχώνευση της τρέχουσας στρώσης με την από κάτω,Fusionner le calque vers le bas,Führe Ebene mit der darunter zusammen,Połącz obecną warstwę z warstwą powyżej,Объединить слой ниже с текущим ,合併此圖層與下面的圖層
|
||||
LAYERVISIBILITY_HT,Toggle layer's visibility,Εναλλαγή της ορατότητας της στρώσης,Afficher/Masquer le calque,Ändere die Sichtbarkeit der Ebene,Ukrywanie warstwy,Переключить видимость слоев,開關圖層可視
|
||||
SPLITSCREEN_HT,Split screen\n\nShow second canvas,Διπλή οθόνη\n\nΕμφάνιση δεύτερου καμβά,Écran partagé\n\nAfficher un second canevas,Geteilter Bildschirm\n\nZeige zweite Leinwand,Podzielenie ekranu\n\nWyświetla drugie płótno,Разделить экран\n\nОтобразить второй холст,分裂畫面\n\n顯示兩張畫布
|
||||
SPLITSCREEN_HIDE_HT,Split screen\n\nHide second canvas,Διπλή οθόνη\n\nΑπόκρυψη δεύτερου καμβάf,Écran partagé\n\nCacher le second canevas,Geteilter Bildschirm\n\nVerstecke zweite Leinwand,Podzielenie ekranu\n\nUkrywa drugie płótno,Разделить экран\n\nСкрыть второй холст,分裂畫面\n\n顯示一張畫布
|
||||
Undo: Draw,Undo: Draw,Αναίρεση: Ζωγραφική,Annuler : Dessin,Rückgängig: Zeichen,Cofnij: Rysowanie,Отменить: Рисование,取消 上一筆
|
||||
Redo: Draw,Redo: Draw,Ακύρωση αναίρεσης: Ζωγραφική,Refaire : Dessin,Wiederherstellen: Zeichnen,Przywróć: Rysowanie,Повторить: Рисование,復原 上一筆
|
||||
Undo: Rectangle Select,Undo: Rectangle Select,Αναίρεση: Ορθογώνια επιλογή,Annuler : Sélection par rectangle,Rückgängig: Rechteck Auswahl,Cofnij: Zaznaczenie prostokątne,Отменить: Прямоугольное выделение,取消 長方形選取
|
||||
Redo: Rectangle Select,Redo: Rectangle Select,Ακύρωση αναίρεσης: Ορθογώνια επιλογή,Refaire : Sélection par rectangle,Wiederherstellen: Rechteck Auswahl,Przywróć: Zaznaczenie prostokątne,Повторить: Прямоугольное выделение,復原 長方形選取
|
||||
Undo: Scale,Undo: Scale,Αναίρεση: Κλιμάκωση,Annuler : Redimensionner l'image,Rückgängig: Skalieren,Cofnij: Skalowanie,Отменить: Масштабирование,取消 尺寸調整
|
||||
Redo: Scale,Redo: Scale,Ακύρωση αναίρεσης: Κλιμάκωση,Refaire : Redimensionner l'image,Wiederherstellen: Skalieren,Przywróć: Skalowanie,Повторить: Масштабирование,復原 尺寸調整
|
||||
Undo: Add Layer,Undo: Add Layer,Αναίρεση: Προσθήκη στρώσης,Annuler : Ajouter un calque,Rückgängig: Ebene hinzufügen,Cofnij: Dodawanie warstwy,Отменить: Добавление слоя,取消 新增圖層
|
||||
Redo: Add Layer,Redo: Add Layer,Ακύρωση αναίρεσης: Προσθήκη στρώσης,Refaire : Ajouter un calque,Wiederherstellen: Ebene hinzufügen,Przywróć: Dodawanie warstwy,Повторить: Добавление слоя,復原 新增圖層
|
||||
Undo: Remove Layer,Undo: Remove Layer,Αναίρεση: Διαγραφή στρώσης,Annuler : Supprimer le calque,Rückgängigg: Entferne Ebene,Cofnij: Usuwanie warstwy,Отменить: Удаление слоя,取消 刪除圖層
|
||||
Redo: Remove Layer,Redo: Remove Layer,Ακύρωση αναίρεσης: Διαγραφή στρώσης,Refaire : Supprimer le calque,Wiederherstellen: Entferne Ebene,Przywróć: Usuwanie warstwy,Повторить: Удаление слоя,復原 刪除圖層
|
||||
Undo: Merge Layer,Undo: Merge Layer,Αναίρεση: Συγχώνευση στρώσης,Annuler : Fusionner le calque,Rückgängig: Füge Ebene zusammen,Cofnij: Scalanie warstw,Отменить: Объединение слоев,取消 合併圖層
|
||||
Redo: Merge Layer,Redo: Merge Layer,Ακύρωση αναίρεσης: Συγχώνευση στρώσης,Refaire : Fusionner le calque,Wiederherstellen: Füge Ebene zusammen,Przywróć: Scalanie warstw,Повторить: Объединение слоев,復原 合併圖層
|
||||
Undo: Change Layer Order,Undo: Change Layer Order,Αναίρεση: Αλλαγή σειράς στρώσης,Annuler : Modifier l'ordre des calques,Rückgängig: Ändere Ebenenreihenfolge,Cofnij: Zmiana kolejności warstw,Отменить: Смена порядка слоев,取消 改變圖層順序
|
||||
Redo: Change Layer Order,Redo: Change Layer Order,Ακύρωση αναίρεσης: Αλλαγή σειράς στρώσης,Refaire : Modifier l'ordre des calques,Wiederherstellen: Ändere Ebenenreihenfolge,Przywróć: Zmiana kolejności warstw,Повторить: Смена порядка слоев,復原 改變圖層順序
|
||||
Undo: Add Frame,Undo: Add Frame,Αναίρεση: Προσθήκη καρέ,Annuler : Ajouter une trame,Rückgängig: Füge Frame hinzu,Cofnij: Dodawanie klatki,Отменить: Добавление кадра,取消 新增畫面
|
||||
Redo: Add Frame,Redo: Add Frame,Ακύρωση αναίρεσης: Προσθήκη καρέ,Refaire : Ajouter une trame,Wiederherstellen: Füge Frame hinzu,Przywróć: Dodawanie klatki,Повторить: Добавление кадра,復原 新增畫面
|
||||
Undo: Remove Frame,Undo: Remove Frame,Αναίρεση: Διαγραφή καρέ,Annuler : Supprimer une trame,Rückgängig: Entferne Frame,Cofnij: Usunięcie klatki,Отменить: Удаление кадра,取消 刪除畫面
|
||||
Redo: Remove Frame,Redo: Remove Frame,Ακύρωση αναίρεσης: Διαγραφή καρέ,Refaire : Supprimer une trame,Wiederherstellen: Entferne Frame,Przywróć: Usunięcie klatki,Повторить: Удаление кадра,復原 刪除畫面
|
||||
Undo: Change Frame Order,Undo: Change Frame Order,Αναίρεση: Αλλαγή σειράς καρέ,Annuler : Modifier l'ordre des trames,Rückgängig: Ändere Framereihenfolge,Cofnij: Zmiana kolejności klatek,Отменить: Смена последовательности кадров,取消 改變畫面順序
|
||||
Redo: Change Frame Order,Redo: Change Frame Order,Ακύρωση αναίρεσης: Αλλαγή σειράς καρέ,Refaire : Modifier l'ordre des trames,Wiederherstellen: Ändere Framereihenfolge,Przywróć: Zmiana kolejności klatek,Повторить: Смена последовательности кадров,復原 改變畫面順序
|
||||
Undo: Delete Custom Brush,Undo: Delete Custom Brush,Αναίρεση: Διαγραφή προσαρμοσμένου πινέλου,Annuler : Supprimer la brosse personnalisée,Rückgängig: Entferne benutzerdefinierten Pinsel,Cofnij: Usuwanie niestandardowego pędzla,Отменить: Удаление текущей кисти,取消 刪除自訂畫筆
|
||||
Redo: Delete Custom Brush,Redo: Delete Custom Brush,Ακύρωση αναίρεσης: Διαγραφή προσαρμοσμένου πινέλου,Refaire : Supprimer la brosse personnalisée,Wiederherstellen: Entferne benutzerdefinierten Pinsel,Przywróć: Usuwanie niestandardowego pędzla,Повторить: Удаление текущей кисти,復原 刪除自訂畫筆
|
||||
Move Guide,Move Guide,Μετακίνηση βοηθού,Déplacer le guide,Bewegungsanleitung,Przesuń prowadnice,Сдвинуть направляющие,移動輔助線
|
||||
File saved,File saved,Το αρχείο αποθηκεύτηκε,Fichier enregistré,Datei gespeichert,Plik został zapisany,Файл сохранен,檔案已儲存
|
||||
File exported,File exported,Έγινε εξαγωγή αρχείου,Fichier exporté,Datei exportiert,Plik został wyeksportowany,Файл экспортирован,檔案已輸出
|
||||
|
|
|
|
@ -5,10 +5,10 @@ type="Translation"
|
|||
|
||||
[deps]
|
||||
|
||||
files=[ "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation", "res://Translations/#Translations.pl.translation" ]
|
||||
files=[ "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation", "res://Translations/#Translations.pl.translation", "res://Translations/#Translations.ru.translation", "res://Translations/#Translations.zh_TW.translation" ]
|
||||
|
||||
source_file="res://Translations/#Translations.csv"
|
||||
dest_files=[ "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation", "res://Translations/#Translations.pl.translation" ]
|
||||
dest_files=[ "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation", "res://Translations/#Translations.pl.translation", "res://Translations/#Translations.ru.translation", "res://Translations/#Translations.zh_TW.translation" ]
|
||||
|
||||
[params]
|
||||
|
||||
|
|
|
@ -188,7 +188,7 @@ shift={
|
|||
|
||||
[locale]
|
||||
|
||||
translations=PoolStringArray( "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation", "res://Translations/#Translations.pl.translation" )
|
||||
translations=PoolStringArray( "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation", "res://Translations/#Translations.pl.translation", "res://Translations/#Translations.ru.translation", "res://Translations/#Translations.zh_TW.translation" )
|
||||
locale_filter=[ 0, [ ] ]
|
||||
|
||||
[rendering]
|
||||
|
|
Loading…
Add table
Reference in a new issue