diff --git "a/stuff/config/loc/\346\227\245\346\234\254\350\252\236/tnztools.qm" "b/stuff/config/loc/\346\227\245\346\234\254\350\252\236/tnztools.qm" index 2e870fe..e3f500d 100644 Binary files "a/stuff/config/loc/\346\227\245\346\234\254\350\252\236/tnztools.qm" and "b/stuff/config/loc/\346\227\245\346\234\254\350\252\236/tnztools.qm" differ diff --git a/toonz/sources/include/tproperty.h b/toonz/sources/include/tproperty.h index ae6ab1c..0c690ac 100644 --- a/toonz/sources/include/tproperty.h +++ b/toonz/sources/include/tproperty.h @@ -311,6 +311,15 @@ private: class DVAPI TEnumProperty final : public TProperty { public: typedef std::vector Range; + // Used only for translation and styling in Qt + struct Item { + QString UIName; + QString iconName; + + Item(const QString &name = QString(), const QString &icon = QString()) + : UIName(name), iconName(icon) {} + }; + typedef std::vector Items; TEnumProperty(const std::string &name) : TProperty(name), m_index(-1) {} @@ -318,12 +327,14 @@ public: const std::wstring &v) : TProperty(name), m_range(range), m_index(indexOf(v)) { if (m_index < 0) throw RangeError(); + m_items.resize(m_range.size()); } TEnumProperty(const std::string &name, Range::const_iterator i0, Range::const_iterator i1, const std::wstring &v) : TProperty(name), m_range(i0, i1), m_index(indexOf(v)) { if (m_index < 0) throw RangeError(); + m_items.resize(m_range.size()); } TProperty *clone() const override { return new TEnumProperty(*this); } @@ -339,13 +350,21 @@ public: return ret; } - void addValue(std::wstring value) { + void addValue(std::wstring value, const QString &iconName = QString()) { if (m_index == -1) m_index = 0; m_range.push_back(value); + m_items.push_back(Item(QString::fromStdWString(value), iconName)); + } + + void setItemUIName(std::wstring value, const QString &name) { + int index = indexOf(value); + if (index < 0 || index >= (int)m_items.size()) throw RangeError(); + m_items[index].UIName = name; } void deleteAllValues() { m_range.clear(); + m_items.clear(); m_index = -1; } @@ -360,13 +379,18 @@ public: m_index = idx; } + int getCount() const { return (int)m_items.size(); } + const Range &getRange() const { return m_range; } + const Items &getItems() const { return m_items; } + std::wstring getValue() const { return (m_index < 0) ? L"" : m_range[m_index]; } std::string getValueAsString() override { return ::to_string(m_range[m_index]); } + int getIndex() const { return m_index; } void accept(Visitor &v) override { v.visit(this); } @@ -376,6 +400,7 @@ public: private: Range m_range; + Items m_items; int m_index; }; diff --git a/toonz/sources/tnztools/brushtool.cpp b/toonz/sources/tnztools/brushtool.cpp index b5fa171..ef4732f 100644 --- a/toonz/sources/tnztools/brushtool.cpp +++ b/toonz/sources/tnztools/brushtool.cpp @@ -852,9 +852,9 @@ BrushTool::BrushTool(std::string name, int targetType) m_prop[0].bind(m_pencil); m_pencil.setId("PencilMode"); - m_drawOrder.addValue(tr("Over All").toStdWString()); - m_drawOrder.addValue(tr("Under All").toStdWString()); - m_drawOrder.addValue(tr("Palette Order").toStdWString()); + m_drawOrder.addValue(L"Over All"); + m_drawOrder.addValue(L"Under All"); + m_drawOrder.addValue(L"Palette Order"); m_drawOrder.setId("DrawOrder"); } @@ -883,15 +883,16 @@ BrushTool::BrushTool(std::string name, int targetType) m_pressure.setId("PressureSensitivity"); if (targetType & TTool::Vectors) { - m_capStyle.addValue(BUTT_WSTR); - m_capStyle.addValue(ROUNDC_WSTR); - m_capStyle.addValue(PROJECTING_WSTR); + m_capStyle.addValue(BUTT_WSTR, QString::fromStdWString(BUTT_WSTR)); + m_capStyle.addValue(ROUNDC_WSTR, QString::fromStdWString(ROUNDC_WSTR)); + m_capStyle.addValue(PROJECTING_WSTR, + QString::fromStdWString(PROJECTING_WSTR)); m_capStyle.setId("Cap"); m_prop[1].bind(m_capStyle); - m_joinStyle.addValue(MITER_WSTR); - m_joinStyle.addValue(ROUNDJ_WSTR); - m_joinStyle.addValue(BEVEL_WSTR); + m_joinStyle.addValue(MITER_WSTR, QString::fromStdWString(MITER_WSTR)); + m_joinStyle.addValue(ROUNDJ_WSTR, QString::fromStdWString(ROUNDJ_WSTR)); + m_joinStyle.addValue(BEVEL_WSTR, QString::fromStdWString(BEVEL_WSTR)); m_joinStyle.setId("Join"); m_prop[1].bind(m_joinStyle); @@ -1061,8 +1062,14 @@ void BrushTool::updateTranslation() { m_accuracy.setQStringName(tr("Accuracy:")); m_smooth.setQStringName(tr("Smooth:")); m_drawOrder.setQStringName(tr("Draw Order:")); + if (m_targetType & TTool::ToonzImage) { + m_drawOrder.setItemUIName(L"Over All", tr("Over All")); + m_drawOrder.setItemUIName(L"Under All", tr("Under All")); + m_drawOrder.setItemUIName(L"Palette Order", tr("Palette Order")); + } // m_filled.setQStringName(tr("Filled")); m_preset.setQStringName(tr("Preset:")); + m_preset.setItemUIName(CUSTOM_WSTR, tr("")); m_breakAngles.setQStringName(tr("Break")); m_pencil.setQStringName(tr("Pencil")); m_pressure.setQStringName(tr("Pressure")); @@ -1072,6 +1079,22 @@ void BrushTool::updateTranslation() { m_frameRange.setQStringName(tr("Range:")); m_snap.setQStringName(tr("Snap")); m_snapSensitivity.setQStringName(""); + if (m_targetType & TTool::Vectors) { + m_frameRange.setItemUIName(L"Off", tr("Off")); + m_frameRange.setItemUIName(LINEAR_WSTR, tr("Linear")); + m_frameRange.setItemUIName(EASEIN_WSTR, tr("In")); + m_frameRange.setItemUIName(EASEOUT_WSTR, tr("Out")); + m_frameRange.setItemUIName(EASEINOUT_WSTR, tr("In&Out")); + m_snapSensitivity.setItemUIName(LOW_WSTR, tr("Low")); + m_snapSensitivity.setItemUIName(MEDIUM_WSTR, tr("Med")); + m_snapSensitivity.setItemUIName(HIGH_WSTR, tr("High")); + m_capStyle.setItemUIName(BUTT_WSTR, tr("Butt cap")); + m_capStyle.setItemUIName(ROUNDC_WSTR, tr("Round cap")); + m_capStyle.setItemUIName(PROJECTING_WSTR, tr("Projecting cap")); + m_joinStyle.setItemUIName(MITER_WSTR, tr("Miter join")); + m_joinStyle.setItemUIName(ROUNDJ_WSTR, tr("Round join")); + m_joinStyle.setItemUIName(BEVEL_WSTR, tr("Bevel join")); + } } //--------------------------------------------------------------------------------------------------- diff --git a/toonz/sources/tnztools/edittool.cpp b/toonz/sources/tnztools/edittool.cpp index aa4af74..f7c6ec2 100644 --- a/toonz/sources/tnztools/edittool.cpp +++ b/toonz/sources/tnztools/edittool.cpp @@ -791,12 +791,12 @@ EditTool::EditTool() m_autoSelect.setId("AutoSelect"); m_prop.bind(m_activeAxis); - m_activeAxis.addValue(L"Position"); - m_activeAxis.addValue(L"Rotation"); - m_activeAxis.addValue(L"Scale"); - m_activeAxis.addValue(L"Shear"); - m_activeAxis.addValue(L"Center"); - m_activeAxis.addValue(L"All"); + m_activeAxis.addValue(L"Position", "edit_position"); + m_activeAxis.addValue(L"Rotation", "edit_rotation"); + m_activeAxis.addValue(L"Scale", "edit_scale"); + m_activeAxis.addValue(L"Shear", "edit_shear"); + m_activeAxis.addValue(L"Center", "edit_center"); + m_activeAxis.addValue(L"All", "edit_all"); m_activeAxis.setValue(L"Position"); m_activeAxis.setId("EditToolActiveAxis"); @@ -813,7 +813,15 @@ EditTool::~EditTool() { void EditTool::updateTranslation() { m_scaleConstraint.setQStringName(tr("Scale Constraint:")); + m_scaleConstraint.setItemUIName(L"None", tr("None")); + m_scaleConstraint.setItemUIName(L"A/R", tr("A/R")); + m_scaleConstraint.setItemUIName(L"Mass", tr("Mass")); + m_autoSelect.setQStringName(tr("Auto Select Column")); + m_autoSelect.setItemUIName(L"None", tr("None")); + m_autoSelect.setItemUIName(L"Column", tr("Column")); + m_autoSelect.setItemUIName(L"Pegbar", tr("Pegbar")); + m_globalKeyframes.setQStringName(tr("Global Key")); m_lockCenterX.setQStringName(tr("Lock Center E/W")); m_lockCenterY.setQStringName(tr("Lock Center N/S")); @@ -833,7 +841,13 @@ void EditTool::updateTranslation() { m_showHVscale.setQStringName(tr("Horizontal and Vertical Scale")); m_showShear.setQStringName(tr("Shear")); m_showCenterPosition.setQStringName(tr("Center Position")); + m_activeAxis.setQStringName(tr("Active Axis")); + m_activeAxis.setItemUIName(L"Position", tr("Position")); + m_activeAxis.setItemUIName(L"Rotation", tr("Rotation")); + m_activeAxis.setItemUIName(L"Scale", tr("Scale")); + m_activeAxis.setItemUIName(L"Shear", tr("Shear")); + m_activeAxis.setItemUIName(L"Center", tr("Center")); } //----------------------------------------------------------------------------- diff --git a/toonz/sources/tnztools/filltool.cpp b/toonz/sources/tnztools/filltool.cpp index d3347d8..6a6e711 100644 --- a/toonz/sources/tnztools/filltool.cpp +++ b/toonz/sources/tnztools/filltool.cpp @@ -1794,9 +1794,20 @@ int FillTool::getCursorId() const { void FillTool::updateTranslation() { m_frameRange.setQStringName(tr("Frame Range")); + m_fillType.setQStringName(tr("Type:")); + m_fillType.setItemUIName(NORMALFILL, tr("Normal")); + m_fillType.setItemUIName(RECTFILL, tr("Rectangular")); + m_fillType.setItemUIName(FREEHANDFILL, tr("Freehand")); + m_fillType.setItemUIName(POLYLINEFILL, tr("Polyline")); + m_selective.setQStringName(tr("Selective")); + m_colorType.setQStringName(tr("Mode:")); + m_colorType.setItemUIName(LINES, tr("Lines")); + m_colorType.setItemUIName(AREAS, tr("Areas")); + m_colorType.setItemUIName(ALL, tr("Lines & Areas")); + m_onion.setQStringName(tr("Onion Skin")); m_fillDepth.setQStringName(tr("Fill Depth")); m_segment.setQStringName(tr("Segment")); diff --git a/toonz/sources/tnztools/fullcolorerasertool.cpp b/toonz/sources/tnztools/fullcolorerasertool.cpp index a537ea2..3917031 100644 --- a/toonz/sources/tnztools/fullcolorerasertool.cpp +++ b/toonz/sources/tnztools/fullcolorerasertool.cpp @@ -408,7 +408,13 @@ void FullColorEraserTool::updateTranslation() { m_size.setQStringName(tr("Size:")); m_opacity.setQStringName(tr("Opacity:")); m_hardness.setQStringName(tr("Hardness:")); + m_eraseType.setQStringName(tr("Type:")); + m_eraseType.setItemUIName(NORMALERASE, tr("Normal")); + m_eraseType.setItemUIName(RECTERASE, tr("Rectangular")); + m_eraseType.setItemUIName(FREEHANDERASE, tr("Freehand")); + m_eraseType.setItemUIName(POLYLINEERASE, tr("Polyline")); + m_invertOption.setQStringName(tr("Invert")); m_multi.setQStringName(tr("Frame Range")); } diff --git a/toonz/sources/tnztools/geometrictool.cpp b/toonz/sources/tnztools/geometrictool.cpp index e2b9686..c34e441 100644 --- a/toonz/sources/tnztools/geometrictool.cpp +++ b/toonz/sources/tnztools/geometrictool.cpp @@ -349,15 +349,15 @@ public: m_prop[0].bind(m_type); m_prop[0].bind(m_edgeCount); - m_snapSensitivity.addValue(LOW_WSTR); - m_snapSensitivity.addValue(MEDIUM_WSTR); - m_snapSensitivity.addValue(HIGH_WSTR); if (targetType & TTool::Vectors) { m_prop[0].bind(m_autogroup); m_prop[0].bind(m_autofill); m_prop[0].bind(m_snap); m_snap.setId("Snap"); m_prop[0].bind(m_snapSensitivity); + m_snapSensitivity.addValue(LOW_WSTR); + m_snapSensitivity.addValue(MEDIUM_WSTR); + m_snapSensitivity.addValue(HIGH_WSTR); m_snapSensitivity.setId("SnapSensitivity"); } if (targetType & TTool::ToonzImage) { @@ -366,14 +366,15 @@ public: m_pencil.setId("PencilMode"); } - m_capStyle.addValue(BUTT_WSTR); - m_capStyle.addValue(ROUNDC_WSTR); - m_capStyle.addValue(PROJECTING_WSTR); + m_capStyle.addValue(BUTT_WSTR, QString::fromStdWString(BUTT_WSTR)); + m_capStyle.addValue(ROUNDC_WSTR, QString::fromStdWString(ROUNDC_WSTR)); + m_capStyle.addValue(PROJECTING_WSTR, + QString::fromStdWString(PROJECTING_WSTR)); m_capStyle.setId("Cap"); - m_joinStyle.addValue(MITER_WSTR); - m_joinStyle.addValue(ROUNDJ_WSTR); - m_joinStyle.addValue(BEVEL_WSTR); + m_joinStyle.addValue(MITER_WSTR, QString::fromStdWString(MITER_WSTR)); + m_joinStyle.addValue(ROUNDJ_WSTR, QString::fromStdWString(ROUNDJ_WSTR)); + m_joinStyle.addValue(BEVEL_WSTR, QString::fromStdWString(BEVEL_WSTR)); m_joinStyle.setId("Join"); m_miterJoinLimit.setId("Miter"); @@ -391,6 +392,14 @@ public: void updateTranslation() { m_type.setQStringName(tr("Shape:")); + m_type.setItemUIName(L"Rectangle", tr("Rectangle")); + m_type.setItemUIName(L"Circle", tr("Circle")); + m_type.setItemUIName(L"Ellipse", tr("Ellipse")); + m_type.setItemUIName(L"Line", tr("Line")); + m_type.setItemUIName(L"Polyline", tr("Polyline")); + m_type.setItemUIName(L"Arc", tr("Arc")); + m_type.setItemUIName(L"Polygon", tr("Polygon")); + m_toolSize.setQStringName(tr("Size:")); m_rasterToolSize.setQStringName(tr("Thickness:")); m_opacity.setQStringName(tr("Opacity:")); @@ -400,11 +409,25 @@ public: m_autofill.setQStringName(tr("Auto Fill")); m_selective.setQStringName(tr("Selective")); m_pencil.setQStringName(tr("Pencil Mode")); + m_capStyle.setQStringName(tr("Cap")); + m_capStyle.setItemUIName(BUTT_WSTR, tr("Butt cap")); + m_capStyle.setItemUIName(ROUNDC_WSTR, tr("Round cap")); + m_capStyle.setItemUIName(PROJECTING_WSTR, tr("Projecting cap")); + m_joinStyle.setQStringName(tr("Join")); + m_joinStyle.setItemUIName(MITER_WSTR, tr("Miter join")); + m_joinStyle.setItemUIName(ROUNDJ_WSTR, tr("Round join")); + m_joinStyle.setItemUIName(BEVEL_WSTR, tr("Bevel join")); + m_miterJoinLimit.setQStringName(tr("Miter:")); m_snap.setQStringName(tr("Snap")); m_snapSensitivity.setQStringName(tr("")); + if (m_targetType & TTool::Vectors) { + m_snapSensitivity.setItemUIName(LOW_WSTR, tr("Low")); + m_snapSensitivity.setItemUIName(MEDIUM_WSTR, tr("Med")); + m_snapSensitivity.setItemUIName(HIGH_WSTR, tr("High")); + } } }; @@ -892,17 +915,19 @@ public: m_param.m_miterJoinLimit.setValue(GeometricMiterValue); m_firstTime = false; m_param.m_snap.setValue(GeometricSnap); - m_param.m_snapSensitivity.setIndex(GeometricSnapSensitivity); - switch (GeometricSnapSensitivity) { - case 0: - m_param.m_minDistance2 = SNAPPING_LOW; - break; - case 1: - m_param.m_minDistance2 = SNAPPING_MEDIUM; - break; - case 2: - m_param.m_minDistance2 = SNAPPING_HIGH; - break; + if (m_targetType & TTool::Vectors) { + m_param.m_snapSensitivity.setIndex(GeometricSnapSensitivity); + switch (GeometricSnapSensitivity) { + case 0: + m_param.m_minDistance2 = SNAPPING_LOW; + break; + case 1: + m_param.m_minDistance2 = SNAPPING_MEDIUM; + break; + case 2: + m_param.m_minDistance2 = SNAPPING_HIGH; + break; + } } } m_primitive->resetSnap(); diff --git a/toonz/sources/tnztools/paintbrushtool.cpp b/toonz/sources/tnztools/paintbrushtool.cpp index a7dd097..ca50063 100644 --- a/toonz/sources/tnztools/paintbrushtool.cpp +++ b/toonz/sources/tnztools/paintbrushtool.cpp @@ -44,11 +44,6 @@ using namespace ToolUtils; #define AREAS L"Areas" #define ALL L"Lines & Areas" -#define NORMALERASE L"Normal" -#define RECTERASE L"Rectangular" -#define FREEHANDERASE L"Freehand" -#define POLYLINEERASE L"Polyline" - TEnv::StringVar PaintBrushColorType("InknpaintPaintBrushColorType", "Areas"); TEnv::IntVar PaintBrushSelective("InknpaintPaintBrushSelective", 0); TEnv::DoubleVar PaintBrushSize("InknpaintPaintBrushSize", 10); @@ -346,7 +341,12 @@ PaintBrushTool::PaintBrushTool() void PaintBrushTool::updateTranslation() { m_toolSize.setQStringName(tr("Size:")); + m_colorType.setQStringName(tr("Mode:")); + m_colorType.setItemUIName(LINES, tr("Lines")); + m_colorType.setItemUIName(AREAS, tr("Areas")); + m_colorType.setItemUIName(ALL, tr("Lines & Areas")); + m_onlyEmptyAreas.setQStringName(tr("Selective", NULL)); } diff --git a/toonz/sources/tnztools/rastererasertool.cpp b/toonz/sources/tnztools/rastererasertool.cpp index d7da989..28148cd 100644 --- a/toonz/sources/tnztools/rastererasertool.cpp +++ b/toonz/sources/tnztools/rastererasertool.cpp @@ -623,8 +623,18 @@ EraserTool::EraserTool(std::string name) void EraserTool::updateTranslation() { m_toolSize.setQStringName(tr("Size:")); m_hardness.setQStringName(tr("Hardness:")); + m_eraseType.setQStringName(tr("Type:")); + m_eraseType.setItemUIName(NORMALERASE, tr("Normal")); + m_eraseType.setItemUIName(RECTERASE, tr("Rectangular")); + m_eraseType.setItemUIName(FREEHANDERASE, tr("Freehand")); + m_eraseType.setItemUIName(POLYLINEERASE, tr("Polyline")); + m_colorType.setQStringName(tr("Mode:")); + m_colorType.setItemUIName(LINES, tr("Lines")); + m_colorType.setItemUIName(AREAS, tr("Areas")); + m_colorType.setItemUIName(ALL, tr("Lines & Areas")); + m_currentStyle.setQStringName(tr("Selective")); m_invertOption.setQStringName(tr("Invert")); m_multi.setQStringName(tr("Frame Range")); @@ -1644,10 +1654,11 @@ void EraserTool::storeUndoAndRefresh() { TUndoManager::manager()->add(new RasterBluredEraserUndo( m_tileSet, m_points, TTool::getApplication()->getCurrentLevelStyleIndex(), - m_currentStyle.getValue(), TTool::getApplication() - ->getCurrentLevel() - ->getLevel() - ->getSimpleLevel(), + m_currentStyle.getValue(), + TTool::getApplication() + ->getCurrentLevel() + ->getLevel() + ->getSimpleLevel(), m_workingFrameId.isEmptyFrame() ? getCurrentFid() : m_workingFrameId, m_toolSize.getValue(), m_hardness.getValue() * 0.01, m_colorType.getValue())); diff --git a/toonz/sources/tnztools/rastertapetool.cpp b/toonz/sources/tnztools/rastertapetool.cpp index d8c473f..2ad7692 100644 --- a/toonz/sources/tnztools/rastertapetool.cpp +++ b/toonz/sources/tnztools/rastertapetool.cpp @@ -177,6 +177,11 @@ public: void updateTranslation() override { m_closeType.setQStringName(tr("Type:")); + m_closeType.setItemUIName(NORMAL_CLOSE, tr("Normal")); + m_closeType.setItemUIName(RECT_CLOSE, tr("Rectangular")); + m_closeType.setItemUIName(FREEHAND_CLOSE, tr("Freehand")); + m_closeType.setItemUIName(POLYLINE_CLOSE, tr("Polyline")); + m_distance.setQStringName(tr("Distance:")); m_inkIndex.setQStringName(tr("Style Index:")); m_opacity.setQStringName(tr("Opacity:")); diff --git a/toonz/sources/tnztools/rgbpickertool.cpp b/toonz/sources/tnztools/rgbpickertool.cpp index 072e47c..6a6e484 100644 --- a/toonz/sources/tnztools/rgbpickertool.cpp +++ b/toonz/sources/tnztools/rgbpickertool.cpp @@ -219,6 +219,11 @@ void RGBPickerTool::setToolOptionsBox(RGBPickerToolOptionsBox *toolOptionsBox) { void RGBPickerTool::updateTranslation() { m_pickType.setQStringName(tr("Type:")); + m_pickType.setItemUIName(NORMAL_PICK, tr("Normal")); + m_pickType.setItemUIName(RECT_PICK, tr("Rectangular")); + m_pickType.setItemUIName(FREEHAND_PICK, tr("Freehand")); + m_pickType.setItemUIName(POLYLINE_PICK, tr("Polyline")); + m_passivePick.setQStringName(tr("Passive Pick")); } diff --git a/toonz/sources/tnztools/selectiontool.cpp b/toonz/sources/tnztools/selectiontool.cpp index 2a58f61..4238c64 100644 --- a/toonz/sources/tnztools/selectiontool.cpp +++ b/toonz/sources/tnztools/selectiontool.cpp @@ -910,6 +910,9 @@ FreeDeformer *SelectionTool::getFreeDeformer(int index) const { void SelectionTool::updateTranslation() { m_strokeSelectionType.setQStringName(tr("Type:")); + m_strokeSelectionType.setItemUIName(RECT_SELECTION, tr("Rectangular")); + m_strokeSelectionType.setItemUIName(FREEHAND_SELECTION, tr("Freehand")); + m_strokeSelectionType.setItemUIName(POLYLINE_SELECTION, tr("Polyline")); } //----------------------------------------------------------------------------- diff --git a/toonz/sources/tnztools/skeletontool.cpp b/toonz/sources/tnztools/skeletontool.cpp index 6cec4d9..8084a0b 100644 --- a/toonz/sources/tnztools/skeletontool.cpp +++ b/toonz/sources/tnztools/skeletontool.cpp @@ -291,6 +291,9 @@ void SkeletonTool::updateTranslation() { m_showOnlyActiveSkeleton.setQStringName(tr("Show Only Active Skeleton")); m_globalKeyframes.setQStringName(tr("Global Key")); m_mode.setQStringName(tr("Mode:")); + m_mode.setItemUIName(BUILD_SKELETON, tr("Build Skeleton")); + m_mode.setItemUIName(ANIMATE, tr("Animate")); + m_mode.setItemUIName(INVERSE_KINEMATICS, tr("Inverse Kinematics")); } //------------------------------------------------------------------- diff --git a/toonz/sources/tnztools/stylepickertool.cpp b/toonz/sources/tnztools/stylepickertool.cpp index 663b347..bcfe616 100644 --- a/toonz/sources/tnztools/stylepickertool.cpp +++ b/toonz/sources/tnztools/stylepickertool.cpp @@ -306,6 +306,9 @@ void StylePickerTool::onImageChanged() { void StylePickerTool::updateTranslation() { m_colorType.setQStringName(tr("Mode:")); + m_colorType.setItemUIName(LINES, tr("Lines")); + m_colorType.setItemUIName(AREAS, tr("Areas")); + m_colorType.setItemUIName(ALL, tr("Lines & Areas")); m_passivePick.setQStringName(tr("Passive Pick")); m_organizePalette.setQStringName(tr("Organize Palette")); } diff --git a/toonz/sources/tnztools/tooloptionscontrols.cpp b/toonz/sources/tnztools/tooloptionscontrols.cpp index eab8b7e..f73d558 100644 --- a/toonz/sources/tnztools/tooloptionscontrols.cpp +++ b/toonz/sources/tnztools/tooloptionscontrols.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include "tooloptionscontrols.h" @@ -577,22 +578,40 @@ ToolOptionCombo::ToolOptionCombo(TTool *tool, TEnumProperty *property, //----------------------------------------------------------------------------- void ToolOptionCombo::loadEntries() { - TEnumProperty::Range range = m_property->getRange(); - TEnumProperty::Range::iterator it; + const TEnumProperty::Range &range = m_property->getRange(); + const TEnumProperty::Items &items = m_property->getItems(); - int maxWidth = 0; + const int count = m_property->getCount(); + int maxWidth = 0; clear(); - for (it = range.begin(); it != range.end(); ++it) { - QString itemStr = QString::fromStdWString(*it); - addItem(itemStr); - int tmpWidth = fontMetrics().width(itemStr); + bool hasIcon = false; + for (int i = 0; i < count; ++i) { + QString itemStr = QString::fromStdWString(range[i]); + if (items[i].iconName.isEmpty()) + addItem(items[i].UIName, itemStr); + else { + addItem(createQIcon(items[i].iconName.toUtf8()), items[i].UIName, + itemStr); + if (!hasIcon) { + hasIcon = true; + setIconSize(QSize(17, 17)); + // add margin between items if they are with icons + setView(new QListView()); + view()->setIconSize(QSize(17, 17)); + setStyleSheet( + "QComboBox QAbstractItemView::item{ \ + margin: 5 0 0 0;\ + }"); + } + } + int tmpWidth = fontMetrics().width(items[i].UIName); if (tmpWidth > maxWidth) maxWidth = tmpWidth; } // set the maximum width according to the longest item with 25 pixels for // arrow button and margin - setMaximumWidth(maxWidth + 25); + setMaximumWidth(maxWidth + 25 + (hasIcon ? 23 : 0)); updateStatus(); } @@ -601,7 +620,7 @@ void ToolOptionCombo::loadEntries() { void ToolOptionCombo::updateStatus() { QString value = QString::fromStdWString(m_property->getValue()); - int index = findText(value); + int index = findData(value); if (index >= 0 && index != currentIndex()) setCurrentIndex(index); } @@ -672,15 +691,12 @@ ToolOptionPopupButton::ToolOptionPopupButton(TTool *tool, setFixedHeight(20); m_property->addListener(this); - TEnumProperty::Range range = property->getRange(); - TEnumProperty::Range::iterator it; - for (it = range.begin(); it != range.end(); ++it) { - QString iconName = QString::fromStdWString(*it); - QAction *action = addItem(createQIcon(iconName.toUtf8())); + const TEnumProperty::Items &items = m_property->getItems(); + const int count = m_property->getCount(); + for (int i = 0; i < count; ++i) { + QAction *action = addItem(createQIcon(items[i].iconName.toUtf8())); // make the tooltip text - iconName = iconName.replace('_', ' '); - iconName = iconName.left(1).toUpper() + iconName.mid(1); - action->setToolTip(iconName); + action->setToolTip(items[i].UIName); } setCurrentIndex(0); updateStatus(); diff --git a/toonz/sources/tnztools/vectorerasertool.cpp b/toonz/sources/tnztools/vectorerasertool.cpp index 80acb18..244c090 100644 --- a/toonz/sources/tnztools/vectorerasertool.cpp +++ b/toonz/sources/tnztools/vectorerasertool.cpp @@ -402,6 +402,10 @@ void EraserTool::updateTranslation() { m_invertOption.setQStringName(tr("Invert")); m_multi.setQStringName(tr("Frame Range")); m_eraseType.setQStringName(tr("Type:")); + m_eraseType.setItemUIName(NORMAL_ERASE, tr("Normal")); + m_eraseType.setItemUIName(RECT_ERASE, tr("Rectangular")); + m_eraseType.setItemUIName(FREEHAND_ERASE, tr("Freehand")); + m_eraseType.setItemUIName(POLYLINE_ERASE, tr("Polyline")); } //----------------------------------------------------------------------------- diff --git a/toonz/sources/tnztools/vectorselectiontool.cpp b/toonz/sources/tnztools/vectorselectiontool.cpp index e1e71f3..bc413cf 100644 --- a/toonz/sources/tnztools/vectorselectiontool.cpp +++ b/toonz/sources/tnztools/vectorselectiontool.cpp @@ -1183,34 +1183,34 @@ VectorSelectionTool::VectorSelectionTool(int targetType) , m_miterJoinLimit("Miter:", 0, 100, 4) , m_selectionCount(0) , m_canEnterGroup(true) { - if (targetType == TTool::Vectors) { - m_prop.bind(m_selectionTarget); - m_prop.bind(m_constantThickness); - - m_selectionTarget.addValue(NORMAL_TYPE); - m_selectionTarget.addValue(SELECTED_FRAMES_TYPE); - m_selectionTarget.addValue(ALL_LEVEL_TYPE); - m_selectionTarget.addValue(SAME_STYLE_TYPE); - m_selectionTarget.addValue(STYLE_SELECTED_FRAMES_TYPE); - m_selectionTarget.addValue(STYLE_LEVEL_TYPE); - m_selectionTarget.addValue(BOUNDARY_TYPE); - m_selectionTarget.addValue(BOUNDARY_SELECTED_FRAMES_TYPE); - m_selectionTarget.addValue(BOUNDARY_LEVEL_TYPE); - } + assert(targetType == TTool::Vectors); + m_prop.bind(m_selectionTarget); + m_prop.bind(m_constantThickness); + + m_selectionTarget.addValue(NORMAL_TYPE); + m_selectionTarget.addValue(SELECTED_FRAMES_TYPE); + m_selectionTarget.addValue(ALL_LEVEL_TYPE); + m_selectionTarget.addValue(SAME_STYLE_TYPE); + m_selectionTarget.addValue(STYLE_SELECTED_FRAMES_TYPE); + m_selectionTarget.addValue(STYLE_LEVEL_TYPE); + m_selectionTarget.addValue(BOUNDARY_TYPE); + m_selectionTarget.addValue(BOUNDARY_SELECTED_FRAMES_TYPE); + m_selectionTarget.addValue(BOUNDARY_LEVEL_TYPE); m_strokeSelection.setView(this); m_constantThickness.setId("PreserveThickness"); m_selectionTarget.setId("SelectionMode"); - m_capStyle.addValue(BUTT_WSTR); - m_capStyle.addValue(ROUNDC_WSTR); - m_capStyle.addValue(PROJECTING_WSTR); + m_capStyle.addValue(BUTT_WSTR, QString::fromStdWString(BUTT_WSTR)); + m_capStyle.addValue(ROUNDC_WSTR, QString::fromStdWString(ROUNDC_WSTR)); + m_capStyle.addValue(PROJECTING_WSTR, + QString::fromStdWString(PROJECTING_WSTR)); m_capStyle.setId("Cap"); - m_joinStyle.addValue(MITER_WSTR); - m_joinStyle.addValue(ROUNDJ_WSTR); - m_joinStyle.addValue(BEVEL_WSTR); + m_joinStyle.addValue(MITER_WSTR, QString::fromStdWString(MITER_WSTR)); + m_joinStyle.addValue(ROUNDJ_WSTR, QString::fromStdWString(ROUNDJ_WSTR)); + m_joinStyle.addValue(BEVEL_WSTR, QString::fromStdWString(BEVEL_WSTR)); m_joinStyle.setId("Join"); m_miterJoinLimit.setId("Miter"); @@ -1291,9 +1291,32 @@ bool VectorSelectionTool::isModifiableSelectionType() const { void VectorSelectionTool::updateTranslation() { m_selectionTarget.setQStringName(tr("Mode:")); + m_selectionTarget.setItemUIName(NORMAL_TYPE, tr("Standard")); + m_selectionTarget.setItemUIName(SELECTED_FRAMES_TYPE, tr("Selected Frames")); + m_selectionTarget.setItemUIName(ALL_LEVEL_TYPE, tr("Whole Level")); + m_selectionTarget.setItemUIName(SAME_STYLE_TYPE, tr("Same Style")); + m_selectionTarget.setItemUIName(STYLE_SELECTED_FRAMES_TYPE, + tr("Same Style on Selected Frames")); + m_selectionTarget.setItemUIName(STYLE_LEVEL_TYPE, + tr("Same Style on Whole Level")); + m_selectionTarget.setItemUIName(BOUNDARY_TYPE, tr("Boundary Strokes")); + m_selectionTarget.setItemUIName(BOUNDARY_SELECTED_FRAMES_TYPE, + tr("Boundaries on Selected Frames")); + m_selectionTarget.setItemUIName(BOUNDARY_LEVEL_TYPE, + tr("Boundaries on Whole Level")); + m_constantThickness.setQStringName(tr("Preserve Thickness")); + m_capStyle.setQStringName(tr("Cap")); + m_capStyle.setItemUIName(BUTT_WSTR, tr("Butt cap")); + m_capStyle.setItemUIName(ROUNDC_WSTR, tr("Round cap")); + m_capStyle.setItemUIName(PROJECTING_WSTR, tr("Projecting cap")); + m_joinStyle.setQStringName(tr("Join")); + m_joinStyle.setItemUIName(MITER_WSTR, tr("Miter join")); + m_joinStyle.setItemUIName(ROUNDJ_WSTR, tr("Round join")); + m_joinStyle.setItemUIName(BEVEL_WSTR, tr("Bevel join")); + m_miterJoinLimit.setQStringName(tr("Miter:")); SelectionTool::updateTranslation(); } diff --git a/toonz/sources/tnztools/vectortapetool.cpp b/toonz/sources/tnztools/vectortapetool.cpp index 5869536..c5dd5a9 100644 --- a/toonz/sources/tnztools/vectortapetool.cpp +++ b/toonz/sources/tnztools/vectortapetool.cpp @@ -259,8 +259,15 @@ public: m_smooth.setQStringName(tr("Smooth")); m_joinStrokes.setQStringName(tr("Join Vectors")); m_autocloseFactor.setQStringName(tr("Distance")); + m_mode.setQStringName(tr("Mode:")); + m_mode.setItemUIName(POINT2POINT, tr("Endpoint to Endpoint")); + m_mode.setItemUIName(POINT2LINE, tr("Endpoint to Line")); + m_mode.setItemUIName(LINE2LINE, tr("Line to Line")); + m_type.setQStringName(tr("Type:")); + m_type.setItemUIName(NORMAL, tr("Normal")); + m_type.setItemUIName(RECT, tr("Rectangular")); } //----------------------------------------------------------------------------- @@ -710,8 +717,9 @@ public: std::vector *fillInformation = new std::vector; ImageUtils::getFillingInformationOverlappingArea( - vi, *fillInformation, vi->getStroke(m_strokeIndex1)->getBBox() + - vi->getStroke(m_strokeIndex2)->getBBox()); + vi, *fillInformation, + vi->getStroke(m_strokeIndex1)->getBBox() + + vi->getStroke(m_strokeIndex2)->getBBox()); doTape(vi, fillInformation, m_joinStrokes.getValue()); diff --git a/toonz/sources/toonzqt/Resources/edit_all.svg b/toonz/sources/toonzqt/Resources/edit_all.svg new file mode 100644 index 0000000..0dde49e --- /dev/null +++ b/toonz/sources/toonzqt/Resources/edit_all.svg @@ -0,0 +1,142 @@ + + +image/svg+xml \ No newline at end of file diff --git a/toonz/sources/toonzqt/toonzqt.qrc b/toonz/sources/toonzqt/toonzqt.qrc index ae43122..a2d03af 100644 --- a/toonz/sources/toonzqt/toonzqt.qrc +++ b/toonz/sources/toonzqt/toonzqt.qrc @@ -28,6 +28,7 @@ Resources/edit_rotation.svg Resources/edit_scale.svg Resources/edit_shear.svg + Resources/edit_all.svg Resources/fit_off.svg Resources/fit_on.svg Resources/fx_off.svg diff --git a/toonz/sources/translations/chinese/tnztools.ts b/toonz/sources/translations/chinese/tnztools.ts index b018c0f..6f98337 100644 --- a/toonz/sources/translations/chinese/tnztools.ts +++ b/toonz/sources/translations/chinese/tnztools.ts @@ -158,6 +158,66 @@ Snap 吸附 + + <custom> + + + + Off + + + + Linear + + + + In + + + + Out + + + + In&Out + + + + Low + + + + High + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Med + + BrushToolOptionsBox @@ -282,6 +342,38 @@ Active Axis 当前轴 + + None + + + + A/R + + + + Mass + + + + Column + + + + Pegbar + + + + Position + 位置 + + + Scale + 缩放 + + + Center + 中心点 + EraserTool @@ -317,6 +409,34 @@ Pencil Mode 铅笔模式 + + Normal + 正常 + + + Rectangular + 矩形 + + + Freehand + 手绘 + + + Polyline + 多边形 + + + Lines + 线 + + + Areas + 区域 + + + Lines & Areas + + FillTool @@ -350,11 +470,11 @@ Lines - 线 + 线 Areas - 区域 + 区域 Lines && Areas @@ -362,24 +482,28 @@ Normal - 正常 + 正常 Rectangular - 矩形 + 矩形 Freehand - 手绘 + 手绘 Polyline - 多边形 + 多边形 Autopaint Lines 自动填充线 + + Lines & Areas + + FingerTool @@ -461,6 +585,22 @@ Frame Range 帧范围 + + Normal + 正常 + + + Rectangular + 矩形 + + + Freehand + 手绘 + + + Polyline + 多边形 + HookTool @@ -490,6 +630,18 @@ Selective 选择性 + + Lines + 线 + + + Areas + 区域 + + + Lines & Areas + + PinchTool @@ -730,6 +882,70 @@ Do you want to proceed? Snap 吸附 + + Rectangle + + + + Circle + + + + Ellipse + + + + Line + + + + Polyline + 多边形 + + + Arc + + + + Polygon + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Low + + + + High + + + + Med + + PumpTool @@ -778,7 +994,7 @@ Do you want to proceed? It is not possible to edit the Magpie column. - 无法编辑 MAGPIE 列。 + 无法编辑 MAGPIE 列。 The current tool cannot be used on a Level column. @@ -884,6 +1100,14 @@ Do you want to proceed? Set Save Box : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) 设置保存框 : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) + + The current column is hidden. + + + + Note columns can only be edited in the xsheet or timeline. + + RGBPickerTool @@ -895,6 +1119,22 @@ Do you want to proceed? Passive Pick 拾取光标位置颜色 + + Normal + 正常 + + + Rectangular + 矩形 + + + Freehand + 手绘 + + + Polyline + 多边形 + RGBPickerToolOptionsBox @@ -940,6 +1180,22 @@ Do you want to proceed? Angle: 角度: + + Normal + 正常 + + + Rectangular + 矩形 + + + Freehand + 手绘 + + + Polyline + 多边形 + SelectionTool @@ -947,6 +1203,18 @@ Do you want to proceed? Type: 类型: + + Rectangular + 矩形 + + + Freehand + 手绘 + + + Polyline + 多边形 + SelectionToolOptionsBox @@ -997,6 +1265,18 @@ Do you want to proceed? Reset Pinned Center 重置固定中心 + + Build Skeleton + 制作骨架 + + + Animate + 动画 + + + Inverse Kinematics + + StylePickerTool @@ -1024,6 +1304,18 @@ Do you want to proceed? Organize Palette 整理调色板 + + Lines + 线 + + + Areas + 区域 + + + Lines & Areas + + StylePickerToolOptionsBox @@ -1093,6 +1385,66 @@ moved to the end of the first page of the palette. Miter: 斜接比例: + + Standard + + + + Selected Frames + + + + Whole Level + + + + Same Style + + + + Same Style on Selected Frames + + + + Same Style on Whole Level + + + + Boundary Strokes + + + + Boundaries on Selected Frames + + + + Boundaries on Whole Level + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + VectorTapeTool @@ -1116,5 +1468,25 @@ moved to the end of the first page of the palette. Type: 类型: + + Endpoint to Endpoint + + + + Endpoint to Line + + + + Line to Line + + + + Normal + 正常 + + + Rectangular + 矩形 + diff --git a/toonz/sources/translations/french/tnztools.ts b/toonz/sources/translations/french/tnztools.ts index 18bb9f4..b72d7a4 100644 --- a/toonz/sources/translations/french/tnztools.ts +++ b/toonz/sources/translations/french/tnztools.ts @@ -158,6 +158,66 @@ Snap Magnétisme + + <custom> + + + + Off + + + + Linear + + + + In + + + + Out + + + + In&Out + + + + Low + + + + High + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Med + + BrushToolOptionsBox @@ -282,6 +342,38 @@ Active Axis + + None + + + + A/R + + + + Mass + + + + Column + + + + Pegbar + + + + Position + Position + + + Scale + Échelle + + + Center + Centre + EraserTool @@ -317,6 +409,34 @@ Pencil Mode Mode Crayon + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + + + Lines + + + + Areas + + + + Lines & Areas + + FillTool @@ -352,6 +472,34 @@ Autopaint Lines + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + + + Lines + + + + Areas + + + + Lines & Areas + + FingerTool @@ -433,6 +581,22 @@ Frame Range Intervalle + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + HookTool @@ -462,6 +626,18 @@ Selective Sélective + + Lines + + + + Areas + + + + Lines & Areas + + PinchTool @@ -703,6 +879,70 @@ Voulez-vous continuer? Snap Magnétisme + + Rectangle + + + + Circle + + + + Ellipse + + + + Line + + + + Polyline + + + + Arc + + + + Polygon + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Low + + + + High + + + + Med + + PumpTool @@ -751,7 +991,7 @@ Voulez-vous continuer? It is not possible to edit the Magpie column. - Il n'est pas possible de modifier la colonne Magpie. + Il n'est pas possible de modifier la colonne Magpie. The current tool cannot be used on a Level column. @@ -857,6 +1097,14 @@ Voulez-vous continuer? Set Save Box : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) + + The current column is hidden. + + + + Note columns can only be edited in the xsheet or timeline. + + RGBPickerTool @@ -868,6 +1116,22 @@ Voulez-vous continuer? Passive Pick + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + RGBPickerToolOptionsBox @@ -913,6 +1177,22 @@ Voulez-vous continuer? Angle: Angle: + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + SelectionTool @@ -920,6 +1200,18 @@ Voulez-vous continuer? Type: Type: + + Rectangular + + + + Freehand + + + + Polyline + + SelectionToolOptionsBox @@ -970,6 +1262,18 @@ Voulez-vous continuer? Reset Pinned Center Réinitialiser les centres épinglés + + Build Skeleton + Créer Squelette + + + Animate + Animer + + + Inverse Kinematics + + StylePickerTool @@ -997,6 +1301,18 @@ Voulez-vous continuer? Organize Palette + + Lines + + + + Areas + + + + Lines & Areas + + StylePickerToolOptionsBox @@ -1066,6 +1382,66 @@ moved to the end of the first page of the palette. Miter: Pointe: + + Standard + + + + Selected Frames + + + + Whole Level + + + + Same Style + + + + Same Style on Selected Frames + + + + Same Style on Whole Level + + + + Boundary Strokes + + + + Boundaries on Selected Frames + + + + Boundaries on Whole Level + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + VectorTapeTool @@ -1089,5 +1465,25 @@ moved to the end of the first page of the palette. Type: Type: + + Endpoint to Endpoint + + + + Endpoint to Line + + + + Line to Line + + + + Normal + + + + Rectangular + + diff --git a/toonz/sources/translations/german/tnztools.ts b/toonz/sources/translations/german/tnztools.ts index 493650d..53d907f 100644 --- a/toonz/sources/translations/german/tnztools.ts +++ b/toonz/sources/translations/german/tnztools.ts @@ -158,6 +158,66 @@ Snap Einrasten + + <custom> + + + + Off + + + + Linear + + + + In + + + + Out + + + + In&Out + + + + Low + + + + High + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Med + + BrushToolOptionsBox @@ -282,6 +342,38 @@ Active Axis Aktive Achse + + None + + + + A/R + + + + Mass + + + + Column + + + + Pegbar + + + + Position + Position + + + Scale + Maßstab + + + Center + Mitte + EraserTool @@ -317,6 +409,34 @@ Pencil Mode Bleistift Modus + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + + + Lines + + + + Areas + + + + Lines & Areas + + FillTool @@ -352,6 +472,34 @@ Autopaint Lines + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + + + Lines + + + + Areas + + + + Lines & Areas + + FingerTool @@ -433,6 +581,22 @@ Frame Range Frame-Bereich + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + HookTool @@ -462,6 +626,18 @@ Selective Selektiv + + Lines + + + + Areas + + + + Lines & Areas + + PinchTool @@ -702,6 +878,70 @@ Möchten Sie fortfahren? Snap Einrasten + + Rectangle + + + + Circle + + + + Ellipse + + + + Line + + + + Polyline + + + + Arc + + + + Polygon + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Low + + + + High + + + + Med + + PumpTool @@ -750,7 +990,7 @@ Möchten Sie fortfahren? It is not possible to edit the Magpie column. - Es ist nicht möglich die Magpie-Spalte zu bearbeiten. + Es ist nicht möglich die Magpie-Spalte zu bearbeiten. The current tool cannot be used on a Level column. @@ -856,6 +1096,14 @@ Möchten Sie fortfahren? Set Save Box : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) Speicher-Box setzen : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) + + The current column is hidden. + + + + Note columns can only be edited in the xsheet or timeline. + + RGBPickerTool @@ -867,6 +1115,22 @@ Möchten Sie fortfahren? Passive Pick Passives Wählen + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + RGBPickerToolOptionsBox @@ -912,6 +1176,22 @@ Möchten Sie fortfahren? Angle: Winkel: + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + SelectionTool @@ -919,6 +1199,18 @@ Möchten Sie fortfahren? Type: Typ: + + Rectangular + + + + Freehand + + + + Polyline + + SelectionToolOptionsBox @@ -969,6 +1261,18 @@ Möchten Sie fortfahren? Reset Pinned Center Festgesetzte Mitte zurücksetzen + + Build Skeleton + Skelett aufbauen + + + Animate + Animieren + + + Inverse Kinematics + + StylePickerTool @@ -996,6 +1300,18 @@ Möchten Sie fortfahren? Organize Palette + + Lines + + + + Areas + + + + Lines & Areas + + StylePickerToolOptionsBox @@ -1065,6 +1381,66 @@ moved to the end of the first page of the palette. Miter: Gehrung: + + Standard + + + + Selected Frames + + + + Whole Level + + + + Same Style + + + + Same Style on Selected Frames + + + + Same Style on Whole Level + + + + Boundary Strokes + + + + Boundaries on Selected Frames + + + + Boundaries on Whole Level + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + VectorTapeTool @@ -1088,5 +1464,25 @@ moved to the end of the first page of the palette. Type: Typ: + + Endpoint to Endpoint + + + + Endpoint to Line + + + + Line to Line + + + + Normal + + + + Rectangular + + diff --git a/toonz/sources/translations/italian/tnztools.ts b/toonz/sources/translations/italian/tnztools.ts index da94abd..ac324c8 100644 --- a/toonz/sources/translations/italian/tnztools.ts +++ b/toonz/sources/translations/italian/tnztools.ts @@ -158,6 +158,66 @@ Snap Calamita + + <custom> + + + + Off + + + + Linear + + + + In + + + + Out + + + + In&Out + + + + Low + + + + High + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Med + + BrushToolOptionsBox @@ -282,6 +342,38 @@ Active Axis + + None + + + + A/R + + + + Mass + + + + Column + + + + Pegbar + + + + Position + Posizione + + + Scale + Scala + + + Center + Centro + EraserTool @@ -317,6 +409,34 @@ Pencil Mode Modalità Matita + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + + + Lines + + + + Areas + + + + Lines & Areas + + FillTool @@ -352,6 +472,34 @@ Autopaint Lines + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + + + Lines + + + + Areas + + + + Lines & Areas + + FingerTool @@ -433,6 +581,22 @@ Frame Range Intervallo di Fotogrammi + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + HookTool @@ -462,6 +626,18 @@ Selective Selettivo + + Lines + + + + Areas + + + + Lines & Areas + + PinchTool @@ -701,6 +877,70 @@ Procedere? Snap Calamita + + Rectangle + + + + Circle + + + + Ellipse + + + + Line + + + + Polyline + + + + Arc + + + + Polygon + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Low + + + + High + + + + Med + + PumpTool @@ -749,7 +989,7 @@ Procedere? It is not possible to edit the Magpie column. - Non è possibile modificare la colonna Magpie. + Non è possibile modificare la colonna Magpie. The current tool cannot be used on a Level column. @@ -855,6 +1095,14 @@ Procedere? Set Save Box : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) + + The current column is hidden. + + + + Note columns can only be edited in the xsheet or timeline. + + RGBPickerTool @@ -866,6 +1114,22 @@ Procedere? Passive Pick + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + RGBPickerToolOptionsBox @@ -911,6 +1175,22 @@ Procedere? Angle: Angolo: + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + SelectionTool @@ -918,6 +1198,18 @@ Procedere? Type: Tipo: + + Rectangular + + + + Freehand + + + + Polyline + + SelectionToolOptionsBox @@ -968,6 +1260,18 @@ Procedere? Reset Pinned Center Ripristina il centro bloccato + + Build Skeleton + Costruire Scheletro + + + Animate + Animare + + + Inverse Kinematics + + StylePickerTool @@ -995,6 +1299,18 @@ Procedere? Organize Palette + + Lines + + + + Areas + + + + Lines & Areas + + StylePickerToolOptionsBox @@ -1064,6 +1380,66 @@ moved to the end of the first page of the palette. Miter: Smusso: + + Standard + + + + Selected Frames + + + + Whole Level + + + + Same Style + + + + Same Style on Selected Frames + + + + Same Style on Whole Level + + + + Boundary Strokes + + + + Boundaries on Selected Frames + + + + Boundaries on Whole Level + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + VectorTapeTool @@ -1087,5 +1463,25 @@ moved to the end of the first page of the palette. Type: Sali di Un Livello + + Endpoint to Endpoint + + + + Endpoint to Line + + + + Line to Line + + + + Normal + + + + Rectangular + + diff --git a/toonz/sources/translations/japanese/tnztools.ts b/toonz/sources/translations/japanese/tnztools.ts index cf4c589..82d7206 100644 --- a/toonz/sources/translations/japanese/tnztools.ts +++ b/toonz/sources/translations/japanese/tnztools.ts @@ -158,6 +158,66 @@ Snap スナップ + + <custom> + <カスタム> + + + Off + 無効 + + + Linear + 均等割り + + + In + イーズイン + + + Out + イーズアウト + + + In&Out + イーズインアウト + + + Low + + + + Med + + + + High + + + + Butt cap + バット線端 + + + Round cap + 丸型線端 + + + Projecting cap + 突出線端 + + + Miter join + マイター結合 + + + Round join + ラウンド結合 + + + Bevel join + ベベル結合 + BrushToolOptionsBox @@ -276,12 +336,44 @@ Center Position - センター位置 + 基準点位置 Active Axis 操作する軸 + + None + なし + + + A/R + 縦横比 + + + Mass + 面積 + + + Column + + + + Pegbar + タップ + + + Position + 位置 + + + Scale + 拡大縮小 + + + Center + 基準点 + EraserTool @@ -317,6 +409,34 @@ Pencil Mode 鉛筆モード + + Normal + 通常 + + + Rectangular + 長方形 + + + Freehand + なげなわ + + + Polyline + 多角形 + + + Lines + + + + Areas + 塗り + + + Lines & Areas + 線と塗り + FillTool @@ -352,6 +472,34 @@ Autopaint Lines 含め塗り + + Normal + 通常 + + + Rectangular + 長方形 + + + Freehand + なげなわ + + + Polyline + 多角形 + + + Lines + + + + Areas + 塗り + + + Lines & Areas + 線と塗り + FingerTool @@ -433,6 +581,22 @@ Frame Range フレーム範囲 + + Normal + 通常 + + + Rectangular + 長方形 + + + Freehand + なげなわ + + + Polyline + 多角形 + HookTool @@ -462,6 +626,18 @@ Selective 塗りの保護 + + Lines + + + + Areas + 塗り + + + Lines & Areas + 線と塗り + PinchTool @@ -702,6 +878,70 @@ Do you want to proceed? Snap スナップ + + Rectangle + 長方形 + + + Circle + 円形 + + + Ellipse + 楕円形 + + + Line + 直線 + + + Polyline + 折れ線 + + + Arc + 円弧 + + + Polygon + 多角形 + + + Butt cap + バット線端 + + + Round cap + 丸型線端 + + + Projecting cap + 突出線端 + + + Miter join + マイター結合 + + + Round join + ラウンド結合 + + + Bevel join + ベベル結合 + + + Low + + + + Med + + + + High + + PumpTool @@ -750,7 +990,7 @@ Do you want to proceed? It is not possible to edit the Magpie column. - MAGPIE列は編集できません。 + MAGPIE列は編集できません。 The current tool cannot be used on a Level column. @@ -856,6 +1096,14 @@ Do you want to proceed? Set Save Box : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) セーブボックスを設定 : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) + + The current column is hidden. + 現在の列は非表示です。 + + + Note columns can only be edited in the xsheet or timeline. + ノートレベルはタイムシート又はタイムライン上でのみ編集できます。 + RGBPickerTool @@ -867,6 +1115,22 @@ Do you want to proceed? Passive Pick マウス位置の色を拾う + + Normal + 通常 + + + Rectangular + 長方形 + + + Freehand + なげなわ + + + Polyline + 多角形 + RGBPickerToolOptionsBox @@ -912,6 +1176,22 @@ Do you want to proceed? Angle: 角度: + + Normal + 全体 + + + Rectangular + 長方形 + + + Freehand + なげなわ + + + Polyline + 多角形 + SelectionTool @@ -919,6 +1199,18 @@ Do you want to proceed? Type: タイプ: + + Rectangular + 長方形 + + + Freehand + なげなわ + + + Polyline + 多角形 + SelectionToolOptionsBox @@ -969,6 +1261,18 @@ Do you want to proceed? Reset Pinned Center 固定ピンをリセット + + Build Skeleton + ボーン作成 + + + Animate + アニメート + + + Inverse Kinematics + インバースキネマティクス + StylePickerTool @@ -996,6 +1300,18 @@ Do you want to proceed? Organize Palette パレットを整理 + + Lines + + + + Areas + 塗り + + + Lines & Areas + 線と塗り + StylePickerToolOptionsBox @@ -1066,6 +1382,66 @@ moved to the end of the first page of the palette. Miter: 角の比率: + + Standard + 通常 + + + Selected Frames + 選択フレーム + + + Whole Level + レベル全体 + + + Same Style + 同じスタイル + + + Same Style on Selected Frames + 同じスタイル - 選択フレーム + + + Same Style on Whole Level + 同じスタイル - レベル全体 + + + Boundary Strokes + 輪郭線 + + + Boundaries on Selected Frames + 輪郭線 - 選択フレーム + + + Boundaries on Whole Level + 輪郭線 - 全てのレベル + + + Butt cap + バット線端 + + + Projecting cap + 突出線端 + + + Miter join + マイター結合 + + + Round join + ラウンド結合 + + + Bevel join + ベベル結合 + + + Round cap + 丸型線端 + VectorTapeTool @@ -1089,5 +1465,25 @@ moved to the end of the first page of the palette. Type: タイプ: + + Endpoint to Endpoint + 端点から端点 + + + Endpoint to Line + 端点から線 + + + Line to Line + 線から線 + + + Normal + 通常 + + + Rectangular + 長方形 + diff --git a/toonz/sources/translations/korean/tnztools.ts b/toonz/sources/translations/korean/tnztools.ts index edd5f5e..014db33 100644 --- a/toonz/sources/translations/korean/tnztools.ts +++ b/toonz/sources/translations/korean/tnztools.ts @@ -4,86 +4,86 @@ ArrowToolOptionsBox - + Z: - + Position: - - + + E/W: - - + + N/S: - + SO: - + Rotation: - + Global: - - + + H: - - + + V: - + ( - + ) - + Scale - + Maintain: - + Shear - + Center Position - + Pick: @@ -91,91 +91,166 @@ BrushTool - - + + Size - + Hardness: - + Accuracy: - + Smooth: - + Selective - + Preset: - + + <custom> + + + + Break - + Pencil - + Pressure - + Cap - + Join - + Miter: - + Range: - + Snap + + + Off + + + + + Linear + + + + + In + + + + + Out + + + + + In&Out + + + + + Low + + + + + Med + + + + + High + + + + + Butt cap + + + + + Round cap + + + + + Projecting cap + + + + + Miter join + + + + + Round join + + + + + Bevel join + + BrushToolOptionsBox - + Preset Name - + OK - + Cancel @@ -183,7 +258,7 @@ ControlPointEditorTool - + Auto Select Drawing @@ -210,109 +285,152 @@ - Auto Select Column + + None - Global Key + A/R + Mass + + + + + Auto Select Column + + + + + Column + + + + + Pegbar + + + + + Global Key + + + + Lock Center E/W - + Lock Center N/S - + Lock Position E/W - + Lock Position N/S - + Lock Rotation - + Lock Shear H - + Lock Shear V - + Lock Scale H - + Lock Scale V - + Lock Global Scale - + E/W and N/S Positions - + Z Position - + SO - + + Rotation - + Global Scale - + Horizontal and Vertical Scale - + + Shear - + Center Position - + Active Axis + + + Position + + + + + Scale + + + + + Center + + EraserTool @@ -324,40 +442,79 @@ - + Selective - + Invert - + Frame Range - + Type: + + + Normal + + + + + + Rectangular + + + + + + Freehand + + + + + + Polyline + + + Hardness: - + Mode: - + + Lines + + + + + Areas + + + + + Lines & Areas + + + + Pencil Mode @@ -365,26 +522,61 @@ FillTool - + Frame Range - + Type: - + + Normal + + + + + Rectangular + + + + + Freehand + + + + + Polyline + + + + Selective - + Mode: + + Lines + + + + + Areas + + + + + Lines & Areas + + + Onion Skin @@ -400,7 +592,7 @@ - + Autopaint Lines @@ -476,17 +668,37 @@ - + Type: - + + Normal + + + + + Rectangular + + + + + Freehand + + + + + Polyline + + + + Invert - + Frame Range @@ -510,16 +722,31 @@ PaintBrushTool - + Size: - + Mode: + + Lines + + + + + Areas + + + + + Lines & Areas + + + Selective @@ -591,124 +818,124 @@ - + Mode: - + Edit Mesh - + Paint Rigid - + Build Skeleton - + Animate - + Vertex Name: - + Allow Stretching - + Snap To Mesh - + Thickness - + Rigid - + Flex - + Global Key - + Keep Distance - + Angle Bounds - + A group of skeletons already exists for current column. Replacing it will also substitute any existing vertex animation. Do you want to continue? - + Ok - + Cancel - + Copy Skeleton - + Paste Skeleton - + Show Mesh - + Show Rigidity - + Show SO - + Show Skeleton Onion Skin - + The previous vertex name will be discarded, and all associated keys will be lost. Do you want to proceed? @@ -718,27 +945,27 @@ Do you want to proceed? PlasticToolOptionsBox - + Create Mesh - + Skeleton: - + Distance - + Angle - + SO @@ -746,75 +973,155 @@ Do you want to proceed? PrimitiveParam - + Shape: + + Rectangle + + + - Size: + Circle - Thickness: + Ellipse - Opacity: + Line - Hardness: + Polyline - Polygon Sides: + Arc + Polygon + + + + + Size: + + + + + Thickness: + + + + + Opacity: + + + + + Hardness: + + + + + Polygon Sides: + + + + Auto Group - + Auto Fill - + Selective - + Pencil Mode - + Cap - + + Butt cap + + + + + Round cap + + + + + Projecting cap + + + + Join - + + Miter join + + + + + Round join + + + + + Bevel join + + + + Miter: - + Snap + + + Low + + + + + Med + + + + + High + + PumpTool @@ -844,14 +1151,14 @@ Do you want to proceed? - - + + Min: - - + + Max: @@ -861,22 +1168,22 @@ Do you want to proceed? - + Move Center - + RGB Picker (R%1, G%2, B%3) - + Ok - + Cancel @@ -896,14 +1203,14 @@ Do you want to proceed? - - + + Yes - - + + No @@ -918,68 +1225,73 @@ Do you want to proceed? - + + The current column is hidden. + + + + It is not possible to edit the audio column. - - It is not possible to edit the Magpie column. + + Note columns can only be edited in the xsheet or timeline. - + The current tool cannot be used on a Level column. - + The current tool cannot be used on a Mesh column. - + The current tool cannot be used in Level Strip mode. - + The current tool cannot be used to edit a motion path. - - + + The current level is not editable. - + The current tool cannot be used on a Vector Level. - + The current tool cannot be used on a Toonz Level. - + The current tool cannot be used on a Raster Level. - + The current tool cannot be used on a Mesh Level. - + The current tool cannot be used on a mesh-deformed level - + The current frame is locked: any editing is forbidden. @@ -1013,12 +1325,32 @@ Do you want to proceed? RGBPickerTool - + Type: + + Normal + + + + + Rectangular + + + + Freehand + + + + + Polyline + + + + Passive Pick @@ -1026,7 +1358,7 @@ Do you want to proceed? RGBPickerToolOptionsBox - + Pick Screen @@ -1053,26 +1385,46 @@ Do you want to proceed? - Distance: + Normal - Style Index: + Rectangular - Opacity: + Freehand + Polyline + + + + + Distance: + + + + + Style Index: + + + + + Opacity: + + + + Frame Range - + Angle: @@ -1080,45 +1432,60 @@ Do you want to proceed? SelectionTool - + Type: + + + Rectangular + + + + + Freehand + + + + + Polyline + + SelectionToolOptionsBox - + H: - + V: - + Link - + Rotation - + E/W: - + N/S: - + Thickness @@ -1141,7 +1508,22 @@ Do you want to proceed? - + + Build Skeleton + + + + + Animate + + + + + Inverse Kinematics + + + + Reset Pinned Center @@ -1170,11 +1552,26 @@ Do you want to proceed? - Passive Pick + Lines + Areas + + + + + Lines & Areas + + + + + Passive Pick + + + + Organize Palette @@ -1182,7 +1579,7 @@ Do you want to proceed? StylePickerToolOptionsBox - + With this option being activated, the picked style will be moved to the end of the first page of the palette. @@ -1191,22 +1588,22 @@ moved to the end of the first page of the palette. TrackerTool - + Width: - + Height: - + X: - + Y: @@ -1214,22 +1611,22 @@ moved to the end of the first page of the palette. TypeTool - + Font: - + Style: - + Vertical Orientation - + Size: @@ -1237,27 +1634,102 @@ moved to the end of the first page of the palette. VectorSelectionTool - + Mode: - + + Standard + + + + + Selected Frames + + + + + Whole Level + + + + + Same Style + + + + + Same Style on Selected Frames + + + + + Same Style on Whole Level + + + + + Boundary Strokes + + + + + Boundaries on Selected Frames + + + + + Boundaries on Whole Level + + + + Preserve Thickness - + Cap - + + Butt cap + + + + + Round cap + + + + + Projecting cap + + + + Join - + + Miter join + + + + + Round join + + + + + Bevel join + + + + Miter: @@ -1280,14 +1752,39 @@ moved to the end of the first page of the palette. - + Mode: - + + Endpoint to Endpoint + + + + + Endpoint to Line + + + + + Line to Line + + + + Type: + + + Normal + + + + + Rectangular + + diff --git a/toonz/sources/translations/russian/tnztools.ts b/toonz/sources/translations/russian/tnztools.ts index df1931b..46a1fdb 100644 --- a/toonz/sources/translations/russian/tnztools.ts +++ b/toonz/sources/translations/russian/tnztools.ts @@ -4,21 +4,21 @@ ArrowToolOptionsBox - - + + E/W: запад/восток E/W: - - + + N/S: север/юг N/S: - + SO: порядок размещения: Порядок: @@ -28,18 +28,18 @@ Положение - + Z: глубина Z: - + ( ( - + ) ) @@ -48,56 +48,56 @@ Вращение - + Scale Масштаб - + Global: Глобальный: - + Position: - + Rotation: - - + + H: горизонтально H: - - + + V: вертикально V: - + Maintain: Поддерживать: - + Shear Скос - + Center Position Центральное положение - + Pick: Выбрать: @@ -105,91 +105,166 @@ BrushTool - - + + Size Размер - + Hardness: Жесткость: - + Accuracy: Точность: - + Smooth: Плавность: - + Selective Избирательно - + Preset: Предустановка: - + + <custom> + + + + Break Разрыв - + Pencil Карандаш - + Pressure Нажим - + Cap Конец - + Join Соединение - + Miter: Скос: - + Range: - + Snap Привязка + + + Off + + + + + Linear + + + + + In + + + + + Out + + + + + In&Out + + + + + Low + + + + + Med + + + + + High + + + + + Butt cap + + + + + Round cap + + + + + Projecting cap + + + + + Miter join + + + + + Round join + + + + + Bevel join + + BrushToolOptionsBox - + Preset Name Имя предустановки - + OK OK - + Cancel Отмена @@ -197,7 +272,7 @@ ControlPointEditorTool - + Auto Select Drawing Автовыбор рисунка @@ -224,110 +299,153 @@ + + None + + + + + A/R + + + + + Mass + + + + Auto Select Column Автовыбор столбца - + + Column + + + + + Pegbar + + + + Global Key Глобальный ключ - + Lock Center E/W Блокировать центр E/W - + Lock Center N/S Блокировать центр N/S - + Lock Position E/W Блокировать положение E/W - + Lock Position N/S Блокировать положение N/S - + Lock Rotation Блокировать вращение - + Lock Shear H Болкировать сдвиг H - + Lock Shear V Болкировать сдвиг V - + Lock Scale H Болкировать масштаб H - + Lock Scale V Болкировать масштаб V - + Lock Global Scale Болкировать глобальный масштаб - + E/W and N/S Positions E/W и N/S положение - + Z Position Z положение - + SO порядок размещения Порядок - + + Rotation Вращение - + Global Scale Глобальный масштаб - + Horizontal and Vertical Scale Горизонтальное и вертикальное масштабирование - + + Shear Скос - + Center Position Центральное положение - + Active Axis Активная ось + + + Position + Положение + + + + Scale + Масштаб + + + + Center + + EraserTool @@ -339,40 +457,79 @@ - + Selective Избирательно - + Invert Инвертировать - + Frame Range Диапазон кадров - + Type: Тип: + + + Normal + + + + + + Rectangular + + + + + + Freehand + + + + + + Polyline + + + Hardness: Жесткость: - + Mode: Режим: - + + Lines + + + + + Areas + + + + + Lines & Areas + + + + Pencil Mode Режим карандаша @@ -380,26 +537,61 @@ FillTool - + Frame Range Диапазон кадров - + Type: Тип: - + + Normal + + + + + Rectangular + + + + + Freehand + + + + + Polyline + + + + Selective Избирательно - + Mode: Режим: + + Lines + + + + + Areas + + + + + Lines & Areas + + + Onion Skin Калька @@ -415,7 +607,7 @@ Сегмент - + Autopaint Lines @@ -491,17 +683,37 @@ Жесткость: - + Type: Тип: - + + Normal + + + + + Rectangular + + + + + Freehand + + + + + Polyline + + + + Invert Обратить - + Frame Range Диапазон кадров @@ -525,16 +737,31 @@ PaintBrushTool - + Size: Размер: - + Mode: Режим: + + Lines + + + + + Areas + + + + + Lines & Areas + + + Selective Избирательно @@ -606,77 +833,77 @@ Установить глобальный ключ покоя - + Mode: Режим: - + Edit Mesh Редактировать полисетку - + Paint Rigid Покрасить жесткость - + Build Skeleton Создать скелет - + Animate Анимировать - + Vertex Name: Имя вершины: - + Allow Stretching Разрешить растягивание - + Snap To Mesh Привязка к полисетке - + Thickness Толщина - + Rigid Жесткий - + Flex Гибкий - + Global Key Глобальный ключ - + Keep Distance Держать расстояние - + Angle Bounds Угол привязки - + A group of skeletons already exists for current column. Replacing it will also substitute any existing vertex animation. Do you want to continue? @@ -685,48 +912,48 @@ Do you want to continue? Вы хотите продолжить? - + Ok OK - + Cancel Отмена - + Copy Skeleton Копировать скелет - + Paste Skeleton Вставить скелет - + Show Mesh Показать полисетку - + Show Rigidity Показать жесткость - + Show SO SO - порядок перекрытия Показать порядок - + Show Skeleton Onion Skin Показать кальку скелета - + The previous vertex name will be discarded, and all associated keys will be lost. Do you want to proceed? @@ -738,27 +965,27 @@ Do you want to proceed? PlasticToolOptionsBox - + Create Mesh Создать полисетку - + Skeleton: Скелет: - + Distance Расстояние - + Angle Угол - + SO порядок перекрытия Порядок @@ -767,75 +994,155 @@ Do you want to proceed? PrimitiveParam - + Shape: Фигура: + + Rectangle + + + + Circle + + + + + Ellipse + + + + + Line + + + + + Polyline + + + + + Arc + + + + + Polygon + + + + Size: Размер: - + Thickness: Толщина: - + Opacity: Непрозрачность: - + Hardness: Жесткость: - + Polygon Sides: Сторон многоугольника: - + Auto Group Автогруппировать - + Auto Fill Автозаливка - + Selective Избирательно - + Pencil Mode Режим карандаша - + Cap Конец - + + Butt cap + + + + + Round cap + + + + + Projecting cap + + + + Join Соединение - + + Miter join + + + + + Round join + + + + + Bevel join + + + + Miter: Скос: - + Snap Привязка + + + Low + + + + + Med + + + + + High + + PumpTool @@ -865,14 +1172,14 @@ Do you want to proceed? Вставить - - + + Min: Мин: - - + + Max: Макс: @@ -882,22 +1189,22 @@ Do you want to proceed? Задать окно сохранения : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) - + Move Center Переместить Центр - + RGB Picker (R%1, G%2, B%3) RGB Пипетка (R%1, G%2, B%3) - + Ok ОК - + Cancel Отмена @@ -917,14 +1224,14 @@ Do you want to proceed? Переместить группу - - + + Yes Да - - + + No Нет @@ -939,68 +1246,77 @@ Do you want to proceed? Текущий столбец на замке. - + + The current column is hidden. + + + + It is not possible to edit the audio column. Невозможно редактировать столбец аудио. - It is not possible to edit the Magpie column. - Редактировать столбец Magpie невозможно. + Редактировать столбец Magpie невозможно. + + + + Note columns can only be edited in the xsheet or timeline. + - + The current tool cannot be used on a Level column. Текущий инструмент нельзя использовать в столбце уровня. - + The current tool cannot be used on a Mesh column. Текущий инструмент нельзя использовать в столбце полисетки. - + The current tool cannot be used in Level Strip mode. Текущий инструмент нельзя использовать в режиме "Полоса уровней". - + The current tool cannot be used to edit a motion path. Текущий инструмент не может использоваться для редактирования траектории. - - + + The current level is not editable. Текущий уровень не редактируется. - + The current tool cannot be used on a Vector Level. Текущий инструмент нельзя использовать в векторном уровне. - + The current tool cannot be used on a Toonz Level. Текущий инструмент нельзя использовать в Toonz уровне. - + The current tool cannot be used on a Raster Level. Текущий инструмент нельзя использовать в растровом уровне. - + The current tool cannot be used on a Mesh Level. Текущий инструмент нельзя использовать в уровне полисетки. - + The current tool cannot be used on a mesh-deformed level Текущий инструмент нельзя использовать в уровне деформации полисетки - + The current frame is locked: any editing is forbidden. Текущий кадр заблокирован: любое редактирование запрещено. @@ -1034,12 +1350,32 @@ Do you want to proceed? RGBPickerTool - + Type: Тип: + + Normal + + + + + Rectangular + + + + Freehand + + + + + Polyline + + + + Passive Pick Пассивный выбор @@ -1047,7 +1383,7 @@ Do you want to proceed? RGBPickerToolOptionsBox - + Pick Screen Экранный выбор @@ -1074,26 +1410,46 @@ Do you want to proceed? + Normal + + + + + Rectangular + + + + + Freehand + + + + + Polyline + + + + Distance: Расстояние: - + Style Index: Номер cтиля: - + Opacity: Непрозрачность: - + Frame Range Диапазон кадров - + Angle: Угол: @@ -1101,45 +1457,60 @@ Do you want to proceed? SelectionTool - + Type: Тип: + + + Rectangular + + + + + Freehand + + + + + Polyline + + SelectionToolOptionsBox - + H: H: - + V: V: - + Link Связать - + Rotation Вращение - + E/W: E/W: - + N/S: N/S: - + Thickness Толщина @@ -1162,7 +1533,22 @@ Do you want to proceed? Режим: - + + Build Skeleton + Создать скелет + + + + Animate + Анимировать + + + + Inverse Kinematics + + + + Reset Pinned Center Сбросить закрепленный центр @@ -1191,11 +1577,26 @@ Do you want to proceed? + Lines + + + + + Areas + + + + + Lines & Areas + + + + Passive Pick Пассивный выбор - + Organize Palette @@ -1203,7 +1604,7 @@ Do you want to proceed? StylePickerToolOptionsBox - + With this option being activated, the picked style will be moved to the end of the first page of the palette. При активации этого параметра, выбранный стиль будет перемещен в конец первой страницы палитры. @@ -1212,22 +1613,22 @@ moved to the end of the first page of the palette. TrackerTool - + Width: Ширина: - + Height: Высота: - + X: X: - + Y: Y: @@ -1235,22 +1636,22 @@ moved to the end of the first page of the palette. TypeTool - + Font: Шрифт: - + Style: Стиль: - + Vertical Orientation Вертикальная ориентация - + Size: Размер: @@ -1258,27 +1659,102 @@ moved to the end of the first page of the palette. VectorSelectionTool - + Mode: Режим: - + + Standard + + + + + Selected Frames + + + + + Whole Level + + + + + Same Style + + + + + Same Style on Selected Frames + + + + + Same Style on Whole Level + + + + + Boundary Strokes + + + + + Boundaries on Selected Frames + + + + + Boundaries on Whole Level + + + + Preserve Thickness Сохранять толщину - + Cap Конец - + + Butt cap + + + + + Round cap + + + + + Projecting cap + + + + Join Соединение - + + Miter join + + + + + Round join + + + + + Bevel join + + + + Miter: Скос: @@ -1301,14 +1777,39 @@ moved to the end of the first page of the palette. Расстояние - + Mode: Режим: - + + Endpoint to Endpoint + + + + + Endpoint to Line + + + + + Line to Line + + + + Type: Тип: + + + Normal + + + + + Rectangular + + diff --git a/toonz/sources/translations/spanish/tnztools.ts b/toonz/sources/translations/spanish/tnztools.ts index 2063fe3..24af0cb 100644 --- a/toonz/sources/translations/spanish/tnztools.ts +++ b/toonz/sources/translations/spanish/tnztools.ts @@ -158,6 +158,66 @@ Snap Adherencia + + <custom> + + + + Off + + + + Linear + + + + In + + + + Out + + + + In&Out + + + + Low + + + + High + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Med + + BrushToolOptionsBox @@ -282,6 +342,38 @@ Active Axis Eje activo + + None + + + + A/R + + + + Mass + + + + Column + + + + Pegbar + + + + Position + Posición + + + Scale + Escala + + + Center + Centro + EraserTool @@ -317,6 +409,34 @@ Pencil Mode Modo lápiz + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + + + Lines + + + + Areas + + + + Lines & Areas + + FillTool @@ -352,6 +472,34 @@ Autopaint Lines Pintar autom. líneas + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + + + Lines + + + + Areas + + + + Lines & Areas + + FingerTool @@ -433,6 +581,22 @@ Frame Range Rango de fotogramas + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + HookTool @@ -462,6 +626,18 @@ Selective Selectivo + + Lines + + + + Areas + + + + Lines & Areas + + PinchTool @@ -702,6 +878,70 @@ Do you want to proceed? Snap Adherir + + Rectangle + + + + Circle + + + + Ellipse + + + + Line + + + + Polyline + + + + Arc + + + + Polygon + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + + + Low + + + + High + + + + Med + + PumpTool @@ -750,7 +990,7 @@ Do you want to proceed? It is not possible to edit the Magpie column. - No es posible editar la columna de Magpie. + No es posible editar la columna de Magpie. The current tool cannot be used on a Level column. @@ -856,6 +1096,14 @@ Do you want to proceed? Set Save Box : (X%1,Y%2,W%3,H%4)->(X%5,Y%6,W%7,H%8) Definir marco delimitador : (X%1,Y%2,An%3,Al%4)->(X%5,Y%6,An%7,Al%8) + + The current column is hidden. + + + + Note columns can only be edited in the xsheet or timeline. + + RGBPickerTool @@ -867,6 +1115,22 @@ Do you want to proceed? Passive Pick Selección pasiva + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + RGBPickerToolOptionsBox @@ -912,6 +1176,22 @@ Do you want to proceed? Angle: Ángulo: + + Normal + + + + Rectangular + + + + Freehand + + + + Polyline + + SelectionTool @@ -919,6 +1199,18 @@ Do you want to proceed? Type: Tipo: + + Rectangular + + + + Freehand + + + + Polyline + + SelectionToolOptionsBox @@ -969,6 +1261,18 @@ Do you want to proceed? Reset Pinned Center Restablecer centro fijado + + Build Skeleton + Crear esqueleto + + + Animate + Animar + + + Inverse Kinematics + + StylePickerTool @@ -996,6 +1300,18 @@ Do you want to proceed? Organize Palette Organizar paleta + + Lines + + + + Areas + + + + Lines & Areas + + StylePickerToolOptionsBox @@ -1066,6 +1382,66 @@ movido hacia el final de la primera página de la paleta. Miter: Inglete: + + Standard + + + + Selected Frames + + + + Whole Level + + + + Same Style + + + + Same Style on Selected Frames + + + + Same Style on Whole Level + + + + Boundary Strokes + + + + Boundaries on Selected Frames + + + + Boundaries on Whole Level + + + + Butt cap + + + + Round cap + + + + Projecting cap + + + + Miter join + + + + Round join + + + + Bevel join + + VectorTapeTool @@ -1089,5 +1465,25 @@ movido hacia el final de la primera página de la paleta. Type: Tipo: + + Endpoint to Endpoint + + + + Endpoint to Line + + + + Line to Line + + + + Normal + + + + Rectangular + +