Bring the full EditmaskwithAI application into the repo under paintplus/ (429 files) so the service is self-contained — the installer copies the vendored source to ~/docker/paintplus/src instead of cloning at runtime. Rename to PaintPlus (service + branding; app logic untouched): - services/editmaskwithai.sh -> services/paintplus.sh (register_service paintplus, install_paintplus, ~/docker/paintplus, Caddy paintplus:8000, Authelia option preserved) - container names -> paintplus across docker-compose*.yml; dev network -> paintplus-network - browser <title> -> "PaintPlus - AI Image Editor"; README heading -> PaintPlus with upstream provenance note - README utilities table: editmaskwithai -> paintplus Backend/frontend code (help strings referencing the old container name, the ai_photo_edit.db filename) is intentionally left as-is to avoid touching application logic. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nb2vJ8W7bHKx1JXVvpCraH
507 lines
15 KiB
JSON
507 lines
15 KiB
JSON
{
|
|
"24-Points star": "",
|
|
"A problem occurred while removing undo history. It": "Sorry, a problem occurred while removing the undo history.",
|
|
"About": "",
|
|
"Active": "",
|
|
"Add Borders": "",
|
|
"Aden": "",
|
|
"Advanced": "",
|
|
"All": "",
|
|
"Alpha": "",
|
|
"Alpha:": "",
|
|
"Anonymous": "",
|
|
"Anti aliasing": "",
|
|
"Application markup may have changed,": "The application markup may have changed",
|
|
"Arial": "",
|
|
"Arrow": "",
|
|
"ArrowDown": "",
|
|
"ArrowLeft": "",
|
|
"ArrowRight": "",
|
|
"ArrowUp": "",
|
|
"Author:": "",
|
|
"Auto Adjust Colors": "Auto Adjust the Colours",
|
|
"Auto Kerning": "",
|
|
"Average:": "",
|
|
"Backspace": "",
|
|
"Base": "",
|
|
"Basic": "",
|
|
"Black and White": "",
|
|
"Blue": "",
|
|
"Blue channel:": "",
|
|
"Blueprint": "",
|
|
"Blur Radius:": "",
|
|
"Blur Tool": "",
|
|
"Blur power:": "",
|
|
"Borders": "",
|
|
"Bottom": "",
|
|
"Bottom to Top": "",
|
|
"Bounds:": "",
|
|
"Box": "",
|
|
"Box Blur": "",
|
|
"Box blur": "",
|
|
"Brightness": "",
|
|
"Brightness:": "",
|
|
"Bulge\/Pinch Tool": "",
|
|
"Burn": "",
|
|
"Can not animate 1 layer.": "Sorry, you can not animate just 1 layer, you need at least 2 layers.",
|
|
"Can not find previous layer.": "Sorry, I can not find the previous layer.",
|
|
"Cancel": "",
|
|
"Canvas Size": "",
|
|
"Canvas size": "",
|
|
"Center": "Centre",
|
|
"Center x:": "Centre x:",
|
|
"Center y:": "Centre y:",
|
|
"Center:": "Centre:",
|
|
"Change Composition": "",
|
|
"Change Layer Details": "",
|
|
"Change Opacity": "",
|
|
"Channel:": "",
|
|
"Circle": "",
|
|
"Clarendon": "",
|
|
"Clear": "",
|
|
"Clear Selection": "",
|
|
"Clone Tool": "",
|
|
"Clone count:": "",
|
|
"Clone tool disabled for resized image. Sorry.": "Sorry, the clone tool is disabled for use on a resized asset (image). Undo the resize, clone the asset (image) then resize it again.",
|
|
"Cloned edges": "",
|
|
"Color #": "Colour #",
|
|
"Color Corrections": "Colour Corrections",
|
|
"Color Palette": "Colour Palette",
|
|
"Color Zoom": "Colour Zoom",
|
|
"Color alpha value can not be zero.": "The colour alpha value can not be zero. Please change it.",
|
|
"Color to Alpha": "Colour to Alpha",
|
|
"Color zoom": "Colour zoom",
|
|
"Color:": "Colour:",
|
|
"Colors": "Colours",
|
|
"Colors:": "Colours:",
|
|
"Common Filters": "",
|
|
"Composition": "",
|
|
"Composition:": "",
|
|
"Content Fill": "",
|
|
"Contrast": "",
|
|
"Contrast:": "",
|
|
"Convert to Raster": "Convert to a Raster",
|
|
"Copy Selection": "",
|
|
"Copy to Clipboard": "",
|
|
"Copy:": "",
|
|
"Courier": "",
|
|
"Crop Tool": "",
|
|
"Crop on rotated layer is not supported. Convert it to raster to continue.": "You can not crop a rotated layer. Please convert it to a raster to continue.",
|
|
"Ctrl+A": "",
|
|
"Ctrl+C": "",
|
|
"Ctrl+V": "",
|
|
"Ctrl+Y": "",
|
|
"Ctrl+Z": "",
|
|
"Ctrl-P": "",
|
|
"Current": "",
|
|
"Current Color Preview": "Current Colour Preview",
|
|
"Custom": "",
|
|
"Data URL": "",
|
|
"Data URL:": "",
|
|
"Decrease": "",
|
|
"Decrease Color Depth": "Decrease Colour Depth",
|
|
"Degree:": "",
|
|
"Del": "",
|
|
"Delete": "",
|
|
"Delete Selection": "",
|
|
"Denoise": "",
|
|
"Desaturate Tool": "",
|
|
"Description:": "",
|
|
"Deutsch": "",
|
|
"Differences": "",
|
|
"Differences Down": "",
|
|
"Direction:": "",
|
|
"Dither": "",
|
|
"Dithering:": "",
|
|
"Dominant color:": "Dominant colour:",
|
|
"Dot Screen": "",
|
|
"Down": "",
|
|
"Duplicate": "",
|
|
"Duplicate Layer": "",
|
|
"Dynamic": "",
|
|
"Edge": "",
|
|
"Edit": "",
|
|
"Edit text...": "",
|
|
"Effect browser": "",
|
|
"Effects": "",
|
|
"Effects browser": "",
|
|
"Email:": "",
|
|
"Emboss": "",
|
|
"Empty selection": "",
|
|
"Empty selection or type not image.": "You have selected nothing or the asset is not an image.",
|
|
"Enable guides:": "",
|
|
"Enable snap:": "",
|
|
"End": "",
|
|
"English": "English UK",
|
|
"Enrich": "",
|
|
"Enter": "",
|
|
"Erase Tool": "",
|
|
"Erase on rotate object is disabled. Sorry.": "Sorry you can not erase on rotated asset (object). Remove the rotation then you can delete it.",
|
|
"Error": "",
|
|
"Error connecting to service.": "",
|
|
"Error loading the list of fonts from Google.": "There is an error loading the list of fonts from Google. Please report this.",
|
|
"Error registering service worker": "",
|
|
"Error: can not find filter:": "",
|
|
"Error: can not find layer with id:": "",
|
|
"Error: missing details event target": "",
|
|
"Error: unknown layer type:": "",
|
|
"Esc": "",
|
|
"Escape": "",
|
|
"Español": "",
|
|
"Exit confirmation:": "",
|
|
"Expand edges": "",
|
|
"Exponent:": "",
|
|
"Export": "",
|
|
"External": "",
|
|
"Factor:": "",
|
|
"File": "",
|
|
"File name:": "",
|
|
"File size:": "",
|
|
"Fill": "",
|
|
"Fill Tool": "",
|
|
"Fit": "",
|
|
"Fit Window": "",
|
|
"Flatten Image": "",
|
|
"Flip": "",
|
|
"FloydSteinberg-serpentine": "",
|
|
"Font": "",
|
|
"Français": "",
|
|
"Full HD, 1080p": "",
|
|
"Full Screen": "",
|
|
"Full layers data": "",
|
|
"Gap:": "",
|
|
"Gaussian Blur": "",
|
|
"Gif delay:": "",
|
|
"Gingham": "",
|
|
"GitHub:": "",
|
|
"Gradient Radius:": "",
|
|
"Grains": "",
|
|
"Graphics Interchange Format": "",
|
|
"Gray": "",
|
|
"Grayscale": "",
|
|
"Greek": "",
|
|
"Green": "",
|
|
"Green channel:": "",
|
|
"Greyscale:": "",
|
|
"Grid": "",
|
|
"Grid on\/off": "",
|
|
"Guides": "",
|
|
"Guides enabled.": "",
|
|
"H Radius:": "",
|
|
"H. Align:": "",
|
|
"Heatmap": "",
|
|
"Height (%):": "",
|
|
"Height:": "",
|
|
"Help": "",
|
|
"Helvetica": "",
|
|
"Hermite": "",
|
|
"Hex": "",
|
|
"Histogram": "",
|
|
"Histogram:": "",
|
|
"Home": "",
|
|
"Horizontal": "",
|
|
"Horizontal Alignment": "",
|
|
"Horizontal blur:": "",
|
|
"Horizontal:": "",
|
|
"Hue": "",
|
|
"Hue Rotate": "",
|
|
"Hue:": "",
|
|
"Image": "",
|
|
"Image data with multi-layers. Can be opened using miniPaint -": "You can open asset (image) data with multi-layers using miniPaint. -",
|
|
"Impact": "",
|
|
"Increase": "",
|
|
"Information": "",
|
|
"Inkwell": "",
|
|
"Insert": "",
|
|
"Insert guides": "",
|
|
"Insert:": "",
|
|
"Instagram Filters": "",
|
|
"Invalid Hex Code": "",
|
|
"Italiano": "",
|
|
"JPG\/JPEG Format": "",
|
|
"Kerning:": "",
|
|
"Key-Points": "",
|
|
"KeyU": "",
|
|
"Keyboard Shortcuts": "",
|
|
"Keyword:": "",
|
|
"Lanczos": "",
|
|
"Language": "",
|
|
"Last modified": "",
|
|
"Layer": "",
|
|
"Layer details": "",
|
|
"Layer is not compatible with resize": "Sorry, this layer is not compatible with resize",
|
|
"Layer is vector, convert it to raster to apply this tool.": "Sorry this layer is a vector, please convert it to a raster to apply this tool. (Layer, Convert to a Raster)",
|
|
"Layers": "",
|
|
"Layers:": "",
|
|
"Left": "",
|
|
"Left to Right": "",
|
|
"Level:": "",
|
|
"Levels:": "",
|
|
"Lietuvių": "",
|
|
"Lo-fi": "",
|
|
"Luminance:": "",
|
|
"Luminosity": "",
|
|
"Magic Eraser Tool": "",
|
|
"Merge Down": "",
|
|
"Merge Layers": "",
|
|
"Merged": "",
|
|
"Metrics": "",
|
|
"Middle": "",
|
|
"Missing at least 1 size parameter.": "Sorry, you are missing at least 1 size parameter.",
|
|
"Missing permissions to write to Clipboard.cc": "",
|
|
"Mode:": "",
|
|
"Module function not found.": "",
|
|
"Modules class not found:": "",
|
|
"Monospace": "",
|
|
"Mosaic": "",
|
|
"Mouse:": "",
|
|
"Move": "",
|
|
"Move Layer": "",
|
|
"Move down": "",
|
|
"Move up": "",
|
|
"Name:": "",
|
|
"Needs at least 2 layers.": "You need at least 2 layers. Please make another layer using Layer, New or dragging a new asset (image) into the browser.",
|
|
"Negative": "",
|
|
"New": "",
|
|
"New Brush Layer": "",
|
|
"New Ellipse Layer": "",
|
|
"New File": "",
|
|
"New Gradient Layer": "",
|
|
"New Layer": "",
|
|
"New Line Layer": "",
|
|
"New Pencil Layer": "",
|
|
"New Rectangle Layer": "",
|
|
"New Text Layer": "",
|
|
"New file": "",
|
|
"New from Selection": "",
|
|
"New layer": "",
|
|
"New width can not be smaller then current width": "You can not make the new width smaller then current width.",
|
|
"Night Vision": "",
|
|
"None": "",
|
|
"Nothing is selected.": "Sorry, you have not selected anything, please try again.",
|
|
"Offset X:": "",
|
|
"Offset Y:": "",
|
|
"Oil": "",
|
|
"Ok": "",
|
|
"Online image editor.": "",
|
|
"Opacity": "",
|
|
"Opacity:": "",
|
|
"Open": "",
|
|
"Open Data URL": "",
|
|
"Open Directory": "",
|
|
"Open File": "",
|
|
"Open File Data URL": "",
|
|
"Open File URL": "",
|
|
"Open File Webcam": "",
|
|
"Open Image": "",
|
|
"Open JSON File": "",
|
|
"Open Test Template": "",
|
|
"Open URL": "",
|
|
"Open data URL": "",
|
|
"Open from Webcam": "",
|
|
"Original Size": "",
|
|
"PNGTOSVG - Convert Image to SVG": "",
|
|
"PageDown": "",
|
|
"PageUp": "",
|
|
"Palette": "",
|
|
"Parameter #1:": "",
|
|
"Parameter #2:": "",
|
|
"Paste": "",
|
|
"Pencil": "",
|
|
"Percentage:": "",
|
|
"Pixels:": "",
|
|
"Placeholder comment for color channels": "Placeholder comment for colour channels",
|
|
"Placeholder comment for color picker": "Placeholder comment for colour picker",
|
|
"Placeholder comment for color swatches": "Placeholder comment for colour swatches",
|
|
"Portable Network Graphics": "",
|
|
"Português": "",
|
|
"Position:": "",
|
|
"Power:": "",
|
|
"Preview": "",
|
|
"Previous": "",
|
|
"Previous layer must be image, convert it to raster to apply this tool.": "The previous layer must be an asset (image), please convert it to a raster to apply this tool.",
|
|
"Print": "",
|
|
"Quality:": "",
|
|
"Quick Load": "",
|
|
"Quick Save": "",
|
|
"REMOVE.BG - Remove Image Background": "",
|
|
"Radial": "",
|
|
"Radial gradient": "",
|
|
"Radius:": "",
|
|
"Range:": "",
|
|
"Red": "",
|
|
"Red channel:": "",
|
|
"Redo": "",
|
|
"Remove all": "",
|
|
"Rename": "",
|
|
"Rename Layer": "",
|
|
"Rendered with errors.": "",
|
|
"Rendering...": "",
|
|
"Replace Color": "Replace Colour",
|
|
"Replace color": "Replace colour",
|
|
"Replacement:": "",
|
|
"Report Issues": "",
|
|
"Reset": "",
|
|
"Resize": "",
|
|
"Resize Boundary": "",
|
|
"Resize Layer": "",
|
|
"Resize Layers": "",
|
|
"Resize Text Layer": "",
|
|
"Resized as background": "",
|
|
"Resized:": "",
|
|
"Resolution:": "",
|
|
"Restore Alpha": "",
|
|
"Right": "",
|
|
"Right angle:": "",
|
|
"Right to Left": "",
|
|
"Rotate": "",
|
|
"Rotate Layer": "",
|
|
"Rotate is not supported on this type of object. Convert to raster?": "Sorry, rotate is not supported on this type of asset (object), would you like to convert it to a raster?",
|
|
"Rotate left": "",
|
|
"Rotate:": "",
|
|
"Ruler": "",
|
|
"SQUOOSH - Compress and Compare Images": "",
|
|
"Safe search:": "",
|
|
"Saturate": "",
|
|
"Saturation": "",
|
|
"Saturation:": "",
|
|
"Save (Export)": "",
|
|
"Save As": "",
|
|
"Save As Data URL": "",
|
|
"Save as": "",
|
|
"Save as type:": "",
|
|
"Save layers:": "",
|
|
"Scaling up is not supported in Hermite, using Lanczos.": "",
|
|
"Scroll down": "",
|
|
"Scroll up": "",
|
|
"Search": "",
|
|
"Search Images": "",
|
|
"Search for Font": "",
|
|
"Select All": "",
|
|
"Select Text Layer": "",
|
|
"Select object tool": "",
|
|
"Selected": "",
|
|
"Selection Tool": "",
|
|
"Sensitivity:": "",
|
|
"Separated": "",
|
|
"Separated (original types)": "",
|
|
"Sepia": "",
|
|
"Set Image Size": "",
|
|
"Settings": "",
|
|
"Shadow": "",
|
|
"Shadow:": "",
|
|
"Shapes": "",
|
|
"Sharpen": "",
|
|
"Sharpen Tool": "",
|
|
"Sharpen:": "",
|
|
"Shortcut Key:": "",
|
|
"Show \/ Hide": "",
|
|
"Show file size:": "",
|
|
"Simple": "",
|
|
"Size is too big, max": "",
|
|
"Size:": "",
|
|
"Skip - layer must be image.": "Skip - layer must be an asset (image).",
|
|
"Solarize": "",
|
|
"Sorry, cold not load getUserMedia() data:": "Sorry, I could not load getUserMedia() data:",
|
|
"Sorry, image could not be loaded.": "Sorry, the asset (image) could not be loaded.",
|
|
"Sorry, image could not be loaded. Try copy image and paste it.": "Sorry, the asset (image) could not be loaded. Try copying the image and pasting it.",
|
|
"Sorry, image is too big, max 5 MB.": "Sorry, the asset (image) is too big, max size is 5 MB.",
|
|
"Source coordinates saved.": "",
|
|
"Source is empty, right click on image or use long press to save source position.": "Sorry, the source is empty, right click on the asset (image) or use a long press to save source position.",
|
|
"Sprites": "",
|
|
"Square": "",
|
|
"Stream:": "",
|
|
"Strength:": "",
|
|
"Strict": "",
|
|
"TINYPNG - Compress PNG and JPEG": "",
|
|
"Tab": "",
|
|
"Tag Image File Format": "",
|
|
"Tahoma": "",
|
|
"Target:": "",
|
|
"The quick brown fox jumps over the lazy dog.": "",
|
|
"Theme": "",
|
|
"There": "",
|
|
"There are no layers behind.": "",
|
|
"There is only 1 layer.": "",
|
|
"Thick guides:": "",
|
|
"This layer must contain an image. Please convert it to raster to apply this tool.": "Sorry, this layer must contain an asset (image). Please convert it to a raster to apply this tool.",
|
|
"Tilt Shift": "",
|
|
"Times New Roman": "",
|
|
"Toaster": "",
|
|
"Toggle": "",
|
|
"Toggle Color Channels": "Toggle Colour Channels",
|
|
"Toggle Color Picker": "Toggle Colour Picker",
|
|
"Toggle Menu": "",
|
|
"Toggle Swatches": "",
|
|
"Tools": "",
|
|
"Top": "",
|
|
"Top to Bottom": "",
|
|
"Total pixels:": "",
|
|
"Translate": "",
|
|
"Translate Layer": "",
|
|
"Translate error, can not find dictionary:": "Translate error, I can not find the dictionary:",
|
|
"Transparency background:": "",
|
|
"Transparent:": "",
|
|
"Trim": "",
|
|
"Trim Layers": "",
|
|
"Trim borders:": "",
|
|
"Trim layer:": "",
|
|
"Trim white color?": "Trim white colour?",
|
|
"Type:": "",
|
|
"Türkçe": "",
|
|
"Undo": "",
|
|
"Unique colors:": "Unique colours:",
|
|
"Units": "",
|
|
"Up": "",
|
|
"Update": "",
|
|
"Update Brush Layer": "",
|
|
"Update Pencil Layer": "",
|
|
"Update guides": "",
|
|
"Use Ctrl+V keyboard shortcut to paste from Clipboard.": "You can use Ctrl+V on the keyboard shortcut to paste from the Clipboard.",
|
|
"V Radius:": "",
|
|
"V. Align:": "",
|
|
"Valencia": "",
|
|
"Verdana": "",
|
|
"Version:": "",
|
|
"Vertical": "",
|
|
"Vertical Alignment": "",
|
|
"Vertical blur:": "",
|
|
"Vertical:": "",
|
|
"Vibrance": "",
|
|
"View": "",
|
|
"Vignette": "",
|
|
"ViliusL": "",
|
|
"Vintage": "",
|
|
"Webcam": "",
|
|
"Webcam #": "",
|
|
"Website:": "",
|
|
"Weppy File Format": "",
|
|
"Width (%):": "",
|
|
"Width:": "",
|
|
"Windows Bitmap": "",
|
|
"Word": "",
|
|
"Word + Letter": "",
|
|
"Wrap At:": "",
|
|
"Wrap:": "",
|
|
"Wrong dimensions": "",
|
|
"Wrong file type, must be image or json.": "This is the wrong file type, it must be an asset (image) or json.",
|
|
"X end:": "",
|
|
"X position:": "",
|
|
"X start:": "",
|
|
"X-Pro II": "",
|
|
"Y end:": "",
|
|
"Y position:": "",
|
|
"Y start:": "",
|
|
"You can also drag and drop items into browser.": "You can also drag and drop assets (items) into browser.",
|
|
"Your browser does not support canvas or JavaScript is not enabled.": "",
|
|
"Your browser does not support this format.": "",
|
|
"Your search did not match any images.": "Your search did not match any assets (images).",
|
|
"Zoom": "",
|
|
"Zoom Blur": "",
|
|
"Zoom In": "",
|
|
"Zoom Out": "",
|
|
"Zoom blur": "",
|
|
"Zoom in": "",
|
|
"Zoom out": "",
|
|
"Zoom:": ""
|
|
} |