Browse Source

Merge branch 'dev-lazpaint' into master

circular17 3 years ago
parent
commit
2b2f5e6121
100 changed files with 14643 additions and 6582 deletions
  1. 3 2
      .gitignore
  2. 2 5
      lazpaint.logic
  3. 8 0
      lazpaint/dialog/color/uadjustcurves.lrj
  4. 10 2
      lazpaint/dialog/color/uadjustcurves.pas
  5. 7 0
      lazpaint/dialog/color/ucolorintensity.lrj
  6. 9 0
      lazpaint/dialog/color/ucolorize.lrj
  7. 1 0
      lazpaint/dialog/color/ucolorize.pas
  8. 8 0
      lazpaint/dialog/color/ushiftcolors.lrj
  9. 8 0
      lazpaint/dialog/filter/ucustomblur.lrj
  10. 8 0
      lazpaint/dialog/filter/uemboss.lrj
  11. 21 0
      lazpaint/dialog/filter/ufilterfunction.lrj
  12. 4 0
      lazpaint/dialog/filter/ufilterfunction.pas
  13. 7 0
      lazpaint/dialog/filter/uformrain.lrj
  14. 7 0
      lazpaint/dialog/filter/umotionblur.lrj
  15. 8 0
      lazpaint/dialog/filter/unoisefilter.lrj
  16. 20 0
      lazpaint/dialog/filter/uphongfilter.lrj
  17. 7 0
      lazpaint/dialog/filter/upixelate.lrj
  18. 1 1
      lazpaint/dialog/filter/uposterize.lfm
  19. 7 0
      lazpaint/dialog/filter/uposterize.lrj
  20. 2 2
      lazpaint/dialog/filter/uposterize.pas
  21. 6 0
      lazpaint/dialog/filter/uradialblur.lrj
  22. 6 0
      lazpaint/dialog/filter/usharpen.lrj
  23. 7 0
      lazpaint/dialog/filter/utwirl.lrj
  24. 8 0
      lazpaint/dialog/filter/uwavedisplacement.lrj
  25. 11 0
      lazpaint/dialog/uabout.lrj
  26. 19 0
      lazpaint/dialog/ublendop.lrj
  27. 11 0
      lazpaint/dialog/ubrowseimages.lrj
  28. 3 0
      lazpaint/dialog/ubrowseimages.pas
  29. 9 0
      lazpaint/dialog/ucanvassize.lrj
  30. 13 6
      lazpaint/dialog/uchoosecolorinterface.pas
  31. 7 0
      lazpaint/dialog/ugeometricbrush.lrj
  32. 5 0
      lazpaint/dialog/umultiimage.lrj
  33. 51 19
      lazpaint/dialog/unewimage.lfm
  34. 11 0
      lazpaint/dialog/unewimage.lrj
  35. 29 0
      lazpaint/dialog/uobject3d.lrj
  36. 4 0
      lazpaint/dialog/upreviewdialog.lrj
  37. 19 0
      lazpaint/dialog/uprint.lrj
  38. 5 0
      lazpaint/dialog/uquestion.lrj
  39. 9 0
      lazpaint/dialog/uresample.lrj
  40. 19 0
      lazpaint/dialog/usaveoption.lrj
  41. 181 0
      lazpaint/getfilesindir.inc
  42. 2 1
      lazpaint/image/uimage.pas
  43. 1 0
      lazpaint/image/uimageaction.pas
  44. 1 1
      lazpaint/image/uimagestate.pas
  45. 1 1
      lazpaint/image/ustatetype.pas
  46. 7 3
      lazpaint/lazpaint.lpi
  47. 7 0
      lazpaint/lazpaint.lpr
  48. 3 2
      lazpaint/lazpaintinstance.pas
  49. 1186 4353
      lazpaint/lazpaintmainform.lfm
  50. 320 0
      lazpaint/lazpaintmainform.lrj
  51. 13 5
      lazpaint/lazpaintmainform.pas
  52. 8 1
      lazpaint/maintoolbar.inc
  53. 206 40
      lazpaint/release/bin/i18n/lazpaint.ar.po
  54. 210 37
      lazpaint/release/bin/i18n/lazpaint.bg.po
  55. 215 65
      lazpaint/release/bin/i18n/lazpaint.cs.po
  56. 208 45
      lazpaint/release/bin/i18n/lazpaint.de.po
  57. 212 41
      lazpaint/release/bin/i18n/lazpaint.es.po
  58. 201 40
      lazpaint/release/bin/i18n/lazpaint.fi.po
  59. 208 41
      lazpaint/release/bin/i18n/lazpaint.fr.po
  60. 3745 0
      lazpaint/release/bin/i18n/lazpaint.it.po
  61. 205 41
      lazpaint/release/bin/i18n/lazpaint.ja.po
  62. 214 38
      lazpaint/release/bin/i18n/lazpaint.kab.po
  63. 214 56
      lazpaint/release/bin/i18n/lazpaint.lv.po
  64. 206 43
      lazpaint/release/bin/i18n/lazpaint.nl.po
  65. 216 47
      lazpaint/release/bin/i18n/lazpaint.pl.po
  66. 135 40
      lazpaint/release/bin/i18n/lazpaint.po
  67. 3550 0
      lazpaint/release/bin/i18n/lazpaint.pot
  68. 203 39
      lazpaint/release/bin/i18n/lazpaint.pt_BR.po
  69. 199 33
      lazpaint/release/bin/i18n/lazpaint.ru.po
  70. 228 50
      lazpaint/release/bin/i18n/lazpaint.sv.po
  71. 207 39
      lazpaint/release/bin/i18n/lazpaint.zh_CN.po
  72. 1431 1431
      lazpaint/release/bin/i18n/lclstrconsts.it.po
  73. 1 0
      lazpaint/release/bin/i18n/lcresourcestring.bg.po
  74. 1 0
      lazpaint/release/bin/i18n/lcresourcestring.cs.po
  75. 1 0
      lazpaint/release/bin/i18n/lcresourcestring.kab.po
  76. 1 0
      lazpaint/release/bin/i18n/lcresourcestring.lv.po
  77. 171 0
      lazpaint/release/bin/i18n/lcresourcestring.pot
  78. 1 0
      lazpaint/release/bin/i18n/lcresourcestring.zh_CN.po
  79. 2 0
      lazpaint/tools/utooldeformationgrid.pas
  80. 2 0
      lazpaint/tools/utoollayer.pas
  81. 2 0
      lazpaint/tools/utoolselect.pas
  82. 1 0
      lazpaint/ubrushtype.pas
  83. 3 0
      lazpaint/uchoosecolor.lrj
  84. 3 0
      lazpaint/uclipboard.pas
  85. 9 2
      lazpaint/ucommandline.pas
  86. 8 2
      lazpaint/udarktheme.pas
  87. 7 3
      lazpaint/ufilesystem.pas
  88. 1 0
      lazpaint/uimagebackup.pas
  89. 28 0
      lazpaint/uimagelist.lrj
  90. 3 0
      lazpaint/uimagelist.pas
  91. 1 0
      lazpaint/uimagepreview.pas
  92. 1 1
      lazpaint/uimageview.pas
  93. 3 0
      lazpaint/ulayerstack.lrj
  94. 4 1
      lazpaint/uloadimage.pas
  95. 3 0
      lazpaint/uloading.lrj
  96. 15 2
      lazpaint/umainformlayout.pas
  97. 0 1
      lazpaint/umenu.pas
  98. 3 0
      lazpaint/umyslv.pas
  99. 1 0
      lazpaint/uprocessauto.pas
  100. 24 0
      lazpaint/upython.pas

+ 3 - 2
.gitignore

@@ -8,9 +8,7 @@ debug
 __pycache__
 *.res
 *.lrt
-/lazpaint/*.lrj
 lazpaint/backup/
-*.lrj
 vectoredit/vectoredit
 vectoredit/backup/
 lazpaint/test_embedded/backup/
@@ -35,3 +33,6 @@ lazpaint/units/
 
 *.deb
 lazpaint/release/debian/lazpaint*_no_install.tar.gz
+/web/public/*
+
+lazpaint/tablet/backup/

+ 2 - 5
lazpaint.logic

@@ -7,9 +7,6 @@ text release/debian/debian/control "Version: $(Version)"
 text release/macOS/makedmg.sh "appversion=$(Version)"
 bundle release/macOS/LazPaint.app
 copy ../resources/icon/lazpaint.icns release/macOS/LazPaint.app/Contents/Resources/lazpaint.icns
-if exists ../../lazpaint.github.io/app.js
-  text ../../lazpaint.github.io/app.js "    var version = '$(Version)'"
-else
-  echo "WEBSITE FOLDER NOT FOUND, UPDATE MANUALLY app.js"
-end
+text ../web/config.toml "  version = ""$(Version)"""
+echo ">> DON'T FORGET TO UPDATE WEBSITE"
 echo ">> DON'T FORGET TO ADD VERSION IN release/debian/changelog <<"

+ 8 - 0
lazpaint/dialog/color/uadjustcurves.lrj

@@ -0,0 +1,8 @@
+{"version":1,"strings":[
+{"hash":18700003,"name":"tfadjustcurves.caption","sourcebytes":[65,100,106,117,115,116,32,99,117,114,118,101,115],"value":"Adjust curves"},
+{"hash":26714085,"name":"tfadjustcurves.toolbutton_newcurve.hint","sourcebytes":[68,105,115,99,97,114,100,32,99,117,114,114,101,110,116,32,99,117,114,118,101,32,97,110,100,32,115,116,97,114,116,32,97,32,110,101,119,32,111,110,101],"value":"Discard current curve and start a new one"},
+{"hash":1994857,"name":"tfadjustcurves.toolbutton_removepoint.hint","sourcebytes":[82,101,109,111,118,101,32,115,101,108,101,99,116,101,100,32,112,111,105,110,116,32,40,68,101,108,41],"value":"Remove selected point (Del)"},
+{"hash":179103845,"name":"tfadjustcurves.toolbutton_posterize.hint","sourcebytes":[80,111,115,116,101,114,105,122,101],"value":"Posterize"},
+{"hash":77089212,"name":"tfadjustcurves.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":1339,"name":"tfadjustcurves.button_ok.caption","sourcebytes":[79,75],"value":"OK"}
+]}

+ 10 - 2
lazpaint/dialog/color/uadjustcurves.pas

@@ -202,7 +202,9 @@ begin
   begin
     pointList := curve.GetVariable('Points');
     pointCount := curve.GetListCount(pointList);
+    symbols := nil;
     setlength(symbols, pointCount);
+    symbolsColor := nil;
     setlength(symbolsColor, pointCount);
     for i := 0 to pointCount-1 do
     begin
@@ -212,6 +214,7 @@ begin
     end;
     if curve.Booleans['Posterize'] then
     begin
+      pts := nil;
       setlength(pts, pointCount*2);
       for i := 0 to pointCount-2 do
       begin
@@ -403,8 +406,12 @@ begin
   Y := round(Y*FScaling);
   if FMovingPoint then
   begin
-    SetPointCoord(FSelectedPoint, BitmapToCoord(X,Y));
-    vsChart.DiscardBitmap;
+    if not (ssLeft in Shift) then FMovingPoint := false
+    else
+    begin
+      SetPointCoord(FSelectedPoint, BitmapToCoord(X,Y));
+      vsChart.DiscardBitmap;
+    end;
   end;
 end;
 
@@ -525,6 +532,7 @@ begin
   FSelectedPoint:= -1;
   if HueTabSelected then
   begin
+    labels := nil;
     setlength(labels, 7);
     labels[0] := '0';
     labels[1] := '60';

+ 7 - 0
lazpaint/dialog/color/ucolorintensity.lrj

@@ -0,0 +1,7 @@
+{"version":1,"strings":[
+{"hash":180736233,"name":"tfcolorintensity.caption","sourcebytes":[73,110,116,101,110,115,105,116,121],"value":"Intensity"},
+{"hash":205194361,"name":"tfcolorintensity.label_multiply.caption","sourcebytes":[77,117,108,116,105,112,108,121],"value":"Multiply"},
+{"hash":5894100,"name":"tfcolorintensity.label_shift.caption","sourcebytes":[83,104,105,102,116],"value":"Shift"},
+{"hash":1339,"name":"tfcolorintensity.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfcolorintensity.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 9 - 0
lazpaint/dialog/color/ucolorize.lrj

@@ -0,0 +1,9 @@
+{"version":1,"strings":[
+{"hash":104240549,"name":"tfcolorize.caption","sourcebytes":[67,111,108,111,114,105,122,101],"value":"Colorize"},
+{"hash":20405,"name":"tfcolorize.label_hue.caption","sourcebytes":[72,117,101],"value":"Hue"},
+{"hash":57214659,"name":"tfcolorize.label_colorness.caption","sourcebytes":[67,111,108,111,114,110,101,115,115],"value":"Colorness"},
+{"hash":1339,"name":"tfcolorize.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfcolorize.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":72944099,"name":"tfcolorize.checkbox_gsba.caption","sourcebytes":[67,111,114,114,101,99,116,101,100,32,104,117,101,32,97,110,100,32,108,105,103,104,116,110,101,115,115],"value":"Corrected hue and lightness"},
+{"hash":91802052,"name":"tfcolorize.label_preset.caption","sourcebytes":[80,114,101,115,101,116],"value":"Preset"}
+]}

+ 1 - 0
lazpaint/dialog/color/ucolorize.pas

@@ -97,6 +97,7 @@ end;
 
 procedure TFColorize.Button_OKClick(Sender: TObject);
 begin
+  if FFilterConnector.ActionDone then exit;
   ApplyChosenColor;
   FFilterConnector.ValidateAction;
   FFilterConnector.Parameters.Floats['Hue'] := ChosenHueDegF;

+ 8 - 0
lazpaint/dialog/color/ushiftcolors.lrj

@@ -0,0 +1,8 @@
+{"version":1,"strings":[
+{"hash":52227059,"name":"tfshiftcolors.caption","sourcebytes":[83,104,105,102,116,32,99,111,108,111,114,115],"value":"Shift colors"},
+{"hash":20405,"name":"tfshiftcolors.label1.caption","sourcebytes":[72,117,101],"value":"Hue"},
+{"hash":210581742,"name":"tfshiftcolors.label2.caption","sourcebytes":[83,97,116,117,114,97,116,105,111,110],"value":"Saturation"},
+{"hash":1339,"name":"tfshiftcolors.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfshiftcolors.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":72944099,"name":"tfshiftcolors.checkbox_gsba.caption","sourcebytes":[67,111,114,114,101,99,116,101,100,32,104,117,101,32,97,110,100,32,108,105,103,104,116,110,101,115,115],"value":"Corrected hue and lightness"}
+]}

+ 8 - 0
lazpaint/dialog/filter/ucustomblur.lrj

@@ -0,0 +1,8 @@
+{"version":1,"strings":[
+{"hash":96229746,"name":"tfcustomblur.caption","sourcebytes":[67,117,115,116,111,109,32,98,108,117,114],"value":"Custom blur"},
+{"hash":1339,"name":"tfcustomblur.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfcustomblur.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":113031038,"name":"tfcustomblur.button_loadmask.caption","sourcebytes":[76,111,97,100,32,109,97,115,107,46,46,46],"value":"Load mask..."},
+{"hash":120776574,"name":"tfcustomblur.button_editmask.caption","sourcebytes":[69,100,105,116,32,109,97,115,107,46,46,46],"value":"Edit mask..."},
+{"hash":210391541,"name":"tfcustomblur.openpicturedialog1.title","sourcebytes":[79,112,101,110,32,103,114,97,121,115,99,97,108,101,32,102,105,108,101],"value":"Open grayscale file"}
+]}

+ 8 - 0
lazpaint/dialog/filter/uemboss.lrj

@@ -0,0 +1,8 @@
+{"version":1,"strings":[
+{"hash":79926947,"name":"tfemboss.caption","sourcebytes":[69,109,98,111,115,115],"value":"Emboss"},
+{"hash":182806666,"name":"tfemboss.label_direction.caption","sourcebytes":[68,105,114,101,99,116,105,111,110,32,58],"value":"Direction :"},
+{"hash":171115524,"name":"tfemboss.checkbox_transparent.caption","sourcebytes":[84,114,97,110,115,112,97,114,101,110,116],"value":"Transparent"},
+{"hash":169540963,"name":"tfemboss.checkbox_preservecolors.caption","sourcebytes":[80,114,101,115,101,114,118,101,32,99,111,108,111,114,115],"value":"Preserve colors"},
+{"hash":1339,"name":"tfemboss.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfemboss.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 21 - 0
lazpaint/dialog/filter/ufilterfunction.lrj

@@ -0,0 +1,21 @@
+{"version":1,"strings":[
+{"hash":221847054,"name":"tffilterfunction.caption","sourcebytes":[65,112,112,108,121,32,102,117,110,99,116,105,111,110],"value":"Apply function"},
+{"hash":1339,"name":"tffilterfunction.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tffilterfunction.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":46,"name":"tffilterfunction.label_alphaequals.caption","sourcebytes":[46],"value":"."},
+{"hash":22194,"name":"tffilterfunction.tabsheet_rgb.caption","sourcebytes":[82,71,66],"value":"RGB"},
+{"hash":193524366,"name":"tffilterfunction.checkbox_gamma.caption","sourcebytes":[71,97,109,109,97,32,99,111,114,114,101,99,116,105,111,110],"value":"Gamma correction"},
+{"hash":46,"name":"tffilterfunction.label_redequals.caption","sourcebytes":[46],"value":"."},
+{"hash":46,"name":"tffilterfunction.label_greenequals.caption","sourcebytes":[46],"value":"."},
+{"hash":46,"name":"tffilterfunction.label_blueequals.caption","sourcebytes":[46],"value":"."},
+{"hash":19836,"name":"tffilterfunction.tabsheet_hsl.caption","sourcebytes":[72,83,76],"value":"HSL"},
+{"hash":72944099,"name":"tffilterfunction.checkbox_gsba.caption","sourcebytes":[67,111,114,114,101,99,116,101,100,32,104,117,101,32,97,110,100,32,108,105,103,104,116,110,101,115,115],"value":"Corrected hue and lightness"},
+{"hash":46,"name":"tffilterfunction.label_hueequals.caption","sourcebytes":[46],"value":"."},
+{"hash":46,"name":"tffilterfunction.label_saturationequals.caption","sourcebytes":[46],"value":"."},
+{"hash":46,"name":"tffilterfunction.label_lightnessequals.caption","sourcebytes":[46],"value":"."},
+{"hash":21106,"name":"tffilterfunction.tabsheet_lab.caption","sourcebytes":[76,97,98],"value":"Lab"},
+{"hash":46,"name":"tffilterfunction.label_lequals.caption","sourcebytes":[46],"value":"."},
+{"hash":46,"name":"tffilterfunction.label_aequals.caption","sourcebytes":[46],"value":"."},
+{"hash":46,"name":"tffilterfunction.label_bequals.caption","sourcebytes":[46],"value":"."},
+{"hash":133057994,"name":"tffilterfunction.label_variables.caption","sourcebytes":[86,97,114,105,97,98,108,101,115,32,58],"value":"Variables :"}
+]}

+ 4 - 0
lazpaint/dialog/filter/ufilterfunction.pas

@@ -735,12 +735,16 @@ begin
     AExpr.Expression := ReplaceStats(Trim(AEdit.Text));
     AEdit.Color := clWindow;
     AEdit.Font.Color := clWindowText;
+    AEdit.Hint := '';
+    AEdit.ShowHint:= false;
     AError:= length(AExpr.Expression) = 0;
   except
     on ex:exception do
     begin
       AEdit.Color := clRed;
       AEdit.Font.Color := clWhite;
+      AEdit.Hint := ex.Message;
+      AEdit.ShowHint:= true;
       AError:= true;
     end;
   end;

+ 7 - 0
lazpaint/dialog/filter/uformrain.lrj

@@ -0,0 +1,7 @@
+{"version":1,"strings":[
+{"hash":362494,"name":"tfrain.caption","sourcebytes":[82,97,105,110],"value":"Rain"},
+{"hash":98584122,"name":"tfrain.label_wind.caption","sourcebytes":[87,105,110,100,32,58],"value":"Wind :"},
+{"hash":140202874,"name":"tfrain.label_quantity.caption","sourcebytes":[81,117,97,110,116,105,116,121,58],"value":"Quantity:"},
+{"hash":1339,"name":"tfrain.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfrain.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 7 - 0
lazpaint/dialog/filter/umotionblur.lrj

@@ -0,0 +1,7 @@
+{"version":1,"strings":[
+{"hash":106100930,"name":"tfmotionblur.caption","sourcebytes":[77,111,116,105,111,110,32,98,108,117,114],"value":"Motion blur"},
+{"hash":176170906,"name":"tfmotionblur.label_distance.caption","sourcebytes":[68,105,115,116,97,110,99,101,32,58],"value":"Distance :"},
+{"hash":150757332,"name":"tfmotionblur.checkbox_oriented.caption","sourcebytes":[79,114,105,101,110,116,101,100],"value":"Oriented"},
+{"hash":1339,"name":"tfmotionblur.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfmotionblur.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 8 - 0
lazpaint/dialog/filter/unoisefilter.lrj

@@ -0,0 +1,8 @@
+{"version":1,"strings":[
+{"hash":60437426,"name":"tfnoisefilter.caption","sourcebytes":[78,111,105,115,101,32,102,105,108,116,101,114],"value":"Noise filter"},
+{"hash":243178037,"name":"tfnoisefilter.radio_grayscalenoise.caption","sourcebytes":[71,114,97,121,115,99,97,108,101,32,110,111,105,115,101],"value":"Grayscale noise"},
+{"hash":74782245,"name":"tfnoisefilter.radio_rgbnoise.caption","sourcebytes":[82,71,66,32,110,111,105,115,101],"value":"RGB noise"},
+{"hash":108662442,"name":"tfnoisefilter.label_opacity.caption","sourcebytes":[79,112,97,99,105,116,121,58],"value":"Opacity:"},
+{"hash":1339,"name":"tfnoisefilter.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfnoisefilter.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 20 - 0
lazpaint/dialog/filter/uphongfilter.lrj

@@ -0,0 +1,20 @@
+{"version":1,"strings":[
+{"hash":179572208,"name":"tfphongfilter.caption","sourcebytes":[83,104,97,100,101,100,32,109,97,112],"value":"Shaded map"},
+{"hash":1339,"name":"tfphongfilter.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfphongfilter.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":118747402,"name":"tfphongfilter.label_altitude.caption","sourcebytes":[71,108,111,98,97,108,32,97,108,116,105,116,117,100,101,32,58],"value":"Global altitude :"},
+{"hash":4875106,"name":"tfphongfilter.groupbox_color.caption","sourcebytes":[67,111,108,111,114],"value":"Color"},
+{"hash":6952354,"name":"tfphongfilter.radio_usepencolor.caption","sourcebytes":[80,101,110,32,99,111,108,111,114],"value":"Pen color"},
+{"hash":225371890,"name":"tfphongfilter.radio_usebackcolor.caption","sourcebytes":[66,97,99,107,32,99,111,108,111,114],"value":"Back color"},
+{"hash":54763573,"name":"tfphongfilter.radio_usetexture.caption","sourcebytes":[67,117,114,114,101,110,116,32,116,101,120,116,117,114,101],"value":"Current texture"},
+{"hash":334784,"name":"tfphongfilter.radio_usekeep.caption","sourcebytes":[75,101,101,112],"value":"Keep"},
+{"hash":265165162,"name":"tfphongfilter.label_lightposition.caption","sourcebytes":[76,105,103,104,116,32,112,111,115,105,116,105,111,110,32,58],"value":"Light position :"},
+{"hash":254075696,"name":"tfphongfilter.groupbox_color1.caption","sourcebytes":[65,108,116,105,116,117,100,101,32,109,97,112],"value":"Altitude map"},
+{"hash":4732641,"name":"tfphongfilter.radio_mapalpha.caption","sourcebytes":[65,108,112,104,97],"value":"Alpha"},
+{"hash":210581742,"name":"tfphongfilter.radio_mapsaturation.caption","sourcebytes":[83,97,116,117,114,97,116,105,111,110],"value":"Saturation"},
+{"hash":82,"name":"tfphongfilter.radio_mapred.caption","sourcebytes":[82],"value":"R"},
+{"hash":234561107,"name":"tfphongfilter.radio_maplightness.caption","sourcebytes":[76,105,103,104,116,110,101,115,115],"value":"Lightness"},
+{"hash":71,"name":"tfphongfilter.radio_mapgreen.caption","sourcebytes":[71],"value":"G"},
+{"hash":66,"name":"tfphongfilter.radio_mapblue.caption","sourcebytes":[66],"value":"B"},
+{"hash":108801555,"name":"tfphongfilter.radio_maplinearlightness.caption","sourcebytes":[76,105,110,101,97,114,32,108,105,103,104,116,110,101,115,115],"value":"Linear lightness"}
+]}

+ 7 - 0
lazpaint/dialog/filter/upixelate.lrj

@@ -0,0 +1,7 @@
+{"version":1,"strings":[
+{"hash":15478229,"name":"tfpixelate.caption","sourcebytes":[80,105,120,101,108,97,116,101],"value":"Pixelate"},
+{"hash":49409242,"name":"tfpixelate.label_pixelsize.caption","sourcebytes":[80,105,120,101,108,32,115,105,122,101,32,58],"value":"Pixel size :"},
+{"hash":137421706,"name":"tfpixelate.label_quality.caption","sourcebytes":[81,117,97,108,105,116,121,32,58],"value":"Quality :"},
+{"hash":1339,"name":"tfpixelate.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfpixelate.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 1 - 1
lazpaint/dialog/filter/uposterize.lfm

@@ -46,7 +46,7 @@ object FPosterize: TFPosterize
       Top = 0
       Width = 65
       Constraints.MinWidth = 65
-      MaxValue = 16
+      MaxValue = 32
       MinValue = 2
       OnChange = SpinEdit_LevelsChange
       TabOrder = 0

+ 7 - 0
lazpaint/dialog/filter/uposterize.lrj

@@ -0,0 +1,7 @@
+{"version":1,"strings":[
+{"hash":179103845,"name":"tfposterize.caption","sourcebytes":[80,111,115,116,101,114,105,122,101],"value":"Posterize"},
+{"hash":214708250,"name":"tfposterize.label_levels.caption","sourcebytes":[76,101,118,101,108,115,32,58],"value":"Levels :"},
+{"hash":157433427,"name":"tfposterize.checkbox_bylightness.caption","sourcebytes":[66,121,32,108,105,103,104,116,110,101,115,115],"value":"By lightness"},
+{"hash":1339,"name":"tfposterize.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfposterize.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 2 - 2
lazpaint/dialog/filter/uposterize.pas

@@ -41,7 +41,7 @@ function ShowPosterizeDlg(AInstance: TLazPaintCustomInstance; AParameters: TVari
 
 implementation
 
-uses BGRABitmapTypes, LCScaleDPI, UMac, UColorFilters;
+uses BGRABitmapTypes, LCScaleDPI, UMac, UColorFilters, math;
 
 function ShowPosterizeDlg(AInstance: TLazPaintCustomInstance; AParameters: TVariableSet): TScriptResult;
 var FPosterize: TFPosterize;
@@ -158,7 +158,7 @@ var params:TVariableSet;
   end;
 
 begin
-  levels := SpinEdit_Levels.Value;
+  levels := min(SpinEdit_Levels.Value, SpinEdit_Levels.MaxValue);
   params := TVariableSet.Create('');
   if CheckBox_ByLightness.Checked then
     AddPosterize('Lightness') else

+ 6 - 0
lazpaint/dialog/filter/uradialblur.lrj

@@ -0,0 +1,6 @@
+{"version":1,"strings":[
+{"hash":129960242,"name":"tfradialblur.caption","sourcebytes":[82,97,100,105,97,108,32,98,108,117,114],"value":"Radial blur"},
+{"hash":129024186,"name":"tfradialblur.label_radius.caption","sourcebytes":[82,97,100,105,117,115,32,58],"value":"Radius :"},
+{"hash":1339,"name":"tfradialblur.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfradialblur.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 6 - 0
lazpaint/dialog/filter/usharpen.lrj

@@ -0,0 +1,6 @@
+{"version":1,"strings":[
+{"hash":170608904,"name":"tfsharpen.caption","sourcebytes":[83,104,97,114,112,101,110,47,83,109,111,111,116,104],"value":"Sharpen/Smooth"},
+{"hash":74207930,"name":"tfsharpen.label_amount.caption","sourcebytes":[65,109,111,117,110,116,32,58],"value":"Amount :"},
+{"hash":1339,"name":"tfsharpen.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfsharpen.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 7 - 0
lazpaint/dialog/filter/utwirl.lrj

@@ -0,0 +1,7 @@
+{"version":1,"strings":[
+{"hash":6021260,"name":"tftwirl.caption","sourcebytes":[84,119,105,114,108],"value":"Twirl"},
+{"hash":129024186,"name":"tftwirl.label_radius.caption","sourcebytes":[82,97,100,105,117,115,32,58],"value":"Radius :"},
+{"hash":139339642,"name":"tftwirl.label_angle.caption","sourcebytes":[65,110,103,108,101,32,58],"value":"Angle :"},
+{"hash":1339,"name":"tftwirl.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tftwirl.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 8 - 0
lazpaint/dialog/filter/uwavedisplacement.lrj

@@ -0,0 +1,8 @@
+{"version":1,"strings":[
+{"hash":9900292,"name":"tfwavedisplacement.caption","sourcebytes":[87,97,118,101,32,100,105,115,112,108,97,99,101,109,101,110,116],"value":"Wave displacement"},
+{"hash":261514778,"name":"tfwavedisplacement.label_wavelength.caption","sourcebytes":[87,97,118,101,108,101,110,103,116,104,32,58],"value":"Wavelength :"},
+{"hash":211645722,"name":"tfwavedisplacement.label_displacement.caption","sourcebytes":[68,105,115,112,108,97,99,101,109,101,110,116,32,58],"value":"Displacement :"},
+{"hash":115906410,"name":"tfwavedisplacement.label_phase.caption","sourcebytes":[80,104,97,115,101,32,58],"value":"Phase :"},
+{"hash":1339,"name":"tfwavedisplacement.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfwavedisplacement.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 11 - 0
lazpaint/dialog/uabout.lrj

@@ -0,0 +1,11 @@
+{"version":1,"strings":[
+{"hash":4691652,"name":"tfabout.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
+{"hash":261901482,"name":"tfabout.label_licence.caption","sourcebytes":[76,105,99,101,110,99,101,58],"value":"Licence:"},
+{"hash":212823530,"name":"tfabout.label_authors.caption","sourcebytes":[65,117,116,104,111,114,115,58],"value":"Authors:"},
+{"hash":63320810,"name":"tfabout.label_homepage.caption","sourcebytes":[72,111,109,101,112,97,103,101,58],"value":"Homepage:"},
+{"hash":217335370,"name":"tfabout.label_libraries.caption","sourcebytes":[76,105,98,114,97,114,105,101,115,32,117,115,101,100,58],"value":"Libraries used:"},
+{"hash":207727017,"name":"tfabout.label_opensource.caption","sourcebytes":[79,112,101,110,32,115,111,117,114,99,101,32,40,71,80,76,118,51,41],"value":"Open source (GPLv3)"},
+{"hash":86255315,"name":"tfabout.label_authorsvalue.caption","sourcebytes":[67,105,114,99,117,108,97,114,32,104,101,108,112,101,100,32,98,121,32,70,97,98,105,101,110,87,97,110,103,44,32,76,97,105,110,122,32,97,110,100,32,111,116,104,101,114,115],"value":"Circular helped by FabienWang, Lainz and others"},
+{"hash":97681487,"name":"tfabout.labelurl.caption","sourcebytes":[104,116,116,112,58,47,47,115,111,117,114,99,101,102,111,114,103,101,46,110,101,116,47,112,114,111,106,101,99,116,115,47,108,97,122,112,97,105,110,116,47],"value":"http://sourceforge.net/projects/lazpaint/"},
+{"hash":76172398,"name":"tfabout.button_donate.caption","sourcebytes":[68,111,110,97,116,101,46,46,46],"value":"Donate..."}
+]}

+ 19 - 0
lazpaint/dialog/ublendop.lrj

@@ -0,0 +1,19 @@
+{"version":1,"strings":[
+{"hash":13537566,"name":"tfblendop.caption","sourcebytes":[66,108,101,110,100,32,111,112,101,114,97,116,105,111,110],"value":"Blend operation"},
+{"hash":45892456,"name":"tfblendop.label_patternunder.hint","sourcebytes":[80,114,101,118,105,101,119,32,98,108,101,110,100,32,111,112,101,114,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,105,109,97,103,101,32,117,110,100,101,114,110,101,97,116,104],"value":"Preview blend operation with the specified image underneath"},
+{"hash":116516386,"name":"tfblendop.label_patternunder.caption","sourcebytes":[80,97,116,116,101,114,110,32,117,110,100,101,114],"value":"Pattern under"},
+{"hash":169809216,"name":"tfblendop.label_patternover.hint","sourcebytes":[80,114,101,118,105,101,119,32,98,108,101,110,100,32,111,112,101,114,97,116,105,111,110,32,119,105,116,104,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,105,109,97,103,101,32,111,110,32,116,111,112],"value":"Preview blend operation with the specified image on top"},
+{"hash":242210306,"name":"tfblendop.label_patternover.caption","sourcebytes":[80,97,116,116,101,114,110,32,111,118,101,114],"value":"Pattern over"},
+{"hash":48745955,"name":"tfblendop.label_svgover.hint","sourcebytes":[66,97,115,105,99,32,98,108,101,110,100,32,111,112,101,114,97,116,105,111,110,115,32,116,104,97,116,32,97,114,101,32,97,118,97,105,108,97,98,108,101,32,105,110,32,118,105,114,116,117,97,108,108,121,32,97,108,108,32,105,109,97,103,101,32,101,100,105,116,111,114,115],"value":"Basic blend operations that are available in virtually all image editors"},
+{"hash":167055399,"name":"tfblendop.label_svgover.caption","sourcebytes":[66,97,115,105,99,32,83,86,71],"value":"Basic SVG"},
+{"hash":185836481,"name":"tfblendop.label_kritaover.hint","sourcebytes":[66,108,101,110,100,32,111,112,101,114,97,116,105,111,110,115,32,116,104,97,116,32,97,114,101,32,97,118,97,105,108,97,98,108,101,32,105,110,32,75,114,105,116,97],"value":"Blend operations that are available in Krita"},
+{"hash":5410977,"name":"tfblendop.label_kritaover.caption","sourcebytes":[75,114,105,116,97],"value":"Krita"},
+{"hash":49963988,"name":"tfblendop.label_otherover.hint","sourcebytes":[66,108,101,110,100,32,111,112,101,114,97,116,105,111,110,115,32,111,102,32,76,97,122,80,97,105,110,116,32,97,110,100,32,80,97,105,110,116,46,78,69,84],"value":"Blend operations of LazPaint and Paint.NET"},
+{"hash":5680834,"name":"tfblendop.label_otherover.caption","sourcebytes":[79,116,104,101,114],"value":"Other"},
+{"hash":77515226,"name":"tfblendop.label_selectedblendop.caption","sourcebytes":[83,101,108,101,99,116,101,100,32,98,108,101,110,100,32,111,112,101,114,97,116,105,111,110,32,58],"value":"Selected blend operation :"},
+{"hash":46,"name":"tfblendop.label_blendopvalue.caption","sourcebytes":[46],"value":"."},
+{"hash":1339,"name":"tfblendop.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfblendop.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":166669400,"name":"tfblendop.label_previewwith.caption","sourcebytes":[80,114,101,118,105,101,119,32,119,105,116,104],"value":"Preview with"},
+{"hash":187207982,"name":"tfblendop.label_blendopcategory.caption","sourcebytes":[67,97,116,101,103,111,114,121,32,111,102,32,98,108,101,110,100,32,111,112,101,114,97,116,105,111,110],"value":"Category of blend operation"}
+]}

+ 11 - 0
lazpaint/dialog/ubrowseimages.lrj

@@ -0,0 +1,11 @@
+{"version":1,"strings":[
+{"hash":259364083,"name":"tfbrowseimages.caption","sourcebytes":[66,114,111,119,115,101,32,105,109,97,103,101,115],"value":"Browse images"},
+{"hash":46,"name":"tfbrowseimages.label_status.caption","sourcebytes":[46],"value":"."},
+{"hash":156948272,"name":"tfbrowseimages.checkbox_usedirectoryonstartup.caption","sourcebytes":[85,115,101,32,116,104,105,115,32,100,105,114,101,99,116,111,114,121,32,111,110,32,115,116,97,114,116,117,112],"value":"Use this directory on startup"},
+{"hash":61757520,"name":"tfbrowseimages.toolbutton_goup.hint","sourcebytes":[71,111,32,111,110,101,32,100,105,114,101,99,116,111,114,121,32,117,112],"value":"Go one directory up"},
+{"hash":101124403,"name":"tfbrowseimages.toolbutton_viewbigicon.hint","sourcebytes":[83,104,111,119,32,98,105,103,32,105,99,111,110,115],"value":"Show big icons"},
+{"hash":230661863,"name":"tfbrowseimages.toolbutton_viewdetails.hint","sourcebytes":[83,104,111,119,32,100,101,116,97,105,108,115,32,97,110,100,32,112,114,101,118,105,101,119],"value":"Show details and preview"},
+{"hash":137064371,"name":"tfbrowseimages.toolbutton_openselectedfiles.hint","sourcebytes":[79,112,101,110,32,115,101,108,101,99,116,101,100,32,102,105,108,101,115],"value":"Open selected files"},
+{"hash":66567013,"name":"tfbrowseimages.tool_selectdrive.hint","sourcebytes":[83,101,108,101,99,116,32,100,114,105,118,101],"value":"Select drive"},
+{"hash":20554530,"name":"tfbrowseimages.toolbutton_createfolderorcontainer.hint","sourcebytes":[67,114,101,97,116,101,32,102,111,108,100,101,114,32,111,114,32,99,111,110,116,97,105,110,101,114],"value":"Create folder or container"}
+]}

+ 3 - 0
lazpaint/dialog/ubrowseimages.pas

@@ -617,7 +617,9 @@ begin
     end;
 
     setlength(FCacheComputeIconIndexes, cacheComputeCount);
+    newFilenames := nil;
     setlength(newFilenames, cacheComputeCount);
+    newLastModifications := nil;
     setlength(newLastModifications, cacheComputeCount);
     for i := 0 to cacheComputeCount-1 do
     begin
@@ -1217,6 +1219,7 @@ begin
       end;
     end;
 
+  filesToDelete := nil;
   setlength(filesToDelete, deleteCount);
   deleteCount := 0;
   for i := 0 to ShellListView1.ItemCount-1 do

+ 9 - 0
lazpaint/dialog/ucanvassize.lrj

@@ -0,0 +1,9 @@
+{"version":1,"strings":[
+{"hash":136193733,"name":"tfcanvassize.caption","sourcebytes":[67,97,110,118,97,115,32,115,105,122,101],"value":"Canvas size"},
+{"hash":234596970,"name":"tfcanvassize.label_width.caption","sourcebytes":[87,105,100,116,104,32,58],"value":"Width :"},
+{"hash":201192154,"name":"tfcanvassize.label_height.caption","sourcebytes":[72,101,105,103,104,116,32,58],"value":"Height :"},
+{"hash":77553850,"name":"tfcanvassize.label_anchor.caption","sourcebytes":[65,110,99,104,111,114,32,58],"value":"Anchor :"},
+{"hash":1339,"name":"tfcanvassize.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfcanvassize.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":2590869,"name":"tfcanvassize.checkbox_flipmode.caption","sourcebytes":[70,108,105,112,32,109,111,100,101],"value":"Flip mode"}
+]}

+ 13 - 6
lazpaint/dialog/uchoosecolorinterface.pas

@@ -56,6 +56,7 @@ type
 
     FColorTarget: TColorTarget;
     FCurrentColor: TBGRAPixel;
+    FCurrentColorFormatError: boolean;
     FColorLight: word;
     FColorX,FColorY: single;
     FSelectZone: (szNone, szColorCircle, szLightScale, szAlphascale);
@@ -131,7 +132,7 @@ type
 implementation
 
 uses math, Forms, UResourceStrings, LCLType, UDarkTheme, LCScaleDPI, UGraph, BGRAText,
-  BGRAClasses;
+  BGRAClasses, ULoading;
 
 { TChooseColorInterface }
 
@@ -314,7 +315,6 @@ end;
 
 procedure TChooseColorInterface.EColorChange(Sender: TObject);
 var newColor: TBGRAPixel;
-  error: boolean;
   errPos,value: integer;
 begin
    if (FLazPaintInstance <> nil) and EColor.Visible then
@@ -324,15 +324,15 @@ begin
        val(EColor.Text,value,errPos);
        if (errPos = 0) and (value >= 0) and (value <= 255) then
        begin
-         error := false;
+         FCurrentColorFormatError := false;
          newColor.green := value;
          newColor.red := value;
          newColor.blue := value;
        end else
-         error := true;
+         FCurrentColorFormatError := true;
      end else
-       newColor := PartialStrToBGRA(EColor.Text,FColorBeforeEColor,error);
-     if not error then
+       newColor := PartialStrToBGRA(EColor.Text,FColorBeforeEColor,FCurrentColorFormatError);
+     if not FCurrentColorFormatError then
      begin
        newColor.alpha := FColorBeforeEColor.alpha;
        SetCurrentColor(newColor, true);
@@ -346,6 +346,11 @@ procedure TChooseColorInterface.EColorKeyDown(Sender: TObject; var Key: Word;
 begin
   if Key = VK_RETURN then
   begin
+    if FCurrentColorFormatError then
+    begin
+      MessagePopup(rsInvalidName, 3000);
+      FCurrentColorFormatError := false;
+    end;
     HideEditor;
     Key := 0;
   end
@@ -371,6 +376,7 @@ begin
     EColor.Text := '#' + copy(BGRAToStr(FColorBeforeEColor),1,6);
   EColor.Visible := true;
   EColor.Top := Container.ClientHeight - EColor.Height;
+  FCurrentColorFormatError := false;
   SafeSetFocus(EColor);
 end;
 
@@ -1066,6 +1072,7 @@ begin
   EColor.Text:= '#FFFFFF';
   LColor.Visible := true;
   LColor.Caption := '#FFFFFF';
+  FCurrentColorFormatError:= false;
   vsColorView.Left := ExternalMargin;
   vsColorView.Top := 0;
 

+ 7 - 0
lazpaint/dialog/ugeometricbrush.lrj

@@ -0,0 +1,7 @@
+{"version":1,"strings":[
+{"hash":55929256,"name":"tfgeometricbrush.caption","sourcebytes":[71,101,111,109,101,116,114,105,99,32,98,114,117,115,104],"value":"Geometric brush"},
+{"hash":1339,"name":"tfgeometricbrush.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfgeometricbrush.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":257877466,"name":"tfgeometricbrush.label1.caption","sourcebytes":[78,117,109,98,101,114,32,111,102,32,115,105,100,101,115,58],"value":"Number of sides:"},
+{"hash":41168068,"name":"tfgeometricbrush.checkbox_isgradient.caption","sourcebytes":[79,112,97,99,105,116,121,32,103,114,97,100,105,101,110,116],"value":"Opacity gradient"}
+]}

+ 5 - 0
lazpaint/dialog/umultiimage.lrj

@@ -0,0 +1,5 @@
+{"version":1,"strings":[
+{"hash":66146629,"name":"tfmultiimage.caption","sourcebytes":[67,104,111,111,115,101,32,105,109,97,103,101],"value":"Choose image"},
+{"hash":1339,"name":"tfmultiimage.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfmultiimage.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 51 - 19
lazpaint/dialog/unewimage.lfm

@@ -12,14 +12,13 @@ object FNewImage: TFNewImage
   OnCreate = FormCreate
   OnShow = FormShow
   Position = poOwnerFormCenter
-  LCLVersion = '2.0.10.0'
+  LCLVersion = '2.2.0.1'
   object Label_Width: TLabel
     Left = 16
     Height = 15
     Top = 20
     Width = 38
     Caption = 'Width :'
-    ParentColor = False
   end
   object Label_Height: TLabel
     Left = 16
@@ -27,7 +26,6 @@ object FNewImage: TFNewImage
     Top = 47
     Width = 42
     Caption = 'Height :'
-    ParentColor = False
   end
   object Button_OK: TButton
     Left = 88
@@ -111,7 +109,6 @@ object FNewImage: TFNewImage
     Top = 106
     Width = 33
     Caption = 'Ratio :'
-    ParentColor = False
   end
   object ComboBox_Ratio: TComboBox
     Left = 80
@@ -153,6 +150,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = clBlack
@@ -160,8 +159,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape1'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -177,6 +178,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = clBlue
@@ -184,8 +187,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape2'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -201,6 +206,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = clRed
@@ -208,8 +215,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape3'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -225,6 +234,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = clLime
@@ -232,8 +243,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape4'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -249,6 +262,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = clFuchsia
@@ -256,8 +271,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape5'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -273,6 +290,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = clAqua
@@ -280,8 +299,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape6'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -297,6 +318,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = clYellow
@@ -304,8 +327,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape7'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -321,6 +346,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = 11796479
@@ -328,8 +355,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape8'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -345,6 +374,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = clWhite
@@ -352,8 +383,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape9'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -383,6 +416,8 @@ object FNewImage: TFNewImage
     BorderGradient.StartColor = clWhite
     BorderGradient.EndColor = clBlack
     BorderGradient.GradientType = gtLinear
+    BorderGradient.Point1XPercent = 0
+    BorderGradient.Point1YPercent = 0
     BorderGradient.Point2XPercent = 100
     BorderGradient.Point2YPercent = 100
     FillColor = clWhite
@@ -390,8 +425,10 @@ object FNewImage: TFNewImage
     FillGradient.StartColor = clWhite
     FillGradient.EndColor = clBlack
     FillGradient.GradientType = gtLinear
+    FillGradient.Point1XPercent = 0
+    FillGradient.Point1YPercent = 0
+    FillGradient.Point2XPercent = 0
     FillGradient.Point2YPercent = 100
-    Caption = 'BGRAShape10'
     RoundRadius = 5
     OnClick = BGRAShapeClick
   end
@@ -401,14 +438,12 @@ object FNewImage: TFNewImage
     Top = 176
     Width = 98
     Caption = 'Memory required :'
-    ParentColor = False
   end
   object Label_MemoryRequiredValue: TLabel
     Left = 123
     Height = 1
     Top = 176
     Width = 1
-    ParentColor = False
   end
   object Label_BitDepth: TLabel
     Left = 16
@@ -416,7 +451,6 @@ object FNewImage: TFNewImage
     Top = 75
     Width = 54
     Caption = 'Bit depth :'
-    ParentColor = False
   end
   object ComboBox_BitDepth: TComboBox
     Left = 80
@@ -446,14 +480,12 @@ object FNewImage: TFNewImage
     Width = 24
     Align = alNone
     AutoSize = True
-    Caption = 'ToolBar_Ratio'
     EdgeBorders = []
     Images = FMain.ImageList16
     TabOrder = 7
     object ToolButton_ClearRatio: TToolButton
       Left = 1
       Top = 0
-      Caption = 'ToolButton_ClearRatio'
       ImageIndex = 39
       OnClick = ToolButton_ClearRatioClick
     end

+ 11 - 0
lazpaint/dialog/unewimage.lrj

@@ -0,0 +1,11 @@
+{"version":1,"strings":[
+{"hash":158360341,"name":"tfnewimage.caption","sourcebytes":[78,101,119,32,105,109,97,103,101],"value":"New image"},
+{"hash":234596970,"name":"tfnewimage.label_width.caption","sourcebytes":[87,105,100,116,104,32,58],"value":"Width :"},
+{"hash":201192154,"name":"tfnewimage.label_height.caption","sourcebytes":[72,101,105,103,104,116,32,58],"value":"Height :"},
+{"hash":1339,"name":"tfnewimage.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfnewimage.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":143327594,"name":"tfnewimage.label_height1.caption","sourcebytes":[82,97,116,105,111,32,58],"value":"Ratio :"},
+{"hash":65863386,"name":"tfnewimage.label_memoryrequired.caption","sourcebytes":[77,101,109,111,114,121,32,114,101,113,117,105,114,101,100,32,58],"value":"Memory required :"},
+{"hash":177122394,"name":"tfnewimage.label_bitdepth.caption","sourcebytes":[66,105,116,32,100,101,112,116,104,32,58],"value":"Bit depth :"},
+{"hash":866,"name":"tfnewimage.combobox_bitdepth.text","sourcebytes":[51,50],"value":"32"}
+]}

+ 29 - 0
lazpaint/dialog/uobject3d.lrj

@@ -0,0 +1,29 @@
+{"version":1,"strings":[
+{"hash":123288772,"name":"tfobject3d.caption","sourcebytes":[51,68,32,111,98,106,101,99,116],"value":"3D object"},
+{"hash":1339,"name":"tfobject3d.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfobject3d.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":78436487,"name":"tfobject3d.rendering.caption","sourcebytes":[82,101,110,100,101,114,105,110,103],"value":"Rendering"},
+{"hash":97434766,"name":"tfobject3d.checkbox_textureinterp.caption","sourcebytes":[84,101,120,116,117,114,101,32,105,110,116,101,114,112,111,108,97,116,105,111,110],"value":"Texture interpolation"},
+{"hash":398941,"name":"tfobject3d.label_zoom.caption","sourcebytes":[90,111,111,109],"value":"Zoom"},
+{"hash":52790083,"name":"tfobject3d.checkbox_biface.caption","sourcebytes":[50,45,115,105,100,101,100,32,102,97,99,101,115],"value":"2-sided faces"},
+{"hash":72546810,"name":"tfobject3d.label_lightingnormals.caption","sourcebytes":[76,105,103,104,116,105,110,103,32,110,111,114,109,97,108,115,32,58],"value":"Lighting normals :"},
+{"hash":234596970,"name":"tfobject3d.label_width.caption","sourcebytes":[87,105,100,116,104,32,58],"value":"Width :"},
+{"hash":201192154,"name":"tfobject3d.label_height.caption","sourcebytes":[72,101,105,103,104,116,32,58],"value":"Height :"},
+{"hash":108868039,"name":"tfobject3d.checkbox_antialiasing.caption","sourcebytes":[65,110,116,105,97,108,105,97,115,105,110,103],"value":"Antialiasing"},
+{"hash":180921779,"name":"tfobject3d.materials.caption","sourcebytes":[77,97,116,101,114,105,97,108,115],"value":"Materials"},
+{"hash":145080314,"name":"tfobject3d.label_materials.caption","sourcebytes":[77,97,116,101,114,105,97,108,115,32,58],"value":"Materials :"},
+{"hash":39725820,"name":"tfobject3d.groupbox_selectedmaterial.caption","sourcebytes":[83,101,108,101,99,116,101,100,32,109,97,116,101,114,105,97,108],"value":"Selected material"},
+{"hash":102869514,"name":"tfobject3d.label_specularindex.caption","sourcebytes":[83,112,101,99,46,32,105,110,100,101,120,32,58],"value":"Spec. index :"},
+{"hash":174285946,"name":"tfobject3d.label_color.caption","sourcebytes":[67,111,108,111,114,32,58],"value":"Color :"},
+{"hash":127987034,"name":"tfobject3d.label_opacity.caption","sourcebytes":[79,112,97,99,105,116,121,32,58],"value":"Opacity :"},
+{"hash":198045182,"name":"tfobject3d.button_loadtex.caption","sourcebytes":[84,101,120,116,117,114,101,46,46,46],"value":"Texture..."},
+{"hash":85437694,"name":"tfobject3d.button_notex.caption","sourcebytes":[78,111,32,116,101,120,46],"value":"No tex."},
+{"hash":87023539,"name":"tfobject3d.lights.caption","sourcebytes":[76,105,103,104,116,115],"value":"Lights"},
+{"hash":266317850,"name":"tfobject3d.label_lights.caption","sourcebytes":[76,105,103,104,116,115,32,58],"value":"Lights :"},
+{"hash":173626068,"name":"tfobject3d.groupbox_selectedlight.caption","sourcebytes":[83,101,108,101,99,116,101,100,32,108,105,103,104,116],"value":"Selected light"},
+{"hash":174285946,"name":"tfobject3d.label_color1.caption","sourcebytes":[67,111,108,111,114,32,58],"value":"Color :"},
+{"hash":133298004,"name":"tfobject3d.tooladddirectional.hint","sourcebytes":[65,100,100,32,97,32,100,105,114,101,99,116,105,111,110,97,108,32,108,105,103,104,116],"value":"Add a directional light"},
+{"hash":90179524,"name":"tfobject3d.toolpointlight.hint","sourcebytes":[65,100,100,32,97,32,112,111,105,110,116,32,108,105,103,104,116],"value":"Add a point light"},
+{"hash":104167460,"name":"tfobject3d.toolremoveselectedlight.hint","sourcebytes":[82,101,109,111,118,101,32,115,101,108,101,99,116,101,100,32,108,105,103,104,116],"value":"Remove selected light"},
+{"hash":262765813,"name":"tfobject3d.opentexturedialog.title","sourcebytes":[79,112,101,110,32,116,101,120,116,117,114,101],"value":"Open texture"}
+]}

+ 4 - 0
lazpaint/dialog/upreviewdialog.lrj

@@ -0,0 +1,4 @@
+{"version":1,"strings":[
+{"hash":126668695,"name":"tfpreviewdialog.caption","sourcebytes":[80,114,101,118,105,101,119],"value":"Preview"},
+{"hash":46,"name":"tfpreviewdialog.lstatus.caption","sourcebytes":[46],"value":"."}
+]}

+ 19 - 0
lazpaint/dialog/uprint.lrj

@@ -0,0 +1,19 @@
+{"version":1,"strings":[
+{"hash":5738580,"name":"tfprint.caption","sourcebytes":[80,114,105,110,116],"value":"Print"},
+{"hash":240643482,"name":"tfprint.label_printerandpaper.caption","sourcebytes":[80,114,105,110,116,101,114,32,97,110,100,32,112,97,112,101,114,58],"value":"Printer and paper:"},
+{"hash":175001086,"name":"tfprint.button_configureprinter.caption","sourcebytes":[67,111,110,102,105,103,117,114,101,46,46,46],"value":"Configure..."},
+{"hash":266476106,"name":"tfprint.label_orientation.caption","sourcebytes":[79,114,105,101,110,116,97,116,105,111,110,58],"value":"Orientation:"},
+{"hash":59301891,"name":"tfprint.groupbox_margins.caption","sourcebytes":[77,97,114,103,105,110,115],"value":"Margins"},
+{"hash":5422458,"name":"tfprint.label_left.caption","sourcebytes":[76,101,102,116,58],"value":"Left:"},
+{"hash":374330,"name":"tfprint.label_top.caption","sourcebytes":[84,111,112,58],"value":"Top:"},
+{"hash":93314938,"name":"tfprint.label_right.caption","sourcebytes":[82,105,103,104,116,58],"value":"Right:"},
+{"hash":158053962,"name":"tfprint.label_bottom.caption","sourcebytes":[66,111,116,116,111,109,58],"value":"Bottom:"},
+{"hash":225617013,"name":"tfprint.groupbox_imagesize.caption","sourcebytes":[73,109,97,103,101,32,115,105,122,101],"value":"Image size"},
+{"hash":46,"name":"tfprint.label_dpix.caption","sourcebytes":[46],"value":"."},
+{"hash":98548410,"name":"tfprint.label_width.caption","sourcebytes":[87,105,100,116,104,58],"value":"Width:"},
+{"hash":247455546,"name":"tfprint.label_height.caption","sourcebytes":[72,101,105,103,104,116,58],"value":"Height:"},
+{"hash":46,"name":"tfprint.label_dpiy.caption","sourcebytes":[46],"value":"."},
+{"hash":10706303,"name":"tfprint.checkbox_ratio.caption","sourcebytes":[75,101,101,112,32,97,115,112,101,99,116,32,114,97,116,105,111],"value":"Keep aspect ratio"},
+{"hash":106916628,"name":"tfprint.button_zoomfit.caption","sourcebytes":[90,111,111,109,32,102,105,116],"value":"Zoom fit"},
+{"hash":91817313,"name":"tfprint.button_print.caption","sourcebytes":[80,114,105,110,116,33],"value":"Print!"}
+]}

+ 5 - 0
lazpaint/dialog/uquestion.lrj

@@ -0,0 +1,5 @@
+{"version":1,"strings":[
+{"hash":197831646,"name":"tfquestion.caption","sourcebytes":[81,117,101,115,116,105,111,110],"value":"Question"},
+{"hash":46,"name":"tfquestion.label_message.caption","sourcebytes":[46],"value":"."},
+{"hash":249148037,"name":"tfquestion.checkbox_rememberchoice.caption","sourcebytes":[82,101,109,101,109,98,101,114,32,116,104,105,115,32,99,104,111,105,99,101],"value":"Remember this choice"}
+]}

+ 9 - 0
lazpaint/dialog/uresample.lrj

@@ -0,0 +1,9 @@
+{"version":1,"strings":[
+{"hash":211305637,"name":"tfresample.caption","sourcebytes":[82,101,115,97,109,112,108,101],"value":"Resample"},
+{"hash":137421706,"name":"tfresample.label_quality.caption","sourcebytes":[81,117,97,108,105,116,121,32,58],"value":"Quality :"},
+{"hash":234596970,"name":"tfresample.label_width.caption","sourcebytes":[87,105,100,116,104,32,58],"value":"Width :"},
+{"hash":201192154,"name":"tfresample.label_height.caption","sourcebytes":[72,101,105,103,104,116,32,58],"value":"Height :"},
+{"hash":10706303,"name":"tfresample.checkbox_ratio.caption","sourcebytes":[75,101,101,112,32,97,115,112,101,99,116,32,114,97,116,105,111],"value":"Keep aspect ratio"},
+{"hash":1339,"name":"tfresample.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfresample.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 19 - 0
lazpaint/dialog/usaveoption.lrj

@@ -0,0 +1,19 @@
+{"version":1,"strings":[
+{"hash":366789,"name":"tfsaveoption.caption","sourcebytes":[83,97,118,101],"value":"Save"},
+{"hash":34229498,"name":"tfsaveoption.label_colordepth.caption","sourcebytes":[67,111,108,111,114,32,100,101,112,116,104,58],"value":"Color depth:"},
+{"hash":111556051,"name":"tfsaveoption.radiobutton_2colors.caption","sourcebytes":[50,32,99,111,108,111,114,115],"value":"2 colors"},
+{"hash":111550995,"name":"tfsaveoption.radiobutton_16colors.caption","sourcebytes":[49,54,32,99,111,108,111,114,115],"value":"16 colors"},
+{"hash":111644179,"name":"tfsaveoption.radiobutton_256colors.caption","sourcebytes":[50,53,54,32,99,111,108,111,114,115],"value":"256 colors"},
+{"hash":88097664,"name":"tfsaveoption.radiobutton_miomap.caption","sourcebytes":[77,105,111,77,97,112],"value":"MioMap"},
+{"hash":90607747,"name":"tfsaveoption.radiobutton_24bitsperpixel.caption","sourcebytes":[50,52,32,98,105,116,115],"value":"24 bits"},
+{"hash":105287811,"name":"tfsaveoption.radiobutton_32bitsperpixel.caption","sourcebytes":[51,50,32,98,105,116,115],"value":"32 bits"},
+{"hash":183289159,"name":"tfsaveoption.checkbox_dithering.caption","sourcebytes":[68,105,116,104,101,114,105,110,103],"value":"Dithering"},
+{"hash":193138250,"name":"tfsaveoption.label1.caption","sourcebytes":[81,117,97,108,105,116,121,58],"value":"Quality:"},
+{"hash":13360,"name":"tfsaveoption.label_1.caption","sourcebytes":[49,48,48],"value":"100"},
+{"hash":48,"name":"tfsaveoption.label_0.caption","sourcebytes":[48],"value":"0"},
+{"hash":896,"name":"tfsaveoption.label_50.caption","sourcebytes":[53,48],"value":"50"},
+{"hash":111815059,"name":"tfsaveoption.checkbox_lossless.caption","sourcebytes":[76,111,115,115,108,101,115,115],"value":"Lossless"},
+{"hash":5902474,"name":"tfsaveoption.label_size.caption","sourcebytes":[83,105,122,101,58],"value":"Size:"},
+{"hash":1339,"name":"tfsaveoption.button_ok.caption","sourcebytes":[79,75],"value":"OK"},
+{"hash":77089212,"name":"tfsaveoption.button_cancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
+]}

+ 181 - 0
lazpaint/getfilesindir.inc

@@ -0,0 +1,181 @@
+// imported from private implementation of ShellCtrls
+
+{ TFileItem : internal helper class used for temporarily storing info in an internal TStrings component}
+type
+  { TFileItem }
+  TFileItem = class(TObject)
+  private
+    FFileInfo: TSearchRec;
+    FBasePath: String;
+  public
+    //more data to sort by size, date... etc
+    isFolder: Boolean;
+    constructor Create(const DirInfo: TSearchRec; ABasePath: String);
+    property FileInfo: TSearchRec read FFileInfo write FFileInfo;
+  end;
+
+constructor TFileItem.Create(const DirInfo:TSearchRec; ABasePath: String);
+begin
+  FFileInfo := DirInfo;
+  FBasePath:= ABasePath;
+  isFolder:=DirInfo.Attr and FaDirectory > 0;
+end;
+
+function FilesSortAlphabet(p1, p2: Pointer): Integer;
+var
+  f1, f2: TFileItem;
+begin
+  f1:=TFileItem(p1);
+  f2:=TFileItem(p2);
+  Result:=CompareText(f1.FileInfo.Name, f2.FileInfo.Name);
+end;
+
+function FilesSortFoldersFirst(p1,p2: Pointer): Integer;
+var
+  f1, f2: TFileItem;
+begin
+  f1:=TFileItem(p1);
+  f2:=TFileItem(p2);
+  if f1.isFolder=f2.isFolder then
+    Result:=FilesSortAlphabet(p1,p2)
+  else begin
+    if f1.isFolder then Result:=-1
+    else Result:=1;
+  end;
+
+end;
+
+procedure GetFilesInDir(const ABaseDir: string; AMask: string;
+  AObjectTypes: TObjectTypes; AResult: TStrings; AFileSortType: TFileSortType;
+  ACaseSensitivity: TMaskCaseSensitivity = mcsPlatformDefault);
+var
+  DirInfo: TSearchRec;
+  FindResult, i: Integer;
+  IsDirectory, IsValidDirectory, IsHidden, AddFile, UseMaskList: Boolean;
+  SearchStr, ShortFilename: string;
+  MaskList: TMaskList = nil;
+  Files: TList;
+  FileItem: TFileItem;
+  MaskOptions: TMaskOptions;
+  {$if defined(windows) and not defined(wince)}
+  ErrMode : LongWord;
+  {$endif}
+begin
+  {$if defined(windows) and not defined(wince)}
+  // disables the error dialog, while enumerating not-available drives
+  // for example listing A: path, without diskette present.
+  // WARNING: Since Application.ProcessMessages is called, it might effect some operations!
+  ErrMode:=SetErrorMode(SEM_FAILCRITICALERRORS or SEM_NOALIGNMENTFAULTEXCEPT or SEM_NOGPFAULTERRORBOX or SEM_NOOPENFILEERRORBOX);
+  try
+  {$endif}
+    while (Length(AMask) > 0) and (AMask[Length(AMask)] = ';') do
+      Delete(AMask, Length(AMask), 1);
+    if Trim(AMask) = '' then
+      AMask := AllFilesMask;
+    //Use a TMaksList if more than 1 mask is specified or if MaskCaseSensitivity differs from the platform default behaviour
+    UseMaskList := (Pos(';', AMask) > 0) or
+                   {$ifdef NotLiteralFilenames}
+                   (ACaseSensitivity = mcsCaseSensitive)
+                   {$else}
+                   (ACaseSensitivity = mcsCaseInsensitive)
+                   {$endif}
+                   ;
+    if UseMaskList then
+    begin
+      //Disable the use of sets in the masklist.
+      //this behaviour would be incompatible with the situation if no MaskList was used
+      //and it would break backwards compatibilty and could raise unexpected EConvertError where it did not in the past.
+      //If you need sets in the MaskList, use the OnAddItem event for that. (BB)
+      MaskOptions := [moDisableSets];
+      {$ifdef NotLiteralFilenames}
+      if (ACaseSensitivity = mcsCaseSensitive) then
+        MaskOptions := [moDisableSets, moCaseSensitive];
+      {$else}
+      if (ACaseSensitivity <> mcsCaseInsensitive) then
+        MaskOptions := [moDisableSets, moCaseSensitive];
+      {$endif}
+      MaskList := TMaskList.Create(AMask, ';', MaskOptions);  //False by default
+    end;
+
+    try
+      if AFileSortType = fstNone then
+        Files:=nil
+      else
+        Files := TList.Create;
+
+      i := 0;
+      if UseMaskList then
+        SearchStr := IncludeTrailingPathDelimiter(ABaseDir) + AllFilesMask
+      else
+        SearchStr := IncludeTrailingPathDelimiter(ABaseDir) + AMask; //single mask, let FindFirst/FindNext handle matching
+
+      FindResult := FindFirstUTF8(SearchStr, faAnyFile, DirInfo);
+      while (FindResult = 0) do
+      begin
+        ShortFilename := DirInfo.Name;
+        IsValidDirectory := (ShortFilename <> '.') and (ShortFilename <> '..');
+        //no need to call MaskListMatches (which loops through all masks) if ShortFileName is '.' or '..' since we never process this
+        if ((not UseMaskList) or MaskList.Matches(DirInfo.Name)) and IsValidDirectory  then
+        begin
+          inc(i);
+          if i = 100 then
+          begin
+            Application.ProcessMessages;
+            i := 0;
+          end;
+          IsDirectory := (DirInfo.Attr and FaDirectory = FaDirectory);
+          IsHidden := (DirInfo.Attr and faHidden{%H-} = faHidden{%H-});
+
+          // First check if we show hidden files
+          if IsHidden then
+            AddFile := (otHidden in AObjectTypes)
+          else
+            AddFile := True;
+
+          // If it is a directory, check if it is a valid one
+          if IsDirectory then
+            AddFile := AddFile and ((otFolders in AObjectTypes) and IsValidDirectory)
+          else
+            AddFile := AddFile and (otNonFolders in AObjectTypes);
+
+          // AddFile identifies if the file is valid or not
+          if AddFile then
+          begin
+            if Assigned(Files) then
+              Files.Add(TFileItem.Create(DirInfo, ABaseDir))
+            else
+              AResult.AddObject(ShortFilename, TFileItem.Create(DirInfo, ABaseDir));
+          end;
+        end;// Filename matches the mask
+        FindResult := FindNextUTF8(DirInfo);
+      end; //FindResult = 0
+
+      FindCloseUTF8(DirInfo);
+    finally
+      MaskList.Free;
+    end;
+
+    if Assigned(Files) then
+    begin
+      case AFileSortType of
+        fstAlphabet:     Files.Sort(@FilesSortAlphabet);
+        fstFoldersFirst: Files.Sort(@FilesSortFoldersFirst);
+      end;
+
+      for i:=0 to Files.Count-1 do
+      begin
+        FileItem:=TFileItem(Files[i]);
+        AResult.AddObject(FileItem.FileInfo.Name, FileItem);
+      end;
+      //don't free the TFileItems here, they will freed by the calling routine
+      Files.Free;
+    end;
+
+  {$if defined(windows) and not defined(wince)}
+  finally
+     SetErrorMode(ErrMode);
+  end;
+  {$endif}
+end;
+
+

+ 2 - 1
lazpaint/image/uimage.pas

@@ -108,7 +108,7 @@ type
       AOriginal: TBGRALayerCustomOriginal; var ADiff: TBGRAOriginalDiff);
     procedure OriginalEditingChange({%H-}ASender: TObject;
       {%H-}AOriginal: TBGRALayerCustomOriginal);
-    procedure OriginalLoadError(ASender: TObject; AError: string;
+    procedure OriginalLoadError({%H-}ASender: TObject; {%H-}AError: string;
       var ARaise: boolean);
     procedure SetBlendOperation(AIndex: integer; AValue: TBlendOperation);
     procedure SetCurrentFilenameUTF8(AValue: string);
@@ -677,6 +677,7 @@ begin
       gif.ReplaceFullFrame(newFrameIndex, RenderedImage, gif.FrameDelayMs[newFrameIndex]);
     end;
 
+    gif.OptimizeFrames;
     s := FileManager.CreateFileStream(AOutputFilename,fmCreate);
     try
       gif.SaveToStream(s);

+ 1 - 0
lazpaint/image/uimageaction.pas

@@ -639,6 +639,7 @@ begin
     img := Image.SelectionLayerReadonly;
   end;
   try
+    str := '';
     setlength(str, img.width*img.height*8);
     strPos := 1;
     for yb := 0 to img.Height-1 do

+ 1 - 1
lazpaint/image/uimagestate.pas

@@ -55,7 +55,7 @@ type
       AOriginal: TBGRALayerCustomOriginal; var ADiff: TBGRAOriginalDiff);
     procedure OriginalEditingChange({%H-}ASender: TObject;
       AOriginal: TBGRALayerCustomOriginal);
-    procedure OriginalLoadError(ASender: TObject; AError: string;
+    procedure OriginalLoadError({%H-}ASender: TObject; AError: string;
       var ARaise: boolean);
     procedure SelectImageLayer(AValue: TBGRABitmap);
     procedure SelectImageLayerByIndex(AValue: integer);

+ 1 - 1
lazpaint/image/ustatetype.pas

@@ -197,7 +197,7 @@ type
 
 implementation
 
-uses Math, BGRALzpCommon, UFileSystem;
+uses Math, UFileSystem;
 
 { TComposedImageDifference }
 

+ 7 - 3
lazpaint/lazpaint.lpi

@@ -1,11 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="11"/>
+    <Version Value="12"/>
     <PathDelim Value="\"/>
     <General>
+      <Flags>
+        <CompatibilityMode Value="True"/>
+      </Flags>
       <SessionStorage Value="InProjectDir"/>
-      <MainUnit Value="0"/>
       <Title Value="LazPaint"/>
       <ResourceType Value="res"/>
       <UseXPManifest Value="True"/>
@@ -17,7 +19,7 @@
       <Icon Value="0"/>
     </General>
     <i18n>
-      <EnableI18N LFM="False"/>
+      <EnableI18N Value="True"/>
       <OutDir Value="release\bin\i18n"/>
     </i18n>
     <VersionInfo>
@@ -56,6 +58,7 @@
           <Linking>
             <Debugging>
               <GenerateDebugInfo Value="False"/>
+              <DebugInfoType Value="dsDwarf2Set"/>
               <UseLineInfoUnit Value="False"/>
               <StripSymbols Value="True"/>
             </Debugging>
@@ -1066,6 +1069,7 @@
     </CodeGeneration>
     <Linking>
       <Debugging>
+        <DebugInfoType Value="dsDwarf2Set"/>
         <UseHeaptrc Value="True"/>
       </Debugging>
       <Options>

+ 7 - 0
lazpaint/lazpaint.lpr

@@ -51,6 +51,11 @@ begin
   p := TProcess.Create(nil);
   exe := Application.ExeName;
   p.Executable := exe;
+  if CustomScriptDirectory <> '' then
+  begin
+    p.Parameters.Add('-scriptbasedir');
+    p.Parameters.Add(CustomScriptDirectory);
+  end;
   p.Options := [];
   p.Execute;
   p.Free;
@@ -118,8 +123,10 @@ end;
 
 procedure TMyLazPaintInstance.ApplicationException(Sender: TObject; E: Exception);
 var
+  {$IFDEF DEBUG}
   I: Integer;
   Frames: PPointer;
+  {$ENDIF}
   Report: string;
 begin
   if Initialized then

+ 3 - 2
lazpaint/lazpaintinstance.pas

@@ -75,7 +75,7 @@ type
     procedure PythonBusy({%H-}Sender: TObject);
     function ScriptShowMessage(AVars: TVariableSet): TScriptResult;
     function ScriptInputBox(AVars: TVariableSet): TScriptResult;
-    procedure ToolQueryColorTarget(sender: TToolManager; ATarget: TVectorialFill);
+    procedure ToolQueryColorTarget({%H-}sender: TToolManager; ATarget: TVectorialFill);
 
   protected
     InColorFromFChooseColor: boolean;
@@ -286,8 +286,9 @@ uses LCLType, Types, Dialogs, FileUtil, StdCtrls, LCLIntf, BGRAUTF8, UTranslatio
      unewimage, uresample, UPixelate, unoisefilter, ufilters,
      USharpen, uposterize, UPhongFilter, UFilterFunction,
      uprint, USaveOption, UFormRain,
+     {$IFDEF DARWIN}BGRAGraphics,{$ENDIF}
 
-     ugraph, LCScaleDPI, ucommandline, uabout, UPython, BGRAGraphics;
+     ugraph, LCScaleDPI, ucommandline, uabout, UPython;
 
 { TLazPaintInstance }
 

File diff suppressed because it is too large
+ 1186 - 4353
lazpaint/lazpaintmainform.lfm


+ 320 - 0
lazpaint/lazpaintmainform.lrj

@@ -0,0 +1,320 @@
+{"version":1,"strings":[
+{"hash":150371188,"name":"tfmain.caption","sourcebytes":[76,97,122,80,97,105,110,116],"value":"LazPaint"},
+{"hash":44380332,"name":"tfmain.image_currenttool.hint","sourcebytes":[83,101,108,101,99,116,101,100,32,116,111,111,108],"value":"Selected tool"},
+{"hash":30191261,"name":"tfmain.label_currentzoom.hint","sourcebytes":[67,117,114,114,101,110,116,32,122,111,111,109],"value":"Current zoom"},
+{"hash":37,"name":"tfmain.label_currentzoom.caption","sourcebytes":[37],"value":"%"},
+{"hash":176868709,"name":"tfmain.label_currentdiff.hint","sourcebytes":[67,111,108,111,114,32,100,105,102,102,101,114,101,110,99,101],"value":"Color difference"},
+{"hash":213797,"name":"tfmain.label_currentdiff.caption","sourcebytes":[49,48,48,37],"value":"100%"},
+{"hash":6159272,"name":"tfmain.label_penwidth.caption","sourcebytes":[87,105,100,116,104],"value":"Width"},
+{"hash":8236392,"name":"tfmain.spinedit_penwidth.hint","sourcebytes":[80,101,110,32,119,105,100,116,104],"value":"Pen width"},
+{"hash":5015701,"name":"tfmain.label_eraser.caption","sourcebytes":[69,114,97,115,101],"value":"Erase"},
+{"hash":219565076,"name":"tfmain.tool_erasealpha.hint","sourcebytes":[77,97,107,101,32,116,114,97,110,115,112,97,114,101,110,116],"value":"Make transparent"},
+{"hash":94755518,"name":"tfmain.tool_eraseblur.hint","sourcebytes":[83,111,102,116,101,110],"value":"Soften"},
+{"hash":50199278,"name":"tfmain.tool_eraselighten.hint","sourcebytes":[76,105,103,104,116,101,110],"value":"Lighten"},
+{"hash":78156222,"name":"tfmain.tool_erasedarken.hint","sourcebytes":[68,97,114,107,101,110],"value":"Darken"},
+{"hash":166237934,"name":"tfmain.tool_erasesharpen.hint","sourcebytes":[83,104,97,114,112,101,110],"value":"Sharpen"},
+{"hash":250503177,"name":"tfmain.spinedit_eraser.hint","sourcebytes":[69,114,97,115,101,114,32,111,112,97,99,105,116,121],"value":"Eraser opacity"},
+{"hash":46678005,"name":"tfmain.label_tolerance.caption","sourcebytes":[84,111,108,101,114,97,110,99,101],"value":"Tolerance"},
+{"hash":24460908,"name":"tfmain.tool_progressivefloodfill.hint","sourcebytes":[80,114,111,103,114,101,115,115,105,118,101,32,102,108,111,111,100,102,105,108,108],"value":"Progressive floodfill"},
+{"hash":24460908,"name":"tfmain.tool_progressivefloodfill.caption","sourcebytes":[80,114,111,103,114,101,115,115,105,118,101,32,102,108,111,111,100,102,105,108,108],"value":"Progressive floodfill"},
+{"hash":115147346,"name":"tfmain.tool_drawshapeborder.hint","sourcebytes":[68,114,97,119,32,98,111,114,100,101,114],"value":"Draw border"},
+{"hash":243087429,"name":"tfmain.tool_fillshape.hint","sourcebytes":[70,105,108,108,32,115,104,97,112,101],"value":"Fill shape"},
+{"hash":181333059,"name":"tfmain.label_coordinates.hint","sourcebytes":[67,111,111,114,100,105,110,97,116,101,115],"value":"Coordinates"},
+{"hash":218886153,"name":"tfmain.label_coordinates.caption","sourcebytes":[57,57,57,57,120,57,57,57,57],"value":"9999x9999"},
+{"hash":42364240,"name":"tfmain.tool_capflat.hint","sourcebytes":[70,108,97,116,32,99,97,112],"value":"Flat cap"},
+{"hash":205926624,"name":"tfmain.tool_capround.hint","sourcebytes":[82,111,117,110,100,32,99,97,112],"value":"Round cap"},
+{"hash":142786864,"name":"tfmain.tool_capsquare.hint","sourcebytes":[83,113,117,97,114,101,32,99,97,112],"value":"Square cap"},
+{"hash":224157463,"name":"tfmain.spinedit_arrowsizex.hint","sourcebytes":[72,111,114,105,122,111,110,116,97,108,32,115,105,122,101,32,111,102,32,116,104,101,32,97,114,114,111,119],"value":"Horizontal size of the arrow"},
+{"hash":47574855,"name":"tfmain.spinedit_arrowsizey.hint","sourcebytes":[86,101,114,116,105,99,97,108,32,115,105,122,101,32,111,102,32,116,104,101,32,97,114,114,111,119],"value":"Vertical size of the arrow"},
+{"hash":199465278,"name":"tfmain.tool_joinbevel.hint","sourcebytes":[66,101,118,101,108,32,106,111,105,110],"value":"Bevel join"},
+{"hash":73704254,"name":"tfmain.tool_joinround.hint","sourcebytes":[82,111,117,110,100,32,106,111,105,110],"value":"Round join"},
+{"hash":205804894,"name":"tfmain.tool_joinmiter.hint","sourcebytes":[77,105,116,101,114,32,106,111,105,110],"value":"Miter join"},
+{"hash":8055525,"name":"tfmain.combobox_penstyle.hint","sourcebytes":[80,101,110,32,115,116,121,108,101],"value":"Pen style"},
+{"hash":321780,"name":"tfmain.label_grid.caption","sourcebytes":[71,114,105,100],"value":"Grid"},
+{"hash":120,"name":"tfmain.label_gridx.caption","sourcebytes":[120],"value":"x"},
+{"hash":65314814,"name":"tfmain.tool_gridmovewithoutdeformation.hint","sourcebytes":[77,111,118,101,32,103,114,105,100,32,119,105,116,104,111,117,116,32,100,101,102,111,114,109,97,116,105,111,110],"value":"Move grid without deformation"},
+{"hash":4901317,"name":"tfmain.label_curve.caption","sourcebytes":[67,117,114,118,101],"value":"Curve"},
+{"hash":200334437,"name":"tfmain.tool_curvemodeangle.hint","sourcebytes":[68,114,97,119,32,97,110,32,97,110,103,108,101],"value":"Draw an angle"},
+{"hash":131219621,"name":"tfmain.tool_curvemodecurve.hint","sourcebytes":[68,114,97,119,32,97,32,99,117,114,118,101],"value":"Draw a curve"},
+{"hash":218543091,"name":"tfmain.tool_curvemodeauto.hint","sourcebytes":[65,117,116,111,100,101,116,101,99,116,32,97,110,103,108,101,115],"value":"Autodetect angles"},
+{"hash":125049492,"name":"tfmain.tool_curvemovepoint.hint","sourcebytes":[77,111,118,101,32,112,111,105,110,116],"value":"Move point"},
+{"hash":371956,"name":"tfmain.label_text.caption","sourcebytes":[84,101,120,116],"value":"Text"},
+{"hash":71566590,"name":"tfmain.tool_textfont.hint","sourcebytes":[67,104,111,111,115,101,32,102,111,110,116,46,46,46],"value":"Choose font..."},
+{"hash":180162887,"name":"tfmain.tool_textphong.hint","sourcebytes":[84,101,120,116,32,112,104,111,110,103,32,115,104,97,100,105,110,103],"value":"Text phong shading"},
+{"hash":235120932,"name":"tfmain.tool_textalignleft.hint","sourcebytes":[65,108,105,103,110,32,108,101,102,116],"value":"Align left"},
+{"hash":77355714,"name":"tfmain.tool_textaligncenter.hint","sourcebytes":[67,101,110,116,101,114],"value":"Center"},
+{"hash":3199508,"name":"tfmain.tool_textalignright.hint","sourcebytes":[65,108,105,103,110,32,114,105,103,104,116],"value":"Align right"},
+{"hash":258464709,"name":"tfmain.spinedit_textsize.hint","sourcebytes":[84,101,120,116,32,115,105,122,101],"value":"Text size"},
+{"hash":5892197,"name":"tfmain.label_shape.caption","sourcebytes":[83,104,97,112,101],"value":"Shape"},
+{"hash":76974786,"name":"tfmain.label_phongborder.caption","sourcebytes":[66,111,114,100,101,114],"value":"Border"},
+{"hash":178787989,"name":"tfmain.tool_phongshaperectangle.hint","sourcebytes":[82,101,99,116,97,110,103,108,101],"value":"Rectangle"},
+{"hash":4807381,"name":"tfmain.tool_phongshaperoundrect.hint","sourcebytes":[82,111,117,110,100,101,100,32,114,101,99,116,97,110,103,108,101],"value":"Rounded rectangle"},
+{"hash":94825605,"name":"tfmain.tool_phongshapesphere.hint","sourcebytes":[83,112,104,101,114,101],"value":"Sphere"},
+{"hash":304709,"name":"tfmain.tool_phongshapecone.hint","sourcebytes":[67,111,110,101],"value":"Cone"},
+{"hash":187648901,"name":"tfmain.tool_phongshapeverticalcone.hint","sourcebytes":[86,101,114,116,105,99,97,108,32,99,111,110,101],"value":"Vertical cone"},
+{"hash":115522882,"name":"tfmain.tool_phongshapehorizontalcylinder.hint","sourcebytes":[72,111,114,105,122,111,110,116,97,108,32,99,121,108,105,110,100,101,114],"value":"Horizontal cylinder"},
+{"hash":31811010,"name":"tfmain.tool_phongshapeverticalcylinder.hint","sourcebytes":[86,101,114,116,105,99,97,108,32,99,121,108,105,110,100,101,114],"value":"Vertical cylinder"},
+{"hash":202312101,"name":"tfmain.spinedit_phongbordersize.hint","sourcebytes":[66,111,114,100,101,114,32,115,105,122,101],"value":"Border size"},
+{"hash":61914917,"name":"tfmain.label_altitude.caption","sourcebytes":[65,108,116,105,116,117,100,101],"value":"Altitude"},
+{"hash":221694037,"name":"tfmain.spinedit_shapealtitude.hint","sourcebytes":[83,104,97,112,101,32,97,108,116,105,116,117,100,101],"value":"Shape altitude"},
+{"hash":6159272,"name":"tfmain.label_outlinewidth.caption","sourcebytes":[87,105,100,116,104],"value":"Width"},
+{"hash":57137717,"name":"tfmain.tool_textoutline.hint","sourcebytes":[84,101,120,116,32,111,117,116,108,105,110,101],"value":"Text outline"},
+{"hash":68821400,"name":"tfmain.spinedit_textoutlinewidth.hint","sourcebytes":[84,101,120,116,32,111,117,116,108,105,110,101,32,119,105,100,116,104],"value":"Text outline width"},
+{"hash":30209135,"name":"tfmain.perspective_twoplanes.hint","sourcebytes":[68,114,97,119,32,111,112,112,111,115,105,116,101,32,112,108,97,110,101,32,116,111,111],"value":"Draw opposite plane too"},
+{"hash":65297493,"name":"tfmain.perspective_repeat.hint","sourcebytes":[82,101,112,101,97,116,32,105,109,97,103,101],"value":"Repeat image"},
+{"hash":4824216,"name":"tfmain.label_brush.caption","sourcebytes":[66,114,117,115,104],"value":"Brush"},
+{"hash":174563351,"name":"tfmain.label_spacing.caption","sourcebytes":[83,112,97,99,105,110,103],"value":"Spacing"},
+{"hash":70662787,"name":"tfmain.spinedit_brushspacing.hint","sourcebytes":[83,112,97,99,105,110,103,32,98,101,116,119,101,101,110,32,112,97,116,116,101,114,110,115],"value":"Spacing between patterns"},
+{"hash":5802751,"name":"tfmain.label_ratio.caption","sourcebytes":[82,97,116,105,111],"value":"Ratio"},
+{"hash":67807111,"name":"tfmain.tool_aliasing.hint","sourcebytes":[68,105,115,97,98,108,101,32,97,110,116,105,97,108,105,97,115,105,110,103],"value":"Disable antialiasing"},
+{"hash":120839925,"name":"tfmain.tool_closeshape.hint","sourcebytes":[67,108,111,115,101,32,115,104,97,112,101],"value":"Close shape"},
+{"hash":130332167,"name":"tfmain.tool_textshadow.hint","sourcebytes":[84,101,120,116,32,115,104,97,100,111,119],"value":"Text shadow"},
+{"hash":299970,"name":"tfmain.label_textblur.caption","sourcebytes":[66,108,117,114],"value":"Blur"},
+{"hash":114259058,"name":"tfmain.spinedit_textblur.hint","sourcebytes":[83,104,97,100,111,119,32,98,108,117,114],"value":"Shadow blur"},
+{"hash":89971140,"name":"tfmain.label_shadowoffset.caption","sourcebytes":[79,102,102,115,101,116],"value":"Offset"},
+{"hash":236421172,"name":"tfmain.spinedit_textshadowx.hint","sourcebytes":[72,111,114,105,122,111,110,116,97,108,32,115,104,97,100,111,119,32,111,102,102,115,101,116],"value":"Horizontal shadow offset"},
+{"hash":105381300,"name":"tfmain.spinedit_textshadowy.hint","sourcebytes":[86,101,114,116,105,99,97,108,32,115,104,97,100,111,119,32,111,102,102,115,101,116],"value":"Vertical shadow offset"},
+{"hash":22206,"name":"tfmain.label_pen.caption","sourcebytes":[80,101,110],"value":"Pen"},
+{"hash":264792562,"name":"tfmain.image_swapcolors.hint","sourcebytes":[83,119,105,116,99,104,32,99,111,108,111,114],"value":"Switch color"},
+{"hash":296859,"name":"tfmain.label_back.caption","sourcebytes":[66,97,99,107],"value":"Back"},
+{"hash":76172398,"name":"tfmain.button_donate.caption","sourcebytes":[68,111,110,97,116,101,46,46,46],"value":"Donate..."},
+{"hash":88908046,"name":"tfmain.filenew.caption","sourcebytes":[78,101,119,46,46,46],"value":"New..."},
+{"hash":111833829,"name":"tfmain.filenew.hint","sourcebytes":[67,114,101,97,116,101,32,97,32,110,101,119,32,102,105,108,101],"value":"Create a new file"},
+{"hash":107745630,"name":"tfmain.fileopen.caption","sourcebytes":[79,112,101,110,46,46,46],"value":"Open..."},
+{"hash":218146437,"name":"tfmain.fileopen.hint","sourcebytes":[79,112,101,110,32,101,120,105,115,116,105,110,103,32,102,105,108,101],"value":"Open existing file"},
+{"hash":23459486,"name":"tfmain.viewzoomin.hint","sourcebytes":[90,111,111,109,32,105,110],"value":"Zoom in"},
+{"hash":106918100,"name":"tfmain.viewzoomout.hint","sourcebytes":[90,111,111,109,32,111,117,116],"value":"Zoom out"},
+{"hash":251132352,"name":"tfmain.imagehorizontalflip.caption","sourcebytes":[72,111,114,105,122,111,110,116,97,108,32,102,108,105,112],"value":"Horizontal flip"},
+{"hash":107134297,"name":"tfmain.imagehorizontalflip.hint","sourcebytes":[70,108,105,112,32,105,109,97,103,101,32,104,111,114,105,122,111,110,116,97,108,108,121],"value":"Flip image horizontally"},
+{"hash":187662016,"name":"tfmain.imageverticalflip.caption","sourcebytes":[86,101,114,116,105,99,97,108,32,102,108,105,112],"value":"Vertical flip"},
+{"hash":128483817,"name":"tfmain.imageverticalflip.hint","sourcebytes":[70,108,105,112,32,105,109,97,103,101,32,118,101,114,116,105,99,97,108,108,121],"value":"Flip image vertically"},
+{"hash":72010382,"name":"tfmain.imageresample.caption","sourcebytes":[82,101,115,97,109,112,108,101,46,46,46],"value":"Resample..."},
+{"hash":200831861,"name":"tfmain.imageresample.hint","sourcebytes":[82,101,115,97,109,112,108,101,32,105,109,97,103,101],"value":"Resample image"},
+{"hash":192766339,"name":"tfmain.imagesmartzoom3.caption","sourcebytes":[83,109,97,114,116,32,122,111,111,109,32,120,51],"value":"Smart zoom x3"},
+{"hash":23626005,"name":"tfmain.viewzoomoriginal.caption","sourcebytes":[79,114,105,103,105,110,97,108,32,115,105,122,101],"value":"Original size"},
+{"hash":259531189,"name":"tfmain.viewzoomoriginal.hint","sourcebytes":[90,111,111,109,32,116,111,32,111,114,105,103,105,110,97,108,32,112,105,120,101,108,32,115,105,122,101],"value":"Zoom to original pixel size"},
+{"hash":378031,"name":"tfmain.editundo.caption","sourcebytes":[85,110,100,111],"value":"Undo"},
+{"hash":130699086,"name":"tfmain.editundo.hint","sourcebytes":[85,110,100,111,32,108,97,115,116,32,109,111,100,105,102,105,99,97,116,105,111,110],"value":"Undo last modification"},
+{"hash":363439,"name":"tfmain.editredo.hint","sourcebytes":[82,101,100,111],"value":"Redo"},
+{"hash":106916628,"name":"tfmain.viewzoomfit.caption","sourcebytes":[90,111,111,109,32,102,105,116],"value":"Zoom fit"},
+{"hash":131274455,"name":"tfmain.viewzoomfit.hint","sourcebytes":[90,111,111,109,32,116,111,32,102,105,116,32,105,110,32,116,104,101,32,119,105,110,100,111,119],"value":"Zoom to fit in the window"},
+{"hash":211562244,"name":"tfmain.editdeselect.hint","sourcebytes":[68,101,115,101,108,101,99,116],"value":"Deselect"},
+{"hash":237622494,"name":"tfmain.editinvertselection.hint","sourcebytes":[73,110,118,101,114,116,32,115,101,108,101,99,116,105,111,110],"value":"Invert selection"},
+{"hash":17148597,"name":"tfmain.toolselectrect.hint","sourcebytes":[83,101,108,101,99,116,32,114,101,99,116,97,110,103,108,101],"value":"Select rectangle"},
+{"hash":135963749,"name":"tfmain.toolselectellipse.hint","sourcebytes":[83,101,108,101,99,116,32,101,108,108,105,112,115,101],"value":"Select ellipse"},
+{"hash":193486782,"name":"tfmain.toolselectpoly.hint","sourcebytes":[83,101,108,101,99,116,32,112,111,108,121,103,111,110],"value":"Select polygon"},
+{"hash":66511461,"name":"tfmain.toolselectspline.hint","sourcebytes":[83,101,108,101,99,116,32,99,117,114,118,101],"value":"Select curve"},
+{"hash":75354974,"name":"tfmain.toolmoveselection.hint","sourcebytes":[77,111,118,101,32,115,101,108,101,99,116,105,111,110],"value":"Move selection"},
+{"hash":128109646,"name":"tfmain.toolselectpen.caption","sourcebytes":[83,101,108,101,99,116,105,111,110,32,112,101,110],"value":"Selection pen"},
+{"hash":228577870,"name":"tfmain.toolselectpen.hint","sourcebytes":[68,114,97,119,32,115,101,108,101,99,116,105,111,110,32,119,105,116,104,32,112,101,110],"value":"Draw selection with pen"},
+{"hash":304761,"name":"tfmain.editcopy.caption","sourcebytes":[67,111,112,121],"value":"Copy"},
+{"hash":79811454,"name":"tfmain.editcopy.hint","sourcebytes":[67,111,112,121,32,115,101,108,101,99,116,105,111,110],"value":"Copy selection"},
+{"hash":5671589,"name":"tfmain.editpaste.hint","sourcebytes":[80,97,115,116,101],"value":"Paste"},
+{"hash":19140,"name":"tfmain.editcut.caption","sourcebytes":[67,117,116],"value":"Cut"},
+{"hash":142399070,"name":"tfmain.editcut.hint","sourcebytes":[67,117,116,32,115,101,108,101,99,116,105,111,110],"value":"Cut selection"},
+{"hash":78392485,"name":"tfmain.editdeleteselection.caption","sourcebytes":[68,101,108,101,116,101],"value":"Delete"},
+{"hash":236551166,"name":"tfmain.editdeleteselection.hint","sourcebytes":[68,101,108,101,116,101,32,115,101,108,101,99,116,105,111,110],"value":"Delete selection"},
+{"hash":169361790,"name":"tfmain.toolrotateselection.hint","sourcebytes":[82,111,116,97,116,101,32,115,101,108,101,99,116,105,111,110],"value":"Rotate selection"},
+{"hash":195296268,"name":"tfmain.editselectall.caption","sourcebytes":[83,101,108,101,99,116,32,97,108,108],"value":"Select all"},
+{"hash":195296268,"name":"tfmain.editselectall.hint","sourcebytes":[83,101,108,101,99,116,32,97,108,108],"value":"Select all"},
+{"hash":191244600,"name":"tfmain.viewtoolbox.caption","sourcebytes":[84,111,111,108,98,111,120],"value":"Toolbox"},
+{"hash":78001811,"name":"tfmain.viewcolors.caption","sourcebytes":[67,111,108,111,114,115],"value":"Colors"},
+{"hash":88162814,"name":"tfmain.imagecrop.caption","sourcebytes":[67,114,111,112,32,116,111,32,115,101,108,101,99,116,105,111,110],"value":"Crop to selection"},
+{"hash":128112628,"name":"tfmain.editselectionfit.caption","sourcebytes":[83,101,108,101,99,116,105,111,110,32,102,105,116],"value":"Selection fit"},
+{"hash":73053668,"name":"tfmain.imageclearalpha.caption","sourcebytes":[67,108,101,97,114,32,97,108,112,104,97,32,99,104,97,110,110,101,108,32,97,110,100,32,115,101,116,32,98,97,99,107,103,114,111,117,110,100],"value":"Clear alpha channel and set background"},
+{"hash":32413959,"name":"tfmain.imagefillbackground.caption","sourcebytes":[70,105,108,108,32,98,97,99,107,103,114,111,117,110,100,32,119,105,116,104,32,97,110,116,105,97,108,105,97,115,105,110,103],"value":"Fill background with antialiasing"},
+{"hash":40698606,"name":"tfmain.imagechangecanvassize.caption","sourcebytes":[67,97,110,118,97,115,32,115,105,122,101,46,46,46],"value":"Canvas size..."},
+{"hash":174425639,"name":"tfmain.imagerotatecw.caption","sourcebytes":[82,111,116,97,116,101,32,57,48,194,176,32,67,87],"value":"Rotate 90\u00B0 CW"},
+{"hash":106458407,"name":"tfmain.imagerotateccw.caption","sourcebytes":[82,111,116,97,116,101,32,57,48,194,176,32,67,67,87],"value":"Rotate 90\u00B0 CCW"},
+{"hash":44176496,"name":"tfmain.imagerotate180.caption","sourcebytes":[82,111,116,97,116,101,32,49,56,48,194,176],"value":"Rotate 180\u00B0"},
+{"hash":219032926,"name":"tfmain.colorintensity.caption","sourcebytes":[73,110,116,101,110,115,105,116,121,46,46,46],"value":"Intensity..."},
+{"hash":102010462,"name":"tfmain.colorlightness.caption","sourcebytes":[66,114,105,103,104,116,110,101,115,115,32,47,32,67,111,110,116,114,97,115,116,46,46,46],"value":"Brightness / Contrast..."},
+{"hash":247427790,"name":"tfmain.colorshiftcolors.caption","sourcebytes":[83,104,105,102,116,32,99,111,108,111,114,115,46,46,46],"value":"Shift colors..."},
+{"hash":156902510,"name":"tfmain.colorcolorize.caption","sourcebytes":[67,111,108,111,114,105,122,101,46,46,46],"value":"Colorize..."},
+{"hash":78427662,"name":"tfmain.helpindex.caption","sourcebytes":[73,110,100,101,120,46,46,46],"value":"Index..."},
+{"hash":158102910,"name":"tfmain.helpabout.caption","sourcebytes":[65,98,111,117,116,46,46,46],"value":"About..."},
+{"hash":112740814,"name":"tfmain.imagerepeat.caption","sourcebytes":[82,101,112,101,97,116,46,46,46],"value":"Repeat..."},
+{"hash":257089940,"name":"tfmain.toolmagicwand.caption","sourcebytes":[77,97,103,105,99,32,119,97,110,100],"value":"Magic wand"},
+{"hash":45494836,"name":"tfmain.toolmagicwand.hint","sourcebytes":[77,97,103,105,99,32,119,97,110,100,32,115,101,108,101,99,116],"value":"Magic wand select"},
+{"hash":77818803,"name":"tfmain.renderclouds.caption","sourcebytes":[67,108,111,117,100,115],"value":"Clouds"},
+{"hash":240690499,"name":"tfmain.rendercustomwater.caption","sourcebytes":[87,97,116,101,114,32,119,105,116,104,32,99,117,115,116,111,109,32,99,111,108,111,114,115],"value":"Water with custom colors"},
+{"hash":85578645,"name":"tfmain.renderperlinnoise.caption","sourcebytes":[80,101,114,108,105,110,32,110,111,105,115,101],"value":"Perlin noise"},
+{"hash":261781,"name":"tfmain.rendercyclicperlinnoise.caption","sourcebytes":[67,121,99,108,105,99,32,80,101,114,108,105,110,32,110,111,105,115,101],"value":"Cyclic Perlin noise"},
+{"hash":386644,"name":"tfmain.renderwood.caption","sourcebytes":[87,111,111,100],"value":"Wood"},
+{"hash":120105643,"name":"tfmain.renderplastik.caption","sourcebytes":[80,108,97,115,116,105,107],"value":"Plastik"},
+{"hash":239140882,"name":"tfmain.rendermetalfloor.caption","sourcebytes":[77,101,116,97,108,32,102,108,111,111,114],"value":"Metal floor"},
+{"hash":112836501,"name":"tfmain.rendercamouflage.caption","sourcebytes":[67,97,109,111,117,102,108,97,103,101],"value":"Camouflage"},
+{"hash":158477108,"name":"tfmain.rendersnowprint.caption","sourcebytes":[83,110,111,119,32,112,114,105,110,116],"value":"Snow print"},
+{"hash":5944901,"name":"tfmain.renderstone.caption","sourcebytes":[83,116,111,110,101],"value":"Stone"},
+{"hash":103012869,"name":"tfmain.renderroundstone.caption","sourcebytes":[82,111,117,110,100,32,115,116,111,110,101],"value":"Round stone"},
+{"hash":87591205,"name":"tfmain.rendermarble.caption","sourcebytes":[77,97,114,98,108,101],"value":"Marble"},
+{"hash":6130370,"name":"tfmain.renderwater.caption","sourcebytes":[87,97,116,101,114],"value":"Water"},
+{"hash":187599764,"name":"tfmain.renderwoodvertical.caption","sourcebytes":[86,101,114,116,105,99,97,108,32,119,111,111,100],"value":"Vertical wood"},
+{"hash":137342309,"name":"tfmain.embeddedvalidate.caption","sourcebytes":[86,97,108,105,100,97,116,101],"value":"Validate"},
+{"hash":75331571,"name":"tfmain.embeddedvalidate.hint","sourcebytes":[86,97,108,105,100,97,116,101,32,109,111,100,105,102,105,99,97,116,105,111,110,115],"value":"Validate modifications"},
+{"hash":77089212,"name":"tfmain.embeddedcancel.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
+{"hash":93963171,"name":"tfmain.embeddedcancel.hint","sourcebytes":[67,97,110,99,101,108,32,109,111,100,105,102,105,99,97,116,105,111,110,115],"value":"Cancel modifications"},
+{"hash":321780,"name":"tfmain.viewgrid.caption","sourcebytes":[71,114,105,100],"value":"Grid"},
+{"hash":176417125,"name":"tfmain.editpasteasnew.caption","sourcebytes":[80,97,115,116,101,32,97,115,32,110,101,119,32,105,109,97,103,101],"value":"Paste as new image"},
+{"hash":221621454,"name":"tfmain.editselection.caption","sourcebytes":[69,100,105,116,32,115,101,108,101,99,116,105,111,110,46,46,46],"value":"Edit selection..."},
+{"hash":86572179,"name":"tfmain.viewlayerstack.caption","sourcebytes":[76,97,121,101,114,115],"value":"Layers"},
+{"hash":124848643,"name":"tfmain.viewlayerstackbutton.caption","sourcebytes":[83,104,111,119,32,108,97,121,101,114,115],"value":"Show layers"},
+{"hash":214344631,"name":"tfmain.viewlayerstackbutton.hint","sourcebytes":[83,104,111,119,32,111,114,32,104,105,100,101,32,108,97,121,101,114,32,115,116,97,99,107,32,119,105,110,100,111,119],"value":"Show or hide layer stack window"},
+{"hash":161226738,"name":"tfmain.imagecroplayer.caption","sourcebytes":[67,114,111,112,32,116,111,32,115,101,108,101,99,116,105,111,110,32,97,110,100,32,99,117,114,114,101,110,116,32,108,97,121,101,114],"value":"Crop to selection and current layer"},
+{"hash":97075273,"name":"tfmain.layerhorizontalflip.hint","sourcebytes":[70,108,105,112,32,108,97,121,101,114,32,104,111,114,105,122,111,110,116,97,108,108,121],"value":"Flip layer horizontally"},
+{"hash":110750825,"name":"tfmain.layerverticalflip.hint","sourcebytes":[70,108,105,112,32,108,97,121,101,114,32,118,101,114,116,105,99,97,108,108,121],"value":"Flip layer vertically"},
+{"hash":248838978,"name":"tfmain.layeraddnew.hint","sourcebytes":[65,100,100,32,110,101,119,32,108,97,121,101,114],"value":"Add new layer"},
+{"hash":50252034,"name":"tfmain.layerremovecurrent.hint","sourcebytes":[82,101,109,111,118,101,32,108,97,121,101,114],"value":"Remove layer"},
+{"hash":26157074,"name":"tfmain.layerduplicate.hint","sourcebytes":[68,117,112,108,105,99,97,116,101,32,115,101,108,101,99,116,101,100,32,108,97,121,101,114],"value":"Duplicate selected layer"},
+{"hash":20150450,"name":"tfmain.layermergeover.hint","sourcebytes":[77,101,114,103,101,32,108,97,121,101,114,32,111,118,101,114],"value":"Merge layer over"},
+{"hash":224054046,"name":"tfmain.layerfromfile.hint","sourcebytes":[73,109,112,111,114,116,32,108,97,121,101,114,32,102,114,111,109,32,102,105,108,101,46,46,46],"value":"Import layer from file..."},
+{"hash":125290754,"name":"tfmain.layermove.hint","sourcebytes":[77,111,118,101,32,108,97,121,101,114],"value":"Move layer"},
+{"hash":50603874,"name":"tfmain.layerrotate.hint","sourcebytes":[82,111,116,97,116,101,32,108,97,121,101,114],"value":"Rotate layer"},
+{"hash":222858453,"name":"tfmain.imageflatten.caption","sourcebytes":[70,108,97,116,116,101,110,32,105,109,97,103,101],"value":"Flatten image"},
+{"hash":93074804,"name":"tfmain.filereload.caption","sourcebytes":[82,101,108,111,97,100],"value":"Reload"},
+{"hash":366789,"name":"tfmain.filesave.caption","sourcebytes":[83,97,118,101],"value":"Save"},
+{"hash":60022005,"name":"tfmain.filesave.hint","sourcebytes":[83,97,118,101,32,99,117,114,114,101,110,116,32,102,105,108,101],"value":"Save current file"},
+{"hash":124639694,"name":"tfmain.filesaveas.caption","sourcebytes":[83,97,118,101,32,97,115,46,46,46],"value":"Save as..."},
+{"hash":159035875,"name":"tfmain.filesaveas.hint","sourcebytes":[83,97,118,101,32,102,105,108,101,32,97,115],"value":"Save file as"},
+{"hash":363524,"name":"tfmain.filequit.hint","sourcebytes":[81,117,105,116],"value":"Quit"},
+{"hash":169186686,"name":"tfmain.filesaveselectionas.caption","sourcebytes":[83,97,118,101,32,115,101,108,101,99,116,105,111,110,32,97,115,46,46,46],"value":"Save selection as..."},
+{"hash":223186382,"name":"tfmain.fileloadselection.caption","sourcebytes":[76,111,97,100,32,115,101,108,101,99,116,105,111,110,46,46,46],"value":"Load selection..."},
+{"hash":59477454,"name":"tfmain.fileimport3d.caption","sourcebytes":[73,109,112,111,114,116,32,51,68,32,111,98,106,101,99,116,46,46,46],"value":"Import 3D object..."},
+{"hash":164375502,"name":"tfmain.colorcurves.caption","sourcebytes":[67,117,114,118,101,115,46,46,46],"value":"Curves..."},
+{"hash":243723214,"name":"tfmain.colorposterize.caption","sourcebytes":[80,111,115,116,101,114,105,122,101,46,46,46],"value":"Posterize..."},
+{"hash":151352958,"name":"tfmain.fileprint.caption","sourcebytes":[80,114,105,110,116,46,46,46],"value":"Print..."},
+{"hash":225719252,"name":"tfmain.viewimagelist.caption","sourcebytes":[73,109,97,103,101,32,108,105,115,116],"value":"Image list"},
+{"hash":66110750,"name":"tfmain.filesaveasinsamefolder.caption","sourcebytes":[83,97,118,101,32,105,110,32,115,97,109,101,32,102,111,108,100,101,114,46,46,46],"value":"Save in same folder..."},
+{"hash":178213234,"name":"tfmain.editpasteasnewlayer.caption","sourcebytes":[80,97,115,116,101,32,97,115,32,110,101,119,32,108,97,121,101,114],"value":"Paste as new layer"},
+{"hash":158677870,"name":"tfmain.filterblurbox.caption","sourcebytes":[66,111,120,32,98,108,117,114,46,46,46],"value":"Box blur..."},
+{"hash":234157934,"name":"tfmain.filterblurfast.caption","sourcebytes":[70,97,115,116,32,98,108,117,114,46,46,46],"value":"Fast blur..."},
+{"hash":61344174,"name":"tfmain.filterblurradial.caption","sourcebytes":[71,97,117,115,115,105,97,110,32,98,108,117,114,46,46,46],"value":"Gaussian blur..."},
+{"hash":262805710,"name":"tfmain.filterblurcorona.caption","sourcebytes":[67,111,114,111,110,97,32,98,108,117,114,46,46,46],"value":"Corona blur..."},
+{"hash":227339886,"name":"tfmain.filterblurdisk.caption","sourcebytes":[68,105,115,107,32,98,108,117,114,46,46,46],"value":"Disk blur..."},
+{"hash":77369838,"name":"tfmain.filterblurprecise.caption","sourcebytes":[80,114,101,99,105,115,101,32,98,108,117,114,46,46,46],"value":"Precise blur..."},
+{"hash":260847150,"name":"tfmain.filterblurmotion.caption","sourcebytes":[77,111,116,105,111,110,32,98,108,117,114,46,46,46],"value":"Motion blur..."},
+{"hash":93793486,"name":"tfmain.filterblurcustom.caption","sourcebytes":[67,117,115,116,111,109,32,98,108,117,114,46,46,46],"value":"Custom blur..."},
+{"hash":158314382,"name":"tfmain.filtersharpen.caption","sourcebytes":[83,104,97,114,112,101,110,46,46,46],"value":"Sharpen..."},
+{"hash":94660264,"name":"tfmain.filtersmooth.caption","sourcebytes":[83,109,111,111,116,104],"value":"Smooth"},
+{"hash":87797630,"name":"tfmain.filtermedian.caption","sourcebytes":[77,101,100,105,97,110],"value":"Median"},
+{"hash":157953342,"name":"tfmain.filteremboss.caption","sourcebytes":[69,109,98,111,115,115,46,46,46],"value":"Emboss..."},
+{"hash":154699365,"name":"tfmain.filternormalize.caption","sourcebytes":[78,111,114,109,97,108,105,122,101],"value":"Normalize"},
+{"hash":198751621,"name":"tfmain.filternegative.caption","sourcebytes":[78,101,103,97,116,105,118,101],"value":"Negative"},
+{"hash":151640741,"name":"tfmain.filtergrayscale.caption","sourcebytes":[71,114,97,121,115,99,97,108,101],"value":"Grayscale"},
+{"hash":174438018,"name":"tfmain.filtercontour.caption","sourcebytes":[67,111,110,116,111,117,114],"value":"Contour"},
+{"hash":94825605,"name":"tfmain.filtersphere.caption","sourcebytes":[83,112,104,101,114,101],"value":"Sphere"},
+{"hash":3165810,"name":"tfmain.filtercylinder.caption","sourcebytes":[67,121,108,105,110,100,101,114],"value":"Cylinder"},
+{"hash":258000517,"name":"tfmain.filterlinearnegative.caption","sourcebytes":[76,105,110,101,97,114,32,110,101,103,97,116,105,118,101],"value":"Linear negative"},
+{"hash":126661353,"name":"tfmain.filterplane.caption","sourcebytes":[80,108,97,110,101,32,40,115,108,111,119,41],"value":"Plane (slow)"},
+{"hash":235468478,"name":"tfmain.filtertwirl.caption","sourcebytes":[84,119,105,114,108,46,46,46],"value":"Twirl..."},
+{"hash":48074702,"name":"tfmain.filterpixelate.caption","sourcebytes":[80,105,120,101,108,97,116,101,46,46,46],"value":"Pixelate..."},
+{"hash":193464901,"name":"tfmain.filtercleartype.caption","sourcebytes":[67,108,101,97,114,84,121,112,101],"value":"ClearType"},
+{"hash":37795461,"name":"tfmain.filtercleartypeinverse.caption","sourcebytes":[73,110,118,101,114,115,101,32,67,108,101,97,114,84,121,112,101],"value":"Inverse ClearType"},
+{"hash":14654542,"name":"tfmain.filterphong.caption","sourcebytes":[83,104,97,100,101,100,32,109,97,112,46,46,46],"value":"Shaded map..."},
+{"hash":31581342,"name":"tfmain.filterfunction.caption","sourcebytes":[65,112,112,108,121,32,102,117,110,99,116,105,111,110,46,46,46],"value":"Apply function..."},
+{"hash":144289715,"name":"tfmain.filtercomplementarycolor.caption","sourcebytes":[67,111,109,112,108,101,109,101,110,116,97,114,121,32,99,111,108,111,114,115],"value":"Complementary colors"},
+{"hash":54233774,"name":"tfmain.filternoise.caption","sourcebytes":[78,111,105,115,101,32,102,105,108,116,101,114,46,46,46],"value":"Noise filter..."},
+{"hash":142610782,"name":"tfmain.filterrain.caption","sourcebytes":[82,97,105,110,46,46,46],"value":"Rain..."},
+{"hash":197181954,"name":"tfmain.viewstatusbar.caption","sourcebytes":[83,116,97,116,117,115,32,98,97,114],"value":"Status bar"},
+{"hash":109235189,"name":"tfmain.viewpalette.caption","sourcebytes":[80,97,108,101,116,116,101],"value":"Palette"},
+{"hash":167619026,"name":"tfmain.fileuseimagebrowser.caption","sourcebytes":[85,115,101,32,105,109,97,103,101,32,98,114,111,119,115,101,114],"value":"Use image browser"},
+{"hash":64004190,"name":"tfmain.filechooseentry.caption","sourcebytes":[67,104,111,111,115,101,32,101,110,116,114,121,46,46,46],"value":"Choose entry..."},
+{"hash":143653317,"name":"tfmain.filechooseentry.hint","sourcebytes":[67,104,111,111,115,101,32,101,110,116,114,121,32,119,105,116,104,105,110,32,102,105,108,101],"value":"Choose entry within file"},
+{"hash":116001155,"name":"tfmain.forgetdialoganswers.caption","sourcebytes":[70,111,114,103,101,116,32,100,105,97,108,111,103,32,98,111,120,32,97,110,115,119,101,114,115],"value":"Forget dialog box answers"},
+{"hash":224505747,"name":"tfmain.forgetdialoganswers.hint","sourcebytes":[70,111,114,103,101,116,32,97,110,115,119,101,114,115,32,103,105,118,101,110,32,116,111,32,100,105,97,108,111,103,32,98,111,120,101,115],"value":"Forget answers given to dialog boxes"},
+{"hash":198751621,"name":"tfmain.imagenegative.caption","sourcebytes":[78,101,103,97,116,105,118,101],"value":"Negative"},
+{"hash":258000517,"name":"tfmain.imagelinearnegative.caption","sourcebytes":[76,105,110,101,97,114,32,110,101,103,97,116,105,118,101],"value":"Linear negative"},
+{"hash":179963859,"name":"tfmain.imageswapredblue.caption","sourcebytes":[83,119,97,112,32,114,101,100,32,97,110,100,32,98,108,117,101,32,99,104,97,110,110,101,108,115],"value":"Swap red and blue channels"},
+{"hash":259299730,"name":"tfmain.layerzoom.hint","sourcebytes":[90,111,111,109,32,108,97,121,101,114],"value":"Zoom layer"},
+{"hash":153208601,"name":"tfmain.selectionhorizontalflip.hint","sourcebytes":[70,108,105,112,32,115,101,108,101,99,116,105,111,110,32,104,111,114,105,122,111,110,116,97,108,108,121],"value":"Flip selection horizontally"},
+{"hash":166020249,"name":"tfmain.selectionverticalflip.hint","sourcebytes":[70,108,105,112,32,115,101,108,101,99,116,105,111,110,32,118,101,114,116,105,99,97,108,108,121],"value":"Flip selection vertically"},
+{"hash":244531892,"name":"tfmain.fileremembersaveformat.hint","sourcebytes":[82,101,109,101,109,98,101,114,32,115,97,118,101,32,102,111,114,109,97,116],"value":"Remember save format"},
+{"hash":232678978,"name":"tfmain.layerrasterize.hint","sourcebytes":[82,97,115,116,101,114,105,122,101,32,108,97,121,101,114],"value":"Rasterize layer"},
+{"hash":97266030,"name":"tfmain.viewworkspacecolor.caption","sourcebytes":[83,101,116,32,119,111,114,107,115,112,97,99,101,32,99,111,108,111,114,46,46,46],"value":"Set workspace color..."},
+{"hash":226378933,"name":"tfmain.viewdarktheme.caption","sourcebytes":[68,97,114,107,32,116,104,101,109,101],"value":"Dark theme"},
+{"hash":17857150,"name":"tfmain.filterwavedisplacement.caption","sourcebytes":[87,97,118,101,32,100,105,115,112,108,97,99,101,109,101,110,116,46,46,46],"value":"Wave displacement..."},
+{"hash":321604,"name":"tfmain.toolhand.caption","sourcebytes":[72,97,110,100],"value":"Hand"},
+{"hash":171743509,"name":"tfmain.toolhand.hint","sourcebytes":[77,111,118,101,32,97,110,100,32,115,99,114,111,108,108,32,112,105,99,116,117,114,101],"value":"Move and scroll picture"},
+{"hash":107455380,"name":"tfmain.toolhotspot.caption","sourcebytes":[72,111,116,32,115,112,111,116],"value":"Hot spot"},
+{"hash":14124562,"name":"tfmain.toolhotspot.hint","sourcebytes":[67,104,111,111,115,101,32,104,111,116,32,115,112,111,116,32,111,102,32,97,32,99,117,114,115,111,114],"value":"Choose hot spot of a cursor"},
+{"hash":63551362,"name":"tfmain.toolcolorpicker.hint","sourcebytes":[67,111,108,111,114,32,112,105,99,107,101,114],"value":"Color picker"},
+{"hash":22206,"name":"tfmain.toolpen.caption","sourcebytes":[80,101,110],"value":"Pen"},
+{"hash":119723774,"name":"tfmain.toolpen.hint","sourcebytes":[83,105,109,112,108,101,32,112,101,110],"value":"Simple pen"},
+{"hash":4824216,"name":"tfmain.toolbrush.hint","sourcebytes":[66,114,117,115,104],"value":"Brush"},
+{"hash":80251330,"name":"tfmain.tooleraser.hint","sourcebytes":[69,114,97,115,101,114],"value":"Eraser"},
+{"hash":106595100,"name":"tfmain.toolfloodfill.hint","sourcebytes":[70,108,111,111,100,102,105,108,108],"value":"Floodfill"},
+{"hash":74651452,"name":"tfmain.toolclone.hint","sourcebytes":[67,108,111,110,101,32,116,111,111,108],"value":"Clone tool"},
+{"hash":108876645,"name":"tfmain.tooleditshape.hint","sourcebytes":[69,100,105,116,32,115,104,97,112,101],"value":"Edit shape"},
+{"hash":178787989,"name":"tfmain.toolrect.hint","sourcebytes":[82,101,99,116,97,110,103,108,101],"value":"Rectangle"},
+{"hash":204670933,"name":"tfmain.toolellipse.hint","sourcebytes":[69,108,108,105,112,115,101],"value":"Ellipse"},
+{"hash":123993614,"name":"tfmain.toolpolygon.caption","sourcebytes":[80,111,108,121,103,111,110],"value":"Polygon"},
+{"hash":53188549,"name":"tfmain.toolpolygon.hint","sourcebytes":[80,111,108,121,103,111,110,32,111,114,32,112,111,108,121,108,105,110,101],"value":"Polygon or polyline"},
+{"hash":4901317,"name":"tfmain.toolspline.caption","sourcebytes":[67,117,114,118,101],"value":"Curve"},
+{"hash":4901317,"name":"tfmain.toolspline.hint","sourcebytes":[67,117,114,118,101],"value":"Curve"},
+{"hash":142278836,"name":"tfmain.toolgradient.caption","sourcebytes":[71,114,97,100,105,101,110,116],"value":"Gradient"},
+{"hash":215410292,"name":"tfmain.toolgradient.hint","sourcebytes":[82,101,110,100,101,114,32,103,114,97,100,105,101,110,116],"value":"Render gradient"},
+{"hash":65508053,"name":"tfmain.toolphong.hint","sourcebytes":[83,104,97,100,101,100,32,115,104,97,112,101],"value":"Shaded shape"},
+{"hash":371956,"name":"tfmain.tooltext.hint","sourcebytes":[84,101,120,116],"value":"Text"},
+{"hash":158470974,"name":"tfmain.tooldeformation.caption","sourcebytes":[68,101,102,111,114,109,97,116,105,111,110],"value":"Deformation"},
+{"hash":76663236,"name":"tfmain.tooldeformation.hint","sourcebytes":[68,101,102,111,114,109,97,116,105,111,110,32,103,114,105,100],"value":"Deformation grid"},
+{"hash":205239287,"name":"tfmain.tooltexturemapping.hint","sourcebytes":[84,101,120,116,117,114,101,32,109,97,112,112,105,110,103],"value":"Texture mapping"},
+{"hash":43972261,"name":"tfmain.toollayermapping.hint","sourcebytes":[76,97,121,101,114,32,112,101,114,115,112,101,99,116,105,118,101],"value":"Layer perspective"},
+{"hash":98487735,"name":"tfmain.toolchangedocking.hint","sourcebytes":[67,104,97,110,103,101,32,100,111,99,107,105,110,103],"value":"Change docking"},
+{"hash":200728952,"name":"tfmain.brushcreategeometric.hint","sourcebytes":[67,114,101,97,116,101,32,103,101,111,109,101,116,114,105,99,32,98,114,117,115,104],"value":"Create geometric brush"},
+{"hash":217170606,"name":"tfmain.brushloadfromfile.hint","sourcebytes":[76,111,97,100,32,98,114,117,115,104,32,102,114,111,109,32,102,105,108,101,46,46,46],"value":"Load brush from file..."},
+{"hash":15128104,"name":"tfmain.brushremovecurrent.hint","sourcebytes":[82,101,109,111,118,101,32,99,117,114,114,101,110,116,32,98,114,117,115,104],"value":"Remove current brush"},
+{"hash":74217360,"name":"tfmain.editmoveup.hint","sourcebytes":[77,111,118,101,32,117,112],"value":"Move up"},
+{"hash":141109012,"name":"tfmain.editmovetofront.hint","sourcebytes":[66,114,105,110,103,32,116,111,32,102,114,111,110,116],"value":"Bring to front"},
+{"hash":209126078,"name":"tfmain.editmovedown.hint","sourcebytes":[77,111,118,101,32,100,111,119,110],"value":"Move down"},
+{"hash":9093403,"name":"tfmain.editmovetoback.hint","sourcebytes":[83,101,110,100,32,116,111,32,98,97,99,107],"value":"Send to back"},
+{"hash":141965220,"name":"tfmain.editshapealignleft.hint","sourcebytes":[65,108,105,103,110,32,115,104,97,112,101,32,108,101,102,116],"value":"Align shape left"},
+{"hash":244832953,"name":"tfmain.editshapecenterhorizontally.hint","sourcebytes":[67,101,110,116,101,114,32,115,104,97,112,101,32,104,111,114,105,122,111,110,116,97,108,108,121],"value":"Center shape horizontally"},
+{"hash":122239604,"name":"tfmain.editshapealignright.hint","sourcebytes":[65,108,105,103,110,32,115,104,97,112,101,32,114,105,103,104,116],"value":"Align shape right"},
+{"hash":43235424,"name":"tfmain.editshapealigntop.hint","sourcebytes":[65,108,105,103,110,32,115,104,97,112,101,32,116,111,32,116,104,101,32,116,111,112],"value":"Align shape to the top"},
+{"hash":8451721,"name":"tfmain.editshapecentervertically.hint","sourcebytes":[67,101,110,116,101,114,32,115,104,97,112,101,32,118,101,114,116,105,99,97,108,108,121],"value":"Center shape vertically"},
+{"hash":174494829,"name":"tfmain.editshapealignbottom.hint","sourcebytes":[65,108,105,103,110,32,115,104,97,112,101,32,116,111,32,116,104,101,32,98,111,116,116,111,109],"value":"Align shape to the bottom"},
+{"hash":52527029,"name":"tfmain.editshapetocurve.hint","sourcebytes":[67,111,110,118,101,114,116,32,115,104,97,112,101,32,116,111,32,99,117,114,118,101],"value":"Convert shape to curve"},
+{"hash":46607102,"name":"tfmain.filerunscript.caption","sourcebytes":[82,117,110,32,115,99,114,105,112,116,46,46,46],"value":"Run script..."},
+{"hash":104868661,"name":"tfmain.toolpolyline.hint","sourcebytes":[80,111,108,121,108,105,110,101],"value":"Polyline"},
+{"hash":51121525,"name":"tfmain.toolopenedcurve.hint","sourcebytes":[79,112,101,110,101,100,32,99,117,114,118,101],"value":"Opened curve"},
+{"hash":124337662,"name":"tfmain.fileexport.caption","sourcebytes":[69,120,112,111,114,116,46,46,46],"value":"Export..."},
+{"hash":124337662,"name":"tfmain.layerexport.hint","sourcebytes":[69,120,112,111,114,116,46,46,46],"value":"Export..."},
+{"hash":66536946,"name":"tfmain.colordialog1.title","sourcebytes":[67,104,111,111,115,101,32,99,111,108,111,114],"value":"Choose color"},
+{"hash":315429,"name":"tfmain.menufile.caption","sourcebytes":[70,105,108,101],"value":"File"},
+{"hash":167619026,"name":"tfmain.itemuseimagebrowser.caption","sourcebytes":[85,115,101,32,105,109,97,103,101,32,98,114,111,119,115,101,114],"value":"Use image browser"},
+{"hash":65502867,"name":"tfmain.menurecentfiles.caption","sourcebytes":[82,101,99,101,110,116,32,102,105,108,101,115],"value":"Recent files"},
+{"hash":139375349,"name":"tfmain.menulanguage.caption","sourcebytes":[76,97,110,103,117,97,103,101],"value":"Language"},
+{"hash":76172398,"name":"tfmain.itemdonate.caption","sourcebytes":[68,111,110,97,116,101,46,46,46],"value":"Donate..."},
+{"hash":310020,"name":"tfmain.menuedit.caption","sourcebytes":[69,100,105,116],"value":"Edit"},
+{"hash":94120868,"name":"tfmain.menuselect.caption","sourcebytes":[83,101,108,101,99,116],"value":"Select"},
+{"hash":380871,"name":"tfmain.menuview.caption","sourcebytes":[86,105,101,119],"value":"View"},
+{"hash":267499032,"name":"tfmain.itemviewdocktoolbox.caption","sourcebytes":[68,111,99,107,32,116,111,111,108,98,111,120],"value":"Dock toolbox"},
+{"hash":46565539,"name":"tfmain.itemdocklayersandcolors.caption","sourcebytes":[68,111,99,107,32,108,97,121,101,114,115,32,97,110,100,32,99,111,108,111,114,115],"value":"Dock layers and colors"},
+{"hash":60708750,"name":"tfmain.itemfullscreen.caption","sourcebytes":[70,117,108,108,115,99,114,101,101,110],"value":"Fullscreen"},
+{"hash":5257173,"name":"tfmain.menuimage.caption","sourcebytes":[73,109,97,103,101],"value":"Image"},
+{"hash":167030057,"name":"tfmain.menuremovetransparency.caption","sourcebytes":[82,101,109,111,118,101,32,116,114,97,110,115,112,97,114,101,110,99,121],"value":"Remove transparency"},
+{"hash":78001811,"name":"tfmain.menucolors.caption","sourcebytes":[67,111,108,111,114,115],"value":"Colors"},
+{"hash":5989939,"name":"tfmain.menutool.caption","sourcebytes":[84,111,111,108,115],"value":"Tools"},
+{"hash":80755394,"name":"tfmain.menufilter.caption","sourcebytes":[70,105,108,116,101,114],"value":"Filter"},
+{"hash":129960242,"name":"tfmain.menuradialblur.caption","sourcebytes":[82,97,100,105,97,108,32,98,108,117,114],"value":"Radial blur"},
+{"hash":93080258,"name":"tfmain.menurender.caption","sourcebytes":[82,101,110,100,101,114],"value":"Render"},
+{"hash":94015604,"name":"tfmain.menuscript.caption","sourcebytes":[83,99,114,105,112,116],"value":"Script"},
+{"hash":322608,"name":"tfmain.menuhelp.caption","sourcebytes":[72,101,108,112],"value":"Help"},
+{"hash":130864334,"name":"tfmain.loadselectiondialog.title","sourcebytes":[76,111,97,100,32,115,101,108,101,99,116,105,111,110],"value":"Load selection"},
+{"hash":695557,"name":"tfmain.openpicturedialog1.title","sourcebytes":[79,112,101,110,32,101,120,105,115,116,105,110,103,32,105,109,97,103,101],"value":"Open existing image"},
+{"hash":262765813,"name":"tfmain.opentexturedialog.title","sourcebytes":[79,112,101,110,32,116,101,120,116,117,114,101],"value":"Open texture"},
+{"hash":30161076,"name":"tfmain.open3dobjectdialog.title","sourcebytes":[73,109,112,111,114,116,32,51,68,32,111,98,106,101,99,116],"value":"Import 3D object"},
+{"hash":186570926,"name":"tfmain.savepicturedialog1.title","sourcebytes":[83,97,118,101,32,102,105,108,101,32,97,115,46,46,46],"value":"Save file as..."},
+{"hash":169186686,"name":"tfmain.saveselectiondialog.title","sourcebytes":[83,97,118,101,32,115,101,108,101,99,116,105,111,110,32,97,115,46,46,46],"value":"Save selection as..."},
+{"hash":7141976,"name":"tfmain.openbrushdialog.title","sourcebytes":[79,112,101,110,32,98,114,117,115,104],"value":"Open brush"},
+{"hash":231995746,"name":"tfmain.menufiletoolbar.caption","sourcebytes":[83,104,111,119,32,102,105,108,101,32,116,111,111,108,98,97,114],"value":"Show file toolbar"},
+{"hash":55148898,"name":"tfmain.menuzoomtoolbar.caption","sourcebytes":[83,104,111,119,32,122,111,111,109,32,116,111,111,108,98,97,114],"value":"Show zoom toolbar"},
+{"hash":185663746,"name":"tfmain.menucopypastetoolbar.caption","sourcebytes":[83,104,111,119,32,99,111,112,121,47,112,97,115,116,101,32,116,111,111,108,98,97,114],"value":"Show copy/paste toolbar"},
+{"hash":61428515,"name":"tfmain.menucoordinatestoolbar.caption","sourcebytes":[83,104,111,119,32,99,111,111,114,100,105,110,97,116,101,115],"value":"Show coordinates"},
+{"hash":112373618,"name":"tfmain.menuundoredotoolbar.caption","sourcebytes":[83,104,111,119,32,117,110,100,111,47,114,101,100,111,32,116,111,111,108,98,97,114],"value":"Show undo/redo toolbar"},
+{"hash":66953941,"name":"tfmain.menushowpalette.caption","sourcebytes":[83,104,111,119,32,112,97,108,101,116,116,101],"value":"Show palette"},
+{"hash":165109892,"name":"tfmain.menudocktoolboxleft.caption","sourcebytes":[68,111,99,107,32,108,101,102,116],"value":"Dock left"},
+{"hash":226248804,"name":"tfmain.menudocktoolboxright.caption","sourcebytes":[68,111,99,107,32,114,105,103,104,116],"value":"Dock right"},
+{"hash":96777627,"name":"tfmain.menuundocktoolbox.caption","sourcebytes":[85,110,100,111,99,107],"value":"Undock"},
+{"hash":44513182,"name":"tfmain.exportpicturedialog.title","sourcebytes":[69,120,112,111,114,116,32,97,115,46,46,46],"value":"Export as..."}
+]}

+ 13 - 5
lazpaint/lazpaintmainform.pas

@@ -23,15 +23,13 @@ type
   { TFMain }
 
   TFMain = class(TForm)
+    Button_Donate: TBCButton;
     LayerExport: TAction;
     FileExport: TAction;
     ExportPictureDialog: TSaveDialog;
-    Label_Donate: TLabel;
     MenuScript: TMenuItem;
     Panel_OutlineFill: TPanel;
     Panel_Donate: TPanel;
-    ToolButton_Donate: TToolButton;
-    ToolBar25: TToolBar;
     ToolOpenedCurve: TAction;
     ToolPolyline: TAction;
     FileRunScript: TAction;
@@ -639,6 +637,7 @@ type
     procedure WMEraseBkgnd(var {%H-}Message: TLMEraseBkgnd); message LM_ERASEBKGND;
 
   private
+    function CanClickDonate: boolean;
     procedure ComboBox_PenStyleChange(Sender: TObject);
     procedure ComboBox_PenStyleDrawItem({%H-}Control: TWinControl; Index: Integer;
       ARect: TRect; State: TOwnerDrawState);
@@ -1123,7 +1122,7 @@ var
   m: TMainFormMenu;
   startFillControlWidth: LongInt;
   iconSize: Integer;
-  toolbarDPI: integer;
+  toolbarDPI, w, h: integer;
 begin
   if FLayout.Menu = nil then
   begin
@@ -1159,11 +1158,16 @@ begin
     LabelAutosize(Label_Brush, toolbarDPI);
     LabelAutosize(Label_Spacing, toolbarDPI);
     LabelAutosize(Label_Ratio, toolbarDPI);
-    LabelAutosize(Label_Donate, toolbarDPI);
+
     m.ImageList := LazPaintInstance.Icons[iconSize];
     m.Apply;
     FLayout.Menu := m;
 
+    Button_Donate.Images := m.ImageList;
+    w := Button_Donate.Width; h := Button_Donate.Height;
+    Button_Donate.GetPreferredSize(w, h);
+    Button_Donate.Width := w;
+
     Layout.DockedToolBoxAddButton(ToolChangeDocking);
 
     Layout.DockedToolBoxAddButton(ToolHand);
@@ -1310,6 +1314,7 @@ begin
           if mr = mrOK then
           begin
             OpenPictureDialog1.FilterIndex := FBrowseImages.FilterIndex;
+            chosenFiles := nil;
             setlength(chosenFiles, FBrowseImages.SelectedFileCount);
             for i := 0 to high(chosenFiles) do
               chosenFiles[i] := FBrowseImages.SelectedFile[i];
@@ -2140,6 +2145,7 @@ begin
               end; //case
               //When files are open this way, they get the name of the first of them.
               //They shall have no name, in order to prevent saving with Save (it then gets redirected to Save As)
+              loadedLayers := nil;
               setlength(loadedLayers,length(FileNames));
               tx := 0;
               ty := 0;
@@ -2643,6 +2649,7 @@ begin
         else LazPaintInstance.NotifyThemeChanged;
     end;
   end;
+  Button_Donate.Enabled := CanClickDonate;
   TimerUpdate.Enabled := true;
 end;
 
@@ -3201,6 +3208,7 @@ begin
     needUpdate := false;
     p := @txt[1];
     pEnd := @txt[length(txt)];
+    utf8char := '';
     while p <= pEnd do
     begin
       utf8len := min(UTF8CharacterLength(p), (pEnd-p)+1);

+ 8 - 1
lazpaint/maintoolbar.inc

@@ -231,6 +231,8 @@ begin
   Tool_CurveModeAngle.Hint := Tool_CurveModeAngle.Hint + ' (X)';
   Tool_CurveModeCurve.Hint := Tool_CurveModeCurve.Hint + ' (S)';
   Tool_CurveMovePoint.Hint := Tool_CurveMovePoint.Hint + ' (Z)';
+
+  Button_Donate.Caption := DoTranslate('', 'Donate...');
 end;
 
 procedure TFMain.UpdateTextSizeIncrement;
@@ -808,9 +810,14 @@ begin
   FInHideFill := false
 end;
 
+function TFMain.CanClickDonate: boolean;
+begin
+  result := Now > FLastDonateClick + (10 / (24*60*60) );
+end;
+
 procedure TFMain.ToolButton_DonateClick(Sender: TObject);
 begin
-  if Now > FLastDonateClick + (10 / (24*60*60) ) then
+  if CanClickDonate then
   begin
     MessagePopup(rsDonate, 3000);
     FLastDonateClick := Now;

+ 206 - 40
lazpaint/release/bin/i18n/lazpaint.ar.po

@@ -1,4 +1,4 @@
-msgid ""
+msgid ""
 msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Project-Id-Version: \n"
@@ -10,6 +10,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr ""
 
@@ -239,23 +240,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "عرض"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr ""
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr ""
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "لون"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr " وصف اللون : انقر  في اللون مع لوحة المفاتيح باستخدام أسماء الألوان أو بتدوين css"
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -393,11 +382,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "تصحيح درجة اللون و الخفة"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -413,6 +414,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -436,6 +443,10 @@ msgstr "."
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -580,21 +591,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "طبقات"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "تحديد عملية المزج"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "تكبير مكدس الطبقات"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "تصغير مكدس الطبقات"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -614,6 +610,12 @@ msgstr ""
 msgid "Remove current brush"
 msgstr ""
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "تبرع..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -806,6 +808,7 @@ msgid "Choose entry within file"
 msgstr ""
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr ""
 
@@ -1055,6 +1058,7 @@ msgid "Fill background with antialiasing"
 msgstr "ملء الخلفية مع مضاد التعرج"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "تسطيح الصورة"
 
@@ -1090,6 +1094,10 @@ msgstr "إعادة تشكيل.."
 msgid "Resample image"
 msgstr "إعادة تشكيل الصورة"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "تدوير 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "تدوير 90° CCW"
@@ -1098,10 +1106,6 @@ msgstr "تدوير 90° CCW"
 msgid "Rotate 90° CW"
 msgstr "تدوير 90° CW"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "تدوير 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "التكبير الذكي x3"
@@ -1156,6 +1160,7 @@ msgid "Altitude"
 msgstr "ارتفاع"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "رجوع"
 
@@ -1275,6 +1280,11 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "تكرار الطبقة المنتقات"
 
+#: tfmain.layerexport.hint
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr ""
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -2567,6 +2577,10 @@ msgstr "حفظ"
 msgid "Dithering"
 msgstr ""
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr ""
@@ -2728,6 +2742,10 @@ msgstr "العمل في تقدم"
 msgid "Add files to the image processing list"
 msgstr "إضافة الملفات الى قائمة الصور المعالجة"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr ""
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr ""
@@ -2752,6 +2770,12 @@ msgstr ""
 msgid "Autodetect"
 msgstr ""
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "رجوع"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "إضغط مفتاح BACKSPACE لحذف اخر نقطة"
@@ -2764,6 +2788,10 @@ msgstr "أفضل نوعية"
 msgid "Bitmap"
 msgstr ""
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "يتم تطبيق عملية المزج إلا إذا كان هناك طبقة تحت"
@@ -2806,6 +2834,10 @@ msgstr "حجم الصورة"
 msgid "CD"
 msgstr ""
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr ""
@@ -2818,6 +2850,10 @@ msgstr "طلب الغلق"
 msgid "CMD"
 msgstr ""
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2869,10 +2905,18 @@ msgstr "محصول"
 msgid "CTRL"
 msgstr ""
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "اضغط S أو X لتعيين وضع منحنى آخر نقطة"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr ""
@@ -2894,6 +2938,20 @@ msgstr ""
 msgid "Dither layer using palette"
 msgstr ""
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "تبرع..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "تحميل"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr ""
@@ -3018,6 +3076,12 @@ msgstr "نوع"
 msgid "Fixed"
 msgstr ""
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "تسطيح الصورة"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "مجلد"
@@ -3030,6 +3094,10 @@ msgstr ""
 msgid "Following errors occurred:"
 msgstr ""
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr ""
@@ -3108,9 +3176,13 @@ msgstr ""
 msgid "Information"
 msgstr "معلومات"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "تحميل"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3121,6 +3193,10 @@ msgstr "كثافة"
 msgid "Internal error"
 msgstr "خطأ داخلي"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr ""
@@ -3161,20 +3237,32 @@ msgstr "منظر"
 msgid "The latest version of LazPaint available online is"
 msgstr "أحدث نسخة من LazPaint على شبكة الإنترنت هي"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "طبقة"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr ""
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "طبقات"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "طبقة"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3221,10 +3309,30 @@ msgstr ""
 msgid "Loop count"
 msgstr ""
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr ""
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "هل تريد دمج الصورة المحددة ?"
@@ -3258,6 +3366,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "صورة جديدة"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "لا"
@@ -3282,6 +3394,10 @@ msgstr "بدون اسم"
 msgid "Normal"
 msgstr "عادي"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "لا يوجد شيئ للتشويه"
@@ -3342,6 +3458,12 @@ msgstr ""
 msgid "Palette options"
 msgstr ""
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "قلم"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3396,6 +3518,16 @@ msgstr "تم تعديل الصورة النقطية. هل تريد حقا إعا
 msgid "Removable"
 msgstr ""
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr ""
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "تصيير"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3474,10 +3606,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "رتب"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr ""
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "خط خارج النص"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3555,6 +3709,18 @@ msgstr ""
 msgid "Vectorial layer"
 msgstr ""
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "نعم"

+ 210 - 37
lazpaint/release/bin/i18n/lazpaint.bg.po

@@ -13,6 +13,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr ""
 
@@ -239,23 +240,11 @@ msgctxt "TFCANVASSIZE.LABEL_WIDTH.CAPTION"
 msgid "Width :"
 msgstr "Ширина:"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Добавяне на цвета в палитрата"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Премахване на цвета от палитрата"
-
 #: tfchoosecolor.caption
 msgctxt "TFCHOOSECOLOR.CAPTION"
 msgid "Color"
 msgstr "Цвят"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Описание на цвета: цъкнете, за да напишете цвят по име или по CSS означение"
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -393,11 +382,23 @@ msgctxt "TFFILTERFUNCTION.CHECKBOX_GSBA.CAPTION"
 msgid "Corrected hue and lightness"
 msgstr "Поправени отенък и яркост"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -413,6 +414,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -436,6 +443,10 @@ msgstr "Променливи:"
 msgid "HSL"
 msgstr "ОНО"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -580,21 +591,6 @@ msgctxt "TFLAYERSTACK.CAPTION"
 msgid "Layers"
 msgstr "Слоеве"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Изберете смесване"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Увеличаване на купа със слоеве"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Смаляване на купа със слоеве"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -612,6 +608,12 @@ msgstr "Зареждане на четка от файл..."
 msgid "Remove current brush"
 msgstr "Премахване на текущата четка"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Дарение..."
+
 #: tfmain.caption
 msgctxt "TFMAIN.CAPTION"
 msgid "LazPaint"
@@ -803,6 +805,7 @@ msgid "Choose entry within file"
 msgstr "Избиране на предмет от файл"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Изнасяне..."
 
@@ -1052,6 +1055,7 @@ msgid "Fill background with antialiasing"
 msgstr ""
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr ""
 
@@ -1087,6 +1091,10 @@ msgstr "Преоразмеряване..."
 msgid "Resample image"
 msgstr "Преоразмеряване на изображението"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Завъртане на 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Завъртане на 270°"
@@ -1095,10 +1103,6 @@ msgstr "Завъртане на 270°"
 msgid "Rotate 90° CW"
 msgstr "Завъртане на 90°"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Завъртане на 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Умно увеличаване х 3"
@@ -1153,6 +1157,7 @@ msgid "Altitude"
 msgstr "Височина"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Подцв."
 
@@ -1270,6 +1275,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Повтаряне на избрания слой"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Изнасяне..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "TFMAIN.LAYERFROMFILE.HINT"
 msgid "Import layer from file..."
@@ -2554,6 +2565,10 @@ msgstr "Съхраняване"
 msgid "Dithering"
 msgstr ""
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Качество:"
@@ -2715,6 +2730,10 @@ msgstr "Действието се извършва"
 msgid "Add files to the image processing list"
 msgstr "Добавяне към списък за обработка"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Добавяне на цвета в палитрата"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Подравняване на формата"
@@ -2739,6 +2758,12 @@ msgstr "Раздвижен GIF"
 msgid "Autodetect"
 msgstr "Самоопределяне"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Подцв."
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Премахване"
@@ -2751,6 +2776,10 @@ msgstr "Качество на сбиване на JPG"
 msgid "Bitmap"
 msgstr ""
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr ""
@@ -2793,6 +2822,10 @@ msgstr "Размер на платното"
 msgid "CD"
 msgstr ""
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr ""
@@ -2805,6 +2838,10 @@ msgstr "Заявка за затваряне"
 msgid "CMD"
 msgstr ""
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2854,10 +2891,18 @@ msgstr "Орязване"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr ""
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Подразбирана палитра"
@@ -2879,6 +2924,20 @@ msgstr "Папката не е празна"
 msgid "Dither layer using palette"
 msgstr ""
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Дарение..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr ""
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr ""
@@ -3003,6 +3062,11 @@ msgstr "Вид"
 msgid "Fixed"
 msgstr ""
 
+#: uresourcestrings.rsflattenimage
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr ""
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Папка"
@@ -3015,6 +3079,10 @@ msgstr ""
 msgid "Following errors occurred:"
 msgstr ""
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr ""
@@ -3090,6 +3158,14 @@ msgstr "Безкрайност"
 msgid "Information"
 msgstr ""
 
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
+
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
 msgid "Intensity"
@@ -3099,6 +3175,10 @@ msgstr "Наситеност"
 msgid "Internal error"
 msgstr "Вътрешна грешка"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Недопустимо име"
@@ -3139,20 +3219,32 @@ msgstr "Пейзаж"
 msgid "The latest version of LazPaint available online is"
 msgstr "Най-новото издание на LazPaint, което може да се свали е"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "слой"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr ""
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Слоеве"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "слой"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3199,10 +3291,30 @@ msgstr "Зареждане на палитра..."
 msgid "Loop count"
 msgstr "Брой повторения"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr ""
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr ""
@@ -3236,6 +3348,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Ново изображение"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Не"
@@ -3260,6 +3376,10 @@ msgstr "без име"
 msgid "Normal"
 msgstr "Обикновен"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "Няма нищо за разкривяване"
@@ -3320,6 +3440,12 @@ msgstr ""
 msgid "Palette options"
 msgstr "Възможности на палитрата"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Молив"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3342,7 +3468,9 @@ msgid "px"
 msgstr "точки"
 
 #: uresourcestrings.rspythonunexpectedversion
-msgid "Expected python version %1 but %2 found."
+#, fuzzy
+#| msgid "Expected python version %1 but %2 found."
+msgid "Expected Python version %1 but %2 found."
 msgstr "Нужен е Python v. %1, но имате v. %2."
 
 #: uresourcestrings.rsramdisk
@@ -3374,6 +3502,16 @@ msgstr "Изображението е променено. Наистина ли
 msgid "Removable"
 msgstr "Премахваем"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Премахване на цвета от палитрата"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Измазване"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3450,10 +3588,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Сплайн (кривка)"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Устройство"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Обрамчване на текста"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3531,6 +3691,18 @@ msgstr "Неизвестен произход"
 msgid "Vectorial layer"
 msgstr "Векторен слой"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Да"
@@ -3544,3 +3716,4 @@ msgstr "Увеличаване на купа"
 msgctxt "uresourcestrings.rszoomlayerstackout"
 msgid "Zoom layer stack out"
 msgstr "Отдалечаване на купа"
+

+ 215 - 65
lazpaint/release/bin/i18n/lazpaint.cs.po

@@ -13,6 +13,7 @@ msgstr ""
 "X-Generator: Poedit 2.2.4\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "Nepodařilo se správně načíst proceduru %s."
 
@@ -166,11 +167,8 @@ msgid "Basic SVG"
 msgstr "Základní SVG"
 
 #: tfblendop.label_svgover.hint
-msgid ""
-"Basic blend operations that are available in virtually all image editors"
-msgstr ""
-"Základní operace mísení, který je dostupná prakticky ve všech editorech "
-"obrázků"
+msgid "Basic blend operations that are available in virtually all image editors"
+msgstr "Základní operace mísení, který je dostupná prakticky ve všech editorech obrázků"
 
 #: tfbrowseimages.caption
 msgid "Browse images"
@@ -245,27 +243,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "Šířka :"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Přidat barvu do palety"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Odebrat barvu z palety"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "Barva"
 
-#: tfchoosecolor.lcolor.hint
-msgid ""
-"Color description: click to type in a color with the keyboard using color "
-"names or CSS notation."
-msgstr ""
-"Popis barvy: klikněte pro zadání barvy klávesnicí pomocí jména barvy nebo "
-"zápisu CSS."
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -403,11 +385,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Opravný odstín a světlost"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -423,6 +417,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -446,6 +446,10 @@ msgstr "Proměnné :"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -590,21 +594,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Vrstvy"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Vybrat operaci mísení"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Přiblížit sadu vrstev"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Oddálit sadu vrstev"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -624,6 +613,12 @@ msgstr "Načíst štětec ze souboru..."
 msgid "Remove current brush"
 msgstr "Odebrat aktuální štětec"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Přispět..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -815,6 +810,7 @@ msgid "Choose entry within file"
 msgstr "Vybrat položku ze souboru"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Exportovat..."
 
@@ -1064,6 +1060,7 @@ msgid "Fill background with antialiasing"
 msgstr "Vyplnit pozadí s vyhlazováním"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Zploštit obrázek"
 
@@ -1099,6 +1096,10 @@ msgstr "Převzorkovat..."
 msgid "Resample image"
 msgstr "Převzorkovat obrázek"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Otočit 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Otočit 90° CCW"
@@ -1107,10 +1108,6 @@ msgstr "Otočit 90° CCW"
 msgid "Rotate 90° CW"
 msgstr "Otočit 90° CW"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Otočit 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Chytré zvětšení x3"
@@ -1165,6 +1162,7 @@ msgid "Altitude"
 msgstr "Výška"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Zpět"
 
@@ -1282,6 +1280,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Zdvojit vybranou vrsvu"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Exportovat..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -2573,6 +2577,10 @@ msgstr "Uložit"
 msgid "Dithering"
 msgstr "Dithering"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Kvalita:"
@@ -2734,6 +2742,10 @@ msgstr "Akce v běhu"
 msgid "Add files to the image processing list"
 msgstr "Přidat soubory do seznamu obrázků ke zpracování"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Přidat barvu do palety"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Zarovnat tvar"
@@ -2758,6 +2770,12 @@ msgstr "Animovaný GIF"
 msgid "Autodetect"
 msgstr "Automaticky"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Zpět"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Stiskněte BACKSPACE pro odstranění posledního bodu"
@@ -2771,6 +2789,10 @@ msgstr "Nejlepší kvalita"
 msgid "Bitmap"
 msgstr "Bitová mapa"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "Operace mísení je použita pouze pokud je vespodu vrstva"
@@ -2813,6 +2835,10 @@ msgstr "Velikost plátna"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Vyčistit paletu"
@@ -2826,6 +2852,10 @@ msgstr "Uzavřít požadavek"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2878,10 +2908,18 @@ msgstr "Oříznout"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Stiskni S nebo X k nastavení režimu křivky posledního bodu"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Výchozí paleta"
@@ -2903,6 +2941,20 @@ msgstr "Adresář není prázdný"
 msgid "Dither layer using palette"
 msgstr "Dither vrstvy pomocí palety"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Přispět..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Stažení"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Duplikovat obrázek"
@@ -2935,9 +2987,7 @@ msgstr "Konec bez odpovídajícího začátku"
 
 #: uresourcestrings.rsenterfolderorcontainername
 msgid "Enter name for new folder or container (using RES or LRS extension):"
-msgstr ""
-"Zadejte jméno pro novou složku nebo zásobník (s použitím RES nebo LRS "
-"přípony)"
+msgstr "Zadejte jméno pro novou složku nebo zásobník (s použitím RES nebo LRS přípony)"
 
 #: uresourcestrings.rsenterlayername
 msgid "Enter layer name:"
@@ -3034,6 +3084,12 @@ msgstr "Typ"
 msgid "Fixed"
 msgstr "Pevně"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Zploštit obrázek"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Složka"
@@ -3046,6 +3102,10 @@ msgstr "Složka nebo zásobník již existují."
 msgid "Following errors occurred:"
 msgstr "Nastaly následující chyby:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Rámce"
@@ -3125,9 +3185,13 @@ msgstr "Nekonečno"
 msgid "Information"
 msgstr "Informace"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Stažení"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3138,6 +3202,10 @@ msgstr "Jas"
 msgid "Internal error"
 msgstr "Vnitřní chyba"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Neplatné jméno"
@@ -3179,20 +3247,32 @@ msgstr "Na šířku"
 msgid "The latest version of LazPaint available online is"
 msgstr "Je dostupná poslední online verze LazPaint"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Vrstva"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Vrstvený obrázek"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Vrstvy"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Vrstva"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3241,10 +3321,30 @@ msgstr "Načíst paletu..."
 msgid "Loop count"
 msgstr "Počet opakování"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Udělat %1-barevnou paletu z obrázku"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Chcete sloučit výběr?"
@@ -3255,11 +3355,8 @@ msgid "Mitchell"
 msgstr "Mitchell"
 
 #: uresourcestrings.rsmorethanonefile
-msgid ""
-"You are trying to open more than one file. How would you like these files to "
-"be opened?"
-msgstr ""
-"Snažíte se otevřít více než jeden soubor. Jak chcete tyto soubor otevřít?"
+msgid "You are trying to open more than one file. How would you like these files to be opened?"
+msgstr "Snažíte se otevřít více než jeden soubor. Jak chcete tyto soubor otevřít?"
 
 #: uresourcestrings.rsmovingorrotatingselection
 msgctxt "uresourcestrings.rsmovingorrotatingselection"
@@ -3283,6 +3380,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Nový obrázek"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Ne"
@@ -3308,6 +3409,10 @@ msgstr "bez jména"
 msgid "Normal"
 msgstr "Běžné"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgctxt "uresourcestrings.rsnothingtobedeformed"
 msgid "There is nothing to be deformed"
@@ -3371,6 +3476,12 @@ msgstr "Paleta zahrnuje alfa kanál"
 msgid "Palette options"
 msgstr "Volby palety"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Pero"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3425,6 +3536,16 @@ msgstr "Bitová mapa byla upravena. Chcete jí opravdu načíst znovu?"
 msgid "Removable"
 msgstr "Odnímatelné"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Odebrat barvu z palety"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Vykreslit"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3504,10 +3625,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Spline"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Zařízení"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Obrys textu"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3515,17 +3658,11 @@ msgstr "Mapování textůr"
 
 #: uresourcestrings.rstherearenocheckeditems
 msgid "There are no checked items. Check some items or add some new ones."
-msgstr ""
-"Nejsou žádné zaškrtnuté položky. Zaškrtněte nějaké položky nebo přidejte "
-"nové."
+msgstr "Nejsou žádné zaškrtnuté položky. Zaškrtněte nějaké položky nebo přidejte nové."
 
 #: uresourcestrings.rsthereisnofilenamegivenforthisfileusesaveas
-msgid ""
-"There is no file name given for this file. Use \"Save as...\" from the main "
-"menu."
-msgstr ""
-"Pro tento soubor nezadáno jméno. Použijte \"Uložit jako...\" z hlavní "
-"nabídky."
+msgid "There is no file name given for this file. Use \"Save as...\" from the main menu."
+msgstr "Pro tento soubor nezadáno jméno. Použijte \"Uložit jako...\" z hlavní nabídky."
 
 #: uresourcestrings.rstodo
 msgid "To do"
@@ -3591,6 +3728,18 @@ msgstr "Neznámý originál"
 msgid "Vectorial layer"
 msgstr "Vektorová vrstva"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Ano"
@@ -3604,3 +3753,4 @@ msgstr "Přiblížit sadu vrstev"
 msgctxt "uresourcestrings.rszoomlayerstackout"
 msgid "Zoom layer stack out"
 msgstr "Oddálit sadu vrstev"
+

+ 208 - 45
lazpaint/release/bin/i18n/lazpaint.de.po

@@ -20,6 +20,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "Prozedur %s konnte nicht ordnungsgemäß geladen werden."
 
@@ -47,7 +48,6 @@ msgid "Authors:"
 msgstr "Autoren:"
 
 #: tfabout.label_authorsvalue.caption
-#| msgid "Circular help by FabienWang and Lainz"
 msgctxt "tfabout.label_authorsvalue.caption"
 msgid "Circular helped by FabienWang, Lainz and others"
 msgstr "Circular unterstützt von FabienWang, Lainz und Anderen"
@@ -250,23 +250,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "Breite:"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Farbe der Palette hinzufügen"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Farbe von Palette entfernen"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "Farbe"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Farbbeschreibung: Anklicken, um Farbnamen oder CSS Farbcode mit der Tastatur einzugeben"
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -404,11 +392,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Korrigiert Farbton und Helligkeit"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -424,6 +424,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -447,6 +453,10 @@ msgstr "Variablen:"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr "Lab"
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -591,21 +601,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Ebenen"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Überblendungseffekt auswählen"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Ebenefenster einzoomen"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Ebenefenster auszoomen"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -625,6 +620,12 @@ msgstr "Pinsel aus Datei laden..."
 msgid "Remove current brush"
 msgstr "Aktuellen Pinsel entfernen"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Spenden Sie..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -647,7 +648,6 @@ msgid "Intensity..."
 msgstr "Intensität..."
 
 #: tfmain.colorlightness.caption
-#| msgid "Lightness..."
 msgid "Brightness / Contrast..."
 msgstr "Helligkeit / Kontrast..."
 
@@ -818,6 +818,7 @@ msgid "Choose entry within file"
 msgstr "Eintrag von Datei auswählen"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Ausführen..."
 
@@ -1067,6 +1068,7 @@ msgid "Fill background with antialiasing"
 msgstr "Hintergrund mit Antialiasing füllen"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Auf eine Ebene reduzieren"
 
@@ -1102,6 +1104,10 @@ msgstr "Resample..."
 msgid "Resample image"
 msgstr "Bild resamplen"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Drehung 90°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Drehung 90° gegen den UZS"
@@ -1110,10 +1116,6 @@ msgstr "Drehung 90° gegen den UZS"
 msgid "Rotate 90° CW"
 msgstr "Drehung 90° im Uhrzeigersinn (UZS)"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Drehung 90°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Smart Zoom x3"
@@ -1168,6 +1170,7 @@ msgid "Altitude"
 msgstr "Höhe"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Zurück"
 
@@ -1287,6 +1290,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Ausgewählte Ebene duplizieren"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Ausführen..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -1424,7 +1433,6 @@ msgid "Show palette"
 msgstr "Palette anzeigen"
 
 #: tfmain.menutool.caption
-#| msgid "Tool"
 msgctxt "tfmain.menutool.caption"
 msgid "Tools"
 msgstr "Werkzeuge"
@@ -1944,7 +1952,6 @@ msgid "Choose font..."
 msgstr "Schriftart auswählen..."
 
 #: tfmain.tool_textoutline.hint
-#| msgid "Progressive floodfill"
 msgctxt "TFMAIN.TOOL_TEXTOUTLINE.HINT"
 msgid "Text outline"
 msgstr "Textumriss"
@@ -2093,7 +2100,7 @@ msgstr "Neues Bild"
 
 #: tfnewimage.combobox_bitdepth.text
 msgid "32"
-msgstr ""
+msgstr "32"
 
 #: tfnewimage.label_bitdepth.caption
 msgid "Bit depth :"
@@ -2581,6 +2588,10 @@ msgstr "Speichern"
 msgid "Dithering"
 msgstr "Dithering"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr "Verlustfrei"
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Qualität:"
@@ -2627,7 +2638,7 @@ msgstr "32 bits"
 
 #: tfsaveoption.radiobutton_miomap.caption
 msgid "MioMap"
-msgstr ""
+msgstr "MioMap"
 
 #: tfsharpen.button_cancel.caption
 msgctxt "tfsharpen.button_cancel.caption"
@@ -2742,6 +2753,10 @@ msgstr "Aktion wird durchgeführt"
 msgid "Add files to the image processing list"
 msgstr "Bild zur Bildverarbeitungsliste hinfügen"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Farbe der Palette hinzufügen"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Form angleichen"
@@ -2766,6 +2781,12 @@ msgstr "Animiertes GIF"
 msgid "Autodetect"
 msgstr "Autodetect"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Zurück"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "RÜCKWÄRTS-Taste löscht letzten Punkt"
@@ -2778,6 +2799,10 @@ msgstr "Beste Qualität"
 msgid "Bitmap"
 msgstr "Bitmap"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr "Schwartz"
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "Überblendungseffekte werden nur angewendet wenn eine Ebene darunter liegt"
@@ -2820,6 +2845,10 @@ msgstr "Leinwandgröße"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr "Kanäle"
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Palette räumen"
@@ -2832,6 +2861,10 @@ msgstr "Anforderung schließen"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr "Farbüberlagerung"
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2883,10 +2916,18 @@ msgstr "Zuchneiden"
 msgid "CTRL"
 msgstr "STRG"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr "Die aktuelle Ebene wird nicht geteilt"
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "S oder X drücken um das Kurvenmodus des letzten Punkt zu bestimmen"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr "Cyan"
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Standard Palette"
@@ -2908,6 +2949,20 @@ msgstr "Das Verzeichnis ist nicht leer"
 msgid "Dither layer using palette"
 msgstr "Dithering auf dieser Ebene mit der Palette anwenden"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Spenden Sie..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Herunterladen"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr "Schlagschatten"
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Bild duplizieren"
@@ -3032,6 +3087,12 @@ msgstr "Typ"
 msgid "Fixed"
 msgstr "Festplatte"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Auf eine Ebene reduzieren"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Ordner"
@@ -3044,6 +3105,10 @@ msgstr "Ordner oder Container existiert schon."
 msgid "Following errors occurred:"
 msgstr "Folgende Fehler traten auf:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr "Fraktaler Baum"
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Rahmen"
@@ -3122,9 +3187,13 @@ msgstr "Unendlichkeit"
 msgid "Information"
 msgstr "Information"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Herunterladen"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr "Inneres Licht"
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr "Inneren Schatten"
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3135,6 +3204,10 @@ msgstr "Intensität"
 msgid "Internal error"
 msgstr "Interner Fehler"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr "Ungültiger Winkel"
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Ungültiger Name"
@@ -3175,20 +3248,32 @@ msgstr "Querformat"
 msgid "The latest version of LazPaint available online is"
 msgstr "Die letzte online-verfügbare Version von LazPaint ist"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr "Lava"
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Ebene"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr "Die Ebene ist bereits geteilt"
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Bild mit Ebenen"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr "Ebeneneffekte"
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Ebenen"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Ebene"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3235,10 +3320,30 @@ msgstr "Palette laden..."
 msgid "Loop count"
 msgstr "Loop-Zahl"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr "Magenta"
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr "Monochromatisch machen"
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Eine %1-Farben-Palette des Bildes erstellen"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr "Maske"
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr "Maske vom Alphakanal"
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr "Zusammenführen"
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Möchten Sie die Auswahl zusammenfügen?"
@@ -3272,6 +3377,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Neues Bild"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr "Neue Maske"
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Nein"
@@ -3296,6 +3405,10 @@ msgstr "unbekannt"
 msgid "Normal"
 msgstr "Normal"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr "Dies ist kein chromatischer Kanal"
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "Es gibt nichts zu verformen"
@@ -3356,6 +3469,12 @@ msgstr "Palette enthält alpha-Kanal"
 msgid "Palette options"
 msgstr "Paletten Optionen"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Stift"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3410,6 +3529,16 @@ msgstr "Die Bitmap wurde verändert. Möchten Sie sie wirklich neu laden?"
 msgid "Removable"
 msgstr "Wechseldatenträger"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Farbe von Palette entfernen"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Rendering"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3488,10 +3617,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Polynomzug (Spline)"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr "CMYK teilen"
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr "HSL teilen"
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr "RGB teilen"
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Gerät"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr "Strich"
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Textumriss"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3569,6 +3720,18 @@ msgstr "Unbekanntes Original"
 msgid "Vectorial layer"
 msgstr "Vektor-Ebene"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr "Version"
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr "Vertikal Größe"
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr "Gelb"
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Ja"

+ 212 - 41
lazpaint/release/bin/i18n/lazpaint.es.po

@@ -12,6 +12,7 @@ msgstr ""
 "Language: es\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "Procedimiento %s falló al cargar."
 
@@ -241,23 +242,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "Ancho:"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Agregar color a la paleta"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Quitar color de la paleta"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "Color"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Descripción del color: hacer clic para escribir el nombre de un color o usar notación CSS."
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -395,11 +384,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Corregido matiz e iluminación"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -415,6 +416,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -438,6 +445,10 @@ msgstr "Variables:"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr "Lab"
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -582,21 +593,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Capas"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Seleccionar operación de mezcla"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Hacer zoom en capa"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Deshacer zoom en capa"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -616,6 +612,12 @@ msgstr "Cargar pincel desde archivo..."
 msgid "Remove current brush"
 msgstr "Quitar pincel actual"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Donar..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -807,6 +809,7 @@ msgid "Choose entry within file"
 msgstr "Elegir entrada dentro del archivo"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Exportar..."
 
@@ -1056,6 +1059,7 @@ msgid "Fill background with antialiasing"
 msgstr "Rellenar fondo con alisamiento"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Aplanar imágen"
 
@@ -1091,18 +1095,22 @@ msgstr "Redimensionar..."
 msgid "Resample image"
 msgstr "Redimensionar imágen"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Rotar 180º"
+
 #: tfmain.imagerotateccw.caption
-msgid "Rotate 90° CCR"
+#, fuzzy
+#| msgid "Rotate 90° CCR"
+msgid "Rotate 90° CCW"
 msgstr "Rotar 90º CCR"
 
 #: tfmain.imagerotatecw.caption
-msgid "Rotate 90° CR"
+#, fuzzy
+#| msgid "Rotate 90° CR"
+msgid "Rotate 90° CW"
 msgstr "Rotar 90º CR"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Rotar 180º"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Zoom inteligente x3"
@@ -1157,6 +1165,7 @@ msgid "Altitude"
 msgstr "Altitud"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Fondo"
 
@@ -1274,6 +1283,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Duplicar capa seleccionada"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Exportar..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -2566,6 +2581,10 @@ msgstr "Guardar"
 msgid "Dithering"
 msgstr "Entramado"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr "Sin pérdidas"
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Calidad:"
@@ -2727,6 +2746,10 @@ msgstr "Acción en progreso"
 msgid "Add files to the image processing list"
 msgstr "Añadir a la lista de imágenes"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Agregar color a la paleta"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Alinear forma"
@@ -2751,6 +2774,12 @@ msgstr "GIF animado"
 msgid "Autodetect"
 msgstr "Automático"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Fondo"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Presiona RETROCESO para remover el último punto"
@@ -2764,6 +2793,10 @@ msgstr "Mejor calidad"
 msgid "Bitmap"
 msgstr "Bitmap"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr "Negro"
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "La operación de mezcla está aplicada solamente si hay una capa debajo"
@@ -2806,6 +2839,10 @@ msgstr "Tamaño de papel"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr "Canales"
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Limpiar paleta"
@@ -2819,6 +2856,10 @@ msgstr "Solicitud de cierre"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr "Color superpuesto"
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2871,10 +2912,18 @@ msgstr "Cortar"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr "La capa actual no está dividida"
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Pulsar S o X para cambiar el modo del último punto"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr "Cian"
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Paleta predeterminada"
@@ -2896,6 +2945,20 @@ msgstr "El directorio no esta vacío"
 msgid "Dither layer using palette"
 msgstr "Entramado de capa usando paleta"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Donar..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Descargar"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr "Sombra paralela"
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Duplicar imagen"
@@ -3025,6 +3088,12 @@ msgstr "Tipo"
 msgid "Fixed"
 msgstr "Fijo"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Aplanar imágen"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Carpeta"
@@ -3037,6 +3106,10 @@ msgstr "La carpeta o el contenedor ya existe."
 msgid "Following errors occurred:"
 msgstr "Estos errores han ocurrido:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr "Árbol fractal"
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Cuadros"
@@ -3116,9 +3189,13 @@ msgstr "Infinito"
 msgid "Information"
 msgstr "Información"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Descargar"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr "Luz interior"
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr "Sombra interior"
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3129,6 +3206,10 @@ msgstr "Intensidad"
 msgid "Internal error"
 msgstr "Error interno"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr "Ángulo invalido"
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Nombre inválido"
@@ -3170,20 +3251,32 @@ msgstr "Horizontal"
 msgid "The latest version of LazPaint available online is"
 msgstr "La última versión de LazPaint disponible online es"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr "Lava"
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Capa"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr "La capa ya está dividida"
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Imágen con capas"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr "Efectos de capa"
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Capas"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Capa"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3232,10 +3325,30 @@ msgstr "Cargar paleta..."
 msgid "Loop count"
 msgstr "Contador de bucle"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr "Magenta"
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr "Hacer monocromático"
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Hacer paleta de %1-colores desde imágen"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr "Máscara"
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr "Máscara desde canal alpha"
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr "Fusionar"
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "¿Quieres fusionar la selección?"
@@ -3271,6 +3384,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Nueva imágen"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr "Máscara nueva"
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "No"
@@ -3296,6 +3413,10 @@ msgstr "sin nombre"
 msgid "Normal"
 msgstr "Normal"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr "Este no es un canal cromático"
+
 #: uresourcestrings.rsnothingtobedeformed
 msgctxt "uresourcestrings.rsnothingtobedeformed"
 msgid "There is nothing to be deformed"
@@ -3359,6 +3480,12 @@ msgstr "La paleta incluye canal alfa"
 msgid "Palette options"
 msgstr "Opciones de paleta"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Pluma"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3413,6 +3540,16 @@ msgstr "La imágen ha sido modificada. ¿Realmente quieres recargar?"
 msgid "Removable"
 msgstr "Extraíble"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Quitar color de la paleta"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Renderizar"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3493,10 +3630,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Ranura"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr "Dividir CMYK"
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr "Dividir HSL"
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr "Dividir RGB"
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Dispositivo"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr "Trazo"
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Contorno de texto"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3574,6 +3733,18 @@ msgstr "Original desconocido"
 msgid "Vectorial layer"
 msgstr "Capa vectorial"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr "Versión"
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr "Tamaño vertical"
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr "Amarillo"
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Sí"

+ 201 - 40
lazpaint/release/bin/i18n/lazpaint.fi.po

@@ -1,7 +1,8 @@
-msgid ""
+msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr ""
 
@@ -231,23 +232,11 @@ msgctxt "TFCANVASSIZE.LABEL_WIDTH.CAPTION"
 msgid "Width :"
 msgstr "Leveys :"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Lisää väri väripalettiin"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Poista väri väripaletista"
-
 #: tfchoosecolor.caption
 msgctxt "TFCHOOSECOLOR.CAPTION"
 msgid "Color"
 msgstr "Väri"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr ""
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -385,11 +374,21 @@ msgctxt "TFFILTERFUNCTION.CHECKBOX_GSBA.CAPTION"
 msgid "Corrected hue and lightness"
 msgstr ""
 
+#: tffilterfunction.label_aequals.caption
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr ""
 
+#: tffilterfunction.label_bequals.caption
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -405,6 +404,11 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr ""
 
+#: tffilterfunction.label_lequals.caption
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -428,6 +432,10 @@ msgstr ""
 msgid "HSL"
 msgstr ""
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -573,21 +581,6 @@ msgctxt "TFLAYERSTACK.CAPTION"
 msgid "Layers"
 msgstr "Kerrokset"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr ""
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Suurenna kerrospinoa"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Pienennä kerrospinoa"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -607,6 +600,11 @@ msgstr ""
 msgid "Remove current brush"
 msgstr ""
 
+#: tfmain.button_donate.caption
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr ""
+
 #: tfmain.caption
 msgctxt "TFMAIN.CAPTION"
 msgid "LazPaint"
@@ -799,6 +797,7 @@ msgid "Choose entry within file"
 msgstr ""
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr ""
 
@@ -1049,6 +1048,7 @@ msgid "Fill background with antialiasing"
 msgstr ""
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Yhdistä kerrokset"
 
@@ -1084,6 +1084,10 @@ msgstr ""
 msgid "Resample image"
 msgstr ""
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Kierrä 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Kierrä 90° vastapäivään"
@@ -1092,10 +1096,6 @@ msgstr "Kierrä 90° vastapäivään"
 msgid "Rotate 90° CW"
 msgstr "Kierrä 90° myötäpäivään"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Kierrä 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr ""
@@ -1150,6 +1150,7 @@ msgid "Altitude"
 msgstr "Korkeus"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Tausta"
 
@@ -1269,6 +1270,11 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Kahdenna valittu kerros"
 
+#: tfmain.layerexport.hint
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr ""
+
 #: tfmain.layerfromfile.hint
 msgctxt "TFMAIN.LAYERFROMFILE.HINT"
 msgid "Import layer from file..."
@@ -2564,6 +2570,10 @@ msgstr "Tallenna"
 msgid "Dithering"
 msgstr "Rasterointi"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr ""
@@ -2725,6 +2735,10 @@ msgstr ""
 msgid "Add files to the image processing list"
 msgstr ""
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Lisää väri väripalettiin"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr ""
@@ -2749,6 +2763,12 @@ msgstr ""
 msgid "Autodetect"
 msgstr ""
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Tausta"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Paina BACKSPACE-näppäintä poistaaksesi viimeisen pisteen"
@@ -2761,6 +2781,10 @@ msgstr "Paras laatu"
 msgid "Bitmap"
 msgstr ""
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr ""
@@ -2803,6 +2827,10 @@ msgstr "Kuva-alueen koko"
 msgid "CD"
 msgstr ""
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr ""
@@ -2815,6 +2843,10 @@ msgstr ""
 msgid "CMD"
 msgstr ""
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2866,10 +2898,18 @@ msgstr ""
 msgid "CTRL"
 msgstr ""
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr ""
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr ""
@@ -2891,6 +2931,19 @@ msgstr ""
 msgid "Dither layer using palette"
 msgstr "Rasteroi kerros kayttäen väripalettia"
 
+#: uresourcestrings.rsdonate
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr ""
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Ladata"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr ""
@@ -3015,6 +3068,12 @@ msgstr "Tyyppi"
 msgid "Fixed"
 msgstr ""
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Yhdistä kerrokset"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Kansio"
@@ -3027,6 +3086,10 @@ msgstr ""
 msgid "Following errors occurred:"
 msgstr ""
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr ""
@@ -3105,9 +3168,13 @@ msgstr ""
 msgid "Information"
 msgstr ""
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Ladata"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3118,6 +3185,10 @@ msgstr "Voimakkuus"
 msgid "Internal error"
 msgstr ""
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr ""
@@ -3158,20 +3229,32 @@ msgstr "Vaaka"
 msgid "The latest version of LazPaint available online is"
 msgstr ""
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Kerros"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr ""
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Kerrokset"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Kerros"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3218,10 +3301,30 @@ msgstr ""
 msgid "Loop count"
 msgstr ""
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Tee %1-värinen väripaletti kuvasta"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr ""
@@ -3255,6 +3358,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Uusi kuva"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Ei"
@@ -3279,6 +3386,10 @@ msgstr ""
 msgid "Normal"
 msgstr ""
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "Ei löydy mitään muutettavaa"
@@ -3339,6 +3450,12 @@ msgstr ""
 msgid "Palette options"
 msgstr ""
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Kynä"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3393,6 +3510,16 @@ msgstr ""
 msgid "Removable"
 msgstr ""
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Poista väri väripaletista"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Muodosta"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3470,10 +3597,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr ""
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr ""
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Kirjaimen reunus"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3551,6 +3700,18 @@ msgstr ""
 msgid "Vectorial layer"
 msgstr ""
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Kyllä"

+ 208 - 41
lazpaint/release/bin/i18n/lazpaint.fr.po

@@ -10,6 +10,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "La procédure %s n'a pas réussi à se charger correctement."
 
@@ -239,23 +240,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "Largeur :"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Ajouter à la palette des couleurs"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Retirer de la palette des couleurs"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "Couleur"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Description de la couleur : cliquez pour entrer une couleur avec le clavier en utilisant les noms de couleurs ou la notation CSS."
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -393,11 +382,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Teinte et luminosité corrigées"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -413,6 +414,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -436,6 +443,10 @@ msgstr "Variables :"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr "Lab"
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -580,21 +591,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Calques"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Choisir un mode de fusion"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Zoomer la pile des calques"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Dézoomer la pile des calques"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -614,6 +610,12 @@ msgstr "Charger un pinceau depuis un fichier..."
 msgid "Remove current brush"
 msgstr "Supprimer le pinceau actuel"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Faire un don..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -806,6 +808,7 @@ msgid "Choose entry within file"
 msgstr "Choisir une entrée dans le fichier"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Exporter..."
 
@@ -1055,6 +1058,7 @@ msgid "Fill background with antialiasing"
 msgstr "Colorer le fond avec anticrénelage"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Aplatir l'image"
 
@@ -1090,6 +1094,10 @@ msgstr "Redimensionner..."
 msgid "Resample image"
 msgstr "Redimensionner image"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Rotation 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Rotation 90° (horloge à rebours)"
@@ -1098,10 +1106,6 @@ msgstr "Rotation 90° (horloge à rebours)"
 msgid "Rotate 90° CW"
 msgstr "Rotation 90° (horloge)"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Rotation 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Zoom intelligent x3"
@@ -1156,6 +1160,7 @@ msgid "Altitude"
 msgstr "Hauteur"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Fond"
 
@@ -1275,6 +1280,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Dupliquer le calque sélectionné"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Exporter..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -2080,7 +2091,7 @@ msgstr "Nouvelle image"
 
 #: tfnewimage.combobox_bitdepth.text
 msgid "32"
-msgstr ""
+msgstr "32"
 
 #: tfnewimage.label_bitdepth.caption
 msgid "Bit depth :"
@@ -2568,6 +2579,10 @@ msgstr "Enregistrer"
 msgid "Dithering"
 msgstr "Tramage"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr "Sans perte"
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Qualité :"
@@ -2729,6 +2744,10 @@ msgstr "Action en cours"
 msgid "Add files to the image processing list"
 msgstr "Ajouter des fichiers pour traitement"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Ajouter à la palette des couleurs"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Aligner la forme"
@@ -2753,6 +2772,12 @@ msgstr "GIF animé"
 msgid "Autodetect"
 msgstr "Détecter"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Fond"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Appuyez sur RETOUR ARRIERE pour effacer le dernier point"
@@ -2766,6 +2791,10 @@ msgstr "Qualité la meilleure"
 msgid "Bitmap"
 msgstr "Bitmap"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr "Noir"
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "Le mode de fusion n'est appliqué que s'il y a un calque en-dessous"
@@ -2808,6 +2837,10 @@ msgstr "Taille du canevas"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr "Canaux"
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Effacer la palette"
@@ -2821,6 +2854,10 @@ msgstr "Fermeture"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr "Couleur superposée"
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2873,10 +2910,18 @@ msgstr "Recadrer"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr "Le calque actuel n'est pas séparé"
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Appuyez S ou X pour changer le mode de la courbe pour le dernier point"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr "Cyan"
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Palette par défaut"
@@ -2898,6 +2943,20 @@ msgstr "Le dossier n'est pas vide"
 msgid "Dither layer using palette"
 msgstr "Tramer le calque en utilisant la palette"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Faire un don..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Télécharger"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr "Ombre portée"
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Dupliquer l'image"
@@ -3027,6 +3086,12 @@ msgstr "Type"
 msgid "Fixed"
 msgstr "Fixe"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Aplatir l'image"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Dossier"
@@ -3039,6 +3104,10 @@ msgstr "Le dossier ou conteneur existe déjà"
 msgid "Following errors occurred:"
 msgstr "Les erreurs suivantes sont survenues :"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr "Arbre fractal"
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Images contenues"
@@ -3118,9 +3187,13 @@ msgstr "Infinité"
 msgid "Information"
 msgstr "Informations"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Télécharger"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr "Lumière intérieure"
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr "Ombre intérieure"
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3131,6 +3204,10 @@ msgstr "Intensifier"
 msgid "Internal error"
 msgstr "Erreur interne"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr "Angle invalide"
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Nom invalide"
@@ -3172,20 +3249,32 @@ msgstr "Paysage"
 msgid "The latest version of LazPaint available online is"
 msgstr "La dernière version de LazPaint disponible en ligne est la"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr "Lave"
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Calque"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr "Le calque est déjà séparé"
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Image avec calques"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr "Effet de calque"
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Calques"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Calque"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3203,7 +3292,7 @@ msgstr "Lum."
 #: uresourcestrings.rslightness
 msgctxt "uresourcestrings.rslightness"
 msgid "Lightness"
-msgstr "Clarté"
+msgstr "Luminosité"
 
 #: uresourcestrings.rslightposition
 msgid "Light position"
@@ -3234,10 +3323,30 @@ msgstr "Charger une palette..."
 msgid "Loop count"
 msgstr "Répétition"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr "Magenta"
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr "Rendre monochromatique"
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Faire une palette de %1 couleurs depuis l'image"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr "Masque"
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr "Masque depuis canal alpha"
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr "Fusionner"
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Voulez-vous fusionner la sélection ?"
@@ -3273,6 +3382,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Nouvelle image"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr "Nouveau masque"
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Non"
@@ -3298,6 +3411,10 @@ msgstr "sansnom"
 msgid "Normal"
 msgstr "Normal"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr "Ce n'est pas un canal chromatique"
+
 #: uresourcestrings.rsnothingtobedeformed
 msgctxt "uresourcestrings.rsnothingtobedeformed"
 msgid "There is nothing to be deformed"
@@ -3361,6 +3478,12 @@ msgstr "Inclure le canal alpha dans la palette"
 msgid "Palette options"
 msgstr "Options de la palette"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Crayon"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3415,6 +3538,16 @@ msgstr "L'image a été modifiée. Voulez-vous vraiment recharger ?"
 msgid "Removable"
 msgstr "Amovible"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Retirer de la palette des couleurs"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Rendu"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3495,10 +3628,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Spline"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr "Séparer CMJN"
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr "Séparer TSL"
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr "Séparer RVB"
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Support"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr "Trait"
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Contour de texte"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3576,6 +3731,18 @@ msgstr "Original inconnu"
 msgid "Vectorial layer"
 msgstr "Calque vectoriel"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr "Version"
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr "Taille verticale"
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr "Jaune"
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Oui"

+ 3745 - 0
lazpaint/release/bin/i18n/lazpaint.it.po

@@ -0,0 +1,3745 @@
+msgid "Last-Translator: Shotokan forum Ubuntu.it\n"
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: tablet.getprocfailed
+#, object-pascal-format
+msgid "Procedure %s failed to load properly."
+msgstr ""
+
+#: tablet.openfailed
+msgid "Tablet context failed to open."
+msgstr ""
+
+#: tfabout.button_donate.caption
+msgctxt "tfabout.button_donate.caption"
+msgid "Donate..."
+msgstr "Dona..."
+
+#: tfabout.caption
+msgctxt "tfabout.caption"
+msgid "About"
+msgstr ""
+
+#: tfabout.labelurl.caption
+msgid "http://sourceforge.net/projects/lazpaint/"
+msgstr ""
+
+#: tfabout.label_authors.caption
+msgctxt "tfabout.label_authors.caption"
+msgid "Authors:"
+msgstr "Autori:"
+
+#: tfabout.label_authorsvalue.caption
+msgctxt "tfabout.label_authorsvalue.caption"
+msgid "Circular helped by FabienWang, Lainz and others"
+msgstr ""
+
+#: tfabout.label_homepage.caption
+msgctxt "tfabout.label_homepage.caption"
+msgid "Homepage:"
+msgstr ""
+
+#: tfabout.label_libraries.caption
+msgctxt "tfabout.label_libraries.caption"
+msgid "Libraries used:"
+msgstr "Librerie usate"
+
+#: tfabout.label_licence.caption
+msgctxt "tfabout.label_licence.caption"
+msgid "Licence:"
+msgstr "Licenza"
+
+#: tfabout.label_opensource.caption
+msgctxt "tfabout.label_opensource.caption"
+msgid "Open source (GPLv3)"
+msgstr ""
+
+#: tfadjustcurves.button_cancel.caption
+msgctxt "tfadjustcurves.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfadjustcurves.button_ok.caption
+msgctxt "tfadjustcurves.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfadjustcurves.caption
+msgid "Adjust curves"
+msgstr "Aggiusta curve"
+
+#: tfadjustcurves.toolbutton_newcurve.hint
+msgid "Discard current curve and start a new one"
+msgstr "Abbandona questa curva e cominciane una nuova"
+
+#: tfadjustcurves.toolbutton_posterize.hint
+msgctxt "tfadjustcurves.toolbutton_posterize.hint"
+msgid "Posterize"
+msgstr ""
+
+#: tfadjustcurves.toolbutton_removepoint.hint
+msgid "Remove selected point (Del)"
+msgstr "Rimuovi punto selezionato"
+
+#: tfblendop.button_cancel.caption
+msgctxt "tfblendop.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfblendop.button_ok.caption
+msgctxt "tfblendop.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfblendop.caption
+msgid "Blend operation"
+msgstr "Operazione di miscela"
+
+#: tfblendop.label_blendopcategory.caption
+msgctxt "tfblendop.label_blendopcategory.caption"
+msgid "Category of blend operation"
+msgstr "Categorie di miscele"
+
+#: tfblendop.label_blendopvalue.caption
+msgctxt "tfblendop.label_blendopvalue.caption"
+msgid "."
+msgstr ""
+
+#: tfblendop.label_kritaover.caption
+msgctxt "tfblendop.label_kritaover.caption"
+msgid "Krita"
+msgstr ""
+
+#: tfblendop.label_kritaover.hint
+msgid "Blend operations that are available in Krita"
+msgstr ""
+
+#: tfblendop.label_otherover.caption
+msgctxt "tfblendop.label_otherover.caption"
+msgid "Other"
+msgstr "Altro"
+
+#: tfblendop.label_otherover.hint
+msgid "Blend operations of LazPaint and Paint.NET"
+msgstr ""
+
+#: tfblendop.label_patternover.caption
+msgctxt "tfblendop.label_patternover.caption"
+msgid "Pattern over"
+msgstr ""
+
+#: tfblendop.label_patternover.hint
+msgid "Preview blend operation with the specified image on top"
+msgstr "Anteprima di miscelazione con l'immagine in alto"
+
+#: tfblendop.label_patternunder.caption
+msgctxt "tfblendop.label_patternunder.caption"
+msgid "Pattern under"
+msgstr ""
+
+#: tfblendop.label_patternunder.hint
+msgid "Preview blend operation with the specified image underneath"
+msgstr "Anteprima di miscelazione con l'immagine sotto"
+
+#: tfblendop.label_previewwith.caption
+msgctxt "tfblendop.label_previewwith.caption"
+msgid "Preview with"
+msgstr "Anteprima..."
+
+#: tfblendop.label_selectedblendop.caption
+msgid "Selected blend operation :"
+msgstr "Seleziona operazione di miscela:"
+
+#: tfblendop.label_svgover.caption
+msgctxt "tfblendop.label_svgover.caption"
+msgid "Basic SVG"
+msgstr ""
+
+#: tfblendop.label_svgover.hint
+msgid "Basic blend operations that are available in virtually all image editors"
+msgstr "Operazioni base di miscela sono disponibili in tutti gli editor fi immagini"
+
+#: tfbrowseimages.caption
+msgid "Browse images"
+msgstr "Sfoglia le immagini"
+
+#: tfbrowseimages.checkbox_usedirectoryonstartup.caption
+msgid "Use this directory on startup"
+msgstr "Usa questa cartella all'avvio"
+
+#: tfbrowseimages.label_status.caption
+msgctxt "tfbrowseimages.label_status.caption"
+msgid "."
+msgstr ""
+
+#: tfbrowseimages.toolbutton_createfolderorcontainer.hint
+msgid "Create folder or container"
+msgstr "Crea cartella o contenitore"
+
+#: tfbrowseimages.toolbutton_goup.hint
+msgid "Go one directory up"
+msgstr "Vai alla cartella superiore"
+
+#: tfbrowseimages.toolbutton_openselectedfiles.hint
+msgid "Open selected files"
+msgstr "Apri i file selezionati"
+
+#: tfbrowseimages.toolbutton_viewbigicon.hint
+msgctxt "tfbrowseimages.toolbutton_viewbigicon.hint"
+msgid "Show big icons"
+msgstr "Mostra icone grandi"
+
+#: tfbrowseimages.toolbutton_viewdetails.hint
+msgctxt "tfbrowseimages.toolbutton_viewdetails.hint"
+msgid "Show details and preview"
+msgstr "Mostra dettagli e anteprima"
+
+#: tfbrowseimages.tool_selectdrive.hint
+msgid "Select drive"
+msgstr "Seleziona drive"
+
+#: tfcanvassize.button_cancel.caption
+msgctxt "TFCANVASSIZE.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfcanvassize.button_ok.caption
+msgctxt "TFCANVASSIZE.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfcanvassize.caption
+msgctxt "tfcanvassize.caption"
+msgid "Canvas size"
+msgstr ""
+
+#: tfcanvassize.checkbox_flipmode.caption
+msgid "Flip mode"
+msgstr ""
+
+#: tfcanvassize.label_anchor.caption
+msgctxt "tfcanvassize.label_anchor.caption"
+msgid "Anchor :"
+msgstr "Ancora"
+
+#: tfcanvassize.label_height.caption
+msgctxt "tfcanvassize.label_height.caption"
+msgid "Height :"
+msgstr "Altezza"
+
+#: tfcanvassize.label_width.caption
+msgctxt "tfcanvassize.label_width.caption"
+msgid "Width :"
+msgstr "Larghezza"
+
+#: tfchoosecolor.caption
+msgctxt "tfchoosecolor.caption"
+msgid "Color"
+msgstr "Colore"
+
+#: tfcolorintensity.button_cancel.caption
+msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfcolorintensity.button_ok.caption
+msgctxt "TFCOLORINTENSITY.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfcolorintensity.caption
+msgctxt "tfcolorintensity.caption"
+msgid "Intensity"
+msgstr "intensità"
+
+#: tfcolorintensity.label_multiply.caption
+msgctxt "tfcolorintensity.label_multiply.caption"
+msgid "Multiply"
+msgstr "Moltiplica"
+
+#: tfcolorintensity.label_shift.caption
+msgctxt "tfcolorintensity.label_shift.caption"
+msgid "Shift"
+msgstr ""
+
+#: tfcolorize.button_cancel.caption
+msgctxt "TFCOLORIZE.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfcolorize.button_ok.caption
+msgctxt "TFCOLORIZE.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfcolorize.caption
+msgctxt "tfcolorize.caption"
+msgid "Colorize"
+msgstr "Colorare"
+
+#: tfcolorize.checkbox_gsba.caption
+msgctxt "tfcolorize.checkbox_gsba.caption"
+msgid "Corrected hue and lightness"
+msgstr "Correggi tonalità e luminosità"
+
+#: tfcolorize.label_colorness.caption
+msgctxt "tfcolorize.label_colorness.caption"
+msgid "Colorness"
+msgstr "Rimuovi colore"
+
+#: tfcolorize.label_hue.caption
+msgctxt "tfcolorize.label_hue.caption"
+msgid "Hue"
+msgstr "Tonalità"
+
+#: tfcolorize.label_preset.caption
+msgid "Preset"
+msgstr "Predefinisci"
+
+#: tfcustomblur.button_cancel.caption
+msgctxt "TFCUSTOMBLUR.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfcustomblur.button_editmask.caption
+msgid "Edit mask..."
+msgstr "Edita maschera"
+
+#: tfcustomblur.button_loadmask.caption
+msgid "Load mask..."
+msgstr "Carica maschera"
+
+#: tfcustomblur.button_ok.caption
+msgctxt "TFCUSTOMBLUR.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfcustomblur.caption
+msgctxt "tfcustomblur.caption"
+msgid "Custom blur"
+msgstr "Sfocatura ottimale"
+
+#: tfcustomblur.openpicturedialog1.title
+msgid "Open grayscale file"
+msgstr ""
+
+#: tfemboss.button_cancel.caption
+msgctxt "TFEMBOSS.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfemboss.button_ok.caption
+msgctxt "TFEMBOSS.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfemboss.caption
+msgctxt "tfemboss.caption"
+msgid "Emboss"
+msgstr "Rilievo"
+
+#: tfemboss.checkbox_preservecolors.caption
+msgid "Preserve colors"
+msgstr "Preserva colori"
+
+#: tfemboss.checkbox_transparent.caption
+msgid "Transparent"
+msgstr "Trasparente/trasparenza"
+
+#: tfemboss.label_direction.caption
+msgctxt "tfemboss.label_direction.caption"
+msgid "Direction :"
+msgstr "Direzione"
+
+#: tffilterfunction.button_cancel.caption
+msgctxt "tffilterfunction.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tffilterfunction.button_ok.caption
+msgctxt "tffilterfunction.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tffilterfunction.caption
+msgid "Apply function"
+msgstr "Applica funzione"
+
+#: tffilterfunction.checkbox_gamma.caption
+msgid "Gamma correction"
+msgstr ""
+
+#: tffilterfunction.checkbox_gsba.caption
+msgctxt "tffilterfunction.checkbox_gsba.caption"
+msgid "Corrected hue and lightness"
+msgstr "Tonalità e luminosità corretti"
+
+#: tffilterfunction.label_aequals.caption
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_alphaequals.caption
+msgctxt "tffilterfunction.label_alphaequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_bequals.caption
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_blueequals.caption
+msgctxt "tffilterfunction.label_blueequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_greenequals.caption
+msgctxt "tffilterfunction.label_greenequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_hueequals.caption
+msgctxt "tffilterfunction.label_hueequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_lequals.caption
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_lightnessequals.caption
+msgctxt "tffilterfunction.label_lightnessequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_redequals.caption
+msgctxt "tffilterfunction.label_redequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_saturationequals.caption
+msgctxt "tffilterfunction.label_saturationequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_variables.caption
+msgid "Variables :"
+msgstr "Variabili"
+
+#: tffilterfunction.tabsheet_hsl.caption
+msgid "HSL"
+msgstr ""
+
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
+#: tffilterfunction.tabsheet_rgb.caption
+msgctxt "tffilterfunction.tabsheet_rgb.caption"
+msgid "RGB"
+msgstr ""
+
+#: tfgeometricbrush.button_cancel.caption
+msgctxt "tfgeometricbrush.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfgeometricbrush.button_ok.caption
+msgctxt "tfgeometricbrush.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfgeometricbrush.caption
+msgid "Geometric brush"
+msgstr "Spazzola geometrica"
+
+#: tfgeometricbrush.checkbox_isgradient.caption
+msgid "Opacity gradient"
+msgstr "Gradiente di opacità"
+
+#: tfgeometricbrush.label1.caption
+msgid "Number of sides:"
+msgstr ""
+
+#: tfimagelist.caption
+msgid "Image List"
+msgstr ""
+
+#: tfimagelist.pmautouncheckonopen.caption
+msgid "Autouncheck files after being open"
+msgstr ""
+
+#: tfimagelist.pmautouncheckonsave.caption
+msgid "Autouncheck files after being edited and saved"
+msgstr ""
+
+#: tfimagelist.pmremoveall.caption
+msgid "Empty image list"
+msgstr ""
+
+#: tfimagelist.pmremovenonexistent.caption
+msgid "Remove nonexistent images"
+msgstr ""
+
+#: tfimagelist.pmremoveunchecked.caption
+msgid "Remove unchecked images"
+msgstr ""
+
+#: tfimagelist.pmunchecknonexistent.caption
+msgid "Uncheck nonexistent files"
+msgstr ""
+
+#: tfimagelist.stringgrid1.columns[0].title.caption
+msgctxt "tfimagelist.stringgrid1.columns[0].title.caption"
+msgid "-"
+msgstr ""
+
+#: tfimagelist.stringgrid1.columns[1].title.caption
+msgctxt "tfimagelist.stringgrid1.columns[1].title.caption"
+msgid "-"
+msgstr ""
+
+#: tfimagelist.stringgrid1.columns[2].title.caption
+msgctxt "tfimagelist.stringgrid1.columns[2].title.caption"
+msgid "-"
+msgstr ""
+
+#: tfimagelist.stringgrid1.columns[3].title.caption
+msgctxt "tfimagelist.stringgrid1.columns[3].title.caption"
+msgid "-"
+msgstr ""
+
+#: tfimagelist.tbaddfiles.hint
+msgid "Add images to list"
+msgstr "Aggiungi immagine alla lista"
+
+#: tfimagelist.tbautouncheck.hint
+msgid "Enable/disable autounchecking for processed files"
+msgstr ""
+
+#: tfimagelist.tbautozoomfit.hint
+msgid "Enable/disable autofitting images in the LazPaint window"
+msgstr ""
+
+#: tfimagelist.tbcheckall.hint
+msgid "Check all files for processing"
+msgstr "Controlla tutti i file per la processazione"
+
+#: tfimagelist.tbminiwindow.hint
+msgid "Switch to miniwindow"
+msgstr "Minimizza"
+
+#: tfimagelist.tbmovedown.hint
+msgid "Move selected items down"
+msgstr "Muovi la selezione sotto"
+
+#: tfimagelist.tbmoveup.hint
+msgid "Move selected items up"
+msgstr "Muovi la selezione sopra"
+
+#: tfimagelist.tbnormalwindows.hint
+msgid "Switch to normal window"
+msgstr "Cambia alla finestra normale"
+
+#: tfimagelist.tbopenimage.hint
+msgid "Open current image"
+msgstr "Apri immagine corrente"
+
+#: tfimagelist.tbopennext.hint
+msgctxt "tfimagelist.tbopennext.hint"
+msgid "Open next image (Alt-Right)"
+msgstr "Apri immagine successiva"
+
+#: tfimagelist.tbopennextsw.hint
+msgctxt "tfimagelist.tbopennextsw.hint"
+msgid "Open next image"
+msgstr "Apri immagine successiva"
+
+#: tfimagelist.tbopenprev.hint
+msgctxt "tfimagelist.tbopenprev.hint"
+msgid "Open previous image (Alt-Left)"
+msgstr "Apri immagine precedente"
+
+#: tfimagelist.tbopenprevsw.hint
+msgctxt "tfimagelist.tbopenprevsw.hint"
+msgid "Open previous image"
+msgstr "Apri immagine precedente"
+
+#: tfimagelist.tbremoveitem.hint
+msgid "Remove selected images from list"
+msgstr "Rimuovi le immagini selezionate dalla lista"
+
+#: tfimagelist.tbuncheckall.hint
+msgid "Uncheck all files for processing"
+msgstr "Deseleziona tutti i file per la processazione"
+
+#: tflayerstack.caption
+msgctxt "tflayerstack.caption"
+msgid "Layers"
+msgstr "Livelli"
+
+#: tfloading.caption
+msgctxt "tfloading.caption"
+msgid "Loading..."
+msgstr "Caricando..."
+
+#: tfmain.brushcreategeometric.hint
+msgctxt "tfmain.brushcreategeometric.hint"
+msgid "Create geometric brush"
+msgstr "Crea spazzola geometrica"
+
+#: tfmain.brushloadfromfile.hint
+msgctxt "tfmain.brushloadfromfile.hint"
+msgid "Load brush from file..."
+msgstr "Carica spazzola da file"
+
+#: tfmain.brushremovecurrent.hint
+msgid "Remove current brush"
+msgstr "Rimuovi spazzola corrente"
+
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Dona..."
+
+#: tfmain.caption
+msgctxt "tfmain.caption"
+msgid "LazPaint"
+msgstr ""
+
+#: tfmain.colorcolorize.caption
+msgid "Colorize..."
+msgstr "Colora"
+
+#: tfmain.colorcurves.caption
+msgid "Curves..."
+msgstr "Curve"
+
+#: tfmain.colordialog1.title
+msgid "Choose color"
+msgstr "Scegli colore"
+
+#: tfmain.colorintensity.caption
+msgid "Intensity..."
+msgstr "Intensità"
+
+#: tfmain.colorlightness.caption
+msgid "Brightness / Contrast..."
+msgstr "Luminosità/Contrasto..."
+
+#: tfmain.colorposterize.caption
+msgid "Posterize..."
+msgstr ""
+
+#: tfmain.colorshiftcolors.caption
+msgctxt "tfmain.colorshiftcolors.caption"
+msgid "Shift colors..."
+msgstr "Cambia colori..."
+
+#: tfmain.combobox_penstyle.hint
+msgid "Pen style"
+msgstr "Penna"
+
+#: tfmain.editcopy.caption
+msgid "Copy"
+msgstr "Copia"
+
+#: tfmain.editcopy.hint
+msgid "Copy selection"
+msgstr "Copia selezione"
+
+#: tfmain.editcut.caption
+msgid "Cut"
+msgstr "Taglia"
+
+#: tfmain.editcut.hint
+msgid "Cut selection"
+msgstr "Taglia selezione"
+
+#: tfmain.editdeleteselection.caption
+msgctxt "tfmain.editdeleteselection.caption"
+msgid "Delete"
+msgstr "Elimina"
+
+#: tfmain.editdeleteselection.hint
+msgid "Delete selection"
+msgstr "Elimina selezione"
+
+#: tfmain.editdeselect.hint
+msgctxt "TFMAIN.EDITDESELECT.HINT"
+msgid "Deselect"
+msgstr "Deseleziona"
+
+#: tfmain.editinvertselection.hint
+msgctxt "TFMAIN.EDITINVERTSELECTION.HINT"
+msgid "Invert selection"
+msgstr "Inverti selezione"
+
+#: tfmain.editmovedown.hint
+msgid "Move down"
+msgstr "Muovi sotto"
+
+#: tfmain.editmovetoback.hint
+msgid "Send to back"
+msgstr "Manda indietro"
+
+#: tfmain.editmovetofront.hint
+msgid "Bring to front"
+msgstr "Porta di fronte"
+
+#: tfmain.editmoveup.hint
+msgid "Move up"
+msgstr "Muovi sopra"
+
+#: tfmain.editpaste.hint
+msgctxt "TFMAIN.EDITPASTE.HINT"
+msgid "Paste"
+msgstr "Incolla"
+
+#: tfmain.editpasteasnew.caption
+msgid "Paste as new image"
+msgstr "Incolla come nuova immagine"
+
+#: tfmain.editpasteasnewlayer.caption
+msgid "Paste as new layer"
+msgstr "Incolla come nuovo livello"
+
+#: tfmain.editredo.hint
+msgctxt "TFMAIN.EDITREDO.HINT"
+msgid "Redo"
+msgstr "Fallo un'altra volta"
+
+#: tfmain.editselectall.caption
+msgctxt "tfmain.editselectall.caption"
+msgid "Select all"
+msgstr "Seleziona tutto"
+
+#: tfmain.editselectall.hint
+msgctxt "tfmain.editselectall.hint"
+msgid "Select all"
+msgstr "Seleziona tutto"
+
+#: tfmain.editselection.caption
+msgid "Edit selection..."
+msgstr "Modifica selezione"
+
+#: tfmain.editselectionfit.caption
+msgid "Selection fit"
+msgstr "Aggiusta selezione"
+
+#: tfmain.editshapealignbottom.hint
+msgid "Align shape to the bottom"
+msgstr "Allinea figura in basso"
+
+#: tfmain.editshapealignleft.hint
+msgid "Align shape left"
+msgstr "Allinea figura a sinistra"
+
+#: tfmain.editshapealignright.hint
+msgid "Align shape right"
+msgstr "Allinea figura a destra"
+
+#: tfmain.editshapealigntop.hint
+msgid "Align shape to the top"
+msgstr "Allinea figura in alto"
+
+#: tfmain.editshapecenterhorizontally.hint
+msgid "Center shape horizontally"
+msgstr "Centra la figura orizzontalmente"
+
+#: tfmain.editshapecentervertically.hint
+msgid "Center shape vertically"
+msgstr "Centra la figura verticalmente"
+
+#: tfmain.editshapetocurve.hint
+msgid "Convert shape to curve"
+msgstr "Converti la figura in curve"
+
+#: tfmain.editundo.caption
+msgid "Undo"
+msgstr "Annulla"
+
+#: tfmain.editundo.hint
+msgid "Undo last modification"
+msgstr "Annulla l'ultima modifica"
+
+#: tfmain.embeddedcancel.caption
+msgctxt "TFMAIN.EMBEDDEDCANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfmain.embeddedcancel.hint
+msgid "Cancel modifications"
+msgstr "Cancella modifiche"
+
+#: tfmain.embeddedvalidate.caption
+msgid "Validate"
+msgstr "Esegui la modifica"
+
+#: tfmain.embeddedvalidate.hint
+msgid "Validate modifications"
+msgstr "Esegui le modifiche"
+
+#: tfmain.exportpicturedialog.title
+msgid "Export as..."
+msgstr "Esporta come"
+
+#: tfmain.filechooseentry.caption
+msgid "Choose entry..."
+msgstr "Scegli..."
+
+#: tfmain.filechooseentry.hint
+msgid "Choose entry within file"
+msgstr ""
+
+#: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
+msgid "Export..."
+msgstr "Esporta"
+
+#: tfmain.fileimport3d.caption
+msgid "Import 3D object..."
+msgstr "Importa oggetto 3D"
+
+#: tfmain.fileloadselection.caption
+msgid "Load selection..."
+msgstr "Carica selezione..."
+
+#: tfmain.filenew.caption
+msgid "New..."
+msgstr "Nuovo..."
+
+#: tfmain.filenew.hint
+msgid "Create a new file"
+msgstr "Crea un nuovo file"
+
+#: tfmain.fileopen.caption
+msgid "Open..."
+msgstr "Apri..."
+
+#: tfmain.fileopen.hint
+msgctxt "TFMAIN.FILEOPEN.HINT"
+msgid "Open existing file"
+msgstr "Apri un file esistente"
+
+#: tfmain.fileprint.caption
+msgid "Print..."
+msgstr "Stampa"
+
+#: tfmain.filequit.hint
+msgctxt "TFMAIN.FILEQUIT.HINT"
+msgid "Quit"
+msgstr "Chiudi"
+
+#: tfmain.filereload.caption
+msgctxt "tfmain.filereload.caption"
+msgid "Reload"
+msgstr "Ricarica"
+
+#: tfmain.fileremembersaveformat.hint
+msgid "Remember save format"
+msgstr ""
+
+#: tfmain.filerunscript.caption
+msgid "Run script..."
+msgstr "Lancia uno script"
+
+#: tfmain.filesave.caption
+msgctxt "TFMAIN.FILESAVE.CAPTION"
+msgid "Save"
+msgstr "Salva"
+
+#: tfmain.filesave.hint
+msgid "Save current file"
+msgstr "Salva il file corrente"
+
+#: tfmain.filesaveas.caption
+msgid "Save as..."
+msgstr "Salva come..."
+
+#: tfmain.filesaveas.hint
+msgid "Save file as"
+msgstr "Salva il file come"
+
+#: tfmain.filesaveasinsamefolder.caption
+msgid "Save in same folder..."
+msgstr "Salva nella stessa cartella"
+
+#: tfmain.filesaveselectionas.caption
+msgctxt "TFMAIN.FILESAVESELECTIONAS.CAPTION"
+msgid "Save selection as..."
+msgstr "Salva selezione come..."
+
+#: tfmain.fileuseimagebrowser.caption
+msgctxt "tfmain.fileuseimagebrowser.caption"
+msgid "Use image browser"
+msgstr ""
+
+#: tfmain.filterblurbox.caption
+msgid "Box blur..."
+msgstr "Sfocatura quadrata..."
+
+#: tfmain.filterblurcorona.caption
+msgctxt "tfmain.filterblurcorona.caption"
+msgid "Corona blur..."
+msgstr "Sfocatura a corona..."
+
+#: tfmain.filterblurcustom.caption
+msgctxt "tfmain.filterblurcustom.caption"
+msgid "Custom blur..."
+msgstr "Sfocatura personalizzata..."
+
+#: tfmain.filterblurdisk.caption
+msgctxt "tfmain.filterblurdisk.caption"
+msgid "Disk blur..."
+msgstr "Sfocatura a disco..."
+
+#: tfmain.filterblurfast.caption
+msgctxt "tfmain.filterblurfast.caption"
+msgid "Fast blur..."
+msgstr "Sfocatura veloce..."
+
+#: tfmain.filterblurmotion.caption
+msgctxt "tfmain.filterblurmotion.caption"
+msgid "Motion blur..."
+msgstr "Sfocatura in movimento..."
+
+#: tfmain.filterblurprecise.caption
+msgctxt "tfmain.filterblurprecise.caption"
+msgid "Precise blur..."
+msgstr "Sfocatura precisa..."
+
+#: tfmain.filterblurradial.caption
+msgctxt "tfmain.filterblurradial.caption"
+msgid "Gaussian blur..."
+msgstr "Sfocatura gaussiana..."
+
+#: tfmain.filtercleartype.caption
+msgid "ClearType"
+msgstr ""
+
+#: tfmain.filtercleartypeinverse.caption
+msgid "Inverse ClearType"
+msgstr ""
+
+#: tfmain.filtercomplementarycolor.caption
+msgid "Complementary colors"
+msgstr "Colori complementari"
+
+#: tfmain.filtercontour.caption
+msgid "Contour"
+msgstr "Sagoma"
+
+#: tfmain.filtercylinder.caption
+msgid "Cylinder"
+msgstr "Cilindro"
+
+#: tfmain.filteremboss.caption
+msgid "Emboss..."
+msgstr "Rilievo"
+
+#: tfmain.filterfunction.caption
+msgid "Apply function..."
+msgstr "Applica funzione..."
+
+#: tfmain.filtergrayscale.caption
+msgid "Grayscale"
+msgstr "Scala di grigi"
+
+#: tfmain.filterlinearnegative.caption
+msgctxt "tfmain.filterlinearnegative.caption"
+msgid "Linear negative"
+msgstr ""
+
+#: tfmain.filtermedian.caption
+msgid "Median"
+msgstr ""
+
+#: tfmain.filternegative.caption
+msgctxt "tfmain.filternegative.caption"
+msgid "Negative"
+msgstr "Negativo"
+
+#: tfmain.filternoise.caption
+msgid "Noise filter..."
+msgstr "Filtro rumore..."
+
+#: tfmain.filternormalize.caption
+msgid "Normalize"
+msgstr "Normalizza"
+
+#: tfmain.filterphong.caption
+msgctxt "tfmain.filterphong.caption"
+msgid "Shaded map..."
+msgstr "Mappa ombreggiata..."
+
+#: tfmain.filterpixelate.caption
+msgid "Pixelate..."
+msgstr ""
+
+#: tfmain.filterplane.caption
+msgid "Plane (slow)"
+msgstr ""
+
+#: tfmain.filterrain.caption
+msgid "Rain..."
+msgstr "Pioggia..."
+
+#: tfmain.filtersharpen.caption
+msgid "Sharpen..."
+msgstr "Evidenzia..."
+
+#: tfmain.filtersmooth.caption
+msgid "Smooth"
+msgstr ""
+
+#: tfmain.filtersphere.caption
+msgctxt "TFMAIN.FILTERSPHERE.CAPTION"
+msgid "Sphere"
+msgstr "Sfera"
+
+#: tfmain.filtertwirl.caption
+msgid "Twirl..."
+msgstr "Ruota/volteggia..."
+
+#: tfmain.filterwavedisplacement.caption
+msgid "Wave displacement..."
+msgstr ""
+
+#: tfmain.forgetdialoganswers.caption
+msgid "Forget dialog box answers"
+msgstr ""
+
+#: tfmain.forgetdialoganswers.hint
+msgid "Forget answers given to dialog boxes"
+msgstr ""
+
+#: tfmain.helpabout.caption
+msgid "About..."
+msgstr ""
+
+#: tfmain.helpindex.caption
+msgid "Index..."
+msgstr "Indice..."
+
+#: tfmain.imagechangecanvassize.caption
+msgid "Canvas size..."
+msgstr ""
+
+#: tfmain.imageclearalpha.caption
+msgid "Clear alpha channel and set background"
+msgstr "Pilisci canale alfa e imposta sfondo"
+
+#: tfmain.imagecrop.caption
+msgid "Crop to selection"
+msgstr ""
+
+#: tfmain.imagecroplayer.caption
+msgid "Crop to selection and current layer"
+msgstr ""
+
+#: tfmain.imagefillbackground.caption
+msgid "Fill background with antialiasing"
+msgstr ""
+
+#: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
+msgid "Flatten image"
+msgstr ""
+
+#: tfmain.imagehorizontalflip.caption
+msgctxt "tfmain.imagehorizontalflip.caption"
+msgid "Horizontal flip"
+msgstr "Capovolto in orizzontale"
+
+#: tfmain.imagehorizontalflip.hint
+msgctxt "tfmain.imagehorizontalflip.hint"
+msgid "Flip image horizontally"
+msgstr "Capovolgi in orizzontale"
+
+#: tfmain.imagelinearnegative.caption
+msgctxt "tfmain.imagelinearnegative.caption"
+msgid "Linear negative"
+msgstr ""
+
+#: tfmain.imagenegative.caption
+#, fuzzy
+msgctxt "tfmain.imagenegative.caption"
+msgid "Negative"
+msgstr "Negativo"
+
+#: tfmain.imagerepeat.caption
+msgid "Repeat..."
+msgstr "Ripeti..."
+
+#: tfmain.imageresample.caption
+msgid "Resample..."
+msgstr ""
+
+#: tfmain.imageresample.hint
+msgid "Resample image"
+msgstr ""
+
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr ""
+
+#: tfmain.imagerotateccw.caption
+msgid "Rotate 90° CCW"
+msgstr ""
+
+#: tfmain.imagerotatecw.caption
+msgid "Rotate 90° CW"
+msgstr ""
+
+#: tfmain.imagesmartzoom3.caption
+msgid "Smart zoom x3"
+msgstr ""
+
+#: tfmain.imageswapredblue.caption
+msgid "Swap red and blue channels"
+msgstr "Scambiare i canali rosso e blu"
+
+#: tfmain.imageverticalflip.caption
+msgctxt "tfmain.imageverticalflip.caption"
+msgid "Vertical flip"
+msgstr "Capovolto in verticale"
+
+#: tfmain.imageverticalflip.hint
+msgid "Flip image vertically"
+msgstr "Capovolgi l'immagine in verticale"
+
+#: tfmain.image_currenttool.hint
+msgctxt "TFMAIN.IMAGE_CURRENTTOOL.HINT"
+msgid "Selected tool"
+msgstr ""
+
+#: tfmain.image_swapcolors.hint
+msgctxt "tfmain.image_swapcolors.hint"
+msgid "Switch color"
+msgstr "Cambia colore"
+
+#: tfmain.itemdocklayersandcolors.caption
+msgid "Dock layers and colors"
+msgstr "Fissa livelli e colori"
+
+#: tfmain.itemdonate.caption
+msgctxt "tfmain.itemdonate.caption"
+msgid "Donate..."
+msgstr "Dona..."
+
+#: tfmain.itemfullscreen.caption
+msgid "Fullscreen"
+msgstr "Schermo intero"
+
+#: tfmain.itemuseimagebrowser.caption
+msgctxt "tfmain.itemuseimagebrowser.caption"
+msgid "Use image browser"
+msgstr ""
+
+#: tfmain.itemviewdocktoolbox.caption
+msgid "Dock toolbox"
+msgstr ""
+
+#: tfmain.label_altitude.caption
+msgid "Altitude"
+msgstr ""
+
+#: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
+msgid "Back"
+msgstr "Indietro"
+
+#: tfmain.label_brush.caption
+msgctxt "tfmain.label_brush.caption"
+msgid "Brush"
+msgstr "Spazzola"
+
+#: tfmain.label_coordinates.caption
+msgid "9999x9999"
+msgstr ""
+
+#: tfmain.label_coordinates.hint
+msgid "Coordinates"
+msgstr "Cooordinate"
+
+#: tfmain.label_currentdiff.caption
+msgctxt "TFMAIN.LABEL_CURRENTDIFF.CAPTION"
+msgid "100%"
+msgstr ""
+
+#: tfmain.label_currentdiff.hint
+msgid "Color difference"
+msgstr "Differenza di colore"
+
+#: tfmain.label_currentzoom.caption
+msgctxt "TFMAIN.LABEL_CURRENTZOOM.CAPTION"
+msgid "%"
+msgstr ""
+
+#: tfmain.label_currentzoom.hint
+msgid "Current zoom"
+msgstr ""
+
+#: tfmain.label_curve.caption
+msgctxt "TFMAIN.LABEL_CURVE.CAPTION"
+msgid "Curve"
+msgstr "Curva"
+
+#: tfmain.label_eraser.caption
+msgctxt "tfmain.label_eraser.caption"
+msgid "Erase"
+msgstr "Cancella"
+
+#: tfmain.label_grid.caption
+msgctxt "TFMAIN.LABEL_GRID.CAPTION"
+msgid "Grid"
+msgstr "Griglia"
+
+#: tfmain.label_gridx.caption
+msgctxt "tfmain.label_gridx.caption"
+msgid "x"
+msgstr ""
+
+#: tfmain.label_outlinewidth.caption
+msgctxt "tfmain.label_outlinewidth.caption"
+msgid "Width"
+msgstr "Larghezza"
+
+#: tfmain.label_pen.caption
+msgctxt "TFMAIN.LABEL_PEN.CAPTION"
+msgid "Pen"
+msgstr "Penna"
+
+#: tfmain.label_penwidth.caption
+msgctxt "tfmain.label_penwidth.caption"
+msgid "Width"
+msgstr "Larghezza"
+
+#: tfmain.label_phongborder.caption
+msgctxt "tfmain.label_phongborder.caption"
+msgid "Border"
+msgstr "Bordo"
+
+#: tfmain.label_ratio.caption
+msgid "Ratio"
+msgstr ""
+
+#: tfmain.label_shadowoffset.caption
+msgctxt "TFMAIN.LABEL_SHADOWOFFSET.CAPTION"
+msgid "Offset"
+msgstr ""
+
+#: tfmain.label_shape.caption
+msgctxt "TFMAIN.LABEL_SHAPE.CAPTION"
+msgid "Shape"
+msgstr "Sagoma/forma"
+
+#: tfmain.label_spacing.caption
+msgid "Spacing"
+msgstr ""
+
+#: tfmain.label_text.caption
+msgctxt "TFMAIN.LABEL_TEXT.CAPTION"
+msgid "Text"
+msgstr "Testo"
+
+#: tfmain.label_textblur.caption
+msgctxt "TFMAIN.LABEL_TEXTBLUR.CAPTION"
+msgid "Blur"
+msgstr "Sfocatura"
+
+#: tfmain.label_tolerance.caption
+msgctxt "tfmain.label_tolerance.caption"
+msgid "Tolerance"
+msgstr "Tolleranza"
+
+#: tfmain.layeraddnew.hint
+msgctxt "tfmain.layeraddnew.hint"
+msgid "Add new layer"
+msgstr "Aggiungi nuovo livello"
+
+#: tfmain.layerduplicate.hint
+msgctxt "tfmain.layerduplicate.hint"
+msgid "Duplicate selected layer"
+msgstr "Duplica livello selezionato"
+
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Esporta"
+
+#: tfmain.layerfromfile.hint
+msgctxt "tfmain.layerfromfile.hint"
+msgid "Import layer from file..."
+msgstr "Importa livello da file"
+
+#: tfmain.layerhorizontalflip.hint
+msgid "Flip layer horizontally"
+msgstr "Capovolgi livello in orizzontale"
+
+#: tfmain.layermergeover.hint
+msgctxt "tfmain.layermergeover.hint"
+msgid "Merge layer over"
+msgstr "Fondi livello"
+
+#: tfmain.layermove.hint
+msgctxt "tfmain.layermove.hint"
+msgid "Move layer"
+msgstr "Muovi livello"
+
+#: tfmain.layerrasterize.hint
+msgid "Rasterize layer"
+msgstr ""
+
+#: tfmain.layerremovecurrent.hint
+msgctxt "tfmain.layerremovecurrent.hint"
+msgid "Remove layer"
+msgstr "Rimuovi livello"
+
+#: tfmain.layerrotate.hint
+msgctxt "tfmain.layerrotate.hint"
+msgid "Rotate layer"
+msgstr "Ruota livello"
+
+#: tfmain.layerverticalflip.hint
+msgctxt "tfmain.layerverticalflip.hint"
+msgid "Flip layer vertically"
+msgstr "Capovolgi livello in verticale"
+
+#: tfmain.layerzoom.hint
+msgid "Zoom layer"
+msgstr ""
+
+#: tfmain.loadselectiondialog.title
+msgid "Load selection"
+msgstr "Carica selezione"
+
+#: tfmain.menucolors.caption
+msgctxt "tfmain.menucolors.caption"
+msgid "Colors"
+msgstr "Colori"
+
+#: tfmain.menucoordinatestoolbar.caption
+msgid "Show coordinates"
+msgstr "Mostra coordinate"
+
+#: tfmain.menucopypastetoolbar.caption
+msgid "Show copy/paste toolbar"
+msgstr "Mostra copia/icolla sulla barra"
+
+#: tfmain.menudocktoolboxleft.caption
+msgid "Dock left"
+msgstr "Fissa a sinistra"
+
+#: tfmain.menudocktoolboxright.caption
+msgid "Dock right"
+msgstr "Fissa a destra"
+
+#: tfmain.menuedit.caption
+msgctxt "tfmain.menuedit.caption"
+msgid "Edit"
+msgstr "Modifica"
+
+#: tfmain.menufile.caption
+msgid "File"
+msgstr ""
+
+#: tfmain.menufiletoolbar.caption
+msgid "Show file toolbar"
+msgstr "Mostra i file sulla barra"
+
+#: tfmain.menufilter.caption
+msgctxt "tfmain.menufilter.caption"
+msgid "Filter"
+msgstr "Filtro"
+
+#: tfmain.menuhelp.caption
+msgctxt "tfmain.menuhelp.caption"
+msgid "Help"
+msgstr "Aiuto"
+
+#: tfmain.menuimage.caption
+msgctxt "tfmain.menuimage.caption"
+msgid "Image"
+msgstr "Immagine"
+
+#: tfmain.menulanguage.caption
+msgctxt "tfmain.menulanguage.caption"
+msgid "Language"
+msgstr "Lingua"
+
+#: tfmain.menuradialblur.caption
+msgctxt "tfmain.menuradialblur.caption"
+msgid "Radial blur"
+msgstr "Sfocatura radiale"
+
+#: tfmain.menurecentfiles.caption
+msgctxt "tfmain.menurecentfiles.caption"
+msgid "Recent files"
+msgstr "File recenti"
+
+#: tfmain.menuremovetransparency.caption
+msgctxt "tfmain.menuremovetransparency.caption"
+msgid "Remove transparency"
+msgstr "Rimuovi trasparenza"
+
+#: tfmain.menurender.caption
+#, fuzzy
+msgctxt "tfmain.menurender.caption"
+msgid "Render"
+msgstr "Render"
+
+#: tfmain.menuscript.caption
+msgctxt "tfmain.menuscript.caption"
+msgid "Script"
+msgstr ""
+
+#: tfmain.menuselect.caption
+msgctxt "tfmain.menuselect.caption"
+msgid "Select"
+msgstr "Seleziona"
+
+#: tfmain.menushowpalette.caption
+msgctxt "tfmain.menushowpalette.caption"
+msgid "Show palette"
+msgstr "Mostra tavolozza"
+
+#: tfmain.menutool.caption
+msgctxt "tfmain.menutool.caption"
+msgid "Tools"
+msgstr "Strumenti"
+
+#: tfmain.menuundocktoolbox.caption
+msgid "Undock"
+msgstr ""
+
+#: tfmain.menuundoredotoolbar.caption
+msgid "Show undo/redo toolbar"
+msgstr ""
+
+#: tfmain.menuview.caption
+msgctxt "tfmain.menuview.caption"
+msgid "View"
+msgstr "Vedi/vista"
+
+#: tfmain.menuzoomtoolbar.caption
+msgid "Show zoom toolbar"
+msgstr ""
+
+#: tfmain.open3dobjectdialog.title
+msgctxt "tfmain.open3dobjectdialog.title"
+msgid "Import 3D object"
+msgstr "Importa oggetto 3D"
+
+#: tfmain.openbrushdialog.title
+msgid "Open brush"
+msgstr "Apri spazzola"
+
+#: tfmain.openpicturedialog1.title
+msgctxt "TFMAIN.OPENPICTUREDIALOG1.TITLE"
+msgid "Open existing image"
+msgstr ""
+
+#: tfmain.opentexturedialog.title
+msgctxt "tfmain.opentexturedialog.title"
+msgid "Open texture"
+msgstr ""
+
+#: tfmain.perspective_repeat.hint
+msgctxt "tfmain.perspective_repeat.hint"
+msgid "Repeat image"
+msgstr ""
+
+#: tfmain.perspective_twoplanes.hint
+msgctxt "tfmain.perspective_twoplanes.hint"
+msgid "Draw opposite plane too"
+msgstr ""
+
+#: tfmain.rendercamouflage.caption
+msgid "Camouflage"
+msgstr "Camuffa"
+
+#: tfmain.renderclouds.caption
+msgid "Clouds"
+msgstr "Nuvole"
+
+#: tfmain.rendercustomwater.caption
+msgid "Water with custom colors"
+msgstr "Acqua con colori a scelta"
+
+#: tfmain.rendercyclicperlinnoise.caption
+msgctxt "tfmain.rendercyclicperlinnoise.caption"
+msgid "Cyclic Perlin noise"
+msgstr ""
+
+#: tfmain.rendermarble.caption
+msgid "Marble"
+msgstr "Marmo"
+
+#: tfmain.rendermetalfloor.caption
+msgid "Metal floor"
+msgstr "Pavimento di metallo"
+
+#: tfmain.renderperlinnoise.caption
+msgid "Perlin noise"
+msgstr ""
+
+#: tfmain.renderplastik.caption
+msgid "Plastik"
+msgstr "Plastica"
+
+#: tfmain.renderroundstone.caption
+msgid "Round stone"
+msgstr ""
+
+#: tfmain.rendersnowprint.caption
+msgid "Snow print"
+msgstr ""
+
+#: tfmain.renderstone.caption
+msgid "Stone"
+msgstr "Pietra"
+
+#: tfmain.renderwater.caption
+msgctxt "tfmain.renderwater.caption"
+msgid "Water"
+msgstr "Acqua"
+
+#: tfmain.renderwood.caption
+msgid "Wood"
+msgstr "Legno"
+
+#: tfmain.renderwoodvertical.caption
+msgid "Vertical wood"
+msgstr "Legno verticale"
+
+#: tfmain.savepicturedialog1.title
+msgid "Save file as..."
+msgstr "Salva il file come..."
+
+#: tfmain.saveselectiondialog.title
+msgctxt "TFMAIN.SAVESELECTIONDIALOG.TITLE"
+msgid "Save selection as..."
+msgstr "Salva selezione come..."
+
+#: tfmain.selectionhorizontalflip.hint
+msgid "Flip selection horizontally"
+msgstr "Capovolgi selezione in orizzontale"
+
+#: tfmain.selectionverticalflip.hint
+msgid "Flip selection vertically"
+msgstr "Capovolgi selezione in verticale"
+
+#: tfmain.spinedit_arrowsizex.hint
+msgctxt "tfmain.spinedit_arrowsizex.hint"
+msgid "Horizontal size of the arrow"
+msgstr ""
+
+#: tfmain.spinedit_arrowsizey.hint
+msgctxt "tfmain.spinedit_arrowsizey.hint"
+msgid "Vertical size of the arrow"
+msgstr ""
+
+#: tfmain.spinedit_brushspacing.hint
+msgctxt "tfmain.spinedit_brushspacing.hint"
+msgid "Spacing between patterns"
+msgstr ""
+
+#: tfmain.spinedit_eraser.hint
+msgctxt "tfmain.spinedit_eraser.hint"
+msgid "Eraser opacity"
+msgstr "Cancella opacità"
+
+#: tfmain.spinedit_penwidth.hint
+msgctxt "tfmain.spinedit_penwidth.hint"
+msgid "Pen width"
+msgstr "Larghezza penna"
+
+#: tfmain.spinedit_phongbordersize.hint
+msgctxt "tfmain.spinedit_phongbordersize.hint"
+msgid "Border size"
+msgstr "Misura del bordo"
+
+#: tfmain.spinedit_shapealtitude.hint
+msgctxt "tfmain.spinedit_shapealtitude.hint"
+msgid "Shape altitude"
+msgstr ""
+
+#: tfmain.spinedit_textblur.hint
+msgctxt "tfmain.spinedit_textblur.hint"
+msgid "Shadow blur"
+msgstr "Sfocatura dell'ombra"
+
+#: tfmain.spinedit_textoutlinewidth.hint
+msgctxt "tfmain.spinedit_textoutlinewidth.hint"
+msgid "Text outline width"
+msgstr ""
+
+#: tfmain.spinedit_textshadowx.hint
+msgctxt "tfmain.spinedit_textshadowx.hint"
+msgid "Horizontal shadow offset"
+msgstr ""
+
+#: tfmain.spinedit_textshadowy.hint
+msgctxt "tfmain.spinedit_textshadowy.hint"
+msgid "Vertical shadow offset"
+msgstr ""
+
+#: tfmain.spinedit_textsize.hint
+msgctxt "tfmain.spinedit_textsize.hint"
+msgid "Text size"
+msgstr "Misura del testo"
+
+#: tfmain.toolbrush.hint
+msgctxt "tfmain.toolbrush.hint"
+msgid "Brush"
+msgstr "Spazzola"
+
+#: tfmain.toolchangedocking.hint
+msgctxt "tfmain.toolchangedocking.hint"
+msgid "Change docking"
+msgstr ""
+
+#: tfmain.toolclone.hint
+msgid "Clone tool"
+msgstr "Strumento clona"
+
+#: tfmain.toolcolorpicker.hint
+msgctxt "TFMAIN.TOOLCOLORPICKER.HINT"
+msgid "Color picker"
+msgstr "Scegli colore"
+
+#: tfmain.tooldeformation.caption
+msgid "Deformation"
+msgstr "Deformazione"
+
+#: tfmain.tooldeformation.hint
+msgid "Deformation grid"
+msgstr "Griglia di deformazione"
+
+#: tfmain.tooleditshape.hint
+msgid "Edit shape"
+msgstr "Modifica sagoma"
+
+#: tfmain.toolellipse.hint
+msgctxt "TFMAIN.TOOLELLIPSE.HINT"
+msgid "Ellipse"
+msgstr "Ellisse"
+
+#: tfmain.tooleraser.hint
+msgctxt "TFMAIN.TOOLERASER.HINT"
+msgid "Eraser"
+msgstr "Cancellatore"
+
+#: tfmain.toolfloodfill.hint
+msgid "Floodfill"
+msgstr "Riempimento"
+
+#: tfmain.toolgradient.caption
+msgid "Gradient"
+msgstr ""
+
+#: tfmain.toolgradient.hint
+msgid "Render gradient"
+msgstr ""
+
+#: tfmain.toolhand.caption
+msgid "Hand"
+msgstr "Mano"
+
+#: tfmain.toolhand.hint
+msgid "Move and scroll picture"
+msgstr ""
+
+#: tfmain.toolhotspot.caption
+msgctxt "tfmain.toolhotspot.caption"
+msgid "Hot spot"
+msgstr ""
+
+#: tfmain.toolhotspot.hint
+msgid "Choose hot spot of a cursor"
+msgstr ""
+
+#: tfmain.toollayermapping.hint
+msgctxt "tfmain.toollayermapping.hint"
+msgid "Layer perspective"
+msgstr ""
+
+#: tfmain.toolmagicwand.caption
+msgid "Magic wand"
+msgstr ""
+
+#: tfmain.toolmagicwand.hint
+msgid "Magic wand select"
+msgstr ""
+
+#: tfmain.toolmoveselection.hint
+msgctxt "TFMAIN.TOOLMOVESELECTION.HINT"
+msgid "Move selection"
+msgstr "Muovi selezione"
+
+#: tfmain.toolopenedcurve.hint
+msgid "Opened curve"
+msgstr "Curve aperte"
+
+#: tfmain.toolpen.caption
+msgctxt "TFMAIN.TOOLPEN.CAPTION"
+msgid "Pen"
+msgstr "Penna"
+
+#: tfmain.toolpen.hint
+msgid "Simple pen"
+msgstr "Penna semplice"
+
+#: tfmain.toolphong.hint
+msgctxt "TFMAIN.TOOLPHONG.HINT"
+msgid "Shaded shape"
+msgstr "Sagoma ombrata"
+
+#: tfmain.toolpolygon.caption
+msgid "Polygon"
+msgstr "Poligono"
+
+#: tfmain.toolpolygon.hint
+msgid "Polygon or polyline"
+msgstr "Poligono o linee multiple"
+
+#: tfmain.toolpolyline.hint
+msgid "Polyline"
+msgstr "Linee multiple"
+
+#: tfmain.toolrect.hint
+msgctxt "TFMAIN.TOOLRECT.HINT"
+msgid "Rectangle"
+msgstr "Rettangolo"
+
+#: tfmain.toolrotateselection.hint
+msgctxt "TFMAIN.TOOLROTATESELECTION.HINT"
+msgid "Rotate selection"
+msgstr "Ruota selezione"
+
+#: tfmain.toolselectellipse.hint
+msgctxt "TFMAIN.TOOLSELECTELLIPSE.HINT"
+msgid "Select ellipse"
+msgstr "Seleziona ellisse"
+
+#: tfmain.toolselectpen.caption
+msgctxt "tfmain.toolselectpen.caption"
+msgid "Selection pen"
+msgstr "Penna selezionata"
+
+#: tfmain.toolselectpen.hint
+msgctxt "tfmain.toolselectpen.hint"
+msgid "Draw selection with pen"
+msgstr "Disegna selezione con la penna"
+
+#: tfmain.toolselectpoly.hint
+msgctxt "TFMAIN.TOOLSELECTPOLY.HINT"
+msgid "Select polygon"
+msgstr "Seleziona poligono"
+
+#: tfmain.toolselectrect.hint
+msgctxt "TFMAIN.TOOLSELECTRECT.HINT"
+msgid "Select rectangle"
+msgstr "Seleziona rettangolo"
+
+#: tfmain.toolselectspline.hint
+msgctxt "tfmain.toolselectspline.hint"
+msgid "Select curve"
+msgstr "Seleziona curva"
+
+#: tfmain.toolspline.caption
+msgctxt "TFMAIN.TOOLSPLINE.CAPTION"
+msgid "Curve"
+msgstr "Curva"
+
+#: tfmain.toolspline.hint
+msgctxt "tfmain.toolspline.hint"
+msgid "Curve"
+msgstr "Curva"
+
+#: tfmain.tooltext.hint
+msgctxt "TFMAIN.TOOLTEXT.HINT"
+msgid "Text"
+msgstr "Testo"
+
+#: tfmain.tooltexturemapping.hint
+msgctxt "tfmain.tooltexturemapping.hint"
+msgid "Texture mapping"
+msgstr ""
+
+#: tfmain.tool_aliasing.hint
+msgid "Disable antialiasing"
+msgstr ""
+
+#: tfmain.tool_capflat.hint
+msgctxt "TFMAIN.TOOL_CAPFLAT.HINT"
+msgid "Flat cap"
+msgstr ""
+
+#: tfmain.tool_capround.hint
+msgctxt "TFMAIN.TOOL_CAPROUND.HINT"
+msgid "Round cap"
+msgstr ""
+
+#: tfmain.tool_capsquare.hint
+msgctxt "TFMAIN.TOOL_CAPSQUARE.HINT"
+msgid "Square cap"
+msgstr ""
+
+#: tfmain.tool_closeshape.hint
+msgctxt "tfmain.tool_closeshape.hint"
+msgid "Close shape"
+msgstr ""
+
+#: tfmain.tool_curvemodeangle.hint
+msgid "Draw an angle"
+msgstr "Disegna un angolo"
+
+#: tfmain.tool_curvemodeauto.hint
+msgctxt "tfmain.tool_curvemodeauto.hint"
+msgid "Autodetect angles"
+msgstr ""
+
+#: tfmain.tool_curvemodecurve.hint
+msgid "Draw a curve"
+msgstr "Disegna curva"
+
+#: tfmain.tool_curvemovepoint.hint
+msgid "Move point"
+msgstr ""
+
+#: tfmain.tool_drawshapeborder.hint
+msgctxt "tfmain.tool_drawshapeborder.hint"
+msgid "Draw border"
+msgstr "Disegna bordo"
+
+#: tfmain.tool_erasealpha.hint
+msgctxt "tfmain.tool_erasealpha.hint"
+msgid "Make transparent"
+msgstr "Rendi trasparente"
+
+#: tfmain.tool_eraseblur.hint
+msgctxt "tfmain.tool_eraseblur.hint"
+msgid "Soften"
+msgstr ""
+
+#: tfmain.tool_erasedarken.hint
+msgid "Darken"
+msgstr "Scuro"
+
+#: tfmain.tool_eraselighten.hint
+msgid "Lighten"
+msgstr "Chiaro"
+
+#: tfmain.tool_erasesharpen.hint
+msgid "Sharpen"
+msgstr "Evidenziato"
+
+#: tfmain.tool_fillshape.hint
+msgctxt "tfmain.tool_fillshape.hint"
+msgid "Fill shape"
+msgstr ""
+
+#: tfmain.tool_gridmovewithoutdeformation.hint
+msgctxt "tfmain.tool_gridmovewithoutdeformation.hint"
+msgid "Move grid without deformation"
+msgstr ""
+
+#: tfmain.tool_joinbevel.hint
+msgctxt "TFMAIN.TOOL_JOINBEVEL.HINT"
+msgid "Bevel join"
+msgstr ""
+
+#: tfmain.tool_joinmiter.hint
+msgctxt "TFMAIN.TOOL_JOINMITER.HINT"
+msgid "Miter join"
+msgstr ""
+
+#: tfmain.tool_joinround.hint
+msgctxt "TFMAIN.TOOL_JOINROUND.HINT"
+msgid "Round join"
+msgstr ""
+
+#: tfmain.tool_phongshapecone.hint
+msgctxt "tfmain.tool_phongshapecone.hint"
+msgid "Cone"
+msgstr "Cono"
+
+#: tfmain.tool_phongshapehorizontalcylinder.hint
+msgctxt "tfmain.tool_phongshapehorizontalcylinder.hint"
+msgid "Horizontal cylinder"
+msgstr "Cilindro orizzontale"
+
+#: tfmain.tool_phongshaperectangle.hint
+msgctxt "tfmain.tool_phongshaperectangle.hint"
+msgid "Rectangle"
+msgstr "Rettangolo"
+
+#: tfmain.tool_phongshaperoundrect.hint
+msgctxt "tfmain.tool_phongshaperoundrect.hint"
+msgid "Rounded rectangle"
+msgstr ""
+
+#: tfmain.tool_phongshapesphere.hint
+msgctxt "tfmain.tool_phongshapesphere.hint"
+msgid "Sphere"
+msgstr "Sfera"
+
+#: tfmain.tool_phongshapeverticalcone.hint
+msgctxt "tfmain.tool_phongshapeverticalcone.hint"
+msgid "Vertical cone"
+msgstr "Cono verticale"
+
+#: tfmain.tool_phongshapeverticalcylinder.hint
+msgctxt "tfmain.tool_phongshapeverticalcylinder.hint"
+msgid "Vertical cylinder"
+msgstr "Cilindro verticale"
+
+#: tfmain.tool_progressivefloodfill.caption
+msgctxt "tfmain.tool_progressivefloodfill.caption"
+msgid "Progressive floodfill"
+msgstr "Riempimento progressivo"
+
+#: tfmain.tool_progressivefloodfill.hint
+#, fuzzy
+msgctxt "tfmain.tool_progressivefloodfill.hint"
+msgid "Progressive floodfill"
+msgstr "Riempimento progressivo"
+
+#: tfmain.tool_textaligncenter.hint
+msgid "Center"
+msgstr ""
+
+#: tfmain.tool_textalignleft.hint
+msgid "Align left"
+msgstr "Allinea a sinistra"
+
+#: tfmain.tool_textalignright.hint
+msgid "Align right"
+msgstr "Allinea a destra"
+
+#: tfmain.tool_textfont.hint
+msgctxt "TFMAIN.TOOL_TEXTFONT.HINT"
+msgid "Choose font..."
+msgstr "Scegli carattere"
+
+#: tfmain.tool_textoutline.hint
+msgctxt "TFMAIN.TOOL_TEXTOUTLINE.HINT"
+msgid "Text outline"
+msgstr ""
+
+#: tfmain.tool_textphong.hint
+msgctxt "TFMAIN.TOOL_TEXTPHONG.HINT"
+msgid "Text phong shading"
+msgstr ""
+
+#: tfmain.tool_textshadow.hint
+msgctxt "TFMAIN.TOOL_TEXTSHADOW.HINT"
+msgid "Text shadow"
+msgstr "Testo ombrato"
+
+#: tfmain.viewcolors.caption
+msgctxt "TFMAIN.VIEWCOLORS.CAPTION"
+msgid "Colors"
+msgstr "Colori"
+
+#: tfmain.viewdarktheme.caption
+msgid "Dark theme"
+msgstr "Tema scuro"
+
+#: tfmain.viewgrid.caption
+msgctxt "TFMAIN.VIEWGRID.CAPTION"
+msgid "Grid"
+msgstr "Griglia"
+
+#: tfmain.viewimagelist.caption
+msgid "Image list"
+msgstr ""
+
+#: tfmain.viewlayerstack.caption
+msgctxt "tfmain.viewlayerstack.caption"
+msgid "Layers"
+msgstr "Livelli"
+
+#: tfmain.viewlayerstackbutton.caption
+msgctxt "tfmain.viewlayerstackbutton.caption"
+msgid "Show layers"
+msgstr "Mostra livelli"
+
+#: tfmain.viewlayerstackbutton.hint
+msgctxt "tfmain.viewlayerstackbutton.hint"
+msgid "Show or hide layer stack window"
+msgstr "Mostra/nascondi finestra di stack"
+
+#: tfmain.viewpalette.caption
+msgctxt "tfmain.viewpalette.caption"
+msgid "Palette"
+msgstr "Tavolozza"
+
+#: tfmain.viewstatusbar.caption
+msgid "Status bar"
+msgstr ""
+
+#: tfmain.viewtoolbox.caption
+msgid "Toolbox"
+msgstr ""
+
+#: tfmain.viewworkspacecolor.caption
+msgid "Set workspace color..."
+msgstr "Imposta colore dello spazio di lavoro"
+
+#: tfmain.viewzoomfit.caption
+msgctxt "tfmain.viewzoomfit.caption"
+msgid "Zoom fit"
+msgstr "Aggiusta zoom"
+
+#: tfmain.viewzoomfit.hint
+msgctxt "TFMAIN.VIEWZOOMFIT.HINT"
+msgid "Zoom to fit in the window"
+msgstr "Aggiusta lo zoom alla finestra"
+
+#: tfmain.viewzoomin.hint
+msgctxt "TFMAIN.VIEWZOOMIN.HINT"
+msgid "Zoom in"
+msgstr ""
+
+#: tfmain.viewzoomoriginal.caption
+msgctxt "TFMAIN.VIEWZOOMORIGINAL.CAPTION"
+msgid "Original size"
+msgstr "Dimensione originale"
+
+#: tfmain.viewzoomoriginal.hint
+msgid "Zoom to original pixel size"
+msgstr ""
+
+#: tfmain.viewzoomout.hint
+msgctxt "TFMAIN.VIEWZOOMOUT.HINT"
+msgid "Zoom out"
+msgstr ""
+
+#: tfmotionblur.button_cancel.caption
+msgctxt "TFMOTIONBLUR.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfmotionblur.button_ok.caption
+msgctxt "TFMOTIONBLUR.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfmotionblur.caption
+msgctxt "tfmotionblur.caption"
+msgid "Motion blur"
+msgstr "Sfocatura in movimento"
+
+#: tfmotionblur.checkbox_oriented.caption
+msgid "Oriented"
+msgstr ""
+
+#: tfmotionblur.label_distance.caption
+msgctxt "tfmotionblur.label_distance.caption"
+msgid "Distance :"
+msgstr "Distanza"
+
+#: tfmultiimage.button_cancel.caption
+msgctxt "tfmultiimage.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfmultiimage.button_ok.caption
+msgctxt "tfmultiimage.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfmultiimage.caption
+msgid "Choose image"
+msgstr "Scegli immagine"
+
+#: tfnewimage.button_cancel.caption
+msgctxt "TFNEWIMAGE.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfnewimage.button_ok.caption
+msgctxt "TFNEWIMAGE.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfnewimage.caption
+msgctxt "tfnewimage.caption"
+msgid "New image"
+msgstr "Nuova immagine"
+
+#: tfnewimage.combobox_bitdepth.text
+msgid "32"
+msgstr ""
+
+#: tfnewimage.label_bitdepth.caption
+msgid "Bit depth :"
+msgstr ""
+
+#: tfnewimage.label_height.caption
+msgctxt "tfnewimage.label_height.caption"
+msgid "Height :"
+msgstr "Altezza"
+
+#: tfnewimage.label_height1.caption
+msgid "Ratio :"
+msgstr ""
+
+#: tfnewimage.label_memoryrequired.caption
+msgid "Memory required :"
+msgstr ""
+
+#: tfnewimage.label_width.caption
+msgctxt "tfnewimage.label_width.caption"
+msgid "Width :"
+msgstr "Larghezza"
+
+#: tfnoisefilter.button_cancel.caption
+msgctxt "tfnoisefilter.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfnoisefilter.button_ok.caption
+msgctxt "tfnoisefilter.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfnoisefilter.caption
+msgid "Noise filter"
+msgstr "Filtro di rumore"
+
+#: tfnoisefilter.label_opacity.caption
+msgid "Opacity:"
+msgstr "Opacità"
+
+#: tfnoisefilter.radio_grayscalenoise.caption
+msgid "Grayscale noise"
+msgstr "Rumore in scala di grigi"
+
+#: tfnoisefilter.radio_rgbnoise.caption
+msgid "RGB noise"
+msgstr ""
+
+#: tfobject3d.button_cancel.caption
+msgctxt "tfobject3d.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfobject3d.button_loadtex.caption
+msgid "Texture..."
+msgstr "Scrivi testo..."
+
+#: tfobject3d.button_notex.caption
+msgid "No tex."
+msgstr ""
+
+#: tfobject3d.button_ok.caption
+msgctxt "tfobject3d.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfobject3d.caption
+msgid "3D object"
+msgstr ""
+
+#: tfobject3d.checkbox_antialiasing.caption
+msgid "Antialiasing"
+msgstr ""
+
+#: tfobject3d.checkbox_biface.caption
+msgid "2-sided faces"
+msgstr ""
+
+#: tfobject3d.checkbox_textureinterp.caption
+msgid "Texture interpolation"
+msgstr ""
+
+#: tfobject3d.groupbox_selectedlight.caption
+msgid "Selected light"
+msgstr ""
+
+#: tfobject3d.groupbox_selectedmaterial.caption
+msgctxt "tfobject3d.groupbox_selectedmaterial.caption"
+msgid "Selected material"
+msgstr "Materiale selezionato"
+
+#: tfobject3d.label_color.caption
+msgctxt "tfobject3d.label_color.caption"
+msgid "Color :"
+msgstr "Colore :"
+
+#: tfobject3d.label_color1.caption
+msgctxt "tfobject3d.label_color1.caption"
+msgid "Color :"
+msgstr "Colore :"
+
+#: tfobject3d.label_height.caption
+msgctxt "tfobject3d.label_height.caption"
+msgid "Height :"
+msgstr "Altezza :"
+
+#: tfobject3d.label_lightingnormals.caption
+msgctxt "tfobject3d.label_lightingnormals.caption"
+msgid "Lighting normals :"
+msgstr ""
+
+#: tfobject3d.label_lights.caption
+msgid "Lights :"
+msgstr "Luci :"
+
+#: tfobject3d.label_materials.caption
+msgctxt "tfobject3d.label_materials.caption"
+msgid "Materials :"
+msgstr "Materiali :"
+
+#: tfobject3d.label_opacity.caption
+msgctxt "tfobject3d.label_opacity.caption"
+msgid "Opacity :"
+msgstr "Opacità : "
+
+#: tfobject3d.label_specularindex.caption
+msgctxt "tfobject3d.label_specularindex.caption"
+msgid "Spec. index :"
+msgstr ""
+
+#: tfobject3d.label_width.caption
+msgctxt "tfobject3d.label_width.caption"
+msgid "Width :"
+msgstr "Larghezza :"
+
+#: tfobject3d.label_zoom.caption
+msgctxt "tfobject3d.label_zoom.caption"
+msgid "Zoom"
+msgstr ""
+
+#: tfobject3d.lights.caption
+msgid "Lights"
+msgstr "Luci"
+
+#: tfobject3d.materials.caption
+msgid "Materials"
+msgstr "Materiali"
+
+#: tfobject3d.opentexturedialog.title
+msgctxt "tfobject3d.opentexturedialog.title"
+msgid "Open texture"
+msgstr ""
+
+#: tfobject3d.rendering.caption
+msgid "Rendering"
+msgstr ""
+
+#: tfobject3d.tooladddirectional.hint
+msgid "Add a directional light"
+msgstr ""
+
+#: tfobject3d.toolpointlight.hint
+msgid "Add a point light"
+msgstr "Aggiungi punto luce"
+
+#: tfobject3d.toolremoveselectedlight.hint
+msgid "Remove selected light"
+msgstr "Rimuovi luce selezionata"
+
+#: tfphongfilter.button_cancel.caption
+msgctxt "tfphongfilter.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfphongfilter.button_ok.caption
+msgctxt "tfphongfilter.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfphongfilter.caption
+msgctxt "tfphongfilter.caption"
+msgid "Shaded map"
+msgstr "Mappa ombrata"
+
+#: tfphongfilter.groupbox_color.caption
+msgctxt "tfphongfilter.groupbox_color.caption"
+msgid "Color"
+msgstr "Colore"
+
+#: tfphongfilter.groupbox_color1.caption
+msgid "Altitude map"
+msgstr ""
+
+#: tfphongfilter.label_altitude.caption
+msgid "Global altitude :"
+msgstr ""
+
+#: tfphongfilter.label_lightposition.caption
+msgid "Light position :"
+msgstr ""
+
+#: tfphongfilter.radio_mapalpha.caption
+msgid "Alpha"
+msgstr ""
+
+#: tfphongfilter.radio_mapblue.caption
+msgid "B"
+msgstr ""
+
+#: tfphongfilter.radio_mapgreen.caption
+msgid "G"
+msgstr ""
+
+#: tfphongfilter.radio_maplightness.caption
+msgctxt "tfphongfilter.radio_maplightness.caption"
+msgid "Lightness"
+msgstr "Luminosità"
+
+#: tfphongfilter.radio_maplinearlightness.caption
+msgid "Linear lightness"
+msgstr ""
+
+#: tfphongfilter.radio_mapred.caption
+msgid "R"
+msgstr ""
+
+#: tfphongfilter.radio_mapsaturation.caption
+msgctxt "tfphongfilter.radio_mapsaturation.caption"
+msgid "Saturation"
+msgstr "Saturazione"
+
+#: tfphongfilter.radio_usebackcolor.caption
+msgid "Back color"
+msgstr ""
+
+#: tfphongfilter.radio_usekeep.caption
+msgid "Keep"
+msgstr "Acquisisci"
+
+#: tfphongfilter.radio_usepencolor.caption
+msgid "Pen color"
+msgstr "Colore della penna"
+
+#: tfphongfilter.radio_usetexture.caption
+msgctxt "tfphongfilter.radio_usetexture.caption"
+msgid "Current texture"
+msgstr "Testo corrente"
+
+#: tfpixelate.button_cancel.caption
+msgctxt "TFPIXELATE.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfpixelate.button_ok.caption
+msgctxt "TFPIXELATE.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfpixelate.caption
+msgctxt "tfpixelate.caption"
+msgid "Pixelate"
+msgstr ""
+
+#: tfpixelate.label_pixelsize.caption
+msgctxt "tfpixelate.label_pixelsize.caption"
+msgid "Pixel size :"
+msgstr ""
+
+#: tfpixelate.label_quality.caption
+msgctxt "tfpixelate.label_quality.caption"
+msgid "Quality :"
+msgstr "Qualità"
+
+#: tfposterize.button_cancel.caption
+msgctxt "tfposterize.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfposterize.button_ok.caption
+msgctxt "tfposterize.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfposterize.caption
+msgctxt "tfposterize.caption"
+msgid "Posterize"
+msgstr ""
+
+#: tfposterize.checkbox_bylightness.caption
+msgid "By lightness"
+msgstr ""
+
+#: tfposterize.label_levels.caption
+msgid "Levels :"
+msgstr "Livelli"
+
+#: tfpreviewdialog.caption
+msgid "Preview"
+msgstr "Anteprima"
+
+#: tfpreviewdialog.lstatus.caption
+msgctxt "tfpreviewdialog.lstatus.caption"
+msgid "."
+msgstr ""
+
+#: tfprint.button_configureprinter.caption
+msgid "Configure..."
+msgstr "Configura"
+
+#: tfprint.button_print.caption
+msgid "Print!"
+msgstr "Stampa"
+
+#: tfprint.button_zoomfit.caption
+msgctxt "tfprint.button_zoomfit.caption"
+msgid "Zoom fit"
+msgstr "Aggiusta zoom"
+
+#: tfprint.caption
+msgid "Print"
+msgstr "Stampa"
+
+#: tfprint.checkbox_ratio.caption
+msgctxt "tfprint.checkbox_ratio.caption"
+msgid "Keep aspect ratio"
+msgstr ""
+
+#: tfprint.groupbox_imagesize.caption
+msgid "Image size"
+msgstr "Dimensione immagine"
+
+#: tfprint.groupbox_margins.caption
+msgid "Margins"
+msgstr "Margini"
+
+#: tfprint.label_bottom.caption
+msgid "Bottom:"
+msgstr ""
+
+#: tfprint.label_dpix.caption
+msgctxt "tfprint.label_dpix.caption"
+msgid "."
+msgstr ""
+
+#: tfprint.label_dpiy.caption
+msgctxt "tfprint.label_dpiy.caption"
+msgid "."
+msgstr ""
+
+#: tfprint.label_height.caption
+msgid "Height:"
+msgstr "Altezza"
+
+#: tfprint.label_left.caption
+msgid "Left:"
+msgstr "Sinistra"
+
+#: tfprint.label_orientation.caption
+msgid "Orientation:"
+msgstr "Orientamento"
+
+#: tfprint.label_printerandpaper.caption
+msgid "Printer and paper:"
+msgstr ""
+
+#: tfprint.label_right.caption
+msgid "Right:"
+msgstr "Destra"
+
+#: tfprint.label_top.caption
+msgid "Top:"
+msgstr "Alto:"
+
+#: tfprint.label_width.caption
+msgid "Width:"
+msgstr "Larghezza"
+
+#: tfquestion.caption
+msgid "Question"
+msgstr "Domanda"
+
+#: tfquestion.checkbox_rememberchoice.caption
+msgid "Remember this choice"
+msgstr "Ricorda questa scelta"
+
+#: tfquestion.label_message.caption
+msgctxt "tfquestion.label_message.caption"
+msgid "."
+msgstr ""
+
+#: tfradialblur.button_cancel.caption
+msgctxt "TFRADIALBLUR.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfradialblur.button_ok.caption
+msgctxt "TFRADIALBLUR.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfradialblur.caption
+msgctxt "tfradialblur.caption"
+msgid "Radial blur"
+msgstr "Sfocatura radiale"
+
+#: tfradialblur.label_radius.caption
+msgctxt "tfradialblur.label_radius.caption"
+msgid "Radius :"
+msgstr "Raggio :"
+
+#: tfrain.button_cancel.caption
+msgctxt "tfrain.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfrain.button_ok.caption
+msgctxt "tfrain.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfrain.caption
+msgid "Rain"
+msgstr "Pioggia"
+
+#: tfrain.label_quantity.caption
+msgid "Quantity:"
+msgstr "Quantità:"
+
+#: tfrain.label_wind.caption
+msgid "Wind :"
+msgstr "Vento :"
+
+#: tfresample.button_cancel.caption
+msgctxt "TFRESAMPLE.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfresample.button_ok.caption
+msgctxt "TFRESAMPLE.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfresample.caption
+msgctxt "tfresample.caption"
+msgid "Resample"
+msgstr ""
+
+#: tfresample.checkbox_ratio.caption
+msgctxt "tfresample.checkbox_ratio.caption"
+msgid "Keep aspect ratio"
+msgstr ""
+
+#: tfresample.label_height.caption
+msgctxt "tfresample.label_height.caption"
+msgid "Height :"
+msgstr "Altezza :"
+
+#: tfresample.label_quality.caption
+msgctxt "tfresample.label_quality.caption"
+msgid "Quality :"
+msgstr "Qualità :"
+
+#: tfresample.label_width.caption
+msgctxt "tfresample.label_width.caption"
+msgid "Width :"
+msgstr "Larghezza :"
+
+#: tfsaveoption.button_cancel.caption
+msgctxt "tfsaveoption.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfsaveoption.button_ok.caption
+msgctxt "tfsaveoption.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfsaveoption.caption
+msgctxt "tfsaveoption.caption"
+msgid "Save"
+msgstr "Salva"
+
+#: tfsaveoption.checkbox_dithering.caption
+msgid "Dithering"
+msgstr ""
+
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
+#: tfsaveoption.label1.caption
+msgid "Quality:"
+msgstr "Qualità:"
+
+#: tfsaveoption.label_0.caption
+msgid "0"
+msgstr ""
+
+#: tfsaveoption.label_1.caption
+msgid "100"
+msgstr ""
+
+#: tfsaveoption.label_50.caption
+msgid "50"
+msgstr ""
+
+#: tfsaveoption.label_colordepth.caption
+msgid "Color depth:"
+msgstr "Profondità del colore"
+
+#: tfsaveoption.label_size.caption
+msgid "Size:"
+msgstr "Dimensione"
+
+#: tfsaveoption.radiobutton_16colors.caption
+msgid "16 colors"
+msgstr ""
+
+#: tfsaveoption.radiobutton_24bitsperpixel.caption
+msgid "24 bits"
+msgstr ""
+
+#: tfsaveoption.radiobutton_256colors.caption
+msgid "256 colors"
+msgstr ""
+
+#: tfsaveoption.radiobutton_2colors.caption
+msgid "2 colors"
+msgstr ""
+
+#: tfsaveoption.radiobutton_32bitsperpixel.caption
+msgid "32 bits"
+msgstr ""
+
+#: tfsaveoption.radiobutton_miomap.caption
+msgid "MioMap"
+msgstr ""
+
+#: tfsharpen.button_cancel.caption
+msgctxt "tfsharpen.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfsharpen.button_ok.caption
+msgctxt "tfsharpen.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfsharpen.caption
+msgid "Sharpen/Smooth"
+msgstr ""
+
+#: tfsharpen.label_amount.caption
+msgctxt "tfsharpen.label_amount.caption"
+msgid "Amount :"
+msgstr ""
+
+#: tfshiftcolors.button_cancel.caption
+msgctxt "TFSHIFTCOLORS.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfshiftcolors.button_ok.caption
+msgctxt "TFSHIFTCOLORS.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tfshiftcolors.caption
+msgctxt "tfshiftcolors.caption"
+msgid "Shift colors"
+msgstr ""
+
+#: tfshiftcolors.checkbox_gsba.caption
+#, fuzzy
+msgctxt "tfshiftcolors.checkbox_gsba.caption"
+msgid "Corrected hue and lightness"
+msgstr "Correggi tonalità e luminosità"
+
+#: tfshiftcolors.label1.caption
+msgctxt "TFSHIFTCOLORS.LABEL1.CAPTION"
+msgid "Hue"
+msgstr "Tonalità"
+
+#: tfshiftcolors.label2.caption
+msgctxt "TFSHIFTCOLORS.LABEL2.CAPTION"
+msgid "Saturation"
+msgstr "Saturazione"
+
+#: tftoolbox.caption
+msgctxt "tftoolbox.caption"
+msgid "Tools"
+msgstr "Strumenti"
+
+#: tftwirl.button_cancel.caption
+msgctxt "TFTWIRL.BUTTON_CANCEL.CAPTION"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tftwirl.button_ok.caption
+msgctxt "TFTWIRL.BUTTON_OK.CAPTION"
+msgid "OK"
+msgstr ""
+
+#: tftwirl.caption
+msgctxt "tftwirl.caption"
+msgid "Twirl"
+msgstr ""
+
+#: tftwirl.label_angle.caption
+msgctxt "tftwirl.label_angle.caption"
+msgid "Angle :"
+msgstr "Angolo :"
+
+#: tftwirl.label_radius.caption
+msgctxt "tftwirl.label_radius.caption"
+msgid "Radius :"
+msgstr "Raggio :"
+
+#: tfwavedisplacement.button_cancel.caption
+msgctxt "tfwavedisplacement.button_cancel.caption"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: tfwavedisplacement.button_ok.caption
+msgctxt "tfwavedisplacement.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfwavedisplacement.caption
+msgid "Wave displacement"
+msgstr ""
+
+#: tfwavedisplacement.label_displacement.caption
+msgid "Displacement :"
+msgstr ""
+
+#: tfwavedisplacement.label_phase.caption
+msgid "Phase :"
+msgstr ""
+
+#: tfwavedisplacement.label_wavelength.caption
+msgid "Wavelength :"
+msgstr ""
+
+#: uresourcestrings.rsactioninprogress
+msgid "Action in progress"
+msgstr ""
+
+#: uresourcestrings.rsaddtoimagelist
+msgid "Add files to the image processing list"
+msgstr ""
+
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Aggiungi colore"
+
+#: uresourcestrings.rsalignshape
+msgid "Align shape"
+msgstr "Allinea sagoma"
+
+#: uresourcestrings.rsallapplications
+msgid "all"
+msgstr "tutto"
+
+#: uresourcestrings.rsallsupportedfiletypes
+msgid "All supported filetypes"
+msgstr "Tutti i file supportati"
+
+#: uresourcestrings.rsalt
+msgid "ALT"
+msgstr ""
+
+#: uresourcestrings.rsanimatedgif
+msgid "Animated GIF"
+msgstr ""
+
+#: uresourcestrings.rsautodetect
+msgid "Autodetect"
+msgstr ""
+
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Indietro"
+
+#: uresourcestrings.rsbackspaceremovelastpoint
+msgid "Press BACKSPACE to remove last point"
+msgstr ""
+
+#: uresourcestrings.rsbestquality
+msgctxt "uresourcestrings.rsbestquality"
+msgid "Best quality"
+msgstr "Qualità migliore"
+
+#: uresourcestrings.rsbitmap
+msgid "Bitmap"
+msgstr ""
+
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
+#: uresourcestrings.rsblendopnotusedforbackground
+msgid "The blend operation is applied only if there is a layer underneath"
+msgstr ""
+
+#: uresourcestrings.rsblue
+msgid "Blue"
+msgstr ""
+
+#: uresourcestrings.rsbrightness
+msgid "Brightness"
+msgstr "Luminosità"
+
+#: uresourcestrings.rsbytes
+msgid "Bytes"
+msgstr ""
+
+#: uresourcestrings.rscancel
+msgctxt "uresourcestrings.rscancel"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: uresourcestrings.rscancelledbyuser
+msgid "Cancelled by user"
+msgstr ""
+
+#: uresourcestrings.rscannotdrawshapeonsvglayer
+msgid "Cannot draw shape on SVG layer"
+msgstr ""
+
+#: uresourcestrings.rscannotopenfile
+msgid "Cannot open file"
+msgstr ""
+
+#: uresourcestrings.rscanvassize
+msgctxt "uresourcestrings.rscanvassize"
+msgid "Canvas size"
+msgstr ""
+
+#: uresourcestrings.rscdrom
+msgid "CD"
+msgstr ""
+
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr "Canali"
+
+#: uresourcestrings.rsclearpalette
+msgid "Clear palette"
+msgstr "Pulisci tavolozza"
+
+#: uresourcestrings.rscloserequest
+msgctxt "uresourcestrings.rscloserequest"
+msgid "Close request"
+msgstr ""
+
+#: uresourcestrings.rscmd
+msgid "CMD"
+msgstr ""
+
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
+#: uresourcestrings.rscolors
+msgctxt "uresourcestrings.rscolors"
+msgid "Colors"
+msgstr "Colori"
+
+#: uresourcestrings.rsconfirmdeletefromcontainer
+msgid "Are you sure you want to delete this file from the container?"
+msgstr ""
+
+#: uresourcestrings.rsconfirmdeletemultiplefromcontainer
+msgid "Are you sure you want to delete these %1 files from the container?"
+msgstr ""
+
+#: uresourcestrings.rsconfirmmovemultipletotrash
+msgid "Are you sure you want to move these %1 files to the trash?"
+msgstr ""
+
+#: uresourcestrings.rsconfirmmovetotrash
+msgid "Are you sure you want to move this file to the trash?"
+msgstr "Sei sicuro di spostare questo file nel cestino ?"
+
+#: uresourcestrings.rsconflictingactions
+msgid "Conflicting actions"
+msgstr "Azioni in conflitto"
+
+#: uresourcestrings.rscontrast
+msgid "Contrast"
+msgstr "Contrasto"
+
+#: uresourcestrings.rscorrectedhueccw
+msgctxt "uresourcestrings.rscorrectedhueccw"
+msgid "Corr. Hue CCW"
+msgstr ""
+
+#: uresourcestrings.rscorrectedhuecw
+msgctxt "uresourcestrings.rscorrectedhuecw"
+msgid "Corr. Hue CW"
+msgstr ""
+
+#: uresourcestrings.rscosine
+msgctxt "uresourcestrings.rscosine"
+msgid "Cosine"
+msgstr ""
+
+#: uresourcestrings.rscrop
+msgid "Crop"
+msgstr "Ritaglia"
+
+#: uresourcestrings.rsctrl
+msgid "CTRL"
+msgstr ""
+
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
+#: uresourcestrings.rscurvemodehint
+msgid "Press S or X to set the curve mode of the last point"
+msgstr ""
+
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
+#: uresourcestrings.rsdefaultpalette
+msgid "Default palette"
+msgstr "Tavolozza di base"
+
+#: uresourcestrings.rsdeletefile
+msgctxt "uresourcestrings.rsdeletefile"
+msgid "Delete"
+msgstr "Cancella"
+
+#: uresourcestrings.rsdeleteimageentry
+msgid "Delete selected image entry?"
+msgstr ""
+
+#: uresourcestrings.rsdirectorynotempty
+msgid "Directory is not empty"
+msgstr ""
+
+#: uresourcestrings.rsditherlayerusingpalette
+msgid "Dither layer using palette"
+msgstr ""
+
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Dona..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr ""
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
+#: uresourcestrings.rsduplicateimage
+msgid "Duplicate image"
+msgstr ""
+
+#: uresourcestrings.rseditmask
+msgctxt "uresourcestrings.rseditmask"
+msgid "Edit mask"
+msgstr "Modifica maschera"
+
+#: uresourcestrings.rseditselection
+msgid "Edit selection"
+msgstr "Modifica selezione"
+
+#: uresourcestrings.rsedittexture
+msgctxt "uresourcestrings.rsedittexture"
+msgid "Edit texture"
+msgstr ""
+
+#: uresourcestrings.rsemptylayer
+msgid "Layer is empty"
+msgstr "il livello è vuoto"
+
+#: uresourcestrings.rsemptyselection
+msgid "Selection is empty"
+msgstr "La selezione è vuota"
+
+#: uresourcestrings.rsendwithoutmatchingbegin
+msgid "End without matching begin"
+msgstr ""
+
+#: uresourcestrings.rsenterfolderorcontainername
+msgid "Enter name for new folder or container (using RES or LRS extension):"
+msgstr ""
+
+#: uresourcestrings.rsenterlayername
+msgid "Enter layer name:"
+msgstr "Scrivi nome livello"
+
+#: uresourcestrings.rsentries
+msgid "Entries"
+msgstr ""
+
+#: uresourcestrings.rserror
+msgid "Error"
+msgstr "Errore"
+
+#: uresourcestrings.rserrordecodingraw
+msgid "Error decoding raw image."
+msgstr ""
+
+#: uresourcestrings.rserrorloadingoriginal
+msgid "Error while loading original however layer can be rasterized."
+msgstr ""
+
+#: uresourcestrings.rserroronopeningfile
+msgid "Error on opening file \"%1\""
+msgstr "\"%1\""
+
+#: uresourcestrings.rsexception
+msgid "An exception was encountered"
+msgstr ""
+
+#: uresourcestrings.rsexitrequest
+msgctxt "uresourcestrings.rsexitrequest"
+msgid "Exit request"
+msgstr ""
+
+#: uresourcestrings.rsexpect1parameter
+msgid "expects one parameter : "
+msgstr ""
+
+#: uresourcestrings.rsexpect2parameters
+msgid "expects two parameters : "
+msgstr ""
+
+#: uresourcestrings.rsexpectnparameters
+msgid "expects N parameters : "
+msgstr ""
+
+#: uresourcestrings.rsfast
+msgctxt "uresourcestrings.rsfast"
+msgid "Fast"
+msgstr ""
+
+#: uresourcestrings.rsfilecannotbeempty
+msgid "File cannot be empty"
+msgstr ""
+
+#: uresourcestrings.rsfiledate
+msgid "Date"
+msgstr "Data"
+
+#: uresourcestrings.rsfileextensionnotsupported
+msgctxt "uresourcestrings.rsfileextensionnotsupported"
+msgid "This file extension is not supported."
+msgstr "Questa estensione non è supportata"
+
+#: uresourcestrings.rsfileformatnotrecognized
+msgid "The file format has not been recognized."
+msgstr ""
+
+#: uresourcestrings.rsfilename
+msgid "Filename"
+msgstr ""
+
+#: uresourcestrings.rsfilenotfound
+msgid "File not found!"
+msgstr "File non trovato"
+
+#: uresourcestrings.rsfilenotsaved
+msgid "File not saved"
+msgstr "File non salvato"
+
+#: uresourcestrings.rsfilesize
+msgid "Size"
+msgstr ""
+
+#: uresourcestrings.rsfilesystem
+msgid "File system"
+msgstr ""
+
+#: uresourcestrings.rsfiletype
+msgid "Type"
+msgstr ""
+
+#: uresourcestrings.rsfixeddrive
+msgid "Fixed"
+msgstr ""
+
+#: uresourcestrings.rsflattenimage
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr ""
+
+#: uresourcestrings.rsfolder
+msgid "Folder"
+msgstr "Cartella"
+
+#: uresourcestrings.rsfolderorcontaineralreadyexists
+msgid "Folder or container already exists."
+msgstr ""
+
+#: uresourcestrings.rsfollowingerrorsoccurred
+msgid "Following errors occurred:"
+msgstr ""
+
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
+#: uresourcestrings.rsframes
+msgid "Frames"
+msgstr ""
+
+#: uresourcestrings.rsfunctionnotdefined
+msgid "The function %1 is not defined."
+msgstr ""
+
+#: uresourcestrings.rsgreen
+msgid "Green"
+msgstr "Verde"
+
+#: uresourcestrings.rshalfcosine
+msgctxt "uresourcestrings.rshalfcosine"
+msgid "Half-cosine"
+msgstr ""
+
+#: uresourcestrings.rsholdkeyforsquare
+msgid "Hold %1 to draw a square or a circle"
+msgstr ""
+
+#: uresourcestrings.rsholdkeyrestrictrotation
+msgid "Hold %1 to restrict rotation angle"
+msgstr ""
+
+#: uresourcestrings.rsholdkeysnaptopixel
+msgid "Hold %1 to snap to pixels"
+msgstr ""
+
+#: uresourcestrings.rsholdkeysscalemode
+msgid "Hold %1 or %2 to scale"
+msgstr ""
+
+#: uresourcestrings.rshotspot
+msgctxt "uresourcestrings.rshotspot"
+msgid "Hot spot"
+msgstr ""
+
+#: uresourcestrings.rshue
+msgctxt "uresourcestrings.rshue"
+msgid "Hue"
+msgstr "Tonalità"
+
+#: uresourcestrings.rshueccw
+msgctxt "uresourcestrings.rshueccw"
+msgid "Hue CCW"
+msgstr ""
+
+#: uresourcestrings.rshuecw
+msgctxt "uresourcestrings.rshuecw"
+msgid "Hue CW"
+msgstr ""
+
+#: uresourcestrings.rsiconimagealreadyexists
+msgid "There is already an image with this size and depth."
+msgstr ""
+
+#: uresourcestrings.rsiconorcursor
+msgid "Icon/cursor"
+msgstr ""
+
+#: uresourcestrings.rsiconsize
+msgctxt "uresourcestrings.rsiconsize"
+msgid "Icon size"
+msgstr ""
+
+#: uresourcestrings.rsimagetoobig
+msgid "Image is too big"
+msgstr "L'immagine è troppo grande"
+
+#: uresourcestrings.rsinfinity
+msgctxt "uresourcestrings.rsinfinity"
+msgid "Infinity"
+msgstr ""
+
+#: uresourcestrings.rsinformation
+msgid "Information"
+msgstr ""
+
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
+
+#: uresourcestrings.rsintensity
+#, fuzzy
+msgctxt "uresourcestrings.rsintensity"
+msgid "Intensity"
+msgstr "intensità"
+
+#: uresourcestrings.rsinternalerror
+msgid "Internal error"
+msgstr ""
+
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
+#: uresourcestrings.rsinvalidname
+msgid "Invalid name"
+msgstr "Nome non valido"
+
+#: uresourcestrings.rsinvalidopacity
+msgid "Invalid opacity : "
+msgstr ""
+
+#: uresourcestrings.rsinvalidparameters
+msgid "Invalid parameters"
+msgstr "Parametri invalidi"
+
+#: uresourcestrings.rsinvalidresamplesize
+msgid "Invalid resample size : "
+msgstr ""
+
+#: uresourcestrings.rsinvalidsizefornew
+msgid "Invalid size for new : "
+msgstr ""
+
+#: uresourcestrings.rskeepchanges
+msgctxt "uresourcestrings.rskeepchanges"
+msgid "Do you want to keep changes?"
+msgstr "Accetti le modifiche ?"
+
+#: uresourcestrings.rskeepemptyspace
+msgid "Keep empty space around opaque pixels?"
+msgstr ""
+
+#: uresourcestrings.rslanczos
+msgid "Lanczos %1"
+msgstr ""
+
+#: uresourcestrings.rslandscape
+msgid "Landscape"
+msgstr ""
+
+#: uresourcestrings.rslatestversion
+msgid "The latest version of LazPaint available online is"
+msgstr "L'ultima versione di LazPaint disponibile online è"
+
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Livello"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
+#: uresourcestrings.rslayeredimage
+msgid "Layered image"
+msgstr ""
+
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr "Effetto di livello"
+
+#: uresourcestrings.rslayers
+msgctxt "uresourcestrings.rslayers"
+msgid "Layers"
+msgstr "Livelli"
+
+#: uresourcestrings.rslazpaint
+msgctxt "uresourcestrings.rslazpaint"
+msgid "LazPaint"
+msgstr ""
+
+#: uresourcestrings.rslazpaintonly
+msgid "LazPaint only"
+msgstr ""
+
+#: uresourcestrings.rslight
+msgctxt "uresourcestrings.rslight"
+msgid "Light"
+msgstr "Luce"
+
+#: uresourcestrings.rslightness
+msgctxt "uresourcestrings.rslightness"
+msgid "Lightness"
+msgstr "Luminosità"
+
+#: uresourcestrings.rslightposition
+msgid "Light position"
+msgstr ""
+
+#: uresourcestrings.rslinear
+msgctxt "uresourcestrings.rslinear"
+msgid "Linear"
+msgstr ""
+
+#: uresourcestrings.rslinearrgb
+msgid "Linear RGB"
+msgstr ""
+
+#: uresourcestrings.rsloadandmergepalette
+msgid "Load and merge palette..."
+msgstr "Carica e fondi tavolozza"
+
+#: uresourcestrings.rsloading
+msgid "Loading"
+msgstr "Caricando"
+
+#: uresourcestrings.rsloadpalette
+msgid "Load palette..."
+msgstr "Carica tavolozza"
+
+#: uresourcestrings.rsloopcount
+msgid "Loop count"
+msgstr ""
+
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr "Rendere monocromatico"
+
+#: uresourcestrings.rsmakencolorspalettefrombitmap
+msgid "Make %1-colors palette from image"
+msgstr ""
+
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr "Maschera"
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr "Unire"
+
+#: uresourcestrings.rsmergeselection
+msgid "Do you want to merge selection?"
+msgstr "Vuoi fondere la selezione ?"
+
+#: uresourcestrings.rsmitchell
+msgctxt "uresourcestrings.rsmitchell"
+msgid "Mitchell"
+msgstr ""
+
+#: uresourcestrings.rsmorethanonefile
+msgid "You are trying to open more than one file. How would you like these files to be opened?"
+msgstr ""
+
+#: uresourcestrings.rsmovingorrotatingselection
+msgctxt "uresourcestrings.rsmovingorrotatingselection"
+msgid "Moving or rotating selection"
+msgstr "Muovi o ruota la selezione"
+
+#: uresourcestrings.rsmustreleaseselection
+msgid "You must first release the selection"
+msgstr ""
+
+#: uresourcestrings.rsmustshowlayer
+msgid "You must first make the layer visible"
+msgstr "Devi prima rendere il livello visibile"
+
+#: uresourcestrings.rsnetworkdrive
+msgid "Network"
+msgstr ""
+
+#: uresourcestrings.rsnewimage
+msgctxt "uresourcestrings.rsnewimage"
+msgid "New image"
+msgstr "Nuova immagine"
+
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
+#: uresourcestrings.rsno
+msgid "No"
+msgstr ""
+
+#: uresourcestrings.rsnoactivelayer
+msgid "No active layer"
+msgstr ""
+
+#: uresourcestrings.rsnoactiveselection
+msgid "There is no active selection"
+msgstr ""
+
+#: uresourcestrings.rsnoandproceedtonext
+msgid "Do not save and open another file"
+msgstr ""
+
+#: uresourcestrings.rsnoname
+msgctxt "uresourcestrings.rsnoname"
+msgid "noname"
+msgstr ""
+
+#: uresourcestrings.rsnormalblendop
+msgid "Normal"
+msgstr "Normale"
+
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
+#: uresourcestrings.rsnothingtobedeformed
+msgctxt "uresourcestrings.rsnothingtobedeformed"
+msgid "There is nothing to be deformed"
+msgstr ""
+
+#: uresourcestrings.rsnothingtoberetrieved
+msgctxt "uresourcestrings.rsnothingtoberetrieved"
+msgid "There is nothing to be retrieved"
+msgstr ""
+
+#: uresourcestrings.rsnotreasonableformat
+msgid "It is not reasonable to save such a big image in this file format."
+msgstr ""
+
+#: uresourcestrings.rsnumber
+msgid "№"
+msgstr ""
+
+#: uresourcestrings.rsokay
+msgid "Okay"
+msgstr ""
+
+#: uresourcestrings.rsopacity
+msgctxt "uresourcestrings.rsopacity"
+msgid "Opacity"
+msgstr "Opacità"
+
+#: uresourcestrings.rsopen
+msgid "Open"
+msgstr "Apri"
+
+#: uresourcestrings.rsopenfilesaslayers
+msgid "Open files as layers in a single image"
+msgstr ""
+
+#: uresourcestrings.rsopenfirstfileonly
+msgid "Open the first file only"
+msgstr "Apri solo il primo file"
+
+#: uresourcestrings.rsopening
+msgid "Opening"
+msgstr ""
+
+#: uresourcestrings.rsopenmultipleimagefiles
+msgid "Open multiple image files"
+msgstr ""
+
+#: uresourcestrings.rsotherblendop
+msgid "Other..."
+msgstr "Altro..."
+
+#: uresourcestrings.rsoverwritefile
+msgid "File already exists. Do you want to overwrite it?"
+msgstr ""
+
+#: uresourcestrings.rspaletteincludesalphachannel
+msgid "Palette includes alpha channel"
+msgstr "La tavolozza include canale alpha"
+
+#: uresourcestrings.rspaletteoptions
+msgid "Palette options"
+msgstr "Opzioni della tavolozza"
+
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Penna"
+
+#: uresourcestrings.rspercent
+msgctxt "uresourcestrings.rspercent"
+msgid "%"
+msgstr ""
+
+#: uresourcestrings.rsportait
+msgid "Portrait"
+msgstr "Ritratto"
+
+#: uresourcestrings.rsposterizelayerusingpalette
+msgid "Posterize layer using palette"
+msgstr ""
+
+#: uresourcestrings.rspresetname
+msgid "Preset name"
+msgstr ""
+
+#: uresourcestrings.rspx
+msgid "px"
+msgstr ""
+
+#: uresourcestrings.rspythonunexpectedversion
+msgid "Expected Python version %1 but %2 found."
+msgstr ""
+
+#: uresourcestrings.rsramdisk
+msgid "RAM disk"
+msgstr ""
+
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
+#: uresourcestrings.rsrecentdirectories
+msgid "Recent directories:"
+msgstr "Cartelle recenti:"
+
+#: uresourcestrings.rsred
+msgid "Red"
+msgstr "Rosso"
+
+#: uresourcestrings.rsreload
+msgctxt "uresourcestrings.rsreload"
+msgid "Reload"
+msgstr "Ricarica"
+
+#: uresourcestrings.rsreloadchanged
+msgid "Bitmap has been modified. Do you really want to reload?"
+msgstr ""
+
+#: uresourcestrings.rsremovabledrive
+msgid "Removable"
+msgstr ""
+
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Rimuovi colore"
+
+#: uresourcestrings.rsrender
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Render"
+
+#: uresourcestrings.rsrepeatimage
+msgctxt "uresourcestrings.rsrepeatimage"
+msgid "Repeat image"
+msgstr ""
+
+#: uresourcestrings.rsresamplingimage
+msgid "Resampling image..."
+msgstr ""
+
+#: uresourcestrings.rsretrieveselectedarea
+msgctxt "uresourcestrings.rsretrieveselectedarea"
+msgid "Do you want to retrieve selected area?"
+msgstr ""
+
+#: uresourcestrings.rsreturnvalides
+msgid "Press ENTER to validate"
+msgstr "Premi ENTER per eseguire"
+
+#: uresourcestrings.rsrgb
+msgctxt "uresourcestrings.rsrgb"
+msgid "RGB"
+msgstr ""
+
+#: uresourcestrings.rsrightclickforsource
+msgid "Use RIGHT click to define source"
+msgstr ""
+
+#: uresourcestrings.rssaturation
+msgctxt "uresourcestrings.rssaturation"
+msgid "Saturation"
+msgstr "Saturazione"
+
+#: uresourcestrings.rssave
+msgctxt "uresourcestrings.rssave"
+msgid "Save"
+msgstr "Salva"
+
+#: uresourcestrings.rssaveasbuttonhint
+msgctxt "uresourcestrings.rssaveasbuttonhint"
+msgid "Save with specified filename"
+msgstr "Salva con nome specifico"
+
+#: uresourcestrings.rssavechanges
+msgctxt "uresourcestrings.rssavechanges"
+msgid "Current bitmap has been modified. Do you want to save changes?"
+msgstr "L'immagine corrente è stata modificata. Vuoi salavare le modifiche ?"
+
+#: uresourcestrings.rssavepaletteas
+msgid "Save palette as..."
+msgstr ""
+
+#: uresourcestrings.rsscript
+msgctxt "uresourcestrings.rsscript"
+msgid "Script"
+msgstr ""
+
+#: uresourcestrings.rsselectblendoperation
+msgctxt "uresourcestrings.rsselectblendoperation"
+msgid "Select blend operation"
+msgstr "Seleziona operazione di miscela"
+
+#: uresourcestrings.rsshift
+msgid "SHIFT"
+msgstr ""
+
+#: uresourcestrings.rsshowpalette
+#, fuzzy
+msgctxt "uresourcestrings.rsshowpalette"
+msgid "Show palette"
+msgstr "Mostra tavolozza"
+
+#: uresourcestrings.rssourceposition
+msgid "Source position"
+msgstr ""
+
+#: uresourcestrings.rsspline
+msgctxt "uresourcestrings.rsspline"
+msgid "Spline"
+msgstr ""
+
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr "Dividere CMYK"
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr "Dividere HSL"
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr "Dividere RGB"
+
+#: uresourcestrings.rsstoragedevice
+msgid "Device"
+msgstr ""
+
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr ""
+
+#: uresourcestrings.rstexturemapping
+msgctxt "uresourcestrings.rstexturemapping"
+msgid "Texture mapping"
+msgstr ""
+
+#: uresourcestrings.rstherearenocheckeditems
+msgid "There are no checked items. Check some items or add some new ones."
+msgstr ""
+
+#: uresourcestrings.rsthereisnofilenamegivenforthisfileusesaveas
+msgid "There is no file name given for this file. Use \"Save as...\" from the main menu."
+msgstr "\"Enregistrer sous...\" depuis le menu principal."
+
+#: uresourcestrings.rstodo
+msgid "To do"
+msgstr ""
+
+#: uresourcestrings.rstodoimages
+msgid "Images left: %1"
+msgstr ""
+
+#: uresourcestrings.rstooloninvisiblelayer
+msgid "Tool cannot be used on an invisible layer"
+msgstr ""
+
+#: uresourcestrings.rstoomanyactions
+msgid "Too many actions"
+msgstr ""
+
+#: uresourcestrings.rstoomanylayers
+msgid "Too many layers"
+msgstr ""
+
+#: uresourcestrings.rstoomanyshapesinlayer
+msgid "Too many shapes in layer"
+msgstr ""
+
+#: uresourcestrings.rstotalimages
+msgid "Total images: %1"
+msgstr ""
+
+#: uresourcestrings.rstransferselectiontootherlayer
+msgid "Transfer selection to other layer?"
+msgstr ""
+
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
+#: uresourcestrings.rstransformselectioncontent
+msgid "Do you want to transform content of the selection?"
+msgstr ""
+
+#: uresourcestrings.rsunabletoapplyfilter
+msgid "Unable to apply filter : "
+msgstr ""
+
+#: uresourcestrings.rsunabletoloadfile
+msgid "Unable to load file : "
+msgstr ""
+
+#: uresourcestrings.rsunabletosavefile
+msgid "Unable to save file : "
+msgstr ""
+
+#: uresourcestrings.rsunknowncommand
+msgid "Unknown command : "
+msgstr ""
+
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr "Versione"
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
+#: uresourcestrings.rsyes
+msgid "Yes"
+msgstr "Sì"
+
+#: uresourcestrings.rszoomlayerstackin
+msgctxt "uresourcestrings.rszoomlayerstackin"
+msgid "Zoom layer stack in"
+msgstr ""
+
+#: uresourcestrings.rszoomlayerstackout
+msgctxt "uresourcestrings.rszoomlayerstackout"
+msgid "Zoom layer stack out"
+msgstr ""
+

+ 205 - 41
lazpaint/release/bin/i18n/lazpaint.ja.po

@@ -10,6 +10,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr ""
 
@@ -239,23 +240,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "幅:"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr ""
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr ""
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "色"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr ""
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -393,11 +382,21 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr ""
 
+#: tffilterfunction.label_aequals.caption
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr ""
 
+#: tffilterfunction.label_bequals.caption
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -413,6 +412,11 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr ""
 
+#: tffilterfunction.label_lequals.caption
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -436,6 +440,10 @@ msgstr ""
 msgid "HSL"
 msgstr ""
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -576,24 +584,10 @@ msgid "Uncheck all files for processing"
 msgstr ""
 
 #: tflayerstack.caption
+#, fuzzy
 msgctxt "tflayerstack.caption"
 msgid "Layers"
-msgstr ""
-
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr ""
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr ""
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr ""
+msgstr "レイヤー"
 
 #: tfloading.caption
 msgctxt "tfloading.caption"
@@ -614,6 +608,12 @@ msgstr ""
 msgid "Remove current brush"
 msgstr ""
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "寄付する..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -806,6 +806,7 @@ msgid "Choose entry within file"
 msgstr ""
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr ""
 
@@ -1055,6 +1056,7 @@ msgid "Fill background with antialiasing"
 msgstr "Fill background with antialiasing"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr ""
 
@@ -1090,6 +1092,10 @@ msgstr "Resample..."
 msgid "Resample image"
 msgstr "Resample image"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "180°回転"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "反時計回りに90°回転"
@@ -1098,10 +1104,6 @@ msgstr "反時計回りに90°回転"
 msgid "Rotate 90° CW"
 msgstr "時計回りに90°回転"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "180°回転"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "スマートズームx3"
@@ -1156,6 +1158,7 @@ msgid "Altitude"
 msgstr "高さ"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "背景色"
 
@@ -1275,6 +1278,11 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr ""
 
+#: tfmain.layerexport.hint
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr ""
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -1963,9 +1971,10 @@ msgid "Image list"
 msgstr ""
 
 #: tfmain.viewlayerstack.caption
+#, fuzzy
 msgctxt "tfmain.viewlayerstack.caption"
 msgid "Layers"
-msgstr ""
+msgstr "レイヤー"
 
 #: tfmain.viewlayerstackbutton.caption
 msgctxt "tfmain.viewlayerstackbutton.caption"
@@ -2566,6 +2575,10 @@ msgstr "保存"
 msgid "Dithering"
 msgstr ""
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr ""
@@ -2727,6 +2740,10 @@ msgstr ""
 msgid "Add files to the image processing list"
 msgstr ""
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr ""
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr ""
@@ -2751,6 +2768,12 @@ msgstr ""
 msgid "Autodetect"
 msgstr ""
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "背景色"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr ""
@@ -2763,6 +2786,10 @@ msgstr "Best quality"
 msgid "Bitmap"
 msgstr ""
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr ""
@@ -2805,6 +2832,10 @@ msgstr "キャンバスのサイズ"
 msgid "CD"
 msgstr ""
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr ""
@@ -2817,6 +2848,10 @@ msgstr "Close request"
 msgid "CMD"
 msgstr ""
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2868,10 +2903,18 @@ msgstr "切り抜く"
 msgid "CTRL"
 msgstr ""
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr ""
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr ""
@@ -2893,6 +2936,20 @@ msgstr ""
 msgid "Dither layer using palette"
 msgstr ""
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "寄付する..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "ダウンロード"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr ""
@@ -3017,6 +3074,11 @@ msgstr ""
 msgid "Fixed"
 msgstr ""
 
+#: uresourcestrings.rsflattenimage
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr ""
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr ""
@@ -3029,6 +3091,10 @@ msgstr ""
 msgid "Following errors occurred:"
 msgstr ""
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr ""
@@ -3107,9 +3173,13 @@ msgstr ""
 msgid "Information"
 msgstr ""
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "ダウンロード"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3120,6 +3190,10 @@ msgstr "輝度"
 msgid "Internal error"
 msgstr "内部エラー"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr ""
@@ -3160,20 +3234,32 @@ msgstr ""
 msgid "The latest version of LazPaint available online is"
 msgstr ""
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "層"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr ""
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "レイヤー"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "層"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3220,10 +3306,30 @@ msgstr ""
 msgid "Loop count"
 msgstr ""
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr ""
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "選択領域をマージしますか?"
@@ -3257,6 +3363,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "新規画像"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr ""
@@ -3281,6 +3391,10 @@ msgstr "名称未定義"
 msgid "Normal"
 msgstr ""
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "There is nothing to be deformed"
@@ -3341,6 +3455,12 @@ msgstr ""
 msgid "Palette options"
 msgstr ""
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "ペン"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3395,6 +3515,16 @@ msgstr ""
 msgid "Removable"
 msgstr ""
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr ""
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "レンダリング"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3472,10 +3602,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "スプライン"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr ""
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "アウトライン"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3553,6 +3705,18 @@ msgstr ""
 msgid "Vectorial layer"
 msgstr ""
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr ""

+ 214 - 38
lazpaint/release/bin/i18n/lazpaint.kab.po

@@ -13,6 +13,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "Tasekkirt %s ur d-tuli ara akken iwata."
 
@@ -242,23 +243,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "Tehri :"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Rnu ini ɣer tpaliḍt"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Kkes ini si tpaliḍt"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "Ini"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Aglam n yini: sit iwakken ad teskecmeḍ ini s unasiw s yismawen-nnsen neɣ s tira n CSS."
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -396,11 +385,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Tiɣmi akked tifawit yettwaseɣtan"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -416,6 +417,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -439,6 +446,10 @@ msgstr "Imuttiyen :"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -583,21 +594,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Tissiyin"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Fren tamhelt n usmezdi"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Semɣer tiɣbirt n tissiyin"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Simecṭuḥ tiɣbirt n tissiyin"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -617,6 +613,12 @@ msgstr "Sali-d amfezzu seg ufaylu..."
 msgid "Remove current brush"
 msgstr "Kkes amfezzu amiran"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Ɛiwen s wedrim..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -808,6 +810,7 @@ msgid "Choose entry within file"
 msgstr "Fren anekcum deg ufaylu"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Sifeḍ..."
 
@@ -1017,7 +1020,9 @@ msgid "Twirl..."
 msgstr "Abran..."
 
 #: tfmain.filterwavedisplacement.caption
-msgid "Wave diplacement..."
+#, fuzzy
+#| msgid "Wave diplacement..."
+msgid "Wave displacement..."
 msgstr "Asekḥer n tayyugt..."
 
 #: tfmain.forgetdialoganswers.caption
@@ -1057,6 +1062,7 @@ msgid "Fill background with antialiasing"
 msgstr "Aččar agilal s umzay"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Lebbeḍ tugna"
 
@@ -1092,6 +1098,10 @@ msgstr "Ales alemmec..."
 msgid "Resample image"
 msgstr "Ales alemmec i tugna"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Tuzzya 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Tuzzya 90° (mgal tanila n temrilt)"
@@ -1100,10 +1110,6 @@ msgstr "Tuzzya 90° (mgal tanila n temrilt)"
 msgid "Rotate 90° CW"
 msgstr "Tuzzya 90° (di tnila n temrilt)"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Tuzzya 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Asemɣer amegzu x3"
@@ -1158,6 +1164,7 @@ msgid "Altitude"
 msgstr "Tattayt"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Tuɣalin"
 
@@ -1275,6 +1282,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Sisleg tissi yettwafernen"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Sifeḍ..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -2566,6 +2579,10 @@ msgstr "Sekles"
 msgid "Dithering"
 msgstr "Tizḍi"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Taɣara:"
@@ -2727,6 +2744,10 @@ msgstr "Tigawin itteddun"
 msgid "Add files to the image processing list"
 msgstr "Rnu ifuyla ɣer tebdart n ukala n tugniwin"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Rnu ini ɣer tpaliḍt"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Derrec talɣa"
@@ -2751,6 +2772,12 @@ msgstr "GIF yettemwwiwilen"
 msgid "Autodetect"
 msgstr "Tifin tawurmant"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Tuɣalin"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Ssed BACKSPACE iwakken ad tekkseḍ tanqiḍt taneggarut"
@@ -2764,6 +2791,10 @@ msgstr "Taɣara igerrzen maḍi"
 msgid "Bitmap"
 msgstr "Bitmap"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "Iwakken ad tsiɣeḍ tamhelt n usmezdi isefk ad tili tissi seddaw"
@@ -2806,6 +2837,10 @@ msgstr "Tiddi n teɣzut n usuneɣ"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Sfeḍ tapaliḍt"
@@ -2819,6 +2854,10 @@ msgstr "Mdel asuter"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2871,10 +2910,18 @@ msgstr "Ɣeẓ"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Ssed S neɣ X iwakken ad tesɣewreḍ askar n uzlig i tenqiḍt taneggarut"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Tapaliḍt n lexṣas"
@@ -2896,6 +2943,20 @@ msgstr "Akaram mačči d ilem"
 msgid "Dither layer using palette"
 msgstr "Ezḍ tissi s useqec n tpaliḍt"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Ɛiwen s wedrim..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr ""
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Sisleg tugna"
@@ -3025,6 +3086,12 @@ msgstr "Anaw"
 msgid "Fixed"
 msgstr "Usbiḍ"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Lebbeḍ tugna"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Akaram"
@@ -3037,6 +3104,10 @@ msgstr "Akaram neɣ anagbar yella yakan."
 msgid "Following errors occurred:"
 msgstr "Ḍrant-d tuccḍiwin-agi:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Ikataren"
@@ -3116,6 +3187,14 @@ msgstr "War tagara"
 msgid "Information"
 msgstr "Talɣut"
 
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
+
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
 msgid "Intensity"
@@ -3125,6 +3204,10 @@ msgstr "Tadwast"
 msgid "Internal error"
 msgstr "Tuccḍa tagensant"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Isem d armeɣtu"
@@ -3166,20 +3249,32 @@ msgstr "S tehri"
 msgid "The latest version of LazPaint available online is"
 msgstr "Lqem aneggaru n LazPaint i iwejden ɣef Internet d"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Tissi"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Tugna s tissiyin"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Tissiyin"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Tissi"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3228,10 +3323,30 @@ msgstr "Sali-d tapaliḍt..."
 msgid "Loop count"
 msgstr "Allus"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Eg tapaliḍt n %1 n yiniten seg tugna"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Tebɣiḍ ad tesmezdiḍ tafrayt ?"
@@ -3267,6 +3382,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Tugna tamaynutt"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Ala"
@@ -3292,6 +3411,10 @@ msgstr "warisem"
 msgid "Normal"
 msgstr "Amagnu"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgctxt "uresourcestrings.rsnothingtobedeformed"
 msgid "There is nothing to be deformed"
@@ -3355,6 +3478,12 @@ msgstr "Tapaliḍt ad tseddu abadu alfa"
 msgid "Palette options"
 msgstr "Tinefrunin n tpaliḍt"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Imru"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3377,7 +3506,9 @@ msgid "px"
 msgstr "px"
 
 #: uresourcestrings.rspythonunexpectedversion
-msgid "Expected python version %1 but %2 found."
+#, fuzzy
+#| msgid "Expected python version %1 but %2 found."
+msgid "Expected Python version %1 but %2 found."
 msgstr "Yetturaǧu lqem n python %1 maca nufa %2."
 
 #: uresourcestrings.rsramdisk
@@ -3409,6 +3540,16 @@ msgstr "Tugna tettwabeddel. D tidet tebɣiḍ ad s-talseḍ asali ?"
 msgid "Removable"
 msgstr "Aziraz"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Kkes ini si tpaliḍt"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Tiririt"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3488,10 +3629,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Izirig ittleɣwayen"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Ibenk"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Azdaw n uḍris"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3569,6 +3732,18 @@ msgstr "Aneṣli d arussin"
 msgid "Vectorial layer"
 msgstr "Tissi tamawayt"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Ih"
@@ -3582,3 +3757,4 @@ msgstr "Semɣer taɣbirt n tissiyin"
 msgctxt "uresourcestrings.rszoomlayerstackout"
 msgid "Zoom layer stack out"
 msgstr "Simecṭuḥ taɣbirt n tissiyin"
+

+ 214 - 56
lazpaint/release/bin/i18n/lazpaint.lv.po

@@ -10,8 +10,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
-"2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
 "X-Generator: Poedit 2.2.1\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 "X-Poedit-Basepath: ../../..\n"
@@ -19,6 +18,7 @@ msgstr ""
 "X-Poedit-SearchPath-1: .\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "%s procedūru neizdevās pareizi ielasīt."
 
@@ -172,8 +172,7 @@ msgid "Basic SVG"
 msgstr "Pamatveidi"
 
 #: tfblendop.label_svgover.hint
-msgid ""
-"Basic blend operations that are available in virtually all image editors"
+msgid "Basic blend operations that are available in virtually all image editors"
 msgstr "Sapludunāšana veidi, kuri pieejami gandrīz visos attēlu redaktoros"
 
 #: tfbrowseimages.caption
@@ -249,27 +248,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "Platums:"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Pievienot krāsu paletei"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Izņemt krāsu no paletes"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "Krāsa"
 
-#: tfchoosecolor.lcolor.hint
-msgid ""
-"Color description: click to type in a color with the keyboard using color "
-"names or CSS notation."
-msgstr ""
-"Krāsas apraksts: ieklikškini, lai ierakstītu krāsas vārdu angliski vai CSS "
-"pierakstā."
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -407,11 +390,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Izlabot nokrāsu un gaišumu"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -427,6 +422,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -450,6 +451,10 @@ msgstr "Mainīgie:"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -594,21 +599,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Slāņi"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Izvēlies sapludināšanu"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Pietuvināt slāņu sarakstu"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Attālināt slāņu sarakstu"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -628,6 +618,12 @@ msgstr "Ielasīt otu no faila ..."
 msgid "Remove current brush"
 msgstr "Izmest doto otu"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Ziedot ..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -819,6 +815,7 @@ msgid "Choose entry within file"
 msgstr "Ielasa citu attēla daļu, piemēram, animēta GIF kadru"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Eksportēt ..."
 
@@ -1068,6 +1065,7 @@ msgid "Fill background with antialiasing"
 msgstr "Aizpildīt pamatni ar krāsu lietojot pustoņus"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Apvienot visus slāņus"
 
@@ -1103,6 +1101,10 @@ msgstr "Mainīt izmēru ..."
 msgid "Resample image"
 msgstr "Mainīt attēla izmēru"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Pagriezt pa 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Pagriezt pa 90° pretēji pulkstenim"
@@ -1111,10 +1113,6 @@ msgstr "Pagriezt pa 90° pretēji pulkstenim"
 msgid "Rotate 90° CW"
 msgstr "Pagriezt pa 90°"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Pagriezt pa 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Palielināt attēlu trīskārtīgi"
@@ -1169,6 +1167,7 @@ msgid "Altitude"
 msgstr "Augstums"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Pildījums"
 
@@ -1286,6 +1285,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Izveidot dotā slāņa kopiju"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Eksportēt ..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -2578,6 +2583,10 @@ msgstr "Saglabāt"
 msgid "Dithering"
 msgstr "Neīstā tonēšana"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Kvalitāte:"
@@ -2739,6 +2748,10 @@ msgstr "Moris darbojas"
 msgid "Add files to the image processing list"
 msgstr "Pievienot failus apstrādājamo attēlu sarakstam"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Pievienot krāsu paletei"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Novieto vienumu"
@@ -2763,6 +2776,12 @@ msgstr "Animētais GIF"
 msgid "Autodetect"
 msgstr "Pašnoteikts"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Pildījums"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Izmanto [BACKSPACE] lai dzēstu pēdējo punktu"
@@ -2776,6 +2795,10 @@ msgstr "Labākā kvalitāte"
 msgid "Bitmap"
 msgstr "Rastrs"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "Sapludināšanu var pielietot tikai tad, ja apakša ir vēl kāds slānis"
@@ -2818,6 +2841,10 @@ msgstr "Audekla izmērs"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Notīrīt paleti"
@@ -2831,6 +2858,10 @@ msgstr "Aizvērt pieprasījumu"
 msgid "CMD"
 msgstr ""
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2883,10 +2914,18 @@ msgstr "Apcirpt"
 msgid "CTRL"
 msgstr ""
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Spied [S] vai [X], lai uzdotu līknes pēdējā punkta veidu"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Piedāvātā palete"
@@ -2908,6 +2947,20 @@ msgstr "Direktorija ir tukša"
 msgid "Dither layer using palette"
 msgstr "Tonēt izmantojot paletes krāsas"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Ziedot ..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Lejupielādēt"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Pavairot attēlu"
@@ -3037,6 +3090,12 @@ msgstr "Veids"
 msgid "Fixed"
 msgstr "Nemainīgs"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Apvienot visus slāņus"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Mape"
@@ -3049,6 +3108,10 @@ msgstr "Mape vai resursu datne jau ir."
 msgid "Following errors occurred:"
 msgstr "Kļūda:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Kadri"
@@ -3128,9 +3191,13 @@ msgstr "Bezgalība"
 msgid "Information"
 msgstr "Informācija"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Lejupielādēt"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3141,6 +3208,10 @@ msgstr "Spilgtums"
 msgid "Internal error"
 msgstr "Iekšējā kļūda"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Nepareizs vārds"
@@ -3182,20 +3253,32 @@ msgstr "Guleniski"
 msgid "The latest version of LazPaint available online is"
 msgstr "Tīmeklī piejamā LazPaint versija ir"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Slaņim"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Attēls ar slāņiem"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Slaņi"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Slaņim"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3244,10 +3327,30 @@ msgstr "Ielasīt paleti ..."
 msgid "Loop count"
 msgstr "Atkārtojuma reizes"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Izveidot no attēla %1 krāsu paleti"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Vai apvienot izvēlēto?"
@@ -3258,9 +3361,7 @@ msgid "Mitchell"
 msgstr "Mišela"
 
 #: uresourcestrings.rsmorethanonefile
-msgid ""
-"You are trying to open more than one file. How would you like these files to "
-"be opened?"
+msgid "You are trying to open more than one file. How would you like these files to be opened?"
 msgstr "Tu centies atvērt vairāk nekā vienu failu. Kā vēlies, lai tos atver?"
 
 #: uresourcestrings.rsmovingorrotatingselection
@@ -3285,6 +3386,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Jauns attēls"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Nē"
@@ -3310,6 +3415,10 @@ msgstr "bez_vaarda"
 msgid "Normal"
 msgstr "Parasta"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgctxt "uresourcestrings.rsnothingtobedeformed"
 msgid "There is nothing to be deformed"
@@ -3373,6 +3482,12 @@ msgstr "Paletē iekļaut caurspīdīgumu"
 msgid "Palette options"
 msgstr "Paletes iestatījumi"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Līnija"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3427,6 +3542,16 @@ msgstr "Attēls tika mainīts. Vai tiešām ielasīt no jauna?"
 msgid "Removable"
 msgstr "Noņemams"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Izņemt krāsu no paletes"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Atveidot"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3489,8 +3614,10 @@ msgid "Select blend operation"
 msgstr "Izvēlies sapludināšanu"
 
 #: uresourcestrings.rsshift
+#, fuzzy
+#| msgid "Shift"
 msgctxt "uresourcestrings.rsShift"
-msgid "Shift"
+msgid "SHIFT"
 msgstr "Shift"
 
 #: uresourcestrings.rsshowpalette
@@ -3507,10 +3634,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Pielāgots"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Ierīce"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Burtu apmale"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3521,11 +3670,8 @@ msgid "There are no checked items. Check some items or add some new ones."
 msgstr "Nekas nav atzīmēts. Vai nu atzīmē, vai pievieno ko jaunu."
 
 #: uresourcestrings.rsthereisnofilenamegivenforthisfileusesaveas
-msgid ""
-"There is no file name given for this file. Use \"Save as...\" from the main "
-"menu."
-msgstr ""
-"Dotajai datnei nav piešķirts vārds. Lieto „Saglabāt kā ...” datnes izvēlnē."
+msgid "There is no file name given for this file. Use \"Save as...\" from the main menu."
+msgstr "Dotajai datnei nav piešķirts vārds. Lieto „Saglabāt kā ...” datnes izvēlnē."
 
 #: uresourcestrings.rstodo
 msgid "To do"
@@ -3591,6 +3737,18 @@ msgstr "Nepazīstams oriģināls"
 msgid "Vectorial layer"
 msgstr "Vektoru slānis"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Jā"

+ 206 - 43
lazpaint/release/bin/i18n/lazpaint.nl.po

@@ -36,6 +36,7 @@ msgstr ""
 "X-Poedit-Language: Dutch\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "Procedure %s is niet correct geladen."
 
@@ -63,7 +64,6 @@ msgid "Authors:"
 msgstr "Auteurs:"
 
 #: tfabout.label_authorsvalue.caption
-#| msgid "Circular help by FabienWang and Lainz"
 msgctxt "tfabout.label_authorsvalue.caption"
 msgid "Circular helped by FabienWang, Lainz and others"
 msgstr "Circular geholpen door FabienWang, Lainz en anderen"
@@ -266,23 +266,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "Breedte :"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Kleur toevoegen aan palet"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Verwijder kleur van palet"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "Kleur"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Kleurbeschrijving: klik om een kleur in te typen met het toetsenbord middels kleurnamen of CSS notatie."
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -420,11 +408,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Gecorrigeerde tint en helderheid"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -440,6 +440,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -463,6 +469,10 @@ msgstr "Variabelen :"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -607,21 +617,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Lagen"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Kies mengoperatie"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Inzoomen in lagenoverzicht"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Uitzoomen uit lagenoverzicht"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -641,6 +636,12 @@ msgstr "Laad kwast van bestand..."
 msgid "Remove current brush"
 msgstr "Verwijder huidige kwast"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Doneren..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -832,6 +833,7 @@ msgid "Choose entry within file"
 msgstr "Kies invoer in bestand"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Export..."
 
@@ -1081,6 +1083,7 @@ msgid "Fill background with antialiasing"
 msgstr "Vul achtergrond met antialiasing"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Alle lagen samenvoegen"
 
@@ -1116,6 +1119,10 @@ msgstr "Opnieuw samplen..."
 msgid "Resample image"
 msgstr "Afbeelding opnieuw samplen"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "180° draaien"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "90° naar links draaien"
@@ -1124,10 +1131,6 @@ msgstr "90° naar links draaien"
 msgid "Rotate 90° CW"
 msgstr "90° naar rechts draaien"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "180° draaien"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Slimme zoom x3"
@@ -1182,6 +1185,7 @@ msgid "Altitude"
 msgstr "Hoogte"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Terug"
 
@@ -1208,7 +1212,6 @@ msgid "Color difference"
 msgstr "Kleurverschil"
 
 #: tfmain.label_currentzoom.caption
-#| msgid "100%"
 msgctxt "TFMAIN.LABEL_CURRENTZOOM.CAPTION"
 msgid "%"
 msgstr "%"
@@ -1300,6 +1303,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Geselecteerde laag dupliceren"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Export..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -1459,7 +1468,6 @@ msgid "Show zoom toolbar"
 msgstr "Zoom-werkbalk weergeven"
 
 #: tfmain.open3dobjectdialog.title
-#| msgid "Open existing file"
 msgctxt "tfmain.open3dobjectdialog.title"
 msgid "Import 3D object"
 msgstr "3D object importeren"
@@ -2591,6 +2599,10 @@ msgstr "Opslaan"
 msgid "Dithering"
 msgstr "Dithering"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Kwaliteit:"
@@ -2684,7 +2696,6 @@ msgid "Hue"
 msgstr "Kleurtint"
 
 #: tfshiftcolors.label2.caption
-#| msgid "Colorness"
 msgctxt "TFSHIFTCOLORS.LABEL2.CAPTION"
 msgid "Saturation"
 msgstr "Verzadiging"
@@ -2753,6 +2764,10 @@ msgstr "Bezig met actie"
 msgid "Add files to the image processing list"
 msgstr "Voeg bestanden toe aan afbeeldingsverwerkingslijst"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Kleur toevoegen aan palet"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Vorm uitlijnen"
@@ -2777,6 +2792,12 @@ msgstr "Geanimeerde GIF"
 msgid "Autodetect"
 msgstr "Automatische detectie"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Terug"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Druk BACKSPACE om het laatste punt te verwijderen"
@@ -2789,6 +2810,10 @@ msgstr "Beste kwaliteit"
 msgid "Bitmap"
 msgstr "Bitmap"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "De mengoperatie wordt alleen uitgevoerd als er een laag onder is"
@@ -2831,6 +2856,10 @@ msgstr "Canvasgrootte"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Wis palet"
@@ -2843,6 +2872,10 @@ msgstr "Verzoek om te sluiten"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2894,10 +2927,18 @@ msgstr "Bijsnijden"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Druk S of X om de krommingsmodus van het laatste punt in te stellen"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Standaard palet"
@@ -2919,6 +2960,20 @@ msgstr "Map is niet leeg"
 msgid "Dither layer using palette"
 msgstr "Ditherlaag met palet"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Doneren..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Downloaden"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Dubbele afbeelding"
@@ -3043,6 +3098,12 @@ msgstr "Type"
 msgid "Fixed"
 msgstr "Vast"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Alle lagen samenvoegen"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Folder"
@@ -3055,6 +3116,10 @@ msgstr "Map of container bestaat al."
 msgid "Following errors occurred:"
 msgstr "De volgende fouten zijn opgetreden:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Frames"
@@ -3133,9 +3198,13 @@ msgstr "Oneindigheid"
 msgid "Information"
 msgstr "Informatie"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Downloaden"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3146,6 +3215,10 @@ msgstr "Intensiteit"
 msgid "Internal error"
 msgstr "Interne fout"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Ongeldige naam"
@@ -3186,20 +3259,32 @@ msgstr "Landschap"
 msgid "The latest version of LazPaint available online is"
 msgstr "De nieuwste online beschikbare LazPaint versie is"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Laag"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Gelaagde afbeelding"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Lagen"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Laag"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3246,10 +3331,30 @@ msgstr "Palet laden..."
 msgid "Loop count"
 msgstr "Aantal herhalingen"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Maak %1-kleurenpalet van afbeelding"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Wilt u de selectie samenvoegen?"
@@ -3283,6 +3388,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Nieuwe afbeelding"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Nee"
@@ -3307,6 +3416,10 @@ msgstr "naamloos"
 msgid "Normal"
 msgstr "Normaal"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "Er is niets om te vervormen"
@@ -3367,6 +3480,12 @@ msgstr "Palet bevat alfakanaal"
 msgid "Palette options"
 msgstr "Palet opties"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Pen"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3421,6 +3540,16 @@ msgstr "Bitmap is gewijzigd. Wilt u deze echt herladen?"
 msgid "Removable"
 msgstr "Verwijderbaar"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Verwijder kleur van palet"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Renderen"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3499,10 +3628,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Spline"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Apparaat"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Progressieve vloedvulling"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3580,6 +3731,18 @@ msgstr "Onbekend origineel"
 msgid "Vectorial layer"
 msgstr "Vector laag"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Ja"

+ 216 - 47
lazpaint/release/bin/i18n/lazpaint.pl.po

@@ -20,6 +20,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "Procedura %s nie została prawidłowo zainicjonowana."
 
@@ -47,7 +48,6 @@ msgid "Authors:"
 msgstr "Autorzy:"
 
 #: tfabout.label_authorsvalue.caption
-#| msgid "Circular help by FabienWang and Lainz"
 msgctxt "tfabout.label_authorsvalue.caption"
 msgid "Circular helped by FabienWang, Lainz and others"
 msgstr "Okólnik wspomagany przez FabienWanga, Lainza i innych"
@@ -250,23 +250,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "Szerokość:"
 
-#: tfchoosecolor.bcbutton_addtopalette.hint
-msgid "Add color to palette"
-msgstr "Dodaj kolor do pelety"
-
-#: tfchoosecolor.bcbutton_removefrompalette.hint
-msgid "Remove color from palette"
-msgstr "Usuń kolor z pelety"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "Kolory"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Opis koloru: kliknij, aby wpisać kolor za pomocą klawiatury, używając nazw kolorów lub notacji CSS"
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -404,11 +392,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Poprawiony odcień i jasność"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -424,6 +424,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -447,6 +453,10 @@ msgstr "Zmienne:"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -591,21 +601,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Warstwy"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Wybierz operację mieszania"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Powiększ okno warstwy"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Pomniejsz okno warstwy"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -625,6 +620,12 @@ msgstr "Załaduj pędzel z pliku..."
 msgid "Remove current brush"
 msgstr "Usuń bieżący pędzel"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Dotacja..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -647,7 +648,6 @@ msgid "Intensity..."
 msgstr "Intensywność..."
 
 #: tfmain.colorlightness.caption
-#| msgid "Lightness..."
 msgid "Brightness / Contrast..."
 msgstr "Jasność / kontrast..."
 
@@ -818,6 +818,7 @@ msgid "Choose entry within file"
 msgstr "Wybierz wpis w pliku"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Eksportuj..."
 
@@ -1067,6 +1068,7 @@ msgid "Fill background with antialiasing"
 msgstr "Wypełnij tło z wygładzaniem krawędzi"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Spłaszcz obraz"
 
@@ -1102,6 +1104,10 @@ msgstr "Próbkuj ponownie..."
 msgid "Resample image"
 msgstr "Ponownie próbkuj obraz"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Obróć o 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Obróć o 90° w lewo"
@@ -1110,10 +1116,6 @@ msgstr "Obróć o 90° w lewo"
 msgid "Rotate 90° CW"
 msgstr "Obróć o 90° w prawo"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Obróć o 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Inteligentny zoom x3"
@@ -1168,6 +1170,7 @@ msgid "Altitude"
 msgstr "Wysokość"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Wstecz"
 
@@ -1287,6 +1290,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Duplikuj wybraną warstwę"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Eksportuj..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -1424,7 +1433,6 @@ msgid "Show palette"
 msgstr "Pokaż paletę"
 
 #: tfmain.menutool.caption
-#| msgid "Tool"
 msgctxt "tfmain.menutool.caption"
 msgid "Tools"
 msgstr "Narzędzia"
@@ -1944,7 +1952,6 @@ msgid "Choose font..."
 msgstr "Wybierz czcionkę..."
 
 #: tfmain.tool_textoutline.hint
-#| msgid "Progressive floodfill"
 msgctxt "TFMAIN.TOOL_TEXTOUTLINE.HINT"
 msgid "Text outline"
 msgstr "Zarys tekstu"
@@ -2581,6 +2588,10 @@ msgstr "Zapisz"
 msgid "Dithering"
 msgstr "Ditering"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Jakość:"
@@ -2742,6 +2753,12 @@ msgstr "Wykonywanie akcji..."
 msgid "Add files to the image processing list"
 msgstr "Dodaj pliki do listy przetwarzania obrazów"
 
+#: uresourcestrings.rsaddtopalette
+#, fuzzy
+msgctxt "uresourcestrings.rsaddtopalette"
+msgid "Add color to palette"
+msgstr "Dodaj kolor do pelety"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Dopasuj kształt"
@@ -2766,6 +2783,12 @@ msgstr "Animowane GIF"
 msgid "Autodetect"
 msgstr "Automatycznie"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Wstecz"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Naciśnij BACKSPACE, aby usunąć ostatni punkt"
@@ -2778,6 +2801,10 @@ msgstr "Najlepsza jakość"
 msgid "Bitmap"
 msgstr "Bitmap"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "Operacja mieszania jest stosowana tylko wtedy, gdy poniżej znajduje się warstwa"
@@ -2820,6 +2847,10 @@ msgstr "Rozmiar obszaru roboczego"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Wyczyść paletę"
@@ -2832,6 +2863,10 @@ msgstr "Zamknij polecenie"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2883,10 +2918,18 @@ msgstr "Przytnij"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Naciśnij S lub X, aby ustawić tryb krzywej ostatniego punktu"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Paleta domyślna"
@@ -2908,6 +2951,20 @@ msgstr "Katalog nie jest pusty"
 msgid "Dither layer using palette"
 msgstr "Diteruj warstwę za pomocą palety"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Dotacja..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Pobieranie"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Duplikuj obraz"
@@ -3032,6 +3089,12 @@ msgstr "Typ"
 msgid "Fixed"
 msgstr "Naprawiony"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Spłaszcz obraz"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Folder"
@@ -3040,9 +3103,13 @@ msgstr "Folder"
 msgid "Folder or container already exists."
 msgstr "Folder lub kontener już istnieje."
 
-#: uresourcestrings.rsfollowingerrorsoccured
-msgid "Following errors occured:"
-msgstr "Wystąpiły następujące błędy:"
+#: uresourcestrings.rsfollowingerrorsoccurred
+msgid "Following errors occurred:"
+msgstr ""
+
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
 
 #: uresourcestrings.rsframes
 msgid "Frames"
@@ -3122,9 +3189,13 @@ msgstr "Nieskończoność"
 msgid "Information"
 msgstr "Informacje"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Pobieranie"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3135,6 +3206,10 @@ msgstr "Intensywność"
 msgid "Internal error"
 msgstr "Błąd wewnętrzny"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Błędna nazwa"
@@ -3175,20 +3250,32 @@ msgstr "Krajobraz"
 msgid "The latest version of LazPaint available online is"
 msgstr "Najnowsza wersja LazPaint dostępna online "
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Warstwa"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Obraz warstwowy"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Warstwy"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Warstwa"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3235,16 +3322,38 @@ msgstr "Ładuj paletę..."
 msgid "Loop count"
 msgstr "Liczba pętli"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Utwórz paletę %1-kolorową z obrazu"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Chcesz scalić zaznaczenie?"
 
 #: uresourcestrings.rsmitchell
-msgid "Mitchella"
+#, fuzzy
+#| msgid "Mitchella"
+msgid "Mitchell"
 msgstr "Mitchella"
 
 #: uresourcestrings.rsmorethanonefile
@@ -3272,6 +3381,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Nowy obraz"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Nie"
@@ -3296,6 +3409,10 @@ msgstr "bez nazwy"
 msgid "Normal"
 msgstr "Normalny"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "Nie ma nic do zdeformowania"
@@ -3356,6 +3473,12 @@ msgstr "Paleta zawiera kanał alfa"
 msgid "Palette options"
 msgstr "Opcje palety"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Próbnik"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3410,6 +3533,18 @@ msgstr "Mapa bitowa została zmodyfikowana. Chcesz załadować ją ponownie?"
 msgid "Removable"
 msgstr "Usuwalny"
 
+#: uresourcestrings.rsremovefrompalette
+#, fuzzy
+msgctxt "uresourcestrings.rsremovefrompalette"
+msgid "Remove color from palette"
+msgstr "Usuń kolor z pelety"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Renderowanie"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3488,10 +3623,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Klinowa"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Urządzenie"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Zarys tekstu"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3569,6 +3726,18 @@ msgstr "Nieznany oryginał"
 msgid "Vectorial layer"
 msgstr "Warstwa wektorowa"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Tak"

+ 135 - 40
lazpaint/release/bin/i18n/lazpaint.po

@@ -231,23 +231,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr ""
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr ""
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr ""
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr ""
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr ""
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -385,11 +373,21 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr ""
 
+#: tffilterfunction.label_aequals.caption
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr ""
 
+#: tffilterfunction.label_bequals.caption
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -405,6 +403,11 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr ""
 
+#: tffilterfunction.label_lequals.caption
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -428,6 +431,10 @@ msgstr ""
 msgid "HSL"
 msgstr ""
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -572,21 +579,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr ""
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr ""
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr ""
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr ""
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -797,6 +789,7 @@ msgid "Choose entry within file"
 msgstr ""
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr ""
 
@@ -1046,6 +1039,7 @@ msgid "Fill background with antialiasing"
 msgstr ""
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr ""
 
@@ -1081,6 +1075,10 @@ msgstr ""
 msgid "Resample image"
 msgstr ""
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr ""
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr ""
@@ -1089,10 +1087,6 @@ msgstr ""
 msgid "Rotate 90° CW"
 msgstr ""
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr ""
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr ""
@@ -1147,6 +1141,7 @@ msgid "Altitude"
 msgstr ""
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr ""
 
@@ -1186,6 +1181,11 @@ msgctxt "TFMAIN.LABEL_CURVE.CAPTION"
 msgid "Curve"
 msgstr ""
 
+#: tfmain.label_donate.caption
+msgctxt "tfmain.label_donate.caption"
+msgid "Donate..."
+msgstr ""
+
 #: tfmain.label_eraser.caption
 msgctxt "tfmain.label_eraser.caption"
 msgid "Erase"
@@ -1264,6 +1264,11 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr ""
 
+#: tfmain.layerexport.hint
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr ""
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -1590,6 +1595,11 @@ msgctxt "tfmain.toolbrush.hint"
 msgid "Brush"
 msgstr ""
 
+#: tfmain.toolbutton_donate.hint
+msgctxt "tfmain.toolbutton_donate.hint"
+msgid "Donate..."
+msgstr ""
+
 #: tfmain.toolchangedocking.hint
 msgctxt "tfmain.toolchangedocking.hint"
 msgid "Change docking"
@@ -2050,6 +2060,46 @@ msgstr ""
 msgid "Choose image"
 msgstr ""
 
+#: tfnewimage.bgrashape1.caption
+msgid "BGRAShape1"
+msgstr ""
+
+#: tfnewimage.bgrashape10.caption
+msgid "BGRAShape10"
+msgstr ""
+
+#: tfnewimage.bgrashape2.caption
+msgid "BGRAShape2"
+msgstr ""
+
+#: tfnewimage.bgrashape3.caption
+msgid "BGRAShape3"
+msgstr ""
+
+#: tfnewimage.bgrashape4.caption
+msgid "BGRAShape4"
+msgstr ""
+
+#: tfnewimage.bgrashape5.caption
+msgid "BGRAShape5"
+msgstr ""
+
+#: tfnewimage.bgrashape6.caption
+msgid "BGRAShape6"
+msgstr ""
+
+#: tfnewimage.bgrashape7.caption
+msgid "BGRAShape7"
+msgstr ""
+
+#: tfnewimage.bgrashape8.caption
+msgid "BGRAShape8"
+msgstr ""
+
+#: tfnewimage.bgrashape9.caption
+msgid "BGRAShape9"
+msgstr ""
+
 #: tfnewimage.button_cancel.caption
 msgctxt "TFNEWIMAGE.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -2091,6 +2141,14 @@ msgctxt "tfnewimage.label_width.caption"
 msgid "Width :"
 msgstr ""
 
+#: tfnewimage.toolbar_ratio.caption
+msgid "ToolBar_Ratio"
+msgstr ""
+
+#: tfnewimage.toolbutton_clearratio.caption
+msgid "ToolButton_ClearRatio"
+msgstr ""
+
 #: tfnoisefilter.button_cancel.caption
 msgctxt "tfnoisefilter.button_cancel.caption"
 msgid "Cancel"
@@ -2555,6 +2613,10 @@ msgstr ""
 msgid "Dithering"
 msgstr ""
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr ""
@@ -2716,6 +2778,10 @@ msgstr ""
 msgid "Add files to the image processing list"
 msgstr ""
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr ""
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr ""
@@ -2740,6 +2806,11 @@ msgstr ""
 msgid "Autodetect"
 msgstr ""
 
+#: uresourcestrings.rsback
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr ""
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr ""
@@ -2885,6 +2956,15 @@ msgstr ""
 msgid "Dither layer using palette"
 msgstr ""
 
+#: uresourcestrings.rsdonate
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr ""
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr ""
@@ -3014,6 +3094,11 @@ msgstr ""
 msgid "Fixed"
 msgstr ""
 
+#: uresourcestrings.rsflattenimage
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr ""
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr ""
@@ -3105,10 +3190,6 @@ msgstr ""
 msgid "Information"
 msgstr ""
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr ""
-
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
 msgid "Intensity"
@@ -3159,6 +3240,11 @@ msgstr ""
 msgid "The latest version of LazPaint available online is"
 msgstr ""
 
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr ""
@@ -3168,11 +3254,6 @@ msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr ""
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr ""
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3348,6 +3429,11 @@ msgstr ""
 msgid "Palette options"
 msgstr ""
 
+#: uresourcestrings.rspen
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr ""
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3402,6 +3488,10 @@ msgstr ""
 msgid "Removable"
 msgstr ""
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr ""
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3485,6 +3575,11 @@ msgstr ""
 msgid "Device"
 msgstr ""
 
+#: uresourcestrings.rstextoutline
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr ""
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"

+ 3550 - 0
lazpaint/release/bin/i18n/lazpaint.pot

@@ -0,0 +1,3550 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: tablet.getprocfailed
+#, object-pascal-format
+msgid "Procedure %s failed to load properly."
+msgstr ""
+
+#: tablet.openfailed
+msgid "Tablet context failed to open."
+msgstr ""
+
+#: tfabout.button_donate.caption
+msgctxt "tfabout.button_donate.caption"
+msgid "Donate..."
+msgstr ""
+
+#: tfabout.caption
+msgid "About"
+msgstr ""
+
+#: tfabout.labelurl.caption
+msgid "http://sourceforge.net/projects/lazpaint/"
+msgstr ""
+
+#: tfabout.label_authors.caption
+msgid "Authors:"
+msgstr ""
+
+#: tfabout.label_authorsvalue.caption
+msgid "Circular helped by FabienWang, Lainz and others"
+msgstr ""
+
+#: tfabout.label_homepage.caption
+msgid "Homepage:"
+msgstr ""
+
+#: tfabout.label_libraries.caption
+msgid "Libraries used:"
+msgstr ""
+
+#: tfabout.label_licence.caption
+msgid "Licence:"
+msgstr ""
+
+#: tfabout.label_opensource.caption
+msgid "Open source (GPLv3)"
+msgstr ""
+
+#: tfadjustcurves.button_cancel.caption
+msgctxt "tfadjustcurves.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfadjustcurves.button_ok.caption
+msgctxt "tfadjustcurves.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfadjustcurves.caption
+msgid "Adjust curves"
+msgstr ""
+
+#: tfadjustcurves.toolbutton_newcurve.hint
+msgid "Discard current curve and start a new one"
+msgstr ""
+
+#: tfadjustcurves.toolbutton_posterize.hint
+msgctxt "tfadjustcurves.toolbutton_posterize.hint"
+msgid "Posterize"
+msgstr ""
+
+#: tfadjustcurves.toolbutton_removepoint.hint
+msgid "Remove selected point (Del)"
+msgstr ""
+
+#: tfblendop.button_cancel.caption
+msgctxt "tfblendop.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfblendop.button_ok.caption
+msgctxt "tfblendop.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfblendop.caption
+msgid "Blend operation"
+msgstr ""
+
+#: tfblendop.label_blendopcategory.caption
+msgid "Category of blend operation"
+msgstr ""
+
+#: tfblendop.label_blendopvalue.caption
+msgctxt "tfblendop.label_blendopvalue.caption"
+msgid "."
+msgstr ""
+
+#: tfblendop.label_kritaover.caption
+msgid "Krita"
+msgstr ""
+
+#: tfblendop.label_kritaover.hint
+msgid "Blend operations that are available in Krita"
+msgstr ""
+
+#: tfblendop.label_otherover.caption
+msgid "Other"
+msgstr ""
+
+#: tfblendop.label_otherover.hint
+msgid "Blend operations of LazPaint and Paint.NET"
+msgstr ""
+
+#: tfblendop.label_patternover.caption
+msgid "Pattern over"
+msgstr ""
+
+#: tfblendop.label_patternover.hint
+msgid "Preview blend operation with the specified image on top"
+msgstr ""
+
+#: tfblendop.label_patternunder.caption
+msgid "Pattern under"
+msgstr ""
+
+#: tfblendop.label_patternunder.hint
+msgid "Preview blend operation with the specified image underneath"
+msgstr ""
+
+#: tfblendop.label_previewwith.caption
+msgid "Preview with"
+msgstr ""
+
+#: tfblendop.label_selectedblendop.caption
+msgid "Selected blend operation :"
+msgstr ""
+
+#: tfblendop.label_svgover.caption
+msgid "Basic SVG"
+msgstr ""
+
+#: tfblendop.label_svgover.hint
+msgid "Basic blend operations that are available in virtually all image editors"
+msgstr ""
+
+#: tfbrowseimages.caption
+msgid "Browse images"
+msgstr ""
+
+#: tfbrowseimages.checkbox_usedirectoryonstartup.caption
+msgid "Use this directory on startup"
+msgstr ""
+
+#: tfbrowseimages.label_status.caption
+msgctxt "tfbrowseimages.label_status.caption"
+msgid "."
+msgstr ""
+
+#: tfbrowseimages.toolbutton_createfolderorcontainer.hint
+msgid "Create folder or container"
+msgstr ""
+
+#: tfbrowseimages.toolbutton_goup.hint
+msgid "Go one directory up"
+msgstr ""
+
+#: tfbrowseimages.toolbutton_openselectedfiles.hint
+msgid "Open selected files"
+msgstr ""
+
+#: tfbrowseimages.toolbutton_viewbigicon.hint
+msgid "Show big icons"
+msgstr ""
+
+#: tfbrowseimages.toolbutton_viewdetails.hint
+msgid "Show details and preview"
+msgstr ""
+
+#: tfbrowseimages.tool_selectdrive.hint
+msgid "Select drive"
+msgstr ""
+
+#: tfcanvassize.button_cancel.caption
+msgctxt "tfcanvassize.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfcanvassize.button_ok.caption
+msgctxt "tfcanvassize.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfcanvassize.caption
+msgctxt "tfcanvassize.caption"
+msgid "Canvas size"
+msgstr ""
+
+#: tfcanvassize.checkbox_flipmode.caption
+msgid "Flip mode"
+msgstr ""
+
+#: tfcanvassize.label_anchor.caption
+msgid "Anchor :"
+msgstr ""
+
+#: tfcanvassize.label_height.caption
+msgctxt "tfcanvassize.label_height.caption"
+msgid "Height :"
+msgstr ""
+
+#: tfcanvassize.label_width.caption
+msgctxt "tfcanvassize.label_width.caption"
+msgid "Width :"
+msgstr ""
+
+#: tfchoosecolor.caption
+msgctxt "tfchoosecolor.caption"
+msgid "Color"
+msgstr ""
+
+#: tfcolorintensity.button_cancel.caption
+msgctxt "tfcolorintensity.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfcolorintensity.button_ok.caption
+msgctxt "tfcolorintensity.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfcolorintensity.caption
+msgctxt "tfcolorintensity.caption"
+msgid "Intensity"
+msgstr ""
+
+#: tfcolorintensity.label_multiply.caption
+msgid "Multiply"
+msgstr ""
+
+#: tfcolorintensity.label_shift.caption
+msgid "Shift"
+msgstr ""
+
+#: tfcolorize.button_cancel.caption
+msgctxt "tfcolorize.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfcolorize.button_ok.caption
+msgctxt "tfcolorize.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfcolorize.caption
+msgid "Colorize"
+msgstr ""
+
+#: tfcolorize.checkbox_gsba.caption
+msgctxt "tfcolorize.checkbox_gsba.caption"
+msgid "Corrected hue and lightness"
+msgstr ""
+
+#: tfcolorize.label_colorness.caption
+msgid "Colorness"
+msgstr ""
+
+#: tfcolorize.label_hue.caption
+msgctxt "tfcolorize.label_hue.caption"
+msgid "Hue"
+msgstr ""
+
+#: tfcolorize.label_preset.caption
+msgid "Preset"
+msgstr ""
+
+#: tfcustomblur.button_cancel.caption
+msgctxt "tfcustomblur.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfcustomblur.button_editmask.caption
+msgid "Edit mask..."
+msgstr ""
+
+#: tfcustomblur.button_loadmask.caption
+msgid "Load mask..."
+msgstr ""
+
+#: tfcustomblur.button_ok.caption
+msgctxt "tfcustomblur.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfcustomblur.caption
+msgid "Custom blur"
+msgstr ""
+
+#: tfcustomblur.openpicturedialog1.title
+msgid "Open grayscale file"
+msgstr ""
+
+#: tfemboss.button_cancel.caption
+msgctxt "tfemboss.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfemboss.button_ok.caption
+msgctxt "tfemboss.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfemboss.caption
+msgid "Emboss"
+msgstr ""
+
+#: tfemboss.checkbox_preservecolors.caption
+msgid "Preserve colors"
+msgstr ""
+
+#: tfemboss.checkbox_transparent.caption
+msgid "Transparent"
+msgstr ""
+
+#: tfemboss.label_direction.caption
+msgid "Direction :"
+msgstr ""
+
+#: tffilterfunction.button_cancel.caption
+msgctxt "tffilterfunction.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tffilterfunction.button_ok.caption
+msgctxt "tffilterfunction.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tffilterfunction.caption
+msgid "Apply function"
+msgstr ""
+
+#: tffilterfunction.checkbox_gamma.caption
+msgid "Gamma correction"
+msgstr ""
+
+#: tffilterfunction.checkbox_gsba.caption
+msgctxt "tffilterfunction.checkbox_gsba.caption"
+msgid "Corrected hue and lightness"
+msgstr ""
+
+#: tffilterfunction.label_aequals.caption
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_alphaequals.caption
+msgctxt "tffilterfunction.label_alphaequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_bequals.caption
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_blueequals.caption
+msgctxt "tffilterfunction.label_blueequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_greenequals.caption
+msgctxt "tffilterfunction.label_greenequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_hueequals.caption
+msgctxt "tffilterfunction.label_hueequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_lequals.caption
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_lightnessequals.caption
+msgctxt "tffilterfunction.label_lightnessequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_redequals.caption
+msgctxt "tffilterfunction.label_redequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_saturationequals.caption
+msgctxt "tffilterfunction.label_saturationequals.caption"
+msgid "."
+msgstr ""
+
+#: tffilterfunction.label_variables.caption
+msgid "Variables :"
+msgstr ""
+
+#: tffilterfunction.tabsheet_hsl.caption
+msgid "HSL"
+msgstr ""
+
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
+#: tffilterfunction.tabsheet_rgb.caption
+msgctxt "tffilterfunction.tabsheet_rgb.caption"
+msgid "RGB"
+msgstr ""
+
+#: tfgeometricbrush.button_cancel.caption
+msgctxt "tfgeometricbrush.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfgeometricbrush.button_ok.caption
+msgctxt "tfgeometricbrush.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfgeometricbrush.caption
+msgid "Geometric brush"
+msgstr ""
+
+#: tfgeometricbrush.checkbox_isgradient.caption
+msgid "Opacity gradient"
+msgstr ""
+
+#: tfgeometricbrush.label1.caption
+msgid "Number of sides:"
+msgstr ""
+
+#: tfimagelist.caption
+msgid "Image List"
+msgstr ""
+
+#: tfimagelist.pmautouncheckonopen.caption
+msgid "Autouncheck files after being open"
+msgstr ""
+
+#: tfimagelist.pmautouncheckonsave.caption
+msgid "Autouncheck files after being edited and saved"
+msgstr ""
+
+#: tfimagelist.pmremoveall.caption
+msgid "Empty image list"
+msgstr ""
+
+#: tfimagelist.pmremovenonexistent.caption
+msgid "Remove nonexistent images"
+msgstr ""
+
+#: tfimagelist.pmremoveunchecked.caption
+msgid "Remove unchecked images"
+msgstr ""
+
+#: tfimagelist.pmunchecknonexistent.caption
+msgid "Uncheck nonexistent files"
+msgstr ""
+
+#: tfimagelist.stringgrid1.columns[0].title.caption
+msgctxt "tfimagelist.stringgrid1.columns[0].title.caption"
+msgid "-"
+msgstr ""
+
+#: tfimagelist.stringgrid1.columns[1].title.caption
+msgctxt "tfimagelist.stringgrid1.columns[1].title.caption"
+msgid "-"
+msgstr ""
+
+#: tfimagelist.stringgrid1.columns[2].title.caption
+msgctxt "tfimagelist.stringgrid1.columns[2].title.caption"
+msgid "-"
+msgstr ""
+
+#: tfimagelist.stringgrid1.columns[3].title.caption
+msgctxt "tfimagelist.stringgrid1.columns[3].title.caption"
+msgid "-"
+msgstr ""
+
+#: tfimagelist.tbaddfiles.hint
+msgid "Add images to list"
+msgstr ""
+
+#: tfimagelist.tbautouncheck.hint
+msgid "Enable/disable autounchecking for processed files"
+msgstr ""
+
+#: tfimagelist.tbautozoomfit.hint
+msgid "Enable/disable autofitting images in the LazPaint window"
+msgstr ""
+
+#: tfimagelist.tbcheckall.hint
+msgid "Check all files for processing"
+msgstr ""
+
+#: tfimagelist.tbminiwindow.hint
+msgid "Switch to miniwindow"
+msgstr ""
+
+#: tfimagelist.tbmovedown.hint
+msgid "Move selected items down"
+msgstr ""
+
+#: tfimagelist.tbmoveup.hint
+msgid "Move selected items up"
+msgstr ""
+
+#: tfimagelist.tbnormalwindows.hint
+msgid "Switch to normal window"
+msgstr ""
+
+#: tfimagelist.tbopenimage.hint
+msgid "Open current image"
+msgstr ""
+
+#: tfimagelist.tbopennext.hint
+msgid "Open next image (Alt-Right)"
+msgstr ""
+
+#: tfimagelist.tbopennextsw.hint
+msgid "Open next image"
+msgstr ""
+
+#: tfimagelist.tbopenprev.hint
+msgid "Open previous image (Alt-Left)"
+msgstr ""
+
+#: tfimagelist.tbopenprevsw.hint
+msgid "Open previous image"
+msgstr ""
+
+#: tfimagelist.tbremoveitem.hint
+msgid "Remove selected images from list"
+msgstr ""
+
+#: tfimagelist.tbuncheckall.hint
+msgid "Uncheck all files for processing"
+msgstr ""
+
+#: tflayerstack.caption
+msgctxt "tflayerstack.caption"
+msgid "Layers"
+msgstr ""
+
+#: tfloading.caption
+msgid "Loading..."
+msgstr ""
+
+#: tfmain.brushcreategeometric.hint
+msgid "Create geometric brush"
+msgstr ""
+
+#: tfmain.brushloadfromfile.hint
+msgid "Load brush from file..."
+msgstr ""
+
+#: tfmain.brushremovecurrent.hint
+msgid "Remove current brush"
+msgstr ""
+
+#: tfmain.button_donate.caption
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr ""
+
+#: tfmain.caption
+msgctxt "tfmain.caption"
+msgid "LazPaint"
+msgstr ""
+
+#: tfmain.colorcolorize.caption
+msgid "Colorize..."
+msgstr ""
+
+#: tfmain.colorcurves.caption
+msgid "Curves..."
+msgstr ""
+
+#: tfmain.colordialog1.title
+msgid "Choose color"
+msgstr ""
+
+#: tfmain.colorintensity.caption
+msgid "Intensity..."
+msgstr ""
+
+#: tfmain.colorlightness.caption
+msgid "Brightness / Contrast..."
+msgstr ""
+
+#: tfmain.colorposterize.caption
+msgid "Posterize..."
+msgstr ""
+
+#: tfmain.colorshiftcolors.caption
+msgid "Shift colors..."
+msgstr ""
+
+#: tfmain.combobox_penstyle.hint
+msgid "Pen style"
+msgstr ""
+
+#: tfmain.editcopy.caption
+msgid "Copy"
+msgstr ""
+
+#: tfmain.editcopy.hint
+msgid "Copy selection"
+msgstr ""
+
+#: tfmain.editcut.caption
+msgid "Cut"
+msgstr ""
+
+#: tfmain.editcut.hint
+msgid "Cut selection"
+msgstr ""
+
+#: tfmain.editdeleteselection.caption
+msgctxt "tfmain.editdeleteselection.caption"
+msgid "Delete"
+msgstr ""
+
+#: tfmain.editdeleteselection.hint
+msgid "Delete selection"
+msgstr ""
+
+#: tfmain.editdeselect.hint
+msgid "Deselect"
+msgstr ""
+
+#: tfmain.editinvertselection.hint
+msgid "Invert selection"
+msgstr ""
+
+#: tfmain.editmovedown.hint
+msgid "Move down"
+msgstr ""
+
+#: tfmain.editmovetoback.hint
+msgid "Send to back"
+msgstr ""
+
+#: tfmain.editmovetofront.hint
+msgid "Bring to front"
+msgstr ""
+
+#: tfmain.editmoveup.hint
+msgid "Move up"
+msgstr ""
+
+#: tfmain.editpaste.hint
+msgid "Paste"
+msgstr ""
+
+#: tfmain.editpasteasnew.caption
+msgid "Paste as new image"
+msgstr ""
+
+#: tfmain.editpasteasnewlayer.caption
+msgid "Paste as new layer"
+msgstr ""
+
+#: tfmain.editredo.hint
+msgid "Redo"
+msgstr ""
+
+#: tfmain.editselectall.caption
+msgctxt "tfmain.editselectall.caption"
+msgid "Select all"
+msgstr ""
+
+#: tfmain.editselectall.hint
+msgctxt "tfmain.editselectall.hint"
+msgid "Select all"
+msgstr ""
+
+#: tfmain.editselection.caption
+msgid "Edit selection..."
+msgstr ""
+
+#: tfmain.editselectionfit.caption
+msgid "Selection fit"
+msgstr ""
+
+#: tfmain.editshapealignbottom.hint
+msgid "Align shape to the bottom"
+msgstr ""
+
+#: tfmain.editshapealignleft.hint
+msgid "Align shape left"
+msgstr ""
+
+#: tfmain.editshapealignright.hint
+msgid "Align shape right"
+msgstr ""
+
+#: tfmain.editshapealigntop.hint
+msgid "Align shape to the top"
+msgstr ""
+
+#: tfmain.editshapecenterhorizontally.hint
+msgid "Center shape horizontally"
+msgstr ""
+
+#: tfmain.editshapecentervertically.hint
+msgid "Center shape vertically"
+msgstr ""
+
+#: tfmain.editshapetocurve.hint
+msgid "Convert shape to curve"
+msgstr ""
+
+#: tfmain.editundo.caption
+msgid "Undo"
+msgstr ""
+
+#: tfmain.editundo.hint
+msgid "Undo last modification"
+msgstr ""
+
+#: tfmain.embeddedcancel.caption
+msgctxt "tfmain.embeddedcancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfmain.embeddedcancel.hint
+msgid "Cancel modifications"
+msgstr ""
+
+#: tfmain.embeddedvalidate.caption
+msgid "Validate"
+msgstr ""
+
+#: tfmain.embeddedvalidate.hint
+msgid "Validate modifications"
+msgstr ""
+
+#: tfmain.exportpicturedialog.title
+msgid "Export as..."
+msgstr ""
+
+#: tfmain.filechooseentry.caption
+msgid "Choose entry..."
+msgstr ""
+
+#: tfmain.filechooseentry.hint
+msgid "Choose entry within file"
+msgstr ""
+
+#: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
+msgid "Export..."
+msgstr ""
+
+#: tfmain.fileimport3d.caption
+msgid "Import 3D object..."
+msgstr ""
+
+#: tfmain.fileloadselection.caption
+msgid "Load selection..."
+msgstr ""
+
+#: tfmain.filenew.caption
+msgid "New..."
+msgstr ""
+
+#: tfmain.filenew.hint
+msgid "Create a new file"
+msgstr ""
+
+#: tfmain.fileopen.caption
+msgid "Open..."
+msgstr ""
+
+#: tfmain.fileopen.hint
+msgid "Open existing file"
+msgstr ""
+
+#: tfmain.fileprint.caption
+msgid "Print..."
+msgstr ""
+
+#: tfmain.filequit.hint
+msgid "Quit"
+msgstr ""
+
+#: tfmain.filereload.caption
+msgctxt "tfmain.filereload.caption"
+msgid "Reload"
+msgstr ""
+
+#: tfmain.fileremembersaveformat.hint
+msgid "Remember save format"
+msgstr ""
+
+#: tfmain.filerunscript.caption
+msgid "Run script..."
+msgstr ""
+
+#: tfmain.filesave.caption
+msgctxt "tfmain.filesave.caption"
+msgid "Save"
+msgstr ""
+
+#: tfmain.filesave.hint
+msgid "Save current file"
+msgstr ""
+
+#: tfmain.filesaveas.caption
+msgid "Save as..."
+msgstr ""
+
+#: tfmain.filesaveas.hint
+msgid "Save file as"
+msgstr ""
+
+#: tfmain.filesaveasinsamefolder.caption
+msgid "Save in same folder..."
+msgstr ""
+
+#: tfmain.filesaveselectionas.caption
+msgctxt "tfmain.filesaveselectionas.caption"
+msgid "Save selection as..."
+msgstr ""
+
+#: tfmain.fileuseimagebrowser.caption
+msgctxt "tfmain.fileuseimagebrowser.caption"
+msgid "Use image browser"
+msgstr ""
+
+#: tfmain.filterblurbox.caption
+msgid "Box blur..."
+msgstr ""
+
+#: tfmain.filterblurcorona.caption
+msgid "Corona blur..."
+msgstr ""
+
+#: tfmain.filterblurcustom.caption
+msgid "Custom blur..."
+msgstr ""
+
+#: tfmain.filterblurdisk.caption
+msgid "Disk blur..."
+msgstr ""
+
+#: tfmain.filterblurfast.caption
+msgid "Fast blur..."
+msgstr ""
+
+#: tfmain.filterblurmotion.caption
+msgid "Motion blur..."
+msgstr ""
+
+#: tfmain.filterblurprecise.caption
+msgid "Precise blur..."
+msgstr ""
+
+#: tfmain.filterblurradial.caption
+msgid "Gaussian blur..."
+msgstr ""
+
+#: tfmain.filtercleartype.caption
+msgid "ClearType"
+msgstr ""
+
+#: tfmain.filtercleartypeinverse.caption
+msgid "Inverse ClearType"
+msgstr ""
+
+#: tfmain.filtercomplementarycolor.caption
+msgid "Complementary colors"
+msgstr ""
+
+#: tfmain.filtercontour.caption
+msgid "Contour"
+msgstr ""
+
+#: tfmain.filtercylinder.caption
+msgid "Cylinder"
+msgstr ""
+
+#: tfmain.filteremboss.caption
+msgid "Emboss..."
+msgstr ""
+
+#: tfmain.filterfunction.caption
+msgid "Apply function..."
+msgstr ""
+
+#: tfmain.filtergrayscale.caption
+msgid "Grayscale"
+msgstr ""
+
+#: tfmain.filterlinearnegative.caption
+msgctxt "tfmain.filterlinearnegative.caption"
+msgid "Linear negative"
+msgstr ""
+
+#: tfmain.filtermedian.caption
+msgid "Median"
+msgstr ""
+
+#: tfmain.filternegative.caption
+msgctxt "tfmain.filternegative.caption"
+msgid "Negative"
+msgstr ""
+
+#: tfmain.filternoise.caption
+msgid "Noise filter..."
+msgstr ""
+
+#: tfmain.filternormalize.caption
+msgid "Normalize"
+msgstr ""
+
+#: tfmain.filterphong.caption
+msgid "Shaded map..."
+msgstr ""
+
+#: tfmain.filterpixelate.caption
+msgid "Pixelate..."
+msgstr ""
+
+#: tfmain.filterplane.caption
+msgid "Plane (slow)"
+msgstr ""
+
+#: tfmain.filterrain.caption
+msgid "Rain..."
+msgstr ""
+
+#: tfmain.filtersharpen.caption
+msgid "Sharpen..."
+msgstr ""
+
+#: tfmain.filtersmooth.caption
+msgid "Smooth"
+msgstr ""
+
+#: tfmain.filtersphere.caption
+msgctxt "tfmain.filtersphere.caption"
+msgid "Sphere"
+msgstr ""
+
+#: tfmain.filtertwirl.caption
+msgid "Twirl..."
+msgstr ""
+
+#: tfmain.filterwavedisplacement.caption
+msgid "Wave displacement..."
+msgstr ""
+
+#: tfmain.forgetdialoganswers.caption
+msgid "Forget dialog box answers"
+msgstr ""
+
+#: tfmain.forgetdialoganswers.hint
+msgid "Forget answers given to dialog boxes"
+msgstr ""
+
+#: tfmain.helpabout.caption
+msgid "About..."
+msgstr ""
+
+#: tfmain.helpindex.caption
+msgid "Index..."
+msgstr ""
+
+#: tfmain.imagechangecanvassize.caption
+msgid "Canvas size..."
+msgstr ""
+
+#: tfmain.imageclearalpha.caption
+msgid "Clear alpha channel and set background"
+msgstr ""
+
+#: tfmain.imagecrop.caption
+msgid "Crop to selection"
+msgstr ""
+
+#: tfmain.imagecroplayer.caption
+msgid "Crop to selection and current layer"
+msgstr ""
+
+#: tfmain.imagefillbackground.caption
+msgid "Fill background with antialiasing"
+msgstr ""
+
+#: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
+msgid "Flatten image"
+msgstr ""
+
+#: tfmain.imagehorizontalflip.caption
+msgid "Horizontal flip"
+msgstr ""
+
+#: tfmain.imagehorizontalflip.hint
+msgid "Flip image horizontally"
+msgstr ""
+
+#: tfmain.imagelinearnegative.caption
+msgctxt "tfmain.imagelinearnegative.caption"
+msgid "Linear negative"
+msgstr ""
+
+#: tfmain.imagenegative.caption
+msgctxt "tfmain.imagenegative.caption"
+msgid "Negative"
+msgstr ""
+
+#: tfmain.imagerepeat.caption
+msgid "Repeat..."
+msgstr ""
+
+#: tfmain.imageresample.caption
+msgid "Resample..."
+msgstr ""
+
+#: tfmain.imageresample.hint
+msgid "Resample image"
+msgstr ""
+
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr ""
+
+#: tfmain.imagerotateccw.caption
+msgid "Rotate 90° CCW"
+msgstr ""
+
+#: tfmain.imagerotatecw.caption
+msgid "Rotate 90° CW"
+msgstr ""
+
+#: tfmain.imagesmartzoom3.caption
+msgid "Smart zoom x3"
+msgstr ""
+
+#: tfmain.imageswapredblue.caption
+msgid "Swap red and blue channels"
+msgstr ""
+
+#: tfmain.imageverticalflip.caption
+msgid "Vertical flip"
+msgstr ""
+
+#: tfmain.imageverticalflip.hint
+msgid "Flip image vertically"
+msgstr ""
+
+#: tfmain.image_currenttool.hint
+msgid "Selected tool"
+msgstr ""
+
+#: tfmain.image_swapcolors.hint
+msgid "Switch color"
+msgstr ""
+
+#: tfmain.itemdocklayersandcolors.caption
+msgid "Dock layers and colors"
+msgstr ""
+
+#: tfmain.itemdonate.caption
+msgctxt "tfmain.itemdonate.caption"
+msgid "Donate..."
+msgstr ""
+
+#: tfmain.itemfullscreen.caption
+msgid "Fullscreen"
+msgstr ""
+
+#: tfmain.itemuseimagebrowser.caption
+msgctxt "tfmain.itemuseimagebrowser.caption"
+msgid "Use image browser"
+msgstr ""
+
+#: tfmain.itemviewdocktoolbox.caption
+msgid "Dock toolbox"
+msgstr ""
+
+#: tfmain.label_altitude.caption
+msgid "Altitude"
+msgstr ""
+
+#: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
+msgid "Back"
+msgstr ""
+
+#: tfmain.label_brush.caption
+msgctxt "tfmain.label_brush.caption"
+msgid "Brush"
+msgstr ""
+
+#: tfmain.label_coordinates.caption
+msgid "9999x9999"
+msgstr ""
+
+#: tfmain.label_coordinates.hint
+msgid "Coordinates"
+msgstr ""
+
+#: tfmain.label_currentdiff.caption
+msgid "100%"
+msgstr ""
+
+#: tfmain.label_currentdiff.hint
+msgid "Color difference"
+msgstr ""
+
+#: tfmain.label_currentzoom.caption
+msgctxt "tfmain.label_currentzoom.caption"
+msgid "%"
+msgstr ""
+
+#: tfmain.label_currentzoom.hint
+msgid "Current zoom"
+msgstr ""
+
+#: tfmain.label_curve.caption
+msgctxt "tfmain.label_curve.caption"
+msgid "Curve"
+msgstr ""
+
+#: tfmain.label_eraser.caption
+msgid "Erase"
+msgstr ""
+
+#: tfmain.label_grid.caption
+msgctxt "tfmain.label_grid.caption"
+msgid "Grid"
+msgstr ""
+
+#: tfmain.label_gridx.caption
+msgid "x"
+msgstr ""
+
+#: tfmain.label_outlinewidth.caption
+msgctxt "tfmain.label_outlinewidth.caption"
+msgid "Width"
+msgstr ""
+
+#: tfmain.label_pen.caption
+msgctxt "tfmain.label_pen.caption"
+msgid "Pen"
+msgstr ""
+
+#: tfmain.label_penwidth.caption
+msgctxt "tfmain.label_penwidth.caption"
+msgid "Width"
+msgstr ""
+
+#: tfmain.label_phongborder.caption
+msgid "Border"
+msgstr ""
+
+#: tfmain.label_ratio.caption
+msgid "Ratio"
+msgstr ""
+
+#: tfmain.label_shadowoffset.caption
+msgid "Offset"
+msgstr ""
+
+#: tfmain.label_shape.caption
+msgid "Shape"
+msgstr ""
+
+#: tfmain.label_spacing.caption
+msgid "Spacing"
+msgstr ""
+
+#: tfmain.label_text.caption
+msgctxt "tfmain.label_text.caption"
+msgid "Text"
+msgstr ""
+
+#: tfmain.label_textblur.caption
+msgid "Blur"
+msgstr ""
+
+#: tfmain.label_tolerance.caption
+msgid "Tolerance"
+msgstr ""
+
+#: tfmain.layeraddnew.hint
+msgid "Add new layer"
+msgstr ""
+
+#: tfmain.layerduplicate.hint
+msgid "Duplicate selected layer"
+msgstr ""
+
+#: tfmain.layerexport.hint
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr ""
+
+#: tfmain.layerfromfile.hint
+msgid "Import layer from file..."
+msgstr ""
+
+#: tfmain.layerhorizontalflip.hint
+msgid "Flip layer horizontally"
+msgstr ""
+
+#: tfmain.layermergeover.hint
+msgid "Merge layer over"
+msgstr ""
+
+#: tfmain.layermove.hint
+msgid "Move layer"
+msgstr ""
+
+#: tfmain.layerrasterize.hint
+msgid "Rasterize layer"
+msgstr ""
+
+#: tfmain.layerremovecurrent.hint
+msgid "Remove layer"
+msgstr ""
+
+#: tfmain.layerrotate.hint
+msgid "Rotate layer"
+msgstr ""
+
+#: tfmain.layerverticalflip.hint
+msgid "Flip layer vertically"
+msgstr ""
+
+#: tfmain.layerzoom.hint
+msgid "Zoom layer"
+msgstr ""
+
+#: tfmain.loadselectiondialog.title
+msgid "Load selection"
+msgstr ""
+
+#: tfmain.menucolors.caption
+msgctxt "tfmain.menucolors.caption"
+msgid "Colors"
+msgstr ""
+
+#: tfmain.menucoordinatestoolbar.caption
+msgid "Show coordinates"
+msgstr ""
+
+#: tfmain.menucopypastetoolbar.caption
+msgid "Show copy/paste toolbar"
+msgstr ""
+
+#: tfmain.menudocktoolboxleft.caption
+msgid "Dock left"
+msgstr ""
+
+#: tfmain.menudocktoolboxright.caption
+msgid "Dock right"
+msgstr ""
+
+#: tfmain.menuedit.caption
+msgid "Edit"
+msgstr ""
+
+#: tfmain.menufile.caption
+msgid "File"
+msgstr ""
+
+#: tfmain.menufiletoolbar.caption
+msgid "Show file toolbar"
+msgstr ""
+
+#: tfmain.menufilter.caption
+msgid "Filter"
+msgstr ""
+
+#: tfmain.menuhelp.caption
+msgid "Help"
+msgstr ""
+
+#: tfmain.menuimage.caption
+msgid "Image"
+msgstr ""
+
+#: tfmain.menulanguage.caption
+msgid "Language"
+msgstr ""
+
+#: tfmain.menuradialblur.caption
+msgctxt "tfmain.menuradialblur.caption"
+msgid "Radial blur"
+msgstr ""
+
+#: tfmain.menurecentfiles.caption
+msgid "Recent files"
+msgstr ""
+
+#: tfmain.menuremovetransparency.caption
+msgid "Remove transparency"
+msgstr ""
+
+#: tfmain.menurender.caption
+msgctxt "tfmain.menurender.caption"
+msgid "Render"
+msgstr ""
+
+#: tfmain.menuscript.caption
+msgctxt "tfmain.menuscript.caption"
+msgid "Script"
+msgstr ""
+
+#: tfmain.menuselect.caption
+msgid "Select"
+msgstr ""
+
+#: tfmain.menushowpalette.caption
+msgctxt "tfmain.menushowpalette.caption"
+msgid "Show palette"
+msgstr ""
+
+#: tfmain.menutool.caption
+msgctxt "tfmain.menutool.caption"
+msgid "Tools"
+msgstr ""
+
+#: tfmain.menuundocktoolbox.caption
+msgid "Undock"
+msgstr ""
+
+#: tfmain.menuundoredotoolbar.caption
+msgid "Show undo/redo toolbar"
+msgstr ""
+
+#: tfmain.menuview.caption
+msgid "View"
+msgstr ""
+
+#: tfmain.menuzoomtoolbar.caption
+msgid "Show zoom toolbar"
+msgstr ""
+
+#: tfmain.open3dobjectdialog.title
+msgid "Import 3D object"
+msgstr ""
+
+#: tfmain.openbrushdialog.title
+msgid "Open brush"
+msgstr ""
+
+#: tfmain.openpicturedialog1.title
+msgid "Open existing image"
+msgstr ""
+
+#: tfmain.opentexturedialog.title
+msgctxt "tfmain.opentexturedialog.title"
+msgid "Open texture"
+msgstr ""
+
+#: tfmain.perspective_repeat.hint
+msgctxt "tfmain.perspective_repeat.hint"
+msgid "Repeat image"
+msgstr ""
+
+#: tfmain.perspective_twoplanes.hint
+msgid "Draw opposite plane too"
+msgstr ""
+
+#: tfmain.rendercamouflage.caption
+msgid "Camouflage"
+msgstr ""
+
+#: tfmain.renderclouds.caption
+msgid "Clouds"
+msgstr ""
+
+#: tfmain.rendercustomwater.caption
+msgid "Water with custom colors"
+msgstr ""
+
+#: tfmain.rendercyclicperlinnoise.caption
+msgid "Cyclic Perlin noise"
+msgstr ""
+
+#: tfmain.rendermarble.caption
+msgid "Marble"
+msgstr ""
+
+#: tfmain.rendermetalfloor.caption
+msgid "Metal floor"
+msgstr ""
+
+#: tfmain.renderperlinnoise.caption
+msgid "Perlin noise"
+msgstr ""
+
+#: tfmain.renderplastik.caption
+msgid "Plastik"
+msgstr ""
+
+#: tfmain.renderroundstone.caption
+msgid "Round stone"
+msgstr ""
+
+#: tfmain.rendersnowprint.caption
+msgid "Snow print"
+msgstr ""
+
+#: tfmain.renderstone.caption
+msgid "Stone"
+msgstr ""
+
+#: tfmain.renderwater.caption
+msgid "Water"
+msgstr ""
+
+#: tfmain.renderwood.caption
+msgid "Wood"
+msgstr ""
+
+#: tfmain.renderwoodvertical.caption
+msgid "Vertical wood"
+msgstr ""
+
+#: tfmain.savepicturedialog1.title
+msgid "Save file as..."
+msgstr ""
+
+#: tfmain.saveselectiondialog.title
+msgctxt "tfmain.saveselectiondialog.title"
+msgid "Save selection as..."
+msgstr ""
+
+#: tfmain.selectionhorizontalflip.hint
+msgid "Flip selection horizontally"
+msgstr ""
+
+#: tfmain.selectionverticalflip.hint
+msgid "Flip selection vertically"
+msgstr ""
+
+#: tfmain.spinedit_arrowsizex.hint
+msgid "Horizontal size of the arrow"
+msgstr ""
+
+#: tfmain.spinedit_arrowsizey.hint
+msgid "Vertical size of the arrow"
+msgstr ""
+
+#: tfmain.spinedit_brushspacing.hint
+msgid "Spacing between patterns"
+msgstr ""
+
+#: tfmain.spinedit_eraser.hint
+msgid "Eraser opacity"
+msgstr ""
+
+#: tfmain.spinedit_penwidth.hint
+msgid "Pen width"
+msgstr ""
+
+#: tfmain.spinedit_phongbordersize.hint
+msgid "Border size"
+msgstr ""
+
+#: tfmain.spinedit_shapealtitude.hint
+msgid "Shape altitude"
+msgstr ""
+
+#: tfmain.spinedit_textblur.hint
+msgid "Shadow blur"
+msgstr ""
+
+#: tfmain.spinedit_textoutlinewidth.hint
+msgid "Text outline width"
+msgstr ""
+
+#: tfmain.spinedit_textshadowx.hint
+msgid "Horizontal shadow offset"
+msgstr ""
+
+#: tfmain.spinedit_textshadowy.hint
+msgid "Vertical shadow offset"
+msgstr ""
+
+#: tfmain.spinedit_textsize.hint
+msgid "Text size"
+msgstr ""
+
+#: tfmain.toolbrush.hint
+msgctxt "tfmain.toolbrush.hint"
+msgid "Brush"
+msgstr ""
+
+#: tfmain.toolchangedocking.hint
+msgid "Change docking"
+msgstr ""
+
+#: tfmain.toolclone.hint
+msgid "Clone tool"
+msgstr ""
+
+#: tfmain.toolcolorpicker.hint
+msgid "Color picker"
+msgstr ""
+
+#: tfmain.tooldeformation.caption
+msgid "Deformation"
+msgstr ""
+
+#: tfmain.tooldeformation.hint
+msgid "Deformation grid"
+msgstr ""
+
+#: tfmain.tooleditshape.hint
+msgid "Edit shape"
+msgstr ""
+
+#: tfmain.toolellipse.hint
+msgid "Ellipse"
+msgstr ""
+
+#: tfmain.tooleraser.hint
+msgid "Eraser"
+msgstr ""
+
+#: tfmain.toolfloodfill.hint
+msgid "Floodfill"
+msgstr ""
+
+#: tfmain.toolgradient.caption
+msgid "Gradient"
+msgstr ""
+
+#: tfmain.toolgradient.hint
+msgid "Render gradient"
+msgstr ""
+
+#: tfmain.toolhand.caption
+msgid "Hand"
+msgstr ""
+
+#: tfmain.toolhand.hint
+msgid "Move and scroll picture"
+msgstr ""
+
+#: tfmain.toolhotspot.caption
+msgctxt "tfmain.toolhotspot.caption"
+msgid "Hot spot"
+msgstr ""
+
+#: tfmain.toolhotspot.hint
+msgid "Choose hot spot of a cursor"
+msgstr ""
+
+#: tfmain.toollayermapping.hint
+msgid "Layer perspective"
+msgstr ""
+
+#: tfmain.toolmagicwand.caption
+msgid "Magic wand"
+msgstr ""
+
+#: tfmain.toolmagicwand.hint
+msgid "Magic wand select"
+msgstr ""
+
+#: tfmain.toolmoveselection.hint
+msgid "Move selection"
+msgstr ""
+
+#: tfmain.toolopenedcurve.hint
+msgid "Opened curve"
+msgstr ""
+
+#: tfmain.toolpen.caption
+msgctxt "tfmain.toolpen.caption"
+msgid "Pen"
+msgstr ""
+
+#: tfmain.toolpen.hint
+msgid "Simple pen"
+msgstr ""
+
+#: tfmain.toolphong.hint
+msgid "Shaded shape"
+msgstr ""
+
+#: tfmain.toolpolygon.caption
+msgid "Polygon"
+msgstr ""
+
+#: tfmain.toolpolygon.hint
+msgid "Polygon or polyline"
+msgstr ""
+
+#: tfmain.toolpolyline.hint
+msgid "Polyline"
+msgstr ""
+
+#: tfmain.toolrect.hint
+msgctxt "tfmain.toolrect.hint"
+msgid "Rectangle"
+msgstr ""
+
+#: tfmain.toolrotateselection.hint
+msgid "Rotate selection"
+msgstr ""
+
+#: tfmain.toolselectellipse.hint
+msgid "Select ellipse"
+msgstr ""
+
+#: tfmain.toolselectpen.caption
+msgid "Selection pen"
+msgstr ""
+
+#: tfmain.toolselectpen.hint
+msgid "Draw selection with pen"
+msgstr ""
+
+#: tfmain.toolselectpoly.hint
+msgid "Select polygon"
+msgstr ""
+
+#: tfmain.toolselectrect.hint
+msgid "Select rectangle"
+msgstr ""
+
+#: tfmain.toolselectspline.hint
+msgid "Select curve"
+msgstr ""
+
+#: tfmain.toolspline.caption
+msgctxt "tfmain.toolspline.caption"
+msgid "Curve"
+msgstr ""
+
+#: tfmain.toolspline.hint
+msgctxt "tfmain.toolspline.hint"
+msgid "Curve"
+msgstr ""
+
+#: tfmain.tooltext.hint
+msgctxt "tfmain.tooltext.hint"
+msgid "Text"
+msgstr ""
+
+#: tfmain.tooltexturemapping.hint
+msgctxt "tfmain.tooltexturemapping.hint"
+msgid "Texture mapping"
+msgstr ""
+
+#: tfmain.tool_aliasing.hint
+msgid "Disable antialiasing"
+msgstr ""
+
+#: tfmain.tool_capflat.hint
+msgid "Flat cap"
+msgstr ""
+
+#: tfmain.tool_capround.hint
+msgid "Round cap"
+msgstr ""
+
+#: tfmain.tool_capsquare.hint
+msgid "Square cap"
+msgstr ""
+
+#: tfmain.tool_closeshape.hint
+msgid "Close shape"
+msgstr ""
+
+#: tfmain.tool_curvemodeangle.hint
+msgid "Draw an angle"
+msgstr ""
+
+#: tfmain.tool_curvemodeauto.hint
+msgid "Autodetect angles"
+msgstr ""
+
+#: tfmain.tool_curvemodecurve.hint
+msgid "Draw a curve"
+msgstr ""
+
+#: tfmain.tool_curvemovepoint.hint
+msgid "Move point"
+msgstr ""
+
+#: tfmain.tool_drawshapeborder.hint
+msgid "Draw border"
+msgstr ""
+
+#: tfmain.tool_erasealpha.hint
+msgid "Make transparent"
+msgstr ""
+
+#: tfmain.tool_eraseblur.hint
+msgid "Soften"
+msgstr ""
+
+#: tfmain.tool_erasedarken.hint
+msgid "Darken"
+msgstr ""
+
+#: tfmain.tool_eraselighten.hint
+msgid "Lighten"
+msgstr ""
+
+#: tfmain.tool_erasesharpen.hint
+msgid "Sharpen"
+msgstr ""
+
+#: tfmain.tool_fillshape.hint
+msgid "Fill shape"
+msgstr ""
+
+#: tfmain.tool_gridmovewithoutdeformation.hint
+msgid "Move grid without deformation"
+msgstr ""
+
+#: tfmain.tool_joinbevel.hint
+msgid "Bevel join"
+msgstr ""
+
+#: tfmain.tool_joinmiter.hint
+msgid "Miter join"
+msgstr ""
+
+#: tfmain.tool_joinround.hint
+msgid "Round join"
+msgstr ""
+
+#: tfmain.tool_phongshapecone.hint
+msgid "Cone"
+msgstr ""
+
+#: tfmain.tool_phongshapehorizontalcylinder.hint
+msgid "Horizontal cylinder"
+msgstr ""
+
+#: tfmain.tool_phongshaperectangle.hint
+msgctxt "tfmain.tool_phongshaperectangle.hint"
+msgid "Rectangle"
+msgstr ""
+
+#: tfmain.tool_phongshaperoundrect.hint
+msgid "Rounded rectangle"
+msgstr ""
+
+#: tfmain.tool_phongshapesphere.hint
+msgctxt "tfmain.tool_phongshapesphere.hint"
+msgid "Sphere"
+msgstr ""
+
+#: tfmain.tool_phongshapeverticalcone.hint
+msgid "Vertical cone"
+msgstr ""
+
+#: tfmain.tool_phongshapeverticalcylinder.hint
+msgid "Vertical cylinder"
+msgstr ""
+
+#: tfmain.tool_progressivefloodfill.caption
+msgctxt "tfmain.tool_progressivefloodfill.caption"
+msgid "Progressive floodfill"
+msgstr ""
+
+#: tfmain.tool_progressivefloodfill.hint
+msgctxt "tfmain.tool_progressivefloodfill.hint"
+msgid "Progressive floodfill"
+msgstr ""
+
+#: tfmain.tool_textaligncenter.hint
+msgid "Center"
+msgstr ""
+
+#: tfmain.tool_textalignleft.hint
+msgid "Align left"
+msgstr ""
+
+#: tfmain.tool_textalignright.hint
+msgid "Align right"
+msgstr ""
+
+#: tfmain.tool_textfont.hint
+msgid "Choose font..."
+msgstr ""
+
+#: tfmain.tool_textoutline.hint
+msgctxt "tfmain.tool_textoutline.hint"
+msgid "Text outline"
+msgstr ""
+
+#: tfmain.tool_textphong.hint
+msgid "Text phong shading"
+msgstr ""
+
+#: tfmain.tool_textshadow.hint
+msgid "Text shadow"
+msgstr ""
+
+#: tfmain.viewcolors.caption
+msgctxt "tfmain.viewcolors.caption"
+msgid "Colors"
+msgstr ""
+
+#: tfmain.viewdarktheme.caption
+msgid "Dark theme"
+msgstr ""
+
+#: tfmain.viewgrid.caption
+msgctxt "tfmain.viewgrid.caption"
+msgid "Grid"
+msgstr ""
+
+#: tfmain.viewimagelist.caption
+msgid "Image list"
+msgstr ""
+
+#: tfmain.viewlayerstack.caption
+msgctxt "tfmain.viewlayerstack.caption"
+msgid "Layers"
+msgstr ""
+
+#: tfmain.viewlayerstackbutton.caption
+msgid "Show layers"
+msgstr ""
+
+#: tfmain.viewlayerstackbutton.hint
+msgid "Show or hide layer stack window"
+msgstr ""
+
+#: tfmain.viewpalette.caption
+msgid "Palette"
+msgstr ""
+
+#: tfmain.viewstatusbar.caption
+msgid "Status bar"
+msgstr ""
+
+#: tfmain.viewtoolbox.caption
+msgid "Toolbox"
+msgstr ""
+
+#: tfmain.viewworkspacecolor.caption
+msgid "Set workspace color..."
+msgstr ""
+
+#: tfmain.viewzoomfit.caption
+msgctxt "tfmain.viewzoomfit.caption"
+msgid "Zoom fit"
+msgstr ""
+
+#: tfmain.viewzoomfit.hint
+msgid "Zoom to fit in the window"
+msgstr ""
+
+#: tfmain.viewzoomin.hint
+msgid "Zoom in"
+msgstr ""
+
+#: tfmain.viewzoomoriginal.caption
+msgid "Original size"
+msgstr ""
+
+#: tfmain.viewzoomoriginal.hint
+msgid "Zoom to original pixel size"
+msgstr ""
+
+#: tfmain.viewzoomout.hint
+msgid "Zoom out"
+msgstr ""
+
+#: tfmotionblur.button_cancel.caption
+msgctxt "tfmotionblur.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfmotionblur.button_ok.caption
+msgctxt "tfmotionblur.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfmotionblur.caption
+msgid "Motion blur"
+msgstr ""
+
+#: tfmotionblur.checkbox_oriented.caption
+msgid "Oriented"
+msgstr ""
+
+#: tfmotionblur.label_distance.caption
+msgid "Distance :"
+msgstr ""
+
+#: tfmultiimage.button_cancel.caption
+msgctxt "tfmultiimage.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfmultiimage.button_ok.caption
+msgctxt "tfmultiimage.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfmultiimage.caption
+msgid "Choose image"
+msgstr ""
+
+#: tfnewimage.button_cancel.caption
+msgctxt "tfnewimage.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfnewimage.button_ok.caption
+msgctxt "tfnewimage.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfnewimage.caption
+msgctxt "tfnewimage.caption"
+msgid "New image"
+msgstr ""
+
+#: tfnewimage.combobox_bitdepth.text
+msgid "32"
+msgstr ""
+
+#: tfnewimage.label_bitdepth.caption
+msgid "Bit depth :"
+msgstr ""
+
+#: tfnewimage.label_height.caption
+msgctxt "tfnewimage.label_height.caption"
+msgid "Height :"
+msgstr ""
+
+#: tfnewimage.label_height1.caption
+msgid "Ratio :"
+msgstr ""
+
+#: tfnewimage.label_memoryrequired.caption
+msgid "Memory required :"
+msgstr ""
+
+#: tfnewimage.label_width.caption
+msgctxt "tfnewimage.label_width.caption"
+msgid "Width :"
+msgstr ""
+
+#: tfnoisefilter.button_cancel.caption
+msgctxt "tfnoisefilter.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfnoisefilter.button_ok.caption
+msgctxt "tfnoisefilter.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfnoisefilter.caption
+msgid "Noise filter"
+msgstr ""
+
+#: tfnoisefilter.label_opacity.caption
+msgid "Opacity:"
+msgstr ""
+
+#: tfnoisefilter.radio_grayscalenoise.caption
+msgid "Grayscale noise"
+msgstr ""
+
+#: tfnoisefilter.radio_rgbnoise.caption
+msgid "RGB noise"
+msgstr ""
+
+#: tfobject3d.button_cancel.caption
+msgctxt "tfobject3d.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfobject3d.button_loadtex.caption
+msgid "Texture..."
+msgstr ""
+
+#: tfobject3d.button_notex.caption
+msgid "No tex."
+msgstr ""
+
+#: tfobject3d.button_ok.caption
+msgctxt "tfobject3d.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfobject3d.caption
+msgid "3D object"
+msgstr ""
+
+#: tfobject3d.checkbox_antialiasing.caption
+msgid "Antialiasing"
+msgstr ""
+
+#: tfobject3d.checkbox_biface.caption
+msgid "2-sided faces"
+msgstr ""
+
+#: tfobject3d.checkbox_textureinterp.caption
+msgid "Texture interpolation"
+msgstr ""
+
+#: tfobject3d.groupbox_selectedlight.caption
+msgid "Selected light"
+msgstr ""
+
+#: tfobject3d.groupbox_selectedmaterial.caption
+msgid "Selected material"
+msgstr ""
+
+#: tfobject3d.label_color.caption
+msgctxt "tfobject3d.label_color.caption"
+msgid "Color :"
+msgstr ""
+
+#: tfobject3d.label_color1.caption
+msgctxt "tfobject3d.label_color1.caption"
+msgid "Color :"
+msgstr ""
+
+#: tfobject3d.label_height.caption
+msgctxt "tfobject3d.label_height.caption"
+msgid "Height :"
+msgstr ""
+
+#: tfobject3d.label_lightingnormals.caption
+msgid "Lighting normals :"
+msgstr ""
+
+#: tfobject3d.label_lights.caption
+msgid "Lights :"
+msgstr ""
+
+#: tfobject3d.label_materials.caption
+msgid "Materials :"
+msgstr ""
+
+#: tfobject3d.label_opacity.caption
+msgid "Opacity :"
+msgstr ""
+
+#: tfobject3d.label_specularindex.caption
+msgid "Spec. index :"
+msgstr ""
+
+#: tfobject3d.label_width.caption
+msgctxt "tfobject3d.label_width.caption"
+msgid "Width :"
+msgstr ""
+
+#: tfobject3d.label_zoom.caption
+msgid "Zoom"
+msgstr ""
+
+#: tfobject3d.lights.caption
+msgid "Lights"
+msgstr ""
+
+#: tfobject3d.materials.caption
+msgid "Materials"
+msgstr ""
+
+#: tfobject3d.opentexturedialog.title
+msgctxt "tfobject3d.opentexturedialog.title"
+msgid "Open texture"
+msgstr ""
+
+#: tfobject3d.rendering.caption
+msgid "Rendering"
+msgstr ""
+
+#: tfobject3d.tooladddirectional.hint
+msgid "Add a directional light"
+msgstr ""
+
+#: tfobject3d.toolpointlight.hint
+msgid "Add a point light"
+msgstr ""
+
+#: tfobject3d.toolremoveselectedlight.hint
+msgid "Remove selected light"
+msgstr ""
+
+#: tfphongfilter.button_cancel.caption
+msgctxt "tfphongfilter.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfphongfilter.button_ok.caption
+msgctxt "tfphongfilter.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfphongfilter.caption
+msgid "Shaded map"
+msgstr ""
+
+#: tfphongfilter.groupbox_color.caption
+msgctxt "tfphongfilter.groupbox_color.caption"
+msgid "Color"
+msgstr ""
+
+#: tfphongfilter.groupbox_color1.caption
+msgid "Altitude map"
+msgstr ""
+
+#: tfphongfilter.label_altitude.caption
+msgid "Global altitude :"
+msgstr ""
+
+#: tfphongfilter.label_lightposition.caption
+msgid "Light position :"
+msgstr ""
+
+#: tfphongfilter.radio_mapalpha.caption
+msgid "Alpha"
+msgstr ""
+
+#: tfphongfilter.radio_mapblue.caption
+msgid "B"
+msgstr ""
+
+#: tfphongfilter.radio_mapgreen.caption
+msgid "G"
+msgstr ""
+
+#: tfphongfilter.radio_maplightness.caption
+msgctxt "tfphongfilter.radio_maplightness.caption"
+msgid "Lightness"
+msgstr ""
+
+#: tfphongfilter.radio_maplinearlightness.caption
+msgid "Linear lightness"
+msgstr ""
+
+#: tfphongfilter.radio_mapred.caption
+msgid "R"
+msgstr ""
+
+#: tfphongfilter.radio_mapsaturation.caption
+msgctxt "tfphongfilter.radio_mapsaturation.caption"
+msgid "Saturation"
+msgstr ""
+
+#: tfphongfilter.radio_usebackcolor.caption
+msgid "Back color"
+msgstr ""
+
+#: tfphongfilter.radio_usekeep.caption
+msgid "Keep"
+msgstr ""
+
+#: tfphongfilter.radio_usepencolor.caption
+msgid "Pen color"
+msgstr ""
+
+#: tfphongfilter.radio_usetexture.caption
+msgid "Current texture"
+msgstr ""
+
+#: tfpixelate.button_cancel.caption
+msgctxt "tfpixelate.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfpixelate.button_ok.caption
+msgctxt "tfpixelate.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfpixelate.caption
+msgid "Pixelate"
+msgstr ""
+
+#: tfpixelate.label_pixelsize.caption
+msgid "Pixel size :"
+msgstr ""
+
+#: tfpixelate.label_quality.caption
+msgctxt "tfpixelate.label_quality.caption"
+msgid "Quality :"
+msgstr ""
+
+#: tfposterize.button_cancel.caption
+msgctxt "tfposterize.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfposterize.button_ok.caption
+msgctxt "tfposterize.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfposterize.caption
+msgctxt "tfposterize.caption"
+msgid "Posterize"
+msgstr ""
+
+#: tfposterize.checkbox_bylightness.caption
+msgid "By lightness"
+msgstr ""
+
+#: tfposterize.label_levels.caption
+msgid "Levels :"
+msgstr ""
+
+#: tfpreviewdialog.caption
+msgid "Preview"
+msgstr ""
+
+#: tfpreviewdialog.lstatus.caption
+msgctxt "tfpreviewdialog.lstatus.caption"
+msgid "."
+msgstr ""
+
+#: tfprint.button_configureprinter.caption
+msgid "Configure..."
+msgstr ""
+
+#: tfprint.button_print.caption
+msgid "Print!"
+msgstr ""
+
+#: tfprint.button_zoomfit.caption
+msgctxt "tfprint.button_zoomfit.caption"
+msgid "Zoom fit"
+msgstr ""
+
+#: tfprint.caption
+msgid "Print"
+msgstr ""
+
+#: tfprint.checkbox_ratio.caption
+msgctxt "tfprint.checkbox_ratio.caption"
+msgid "Keep aspect ratio"
+msgstr ""
+
+#: tfprint.groupbox_imagesize.caption
+msgid "Image size"
+msgstr ""
+
+#: tfprint.groupbox_margins.caption
+msgid "Margins"
+msgstr ""
+
+#: tfprint.label_bottom.caption
+msgid "Bottom:"
+msgstr ""
+
+#: tfprint.label_dpix.caption
+msgctxt "tfprint.label_dpix.caption"
+msgid "."
+msgstr ""
+
+#: tfprint.label_dpiy.caption
+msgctxt "tfprint.label_dpiy.caption"
+msgid "."
+msgstr ""
+
+#: tfprint.label_height.caption
+msgid "Height:"
+msgstr ""
+
+#: tfprint.label_left.caption
+msgid "Left:"
+msgstr ""
+
+#: tfprint.label_orientation.caption
+msgid "Orientation:"
+msgstr ""
+
+#: tfprint.label_printerandpaper.caption
+msgid "Printer and paper:"
+msgstr ""
+
+#: tfprint.label_right.caption
+msgid "Right:"
+msgstr ""
+
+#: tfprint.label_top.caption
+msgid "Top:"
+msgstr ""
+
+#: tfprint.label_width.caption
+msgid "Width:"
+msgstr ""
+
+#: tfquestion.caption
+msgid "Question"
+msgstr ""
+
+#: tfquestion.checkbox_rememberchoice.caption
+msgid "Remember this choice"
+msgstr ""
+
+#: tfquestion.label_message.caption
+msgctxt "tfquestion.label_message.caption"
+msgid "."
+msgstr ""
+
+#: tfradialblur.button_cancel.caption
+msgctxt "tfradialblur.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfradialblur.button_ok.caption
+msgctxt "tfradialblur.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfradialblur.caption
+msgctxt "tfradialblur.caption"
+msgid "Radial blur"
+msgstr ""
+
+#: tfradialblur.label_radius.caption
+msgctxt "tfradialblur.label_radius.caption"
+msgid "Radius :"
+msgstr ""
+
+#: tfrain.button_cancel.caption
+msgctxt "tfrain.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfrain.button_ok.caption
+msgctxt "tfrain.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfrain.caption
+msgid "Rain"
+msgstr ""
+
+#: tfrain.label_quantity.caption
+msgid "Quantity:"
+msgstr ""
+
+#: tfrain.label_wind.caption
+msgid "Wind :"
+msgstr ""
+
+#: tfresample.button_cancel.caption
+msgctxt "tfresample.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfresample.button_ok.caption
+msgctxt "tfresample.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfresample.caption
+msgid "Resample"
+msgstr ""
+
+#: tfresample.checkbox_ratio.caption
+msgctxt "tfresample.checkbox_ratio.caption"
+msgid "Keep aspect ratio"
+msgstr ""
+
+#: tfresample.label_height.caption
+msgctxt "tfresample.label_height.caption"
+msgid "Height :"
+msgstr ""
+
+#: tfresample.label_quality.caption
+msgctxt "tfresample.label_quality.caption"
+msgid "Quality :"
+msgstr ""
+
+#: tfresample.label_width.caption
+msgctxt "tfresample.label_width.caption"
+msgid "Width :"
+msgstr ""
+
+#: tfsaveoption.button_cancel.caption
+msgctxt "tfsaveoption.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfsaveoption.button_ok.caption
+msgctxt "tfsaveoption.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfsaveoption.caption
+msgctxt "tfsaveoption.caption"
+msgid "Save"
+msgstr ""
+
+#: tfsaveoption.checkbox_dithering.caption
+msgid "Dithering"
+msgstr ""
+
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
+#: tfsaveoption.label1.caption
+msgid "Quality:"
+msgstr ""
+
+#: tfsaveoption.label_0.caption
+msgid "0"
+msgstr ""
+
+#: tfsaveoption.label_1.caption
+msgid "100"
+msgstr ""
+
+#: tfsaveoption.label_50.caption
+msgid "50"
+msgstr ""
+
+#: tfsaveoption.label_colordepth.caption
+msgid "Color depth:"
+msgstr ""
+
+#: tfsaveoption.label_size.caption
+msgid "Size:"
+msgstr ""
+
+#: tfsaveoption.radiobutton_16colors.caption
+msgid "16 colors"
+msgstr ""
+
+#: tfsaveoption.radiobutton_24bitsperpixel.caption
+msgid "24 bits"
+msgstr ""
+
+#: tfsaveoption.radiobutton_256colors.caption
+msgid "256 colors"
+msgstr ""
+
+#: tfsaveoption.radiobutton_2colors.caption
+msgid "2 colors"
+msgstr ""
+
+#: tfsaveoption.radiobutton_32bitsperpixel.caption
+msgid "32 bits"
+msgstr ""
+
+#: tfsaveoption.radiobutton_miomap.caption
+msgid "MioMap"
+msgstr ""
+
+#: tfsharpen.button_cancel.caption
+msgctxt "tfsharpen.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfsharpen.button_ok.caption
+msgctxt "tfsharpen.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfsharpen.caption
+msgid "Sharpen/Smooth"
+msgstr ""
+
+#: tfsharpen.label_amount.caption
+msgid "Amount :"
+msgstr ""
+
+#: tfshiftcolors.button_cancel.caption
+msgctxt "tfshiftcolors.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfshiftcolors.button_ok.caption
+msgctxt "tfshiftcolors.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfshiftcolors.caption
+msgid "Shift colors"
+msgstr ""
+
+#: tfshiftcolors.checkbox_gsba.caption
+msgctxt "tfshiftcolors.checkbox_gsba.caption"
+msgid "Corrected hue and lightness"
+msgstr ""
+
+#: tfshiftcolors.label1.caption
+msgctxt "tfshiftcolors.label1.caption"
+msgid "Hue"
+msgstr ""
+
+#: tfshiftcolors.label2.caption
+msgctxt "tfshiftcolors.label2.caption"
+msgid "Saturation"
+msgstr ""
+
+#: tftoolbox.caption
+msgctxt "tftoolbox.caption"
+msgid "Tools"
+msgstr ""
+
+#: tftwirl.button_cancel.caption
+msgctxt "tftwirl.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tftwirl.button_ok.caption
+msgctxt "tftwirl.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tftwirl.caption
+msgid "Twirl"
+msgstr ""
+
+#: tftwirl.label_angle.caption
+msgid "Angle :"
+msgstr ""
+
+#: tftwirl.label_radius.caption
+msgctxt "tftwirl.label_radius.caption"
+msgid "Radius :"
+msgstr ""
+
+#: tfwavedisplacement.button_cancel.caption
+msgctxt "tfwavedisplacement.button_cancel.caption"
+msgid "Cancel"
+msgstr ""
+
+#: tfwavedisplacement.button_ok.caption
+msgctxt "tfwavedisplacement.button_ok.caption"
+msgid "OK"
+msgstr ""
+
+#: tfwavedisplacement.caption
+msgid "Wave displacement"
+msgstr ""
+
+#: tfwavedisplacement.label_displacement.caption
+msgid "Displacement :"
+msgstr ""
+
+#: tfwavedisplacement.label_phase.caption
+msgid "Phase :"
+msgstr ""
+
+#: tfwavedisplacement.label_wavelength.caption
+msgid "Wavelength :"
+msgstr ""
+
+#: uresourcestrings.rsactioninprogress
+msgid "Action in progress"
+msgstr ""
+
+#: uresourcestrings.rsaddtoimagelist
+msgid "Add files to the image processing list"
+msgstr ""
+
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr ""
+
+#: uresourcestrings.rsalignshape
+msgid "Align shape"
+msgstr ""
+
+#: uresourcestrings.rsallapplications
+msgid "all"
+msgstr ""
+
+#: uresourcestrings.rsallsupportedfiletypes
+msgid "All supported filetypes"
+msgstr ""
+
+#: uresourcestrings.rsalt
+msgid "ALT"
+msgstr ""
+
+#: uresourcestrings.rsanimatedgif
+msgid "Animated GIF"
+msgstr ""
+
+#: uresourcestrings.rsautodetect
+msgid "Autodetect"
+msgstr ""
+
+#: uresourcestrings.rsback
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr ""
+
+#: uresourcestrings.rsbackspaceremovelastpoint
+msgid "Press BACKSPACE to remove last point"
+msgstr ""
+
+#: uresourcestrings.rsbestquality
+msgid "Best quality"
+msgstr ""
+
+#: uresourcestrings.rsbitmap
+msgid "Bitmap"
+msgstr ""
+
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
+#: uresourcestrings.rsblendopnotusedforbackground
+msgid "The blend operation is applied only if there is a layer underneath"
+msgstr ""
+
+#: uresourcestrings.rsblue
+msgid "Blue"
+msgstr ""
+
+#: uresourcestrings.rsbrightness
+msgid "Brightness"
+msgstr ""
+
+#: uresourcestrings.rsbytes
+msgid "Bytes"
+msgstr ""
+
+#: uresourcestrings.rscancel
+msgctxt "uresourcestrings.rscancel"
+msgid "Cancel"
+msgstr ""
+
+#: uresourcestrings.rscancelledbyuser
+msgid "Cancelled by user"
+msgstr ""
+
+#: uresourcestrings.rscannotdrawshapeonsvglayer
+msgid "Cannot draw shape on SVG layer"
+msgstr ""
+
+#: uresourcestrings.rscannotopenfile
+msgid "Cannot open file"
+msgstr ""
+
+#: uresourcestrings.rscanvassize
+msgctxt "uresourcestrings.rscanvassize"
+msgid "Canvas size"
+msgstr ""
+
+#: uresourcestrings.rscdrom
+msgid "CD"
+msgstr ""
+
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
+#: uresourcestrings.rsclearpalette
+msgid "Clear palette"
+msgstr ""
+
+#: uresourcestrings.rscloserequest
+msgid "Close request"
+msgstr ""
+
+#: uresourcestrings.rscmd
+msgid "CMD"
+msgstr ""
+
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
+#: uresourcestrings.rscolors
+msgctxt "uresourcestrings.rscolors"
+msgid "Colors"
+msgstr ""
+
+#: uresourcestrings.rsconfirmdeletefromcontainer
+msgid "Are you sure you want to delete this file from the container?"
+msgstr ""
+
+#: uresourcestrings.rsconfirmdeletemultiplefromcontainer
+msgid "Are you sure you want to delete these %1 files from the container?"
+msgstr ""
+
+#: uresourcestrings.rsconfirmmovemultipletotrash
+msgid "Are you sure you want to move these %1 files to the trash?"
+msgstr ""
+
+#: uresourcestrings.rsconfirmmovetotrash
+msgid "Are you sure you want to move this file to the trash?"
+msgstr ""
+
+#: uresourcestrings.rsconflictingactions
+msgid "Conflicting actions"
+msgstr ""
+
+#: uresourcestrings.rscontrast
+msgid "Contrast"
+msgstr ""
+
+#: uresourcestrings.rscorrectedhueccw
+msgid "Corr. Hue CCW"
+msgstr ""
+
+#: uresourcestrings.rscorrectedhuecw
+msgid "Corr. Hue CW"
+msgstr ""
+
+#: uresourcestrings.rscosine
+msgid "Cosine"
+msgstr ""
+
+#: uresourcestrings.rscrop
+msgid "Crop"
+msgstr ""
+
+#: uresourcestrings.rsctrl
+msgid "CTRL"
+msgstr ""
+
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
+#: uresourcestrings.rscurvemodehint
+msgid "Press S or X to set the curve mode of the last point"
+msgstr ""
+
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
+#: uresourcestrings.rsdefaultpalette
+msgid "Default palette"
+msgstr ""
+
+#: uresourcestrings.rsdeletefile
+msgctxt "uresourcestrings.rsdeletefile"
+msgid "Delete"
+msgstr ""
+
+#: uresourcestrings.rsdeleteimageentry
+msgid "Delete selected image entry?"
+msgstr ""
+
+#: uresourcestrings.rsdirectorynotempty
+msgid "Directory is not empty"
+msgstr ""
+
+#: uresourcestrings.rsditherlayerusingpalette
+msgid "Dither layer using palette"
+msgstr ""
+
+#: uresourcestrings.rsdonate
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr ""
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr ""
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
+#: uresourcestrings.rsduplicateimage
+msgid "Duplicate image"
+msgstr ""
+
+#: uresourcestrings.rseditmask
+msgid "Edit mask"
+msgstr ""
+
+#: uresourcestrings.rseditselection
+msgid "Edit selection"
+msgstr ""
+
+#: uresourcestrings.rsedittexture
+msgid "Edit texture"
+msgstr ""
+
+#: uresourcestrings.rsemptylayer
+msgid "Layer is empty"
+msgstr ""
+
+#: uresourcestrings.rsemptyselection
+msgid "Selection is empty"
+msgstr ""
+
+#: uresourcestrings.rsendwithoutmatchingbegin
+msgid "End without matching begin"
+msgstr ""
+
+#: uresourcestrings.rsenterfolderorcontainername
+msgid "Enter name for new folder or container (using RES or LRS extension):"
+msgstr ""
+
+#: uresourcestrings.rsenterlayername
+msgid "Enter layer name:"
+msgstr ""
+
+#: uresourcestrings.rsentries
+msgid "Entries"
+msgstr ""
+
+#: uresourcestrings.rserror
+msgid "Error"
+msgstr ""
+
+#: uresourcestrings.rserrordecodingraw
+msgid "Error decoding raw image."
+msgstr ""
+
+#: uresourcestrings.rserrorloadingoriginal
+msgid "Error while loading original however layer can be rasterized."
+msgstr ""
+
+#: uresourcestrings.rserroronopeningfile
+msgid "Error on opening file \"%1\""
+msgstr ""
+
+#: uresourcestrings.rsexception
+msgid "An exception was encountered"
+msgstr ""
+
+#: uresourcestrings.rsexitrequest
+msgid "Exit request"
+msgstr ""
+
+#: uresourcestrings.rsexpect1parameter
+msgid "expects one parameter : "
+msgstr ""
+
+#: uresourcestrings.rsexpect2parameters
+msgid "expects two parameters : "
+msgstr ""
+
+#: uresourcestrings.rsexpectnparameters
+msgid "expects N parameters : "
+msgstr ""
+
+#: uresourcestrings.rsfast
+msgid "Fast"
+msgstr ""
+
+#: uresourcestrings.rsfilecannotbeempty
+msgid "File cannot be empty"
+msgstr ""
+
+#: uresourcestrings.rsfiledate
+msgid "Date"
+msgstr ""
+
+#: uresourcestrings.rsfileextensionnotsupported
+msgid "This file extension is not supported."
+msgstr ""
+
+#: uresourcestrings.rsfileformatnotrecognized
+msgid "The file format has not been recognized."
+msgstr ""
+
+#: uresourcestrings.rsfilename
+msgid "Filename"
+msgstr ""
+
+#: uresourcestrings.rsfilenotfound
+msgid "File not found!"
+msgstr ""
+
+#: uresourcestrings.rsfilenotsaved
+msgid "File not saved"
+msgstr ""
+
+#: uresourcestrings.rsfilesize
+msgid "Size"
+msgstr ""
+
+#: uresourcestrings.rsfilesystem
+msgid "File system"
+msgstr ""
+
+#: uresourcestrings.rsfiletype
+msgid "Type"
+msgstr ""
+
+#: uresourcestrings.rsfixeddrive
+msgid "Fixed"
+msgstr ""
+
+#: uresourcestrings.rsflattenimage
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr ""
+
+#: uresourcestrings.rsfolder
+msgid "Folder"
+msgstr ""
+
+#: uresourcestrings.rsfolderorcontaineralreadyexists
+msgid "Folder or container already exists."
+msgstr ""
+
+#: uresourcestrings.rsfollowingerrorsoccurred
+msgid "Following errors occurred:"
+msgstr ""
+
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
+#: uresourcestrings.rsframes
+msgid "Frames"
+msgstr ""
+
+#: uresourcestrings.rsfunctionnotdefined
+msgid "The function %1 is not defined."
+msgstr ""
+
+#: uresourcestrings.rsgreen
+msgid "Green"
+msgstr ""
+
+#: uresourcestrings.rshalfcosine
+msgid "Half-cosine"
+msgstr ""
+
+#: uresourcestrings.rsholdkeyforsquare
+msgid "Hold %1 to draw a square or a circle"
+msgstr ""
+
+#: uresourcestrings.rsholdkeyrestrictrotation
+msgid "Hold %1 to restrict rotation angle"
+msgstr ""
+
+#: uresourcestrings.rsholdkeysnaptopixel
+msgid "Hold %1 to snap to pixels"
+msgstr ""
+
+#: uresourcestrings.rsholdkeysscalemode
+msgid "Hold %1 or %2 to scale"
+msgstr ""
+
+#: uresourcestrings.rshotspot
+msgctxt "uresourcestrings.rshotspot"
+msgid "Hot spot"
+msgstr ""
+
+#: uresourcestrings.rshue
+msgctxt "uresourcestrings.rshue"
+msgid "Hue"
+msgstr ""
+
+#: uresourcestrings.rshueccw
+msgid "Hue CCW"
+msgstr ""
+
+#: uresourcestrings.rshuecw
+msgid "Hue CW"
+msgstr ""
+
+#: uresourcestrings.rsiconimagealreadyexists
+msgid "There is already an image with this size and depth."
+msgstr ""
+
+#: uresourcestrings.rsiconorcursor
+msgid "Icon/cursor"
+msgstr ""
+
+#: uresourcestrings.rsiconsize
+msgid "Icon size"
+msgstr ""
+
+#: uresourcestrings.rsimagetoobig
+msgid "Image is too big"
+msgstr ""
+
+#: uresourcestrings.rsinfinity
+msgid "Infinity"
+msgstr ""
+
+#: uresourcestrings.rsinformation
+msgid "Information"
+msgstr ""
+
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
+
+#: uresourcestrings.rsintensity
+msgctxt "uresourcestrings.rsintensity"
+msgid "Intensity"
+msgstr ""
+
+#: uresourcestrings.rsinternalerror
+msgid "Internal error"
+msgstr ""
+
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
+#: uresourcestrings.rsinvalidname
+msgid "Invalid name"
+msgstr ""
+
+#: uresourcestrings.rsinvalidopacity
+msgid "Invalid opacity : "
+msgstr ""
+
+#: uresourcestrings.rsinvalidparameters
+msgid "Invalid parameters"
+msgstr ""
+
+#: uresourcestrings.rsinvalidresamplesize
+msgid "Invalid resample size : "
+msgstr ""
+
+#: uresourcestrings.rsinvalidsizefornew
+msgid "Invalid size for new : "
+msgstr ""
+
+#: uresourcestrings.rskeepchanges
+msgid "Do you want to keep changes?"
+msgstr ""
+
+#: uresourcestrings.rskeepemptyspace
+msgid "Keep empty space around opaque pixels?"
+msgstr ""
+
+#: uresourcestrings.rslanczos
+msgid "Lanczos %1"
+msgstr ""
+
+#: uresourcestrings.rslandscape
+msgid "Landscape"
+msgstr ""
+
+#: uresourcestrings.rslatestversion
+msgid "The latest version of LazPaint available online is"
+msgstr ""
+
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgid "Layer"
+msgstr ""
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
+#: uresourcestrings.rslayeredimage
+msgid "Layered image"
+msgstr ""
+
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
+#: uresourcestrings.rslayers
+msgctxt "uresourcestrings.rslayers"
+msgid "Layers"
+msgstr ""
+
+#: uresourcestrings.rslazpaint
+msgctxt "uresourcestrings.rslazpaint"
+msgid "LazPaint"
+msgstr ""
+
+#: uresourcestrings.rslazpaintonly
+msgid "LazPaint only"
+msgstr ""
+
+#: uresourcestrings.rslight
+msgid "Light"
+msgstr ""
+
+#: uresourcestrings.rslightness
+msgctxt "uresourcestrings.rslightness"
+msgid "Lightness"
+msgstr ""
+
+#: uresourcestrings.rslightposition
+msgid "Light position"
+msgstr ""
+
+#: uresourcestrings.rslinear
+msgid "Linear"
+msgstr ""
+
+#: uresourcestrings.rslinearrgb
+msgid "Linear RGB"
+msgstr ""
+
+#: uresourcestrings.rsloadandmergepalette
+msgid "Load and merge palette..."
+msgstr ""
+
+#: uresourcestrings.rsloading
+msgid "Loading"
+msgstr ""
+
+#: uresourcestrings.rsloadpalette
+msgid "Load palette..."
+msgstr ""
+
+#: uresourcestrings.rsloopcount
+msgid "Loop count"
+msgstr ""
+
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
+#: uresourcestrings.rsmakencolorspalettefrombitmap
+msgid "Make %1-colors palette from image"
+msgstr ""
+
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
+#: uresourcestrings.rsmergeselection
+msgid "Do you want to merge selection?"
+msgstr ""
+
+#: uresourcestrings.rsmitchell
+msgid "Mitchell"
+msgstr ""
+
+#: uresourcestrings.rsmorethanonefile
+msgid "You are trying to open more than one file. How would you like these files to be opened?"
+msgstr ""
+
+#: uresourcestrings.rsmovingorrotatingselection
+msgid "Moving or rotating selection"
+msgstr ""
+
+#: uresourcestrings.rsmustreleaseselection
+msgid "You must first release the selection"
+msgstr ""
+
+#: uresourcestrings.rsmustshowlayer
+msgid "You must first make the layer visible"
+msgstr ""
+
+#: uresourcestrings.rsnetworkdrive
+msgid "Network"
+msgstr ""
+
+#: uresourcestrings.rsnewimage
+msgctxt "uresourcestrings.rsnewimage"
+msgid "New image"
+msgstr ""
+
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
+#: uresourcestrings.rsno
+msgid "No"
+msgstr ""
+
+#: uresourcestrings.rsnoactivelayer
+msgid "No active layer"
+msgstr ""
+
+#: uresourcestrings.rsnoactiveselection
+msgid "There is no active selection"
+msgstr ""
+
+#: uresourcestrings.rsnoandproceedtonext
+msgid "Do not save and open another file"
+msgstr ""
+
+#: uresourcestrings.rsnoname
+msgid "noname"
+msgstr ""
+
+#: uresourcestrings.rsnormalblendop
+msgid "Normal"
+msgstr ""
+
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
+#: uresourcestrings.rsnothingtobedeformed
+msgid "There is nothing to be deformed"
+msgstr ""
+
+#: uresourcestrings.rsnothingtoberetrieved
+msgid "There is nothing to be retrieved"
+msgstr ""
+
+#: uresourcestrings.rsnotreasonableformat
+msgid "It is not reasonable to save such a big image in this file format."
+msgstr ""
+
+#: uresourcestrings.rsnumber
+msgid "№"
+msgstr ""
+
+#: uresourcestrings.rsokay
+msgid "Okay"
+msgstr ""
+
+#: uresourcestrings.rsopacity
+msgid "Opacity"
+msgstr ""
+
+#: uresourcestrings.rsopen
+msgid "Open"
+msgstr ""
+
+#: uresourcestrings.rsopenfilesaslayers
+msgid "Open files as layers in a single image"
+msgstr ""
+
+#: uresourcestrings.rsopenfirstfileonly
+msgid "Open the first file only"
+msgstr ""
+
+#: uresourcestrings.rsopening
+msgid "Opening"
+msgstr ""
+
+#: uresourcestrings.rsopenmultipleimagefiles
+msgid "Open multiple image files"
+msgstr ""
+
+#: uresourcestrings.rsotherblendop
+msgid "Other..."
+msgstr ""
+
+#: uresourcestrings.rsoverwritefile
+msgid "File already exists. Do you want to overwrite it?"
+msgstr ""
+
+#: uresourcestrings.rspaletteincludesalphachannel
+msgid "Palette includes alpha channel"
+msgstr ""
+
+#: uresourcestrings.rspaletteoptions
+msgid "Palette options"
+msgstr ""
+
+#: uresourcestrings.rspen
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr ""
+
+#: uresourcestrings.rspercent
+msgctxt "uresourcestrings.rspercent"
+msgid "%"
+msgstr ""
+
+#: uresourcestrings.rsportait
+msgid "Portrait"
+msgstr ""
+
+#: uresourcestrings.rsposterizelayerusingpalette
+msgid "Posterize layer using palette"
+msgstr ""
+
+#: uresourcestrings.rspresetname
+msgid "Preset name"
+msgstr ""
+
+#: uresourcestrings.rspx
+msgid "px"
+msgstr ""
+
+#: uresourcestrings.rspythonunexpectedversion
+msgid "Expected Python version %1 but %2 found."
+msgstr ""
+
+#: uresourcestrings.rsramdisk
+msgid "RAM disk"
+msgstr ""
+
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
+#: uresourcestrings.rsrecentdirectories
+msgid "Recent directories:"
+msgstr ""
+
+#: uresourcestrings.rsred
+msgid "Red"
+msgstr ""
+
+#: uresourcestrings.rsreload
+msgctxt "uresourcestrings.rsreload"
+msgid "Reload"
+msgstr ""
+
+#: uresourcestrings.rsreloadchanged
+msgid "Bitmap has been modified. Do you really want to reload?"
+msgstr ""
+
+#: uresourcestrings.rsremovabledrive
+msgid "Removable"
+msgstr ""
+
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr ""
+
+#: uresourcestrings.rsrender
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr ""
+
+#: uresourcestrings.rsrepeatimage
+msgctxt "uresourcestrings.rsrepeatimage"
+msgid "Repeat image"
+msgstr ""
+
+#: uresourcestrings.rsresamplingimage
+msgid "Resampling image..."
+msgstr ""
+
+#: uresourcestrings.rsretrieveselectedarea
+msgid "Do you want to retrieve selected area?"
+msgstr ""
+
+#: uresourcestrings.rsreturnvalides
+msgid "Press ENTER to validate"
+msgstr ""
+
+#: uresourcestrings.rsrgb
+msgctxt "uresourcestrings.rsrgb"
+msgid "RGB"
+msgstr ""
+
+#: uresourcestrings.rsrightclickforsource
+msgid "Use RIGHT click to define source"
+msgstr ""
+
+#: uresourcestrings.rssaturation
+msgctxt "uresourcestrings.rssaturation"
+msgid "Saturation"
+msgstr ""
+
+#: uresourcestrings.rssave
+msgctxt "uresourcestrings.rssave"
+msgid "Save"
+msgstr ""
+
+#: uresourcestrings.rssaveasbuttonhint
+msgid "Save with specified filename"
+msgstr ""
+
+#: uresourcestrings.rssavechanges
+msgid "Current bitmap has been modified. Do you want to save changes?"
+msgstr ""
+
+#: uresourcestrings.rssavepaletteas
+msgid "Save palette as..."
+msgstr ""
+
+#: uresourcestrings.rsscript
+msgctxt "uresourcestrings.rsscript"
+msgid "Script"
+msgstr ""
+
+#: uresourcestrings.rsselectblendoperation
+msgid "Select blend operation"
+msgstr ""
+
+#: uresourcestrings.rsshift
+msgid "SHIFT"
+msgstr ""
+
+#: uresourcestrings.rsshowpalette
+msgctxt "uresourcestrings.rsshowpalette"
+msgid "Show palette"
+msgstr ""
+
+#: uresourcestrings.rssourceposition
+msgid "Source position"
+msgstr ""
+
+#: uresourcestrings.rsspline
+msgid "Spline"
+msgstr ""
+
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
+#: uresourcestrings.rsstoragedevice
+msgid "Device"
+msgstr ""
+
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr ""
+
+#: uresourcestrings.rstexturemapping
+msgctxt "uresourcestrings.rstexturemapping"
+msgid "Texture mapping"
+msgstr ""
+
+#: uresourcestrings.rstherearenocheckeditems
+msgid "There are no checked items. Check some items or add some new ones."
+msgstr ""
+
+#: uresourcestrings.rsthereisnofilenamegivenforthisfileusesaveas
+msgid "There is no file name given for this file. Use \"Save as...\" from the main menu."
+msgstr ""
+
+#: uresourcestrings.rstodo
+msgid "To do"
+msgstr ""
+
+#: uresourcestrings.rstodoimages
+msgid "Images left: %1"
+msgstr ""
+
+#: uresourcestrings.rstooloninvisiblelayer
+msgid "Tool cannot be used on an invisible layer"
+msgstr ""
+
+#: uresourcestrings.rstoomanyactions
+msgid "Too many actions"
+msgstr ""
+
+#: uresourcestrings.rstoomanylayers
+msgid "Too many layers"
+msgstr ""
+
+#: uresourcestrings.rstoomanyshapesinlayer
+msgid "Too many shapes in layer"
+msgstr ""
+
+#: uresourcestrings.rstotalimages
+msgid "Total images: %1"
+msgstr ""
+
+#: uresourcestrings.rstransferselectiontootherlayer
+msgid "Transfer selection to other layer?"
+msgstr ""
+
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
+#: uresourcestrings.rstransformselectioncontent
+msgid "Do you want to transform content of the selection?"
+msgstr ""
+
+#: uresourcestrings.rsunabletoapplyfilter
+msgid "Unable to apply filter : "
+msgstr ""
+
+#: uresourcestrings.rsunabletoloadfile
+msgid "Unable to load file : "
+msgstr ""
+
+#: uresourcestrings.rsunabletosavefile
+msgid "Unable to save file : "
+msgstr ""
+
+#: uresourcestrings.rsunknowncommand
+msgid "Unknown command : "
+msgstr ""
+
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
+#: uresourcestrings.rsyes
+msgid "Yes"
+msgstr ""
+
+#: uresourcestrings.rszoomlayerstackin
+msgid "Zoom layer stack in"
+msgstr ""
+
+#: uresourcestrings.rszoomlayerstackout
+msgid "Zoom layer stack out"
+msgstr ""
+

+ 203 - 39
lazpaint/release/bin/i18n/lazpaint.pt_BR.po

@@ -12,6 +12,7 @@ msgstr ""
 "X-Generator: Poedit 1.5.4\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "O procedimento %s falhou ao carregar corretamente."
 
@@ -241,23 +242,11 @@ msgctxt "TFCANVASSIZE.LABEL_WIDTH.CAPTION"
 msgid "Width :"
 msgstr "Largura :"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Adicionar cor à paleta"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Remover a cor da paleta"
-
 #: tfchoosecolor.caption
 msgctxt "TFCHOOSECOLOR.CAPTION"
 msgid "Color"
 msgstr "Cor"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Descrição Cor: clique para digitar uma cor com o teclado usando nomes de cores ou a notação CSS."
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -395,11 +384,21 @@ msgctxt "TFFILTERFUNCTION.CHECKBOX_GSBA.CAPTION"
 msgid "Corrected hue and lightness"
 msgstr "Corrigida a tonalidade e luminosidade"
 
+#: tffilterfunction.label_aequals.caption
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr ""
 
+#: tffilterfunction.label_bequals.caption
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -415,6 +414,11 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr ""
 
+#: tffilterfunction.label_lequals.caption
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr ""
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -438,6 +442,10 @@ msgstr "Variáveis :"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -582,21 +590,6 @@ msgctxt "TFLAYERSTACK.CAPTION"
 msgid "Layers"
 msgstr "Camadas"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Selecione a operação de mesclagem"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Aumentar Zoom na camada"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Diminuir Zoom na Camada"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -616,6 +609,12 @@ msgstr "Carregar pincel do arquivo ..."
 msgid "Remove current brush"
 msgstr "Remover pincel atual"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Doar..."
+
 #: tfmain.caption
 msgctxt "TFMAIN.CAPTION"
 msgid "LazPaint"
@@ -808,6 +807,7 @@ msgid "Choose entry within file"
 msgstr "Escolha a entrada no arquivo"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Exportar..."
 
@@ -1057,6 +1057,7 @@ msgid "Fill background with antialiasing"
 msgstr "Preencher o fundo com suavização"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Achatar imagem"
 
@@ -1092,6 +1093,10 @@ msgstr "Redimensionar..."
 msgid "Resample image"
 msgstr "Redimensionar imagem"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Girar 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Girar 90° CCW"
@@ -1100,10 +1105,6 @@ msgstr "Girar 90° CCW"
 msgid "Rotate 90° CW"
 msgstr "Girar 90° CW"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Girar 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Zoom inteligente x3"
@@ -1158,6 +1159,7 @@ msgid "Altitude"
 msgstr "Altura"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Fundo"
 
@@ -1275,6 +1277,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Duplicar camada selecionada"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Exportar..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "TFMAIN.LAYERFROMFILE.HINT"
 msgid "Import layer from file..."
@@ -2577,6 +2585,10 @@ msgstr "Salvar"
 msgid "Dithering"
 msgstr "Pontilhamento"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Qualidade:"
@@ -2741,6 +2753,10 @@ msgstr "Ação em progresso"
 msgid "Add files to the image processing list"
 msgstr "Adicionar arquivos à lista de processamento de imagens"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Adicionar cor à paleta"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Alinhar forma"
@@ -2765,6 +2781,12 @@ msgstr "GIF Animado"
 msgid "Autodetect"
 msgstr "Detecção automática"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Fundo"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Pressione a tecla BACKSPACE para remover último ponto"
@@ -2777,6 +2799,10 @@ msgstr "Melhor qualidade"
 msgid "Bitmap"
 msgstr "Bitmap"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "A operação de mesclagem é aplicada apenas se houver uma camada debaixo"
@@ -2819,6 +2845,10 @@ msgstr "Tamanho da Tela da Imagem"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Limpar paleta"
@@ -2831,6 +2861,10 @@ msgstr "Solicitação de fechar"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2882,10 +2916,18 @@ msgstr "Cortar"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Pressione S ou X para definir o modo de curva do último ponto"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Paleta padrão"
@@ -2907,6 +2949,20 @@ msgstr "O diretório não está vazio"
 msgid "Dither layer using palette"
 msgstr "Pontilhe a camada usando a paleta"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Doar..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Baixar"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Duplicar imagem"
@@ -3031,6 +3087,12 @@ msgstr "Tipo"
 msgid "Fixed"
 msgstr "Fixa"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Achatar imagem"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Pasta"
@@ -3043,6 +3105,10 @@ msgstr "Pasta ou contêiner já existe."
 msgid "Following errors occurred:"
 msgstr "Ocorreram os seguintes erros:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Quadros"
@@ -3121,9 +3187,13 @@ msgstr "Infinidade"
 msgid "Information"
 msgstr "informações"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Baixar"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3134,6 +3204,10 @@ msgstr "Intensidade"
 msgid "Internal error"
 msgstr "Erro interno"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Nome inválido"
@@ -3174,20 +3248,32 @@ msgstr "Paisagem"
 msgid "The latest version of LazPaint available online is"
 msgstr "A última versão do LazPaint disponível on-line é"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Camada"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Imagem em camadas"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Camadas"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Camada"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3234,10 +3320,30 @@ msgstr "Carregar paleta..."
 msgid "Loop count"
 msgstr "Contagem de ciclo"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Faça paleta de %1 cores da imagem"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Você deseja mesclar a seleção?"
@@ -3271,6 +3377,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Nova imagem"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Não"
@@ -3295,6 +3405,10 @@ msgstr "nenhum nome"
 msgid "Normal"
 msgstr "Normal"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "Não há nada a ser distorcido"
@@ -3355,6 +3469,12 @@ msgstr "Paleta inclui canal alfa"
 msgid "Palette options"
 msgstr "Opções de paleta"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Caneta"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3409,6 +3529,16 @@ msgstr "Bitmap foi modificado. Você realmente deseja recarregar?"
 msgid "Removable"
 msgstr "Amovível"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Remover a cor da paleta"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Renderização"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3488,10 +3618,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Ranhura"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Dispositivo"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Contorno de texto"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3569,6 +3721,18 @@ msgstr "Original desconhecido"
 msgid "Vectorial layer"
 msgstr "Camada de vetor"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Sim"

+ 199 - 33
lazpaint/release/bin/i18n/lazpaint.ru.po

@@ -10,6 +10,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "Процедуру %s не удалось загрузить правильно."
 
@@ -247,10 +248,6 @@ msgctxt "TFCHOOSECOLOR.CAPTION"
 msgid "Color"
 msgstr "Цвет"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Описание цвета: нажмите, чтобы ввести цвет с клавиатуры, используя названия цветов или обозначения CSS."
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -388,11 +385,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Исправлять оттенок и яркость"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -408,6 +417,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -431,6 +446,10 @@ msgstr "Переменные :"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -575,21 +594,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Слои"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Выбрать операцию наложения"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Увеличить размер стопки слоев"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Уменьшить размер стопки слоев"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -609,6 +613,12 @@ msgstr "Загрузить кисть из файла..."
 msgid "Remove current brush"
 msgstr "Удалить текущую кисть"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Пожертвования ..."
+
 #: tfmain.caption
 msgctxt "TFMAIN.CAPTION"
 msgid "LazPaint"
@@ -800,6 +810,7 @@ msgid "Choose entry within file"
 msgstr "Выбрать запись в файле..."
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Экспорт..."
 
@@ -1049,6 +1060,7 @@ msgid "Fill background with antialiasing"
 msgstr "Заполнить фон со сглаживанием"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Свести изображение"
 
@@ -1084,6 +1096,10 @@ msgstr "Интерполяция..."
 msgid "Resample image"
 msgstr "Интерполяция изображения"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Поворот на 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Поворот на 90° против часовой стрелки"
@@ -1092,10 +1108,6 @@ msgstr "Поворот на 90° против часовой стрелки"
 msgid "Rotate 90° CW"
 msgstr "Поворот на 90° по часовой стрелке"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Поворот на 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Умное увеличение х3"
@@ -1150,6 +1162,7 @@ msgid "Altitude"
 msgstr "Альтитуда"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Назад"
 
@@ -1268,6 +1281,11 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Дублировать выделенный слой"
 
+#: tfmain.layerexport.hint
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr ""
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -2556,6 +2574,10 @@ msgstr "Сохранить"
 msgid "Dithering"
 msgstr "Дизеринг"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Качество:"
@@ -2741,6 +2763,12 @@ msgstr "Анимированный GIF"
 msgid "Autodetect"
 msgstr "Автоопределение"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Назад"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Нажать BACKSPACE для удаления последней точки"
@@ -2753,6 +2781,10 @@ msgstr "Лучшее качество"
 msgid "Bitmap"
 msgstr ""
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "Операция наложения применяется только в том случае, если ниже находится еще слой"
@@ -2795,6 +2827,10 @@ msgstr "Размер холста"
 msgid "CD"
 msgstr ""
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Очистить палитру"
@@ -2807,6 +2843,10 @@ msgstr "Закрыть вопрос"
 msgid "CMD"
 msgstr ""
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2858,10 +2898,18 @@ msgstr "Обрезать"
 msgid "CTRL"
 msgstr ""
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Нажать S или X, чтобы установить последнюю точку кривой"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Палитра по умолчанию"
@@ -2883,6 +2931,20 @@ msgstr "Каталог не пустой"
 msgid "Dither layer using palette"
 msgstr "Дизеринг слоя с использованием палитры"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Пожертвования ..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "скачать"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Дублировать изображение"
@@ -2897,7 +2959,7 @@ msgstr "Редактировать выделение"
 
 #: uresourcestrings.rsedittexture
 msgid "Edit texture"
-msgstr "Редактироватьтекстуру"
+msgstr "Редактировать текстуру"
 
 #: uresourcestrings.rsemptylayer
 msgid "Layer is empty"
@@ -3007,6 +3069,12 @@ msgstr "Тип"
 msgid "Fixed"
 msgstr "Исправлено"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Свести изображение"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Папка"
@@ -3019,6 +3087,10 @@ msgstr "Папка или контейнер уже существует."
 msgid "Following errors occurred:"
 msgstr "Произошли следующие ошибки:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Кадры"
@@ -3098,9 +3170,13 @@ msgstr "Бесконечно"
 msgid "Information"
 msgstr "Информация"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Загрузить"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3111,6 +3187,10 @@ msgstr "Интенсивность"
 msgid "Internal error"
 msgstr "Внутренняя ошибка"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Неверное имя"
@@ -3151,20 +3231,32 @@ msgstr "Ланшафт"
 msgid "The latest version of LazPaint available online is"
 msgstr "Последняя версия LazPaint доступна online"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Слой"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Многослойное изображение"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Слои"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Слой"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3176,7 +3268,7 @@ msgstr "Только LazPaint"
 
 #: uresourcestrings.rslight
 msgid "Light"
-msgstr "Свет"
+msgstr "Яркость"
 
 #: uresourcestrings.rslightness
 msgctxt "uresourcestrings.rslightness"
@@ -3211,10 +3303,30 @@ msgstr "Загрузить палитру..."
 msgid "Loop count"
 msgstr "Количество циклов"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Создать %1-цветную палитру из изображения"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Хотите объединить выделенные области?"
@@ -3248,6 +3360,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Новое изображение"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Нет"
@@ -3272,6 +3388,10 @@ msgstr "Без_имени"
 msgid "Normal"
 msgstr "Нормальное"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "Нечего деформировать"
@@ -3332,6 +3452,12 @@ msgstr "Включить альфа-канал в палитру"
 msgid "Palette options"
 msgstr "Параметры палитры"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Перо"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3386,6 +3512,12 @@ msgstr "Растровое изображение было изменено. В
 msgid "Removable"
 msgstr "Съемный"
 
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Визуализация"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3463,10 +3595,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Сплайн"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Устройство"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Текст плана"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3544,6 +3698,18 @@ msgstr "Неизвестный оригинал"
 msgid "Vectorial layer"
 msgstr "Векторный слой"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Да"

+ 228 - 50
lazpaint/release/bin/i18n/lazpaint.sv.po

@@ -2,6 +2,7 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "Procedur %s kunde inte laddas korrekt."
 
@@ -231,23 +232,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "Bredd :"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "Lägg till färg till palett"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "Ta bort färg från palett"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "Färg"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "Färgbeskrivning: klicka för att skriva in en färg med tangentbordet genom färgnamn eller CSS-notation"
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -385,40 +374,65 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "Korrigerad ton och ljusstyrka"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
+#, fuzzy
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
-msgstr ""
+msgstr "."
+
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
 
 #: tffilterfunction.label_blueequals.caption
+#, fuzzy
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
-msgstr ""
+msgstr "."
 
 #: tffilterfunction.label_greenequals.caption
+#, fuzzy
 msgctxt "tffilterfunction.label_greenequals.caption"
 msgid "."
-msgstr ""
+msgstr "."
 
 #: tffilterfunction.label_hueequals.caption
+#, fuzzy
 msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
-msgstr ""
+msgstr "."
+
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
 
 #: tffilterfunction.label_lightnessequals.caption
+#, fuzzy
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
-msgstr ""
+msgstr "."
 
 #: tffilterfunction.label_redequals.caption
+#, fuzzy
 msgctxt "tffilterfunction.label_redequals.caption"
 msgid "."
-msgstr ""
+msgstr "."
 
 #: tffilterfunction.label_saturationequals.caption
+#, fuzzy
 msgctxt "tffilterfunction.label_saturationequals.caption"
 msgid "."
-msgstr ""
+msgstr "."
 
 #: tffilterfunction.label_variables.caption
 msgid "Variables :"
@@ -428,6 +442,10 @@ msgstr "Variabler:"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -572,21 +590,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "Lager"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "Välj blandningsläge"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "Zooma in lagerlista"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "Zooma ut lagerlista"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -606,6 +609,12 @@ msgstr "Ladda pensel från fil..."
 msgid "Remove current brush"
 msgstr "Ta bort aktuell pensel"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "Donera..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -798,6 +807,7 @@ msgid "Choose entry within file"
 msgstr "Välj post i fil"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "Exportera..."
 
@@ -1047,6 +1057,7 @@ msgid "Fill background with antialiasing"
 msgstr "Fyll bakgrund med kantutjämning"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "Platta till bild"
 
@@ -1082,6 +1093,10 @@ msgstr "Resampla..."
 msgid "Resample image"
 msgstr "Resampla bild"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "Rotera 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "Rotera 90° moturs"
@@ -1090,10 +1105,6 @@ msgstr "Rotera 90° moturs"
 msgid "Rotate 90° CW"
 msgstr "Rotera 90° medurs"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "Rotera 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "Smart zoom x3"
@@ -1148,6 +1159,7 @@ msgid "Altitude"
 msgstr "Altitud"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "Bakåt"
 
@@ -1267,6 +1279,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "Dubblera valt lager"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "Exportera..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -2373,9 +2391,10 @@ msgid "Preview"
 msgstr "Förhandsvisning"
 
 #: tfpreviewdialog.lstatus.caption
+#, fuzzy
 msgctxt "tfpreviewdialog.lstatus.caption"
 msgid "."
-msgstr ""
+msgstr "."
 
 #: tfprint.button_configureprinter.caption
 msgid "Configure..."
@@ -2412,14 +2431,16 @@ msgid "Bottom:"
 msgstr "Undersidan:"
 
 #: tfprint.label_dpix.caption
+#, fuzzy
 msgctxt "tfprint.label_dpix.caption"
 msgid "."
-msgstr ""
+msgstr "."
 
 #: tfprint.label_dpiy.caption
+#, fuzzy
 msgctxt "tfprint.label_dpiy.caption"
 msgid "."
-msgstr ""
+msgstr "."
 
 #: tfprint.label_height.caption
 msgid "Height:"
@@ -2458,9 +2479,10 @@ msgid "Remember this choice"
 msgstr "Kom ihåg det här valet"
 
 #: tfquestion.label_message.caption
+#, fuzzy
 msgctxt "tfquestion.label_message.caption"
 msgid "."
-msgstr ""
+msgstr "."
 
 #: tfradialblur.button_cancel.caption
 msgctxt "TFRADIALBLUR.BUTTON_CANCEL.CAPTION"
@@ -2558,6 +2580,10 @@ msgstr "Spara"
 msgid "Dithering"
 msgstr "Ditrering"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "Kvalitet:"
@@ -2719,6 +2745,10 @@ msgstr "Åtgärd utförs"
 msgid "Add files to the image processing list"
 msgstr "Lägg till filer i bildbehandlingslistan"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "Lägg till färg till palett"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "Justera figur"
@@ -2743,6 +2773,12 @@ msgstr "Animerad GIF"
 msgid "Autodetect"
 msgstr "Upptäck automatiskt"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "Bakåt"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "Tryck BACKSPACE för att ta bort senaste punkten"
@@ -2755,6 +2791,10 @@ msgstr "Bästa kvalitet"
 msgid "Bitmap"
 msgstr "Bitmap"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "Blandningsläget används bara om det finns ett lager under"
@@ -2797,6 +2837,10 @@ msgstr "Storlek på rityta"
 msgid "CD"
 msgstr "CD"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "Rensa palett"
@@ -2809,6 +2853,10 @@ msgstr "Stäng förfrågan"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2860,10 +2908,18 @@ msgstr "Beskär"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "Tryck S eller X för att sätta den sista punktens banläge"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "Ursprunglig palett"
@@ -2885,6 +2941,20 @@ msgstr "Mappen är inte tom"
 msgid "Dither layer using palette"
 msgstr "Ditrera lager med aktiv palett"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "Donera..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "Ladda ner"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "Dubblera bilden"
@@ -3009,6 +3079,12 @@ msgstr "Typ"
 msgid "Fixed"
 msgstr "Fast"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "Platta till bild"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "Mapp"
@@ -3021,6 +3097,10 @@ msgstr "Mappen eller behållaren finns redan."
 msgid "Following errors occurred:"
 msgstr "Följande fel har inträffat:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "Bildrutor"
@@ -3099,9 +3179,13 @@ msgstr "Oändlig"
 msgid "Information"
 msgstr "Information"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "Ladda ner"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3112,6 +3196,10 @@ msgstr "Intensitet"
 msgid "Internal error"
 msgstr "Internt fel"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "Ogiltigt namn"
@@ -3152,20 +3240,32 @@ msgstr "Landskap"
 msgid "The latest version of LazPaint available online is"
 msgstr "Senaste versionen av LazPaint som finns tillgänglig online är"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "Lager"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "Bild med lager"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "Lager"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "Lager"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3212,10 +3312,30 @@ msgstr "Läs in palett..."
 msgid "Loop count"
 msgstr "Antal upprepningar"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "Skapa %1-färgers palett från bilden"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "Vill du sammanfoga urval?"
@@ -3249,6 +3369,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "Ny bild"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "Nej"
@@ -3273,6 +3397,10 @@ msgstr "ingetnamn"
 msgid "Normal"
 msgstr "Normal"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgid "There is nothing to be deformed"
 msgstr "Det finns inget att förvränga"
@@ -3333,6 +3461,12 @@ msgstr "Paletten innehåller en alfakanal"
 msgid "Palette options"
 msgstr "Alternativ för palett"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "Penna"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3387,6 +3521,16 @@ msgstr "Bitmap har ändrats. Vill du verkligen ladda om?"
 msgid "Removable"
 msgstr "Löstagbar"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "Ta bort färg från palett"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "Rendera"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3464,10 +3608,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "Spline"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "Enhet"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "Textkontur"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3545,6 +3711,18 @@ msgstr "Okänt original"
 msgid "Vectorial layer"
 msgstr "Vektorlager"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "Ja"

+ 207 - 39
lazpaint/release/bin/i18n/lazpaint.zh_CN.po

@@ -12,6 +12,7 @@ msgstr ""
 "X-Generator: Poedit 2.3\n"
 
 #: tablet.getprocfailed
+#, object-pascal-format
 msgid "Procedure %s failed to load properly."
 msgstr "过程 %s 无法正确加载。"
 
@@ -241,23 +242,11 @@ msgctxt "tfcanvassize.label_width.caption"
 msgid "Width :"
 msgstr "宽度 :"
 
-#: uresourcestrings.rsaddtopalette
-msgid "Add color to palette"
-msgstr "向调色板添加颜色"
-
-#: uresourcestrings.rsremovefrompalette
-msgid "Remove color from palette"
-msgstr "从调色板中删除颜色"
-
 #: tfchoosecolor.caption
 msgctxt "tfchoosecolor.caption"
 msgid "Color"
 msgstr "颜色"
 
-#: tfchoosecolor.lcolor.hint
-msgid "Color description: click to type in a color with the keyboard using color names or CSS notation."
-msgstr "颜色说明:单击以键入颜色名称或 CSS 表示。"
-
 #: tfcolorintensity.button_cancel.caption
 msgctxt "TFCOLORINTENSITY.BUTTON_CANCEL.CAPTION"
 msgid "Cancel"
@@ -395,11 +384,23 @@ msgctxt "tffilterfunction.checkbox_gsba.caption"
 msgid "Corrected hue and lightness"
 msgstr "修正色调和亮度"
 
+#: tffilterfunction.label_aequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_aequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_alphaequals.caption
 msgctxt "tffilterfunction.label_alphaequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_bequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_bequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_blueequals.caption
 msgctxt "tffilterfunction.label_blueequals.caption"
 msgid "."
@@ -415,6 +416,12 @@ msgctxt "tffilterfunction.label_hueequals.caption"
 msgid "."
 msgstr "."
 
+#: tffilterfunction.label_lequals.caption
+#, fuzzy
+msgctxt "tffilterfunction.label_lequals.caption"
+msgid "."
+msgstr "."
+
 #: tffilterfunction.label_lightnessequals.caption
 msgctxt "tffilterfunction.label_lightnessequals.caption"
 msgid "."
@@ -438,6 +445,10 @@ msgstr "变量 :"
 msgid "HSL"
 msgstr "HSL"
 
+#: tffilterfunction.tabsheet_lab.caption
+msgid "Lab"
+msgstr ""
+
 #: tffilterfunction.tabsheet_rgb.caption
 msgctxt "tffilterfunction.tabsheet_rgb.caption"
 msgid "RGB"
@@ -582,21 +593,6 @@ msgctxt "tflayerstack.caption"
 msgid "Layers"
 msgstr "图层"
 
-#: tflayerstack.toolblendop.hint
-msgctxt "tflayerstack.toolblendop.hint"
-msgid "Select blend operation"
-msgstr "选择混合操作"
-
-#: tflayerstack.toolzoomlayerstackin.hint
-msgctxt "tflayerstack.toolzoomlayerstackin.hint"
-msgid "Zoom layer stack in"
-msgstr "将图层堆栈放大"
-
-#: tflayerstack.toolzoomlayerstackout.hint
-msgctxt "tflayerstack.toolzoomlayerstackout.hint"
-msgid "Zoom layer stack out"
-msgstr "将图层堆栈缩小"
-
 #: tfloading.caption
 msgctxt "tfloading.caption"
 msgid "Loading..."
@@ -616,6 +612,12 @@ msgstr "从文件加载画笔..."
 msgid "Remove current brush"
 msgstr "移除当前画笔"
 
+#: tfmain.button_donate.caption
+#, fuzzy
+msgctxt "tfmain.button_donate.caption"
+msgid "Donate..."
+msgstr "捐赠..."
+
 #: tfmain.caption
 msgctxt "tfmain.caption"
 msgid "LazPaint"
@@ -807,6 +809,7 @@ msgid "Choose entry within file"
 msgstr "选择文件中的条目"
 
 #: tfmain.fileexport.caption
+msgctxt "tfmain.fileexport.caption"
 msgid "Export..."
 msgstr "导出..."
 
@@ -1056,6 +1059,7 @@ msgid "Fill background with antialiasing"
 msgstr "使用防锯齿填充背景"
 
 #: tfmain.imageflatten.caption
+msgctxt "tfmain.imageflatten.caption"
 msgid "Flatten image"
 msgstr "拼合图像"
 
@@ -1091,6 +1095,10 @@ msgstr "重新采样..."
 msgid "Resample image"
 msgstr "重新采样图像"
 
+#: tfmain.imagerotate180.caption
+msgid "Rotate 180°"
+msgstr "旋转 180°"
+
 #: tfmain.imagerotateccw.caption
 msgid "Rotate 90° CCW"
 msgstr "逆时针旋转 90°"
@@ -1099,10 +1107,6 @@ msgstr "逆时针旋转 90°"
 msgid "Rotate 90° CW"
 msgstr "顺时针旋转 90°"
 
-#: tfmain.imagerotate180.caption
-msgid "Rotate 180°"
-msgstr "旋转 180°"
-
 #: tfmain.imagesmartzoom3.caption
 msgid "Smart zoom x3"
 msgstr "智能变焦 x3"
@@ -1157,6 +1161,7 @@ msgid "Altitude"
 msgstr "高度"
 
 #: tfmain.label_back.caption
+msgctxt "tfmain.label_back.caption"
 msgid "Back"
 msgstr "返回"
 
@@ -1274,6 +1279,12 @@ msgctxt "tfmain.layerduplicate.hint"
 msgid "Duplicate selected layer"
 msgstr "复制所选图层"
 
+#: tfmain.layerexport.hint
+#, fuzzy
+msgctxt "tfmain.layerexport.hint"
+msgid "Export..."
+msgstr "导出..."
+
 #: tfmain.layerfromfile.hint
 msgctxt "tfmain.layerfromfile.hint"
 msgid "Import layer from file..."
@@ -2565,6 +2576,10 @@ msgstr "保存"
 msgid "Dithering"
 msgstr "抖动"
 
+#: tfsaveoption.checkbox_lossless.caption
+msgid "Lossless"
+msgstr ""
+
 #: tfsaveoption.label1.caption
 msgid "Quality:"
 msgstr "品质:"
@@ -2726,6 +2741,10 @@ msgstr "操作正在进行中"
 msgid "Add files to the image processing list"
 msgstr "将文件添加到图像处理列表"
 
+#: uresourcestrings.rsaddtopalette
+msgid "Add color to palette"
+msgstr "向调色板添加颜色"
+
 #: uresourcestrings.rsalignshape
 msgid "Align shape"
 msgstr "对齐形状"
@@ -2750,6 +2769,12 @@ msgstr "动画 GIF"
 msgid "Autodetect"
 msgstr "自动检测"
 
+#: uresourcestrings.rsback
+#, fuzzy
+msgctxt "uresourcestrings.rsback"
+msgid "Back"
+msgstr "返回"
+
 #: uresourcestrings.rsbackspaceremovelastpoint
 msgid "Press BACKSPACE to remove last point"
 msgstr "按 \"BACKSPACE\" 删除最后一点"
@@ -2763,6 +2788,10 @@ msgstr "最佳品质"
 msgid "Bitmap"
 msgstr "位图"
 
+#: uresourcestrings.rsblack
+msgid "Black"
+msgstr ""
+
 #: uresourcestrings.rsblendopnotusedforbackground
 msgid "The blend operation is applied only if there is a layer underneath"
 msgstr "仅当下面有图层时,才会应用混合操作"
@@ -2805,6 +2834,10 @@ msgstr "画布大小"
 msgid "CD"
 msgstr "光盘"
 
+#: uresourcestrings.rschannels
+msgid "Channels"
+msgstr ""
+
 #: uresourcestrings.rsclearpalette
 msgid "Clear palette"
 msgstr "清除调色板"
@@ -2818,6 +2851,10 @@ msgstr "关闭请求"
 msgid "CMD"
 msgstr "CMD"
 
+#: uresourcestrings.rscoloroverlay
+msgid "Color overlay"
+msgstr ""
+
 #: uresourcestrings.rscolors
 msgctxt "uresourcestrings.rscolors"
 msgid "Colors"
@@ -2870,10 +2907,18 @@ msgstr "裁切"
 msgid "CTRL"
 msgstr "CTRL"
 
+#: uresourcestrings.rscurrentlayernotsplit
+msgid "Current layer is not split"
+msgstr ""
+
 #: uresourcestrings.rscurvemodehint
 msgid "Press S or X to set the curve mode of the last point"
 msgstr "按 ENTER 设置曲线最后一个点"
 
+#: uresourcestrings.rscyan
+msgid "Cyan"
+msgstr ""
+
 #: uresourcestrings.rsdefaultpalette
 msgid "Default palette"
 msgstr "默认调色板"
@@ -2895,6 +2940,20 @@ msgstr "目录不为空"
 msgid "Dither layer using palette"
 msgstr "使用调色板的抖动图层"
 
+#: uresourcestrings.rsdonate
+#, fuzzy
+msgctxt "uresourcestrings.rsdonate"
+msgid "Donate..."
+msgstr "捐赠..."
+
+#: uresourcestrings.rsdownload
+msgid "Download"
+msgstr "下载"
+
+#: uresourcestrings.rsdropshadow
+msgid "Drop shadow"
+msgstr ""
+
 #: uresourcestrings.rsduplicateimage
 msgid "Duplicate image"
 msgstr "重复图像"
@@ -3024,6 +3083,12 @@ msgstr "类型"
 msgid "Fixed"
 msgstr "固定"
 
+#: uresourcestrings.rsflattenimage
+#, fuzzy
+msgctxt "uresourcestrings.rsflattenimage"
+msgid "Flatten image"
+msgstr "拼合图像"
+
 #: uresourcestrings.rsfolder
 msgid "Folder"
 msgstr "文件夹"
@@ -3036,6 +3101,10 @@ msgstr "文件夹或容器已存在。"
 msgid "Following errors occurred:"
 msgstr "发生以下错误:"
 
+#: uresourcestrings.rsfractaltree
+msgid "Fractal tree"
+msgstr ""
+
 #: uresourcestrings.rsframes
 msgid "Frames"
 msgstr "帧"
@@ -3115,9 +3184,13 @@ msgstr "无限"
 msgid "Information"
 msgstr "信息"
 
-#: uresourcestrings.rsdownload
-msgid "Download"
-msgstr "下载"
+#: uresourcestrings.rsinnerlight
+msgid "Inner light"
+msgstr ""
+
+#: uresourcestrings.rsinnershadow
+msgid "Inner shadow"
+msgstr ""
 
 #: uresourcestrings.rsintensity
 msgctxt "uresourcestrings.rsintensity"
@@ -3128,6 +3201,10 @@ msgstr "强度"
 msgid "Internal error"
 msgstr "内部错误"
 
+#: uresourcestrings.rsinvalidangle
+msgid "Invalid angle"
+msgstr ""
+
 #: uresourcestrings.rsinvalidname
 msgid "Invalid name"
 msgstr "无效名称"
@@ -3169,20 +3246,32 @@ msgstr "景观"
 msgid "The latest version of LazPaint available online is"
 msgstr "最新 LazPaint 版本是"
 
+#: uresourcestrings.rslava
+msgid "Lava"
+msgstr ""
+
+#: uresourcestrings.rslayer
+msgctxt "uresourcestrings.rslayer"
+msgid "Layer"
+msgstr "层"
+
+#: uresourcestrings.rslayeralreadysplit
+msgid "Layer already split"
+msgstr ""
+
 #: uresourcestrings.rslayeredimage
 msgid "Layered image"
 msgstr "分层图像"
 
+#: uresourcestrings.rslayereffect
+msgid "Layer effect"
+msgstr ""
+
 #: uresourcestrings.rslayers
 msgctxt "uresourcestrings.rslayers"
 msgid "Layers"
 msgstr "图层"
 
-#: uresourcestrings.rslayer
-msgctxt "uresourcestrings.rslayer"
-msgid "Layer"
-msgstr "层"
-
 #: uresourcestrings.rslazpaint
 msgctxt "uresourcestrings.rslazpaint"
 msgid "LazPaint"
@@ -3231,10 +3320,30 @@ msgstr "加载调色板..."
 msgid "Loop count"
 msgstr "循环数量"
 
+#: uresourcestrings.rsmagenta
+msgid "Magenta"
+msgstr ""
+
+#: uresourcestrings.rsmakemonochromatic
+msgid "Make monochromatic"
+msgstr ""
+
 #: uresourcestrings.rsmakencolorspalettefrombitmap
 msgid "Make %1-colors palette from image"
 msgstr "从图像生成 %1 颜色调色板"
 
+#: uresourcestrings.rsmask
+msgid "Mask"
+msgstr ""
+
+#: uresourcestrings.rsmaskfromalphachannel
+msgid "Mask from alpha channel"
+msgstr ""
+
+#: uresourcestrings.rsmerge
+msgid "Merge"
+msgstr ""
+
 #: uresourcestrings.rsmergeselection
 msgid "Do you want to merge selection?"
 msgstr "是否要合并选区?"
@@ -3270,6 +3379,10 @@ msgctxt "uresourcestrings.rsnewimage"
 msgid "New image"
 msgstr "新图像"
 
+#: uresourcestrings.rsnewmask
+msgid "New mask"
+msgstr ""
+
 #: uresourcestrings.rsno
 msgid "No"
 msgstr "否"
@@ -3295,6 +3408,10 @@ msgstr "无名"
 msgid "Normal"
 msgstr "正常"
 
+#: uresourcestrings.rsnotchromaticchannel
+msgid "This is not a chromatic channel"
+msgstr ""
+
 #: uresourcestrings.rsnothingtobedeformed
 msgctxt "uresourcestrings.rsnothingtobedeformed"
 msgid "There is nothing to be deformed"
@@ -3358,6 +3475,12 @@ msgstr "调色板包含 Alpha 通道"
 msgid "Palette options"
 msgstr "调色板选项"
 
+#: uresourcestrings.rspen
+#, fuzzy
+msgctxt "uresourcestrings.rspen"
+msgid "Pen"
+msgstr "钢笔"
+
 #: uresourcestrings.rspercent
 msgctxt "uresourcestrings.rspercent"
 msgid "%"
@@ -3412,6 +3535,16 @@ msgstr "位图已被修改。您真的想重新加载吗?"
 msgid "Removable"
 msgstr "可移动"
 
+#: uresourcestrings.rsremovefrompalette
+msgid "Remove color from palette"
+msgstr "从调色板中删除颜色"
+
+#: uresourcestrings.rsrender
+#, fuzzy
+msgctxt "uresourcestrings.rsrender"
+msgid "Render"
+msgstr "渲染"
+
 #: uresourcestrings.rsrepeatimage
 msgctxt "uresourcestrings.rsrepeatimage"
 msgid "Repeat image"
@@ -3491,10 +3624,32 @@ msgctxt "uresourcestrings.rsspline"
 msgid "Spline"
 msgstr "插值"
 
+#: uresourcestrings.rssplitcmyk
+msgid "Split CMYK"
+msgstr ""
+
+#: uresourcestrings.rssplithsl
+msgid "Split HSL"
+msgstr ""
+
+#: uresourcestrings.rssplitrgb
+msgid "Split RGB"
+msgstr ""
+
 #: uresourcestrings.rsstoragedevice
 msgid "Device"
 msgstr "设备"
 
+#: uresourcestrings.rsstroke
+msgid "Stroke"
+msgstr ""
+
+#: uresourcestrings.rstextoutline
+#, fuzzy
+msgctxt "uresourcestrings.rstextoutline"
+msgid "Text outline"
+msgstr "文本发光"
+
 #: uresourcestrings.rstexturemapping
 msgctxt "uresourcestrings.rstexturemapping"
 msgid "Texture mapping"
@@ -3572,6 +3727,18 @@ msgstr "未知源"
 msgid "Vectorial layer"
 msgstr "矢量图层"
 
+#: uresourcestrings.rsversion
+msgid "Version"
+msgstr ""
+
+#: uresourcestrings.rsverticalsize
+msgid "Vertical size"
+msgstr ""
+
+#: uresourcestrings.rsyellow
+msgid "Yellow"
+msgstr ""
+
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgstr "是"
@@ -3585,3 +3752,4 @@ msgstr "将图层堆栈放大"
 msgctxt "uresourcestrings.rszoomlayerstackout"
 msgid "Zoom layer stack out"
 msgstr "将图层堆栈缩小"
+

+ 1431 - 1431
lazpaint/release/bin/i18n/lclstrconsts.it.po

@@ -1,1431 +1,1431 @@
-msgid ""
-msgstr ""
-"Last-Translator: Pietro Bua <[email protected]>\n"
-"PO-Revision-Date: 2009-11-29 13:59+0200\n"
-"Language-Team: italiano <[email protected]>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Project-Id-Version: 0.9.2\n"
-"MIME-Version: 1.0\n"
-
-#: lclstrconsts.hhshelpbrowsernotexecutable
-msgid "Browser %s%s%s not executable."
-msgstr "Il browser %s%s%s non è eseguibile."
-
-#: lclstrconsts.hhshelpbrowsernotfound
-msgid "Browser %s%s%s not found."
-msgstr "Il browser %s%s%s non è stato trovato."
-
-#: lclstrconsts.hhshelperrorwhileexecuting
-msgid "Error while executing %s%s%s:%s%s"
-msgstr "Errore eseguendo %s%s%s:%s%s"
-
-#: lclstrconsts.hhshelpnohtmlbrowserfound
-msgid "Unable to find a HTML browser."
-msgstr "Impossibile trovare un browser HTML"
-
-#: lclstrconsts.hhshelpnohtmlbrowserfoundpleasedefineoneinhelpconfigurehe
-msgid "No HTML Browser found.%sPlease define one in Environment -> Options -> Help -> Help Options"
-msgstr "Non è stato trovato nessun browser HTML.%sDefiniscine uno in Aiuto -> Configura l'aiuto -> Visualizzatori"
-
-#: lclstrconsts.hhshelpthehelpdatabasewasunabletofindfile
-msgid "The help database %s%s%s was unable to find file %s%s%s."
-msgstr "L'archivio dell'help %s%s%s non riesce a trovare il file %s%s%s."
-
-#: lclstrconsts.hhshelpthemacrosinbrowserparamswillbereplacedbytheurl
-msgid "The macro %s in BrowserParams will be replaced by the URL."
-msgstr "La macro  %s nei parametri del browser verrà sostituita dall'URL"
-
-#: lclstrconsts.ifsalt
-msgid "Alt"
-msgstr "Alt"
-
-#: lclstrconsts.ifsctrl
-msgid "Ctrl"
-msgstr "Ctrl"
-
-#: lclstrconsts.ifsvk_accept
-msgid "Accept"
-msgstr "Accetta"
-
-#: lclstrconsts.ifsvk_apps
-msgid "application key"
-msgstr "tasto applicazione"
-
-#: lclstrconsts.ifsvk_back
-msgid "Backspace"
-msgstr "Backspace"
-
-#: lclstrconsts.ifsvk_cancel
-msgctxt "lclstrconsts.ifsvk_cancel"
-msgid "Cancel"
-msgstr "Cancella"
-
-#: lclstrconsts.ifsvk_capital
-msgid "Capital"
-msgstr "Maiuscola"
-
-#: lclstrconsts.ifsvk_clear
-msgid "Clear"
-msgstr "Cancella"
-
-#: lclstrconsts.ifsvk_control
-msgid "Control"
-msgstr "Controllo"
-
-#: lclstrconsts.ifsvk_convert
-msgid "Convert"
-msgstr "Converti"
-
-#: lclstrconsts.ifsvk_delete
-msgctxt "lclstrconsts.ifsvk_delete"
-msgid "Delete"
-msgstr "Elimina"
-
-#: lclstrconsts.ifsvk_down
-msgctxt "lclstrconsts.ifsvk_down"
-msgid "Down"
-msgstr "Giù"
-
-#: lclstrconsts.ifsvk_end
-msgctxt "lclstrconsts.ifsvk_end"
-msgid "End"
-msgstr "Fine"
-
-#: lclstrconsts.ifsvk_escape
-msgid "Escape"
-msgstr "Escape"
-
-#: lclstrconsts.ifsvk_execute
-msgid "Execute"
-msgstr "Esegui"
-
-#: lclstrconsts.ifsvk_final
-msgid "Final"
-msgstr "Finale"
-
-#: lclstrconsts.ifsvk_hanja
-msgid "Hanja"
-msgstr "Hanja"
-
-#: lclstrconsts.ifsvk_help
-msgid "Help"
-msgstr "Aiuto"
-
-#: lclstrconsts.ifsvk_home
-msgctxt "lclstrconsts.ifsvk_home"
-msgid "Home"
-msgstr "Home"
-
-#: lclstrconsts.ifsvk_insert
-msgctxt "lclstrconsts.ifsvk_insert"
-msgid "Insert"
-msgstr "Inserisci"
-
-#: lclstrconsts.ifsvk_junja
-msgid "Junja"
-msgstr "Junja"
-
-#: lclstrconsts.ifsvk_kana
-msgid "Kana"
-msgstr "Kana"
-
-#: lclstrconsts.ifsvk_lbutton
-msgid "Mouse Button Left"
-msgstr "Tasto sinistro del mouse"
-
-#: lclstrconsts.ifsvk_left
-msgctxt "lclstrconsts.ifsvk_left"
-msgid "Left"
-msgstr "Sinistra"
-
-#: lclstrconsts.ifsvk_lwin
-msgid "left windows key"
-msgstr "tasto windows sinistro"
-
-#: lclstrconsts.ifsvk_mbutton
-msgid "Mouse Button Middle"
-msgstr "Tasto centrale del mouse"
-
-#: lclstrconsts.ifsvk_menu
-msgctxt "lclstrconsts.ifsvk_menu"
-msgid "Menu"
-msgstr "Menu"
-
-#: lclstrconsts.ifsvk_modechange
-msgid "Mode Change"
-msgstr "Cambiamento di modalità"
-
-#: lclstrconsts.ifsvk_next
-msgctxt "lclstrconsts.ifsvk_next"
-msgid "Next"
-msgstr "Successivo"
-
-#: lclstrconsts.ifsvk_nonconvert
-msgid "Nonconvert"
-msgstr "Nnoconvertire"
-
-#: lclstrconsts.ifsvk_numlock
-msgid "Numlock"
-msgstr "BlocNum"
-
-#: lclstrconsts.ifsvk_numpad
-msgid "Numpad %d"
-msgstr "TastNum %d"
-
-#: lclstrconsts.ifsvk_pause
-msgid "Pause key"
-msgstr "Tasto pausa"
-
-#: lclstrconsts.ifsvk_print
-msgid "Print"
-msgstr "Stampa"
-
-#: lclstrconsts.ifsvk_prior
-msgctxt "lclstrconsts.ifsvk_prior"
-msgid "Prior"
-msgstr "Precedente"
-
-#: lclstrconsts.ifsvk_rbutton
-msgid "Mouse Button Right"
-msgstr "Tasto destro del mouse"
-
-#: lclstrconsts.ifsvk_return
-msgid "Return"
-msgstr "Invio"
-
-#: lclstrconsts.ifsvk_right
-msgctxt "lclstrconsts.ifsvk_right"
-msgid "Right"
-msgstr "Destra"
-
-#: lclstrconsts.ifsvk_rwin
-msgid "right windows key"
-msgstr "tasto windows destro"
-
-#: lclstrconsts.ifsvk_scroll
-msgid "Scroll"
-msgstr "Scorrimento"
-
-#: lclstrconsts.ifsvk_select
-msgid "Select"
-msgstr "Selezione"
-
-#: lclstrconsts.ifsvk_shift
-msgid "Shift"
-msgstr "Maiusc"
-
-#: lclstrconsts.ifsvk_snapshot
-msgid "Snapshot"
-msgstr "Istantanea"
-
-#: lclstrconsts.ifsvk_space
-msgid "Space key"
-msgstr "Tasto di spaziatura"
-
-#: lclstrconsts.ifsvk_tab
-msgctxt "lclstrconsts.ifsvk_tab"
-msgid "Tab"
-msgstr "Tab"
-
-#: lclstrconsts.ifsvk_unknown
-msgid "Unknown"
-msgstr "Sconosciuto"
-
-#: lclstrconsts.ifsvk_up
-msgctxt "lclstrconsts.ifsvk_up"
-msgid "Up"
-msgstr "Su"
-
-#: lclstrconsts.liscannotexecute
-msgid "can not execute %s"
-msgstr ""
-
-#: lclstrconsts.lislclresourcesnotfound
-msgctxt "lclstrconsts.lislclresourcesnotfound"
-msgid "Resource %s not found"
-msgstr "Risorsa %s non trovata"
-
-#: lclstrconsts.lisprogramfilenotfound
-msgid "program file not found %s"
-msgstr ""
-
-#: lclstrconsts.rs3ddkshadowcolorcaption
-msgid "3D Dark Shadow"
-msgstr ""
-
-#: lclstrconsts.rs3dlightcolorcaption
-msgid "3D Light"
-msgstr "Luce 3D"
-
-#: lclstrconsts.rsacontrolcannothaveitselfasparent
-msgid "A control can't have itself as a parent"
-msgstr "Un controllo non può avere sè stesso come genitore"
-
-#: lclstrconsts.rsactivebordercolorcaption
-msgid "Active Border"
-msgstr "Bordo attivo"
-
-#: lclstrconsts.rsactivecaptioncolorcaption
-msgid "Active Caption"
-msgstr ""
-
-#: lclstrconsts.rsallfiles
-msgid "All files (%s)|%s|%s"
-msgstr "Tutti i file (%s)|%s|%s"
-
-#: lclstrconsts.rsappworkspacecolorcaption
-msgid "Application Workspace"
-msgstr ""
-
-#: lclstrconsts.rsaquacolorcaption
-msgid "Aqua"
-msgstr "Acqua"
-
-#: lclstrconsts.rsbackgroundcolorcaption
-msgid "Desktop"
-msgstr "Scrivania"
-
-#: lclstrconsts.rsbackward
-msgid "Backward"
-msgstr "Indietro"
-
-#: lclstrconsts.rsbitmaps
-msgid "Bitmaps"
-msgstr "Bitmap"
-
-#: lclstrconsts.rsblackcolorcaption
-msgid "Black"
-msgstr "Nero"
-
-#: lclstrconsts.rsblank
-msgid "Blank"
-msgstr "Vuoto"
-
-#: lclstrconsts.rsbluecolorcaption
-msgid "Blue"
-msgstr "Blu"
-
-#: lclstrconsts.rsbtnfacecolorcaption
-msgid "Button Face"
-msgstr "Superfice pulsante"
-
-#: lclstrconsts.rsbtnhighlightcolorcaption
-msgid "Button Highlight"
-msgstr ""
-
-#: lclstrconsts.rsbtnshadowcolorcaption
-msgid "Button Shadow"
-msgstr "Ombra pulsante"
-
-#: lclstrconsts.rsbtntextcolorcaption
-msgid "Button Text"
-msgstr "Testo pulsante"
-
-#: lclstrconsts.rscalculator
-msgid "Calculator"
-msgstr "Calcolatore"
-
-#: lclstrconsts.rscancelrecordhint
-msgctxt "lclstrconsts.rscancelrecordhint"
-msgid "Cancel"
-msgstr "Cancella"
-
-#: lclstrconsts.rscannotfocus
-msgid "Can not focus"
-msgstr "Impossibile spostare il focus"
-
-#: lclstrconsts.rscanvasdoesnotallowdrawing
-msgid "Canvas does not allow drawing"
-msgstr "Le tele non permettono il disegno"
-
-#: lclstrconsts.rscaptiontextcolorcaption
-msgid "Caption Text"
-msgstr "Testo caption"
-
-#: lclstrconsts.rscasesensitive
-msgid "Case sensitive"
-msgstr "Differenzia maiuscolo e minuscolo"
-
-#: lclstrconsts.rscontrolclasscantcontainchildclass
-msgid "Control of class '%s' can't have control of class '%s' as a child"
-msgstr ""
-
-#: lclstrconsts.rscontrolhasnoparentwindow
-msgid "Control '%s' has no parent window"
-msgstr ""
-
-#: lclstrconsts.rscreamcolorcaption
-msgid "Cream"
-msgstr "Crema"
-
-#: lclstrconsts.rscreatinggdbcatchableerror
-msgid "Creating gdb catchable error:"
-msgstr "Creazione errore intercettabile gdb:"
-
-#: lclstrconsts.rscursor
-msgid "Cursor"
-msgstr "cursore"
-
-#: lclstrconsts.rscustomcolorcaption
-msgid "Custom ..."
-msgstr "Personalizzato ..."
-
-#: lclstrconsts.rsdefaultcolorcaption
-msgid "Default"
-msgstr "Standard"
-
-#: lclstrconsts.rsdefaultfileinfovalue
-msgid "permissions user group size date time"
-msgstr "permessi utente gruppo ampiezza data ora"
-
-#: lclstrconsts.rsdeleterecord
-msgid "Delete record?"
-msgstr "Eliminare un record?"
-
-#: lclstrconsts.rsdeleterecordhint
-msgctxt "lclstrconsts.rsdeleterecordhint"
-msgid "Delete"
-msgstr "Elimina"
-
-#: lclstrconsts.rsdirection
-msgid "Direction"
-msgstr "Direzione"
-
-#: lclstrconsts.rsdirectory
-msgid "&Directory"
-msgstr "&Directory"
-
-#: lclstrconsts.rsdocking
-msgid "Docking"
-msgstr "Aggancia"
-
-#: lclstrconsts.rsduplicateiconformat
-msgid "Duplicate icon format."
-msgstr "Formato icona duplice."
-
-#: lclstrconsts.rseditrecordhint
-msgid "Edit"
-msgstr "Modifica"
-
-#: lclstrconsts.rsentirescope
-msgid "Search entire file"
-msgstr "Ricerca il file interamente"
-
-#: lclstrconsts.rserror
-msgctxt "lclstrconsts.rserror"
-msgid "Error"
-msgstr "Errpre"
-
-#: lclstrconsts.rserrorcreatingdevicecontext
-msgid "Error creating device context for %s.%s"
-msgstr "Errore nella creazione del contesto dispositivo per %s.%s"
-
-#: lclstrconsts.rserrorinlcl
-msgid "ERROR in LCL: "
-msgstr "Errore nell'LCL:"
-
-#: lclstrconsts.rserroroccurredinataddressframe
-msgid "Error occurred in %s at %sAddress %s%s Frame %s"
-msgstr "Errore in %s a %sIndirizzo %s%s Frame %s"
-
-#: lclstrconsts.rserrorreadingproperty
-msgid "Error reading %s%s%s: %s"
-msgstr "Errore nella lettura di %s%s%s: %s"
-
-#: lclstrconsts.rserrorwhilesavingbitmap
-msgid "Error while saving bitmap."
-msgstr "Errore salvando il bitmap."
-
-#: lclstrconsts.rsexception
-msgid "Exception"
-msgstr "Eccezzione"
-
-#: lclstrconsts.rsfddirectorymustexist
-msgid "Directory must exist"
-msgstr "La directory deve esistere"
-
-#: lclstrconsts.rsfddirectorynotexist
-msgid "The directory \"%s\" does not exist."
-msgstr "La directory \"%s\" non esiste."
-
-#: lclstrconsts.rsfdfilealreadyexists
-msgid "The file \"%s\" already exists. Overwrite ?"
-msgstr "Il file \"%s\" Esiste già. Lo rimpiazzo?"
-
-#: lclstrconsts.rsfdfilemustexist
-msgid "File must exist"
-msgstr "Il file deve esistere"
-
-#: lclstrconsts.rsfdfilenotexist
-msgid "The file \"%s\" does not exist."
-msgstr "Il file \"%s\" non esiste."
-
-#: lclstrconsts.rsfdfilereadonly
-msgid "The file \"%s\" is not writable."
-msgstr "Il file \"%s\" non è scrivibile."
-
-#: lclstrconsts.rsfdfilereadonlytitle
-msgid "File is not writable"
-msgstr "Il file non è scrivibile"
-
-#: lclstrconsts.rsfdfilesaveas
-msgid "Save file as"
-msgstr "Salva con nome"
-
-#: lclstrconsts.rsfdopenfile
-msgid "Open existing file"
-msgstr "Apri file esistenti"
-
-#: lclstrconsts.rsfdoverwritefile
-msgid "Overwrite file ?"
-msgstr "Sovrascrivere il file?"
-
-#: lclstrconsts.rsfdpathmustexist
-msgid "Path must exist"
-msgstr "Il percorso deve esistere"
-
-#: lclstrconsts.rsfdpathnoexist
-msgid "The path \"%s\" does not exist."
-msgstr "Il percorso \"%s\" non esiste."
-
-#: lclstrconsts.rsfdselectdirectory
-msgid "Select Directory"
-msgstr "Selezionare una directory"
-
-#: lclstrconsts.rsfileinfofilenotfound
-msgid "(file not found: \"%s\")"
-msgstr "(file non trovato \"%s\")"
-
-#: lclstrconsts.rsfileinformation
-msgid "File information"
-msgstr "Informazioni sul file"
-
-#: lclstrconsts.rsfind
-msgid "Find"
-msgstr "Trova"
-
-#: lclstrconsts.rsfindmore
-msgid "Find more"
-msgstr "Trova successivo"
-
-#: lclstrconsts.rsfirstrecordhint
-msgid "First"
-msgstr "Primo"
-
-#: lclstrconsts.rsfixedcolstoobig
-msgid "FixedCols can't be >= ColCount"
-msgstr "FixedCol non può essere >= ColCount"
-
-#: lclstrconsts.rsfixedrowstoobig
-msgid "FixedRows can't be >= RowCount"
-msgstr "FixedRows non può essere >= RowCount"
-
-#: lclstrconsts.rsformcolorcaption
-msgid "Form"
-msgstr "Form"
-
-#: lclstrconsts.rsformstreamingerror
-msgid "Form streaming \"%s\" error: %s"
-msgstr "Streaming della form \"%s\" errore: %s"
-
-#: lclstrconsts.rsforward
-msgid "Forward"
-msgstr "Avanti"
-
-#: lclstrconsts.rsfuchsiacolorcaption
-msgid "Fuchsia"
-msgstr "Fucsia"
-
-#: lclstrconsts.rsgdkoptiondebug
-msgid "--gdk-debug flags     Turn on specific GDK trace/debug messages."
-msgstr "--gdk-debug-flags    Abilita specifici messaggi di trace/debug GDK."
-
-#: lclstrconsts.rsgdkoptionnodebug
-msgid "--gdk-no-debug flags  Turn off specific GDK trace/debug messages."
-msgstr "--gdk-no-debug flags  Disabilita messaggi specifici di trace/debug di GDK"
-
-#: lclstrconsts.rsgif
-msgid "Graphics Interchange Format"
-msgstr ""
-
-#: lclstrconsts.rsgoptionfatalwarnings
-msgid "--g-fatal-warnings    Warnings and errors generated by Gtk+/GDK will halt the application."
-msgstr "--g-fatal-warnings    Avvertimenti ed errori generati da Gtk/GDK bloccheranno l'applicazione."
-
-#: lclstrconsts.rsgradientactivecaptioncolorcaption
-msgid "Gradient Active Caption"
-msgstr "Caption con gradient attiva"
-
-#: lclstrconsts.rsgradientinactivecaptioncolorcaption
-msgid "Gradient Inactive Caption"
-msgstr "Caption con gradient disattiva"
-
-#: lclstrconsts.rsgraphic
-msgid "Graphic"
-msgstr ""
-
-#: lclstrconsts.rsgraycolorcaption
-msgid "Gray"
-msgstr "Grigio"
-
-#: lclstrconsts.rsgraytextcolorcaption
-msgid "Gray Text"
-msgstr "testo grigio"
-
-#: lclstrconsts.rsgreencolorcaption
-msgid "Green"
-msgstr "Verde"
-
-#: lclstrconsts.rsgridfiledoesnotexists
-msgid "Grid file doesn't exists"
-msgstr "Il file griglia non esiste"
-
-#: lclstrconsts.rsgridindexoutofrange
-msgid "Grid index out of range."
-msgstr "Indice della griglia fuori dai limiti."
-
-#: lclstrconsts.rsgroupindexcannotbelessthanprevious
-msgid "GroupIndex cannot be less than a previous menu item's GroupIndex"
-msgstr "GroupIndex non può essere inferiore ad un GroupIndex di un elemento menu precedente"
-
-#: lclstrconsts.rsgtkfilter
-msgid "Filter:"
-msgstr "Filtro:"
-
-#: lclstrconsts.rsgtkhistory
-msgid "History:"
-msgstr "Cronologia:"
-
-#: lclstrconsts.rsgtkoptionclass
-msgid "--class classname     Following Xt conventions, the class of a program is the program name with the initial character capitalized. For example, the classname for gimp is \"Gimp\". If --class is specified, the class of the program will be set to \"classname\"."
-msgstr "--class nomeclasse     Seguendo le convenzioni Xt, la classe di un programma è il nome del programma con il carattere iniziale maiuscolo. Per esempio il nome della classe per gimp è \"Gimp\". Se --class viene specificata, la classe del programma verrà impostata a \"nomeclasse\"."
-
-#: lclstrconsts.rsgtkoptiondebug
-msgid "--gtk-debug flags     Turn on specific Gtk+ trace/debug messages."
-msgstr "--gtk-debug flags     Abilita messaggi specifici di trace/debug Gtk+"
-
-#: lclstrconsts.rsgtkoptiondisplay
-msgid "--display h:s:d       Connect to the specified X server, where \"h\" is the hostname, \"s\" is the server number (usually 0), and \"d\" is the display number (typically omitted). If --display is not specified, the DISPLAY environment variable is used."
-msgstr "--display h:s:d       Connessione al server X specificato da \"h\" per il nome host, \"s\" per il numero di server (solitamente 0) e \"d\" per il numero di schermo (normalmente viene omesso). Se --display non è specificato verrà utilizzata la variabile di ambiente DISPLAY."
-
-#: lclstrconsts.rsgtkoptionmodule
-msgid "--gtk-module module   Load the specified module at startup."
-msgstr "--gtk-module-module   Carica il modulo specificato alla partenza."
-
-#: lclstrconsts.rsgtkoptionname
-msgid "--name programe       Set program name to \"progname\". If not specified, program name will be set to ParamStrUTF8(0)."
-msgstr "--name programe       Imposta il nome del programma a \"progname\". Se non specificato, il nome del programma sarà impostato a ParamStrUTF8(0)."
-
-#: lclstrconsts.rsgtkoptionnodebug
-msgid "--gtk-no-debug flags  Turn off specific Gtk+ trace/debug messages."
-msgstr "--gtk-no-debug-flags  Disabilita messaggi specifici di trace/debug Gtk+"
-
-#: lclstrconsts.rsgtkoptionnotransient
-msgid "--lcl-no-transient    Do not set transient order for modal forms"
-msgstr "--lcl-no-transient    Non impostare l'ordine transiente per form modali"
-
-#: lclstrconsts.rsgtkoptionnoxshm
-msgid "--no-xshm             Disable use of the X Shared Memory Extension."
-msgstr "--no-xshm             Disabilita l'uso dell'estensione della memoria condivisa di X."
-
-#: lclstrconsts.rsgtkoptionsync
-msgid "--sync                Call XSynchronize (display, True) after the Xserver connection has been established. This makes debugging X protocol errors easier, because X request buffering will be disabled and X errors will be received immediately after the protocol request that generated the error has been processed by the X server."
-msgstr "--sync                Chiama XSynchronize (display, True) appena viene stabilita la connessione al server X. Ciò semplifica la correzzione degli errori di protocollo X dato che la richiesta di bufferizzazione di X sarà disabilitata e quindi gli errori di X verranno ricevuti subito dopo che la richiesta di protocollo che ha generato l'errore è stata processata dal server X."
-
-#: lclstrconsts.rshelpalreadyregistered
-msgid "%s: Already registered"
-msgstr "%s: Già registrato"
-
-#: lclstrconsts.rshelpcontextnotfound
-msgid "Help Context not found"
-msgstr "Pagina del manuale non trovata"
-
-#: lclstrconsts.rshelpdatabasenotfound
-msgid "Help Database not found"
-msgstr "Archivio Help non trovato"
-
-#: lclstrconsts.rshelperror
-msgid "Help Error"
-msgstr "Errore nell'Help"
-
-#: lclstrconsts.rshelphelpcontextnotfound
-msgid "Help context %s not found."
-msgstr "Aiuto su %s non trovato."
-
-#: lclstrconsts.rshelphelpcontextnotfoundindatabase
-msgid "Help context %s not found in Database %s%s%s."
-msgstr "Aiuto su %s non trovato nell'archivio %s%s%s."
-
-#: lclstrconsts.rshelphelpdatabasedidnotfoundaviewerforahelppageoftype
-msgid "Help Database %s%s%s did not found a viewer for a help page of type %s"
-msgstr "L'archivio Help %s%s%s non trova un visualizzatore per le pagine di aiuto di tipo %s"
-
-#: lclstrconsts.rshelphelpdatabasenotfound
-msgid "Help Database %s%s%s not found"
-msgstr "Archivio Help %s%s%s non trovato"
-
-#: lclstrconsts.rshelphelpkeywordnotfound
-msgid "Help keyword %s%s%s not found."
-msgstr "Aiuto sulla parola chiave %s%s%s non trovato."
-
-#: lclstrconsts.rshelphelpkeywordnotfoundindatabase
-msgid "Help keyword %s%s%s not found in Database %s%s%s."
-msgstr "Aiuto sulla parola chiave %s%s%s non trovato nell'archivio %s%s%s."
-
-#: lclstrconsts.rshelphelpnodehasnohelpdatabase
-msgid "Help node %s%s%s has no Help Database"
-msgstr "Il nodo di aiuto %s%s%s non ha un Database di aiuto"
-
-#: lclstrconsts.rshelpnohelpfoundforsource
-msgid "No help found for line %d, column %d of %s."
-msgstr "Nessun aiuto trovato per la linea %d, colonna %d di %s."
-
-#: lclstrconsts.rshelpnohelpnodesavailable
-msgid "No help nodes available"
-msgstr "Nessun aiuto disponibile"
-
-#: lclstrconsts.rshelpnotfound
-msgid "Help not found"
-msgstr "Aiuto non trovato"
-
-#: lclstrconsts.rshelpnotregistered
-msgid "%s: Not registered"
-msgstr "%s: Non registrato"
-
-#: lclstrconsts.rshelpselectorerror
-msgid "Help Selector Error"
-msgstr "Errore nella selezione dell'Help"
-
-#: lclstrconsts.rshelpthereisnoviewerforhelptype
-msgid "There is no viewer for help type %s%s%s"
-msgstr "Nessun visualizzatore per gli help di tipo %s%s%s"
-
-#: lclstrconsts.rshelpviewererror
-msgid "Help Viewer Error"
-msgstr "Errore nel visualizzatore dell'Help"
-
-#: lclstrconsts.rshelpviewernotfound
-msgid "Help Viewer not found"
-msgstr "Visualizzatore dell'Help non trovato"
-
-#: lclstrconsts.rshighlightcolorcaption
-msgid "Highlight"
-msgstr ""
-
-#: lclstrconsts.rshighlighttextcolorcaption
-msgid "Highlight Text"
-msgstr ""
-
-#: lclstrconsts.rshotlightcolorcaption
-msgid "Hot Light"
-msgstr ""
-
-#: lclstrconsts.rsicns
-msgid "Mac OS X Icon"
-msgstr ""
-
-#: lclstrconsts.rsicon
-msgid "Icon"
-msgstr "Icona"
-
-#: lclstrconsts.rsiconimageempty
-msgid "Icon image cannot be empty"
-msgstr "L'immagine dell'icona non può essere vuota"
-
-#: lclstrconsts.rsiconimageformat
-msgid "Icon image must have the same format"
-msgstr "L'immagine dell'icona deve avere lo stesso formato"
-
-#: lclstrconsts.rsiconimageformatchange
-msgid "Cannot change format of icon image"
-msgstr "Impossibile cambiare il formato dell'immagine dell'icona"
-
-#: lclstrconsts.rsiconimagesize
-msgid "Icon image must have the same size"
-msgstr "L'immaigne dell'icona deve avere le stesse dimensioni"
-
-#: lclstrconsts.rsiconimagesizechange
-msgid "Cannot change size of icon image"
-msgstr "Impossibile cambiare il formato dell'immagine dell'icona"
-
-#: lclstrconsts.rsiconnocurrent
-msgid "Icon has no current image"
-msgstr "L'icona non ha nessuna immagine corrente"
-
-#: lclstrconsts.rsinactivebordercolorcaption
-msgid "Inactive Border"
-msgstr "Bordo inattivo"
-
-#: lclstrconsts.rsinactivecaptioncolorcaption
-msgctxt "lclstrconsts.rsinactivecaptioncolorcaption"
-msgid "Inactive Caption"
-msgstr "Caption inattiva"
-
-#: lclstrconsts.rsinactivecaptiontext
-msgctxt "lclstrconsts.rsinactivecaptiontext"
-msgid "Inactive Caption"
-msgstr "Caption inattiva"
-
-#: lclstrconsts.rsindexoutofbounds
-msgid "%s Index %d out of bounds 0 .. %d"
-msgstr "%s indice %d fuori dai limiti 0 .. %d"
-
-#: lclstrconsts.rsindexoutofrange
-msgid "Index Out of range Cell[Col=%d Row=%d]"
-msgstr "Indice fuori dall'ampiezza massima Cell[Col=%d Row=%d]"
-
-#: lclstrconsts.rsinfobkcolorcaption
-msgid "Info Background"
-msgstr "Informazioni sfondo"
-
-#: lclstrconsts.rsinfotextcolorcaption
-msgid "Info Text"
-msgstr "Informazioni testo"
-
-#: lclstrconsts.rsinsertrecordhint
-msgctxt "lclstrconsts.rsinsertrecordhint"
-msgid "Insert"
-msgstr "Inserimento"
-
-#: lclstrconsts.rsinvaliddate
-msgid "Invalid Date : %s"
-msgstr "Data non valida: %s"
-
-#: lclstrconsts.rsinvaliddaterangehint
-msgid "Invalid Date: %s. Must be between %s and %s"
-msgstr "Data non valida: %s. Deve essere tra %s e %s"
-
-#: lclstrconsts.rsinvalidformobjectstream
-msgid "invalid Form object stream"
-msgstr "Stream form oggetto non valido"
-
-#: lclstrconsts.rsinvalidpropertyvalue
-msgid "Invalid property value"
-msgstr "Valore proprietà non valido"
-
-#: lclstrconsts.rsinvalidstreamformat
-msgid "Invalid stream format"
-msgstr "Formato stream non valido"
-
-#: lclstrconsts.rsisalreadyassociatedwith
-msgid "%s is already associated with %s"
-msgstr "%s è già associato con %s"
-
-#: lclstrconsts.rsjpeg
-msgid "Joint Picture Expert Group"
-msgstr ""
-
-#: lclstrconsts.rslastrecordhint
-msgid "Last"
-msgstr "Ultimo"
-
-#: lclstrconsts.rslimecolorcaption
-msgid "Lime"
-msgstr ""
-
-#: lclstrconsts.rslistindexexceedsbounds
-msgid "List index exceeds bounds (%d)"
-msgstr "L'elenco indice eccede i limiti (%d)"
-
-#: lclstrconsts.rslistmustbeempty
-msgid "List must be empty"
-msgstr "L'elenco deve essere vuoto"
-
-#: lclstrconsts.rsmarooncolorcaption
-msgid "Maroon"
-msgstr ""
-
-#: lclstrconsts.rsmbabort
-msgid "Abort"
-msgstr "Blocca"
-
-#: lclstrconsts.rsmball
-msgid "&All"
-msgstr "&Tutti"
-
-#: lclstrconsts.rsmbcancel
-msgctxt "lclstrconsts.rsmbcancel"
-msgid "Cancel"
-msgstr "Annulla"
-
-#: lclstrconsts.rsmbclose
-msgid "&Close"
-msgstr "&Chiudi"
-
-#: lclstrconsts.rsmbhelp
-msgid "&Help"
-msgstr "&Aiuto"
-
-#: lclstrconsts.rsmbignore
-msgid "&Ignore"
-msgstr "&Ignora"
-
-#: lclstrconsts.rsmbno
-msgid "&No"
-msgstr "&No"
-
-#: lclstrconsts.rsmbnotoall
-msgid "No to all"
-msgstr "No a tutto"
-
-#: lclstrconsts.rsmbok
-msgid "&OK"
-msgstr "&OK"
-
-#: lclstrconsts.rsmbopen
-msgid "&Open"
-msgstr "&Apri"
-
-#: lclstrconsts.rsmbretry
-msgid "&Retry"
-msgstr "&Riprova"
-
-#: lclstrconsts.rsmbsave
-msgid "&Save"
-msgstr "&Salva"
-
-#: lclstrconsts.rsmbunlock
-msgid "&Unlock"
-msgstr "&Sblocca"
-
-#: lclstrconsts.rsmbyes
-msgid "&Yes"
-msgstr "&Si"
-
-#: lclstrconsts.rsmbyestoall
-msgid "Yes to &All"
-msgstr "Si a &All"
-
-#: lclstrconsts.rsmedgraycolorcaption
-msgid "Medium Gray"
-msgstr ""
-
-#: lclstrconsts.rsmenubarcolorcaption
-msgid "Menu Bar"
-msgstr ""
-
-#: lclstrconsts.rsmenucolorcaption
-msgctxt "lclstrconsts.rsmenucolorcaption"
-msgid "Menu"
-msgstr "Menu"
-
-#: lclstrconsts.rsmenuhighlightcolorcaption
-msgid "Menu Highlight"
-msgstr ""
-
-#: lclstrconsts.rsmenutextcolorcaption
-msgid "Menu Text"
-msgstr ""
-
-#: lclstrconsts.rsmodified
-msgid "  modified "
-msgstr "  modificato "
-
-#: lclstrconsts.rsmoneygreencolorcaption
-msgid "Money Green"
-msgstr ""
-
-#: lclstrconsts.rsmtauthentication
-msgid "Authentication"
-msgstr "Autenticazione"
-
-#: lclstrconsts.rsmtconfirmation
-msgid "Confirmation"
-msgstr "Conferma"
-
-#: lclstrconsts.rsmtcustom
-msgid "Custom"
-msgstr "Personalizza"
-
-#: lclstrconsts.rsmterror
-msgctxt "lclstrconsts.rsmterror"
-msgid "Error"
-msgstr "Errore"
-
-#: lclstrconsts.rsmtinformation
-msgid "Information"
-msgstr "Informazioni"
-
-#: lclstrconsts.rsmtwarning
-msgid "Warning"
-msgstr "Attenzione"
-
-#: lclstrconsts.rsnavycolorcaption
-msgid "Navy"
-msgstr ""
-
-#: lclstrconsts.rsnextrecordhint
-msgctxt "lclstrconsts.rsnextrecordhint"
-msgid "Next"
-msgstr "Successivo"
-
-#: lclstrconsts.rsnonecolorcaption
-msgid "None"
-msgstr "Niente"
-
-#: lclstrconsts.rsnotavalidgridfile
-msgid "Not a valid grid file"
-msgstr "Non è un file griglia valido"
-
-#: lclstrconsts.rsnowidgetset
-msgid "No widgetset object. Please check if the unit \"interfaces\" was added to the programs uses clause."
-msgstr "Nessun oggetto. Verifica se la unit  \"interfaces\" è stata aggiunta alla clausola uses del programma."
-
-#: lclstrconsts.rsolivecolorcaption
-msgid "Olive"
-msgstr ""
-
-#: lclstrconsts.rspickdate
-msgid "Select a date"
-msgstr "Seleziona una data"
-
-#: lclstrconsts.rspixmap
-msgid "Pixmap"
-msgstr "Pixmap"
-
-#: lclstrconsts.rsportablebitmap
-msgid "Portable BitMap"
-msgstr ""
-
-#: lclstrconsts.rsportablegraymap
-msgid "Portable GrayMap"
-msgstr ""
-
-#: lclstrconsts.rsportablenetworkgraphic
-msgid "Portable Network Graphic"
-msgstr "Portable Network Graphic"
-
-#: lclstrconsts.rsportablepixmap
-msgid "Portable PixMap"
-msgstr ""
-
-#: lclstrconsts.rspostrecordhint
-msgid "Post"
-msgstr ""
-
-#: lclstrconsts.rspressoktoignoreandriskdatacorruptionpresscanceltok
-msgid "%s%sPress OK to ignore and risk data corruption.%sPress Cancel to kill the program."
-msgstr "%s%sPremi Ok per ignorare il messaggio e rischiare di corrompere i dati.%sPremi Annulla per terminare l'esecuzione del programma"
-
-#: lclstrconsts.rspriorrecordhint
-msgctxt "lclstrconsts.rspriorrecordhint"
-msgid "Prior"
-msgstr "Precedente"
-
-#: lclstrconsts.rspropertydoesnotexist
-msgid "Property %s does not exist"
-msgstr "La proprietà %s non esiste"
-
-#: lclstrconsts.rspurplecolorcaption
-msgid "Purple"
-msgstr "Viola"
-
-#: lclstrconsts.rsqtoptiondograb
-msgid "-dograb (only under X11), running under a debugger can cause an implicit -nograb, use -dograb to override. Need QT_DEBUG."
-msgstr ""
-
-#: lclstrconsts.rsqtoptiongraphicsstyle
-msgid "-graphicssystem param, sets the backend to be used for on-screen widgets and QPixmaps. Available options are native, raster and opengl. OpenGL is still unstable."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionnograb
-msgid "-nograb, tells Qt that it must never grab the mouse or the keyboard. Need QT_DEBUG."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionreverse
-msgid "-reverse, sets the application's layout direction to Qt::RightToLeft."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionsession
-msgid "-session session, restores the application from an earlier session."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionstyle
-msgid "-style style or -style=style, sets the application GUI style. Possible values are motif, windows, and platinum. If you compiled Qt with additional styles or have additional styles as plugins these will be available to the -style  command line option. NOTE: Not all styles are available on all platforms. If style param does not exist Qt will start an application with default common style (windows)."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionstylesheet
-msgid "-stylesheet stylesheet or -stylesheet=stylesheet, sets the application Style Sheet. The value must be a path to a file that contains the Style Sheet. Note: Relative URLs in the Style Sheet file are relative to the Style Sheet file's path."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionsync
-msgid "-sync (only under X11), switches to synchronous mode for debugging."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionwidgetcount
-msgid "-widgetcount, prints debug message at the end about number of widgets left undestroyed and maximum number of widgets existed at the same time."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11bgcolor
-msgid "-bg or -background color, sets the default background color and an application palette (light and dark shades are calculated)."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11btncolor
-msgid "-btn or -button color, sets the default button color."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11cmap
-msgid "-cmap, causes the application to install a private color map on an 8-bit display."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11display
-msgid "-display display, sets the X display (default is $DISPLAY)."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11fgcolor
-msgid "-fg or -foreground color, sets the default foreground color."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11font
-msgid "-fn or -font font, defines the application font. The font should be specified using an X logical font description."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11geometry
-msgid "-geometry geometry, sets the client geometry of the first window that is shown."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11im
-msgid "-im, sets the input method server (equivalent to setting the XMODIFIERS environment variable)."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11inputstyle
-msgid "-inputstyle, defines how the input is inserted into the given widget, e.g. onTheSpot makes the input appear directly in the widget, while overTheSpot makes the input appear in a box floating over the widget and is not inserted until the editing is done."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11name
-msgid "-name name, sets the application name."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11ncols
-msgid "-ncols count, limits the number of colors allocated in the color cube on an 8-bit display, if the application is using the QApplication::ManyColor color specification. If count is 216 then a 6x6x6 color cube is used (i.e. 6 levels of red, 6 of green, and 6 of blue); for other values, a cube approximately proportional to a 2x3x1 cube is used."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11title
-msgid "-title title, sets the application title."
-msgstr ""
-
-#: lclstrconsts.rsqtoptionx11visual
-msgid "-visual TrueColor, forces the application to use a TrueColor visual on an 8-bit display."
-msgstr ""
-
-#: lclstrconsts.rsrasterimageendupdate
-msgid "Endupdate while no update in progress"
-msgstr ""
-
-#: lclstrconsts.rsrasterimagesaveinupdate
-msgid "Cannot save image while update in progress"
-msgstr ""
-
-#: lclstrconsts.rsrasterimageupdateall
-msgid "Cannot begin update all when canvas only update in progress"
-msgstr ""
-
-#: lclstrconsts.rsredcolorcaption
-msgid "Red"
-msgstr "Rosso"
-
-#: lclstrconsts.rsrefreshrecordshint
-msgid "Refresh"
-msgstr "Aggiorna"
-
-#: lclstrconsts.rsreplace
-msgid "Replace"
-msgstr "Sostituisci"
-
-#: lclstrconsts.rsreplaceall
-msgid "Replace all"
-msgstr "Sostituisci tutto"
-
-#: lclstrconsts.rsresourcenotfound
-msgctxt "lclstrconsts.rsresourcenotfound"
-msgid "Resource %s not found"
-msgstr "Risorsa %s non trovata"
-
-#: lclstrconsts.rsscrollbarcolorcaption
-msgid "ScrollBar"
-msgstr ""
-
-#: lclstrconsts.rsscrollbaroutofrange
-msgid "ScrollBar property out of range"
-msgstr "Proprietà barra di scorrimento fuori dal range"
-
-#: lclstrconsts.rsselectcolortitle
-msgid "Select color"
-msgstr "Selezionare un colore"
-
-#: lclstrconsts.rsselectfonttitle
-msgid "Select a font"
-msgstr "Selezionare un font"
-
-#: lclstrconsts.rssilvercolorcaption
-msgid "Silver"
-msgstr "Argento"
-
-#: lclstrconsts.rssize
-msgid "  size "
-msgstr "  ampiezza "
-
-#: lclstrconsts.rsskybluecolorcaption
-msgid "Sky Blue"
-msgstr ""
-
-#: lclstrconsts.rstealcolorcaption
-msgid "Teal"
-msgstr ""
-
-#: lclstrconsts.rstext
-msgid "Text"
-msgstr "Testo"
-
-#: lclstrconsts.rstiff
-msgid "Tagged Image File Format"
-msgstr ""
-
-#: lclstrconsts.rsunabletoloaddefaultfont
-msgid "Unable to load default font"
-msgstr "Impossibile caricare il font predefinito"
-
-#: lclstrconsts.rsunknownerrorpleasereportthisbug
-msgid "Unknown Error, please report this bug"
-msgstr "Errore sconosciuto. Per favore, riporta questo errore al team di sviluppo"
-
-#: lclstrconsts.rsunknownpictureextension
-msgid "Unknown picture extension"
-msgstr "Estensione immagine sconosciuta"
-
-#: lclstrconsts.rsunknownpictureformat
-msgid "Unknown picture format"
-msgstr ""
-
-#: lclstrconsts.rsunsupportedbitmapformat
-msgid "Unsupported bitmap format."
-msgstr "Formato bitmap non supportato."
-
-#: lclstrconsts.rsunsupportedclipboardformat
-msgid "Unsupported clipboard format: %s"
-msgstr "Formato degli appunti non supportato %s"
-
-#: lclstrconsts.rswarningunreleaseddcsdump
-msgid " WARNING: There are %d unreleased DCs, a detailed dump follows:"
-msgstr "Attenzione: esistono %s DC non rilasciati, segue un dump dettagliato:"
-
-#: lclstrconsts.rswarningunreleasedgdiobjectsdump
-msgid " WARNING: There are %d unreleased GDIObjects, a detailed dump follows:"
-msgstr "Attenzione: ci sono %d GDIObjects non rilasciati, segue un dump dettagliato:"
-
-#: lclstrconsts.rswarningunreleasedmessagesinqueue
-msgid " WARNING: There are %d messages left in the queue! I'll free them"
-msgstr "Attenzione: ci sono %d messaggi lasciati in coda! Li sto liberando"
-
-#: lclstrconsts.rswarningunreleasedtimerinfos
-msgid " WARNING: There are %d TimerInfo structures left, I'll free them"
-msgstr "Attenzione: ci sono ancora %d strutture Timer Info, li sto liberando "
-
-#: lclstrconsts.rswarningunremovedpaintmessages
-msgid " WARNING: There are %s unremoved LM_PAINT/LM_GtkPAINT message links left."
-msgstr "Attenzione: esistono ancora %s collegamenti a messaggi LM_GtkPAINT."
-
-#: lclstrconsts.rswhitecolorcaption
-msgid "White"
-msgstr "Bianco"
-
-#: lclstrconsts.rswholewordsonly
-msgid "Whole words only"
-msgstr "Solo parole intere"
-
-#: lclstrconsts.rswin32error
-msgid "Error:"
-msgstr "Errore:"
-
-#: lclstrconsts.rswin32warning
-msgid "Warning:"
-msgstr "Attenzione:"
-
-#: lclstrconsts.rswindowcolorcaption
-msgid "Window"
-msgstr "Finestra"
-
-#: lclstrconsts.rswindowframecolorcaption
-msgid "Window Frame"
-msgstr "Frame della finestra"
-
-#: lclstrconsts.rswindowtextcolorcaption
-msgid "Window Text"
-msgstr "Testo della finestra"
-
-#: lclstrconsts.rsyellowcolorcaption
-msgid "Yellow"
-msgstr "Giallo"
-
-#: lclstrconsts.scannotfocus
-msgid "Cannot focus a disabled or invisible window"
-msgstr "Impossibile spostare il focus su una finestra disabilitata o invisibile"
-
-#: lclstrconsts.sduplicatemenus
-msgid "Duplicate menus"
-msgstr "Menu dupicati"
-
-#: lclstrconsts.sinvalidactioncreation
-msgid "Invalid action creation"
-msgstr "Creazione azione non valida"
-
-#: lclstrconsts.sinvalidactionenumeration
-msgid "Invalid action enumeration"
-msgstr "Enumerazione azione non valida"
-
-#: lclstrconsts.sinvalidactionregistration
-msgid "Invalid action registration"
-msgstr "Registrazione azione non valida"
-
-#: lclstrconsts.sinvalidactionunregistration
-msgid "Invalid action unregistration"
-msgstr "Deregistrazione azione non valida"
-
-#: lclstrconsts.sinvalidcharset
-msgid "The char set in mask \"%s\" is not valid!"
-msgstr "Il carattere di mask \"%s\" non è valido"
-
-#: lclstrconsts.sinvalidimagesize
-msgid "Invalid image size"
-msgstr "Grandezza immagine non valida"
-
-#: lclstrconsts.sinvalidindex
-msgid "Invalid ImageList Index"
-msgstr "Indice ImageList non valido"
-
-#: lclstrconsts.smenuindexerror
-msgid "Menu index out of range"
-msgstr "Indice del menu fuori range"
-
-#: lclstrconsts.smenuitemisnil
-msgid "MenuItem is nil"
-msgstr "La voce menu è nulla"
-
-#: lclstrconsts.smenunotfound
-msgid "Sub-menu is not in menu"
-msgstr "Il sottomenu non è nel menu"
-
-#: lclstrconsts.smkcalt
-msgid "Alt+"
-msgstr ""
-
-#: lclstrconsts.smkcbksp
-msgid "BkSp"
-msgstr ""
-
-#: lclstrconsts.smkcctrl
-msgid "Ctrl+"
-msgstr ""
-
-#: lclstrconsts.smkcdel
-msgid "Del"
-msgstr ""
-
-#: lclstrconsts.smkcdown
-msgctxt "lclstrconsts.smkcdown"
-msgid "Down"
-msgstr "Giù"
-
-#: lclstrconsts.smkcend
-msgctxt "lclstrconsts.smkcend"
-msgid "End"
-msgstr "Fine"
-
-#: lclstrconsts.smkcenter
-msgid "Enter"
-msgstr ""
-
-#: lclstrconsts.smkcesc
-msgid "Esc"
-msgstr ""
-
-#: lclstrconsts.smkchome
-msgctxt "lclstrconsts.smkchome"
-msgid "Home"
-msgstr "Home"
-
-#: lclstrconsts.smkcins
-msgid "Ins"
-msgstr ""
-
-#: lclstrconsts.smkcleft
-msgctxt "lclstrconsts.smkcleft"
-msgid "Left"
-msgstr "Sinistra"
-
-#: lclstrconsts.smkcmeta
-msgid "Meta+"
-msgstr ""
-
-#: lclstrconsts.smkcpgdn
-msgid "PgDn"
-msgstr ""
-
-#: lclstrconsts.smkcpgup
-msgid "PgUp"
-msgstr ""
-
-#: lclstrconsts.smkcright
-msgctxt "lclstrconsts.smkcright"
-msgid "Right"
-msgstr "Destra"
-
-#: lclstrconsts.smkcshift
-msgid "Shift+"
-msgstr ""
-
-#: lclstrconsts.smkcspace
-msgid "Space"
-msgstr ""
-
-#: lclstrconsts.smkctab
-msgctxt "lclstrconsts.smkctab"
-msgid "Tab"
-msgstr "Tab"
-
-#: lclstrconsts.smkcup
-msgctxt "lclstrconsts.smkcup"
-msgid "Up"
-msgstr "Su"
-
-#: lclstrconsts.snomdiform
-msgid "No MDI form present."
-msgstr "Nessuna form MDI presente."
-
-#: lclstrconsts.snotimers
-msgid "No timers available"
-msgstr "Nessun timer disponibile"
-
-#: lclstrconsts.sparexpected
-msgid "Wrong token type: %s expected"
-msgstr ""
-
-#: lclstrconsts.sparinvalidfloat
-msgid "Invalid floating point number: %s"
-msgstr ""
-
-#: lclstrconsts.sparinvalidinteger
-msgid "Invalid integer number: %s"
-msgstr ""
-
-#: lclstrconsts.sparlocinfo
-msgid " (at %d,%d, stream offset %.8x)"
-msgstr ""
-
-#: lclstrconsts.sparunterminatedbinvalue
-msgid "Unterminated byte value"
-msgstr ""
-
-#: lclstrconsts.sparunterminatedstring
-msgid "Unterminated string"
-msgstr "String non determinata"
-
-#: lclstrconsts.sparwrongtokensymbol
-msgid "Wrong token symbol: %s expected but %s found"
-msgstr ""
-
-#: lclstrconsts.sparwrongtokentype
-msgid "Wrong token type: %s expected but %s found"
-msgstr ""
-
+msgid ""
+msgstr ""
+"Last-Translator: Pietro Bua <[email protected]>\n"
+"PO-Revision-Date: 2009-11-29 13:59+0200\n"
+"Language-Team: italiano <[email protected]>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Project-Id-Version: 0.9.2\n"
+"MIME-Version: 1.0\n"
+
+#: lclstrconsts.hhshelpbrowsernotexecutable
+msgid "Browser %s%s%s not executable."
+msgstr "Il browser %s%s%s non è eseguibile."
+
+#: lclstrconsts.hhshelpbrowsernotfound
+msgid "Browser %s%s%s not found."
+msgstr "Il browser %s%s%s non è stato trovato."
+
+#: lclstrconsts.hhshelperrorwhileexecuting
+msgid "Error while executing %s%s%s:%s%s"
+msgstr "Errore eseguendo %s%s%s:%s%s"
+
+#: lclstrconsts.hhshelpnohtmlbrowserfound
+msgid "Unable to find a HTML browser."
+msgstr "Impossibile trovare un browser HTML"
+
+#: lclstrconsts.hhshelpnohtmlbrowserfoundpleasedefineoneinhelpconfigurehe
+msgid "No HTML Browser found.%sPlease define one in Environment -> Options -> Help -> Help Options"
+msgstr "Non è stato trovato nessun browser HTML.%sDefiniscine uno in Aiuto -> Configura l'aiuto -> Visualizzatori"
+
+#: lclstrconsts.hhshelpthehelpdatabasewasunabletofindfile
+msgid "The help database %s%s%s was unable to find file %s%s%s."
+msgstr "L'archivio dell'help %s%s%s non riesce a trovare il file %s%s%s."
+
+#: lclstrconsts.hhshelpthemacrosinbrowserparamswillbereplacedbytheurl
+msgid "The macro %s in BrowserParams will be replaced by the URL."
+msgstr "La macro  %s nei parametri del browser verrà sostituita dall'URL"
+
+#: lclstrconsts.ifsalt
+msgid "Alt"
+msgstr "Alt"
+
+#: lclstrconsts.ifsctrl
+msgid "Ctrl"
+msgstr "Ctrl"
+
+#: lclstrconsts.ifsvk_accept
+msgid "Accept"
+msgstr "Accetta"
+
+#: lclstrconsts.ifsvk_apps
+msgid "application key"
+msgstr "tasto applicazione"
+
+#: lclstrconsts.ifsvk_back
+msgid "Backspace"
+msgstr "Backspace"
+
+#: lclstrconsts.ifsvk_cancel
+msgctxt "lclstrconsts.ifsvk_cancel"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: lclstrconsts.ifsvk_capital
+msgid "Capital"
+msgstr "Maiuscola"
+
+#: lclstrconsts.ifsvk_clear
+msgid "Clear"
+msgstr "Cancella"
+
+#: lclstrconsts.ifsvk_control
+msgid "Control"
+msgstr "Controllo"
+
+#: lclstrconsts.ifsvk_convert
+msgid "Convert"
+msgstr "Converti"
+
+#: lclstrconsts.ifsvk_delete
+msgctxt "lclstrconsts.ifsvk_delete"
+msgid "Delete"
+msgstr "Elimina"
+
+#: lclstrconsts.ifsvk_down
+msgctxt "lclstrconsts.ifsvk_down"
+msgid "Down"
+msgstr "Giù"
+
+#: lclstrconsts.ifsvk_end
+msgctxt "lclstrconsts.ifsvk_end"
+msgid "End"
+msgstr "Fine"
+
+#: lclstrconsts.ifsvk_escape
+msgid "Escape"
+msgstr "Escape"
+
+#: lclstrconsts.ifsvk_execute
+msgid "Execute"
+msgstr "Esegui"
+
+#: lclstrconsts.ifsvk_final
+msgid "Final"
+msgstr "Finale"
+
+#: lclstrconsts.ifsvk_hanja
+msgid "Hanja"
+msgstr "Hanja"
+
+#: lclstrconsts.ifsvk_help
+msgid "Help"
+msgstr "Aiuto"
+
+#: lclstrconsts.ifsvk_home
+msgctxt "lclstrconsts.ifsvk_home"
+msgid "Home"
+msgstr "Home"
+
+#: lclstrconsts.ifsvk_insert
+msgctxt "lclstrconsts.ifsvk_insert"
+msgid "Insert"
+msgstr "Inserisci"
+
+#: lclstrconsts.ifsvk_junja
+msgid "Junja"
+msgstr "Junja"
+
+#: lclstrconsts.ifsvk_kana
+msgid "Kana"
+msgstr "Kana"
+
+#: lclstrconsts.ifsvk_lbutton
+msgid "Mouse Button Left"
+msgstr "Tasto sinistro del mouse"
+
+#: lclstrconsts.ifsvk_left
+msgctxt "lclstrconsts.ifsvk_left"
+msgid "Left"
+msgstr "Sinistra"
+
+#: lclstrconsts.ifsvk_lwin
+msgid "left windows key"
+msgstr "tasto windows sinistro"
+
+#: lclstrconsts.ifsvk_mbutton
+msgid "Mouse Button Middle"
+msgstr "Tasto centrale del mouse"
+
+#: lclstrconsts.ifsvk_menu
+msgctxt "lclstrconsts.ifsvk_menu"
+msgid "Menu"
+msgstr "Menu"
+
+#: lclstrconsts.ifsvk_modechange
+msgid "Mode Change"
+msgstr "Cambiamento di modalità"
+
+#: lclstrconsts.ifsvk_next
+msgctxt "lclstrconsts.ifsvk_next"
+msgid "Next"
+msgstr "Successivo"
+
+#: lclstrconsts.ifsvk_nonconvert
+msgid "Nonconvert"
+msgstr "Nnoconvertire"
+
+#: lclstrconsts.ifsvk_numlock
+msgid "Numlock"
+msgstr "BlocNum"
+
+#: lclstrconsts.ifsvk_numpad
+msgid "Numpad %d"
+msgstr "TastNum %d"
+
+#: lclstrconsts.ifsvk_pause
+msgid "Pause key"
+msgstr "Tasto pausa"
+
+#: lclstrconsts.ifsvk_print
+msgid "Print"
+msgstr "Stampa"
+
+#: lclstrconsts.ifsvk_prior
+msgctxt "lclstrconsts.ifsvk_prior"
+msgid "Prior"
+msgstr "Precedente"
+
+#: lclstrconsts.ifsvk_rbutton
+msgid "Mouse Button Right"
+msgstr "Tasto destro del mouse"
+
+#: lclstrconsts.ifsvk_return
+msgid "Return"
+msgstr "Invio"
+
+#: lclstrconsts.ifsvk_right
+msgctxt "lclstrconsts.ifsvk_right"
+msgid "Right"
+msgstr "Destra"
+
+#: lclstrconsts.ifsvk_rwin
+msgid "right windows key"
+msgstr "tasto windows destro"
+
+#: lclstrconsts.ifsvk_scroll
+msgid "Scroll"
+msgstr "Scorrimento"
+
+#: lclstrconsts.ifsvk_select
+msgid "Select"
+msgstr "Selezione"
+
+#: lclstrconsts.ifsvk_shift
+msgid "Shift"
+msgstr "Maiusc"
+
+#: lclstrconsts.ifsvk_snapshot
+msgid "Snapshot"
+msgstr "Istantanea"
+
+#: lclstrconsts.ifsvk_space
+msgid "Space key"
+msgstr "Tasto di spaziatura"
+
+#: lclstrconsts.ifsvk_tab
+msgctxt "lclstrconsts.ifsvk_tab"
+msgid "Tab"
+msgstr "Tab"
+
+#: lclstrconsts.ifsvk_unknown
+msgid "Unknown"
+msgstr "Sconosciuto"
+
+#: lclstrconsts.ifsvk_up
+msgctxt "lclstrconsts.ifsvk_up"
+msgid "Up"
+msgstr "Su"
+
+#: lclstrconsts.liscannotexecute
+msgid "can not execute %s"
+msgstr ""
+
+#: lclstrconsts.lislclresourcesnotfound
+msgctxt "lclstrconsts.lislclresourcesnotfound"
+msgid "Resource %s not found"
+msgstr "Risorsa %s non trovata"
+
+#: lclstrconsts.lisprogramfilenotfound
+msgid "program file not found %s"
+msgstr ""
+
+#: lclstrconsts.rs3ddkshadowcolorcaption
+msgid "3D Dark Shadow"
+msgstr ""
+
+#: lclstrconsts.rs3dlightcolorcaption
+msgid "3D Light"
+msgstr "Luce 3D"
+
+#: lclstrconsts.rsacontrolcannothaveitselfasparent
+msgid "A control can't have itself as a parent"
+msgstr "Un controllo non può avere sè stesso come genitore"
+
+#: lclstrconsts.rsactivebordercolorcaption
+msgid "Active Border"
+msgstr "Bordo attivo"
+
+#: lclstrconsts.rsactivecaptioncolorcaption
+msgid "Active Caption"
+msgstr ""
+
+#: lclstrconsts.rsallfiles
+msgid "All files (%s)|%s|%s"
+msgstr "Tutti i file (%s)|%s|%s"
+
+#: lclstrconsts.rsappworkspacecolorcaption
+msgid "Application Workspace"
+msgstr ""
+
+#: lclstrconsts.rsaquacolorcaption
+msgid "Aqua"
+msgstr "Acqua"
+
+#: lclstrconsts.rsbackgroundcolorcaption
+msgid "Desktop"
+msgstr "Scrivania"
+
+#: lclstrconsts.rsbackward
+msgid "Backward"
+msgstr "Indietro"
+
+#: lclstrconsts.rsbitmaps
+msgid "Bitmaps"
+msgstr "Bitmap"
+
+#: lclstrconsts.rsblackcolorcaption
+msgid "Black"
+msgstr "Nero"
+
+#: lclstrconsts.rsblank
+msgid "Blank"
+msgstr "Vuoto"
+
+#: lclstrconsts.rsbluecolorcaption
+msgid "Blue"
+msgstr "Blu"
+
+#: lclstrconsts.rsbtnfacecolorcaption
+msgid "Button Face"
+msgstr "Superfice pulsante"
+
+#: lclstrconsts.rsbtnhighlightcolorcaption
+msgid "Button Highlight"
+msgstr ""
+
+#: lclstrconsts.rsbtnshadowcolorcaption
+msgid "Button Shadow"
+msgstr "Ombra pulsante"
+
+#: lclstrconsts.rsbtntextcolorcaption
+msgid "Button Text"
+msgstr "Testo pulsante"
+
+#: lclstrconsts.rscalculator
+msgid "Calculator"
+msgstr "Calcolatore"
+
+#: lclstrconsts.rscancelrecordhint
+msgctxt "lclstrconsts.rscancelrecordhint"
+msgid "Cancel"
+msgstr "Cancella"
+
+#: lclstrconsts.rscannotfocus
+msgid "Can not focus"
+msgstr "Impossibile spostare il focus"
+
+#: lclstrconsts.rscanvasdoesnotallowdrawing
+msgid "Canvas does not allow drawing"
+msgstr "Le tele non permettono il disegno"
+
+#: lclstrconsts.rscaptiontextcolorcaption
+msgid "Caption Text"
+msgstr "Testo caption"
+
+#: lclstrconsts.rscasesensitive
+msgid "Case sensitive"
+msgstr "Differenzia maiuscolo e minuscolo"
+
+#: lclstrconsts.rscontrolclasscantcontainchildclass
+msgid "Control of class '%s' can't have control of class '%s' as a child"
+msgstr ""
+
+#: lclstrconsts.rscontrolhasnoparentwindow
+msgid "Control '%s' has no parent window"
+msgstr ""
+
+#: lclstrconsts.rscreamcolorcaption
+msgid "Cream"
+msgstr "Crema"
+
+#: lclstrconsts.rscreatinggdbcatchableerror
+msgid "Creating gdb catchable error:"
+msgstr "Creazione errore intercettabile gdb:"
+
+#: lclstrconsts.rscursor
+msgid "Cursor"
+msgstr "cursore"
+
+#: lclstrconsts.rscustomcolorcaption
+msgid "Custom ..."
+msgstr "Personalizzato ..."
+
+#: lclstrconsts.rsdefaultcolorcaption
+msgid "Default"
+msgstr "Standard"
+
+#: lclstrconsts.rsdefaultfileinfovalue
+msgid "permissions user group size date time"
+msgstr "permessi utente gruppo ampiezza data ora"
+
+#: lclstrconsts.rsdeleterecord
+msgid "Delete record?"
+msgstr "Eliminare un record?"
+
+#: lclstrconsts.rsdeleterecordhint
+msgctxt "lclstrconsts.rsdeleterecordhint"
+msgid "Delete"
+msgstr "Elimina"
+
+#: lclstrconsts.rsdirection
+msgid "Direction"
+msgstr "Direzione"
+
+#: lclstrconsts.rsdirectory
+msgid "&Directory"
+msgstr "&Directory"
+
+#: lclstrconsts.rsdocking
+msgid "Docking"
+msgstr "Aggancia"
+
+#: lclstrconsts.rsduplicateiconformat
+msgid "Duplicate icon format."
+msgstr "Formato icona duplice."
+
+#: lclstrconsts.rseditrecordhint
+msgid "Edit"
+msgstr "Modifica"
+
+#: lclstrconsts.rsentirescope
+msgid "Search entire file"
+msgstr "Ricerca il file interamente"
+
+#: lclstrconsts.rserror
+msgctxt "lclstrconsts.rserror"
+msgid "Error"
+msgstr "Errore"
+
+#: lclstrconsts.rserrorcreatingdevicecontext
+msgid "Error creating device context for %s.%s"
+msgstr "Errore nella creazione del contesto dispositivo per %s.%s"
+
+#: lclstrconsts.rserrorinlcl
+msgid "ERROR in LCL: "
+msgstr "Errore nell'LCL:"
+
+#: lclstrconsts.rserroroccurredinataddressframe
+msgid "Error occurred in %s at %sAddress %s%s Frame %s"
+msgstr "Errore in %s a %sIndirizzo %s%s Frame %s"
+
+#: lclstrconsts.rserrorreadingproperty
+msgid "Error reading %s%s%s: %s"
+msgstr "Errore nella lettura di %s%s%s: %s"
+
+#: lclstrconsts.rserrorwhilesavingbitmap
+msgid "Error while saving bitmap."
+msgstr "Errore salvando il bitmap."
+
+#: lclstrconsts.rsexception
+msgid "Exception"
+msgstr "Eccezzione"
+
+#: lclstrconsts.rsfddirectorymustexist
+msgid "Directory must exist"
+msgstr "La directory deve esistere"
+
+#: lclstrconsts.rsfddirectorynotexist
+msgid "The directory \"%s\" does not exist."
+msgstr "La directory \"%s\" non esiste."
+
+#: lclstrconsts.rsfdfilealreadyexists
+msgid "The file \"%s\" already exists. Overwrite ?"
+msgstr "Il file \"%s\" Esiste già. Lo rimpiazzo?"
+
+#: lclstrconsts.rsfdfilemustexist
+msgid "File must exist"
+msgstr "Il file deve esistere"
+
+#: lclstrconsts.rsfdfilenotexist
+msgid "The file \"%s\" does not exist."
+msgstr "Il file \"%s\" non esiste."
+
+#: lclstrconsts.rsfdfilereadonly
+msgid "The file \"%s\" is not writable."
+msgstr "Il file \"%s\" non è scrivibile."
+
+#: lclstrconsts.rsfdfilereadonlytitle
+msgid "File is not writable"
+msgstr "Il file non è scrivibile"
+
+#: lclstrconsts.rsfdfilesaveas
+msgid "Save file as"
+msgstr "Salva con nome"
+
+#: lclstrconsts.rsfdopenfile
+msgid "Open existing file"
+msgstr "Apri file esistenti"
+
+#: lclstrconsts.rsfdoverwritefile
+msgid "Overwrite file ?"
+msgstr "Sovrascrivere il file?"
+
+#: lclstrconsts.rsfdpathmustexist
+msgid "Path must exist"
+msgstr "Il percorso deve esistere"
+
+#: lclstrconsts.rsfdpathnoexist
+msgid "The path \"%s\" does not exist."
+msgstr "Il percorso \"%s\" non esiste."
+
+#: lclstrconsts.rsfdselectdirectory
+msgid "Select Directory"
+msgstr "Selezionare una directory"
+
+#: lclstrconsts.rsfileinfofilenotfound
+msgid "(file not found: \"%s\")"
+msgstr "(file non trovato \"%s\")"
+
+#: lclstrconsts.rsfileinformation
+msgid "File information"
+msgstr "Informazioni sul file"
+
+#: lclstrconsts.rsfind
+msgid "Find"
+msgstr "Trova"
+
+#: lclstrconsts.rsfindmore
+msgid "Find more"
+msgstr "Trova successivo"
+
+#: lclstrconsts.rsfirstrecordhint
+msgid "First"
+msgstr "Primo"
+
+#: lclstrconsts.rsfixedcolstoobig
+msgid "FixedCols can't be >= ColCount"
+msgstr "FixedCol non può essere >= ColCount"
+
+#: lclstrconsts.rsfixedrowstoobig
+msgid "FixedRows can't be >= RowCount"
+msgstr "FixedRows non può essere >= RowCount"
+
+#: lclstrconsts.rsformcolorcaption
+msgid "Form"
+msgstr "Form"
+
+#: lclstrconsts.rsformstreamingerror
+msgid "Form streaming \"%s\" error: %s"
+msgstr "Streaming della form \"%s\" errore: %s"
+
+#: lclstrconsts.rsforward
+msgid "Forward"
+msgstr "Avanti"
+
+#: lclstrconsts.rsfuchsiacolorcaption
+msgid "Fuchsia"
+msgstr "Fucsia"
+
+#: lclstrconsts.rsgdkoptiondebug
+msgid "--gdk-debug flags     Turn on specific GDK trace/debug messages."
+msgstr "--gdk-debug-flags    Abilita specifici messaggi di trace/debug GDK."
+
+#: lclstrconsts.rsgdkoptionnodebug
+msgid "--gdk-no-debug flags  Turn off specific GDK trace/debug messages."
+msgstr "--gdk-no-debug flags  Disabilita messaggi specifici di trace/debug di GDK"
+
+#: lclstrconsts.rsgif
+msgid "Graphics Interchange Format"
+msgstr ""
+
+#: lclstrconsts.rsgoptionfatalwarnings
+msgid "--g-fatal-warnings    Warnings and errors generated by Gtk+/GDK will halt the application."
+msgstr "--g-fatal-warnings    Avvertimenti ed errori generati da Gtk/GDK bloccheranno l'applicazione."
+
+#: lclstrconsts.rsgradientactivecaptioncolorcaption
+msgid "Gradient Active Caption"
+msgstr "Caption con gradient attiva"
+
+#: lclstrconsts.rsgradientinactivecaptioncolorcaption
+msgid "Gradient Inactive Caption"
+msgstr "Caption con gradient disattiva"
+
+#: lclstrconsts.rsgraphic
+msgid "Graphic"
+msgstr ""
+
+#: lclstrconsts.rsgraycolorcaption
+msgid "Gray"
+msgstr "Grigio"
+
+#: lclstrconsts.rsgraytextcolorcaption
+msgid "Gray Text"
+msgstr "testo grigio"
+
+#: lclstrconsts.rsgreencolorcaption
+msgid "Green"
+msgstr "Verde"
+
+#: lclstrconsts.rsgridfiledoesnotexists
+msgid "Grid file doesn't exists"
+msgstr "Il file griglia non esiste"
+
+#: lclstrconsts.rsgridindexoutofrange
+msgid "Grid index out of range."
+msgstr "Indice della griglia fuori dai limiti."
+
+#: lclstrconsts.rsgroupindexcannotbelessthanprevious
+msgid "GroupIndex cannot be less than a previous menu item's GroupIndex"
+msgstr "GroupIndex non può essere inferiore ad un GroupIndex di un elemento menu precedente"
+
+#: lclstrconsts.rsgtkfilter
+msgid "Filter:"
+msgstr "Filtro:"
+
+#: lclstrconsts.rsgtkhistory
+msgid "History:"
+msgstr "Cronologia:"
+
+#: lclstrconsts.rsgtkoptionclass
+msgid "--class classname     Following Xt conventions, the class of a program is the program name with the initial character capitalized. For example, the classname for gimp is \"Gimp\". If --class is specified, the class of the program will be set to \"classname\"."
+msgstr "--class nomeclasse     Seguendo le convenzioni Xt, la classe di un programma è il nome del programma con il carattere iniziale maiuscolo. Per esempio il nome della classe per gimp è \"Gimp\". Se --class viene specificata, la classe del programma verrà impostata a \"nomeclasse\"."
+
+#: lclstrconsts.rsgtkoptiondebug
+msgid "--gtk-debug flags     Turn on specific Gtk+ trace/debug messages."
+msgstr "--gtk-debug flags     Abilita messaggi specifici di trace/debug Gtk+"
+
+#: lclstrconsts.rsgtkoptiondisplay
+msgid "--display h:s:d       Connect to the specified X server, where \"h\" is the hostname, \"s\" is the server number (usually 0), and \"d\" is the display number (typically omitted). If --display is not specified, the DISPLAY environment variable is used."
+msgstr "--display h:s:d       Connessione al server X specificato da \"h\" per il nome host, \"s\" per il numero di server (solitamente 0) e \"d\" per il numero di schermo (normalmente viene omesso). Se --display non è specificato verrà utilizzata la variabile di ambiente DISPLAY."
+
+#: lclstrconsts.rsgtkoptionmodule
+msgid "--gtk-module module   Load the specified module at startup."
+msgstr "--gtk-module-module   Carica il modulo specificato alla partenza."
+
+#: lclstrconsts.rsgtkoptionname
+msgid "--name programe       Set program name to \"progname\". If not specified, program name will be set to ParamStrUTF8(0)."
+msgstr "--name programe       Imposta il nome del programma a \"progname\". Se non specificato, il nome del programma sarà impostato a ParamStrUTF8(0)."
+
+#: lclstrconsts.rsgtkoptionnodebug
+msgid "--gtk-no-debug flags  Turn off specific Gtk+ trace/debug messages."
+msgstr "--gtk-no-debug-flags  Disabilita messaggi specifici di trace/debug Gtk+"
+
+#: lclstrconsts.rsgtkoptionnotransient
+msgid "--lcl-no-transient    Do not set transient order for modal forms"
+msgstr "--lcl-no-transient    Non impostare l'ordine transiente per form modali"
+
+#: lclstrconsts.rsgtkoptionnoxshm
+msgid "--no-xshm             Disable use of the X Shared Memory Extension."
+msgstr "--no-xshm             Disabilita l'uso dell'estensione della memoria condivisa di X."
+
+#: lclstrconsts.rsgtkoptionsync
+msgid "--sync                Call XSynchronize (display, True) after the Xserver connection has been established. This makes debugging X protocol errors easier, because X request buffering will be disabled and X errors will be received immediately after the protocol request that generated the error has been processed by the X server."
+msgstr "--sync                Chiama XSynchronize (display, True) appena viene stabilita la connessione al server X. Ciò semplifica la correzzione degli errori di protocollo X dato che la richiesta di bufferizzazione di X sarà disabilitata e quindi gli errori di X verranno ricevuti subito dopo che la richiesta di protocollo che ha generato l'errore è stata processata dal server X."
+
+#: lclstrconsts.rshelpalreadyregistered
+msgid "%s: Already registered"
+msgstr "%s: Già registrato"
+
+#: lclstrconsts.rshelpcontextnotfound
+msgid "Help Context not found"
+msgstr "Pagina del manuale non trovata"
+
+#: lclstrconsts.rshelpdatabasenotfound
+msgid "Help Database not found"
+msgstr "Archivio Help non trovato"
+
+#: lclstrconsts.rshelperror
+msgid "Help Error"
+msgstr "Errore nell'Help"
+
+#: lclstrconsts.rshelphelpcontextnotfound
+msgid "Help context %s not found."
+msgstr "Aiuto su %s non trovato."
+
+#: lclstrconsts.rshelphelpcontextnotfoundindatabase
+msgid "Help context %s not found in Database %s%s%s."
+msgstr "Aiuto su %s non trovato nell'archivio %s%s%s."
+
+#: lclstrconsts.rshelphelpdatabasedidnotfoundaviewerforahelppageoftype
+msgid "Help Database %s%s%s did not found a viewer for a help page of type %s"
+msgstr "L'archivio Help %s%s%s non trova un visualizzatore per le pagine di aiuto di tipo %s"
+
+#: lclstrconsts.rshelphelpdatabasenotfound
+msgid "Help Database %s%s%s not found"
+msgstr "Archivio Help %s%s%s non trovato"
+
+#: lclstrconsts.rshelphelpkeywordnotfound
+msgid "Help keyword %s%s%s not found."
+msgstr "Aiuto sulla parola chiave %s%s%s non trovato."
+
+#: lclstrconsts.rshelphelpkeywordnotfoundindatabase
+msgid "Help keyword %s%s%s not found in Database %s%s%s."
+msgstr "Aiuto sulla parola chiave %s%s%s non trovato nell'archivio %s%s%s."
+
+#: lclstrconsts.rshelphelpnodehasnohelpdatabase
+msgid "Help node %s%s%s has no Help Database"
+msgstr "Il nodo di aiuto %s%s%s non ha un Database di aiuto"
+
+#: lclstrconsts.rshelpnohelpfoundforsource
+msgid "No help found for line %d, column %d of %s."
+msgstr "Nessun aiuto trovato per la linea %d, colonna %d di %s."
+
+#: lclstrconsts.rshelpnohelpnodesavailable
+msgid "No help nodes available"
+msgstr "Nessun aiuto disponibile"
+
+#: lclstrconsts.rshelpnotfound
+msgid "Help not found"
+msgstr "Aiuto non trovato"
+
+#: lclstrconsts.rshelpnotregistered
+msgid "%s: Not registered"
+msgstr "%s: Non registrato"
+
+#: lclstrconsts.rshelpselectorerror
+msgid "Help Selector Error"
+msgstr "Errore nella selezione dell'Help"
+
+#: lclstrconsts.rshelpthereisnoviewerforhelptype
+msgid "There is no viewer for help type %s%s%s"
+msgstr "Nessun visualizzatore per gli help di tipo %s%s%s"
+
+#: lclstrconsts.rshelpviewererror
+msgid "Help Viewer Error"
+msgstr "Errore nel visualizzatore dell'Help"
+
+#: lclstrconsts.rshelpviewernotfound
+msgid "Help Viewer not found"
+msgstr "Visualizzatore dell'Help non trovato"
+
+#: lclstrconsts.rshighlightcolorcaption
+msgid "Highlight"
+msgstr ""
+
+#: lclstrconsts.rshighlighttextcolorcaption
+msgid "Highlight Text"
+msgstr ""
+
+#: lclstrconsts.rshotlightcolorcaption
+msgid "Hot Light"
+msgstr ""
+
+#: lclstrconsts.rsicns
+msgid "Mac OS X Icon"
+msgstr ""
+
+#: lclstrconsts.rsicon
+msgid "Icon"
+msgstr "Icona"
+
+#: lclstrconsts.rsiconimageempty
+msgid "Icon image cannot be empty"
+msgstr "L'immagine dell'icona non può essere vuota"
+
+#: lclstrconsts.rsiconimageformat
+msgid "Icon image must have the same format"
+msgstr "L'immagine dell'icona deve avere lo stesso formato"
+
+#: lclstrconsts.rsiconimageformatchange
+msgid "Cannot change format of icon image"
+msgstr "Impossibile cambiare il formato dell'immagine dell'icona"
+
+#: lclstrconsts.rsiconimagesize
+msgid "Icon image must have the same size"
+msgstr "L'immaigne dell'icona deve avere le stesse dimensioni"
+
+#: lclstrconsts.rsiconimagesizechange
+msgid "Cannot change size of icon image"
+msgstr "Impossibile cambiare il formato dell'immagine dell'icona"
+
+#: lclstrconsts.rsiconnocurrent
+msgid "Icon has no current image"
+msgstr "L'icona non ha nessuna immagine corrente"
+
+#: lclstrconsts.rsinactivebordercolorcaption
+msgid "Inactive Border"
+msgstr "Bordo inattivo"
+
+#: lclstrconsts.rsinactivecaptioncolorcaption
+msgctxt "lclstrconsts.rsinactivecaptioncolorcaption"
+msgid "Inactive Caption"
+msgstr "Caption inattiva"
+
+#: lclstrconsts.rsinactivecaptiontext
+msgctxt "lclstrconsts.rsinactivecaptiontext"
+msgid "Inactive Caption"
+msgstr "Caption inattiva"
+
+#: lclstrconsts.rsindexoutofbounds
+msgid "%s Index %d out of bounds 0 .. %d"
+msgstr "%s indice %d fuori dai limiti 0 .. %d"
+
+#: lclstrconsts.rsindexoutofrange
+msgid "Index Out of range Cell[Col=%d Row=%d]"
+msgstr "Indice fuori dall'ampiezza massima Cell[Col=%d Row=%d]"
+
+#: lclstrconsts.rsinfobkcolorcaption
+msgid "Info Background"
+msgstr "Informazioni sfondo"
+
+#: lclstrconsts.rsinfotextcolorcaption
+msgid "Info Text"
+msgstr "Informazioni testo"
+
+#: lclstrconsts.rsinsertrecordhint
+msgctxt "lclstrconsts.rsinsertrecordhint"
+msgid "Insert"
+msgstr "Inserimento"
+
+#: lclstrconsts.rsinvaliddate
+msgid "Invalid Date : %s"
+msgstr "Data non valida: %s"
+
+#: lclstrconsts.rsinvaliddaterangehint
+msgid "Invalid Date: %s. Must be between %s and %s"
+msgstr "Data non valida: %s. Deve essere tra %s e %s"
+
+#: lclstrconsts.rsinvalidformobjectstream
+msgid "invalid Form object stream"
+msgstr "Stream form oggetto non valido"
+
+#: lclstrconsts.rsinvalidpropertyvalue
+msgid "Invalid property value"
+msgstr "Valore proprietà non valido"
+
+#: lclstrconsts.rsinvalidstreamformat
+msgid "Invalid stream format"
+msgstr "Formato stream non valido"
+
+#: lclstrconsts.rsisalreadyassociatedwith
+msgid "%s is already associated with %s"
+msgstr "%s è già associato con %s"
+
+#: lclstrconsts.rsjpeg
+msgid "Joint Picture Expert Group"
+msgstr ""
+
+#: lclstrconsts.rslastrecordhint
+msgid "Last"
+msgstr "Ultimo"
+
+#: lclstrconsts.rslimecolorcaption
+msgid "Lime"
+msgstr ""
+
+#: lclstrconsts.rslistindexexceedsbounds
+msgid "List index exceeds bounds (%d)"
+msgstr "L'elenco indice eccede i limiti (%d)"
+
+#: lclstrconsts.rslistmustbeempty
+msgid "List must be empty"
+msgstr "L'elenco deve essere vuoto"
+
+#: lclstrconsts.rsmarooncolorcaption
+msgid "Maroon"
+msgstr ""
+
+#: lclstrconsts.rsmbabort
+msgid "Abort"
+msgstr "Blocca"
+
+#: lclstrconsts.rsmball
+msgid "&All"
+msgstr "&Tutti"
+
+#: lclstrconsts.rsmbcancel
+msgctxt "lclstrconsts.rsmbcancel"
+msgid "Cancel"
+msgstr "Annulla"
+
+#: lclstrconsts.rsmbclose
+msgid "&Close"
+msgstr "&Chiudi"
+
+#: lclstrconsts.rsmbhelp
+msgid "&Help"
+msgstr "&Aiuto"
+
+#: lclstrconsts.rsmbignore
+msgid "&Ignore"
+msgstr "&Ignora"
+
+#: lclstrconsts.rsmbno
+msgid "&No"
+msgstr "&No"
+
+#: lclstrconsts.rsmbnotoall
+msgid "No to all"
+msgstr "No a tutto"
+
+#: lclstrconsts.rsmbok
+msgid "&OK"
+msgstr "&OK"
+
+#: lclstrconsts.rsmbopen
+msgid "&Open"
+msgstr "&Apri"
+
+#: lclstrconsts.rsmbretry
+msgid "&Retry"
+msgstr "&Riprova"
+
+#: lclstrconsts.rsmbsave
+msgid "&Save"
+msgstr "&Salva"
+
+#: lclstrconsts.rsmbunlock
+msgid "&Unlock"
+msgstr "&Sblocca"
+
+#: lclstrconsts.rsmbyes
+msgid "&Yes"
+msgstr "&Si"
+
+#: lclstrconsts.rsmbyestoall
+msgid "Yes to &All"
+msgstr "Si a &All"
+
+#: lclstrconsts.rsmedgraycolorcaption
+msgid "Medium Gray"
+msgstr ""
+
+#: lclstrconsts.rsmenubarcolorcaption
+msgid "Menu Bar"
+msgstr ""
+
+#: lclstrconsts.rsmenucolorcaption
+msgctxt "lclstrconsts.rsmenucolorcaption"
+msgid "Menu"
+msgstr "Menu"
+
+#: lclstrconsts.rsmenuhighlightcolorcaption
+msgid "Menu Highlight"
+msgstr ""
+
+#: lclstrconsts.rsmenutextcolorcaption
+msgid "Menu Text"
+msgstr ""
+
+#: lclstrconsts.rsmodified
+msgid "  modified "
+msgstr "  modificato "
+
+#: lclstrconsts.rsmoneygreencolorcaption
+msgid "Money Green"
+msgstr ""
+
+#: lclstrconsts.rsmtauthentication
+msgid "Authentication"
+msgstr "Autenticazione"
+
+#: lclstrconsts.rsmtconfirmation
+msgid "Confirmation"
+msgstr "Conferma"
+
+#: lclstrconsts.rsmtcustom
+msgid "Custom"
+msgstr "Personalizza"
+
+#: lclstrconsts.rsmterror
+msgctxt "lclstrconsts.rsmterror"
+msgid "Error"
+msgstr "Errore"
+
+#: lclstrconsts.rsmtinformation
+msgid "Information"
+msgstr "Informazioni"
+
+#: lclstrconsts.rsmtwarning
+msgid "Warning"
+msgstr "Attenzione"
+
+#: lclstrconsts.rsnavycolorcaption
+msgid "Navy"
+msgstr ""
+
+#: lclstrconsts.rsnextrecordhint
+msgctxt "lclstrconsts.rsnextrecordhint"
+msgid "Next"
+msgstr "Successivo"
+
+#: lclstrconsts.rsnonecolorcaption
+msgid "None"
+msgstr "Niente"
+
+#: lclstrconsts.rsnotavalidgridfile
+msgid "Not a valid grid file"
+msgstr "Non è un file griglia valido"
+
+#: lclstrconsts.rsnowidgetset
+msgid "No widgetset object. Please check if the unit \"interfaces\" was added to the programs uses clause."
+msgstr "Nessun oggetto. Verifica se la unit  \"interfaces\" è stata aggiunta alla clausola uses del programma."
+
+#: lclstrconsts.rsolivecolorcaption
+msgid "Olive"
+msgstr ""
+
+#: lclstrconsts.rspickdate
+msgid "Select a date"
+msgstr "Seleziona una data"
+
+#: lclstrconsts.rspixmap
+msgid "Pixmap"
+msgstr "Pixmap"
+
+#: lclstrconsts.rsportablebitmap
+msgid "Portable BitMap"
+msgstr ""
+
+#: lclstrconsts.rsportablegraymap
+msgid "Portable GrayMap"
+msgstr ""
+
+#: lclstrconsts.rsportablenetworkgraphic
+msgid "Portable Network Graphic"
+msgstr "Portable Network Graphic"
+
+#: lclstrconsts.rsportablepixmap
+msgid "Portable PixMap"
+msgstr ""
+
+#: lclstrconsts.rspostrecordhint
+msgid "Post"
+msgstr ""
+
+#: lclstrconsts.rspressoktoignoreandriskdatacorruptionpresscanceltok
+msgid "%s%sPress OK to ignore and risk data corruption.%sPress Cancel to kill the program."
+msgstr "%s%sPremi Ok per ignorare il messaggio e rischiare di corrompere i dati.%sPremi Annulla per terminare l'esecuzione del programma"
+
+#: lclstrconsts.rspriorrecordhint
+msgctxt "lclstrconsts.rspriorrecordhint"
+msgid "Prior"
+msgstr "Precedente"
+
+#: lclstrconsts.rspropertydoesnotexist
+msgid "Property %s does not exist"
+msgstr "La proprietà %s non esiste"
+
+#: lclstrconsts.rspurplecolorcaption
+msgid "Purple"
+msgstr "Viola"
+
+#: lclstrconsts.rsqtoptiondograb
+msgid "-dograb (only under X11), running under a debugger can cause an implicit -nograb, use -dograb to override. Need QT_DEBUG."
+msgstr ""
+
+#: lclstrconsts.rsqtoptiongraphicsstyle
+msgid "-graphicssystem param, sets the backend to be used for on-screen widgets and QPixmaps. Available options are native, raster and opengl. OpenGL is still unstable."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionnograb
+msgid "-nograb, tells Qt that it must never grab the mouse or the keyboard. Need QT_DEBUG."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionreverse
+msgid "-reverse, sets the application's layout direction to Qt::RightToLeft."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionsession
+msgid "-session session, restores the application from an earlier session."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionstyle
+msgid "-style style or -style=style, sets the application GUI style. Possible values are motif, windows, and platinum. If you compiled Qt with additional styles or have additional styles as plugins these will be available to the -style  command line option. NOTE: Not all styles are available on all platforms. If style param does not exist Qt will start an application with default common style (windows)."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionstylesheet
+msgid "-stylesheet stylesheet or -stylesheet=stylesheet, sets the application Style Sheet. The value must be a path to a file that contains the Style Sheet. Note: Relative URLs in the Style Sheet file are relative to the Style Sheet file's path."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionsync
+msgid "-sync (only under X11), switches to synchronous mode for debugging."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionwidgetcount
+msgid "-widgetcount, prints debug message at the end about number of widgets left undestroyed and maximum number of widgets existed at the same time."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11bgcolor
+msgid "-bg or -background color, sets the default background color and an application palette (light and dark shades are calculated)."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11btncolor
+msgid "-btn or -button color, sets the default button color."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11cmap
+msgid "-cmap, causes the application to install a private color map on an 8-bit display."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11display
+msgid "-display display, sets the X display (default is $DISPLAY)."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11fgcolor
+msgid "-fg or -foreground color, sets the default foreground color."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11font
+msgid "-fn or -font font, defines the application font. The font should be specified using an X logical font description."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11geometry
+msgid "-geometry geometry, sets the client geometry of the first window that is shown."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11im
+msgid "-im, sets the input method server (equivalent to setting the XMODIFIERS environment variable)."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11inputstyle
+msgid "-inputstyle, defines how the input is inserted into the given widget, e.g. onTheSpot makes the input appear directly in the widget, while overTheSpot makes the input appear in a box floating over the widget and is not inserted until the editing is done."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11name
+msgid "-name name, sets the application name."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11ncols
+msgid "-ncols count, limits the number of colors allocated in the color cube on an 8-bit display, if the application is using the QApplication::ManyColor color specification. If count is 216 then a 6x6x6 color cube is used (i.e. 6 levels of red, 6 of green, and 6 of blue); for other values, a cube approximately proportional to a 2x3x1 cube is used."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11title
+msgid "-title title, sets the application title."
+msgstr ""
+
+#: lclstrconsts.rsqtoptionx11visual
+msgid "-visual TrueColor, forces the application to use a TrueColor visual on an 8-bit display."
+msgstr ""
+
+#: lclstrconsts.rsrasterimageendupdate
+msgid "Endupdate while no update in progress"
+msgstr ""
+
+#: lclstrconsts.rsrasterimagesaveinupdate
+msgid "Cannot save image while update in progress"
+msgstr ""
+
+#: lclstrconsts.rsrasterimageupdateall
+msgid "Cannot begin update all when canvas only update in progress"
+msgstr ""
+
+#: lclstrconsts.rsredcolorcaption
+msgid "Red"
+msgstr "Rosso"
+
+#: lclstrconsts.rsrefreshrecordshint
+msgid "Refresh"
+msgstr "Aggiorna"
+
+#: lclstrconsts.rsreplace
+msgid "Replace"
+msgstr "Sostituisci"
+
+#: lclstrconsts.rsreplaceall
+msgid "Replace all"
+msgstr "Sostituisci tutto"
+
+#: lclstrconsts.rsresourcenotfound
+msgctxt "lclstrconsts.rsresourcenotfound"
+msgid "Resource %s not found"
+msgstr "Risorsa %s non trovata"
+
+#: lclstrconsts.rsscrollbarcolorcaption
+msgid "ScrollBar"
+msgstr ""
+
+#: lclstrconsts.rsscrollbaroutofrange
+msgid "ScrollBar property out of range"
+msgstr "Proprietà barra di scorrimento fuori dal range"
+
+#: lclstrconsts.rsselectcolortitle
+msgid "Select color"
+msgstr "Selezionare un colore"
+
+#: lclstrconsts.rsselectfonttitle
+msgid "Select a font"
+msgstr "Selezionare un font"
+
+#: lclstrconsts.rssilvercolorcaption
+msgid "Silver"
+msgstr "Argento"
+
+#: lclstrconsts.rssize
+msgid "  size "
+msgstr "  ampiezza "
+
+#: lclstrconsts.rsskybluecolorcaption
+msgid "Sky Blue"
+msgstr ""
+
+#: lclstrconsts.rstealcolorcaption
+msgid "Teal"
+msgstr ""
+
+#: lclstrconsts.rstext
+msgid "Text"
+msgstr "Testo"
+
+#: lclstrconsts.rstiff
+msgid "Tagged Image File Format"
+msgstr ""
+
+#: lclstrconsts.rsunabletoloaddefaultfont
+msgid "Unable to load default font"
+msgstr "Impossibile caricare il font predefinito"
+
+#: lclstrconsts.rsunknownerrorpleasereportthisbug
+msgid "Unknown Error, please report this bug"
+msgstr "Errore sconosciuto. Per favore, riporta questo errore al team di sviluppo"
+
+#: lclstrconsts.rsunknownpictureextension
+msgid "Unknown picture extension"
+msgstr "Estensione immagine sconosciuta"
+
+#: lclstrconsts.rsunknownpictureformat
+msgid "Unknown picture format"
+msgstr ""
+
+#: lclstrconsts.rsunsupportedbitmapformat
+msgid "Unsupported bitmap format."
+msgstr "Formato bitmap non supportato."
+
+#: lclstrconsts.rsunsupportedclipboardformat
+msgid "Unsupported clipboard format: %s"
+msgstr "Formato degli appunti non supportato %s"
+
+#: lclstrconsts.rswarningunreleaseddcsdump
+msgid " WARNING: There are %d unreleased DCs, a detailed dump follows:"
+msgstr "Attenzione: esistono %s DC non rilasciati, segue un dump dettagliato:"
+
+#: lclstrconsts.rswarningunreleasedgdiobjectsdump
+msgid " WARNING: There are %d unreleased GDIObjects, a detailed dump follows:"
+msgstr "Attenzione: ci sono %d GDIObjects non rilasciati, segue un dump dettagliato:"
+
+#: lclstrconsts.rswarningunreleasedmessagesinqueue
+msgid " WARNING: There are %d messages left in the queue! I'll free them"
+msgstr "Attenzione: ci sono %d messaggi lasciati in coda! Li sto liberando"
+
+#: lclstrconsts.rswarningunreleasedtimerinfos
+msgid " WARNING: There are %d TimerInfo structures left, I'll free them"
+msgstr "Attenzione: ci sono ancora %d strutture Timer Info, li sto liberando "
+
+#: lclstrconsts.rswarningunremovedpaintmessages
+msgid " WARNING: There are %s unremoved LM_PAINT/LM_GtkPAINT message links left."
+msgstr "Attenzione: esistono ancora %s collegamenti a messaggi LM_GtkPAINT."
+
+#: lclstrconsts.rswhitecolorcaption
+msgid "White"
+msgstr "Bianco"
+
+#: lclstrconsts.rswholewordsonly
+msgid "Whole words only"
+msgstr "Solo parole intere"
+
+#: lclstrconsts.rswin32error
+msgid "Error:"
+msgstr "Errore:"
+
+#: lclstrconsts.rswin32warning
+msgid "Warning:"
+msgstr "Attenzione:"
+
+#: lclstrconsts.rswindowcolorcaption
+msgid "Window"
+msgstr "Finestra"
+
+#: lclstrconsts.rswindowframecolorcaption
+msgid "Window Frame"
+msgstr "Frame della finestra"
+
+#: lclstrconsts.rswindowtextcolorcaption
+msgid "Window Text"
+msgstr "Testo della finestra"
+
+#: lclstrconsts.rsyellowcolorcaption
+msgid "Yellow"
+msgstr "Giallo"
+
+#: lclstrconsts.scannotfocus
+msgid "Cannot focus a disabled or invisible window"
+msgstr "Impossibile spostare il focus su una finestra disabilitata o invisibile"
+
+#: lclstrconsts.sduplicatemenus
+msgid "Duplicate menus"
+msgstr "Menu dupicati"
+
+#: lclstrconsts.sinvalidactioncreation
+msgid "Invalid action creation"
+msgstr "Creazione azione non valida"
+
+#: lclstrconsts.sinvalidactionenumeration
+msgid "Invalid action enumeration"
+msgstr "Enumerazione azione non valida"
+
+#: lclstrconsts.sinvalidactionregistration
+msgid "Invalid action registration"
+msgstr "Registrazione azione non valida"
+
+#: lclstrconsts.sinvalidactionunregistration
+msgid "Invalid action unregistration"
+msgstr "Deregistrazione azione non valida"
+
+#: lclstrconsts.sinvalidcharset
+msgid "The char set in mask \"%s\" is not valid!"
+msgstr "Il carattere di mask \"%s\" non è valido"
+
+#: lclstrconsts.sinvalidimagesize
+msgid "Invalid image size"
+msgstr "Grandezza immagine non valida"
+
+#: lclstrconsts.sinvalidindex
+msgid "Invalid ImageList Index"
+msgstr "Indice ImageList non valido"
+
+#: lclstrconsts.smenuindexerror
+msgid "Menu index out of range"
+msgstr "Indice del menu fuori range"
+
+#: lclstrconsts.smenuitemisnil
+msgid "MenuItem is nil"
+msgstr "La voce menu è nulla"
+
+#: lclstrconsts.smenunotfound
+msgid "Sub-menu is not in menu"
+msgstr "Il sottomenu non è nel menu"
+
+#: lclstrconsts.smkcalt
+msgid "Alt+"
+msgstr ""
+
+#: lclstrconsts.smkcbksp
+msgid "BkSp"
+msgstr ""
+
+#: lclstrconsts.smkcctrl
+msgid "Ctrl+"
+msgstr ""
+
+#: lclstrconsts.smkcdel
+msgid "Del"
+msgstr ""
+
+#: lclstrconsts.smkcdown
+msgctxt "lclstrconsts.smkcdown"
+msgid "Down"
+msgstr "Giù"
+
+#: lclstrconsts.smkcend
+msgctxt "lclstrconsts.smkcend"
+msgid "End"
+msgstr "Fine"
+
+#: lclstrconsts.smkcenter
+msgid "Enter"
+msgstr ""
+
+#: lclstrconsts.smkcesc
+msgid "Esc"
+msgstr ""
+
+#: lclstrconsts.smkchome
+msgctxt "lclstrconsts.smkchome"
+msgid "Home"
+msgstr "Home"
+
+#: lclstrconsts.smkcins
+msgid "Ins"
+msgstr ""
+
+#: lclstrconsts.smkcleft
+msgctxt "lclstrconsts.smkcleft"
+msgid "Left"
+msgstr "Sinistra"
+
+#: lclstrconsts.smkcmeta
+msgid "Meta+"
+msgstr ""
+
+#: lclstrconsts.smkcpgdn
+msgid "PgDn"
+msgstr ""
+
+#: lclstrconsts.smkcpgup
+msgid "PgUp"
+msgstr ""
+
+#: lclstrconsts.smkcright
+msgctxt "lclstrconsts.smkcright"
+msgid "Right"
+msgstr "Destra"
+
+#: lclstrconsts.smkcshift
+msgid "Shift+"
+msgstr ""
+
+#: lclstrconsts.smkcspace
+msgid "Space"
+msgstr ""
+
+#: lclstrconsts.smkctab
+msgctxt "lclstrconsts.smkctab"
+msgid "Tab"
+msgstr "Tab"
+
+#: lclstrconsts.smkcup
+msgctxt "lclstrconsts.smkcup"
+msgid "Up"
+msgstr "Su"
+
+#: lclstrconsts.snomdiform
+msgid "No MDI form present."
+msgstr "Nessuna form MDI presente."
+
+#: lclstrconsts.snotimers
+msgid "No timers available"
+msgstr "Nessun timer disponibile"
+
+#: lclstrconsts.sparexpected
+msgid "Wrong token type: %s expected"
+msgstr ""
+
+#: lclstrconsts.sparinvalidfloat
+msgid "Invalid floating point number: %s"
+msgstr ""
+
+#: lclstrconsts.sparinvalidinteger
+msgid "Invalid integer number: %s"
+msgstr ""
+
+#: lclstrconsts.sparlocinfo
+msgid " (at %d,%d, stream offset %.8x)"
+msgstr ""
+
+#: lclstrconsts.sparunterminatedbinvalue
+msgid "Unterminated byte value"
+msgstr ""
+
+#: lclstrconsts.sparunterminatedstring
+msgid "Unterminated string"
+msgstr "String non determinata"
+
+#: lclstrconsts.sparwrongtokensymbol
+msgid "Wrong token symbol: %s expected but %s found"
+msgstr ""
+
+#: lclstrconsts.sparwrongtokentype
+msgid "Wrong token type: %s expected but %s found"
+msgstr ""
+

+ 1 - 0
lazpaint/release/bin/i18n/lcresourcestring.bg.po

@@ -178,3 +178,4 @@ msgstr "Повтаряне по Y"
 #: lcresourcestring.rsunknownshapeclass
 msgid "Unknown shape class \"%1\""
 msgstr ""
+

+ 1 - 0
lazpaint/release/bin/i18n/lcresourcestring.cs.po

@@ -178,3 +178,4 @@ msgstr "Opakovat Y"
 #: lcresourcestring.rsunknownshapeclass
 msgid "Unknown shape class \"%1\""
 msgstr "Neznámá třída tvaru \"%1\""
+

+ 1 - 0
lazpaint/release/bin/i18n/lcresourcestring.kab.po

@@ -178,3 +178,4 @@ msgstr "Ales Y"
 #: lcresourcestring.rsunknownshapeclass
 msgid "Unknown shape class \"%1\""
 msgstr "Taserkemt n talɣa tarussint \"%1\""
+

+ 1 - 0
lazpaint/release/bin/i18n/lcresourcestring.lv.po

@@ -178,3 +178,4 @@ msgstr "Atkārtot uz augšu/leju"
 #: lcresourcestring.rsunknownshapeclass
 msgid "Unknown shape class \"%1\""
 msgstr "Nepazīstama objekta klase \"%1\""
+

+ 171 - 0
lazpaint/release/bin/i18n/lcresourcestring.pot

@@ -0,0 +1,171 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: lcresourcestring.rsadjusttoshape
+msgid "Adjust to shape"
+msgstr ""
+
+#: lcresourcestring.rscigsbnegative
+msgid "Corr. HSL CCW"
+msgstr ""
+
+#: lcresourcestring.rscigsbpositive
+msgid "Corr. HSL CW"
+msgstr ""
+
+#: lcresourcestring.rscilinearhslnegative
+msgid "HSL CCW"
+msgstr ""
+
+#: lcresourcestring.rscilinearhslpositive
+msgid "HSL CW"
+msgstr ""
+
+#: lcresourcestring.rscilinearrgb
+msgid "RGB"
+msgstr ""
+
+#: lcresourcestring.rscistdrgb
+msgid "sRGB"
+msgstr ""
+
+#: lcresourcestring.rscolor
+msgid "Color"
+msgstr ""
+
+#: lcresourcestring.rscolorinterpolation
+msgid "Color interpolation"
+msgstr ""
+
+#: lcresourcestring.rseditgradtexpoints
+msgid "Edit gradient/texture points"
+msgstr ""
+
+#: lcresourcestring.rsendopacity
+msgid "End opacity"
+msgstr ""
+
+#: lcresourcestring.rsgradientangular
+msgid "Angular"
+msgstr ""
+
+#: lcresourcestring.rsgradientdiamond
+msgid "Diamond"
+msgstr ""
+
+#: lcresourcestring.rsgradientfill
+msgid "Gradient fill"
+msgstr ""
+
+#: lcresourcestring.rsgradientlinear
+msgid "Linear"
+msgstr ""
+
+#: lcresourcestring.rsgradientradial
+msgid "Radial"
+msgstr ""
+
+#: lcresourcestring.rsgradientreflected
+msgid "Reflected"
+msgstr ""
+
+#: lcresourcestring.rsgradientrepetition
+msgid "Gradient repetition"
+msgstr ""
+
+#: lcresourcestring.rsgrpad
+msgid "Pad"
+msgstr ""
+
+#: lcresourcestring.rsgrreflect
+msgid "Reflect"
+msgstr ""
+
+#: lcresourcestring.rsgrrepeat
+msgid "Repeat"
+msgstr ""
+
+#: lcresourcestring.rsgrsine
+msgid "Sine"
+msgstr ""
+
+#: lcresourcestring.rsincompatibletype
+msgid "Incompatible type"
+msgstr ""
+
+#: lcresourcestring.rsindexoutofbounds
+msgid "Index out of bounds"
+msgstr ""
+
+#: lcresourcestring.rslightposition
+msgid "Light position"
+msgstr ""
+
+#: lcresourcestring.rsloadtexture
+msgid "Load texture"
+msgstr ""
+
+#: lcresourcestring.rsnofill
+msgid "No fill"
+msgstr ""
+
+#: lcresourcestring.rsnottexturefill
+msgid "It is not a texture fill"
+msgstr ""
+
+#: lcresourcestring.rsopacity
+msgid "Opacity"
+msgstr ""
+
+#: lcresourcestring.rspreview
+msgid "Preview"
+msgstr ""
+
+#: lcresourcestring.rsshapeclassnotspecified
+msgid "Shape class not specified"
+msgstr ""
+
+#: lcresourcestring.rsshapenotfound
+msgid "Shape not found"
+msgstr ""
+
+#: lcresourcestring.rssolidcolor
+msgid "Solid color"
+msgstr ""
+
+#: lcresourcestring.rsstartopacity
+msgid "Start opacity"
+msgstr ""
+
+#: lcresourcestring.rsswapcolors
+msgid "Swap colors"
+msgstr ""
+
+#: lcresourcestring.rstexturefill
+msgid "Texture fill"
+msgstr ""
+
+#: lcresourcestring.rstexturerepetition
+msgid "Texture repetition"
+msgstr ""
+
+#: lcresourcestring.rstrnone
+msgid "No repetition"
+msgstr ""
+
+#: lcresourcestring.rstrrepeatboth
+msgid "Repeat both"
+msgstr ""
+
+#: lcresourcestring.rstrrepeatx
+msgid "Repeat X"
+msgstr ""
+
+#: lcresourcestring.rstrrepeaty
+msgid "Repeat Y"
+msgstr ""
+
+#: lcresourcestring.rsunknownshapeclass
+msgid "Unknown shape class \"%1\""
+msgstr ""
+

+ 1 - 0
lazpaint/release/bin/i18n/lcresourcestring.zh_CN.po

@@ -180,3 +180,4 @@ msgstr "重复 Y"
 #: lcresourcestring.rsunknownshapeclass
 msgid "Unknown shape class \"%1\""
 msgstr "未知形状类 \"%1\""
+

+ 2 - 0
lazpaint/tools/utooldeformationgrid.pas

@@ -294,6 +294,7 @@ begin
       if FHighQuality then
       begin
         dest := TBGRABitmap.Create(FCurrentBounds.Width*OversampleQuality,FCurrentBounds.Height*OversampleQuality);
+        quadHQ := nil;
         setlength(quadHQ, length(quad));
         for i := 0 to high(quad) do quadHQ[i] := (quad[i]+PointF(0.5,0.5))*OversampleQuality - PointF(0.5,0.5) - PointF(FCurrentBounds.TopLeft)*OversampleQuality;
       end
@@ -1065,6 +1066,7 @@ begin
     gridMaxY := NbY-1;
 
     //progressive drawing of deformation zones
+    gridDone := nil;
     setlength(gridDone,NbY-1,NbX-1);
     for yb := gridMinY to gridMaxY-1 do
       for xb := gridMinX to gridMaxX-1 do

+ 2 - 0
lazpaint/tools/utoollayer.pas

@@ -434,6 +434,7 @@ begin
             BitmapToVirtualScreen(m*PointF(FLayerBounds.Right-0.001,FLayerBounds.Top+0.001)),
             BitmapToVirtualScreen(m*PointF(FLayerBounds.Left+0.001,FLayerBounds.Bottom-0.001)));
   ptsF := ab.AsPolygon;
+  pts := nil;
   setlength(pts, length(ptsF));
   for i := 0 to high(pts) do
     pts[i] := ptsF[i].Round;
@@ -758,6 +759,7 @@ begin
             BitmapToVirtualScreen(m*PointF(FOriginalBounds.Right-0.001,FOriginalBounds.Top+0.001)),
             BitmapToVirtualScreen(m*PointF(FOriginalBounds.Left+0.001,FOriginalBounds.Bottom-0.001)));
   ptsF := ab.AsPolygon;
+  pts := nil;
   setlength(pts, length(ptsF));
   for i := 0 to high(pts) do
     pts[i] := ptsF[i].Round;

+ 2 - 0
lazpaint/tools/utoolselect.pas

@@ -295,6 +295,7 @@ begin
     if Assigned(VirtualScreen) then
     begin
       ptsF := ab.AsPolygon;
+      pts := nil;
       setlength(pts, length(ptsF));
       for i := 0 to high(ptsF) do
         pts[i] := (ptsF[i]+PointF(0.5,0.5)).Round;
@@ -346,6 +347,7 @@ begin
       with TCustomRectShape(FShape) do
         ptsF := BGRAPath.ComputeEllipse(FEditor.Matrix*Origin,
                     FEditor.Matrix*XAxis,FEditor.Matrix*YAxis);
+      pts := nil;
       setlength(pts, length(ptsF));
       for i := 0 to high(ptsF) do
         pts[i] := ptsF[i].Round;

+ 1 - 0
lazpaint/ubrushtype.pas

@@ -129,6 +129,7 @@ begin
         result.FillEllipseAntialias((result.Width-1)/2,(result.Height-1)/2,ASize/2,ASize/2,BGRABlack);
       end else
       begin
+        pts := nil;
         setlength(pts, brushSides);
         for i := 0 to high(pts) do
           pts[i] := PointF((result.Width-1)/2+sin(i*2*Pi/brushSides)*ASize/2,

+ 3 - 0
lazpaint/uchoosecolor.lrj

@@ -0,0 +1,3 @@
+{"version":1,"strings":[
+{"hash":4875106,"name":"tfchoosecolor.caption","sourcebytes":[67,111,108,111,114],"value":"Color"}
+]}

+ 3 - 0
lazpaint/uclipboard.pas

@@ -101,6 +101,7 @@ begin
                  poly := deserial.GetObjectField(segment,j) as TSerializedArray;
                  if poly <> nil then
                  begin
+                   polyPts := nil;
                    setlength(polyPts, poly.FieldCount);
                    for k := 0 to high(polyPts) do
                    begin
@@ -162,6 +163,7 @@ begin
   end;
   if isWidestring then
   begin
+    w := '';
     setlength(w, length(data) div 2);
     move(data[1],w[1],length(data));
     result := UTF8Encode(w);
@@ -499,6 +501,7 @@ begin
     begin
        Stream := TMemoryStream.Create;
        Clipboard.GetFormat(Clipboard.Formats[i],Stream);
+       data := '';
        if stream.Size > 65536 then
         setlength(data,65536) else
           setlength(data,stream.size);

+ 9 - 2
lazpaint/ucommandline.pas

@@ -8,7 +8,7 @@ interface
 uses classes, LazpaintType, uresourcestrings;
 
 {$IFDEF WINDOWS}
-  {$DEFINE SHOW_MANUAL_IN_WINDOW }
+  {$DEFINE SHOW_MANUAL_IN_WINDOW}
 {$ENDIF}
 
 const Manual: array[0..64] of string = (
@@ -85,7 +85,8 @@ implementation
 
 uses
   SysUtils, BGRAUTF8, LazFileUtils, BGRABitmap, BGRABitmapTypes, Dialogs, uparse,
-  UImage, UImageAction, ULayerAction, UScripting, UPython, Forms, StdCtrls, Controls;
+  UImage, UImageAction, ULayerAction, UScripting, UPython, Forms, StdCtrls, Controls,
+  UFileSystem;
 
 function ParamStrUTF8(AIndex: integer): string;
 begin
@@ -279,6 +280,12 @@ begin
     if not (InputFilename[1] in commandPrefix) then
     begin
       iStart := 1;
+      if not FileManager.FileExists(ExpandFileNameUTF8(InputFilename)) then
+      begin
+        instance.ShowError(rsOpen, rsFileNotFound);
+        errorEncountered := true;
+        exit;
+      end else
       if not instance.TryOpenFileUTF8(ExpandFileNameUTF8(InputFilename), true) then
       begin
         instance.ShowError(rsOpen, rsUnableToLoadFile+InputFilename);

+ 8 - 2
lazpaint/udarktheme.pas

@@ -26,7 +26,7 @@ type
     procedure ToolBarPaint(Sender: TObject; ADarkTheme: boolean);
     procedure ToolBarPaintLight(Sender: TObject);
     procedure ToolBarPaintDark(Sender: TObject);
-    procedure ToolBarPaintButton(Sender: TToolButton; State: integer; ADarkTheme: boolean);
+    procedure ToolBarPaintButton(Sender: TToolButton; State: integer; {%H-}ADarkTheme: boolean);
     procedure ToolBarPaintButtonLight(Sender: TToolButton; State: integer);
     procedure ToolBarPaintButtonDark(Sender: TToolButton; State: integer);
     procedure Apply(AForm: TForm; AThemeEnabled: boolean; ARecursive: boolean = true); overload;
@@ -61,7 +61,7 @@ implementation
 uses
   BCTypes, BGRABitmap, BGRABitmapTypes, GraphType, BGRACustomDrawn, LCScaleDPI
   {$IFDEF DARWIN_DARK_THEME}, CocoaAll, CocoaUtils{$ENDIF}
-  {$IFDEF WINDOWS}, Windows, Win32Proc, Registry{$ENDIF};
+  {$IFDEF WINDOWS}, Win32Proc, Registry{$ENDIF};
 
 const
   clDarkBtnHighlight = $e0e0e0;
@@ -133,6 +133,7 @@ end;
 {$ENDIF}
 
 procedure BCAssignSystemState(AState: TBCButtonState; AFontColor, ATopColor, AMiddleTopColor, AMiddleBottomColor, ABottomColor, ABorderColor: TColor);
+var middleColor: TColor;
 begin
   with AState do
   begin
@@ -147,6 +148,8 @@ begin
     FontEx.ShadowOffsetX := 1;
     FontEx.ShadowOffsetY := 1;
     FontEx.ShadowRadius := 2;
+    middleColor := MergeBGRA(AMiddleTopColor.ToExpandedPixel, AMiddleBottomColor.ToExpandedPixel);
+    FontEx.DisabledColor := MergeBGRA(middleColor.ToExpandedPixel, AFontColor.ToExpandedPixel);
     Background.Gradient1EndPercent := 60;
     Background.Style := bbsGradient;
     // Gradient1
@@ -398,6 +401,8 @@ begin
       Apply(TPanel(APanel.Controls[i]), AThemeEnabled) else
     if APanel.Controls[i] is TToolBar then
       Apply(TToolBar(APanel.Controls[i]), AThemeEnabled) else
+    if APanel.Controls[i] is TBCButton then
+      Apply(TBCButton(APanel.Controls[i]), AThemeEnabled) else
     if APanel.Controls[i] is TBCComboBox then
       Apply(TBCComboBox(APanel.Controls[i]), AThemeEnabled) else
     if APanel.Controls[i] is TBCTrackbarUpdown then
@@ -516,6 +521,7 @@ begin
     StateClicked.FontEx.ShadowColorOpacity:= 70;
     StateClicked.FontEx.TextAlignment:= bcaLeftCenter;
     StateClicked.FontEx.PaddingLeft:= DoScaleX(3, OriginalDPI);
+    GlyphMargin := DoScaleX(3, OriginalDPI);
   end;
 end;
 

+ 7 - 3
lazpaint/ufilesystem.pas

@@ -6,7 +6,7 @@ unit UFileSystem;
 interface
 
 uses
-  Classes, SysUtils, UResourceStrings, LazUTF8, Forms, BGRAMultiFileType, ShellCtrls, fgl;
+  Classes, SysUtils, UResourceStrings, LazUTF8, Forms, BGRAMultiFileType, ShellCtrls, fgl, Masks;
 
 type
   TDeleteConfirmationFunction = function(AForm: TForm; const AFiles: array of string; AContained: boolean): boolean of object;
@@ -634,8 +634,10 @@ begin
     exit;
   end;
   nbRealFiles:= 0;
+  realFiles := nil;
   setlength(realFiles, length(AFilenamesUTF8));
   nbContainedFiles:= 0;
+  containedFiles := nil;
   setlength(containedFiles, length(AFilenamesUTF8));
   for i := 0 to high(AFilenamesUTF8) do
     if ParseExtendedFilename(AFilenamesUTF8[i]).SubFilename = '' then
@@ -1002,6 +1004,8 @@ begin
   end;
 end;
 
+{$i getfilesindir.inc}
+
 procedure TFileManager.GetDirectoryElements(const ABaseDir: string; AMask: string;
   AObjectTypes: TObjectTypes; AResult: TFileInfoList; AFileSortType: TFileSortType);
 var p: string;
@@ -1051,7 +1055,7 @@ begin
   begin
     temp := TStringList.Create;
     temp.OwnsObjects := true;
-    TCustomShellTreeView.GetFilesInDir(ABaseDir,AMask,AObjectTypes,temp,fstNone);
+    GetFilesInDir(ABaseDir,AMask,AObjectTypes,temp,fstNone);
     for i := 0 to temp.Count-1 do
     begin
       fullname := IncludeTrailingPathDelimiter(ABaseDir)+temp[i];
@@ -1083,7 +1087,7 @@ begin
     if otFolders in AObjectTypes then
     begin
       temp.Clear;
-      TCustomShellTreeView.GetFilesInDir(ABaseDir,'*.res;*.Res;*.RES;*.lrs;*.Lrs;*.LRS',[otNonFolders],temp,fstNone);
+      GetFilesInDir(ABaseDir,'*.res;*.Res;*.RES;*.lrs;*.Lrs;*.LRS',[otNonFolders],temp,fstNone);
       for i := 0 to temp.Count-1 do
       begin
         fullname := IncludeTrailingPathDelimiter(ABaseDir)+temp[i];

+ 1 - 0
lazpaint/uimagebackup.pas

@@ -439,6 +439,7 @@ begin
   ASource.ReadBuffer({%H-}newBounds, sizeof(newBounds));
   ASource.ReadBuffer({%H-}newGrayscale, sizeof(newGrayscale));
   ASource.ReadBuffer({%H-}lenRows, sizeof(lenRows));
+  newRows := nil;
   setlength(newRows, lenRows);
   if lenRows > 0 then ASource.ReadBuffer(newRows[0], sizeof(newRows[0])*length(newRows));
   ASource.ReadBuffer({%H-}dataSize, sizeof(dataSize));

+ 28 - 0
lazpaint/uimagelist.lrj

@@ -0,0 +1,28 @@
+{"version":1,"strings":[
+{"hash":225588180,"name":"tfimagelist.caption","sourcebytes":[73,109,97,103,101,32,76,105,115,116],"value":"Image List"},
+{"hash":45,"name":"tfimagelist.stringgrid1.columns[0].title.caption","sourcebytes":[45],"value":"-"},
+{"hash":45,"name":"tfimagelist.stringgrid1.columns[1].title.caption","sourcebytes":[45],"value":"-"},
+{"hash":45,"name":"tfimagelist.stringgrid1.columns[2].title.caption","sourcebytes":[45],"value":"-"},
+{"hash":45,"name":"tfimagelist.stringgrid1.columns[3].title.caption","sourcebytes":[45],"value":"-"},
+{"hash":236098260,"name":"tfimagelist.tbaddfiles.hint","sourcebytes":[65,100,100,32,105,109,97,103,101,115,32,116,111,32,108,105,115,116],"value":"Add images to list"},
+{"hash":89318932,"name":"tfimagelist.tbremoveitem.hint","sourcebytes":[82,101,109,111,118,101,32,115,101,108,101,99,116,101,100,32,105,109,97,103,101,115,32,102,114,111,109,32,108,105,115,116],"value":"Remove selected images from list"},
+{"hash":116164665,"name":"tfimagelist.tbopenprev.hint","sourcebytes":[79,112,101,110,32,112,114,101,118,105,111,117,115,32,105,109,97,103,101,32,40,65,108,116,45,76,101,102,116,41],"value":"Open previous image (Alt-Left)"},
+{"hash":22932279,"name":"tfimagelist.tbuncheckall.hint","sourcebytes":[85,110,99,104,101,99,107,32,97,108,108,32,102,105,108,101,115,32,102,111,114,32,112,114,111,99,101,115,115,105,110,103],"value":"Uncheck all files for processing"},
+{"hash":22933239,"name":"tfimagelist.tbcheckall.hint","sourcebytes":[67,104,101,99,107,32,97,108,108,32,102,105,108,101,115,32,102,111,114,32,112,114,111,99,101,115,115,105,110,103],"value":"Check all files for processing"},
+{"hash":264941913,"name":"tfimagelist.tbopennext.hint","sourcebytes":[79,112,101,110,32,110,101,120,116,32,105,109,97,103,101,32,40,65,108,116,45,82,105,103,104,116,41],"value":"Open next image (Alt-Right)"},
+{"hash":163675109,"name":"tfimagelist.tbopenimage.hint","sourcebytes":[79,112,101,110,32,99,117,114,114,101,110,116,32,105,109,97,103,101],"value":"Open current image"},
+{"hash":96726215,"name":"tfimagelist.tbminiwindow.hint","sourcebytes":[83,119,105,116,99,104,32,116,111,32,109,105,110,105,119,105,110,100,111,119],"value":"Switch to miniwindow"},
+{"hash":164594323,"name":"tfimagelist.tbautouncheck.hint","sourcebytes":[69,110,97,98,108,101,47,100,105,115,97,98,108,101,32,97,117,116,111,117,110,99,104,101,99,107,105,110,103,32,102,111,114,32,112,114,111,99,101,115,115,101,100,32,102,105,108,101,115],"value":"Enable/disable autounchecking for processed files"},
+{"hash":41218951,"name":"tfimagelist.tbautozoomfit.hint","sourcebytes":[69,110,97,98,108,101,47,100,105,115,97,98,108,101,32,97,117,116,111,102,105,116,116,105,110,103,32,105,109,97,103,101,115,32,105,110,32,116,104,101,32,76,97,122,80,97,105,110,116,32,119,105,110,100,111,119],"value":"Enable/disable autofitting images in the LazPaint window"},
+{"hash":37085614,"name":"tfimagelist.tbmovedown.hint","sourcebytes":[77,111,118,101,32,115,101,108,101,99,116,101,100,32,105,116,101,109,115,32,100,111,119,110],"value":"Move selected items down"},
+{"hash":124925104,"name":"tfimagelist.tbmoveup.hint","sourcebytes":[77,111,118,101,32,115,101,108,101,99,116,101,100,32,105,116,101,109,115,32,117,112],"value":"Move selected items up"},
+{"hash":198129205,"name":"tfimagelist.tbopenprevsw.hint","sourcebytes":[79,112,101,110,32,112,114,101,118,105,111,117,115,32,105,109,97,103,101],"value":"Open previous image"},
+{"hash":174665029,"name":"tfimagelist.tbopennextsw.hint","sourcebytes":[79,112,101,110,32,110,101,120,116,32,105,109,97,103,101],"value":"Open next image"},
+{"hash":155856215,"name":"tfimagelist.tbnormalwindows.hint","sourcebytes":[83,119,105,116,99,104,32,116,111,32,110,111,114,109,97,108,32,119,105,110,100,111,119],"value":"Switch to normal window"},
+{"hash":165402739,"name":"tfimagelist.pmremovenonexistent.caption","sourcebytes":[82,101,109,111,118,101,32,110,111,110,101,120,105,115,116,101,110,116,32,105,109,97,103,101,115],"value":"Remove nonexistent images"},
+{"hash":74770003,"name":"tfimagelist.pmremoveunchecked.caption","sourcebytes":[82,101,109,111,118,101,32,117,110,99,104,101,99,107,101,100,32,105,109,97,103,101,115],"value":"Remove unchecked images"},
+{"hash":113604516,"name":"tfimagelist.pmremoveall.caption","sourcebytes":[69,109,112,116,121,32,105,109,97,103,101,32,108,105,115,116],"value":"Empty image list"},
+{"hash":106473347,"name":"tfimagelist.pmunchecknonexistent.caption","sourcebytes":[85,110,99,104,101,99,107,32,110,111,110,101,120,105,115,116,101,110,116,32,102,105,108,101,115],"value":"Uncheck nonexistent files"},
+{"hash":123697524,"name":"tfimagelist.pmautouncheckonsave.caption","sourcebytes":[65,117,116,111,117,110,99,104,101,99,107,32,102,105,108,101,115,32,97,102,116,101,114,32,98,101,105,110,103,32,101,100,105,116,101,100,32,97,110,100,32,115,97,118,101,100],"value":"Autouncheck files after being edited and saved"},
+{"hash":194072126,"name":"tfimagelist.pmautouncheckonopen.caption","sourcebytes":[65,117,116,111,117,110,99,104,101,99,107,32,102,105,108,101,115,32,97,102,116,101,114,32,98,101,105,110,103,32,111,112,101,110],"value":"Autouncheck files after being open"}
+]}

+ 3 - 0
lazpaint/uimagelist.pas

@@ -532,6 +532,7 @@ var
   i: Integer;
 begin
   files := AVars.GetVariable('FileNames');
+  fileArray := nil;
   setLength(fileArray, AVars.GetListCount(files));
   for i := 0 to high(fileArray) do
     fileArray[i] := AVars.GetStringAt(files, i);
@@ -1119,6 +1120,7 @@ var
    i: integer;
    TempVar: array of String;
 begin
+  TempVar := nil;
   SetLength(TempVar, aStrings.Count);
   For i := 0 To aStrings.Count-1 Do
     TempVar[i] := aStrings[i];
@@ -1143,6 +1145,7 @@ begin
 
     if FBrowseImages.ShowModal = mrOK then
     begin
+      fileNames := nil;
       setlength(fileNames,FBrowseImages.SelectedFileCount);
       for i := 0 to high(fileNames) do
         fileNames[i] := FBrowseImages.SelectedFile[i];

+ 1 - 0
lazpaint/uimagepreview.pas

@@ -353,6 +353,7 @@ procedure TImagePreview.DrawMenu(Bitmap: TBGRABitmap);
   begin
     ptsF := PointsF([PointF(x+sw*0.20,y+sh*0.1),PointF(x+sw*0.55,y+sh*0.1),PointF(x+sw*0.75,y+sh*0.3),
                      PointF(x+sw*0.75,y+sh*0.9),PointF(x+sw*0.20,y+sh*0.9)]);
+    ptsF2 := nil;
     setlength(ptsF2,length(ptsF));
     for j := 0 to high(ptsF) do
         ptsF2[j] := ptsF[j] + PointF(3,3);

+ 1 - 1
lazpaint/uimageview.pas

@@ -21,7 +21,7 @@ type
 
   TOpaquePaintBox = class(TCustomControl)
   protected
-    procedure WMEraseBkgnd(var Message: TLMEraseBkgnd); message LM_ERASEBKGND;
+    procedure WMEraseBkgnd(var {%H-}Message: TLMEraseBkgnd); message LM_ERASEBKGND;
     procedure WMPaint(var Message: TLMPaint); message LM_PAINT;
   public
     PaintRect: TRect;

+ 3 - 0
lazpaint/ulayerstack.lrj

@@ -0,0 +1,3 @@
+{"version":1,"strings":[
+{"hash":86572179,"name":"tflayerstack.caption","sourcebytes":[76,97,121,101,114,115],"value":"Layers"}
+]}

+ 4 - 1
lazpaint/uloadimage.pas

@@ -19,7 +19,7 @@ implementation
 uses FileUtil, BGRAAnimatedGif, Graphics, UMultiImage,
   BGRAReadLzp, LCLProc, BGRABitmapTypes, BGRAReadPng,
   UFileSystem, BGRAIconCursor, BGRAReadTiff,
-  Dialogs, math, URaw, UResourceStrings;
+  Dialogs, URaw;
 
 function LoadIcoEntryFromStream(AStream: TStream; AIndex: integer): TImageEntry;
 var ico: TBGRAIconCursor;
@@ -46,6 +46,7 @@ begin
   ico := TBGRAIconCursor.Create;
   try
     ico.LoadFromStream(AStream);
+    result := nil;
     setlength(result,ico.Count);
     for i := 0 to ico.Count-1 do
     begin
@@ -84,6 +85,7 @@ var gif: TBGRAAnimatedGif; i: integer;
 begin
   gif := TBGRAAnimatedGif.Create(AStream);
   try
+    result := nil;
     setlength(result,gif.Count);
     for i := 0 to gif.Count-1 do
     begin
@@ -123,6 +125,7 @@ begin
   tiff := TBGRAReaderTiff.Create;
   try
     tiff.LoadFromStream(AStream);
+    result := nil;
     setlength(result,tiff.ImageCount);
     for i := 0 to tiff.ImageCount-1 do
     begin

+ 3 - 0
lazpaint/uloading.lrj

@@ -0,0 +1,3 @@
+{"version":1,"strings":[
+{"hash":184661630,"name":"tfloading.caption","sourcebytes":[76,111,97,100,105,110,103,46,46,46],"value":"Loading..."}
+]}

+ 15 - 2
lazpaint/umainformlayout.pas

@@ -55,7 +55,7 @@ type
     function GetToolBoxVisible: boolean;
     function GetUpdatingPopup: boolean;
     procedure ImageToolbarUpdate(Sender: TObject);
-    procedure ImageViewMouseBefore(ASender: TObject; AShift: TShiftState);
+    procedure ImageViewMouseBefore({%H-}ASender: TObject; AShift: TShiftState);
     procedure ImageViewMouseMove(Sender: TObject; APosition: TPointF);
     procedure ImageViewOnPaint(Sender: TObject);
     procedure SetFillSelectionHighlight(AValue: boolean);
@@ -818,7 +818,20 @@ begin
   button := FDockedToolboxGroup[AGroupIndex].Button;
   tb := FDockedToolboxGroup[AGroupIndex].Toolbar;
   panel := FDockedToolboxGroup[AGroupIndex].Panel;
-  panel.Left := button.Left + button.Width + tb.Left + FPanelToolBox.Left;
+  if ToolBoxDocking = twRight then
+  begin
+    if not panel.Visible then
+    begin
+      // show outside of window to measure the size of the panel
+      panel.Left := panel.Parent.ClientWidth;
+      panel.Visible := true;
+      panel.Visible := false;
+    end;
+    panel.Left := button.Left + tb.Left + FPanelToolBox.Left - panel.Width
+               - DoScaleX(2, OriginalDPI);
+  end
+  else
+    panel.Left := button.Left + button.Width + tb.Left + FPanelToolBox.Left;
   panel.Top := button.Top + tb.Top + FPanelToolBox.Top - DoScaleX(4, OriginalDPI);
   panel.Visible := true;
   FDockedToolboxGroup[AGroupIndex].Timer.Enabled:= false;

+ 0 - 1
lazpaint/umenu.pas

@@ -289,7 +289,6 @@ procedure TMainFormMenu.AddInstalledScripts(AMenu: TMenuItem; AIndex: integer);
 var
   path, fullname, title: String;
   searchRec: TSearchRec;
-  t: textFile;
   item: TMenuItem;
   items: TStringList;
   i: Integer;

+ 3 - 0
lazpaint/umyslv.pas

@@ -544,6 +544,7 @@ var
     clientArea := rect(0,textHeight,w,h);
     FItemsPerPage:= Size(clientArea).cy div FActualRowHeight;
 
+    colPos := nil;
     setlength(colPos,ColumnCount+1);
     colPos[0] := 0;
     for col := 0 to ColumnCount-1 do
@@ -1082,6 +1083,7 @@ var i,j,curSize,totalSize: integer;
   s: string;
 begin
   if (ItemCount = 0) or (ColumnCount = 0) then exit;
+  colSizes := nil;
   setlength(colSizes,ColumnCount);
   sizeA := ABitmap.TextSize('a').cx;
   for j := 0 to ColumnCount-1 do
@@ -1315,6 +1317,7 @@ begin
     lst.Add(@FData[i]);
   SortTarget := self;
   lst.Sort(@LCListViewCompare);
+  sortedData := nil;
   setlength(sortedData,ItemCount);
   for i := 0 to lst.Count-1 do
     sortedData[i] := PLCShellListViewItemData(lst[i])^;

+ 1 - 0
lazpaint/uprocessauto.pas

@@ -60,6 +60,7 @@ type
 
   procedure InitBuffer(out Buffer: TReceiveBuffer; ASize: integer; AOnReceive: TReceiveLineEvent);
   begin
+    Buffer.Data := '';
     setlength(Buffer.Data, ASize);
     Buffer.Length:= 0;
     Buffer.OnReceive:= AOnReceive;

+ 24 - 0
lazpaint/upython.pas

@@ -117,6 +117,27 @@ var t: textfile;
     end;
   end;
 
+  procedure TranslateWithPoFile(var title: string);
+  var elements: TStringList;
+    i: integer;
+    u: string;
+  begin
+    elements := TStringList.Create;
+    try
+      elements.Delimiter := '>';
+      elements.QuoteChar := #0;
+      elements.DelimitedText := StringReplace(title, ' ', #160, [rfReplaceAll]);
+      for i := 0 to elements.Count-1 do
+      begin
+        u := Trim(StringReplace(elements[i], #160, ' ', [rfReplaceAll]));
+        elements[i] := DoTranslate('', u);
+      end;
+    finally
+      title := elements.DelimitedText;
+      elements.free;
+    end;
+  end;
+
 begin
   result := '';
   assignFile(t, AFilename);
@@ -134,6 +155,8 @@ begin
           RetrieveTitle(header, false, result, matchLang);
         end else break;
       end;
+      if not matchLang then
+         TranslateWithPoFile(result);
     end;
   finally
     closefile(t);
@@ -202,6 +225,7 @@ begin
     if Assigned(FOnOutputLine) then
     begin
       finalLine := FLinePrefix+ALine;
+      displayedLine := '';
       setlength(displayedLine, 80);
       curDisplayPos := 1;
       maxDisplayLen := 0;

Some files were not shown because too many files changed in this diff