mirror of
https://github.com/scratchfoundation/scratch-l10n.git
synced 2024-12-22 13:42:30 -05:00
Refactor data exported for GUI
Create editor folder for all the editor components: * blocks - from scratch-blocks * extensions - from scratch-vm * interface - from scratch-gui * paint-editor - from scratch-paint. Update the transifex config, initilaize with the english sources. Export a combined editor-msgs.js in addition to individual files. Renamed paint to paint-editor to match the name in transifex.
This commit is contained in:
parent
1e976a53fd
commit
73f9b8619e
23 changed files with 1449 additions and 1333 deletions
25
.tx/config
25
.tx/config
|
@ -1,20 +1,25 @@
|
|||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = zh_CN:zh-cn, zh_TW:zh-tw, pt_BR:pt-br
|
||||
lang_map = zh_CN:zh-cn, zh_TW:zh-tw, pt_BR:pt-br, es_419:es-419
|
||||
|
||||
[experimental-scratch.scratch-gui]
|
||||
file_filter = gui/<lang>.json
|
||||
source_file = gui/en.json
|
||||
[scratch-editor.blocks]
|
||||
file_filter = editor/blocks/<lang>.json
|
||||
source_file = editor/blocks/en.json
|
||||
source_lang = en
|
||||
type = CHROME
|
||||
[experimental-scratch.scratch-paint]
|
||||
file_filter = paint/<lang>.json
|
||||
source_file = paint/en.json
|
||||
[scratch-editor.extensions]
|
||||
file_filter = editor/extensions/<lang>.json
|
||||
source_file = editor/extensions/en.json
|
||||
source_lang = en
|
||||
type = CHROME
|
||||
[experimental-scratch.pen]
|
||||
file_filter = pen/<lang>.json
|
||||
source_file = pen/en.json
|
||||
[scratch-editor.interface]
|
||||
file_filter = editor/interface/<lang>.json
|
||||
source_file = editor/interface/en.json
|
||||
source_lang = en
|
||||
type = CHROME
|
||||
[scratch-editor.paint-editor]
|
||||
file_filter = editor/paint-editor/<lang>.json
|
||||
source_file = editor/paint-editor/en.json
|
||||
source_lang = en
|
||||
type = CHROME
|
||||
|
||||
|
|
214
editor/blocks/en.json
Normal file
214
editor/blocks/en.json
Normal file
|
@ -0,0 +1,214 @@
|
|||
{
|
||||
"CONTROL_FOREVER": "forever",
|
||||
"CONTROL_REPEAT": "repeat %1",
|
||||
"CONTROL_IF": "if %1 then",
|
||||
"CONTROL_ELSE": "else",
|
||||
"CONTROL_STOP": "stop",
|
||||
"CONTROL_STOP_ALL": "all",
|
||||
"CONTROL_STOP_THIS": "this script",
|
||||
"CONTROL_STOP_OTHER": "other scripts in sprite",
|
||||
"CONTROL_WAIT": "wait %1 seconds",
|
||||
"CONTROL_WAITUNTIL": "wait until %1",
|
||||
"CONTROL_REPEATUNTIL": "repeat until %1",
|
||||
"CONTROL_WHILE": "while %1",
|
||||
"CONTROL_FOREACH": "for each %1 in %2",
|
||||
"CONTROL_STARTASCLONE": "when I start as a clone",
|
||||
"CONTROL_CREATECLONEOF": "create clone of %1",
|
||||
"CONTROL_CREATECLONEOF_MYSELF": "myself",
|
||||
"CONTROL_DELETETHISCLONE": "delete this clone",
|
||||
"CONTROL_COUNTER": "counter",
|
||||
"CONTROL_INCRCOUNTER": "increment counter",
|
||||
"CONTROL_CLEARCOUNTER": "clear counter",
|
||||
"CONTROL_ALLATONCE": "all at once",
|
||||
"DATA_SETVARIABLETO": "set %1 to %2",
|
||||
"DATA_CHANGEVARIABLEBY": "change %1 by %2",
|
||||
"DATA_SHOWVARIABLE": "show variable %1",
|
||||
"DATA_HIDEVARIABLE": "hide variable %1",
|
||||
"DATA_ADDTOLIST": "add %1 to %2",
|
||||
"DATA_DELETEOFLIST": "delete %1 of %2",
|
||||
"DATA_INSERTATLIST": "insert %1 at %2 of %3",
|
||||
"DATA_REPLACEITEMOFLIST": "replace item %1 of %2 with %3",
|
||||
"DATA_ITEMOFLIST": "item %1 of %2",
|
||||
"DATA_LENGTHOFLIST": "length of %1",
|
||||
"DATA_LISTCONTAINSITEM": "%1 contains %2?",
|
||||
"DATA_SHOWLIST": "show list %1",
|
||||
"DATA_HIDELIST": "hide list %1",
|
||||
"DATA_INDEX_ALL": "all",
|
||||
"DATA_INDEX_LAST": "last",
|
||||
"DATA_INDEX_RANDOM": "random",
|
||||
"EVENT_WHENFLAGCLICKED": "when %1 clicked",
|
||||
"EVENT_WHENTHISSPRITECLICKED": "when this sprite clicked",
|
||||
"EVENT_WHENSTAGECLICKED": "when stage clicked",
|
||||
"EVENT_WHENBROADCASTRECEIVED": "when I receive %1",
|
||||
"EVENT_WHENBACKDROPSWITCHESTO": "when backdrop switches to %1",
|
||||
"EVENT_WHENGREATERTHAN": "when %1 > %2",
|
||||
"EVENT_WHENGREATERTHAN_TIMER": "timer",
|
||||
"EVENT_BROADCAST": "broadcast %1",
|
||||
"EVENT_BROADCASTANDWAIT": "broadcast %1 and wait",
|
||||
"EVENT_WHENKEYPRESSED": "when %1 key pressed",
|
||||
"EVENT_WHENKEYPRESSED_SPACE": "space",
|
||||
"EVENT_WHENKEYPRESSED_LEFT": "left arrow",
|
||||
"EVENT_WHENKEYPRESSED_RIGHT": "right arrow",
|
||||
"EVENT_WHENKEYPRESSED_DOWN": "down arrow",
|
||||
"EVENT_WHENKEYPRESSED_UP": "up arrow",
|
||||
"EVENT_WHENKEYPRESSED_ANY": "any",
|
||||
"LOOKS_SAYFORSECS": "say %1 for %2 seconds",
|
||||
"LOOKS_SAY": "say %1",
|
||||
"LOOKS_THINKFORSECS": "think %1 for %2 seconds",
|
||||
"LOOKS_THINK": "think %1",
|
||||
"LOOKS_SHOW": "show",
|
||||
"LOOKS_HIDE": "hide",
|
||||
"LOOKS_HIDEALLSPRITES": "hide all sprites",
|
||||
"LOOKS_EFFECT_COLOR": "color",
|
||||
"LOOKS_EFFECT_FISHEYE": "fisheye",
|
||||
"LOOKS_EFFECT_WHIRL": "whirl",
|
||||
"LOOKS_EFFECT_PIXELATE": "pixelate",
|
||||
"LOOKS_EFFECT_MOSAIC": "mosaic",
|
||||
"LOOKS_EFFECT_BRIGHTNESS": "brightness",
|
||||
"LOOKS_EFFECT_GHOST": "ghost",
|
||||
"LOOKS_CHANGEEFFECTBY": "change %1 effect by %2",
|
||||
"LOOKS_SETEFFECTTO": "set %1 effect to %2",
|
||||
"LOOKS_CLEARGRAPHICEFFECTS": "clear graphic effects",
|
||||
"LOOKS_CHANGESIZEBY": "change size by %1",
|
||||
"LOOKS_SETSIZETO": "set size to %1 %",
|
||||
"LOOKS_SIZE": "size",
|
||||
"LOOKS_CHANGESTRETCHBY": "change stretch by %1",
|
||||
"LOOKS_SETSTRETCHTO": "set stretch to %1 %",
|
||||
"LOOKS_SWITCHCOSTUMETO": "switch costume to %1",
|
||||
"LOOKS_NEXTCOSTUME": "next costume",
|
||||
"LOOKS_SWITCHBACKDROPTO": "switch backdrop to %1",
|
||||
"LOOKS_GOTOFRONTBACK": "go to %1 layer",
|
||||
"LOOKS_GOTOFRONTBACK_FRONT": "front",
|
||||
"LOOKS_GOTOFRONTBACK_BACK": "back",
|
||||
"LOOKS_GOFORWARDBACKWARDLAYERS": "go %1 %2 layers",
|
||||
"LOOKS_GOFORWARDBACKWARDLAYERS_FORWARD": "forward",
|
||||
"LOOKS_GOFORWARDBACKWARDLAYERS_BACKWARD": "backward",
|
||||
"LOOKS_BACKDROPNUMBERNAME": "backdrop %1",
|
||||
"LOOKS_COSTUMENUMBERNAME": "costume %1",
|
||||
"LOOKS_NUMBERNAME_NUMBER": "number",
|
||||
"LOOKS_NUMBERNAME_NAME": "name",
|
||||
"LOOKS_SWITCHBACKDROPTOANDWAIT": "switch backdrop to %1 and wait",
|
||||
"LOOKS_NEXTBACKDROP": "next backdrop",
|
||||
"LOOKS_PREVIOUSBACKDROP": "previous backdrop",
|
||||
"MOTION_MOVESTEPS": "move %1 steps",
|
||||
"MOTION_TURNLEFT": "turn %1 %2 degrees",
|
||||
"MOTION_TURNRIGHT": "turn %1 %2 degrees",
|
||||
"MOTION_POINTINDIRECTION": "point in direction %1",
|
||||
"MOTION_POINTTOWARDS": "point towards %1",
|
||||
"MOTION_POINTTOWARDS_POINTER": "mouse-pointer",
|
||||
"MOTION_GOTO": "go to %1",
|
||||
"MOTION_GOTO_POINTER": "mouse-pointer",
|
||||
"MOTION_GOTO_RANDOM": "random position",
|
||||
"MOTION_GOTOXY": "go to x: %1 y: %2",
|
||||
"MOTION_GLIDESECSTOXY": "glide %1 secs to x: %2 y: %3",
|
||||
"MOTION_GLIDETO": "glide %1 secs to %2",
|
||||
"MOTION_GLIDETO_POINTER": "mouse-pointer",
|
||||
"MOTION_GLIDETO_RANDOM": "random position",
|
||||
"MOTION_CHANGEXBY": "change x by %1",
|
||||
"MOTION_SETX": "set x to %1",
|
||||
"MOTION_CHANGEYBY": "change y by %1",
|
||||
"MOTION_SETY": "set y to %1",
|
||||
"MOTION_IFONEDGEBOUNCE": "if on edge, bounce",
|
||||
"MOTION_SETROTATIONSTYLE": "set rotation style %1",
|
||||
"MOTION_SETROTATIONSTYLE_LEFTRIGHT": "left-right",
|
||||
"MOTION_SETROTATIONSTYLE_DONTROTATE": "don't rotate",
|
||||
"MOTION_SETROTATIONSTYLE_ALLAROUND": "all around",
|
||||
"MOTION_XPOSITION": "x position",
|
||||
"MOTION_YPOSITION": "y position",
|
||||
"MOTION_DIRECTION": "direction",
|
||||
"MOTION_SCROLLRIGHT": "scroll right %1",
|
||||
"MOTION_SCROLLUP": "scroll up %1",
|
||||
"MOTION_ALIGNSCENE": "align scene %1",
|
||||
"MOTION_ALIGNSCENE_BOTTOMLEFT": "bottom-left",
|
||||
"MOTION_ALIGNSCENE_BOTTOMRIGHT": "bottom-right",
|
||||
"MOTION_ALIGNSCENE_MIDDLE": "middle",
|
||||
"MOTION_ALIGNSCENE_TOPLEFT": "top-left",
|
||||
"MOTION_ALIGNSCENE_TOPRIGHT": "top-right",
|
||||
"MOTION_XSCROLL": "x scroll",
|
||||
"MOTION_YSCROLL": "y scroll",
|
||||
"OPERATORS_ADD": "%1 + %2",
|
||||
"OPERATORS_SUBTRACT": "%1 - %2",
|
||||
"OPERATORS_MULTIPLY": "%1 * %2",
|
||||
"OPERATORS_DIVIDE": "%1 / %2",
|
||||
"OPERATORS_RANDOM": "pick random %1 to %2",
|
||||
"OPERATORS_GT": "%1 > %2",
|
||||
"OPERATORS_LT": "%1 < %2",
|
||||
"OPERATORS_EQUALS": "%1 = %2",
|
||||
"OPERATORS_AND": "%1 and %2",
|
||||
"OPERATORS_OR": "%1 or %2",
|
||||
"OPERATORS_NOT": "not %1",
|
||||
"OPERATORS_JOIN": "join %1 %2",
|
||||
"OPERATORS_LETTEROF": "letter %1 of %2",
|
||||
"OPERATORS_LENGTH": "length of %1",
|
||||
"OPERATORS_CONTAINS": "%1 contains %2?",
|
||||
"OPERATORS_MOD": "%1 mod %2",
|
||||
"OPERATORS_ROUND": "round %1",
|
||||
"OPERATORS_MATHOP": "%1 of %2",
|
||||
"OPERATORS_MATHOP_ABS": "abs",
|
||||
"OPERATORS_MATHOP_FLOOR": "floor",
|
||||
"OPERATORS_MATHOP_CEILING": "ceiling",
|
||||
"OPERATORS_MATHOP_SQRT": "sqrt",
|
||||
"OPERATORS_MATHOP_SIN": "sin",
|
||||
"OPERATORS_MATHOP_COS": "cos",
|
||||
"OPERATORS_MATHOP_TAN": "tan",
|
||||
"OPERATORS_MATHOP_ASIN": "asin",
|
||||
"OPERATORS_MATHOP_ACOS": "acos",
|
||||
"OPERATORS_MATHOP_ATAN": "atan",
|
||||
"OPERATORS_MATHOP_LN": "ln",
|
||||
"OPERATORS_MATHOP_LOG": "log",
|
||||
"OPERATORS_MATHOP_EEXP": "e ^",
|
||||
"OPERATORS_MATHOP_10EXP": "10 ^",
|
||||
"PROCEDURES_DEFINITION": "define %1",
|
||||
"SENSING_TOUCHINGOBJECT": "touching %1?",
|
||||
"SENSING_TOUCHINGOBJECT_POINTER": "mouse-pointer",
|
||||
"SENSING_TOUCHINGOBJECT_EDGE": "edge",
|
||||
"SENSING_TOUCHINGCOLOR": "touching color %1?",
|
||||
"SENSING_COLORISTOUCHINGCOLOR": "color %1 is touching %2?",
|
||||
"SENSING_DISTANCETO": "distance to %1",
|
||||
"SENSING_DISTANCETO_POINTER": "mouse-pointer",
|
||||
"SENSING_ASKANDWAIT": "ask %1 and wait",
|
||||
"SENSING_ANSWER": "answer",
|
||||
"SENSING_KEYPRESSED": "key %1 pressed?",
|
||||
"SENSING_MOUSEDOWN": "mouse down?",
|
||||
"SENSING_MOUSEX": "mouse x",
|
||||
"SENSING_MOUSEY": "mouse y",
|
||||
"SENSING_SETDRAGMODE": "set drag mode %1",
|
||||
"SENSING_SETDRAGMODE_DRAGGABLE": "draggable",
|
||||
"SENSING_SETDRAGMODE_NOTDRAGGABLE": "not draggable",
|
||||
"SENSING_LOUDNESS": "loudness",
|
||||
"SENSING_LOUD": "loud?",
|
||||
"SENSING_TIMER": "timer",
|
||||
"SENSING_RESETTIMER": "reset timer",
|
||||
"SENSING_OF": "%1 of %2",
|
||||
"SENSING_OF_XPOSITION": "x position",
|
||||
"SENSING_OF_YPOSITION": "y position",
|
||||
"SENSING_OF_DIRECTION": "direction",
|
||||
"SENSING_OF_COSTUMENUMBER": "costume #",
|
||||
"SENSING_OF_COSTUMENAME": "costume name",
|
||||
"SENSING_OF_SIZE": "size",
|
||||
"SENSING_OF_VOLUME": "volume",
|
||||
"SENSING_OF_BACKDROPNUMBER": "backdrop #",
|
||||
"SENSING_OF_BACKDROPNAME": "backdrop name",
|
||||
"SENSING_CURRENT": "current %1",
|
||||
"SENSING_CURRENT_YEAR": "year",
|
||||
"SENSING_CURRENT_MONTH": "month",
|
||||
"SENSING_CURRENT_DATE": "date",
|
||||
"SENSING_CURRENT_DAYOFWEEK": "day of week",
|
||||
"SENSING_CURRENT_HOUR": "hour",
|
||||
"SENSING_CURRENT_MINUTE": "minute",
|
||||
"SENSING_CURRENT_SECOND": "second",
|
||||
"SENSING_DAYSSINCE2000": "days since 2000",
|
||||
"SENSING_USERNAME": "username",
|
||||
"SENSING_USERID": "user id",
|
||||
"SOUND_PLAY": "start sound %1",
|
||||
"SOUND_PLAYUNTILDONE": "play sound %1 until done",
|
||||
"SOUND_STOPALLSOUNDS": "stop all sounds",
|
||||
"SOUND_SETEFFECTO": "set %1 effect to %2",
|
||||
"SOUND_CHANGEEFFECTBY": "change %1 effect by %2",
|
||||
"SOUND_CLEAREFFECTS": "clear sound effects",
|
||||
"SOUND_EFFECTS_PITCH": "pitch",
|
||||
"SOUND_EFFECTS_PAN": "pan left/right",
|
||||
"SOUND_CHANGEVOLUMEBY": "change volume by %1",
|
||||
"SOUND_SETVOLUMETO": "set volume to %1%",
|
||||
"SOUND_VOLUME": "volume"
|
||||
}
|
298
editor/extensions/en.json
Normal file
298
editor/extensions/en.json
Normal file
|
@ -0,0 +1,298 @@
|
|||
{
|
||||
"music.drumHandClap": {
|
||||
"message": "(8) Hand Clap",
|
||||
"description": "Sound of two hands clapping together"
|
||||
},
|
||||
"videoSensing.setVideoTransparency": {
|
||||
"message": "set video transparency to [TRANSPARENCY]",
|
||||
"description": "Controls transparency of the video preview layer"
|
||||
},
|
||||
"pen.setColor": {
|
||||
"message": "set pen color to [COLOR]",
|
||||
"description": "set the pen color to a particular (RGB) value"
|
||||
},
|
||||
"pen.setColorParam": {
|
||||
"message": "set pen [COLOR_PARAM] to [VALUE]",
|
||||
"description": "set the state for a pen color parameter e.g. saturation"
|
||||
},
|
||||
"music.drumCabasa": {
|
||||
"message": "(15) Cabasa",
|
||||
"description": "Sound of a cabasa being shaken"
|
||||
},
|
||||
"music.getTempo": {
|
||||
"message": "tempo",
|
||||
"description": "get the current tempo (speed) for notes, drums, and rests played"
|
||||
},
|
||||
"music.drumOpenHiHat": {
|
||||
"message": "(5) Open Hi-Hat",
|
||||
"description": "Sound of a drum stick hitting a hi-hat while open"
|
||||
},
|
||||
"music.drumBongo": {
|
||||
"message": "(13) Bongo",
|
||||
"description": "Sound of a bongo being struck"
|
||||
},
|
||||
"videoSensing.stage": {
|
||||
"message": "stage",
|
||||
"description": "Subject for the \"video [ATTRIBUTE] on [SUBJECT]\" block"
|
||||
},
|
||||
"pen.colorMenu.brightness": {
|
||||
"message": "brightness",
|
||||
"description": "label for brightness element in color picker for pen extension"
|
||||
},
|
||||
"videoSensing.videoToggle": {
|
||||
"message": "turn video [VIDEO_STATE]",
|
||||
"description": "Controls display of the video preview layer"
|
||||
},
|
||||
"pen.setSize": {
|
||||
"message": "set pen size to [SIZE]",
|
||||
"description": "set the diameter of a trail left by a sprite"
|
||||
},
|
||||
"music.drumBass": {
|
||||
"message": "(2) Bass Drum",
|
||||
"description": "Sound of bass drum as used in a standard drum kit"
|
||||
},
|
||||
"music.instrumentCello": {
|
||||
"message": "(8) Cello",
|
||||
"description": "Sound of a cello being played with a bow"
|
||||
},
|
||||
"pen.changeHue": {
|
||||
"message": "change pen color by [HUE]",
|
||||
"description": "legacy pen blocks - change pen color"
|
||||
},
|
||||
"music.instrumentChoir": {
|
||||
"message": "(15) Choir",
|
||||
"description": "Sound of a choir singing"
|
||||
},
|
||||
"music.drumVibraslap": {
|
||||
"message": "(17) Vibraslap",
|
||||
"description": "Sound of a Vibraslap being played"
|
||||
},
|
||||
"pen.stamp": {
|
||||
"message": "stamp",
|
||||
"description": "render current costume on the background"
|
||||
},
|
||||
"music.instrumentPizzicato": {
|
||||
"message": "(7) Pizzicato",
|
||||
"description": "Sound of a string instrument (e.g. violin) being plucked"
|
||||
},
|
||||
"music.instrumentWoodenFlute": {
|
||||
"message": "(13) Wooden Flute",
|
||||
"description": "Sound of a wooden flute being played"
|
||||
},
|
||||
"music.drumSnare": {
|
||||
"message": "(1) Snare Drum",
|
||||
"description": "Sound of snare drum as used in a standard drum kit"
|
||||
},
|
||||
"music.drumCowbell": {
|
||||
"message": "(11) Cowbell",
|
||||
"description": "Sound of a cowbell being struck"
|
||||
},
|
||||
"videoSensing.onFlipped": {
|
||||
"message": "on flipped",
|
||||
"description": "Option for the \"turn video [STATE]\" block that causes the video to be flipped horizontally (reversed as in a mirror)"
|
||||
},
|
||||
"videoSensing.sprite": {
|
||||
"message": "sprite",
|
||||
"description": "Subject for the \"video [ATTRIBUTE] on [SUBJECT]\" block"
|
||||
},
|
||||
"music.restForBeats": {
|
||||
"message": "rest for [BEATS] beats",
|
||||
"description": "rest (play no sound) for a number of beats"
|
||||
},
|
||||
"music.drumTriangle": {
|
||||
"message": "(12) Triangle",
|
||||
"description": "Sound of a triangle (instrument) being struck"
|
||||
},
|
||||
"music.instrumentTrombone": {
|
||||
"message": "(9) Trombone",
|
||||
"description": "Sound of a trombone being played"
|
||||
},
|
||||
"music.instrumentVibraphone": {
|
||||
"message": "(16) Vibraphone",
|
||||
"description": "Sound of a vibraphone being struck"
|
||||
},
|
||||
"music.instrumentSaxophone": {
|
||||
"message": "(11) Saxophone",
|
||||
"description": "Sound of a saxophone being played"
|
||||
},
|
||||
"music.instrumentBass": {
|
||||
"message": "(6) Bass",
|
||||
"description": "Sound of an accoustic upright bass"
|
||||
},
|
||||
"pen.clear": {
|
||||
"message": "erase all",
|
||||
"description": "erase all pen trails and stamps"
|
||||
},
|
||||
"music.instrumentClarinet": {
|
||||
"message": "(10) Clarinet",
|
||||
"description": "Sound of a clarinet being played"
|
||||
},
|
||||
"music.instrumentSteelDrum": {
|
||||
"message": "(18) Steel Drum",
|
||||
"description": "Sound of a steel drum being struck"
|
||||
},
|
||||
"pen.setHue": {
|
||||
"message": "set pen color to [HUE]",
|
||||
"description": "legacy pen blocks - set pen color to number"
|
||||
},
|
||||
"music.drumGuiro": {
|
||||
"message": "(16) Guiro",
|
||||
"description": "Sound of a guiro being played"
|
||||
},
|
||||
"music.instrumentBassoon": {
|
||||
"message": "(14) Bassoon",
|
||||
"description": "Sound of a bassoon being played"
|
||||
},
|
||||
"pen.setShade": {
|
||||
"message": "set pen shade to [SHADE]",
|
||||
"description": "legacy pen blocks - set pen shade"
|
||||
},
|
||||
"music.instrumentFlute": {
|
||||
"message": "(12) Flute",
|
||||
"description": "Sound of a flute being played"
|
||||
},
|
||||
"pen.colorMenu.color": {
|
||||
"message": "color",
|
||||
"description": "label for color element in color picker for pen extension"
|
||||
},
|
||||
"music.drumConga": {
|
||||
"message": "(14) Conga",
|
||||
"description": "Sound of a conga being struck"
|
||||
},
|
||||
"pen.changeSize": {
|
||||
"message": "change pen size by [SIZE]",
|
||||
"description": "change the diameter of the trail left by a sprite"
|
||||
},
|
||||
"videoSensing.on": {
|
||||
"message": "on",
|
||||
"description": "Option for the \"turn video [STATE]\" block"
|
||||
},
|
||||
"music.instrumentSynthPad": {
|
||||
"message": "(21) Synth Pad",
|
||||
"description": "Sound of a \"pad\" synthesizer being played"
|
||||
},
|
||||
"pen.colorMenu.transparency": {
|
||||
"message": "transparency",
|
||||
"description": "label for transparency element in color picker for pen extension"
|
||||
},
|
||||
"music.instrumentGuitar": {
|
||||
"message": "(4) Guitar",
|
||||
"description": "Sound of an accoustic guitar"
|
||||
},
|
||||
"music.drumClosedHiHat": {
|
||||
"message": "(6) Closed Hi-Hat",
|
||||
"description": "Sound of a drum stick hitting a hi-hat while closed"
|
||||
},
|
||||
"pen.changeColorParam": {
|
||||
"message": "change pen [COLOR_PARAM] by [VALUE]",
|
||||
"description": "change the state of a pen color parameter"
|
||||
},
|
||||
"videoSensing.whenMotionGreaterThan": {
|
||||
"message": "when video motion > [REFERENCE]",
|
||||
"description": "Event that triggers when the amount of motion is greater than [REFERENCE]"
|
||||
},
|
||||
"music.drumTambourine": {
|
||||
"message": "(7) Tambourine",
|
||||
"description": "Sound of a tambourine being struck"
|
||||
},
|
||||
"music.playDrumForBeats": {
|
||||
"message": "play drum [DRUM] for [BEATS] beats",
|
||||
"description": "play drum sample for a number of beats"
|
||||
},
|
||||
"music.instrumentMarimba": {
|
||||
"message": "(19) Marimba",
|
||||
"description": "Sound of a marimba being struck"
|
||||
},
|
||||
"music.instrumentMusicBox": {
|
||||
"message": "(17) Music Box",
|
||||
"description": "Sound of a music box playing"
|
||||
},
|
||||
"music.instrumentOrgan": {
|
||||
"message": "(3) Organ",
|
||||
"description": "Sound of an organ"
|
||||
},
|
||||
"videoSensing.videoOn": {
|
||||
"message": "video [ATTRIBUTE] on [SUBJECT]",
|
||||
"description": "Reporter that returns the amount of [ATTRIBUTE] for the selected [SUBJECT]"
|
||||
},
|
||||
"music.drumCuica": {
|
||||
"message": "(18) Cuica",
|
||||
"description": "Sound of a cuica being played"
|
||||
},
|
||||
"pen.penDown": {
|
||||
"message": "pen down",
|
||||
"description": "start leaving a trail when the sprite moves"
|
||||
},
|
||||
"videoSensing.motion": {
|
||||
"message": "motion",
|
||||
"description": "Attribute for the \"video [ATTRIBUTE] on [SUBJECT]\" block"
|
||||
},
|
||||
"pen.penUp": {
|
||||
"message": "pen up",
|
||||
"description": "stop leaving a trail behind the sprite"
|
||||
},
|
||||
"music.changeTempo": {
|
||||
"message": "change tempo by [TEMPO]",
|
||||
"description": "change tempo (speed) for notes, drums, and rests played"
|
||||
},
|
||||
"pen.colorMenu.saturation": {
|
||||
"message": "saturation",
|
||||
"description": "label for saturation element in color picker for pen extension"
|
||||
},
|
||||
"music.setInstrument": {
|
||||
"message": "set instrument to [INSTRUMENT]",
|
||||
"description": "set the instrument (e.g. piano, guitar, trombone) for notes played"
|
||||
},
|
||||
"music.instrumentPiano": {
|
||||
"message": "(1) Piano",
|
||||
"description": "Sound of a piano"
|
||||
},
|
||||
"music.drumWoodBlock": {
|
||||
"message": "(10) Wood Block",
|
||||
"description": "Sound of a wood block being struck"
|
||||
},
|
||||
"videoSensing.direction": {
|
||||
"message": "direction",
|
||||
"description": "Attribute for the \"video [ATTRIBUTE] on [SUBJECT]\" block"
|
||||
},
|
||||
"music.instrumentSynthLead": {
|
||||
"message": "(20) Synth Lead",
|
||||
"description": "Sound of a \"lead\" synthesizer being played"
|
||||
},
|
||||
"music.drumSideStick": {
|
||||
"message": "(3) Side Stick",
|
||||
"description": "Sound of a drum stick hitting the side of a drum (usually the snare)"
|
||||
},
|
||||
"pen.changeShade": {
|
||||
"message": "change pen shade by [SHADE]",
|
||||
"description": "legacy pen blocks - change pen shade"
|
||||
},
|
||||
"music.setTempo": {
|
||||
"message": "set tempo to [TEMPO]",
|
||||
"description": "set tempo (speed) for notes, drums, and rests played"
|
||||
},
|
||||
"music.instrumentElectricPiano": {
|
||||
"message": "(2) Electric Piano",
|
||||
"description": "Sound of an electric piano"
|
||||
},
|
||||
"music.instrumentElectricGuitar": {
|
||||
"message": "(5) Electric Guitar",
|
||||
"description": "Sound of an electric guitar"
|
||||
},
|
||||
"music.drumCrashCymbal": {
|
||||
"message": "(4) Crash Cymbal",
|
||||
"description": "Sound of a drum stick hitting a crash cymbal"
|
||||
},
|
||||
"videoSensing.off": {
|
||||
"message": "off",
|
||||
"description": "Option for the \"turn video [STATE]\" block"
|
||||
},
|
||||
"music.playNoteForBeats": {
|
||||
"message": "play note [NOTE] for [BEATS] beats",
|
||||
"description": "play a note for a number of beats"
|
||||
},
|
||||
"music.drumClaves": {
|
||||
"message": "(9) Claves",
|
||||
"description": "Sound of claves being struck together"
|
||||
}
|
||||
}
|
714
editor/interface/en.json
Normal file
714
editor/interface/en.json
Normal file
|
@ -0,0 +1,714 @@
|
|||
{
|
||||
"gui.soundEditor.echo": {
|
||||
"message": "Echo",
|
||||
"description": "Title of the button to apply the echo effect"
|
||||
},
|
||||
"gui.howtos.run-away.step_addWhenClicked": {
|
||||
"message": "Add a “when this sprite clicked” block",
|
||||
"description": "Step name for 'Add a “when this sprite clicked” block' step"
|
||||
},
|
||||
"gui.previewInfo.notnow": {
|
||||
"message": "Not Now",
|
||||
"description": "Label for button to back out of trying Scratch 3.0 preview"
|
||||
},
|
||||
"gui.costumeLibrary.chooseACostume": {
|
||||
"message": "Choose a Costume",
|
||||
"description": "Heading for the costume library"
|
||||
},
|
||||
"gui.library.filterPlaceholder": {
|
||||
"message": "Search",
|
||||
"description": "Placeholder text for library search field"
|
||||
},
|
||||
"gui.unsupportedBrowser.back": {
|
||||
"message": "Back",
|
||||
"description": "Button to go back in unsupported browser modal"
|
||||
},
|
||||
"gui.stageSelector.addBackdropFromSurprise": {
|
||||
"message": "Surprise",
|
||||
"description": "Button to add a random stage in the target pane"
|
||||
},
|
||||
"gui.comingSoon.message3": {
|
||||
"message": "We're working on it {emoji}",
|
||||
"description": "One of the \"coming soon\" random messages for yet-to-be-done features"
|
||||
},
|
||||
"gui.unsupportedBrowser.previewfaqlink": {
|
||||
"message": "Preview FAQ",
|
||||
"description": "link to Scratch 3.0 preview FAQ page"
|
||||
},
|
||||
"gui.monitor.contextMenu.slider": {
|
||||
"message": "slider",
|
||||
"description": "Menu item to switch to the slider monitor"
|
||||
},
|
||||
"gui.cards.remove": {
|
||||
"message": "Remove",
|
||||
"description": "Title for button to close how-to card"
|
||||
},
|
||||
"gui.unsupportedBrowser.description": {
|
||||
"message": "We're very sorry, but Scratch 3.0 does not support Internet Explorer, Opera or Silk. We recommend trying a newer browser such as Google Chrome, Mozilla Firefox, or Microsoft Edge.",
|
||||
"description": "Unsupported browser description"
|
||||
},
|
||||
"gui.costumeTab.addSurpriseCostume": {
|
||||
"message": "Surprise",
|
||||
"description": "Button to add a surprise costume in the editor tab"
|
||||
},
|
||||
"gui.soundEditor.save": {
|
||||
"message": "Save",
|
||||
"description": "Title of the button to save trimmed sound"
|
||||
},
|
||||
"gui.howtos.say-hello.name": {
|
||||
"message": "Say hello",
|
||||
"description": "Name for the 'Say hello' how-to"
|
||||
},
|
||||
"gui.stageHeader.stageSizeUnFull": {
|
||||
"message": "Exit full screen mode",
|
||||
"description": "Button to get out of full screen mode"
|
||||
},
|
||||
"gui.menuBar.file": {
|
||||
"message": "File",
|
||||
"description": "Text for file dropdown menu"
|
||||
},
|
||||
"gui.stageHeader.stageSizeLarge": {
|
||||
"message": "Switch to large stage",
|
||||
"description": "Button to change stage size to large"
|
||||
},
|
||||
"gui.howtos.switch-costume.name": {
|
||||
"message": "Switch costume",
|
||||
"description": "Name for the 'Switch costume' how-to"
|
||||
},
|
||||
"gui.howtos.say-hello.step_addSprite": {
|
||||
"message": "Add a new sprite",
|
||||
"description": "Step name for 'Add a new sprite' step"
|
||||
},
|
||||
"gui.costumeTab.addFileBackdrop": {
|
||||
"message": "Upload Backdrop",
|
||||
"description": "Button to add a backdrop by uploading a file in the editor tab"
|
||||
},
|
||||
"gui.soundTab.fileUploadSound": {
|
||||
"message": "Upload Sound",
|
||||
"description": "Button to upload sound from file in the editor tab"
|
||||
},
|
||||
"gui.soundEditor.stop": {
|
||||
"message": "Stop",
|
||||
"description": "Title of the button to stop the sound"
|
||||
},
|
||||
"gui.loader.message2": {
|
||||
"message": "Loading sprites …",
|
||||
"description": "One of the loading messages"
|
||||
},
|
||||
"gui.stageHeader.fullscreenControl": {
|
||||
"message": "Full Screen Control",
|
||||
"description": "Button to enter/exit full screen mode"
|
||||
},
|
||||
"gui.soundEditor.redo": {
|
||||
"message": "Redo",
|
||||
"description": "Title of the button to redo"
|
||||
},
|
||||
"gui.importInfo.title": {
|
||||
"message": "View a Scratch 2.0 Project",
|
||||
"description": "Scratch 2.0 import modal label - for accessibility"
|
||||
},
|
||||
"gui.extensionLibrary.chooseAnExtension": {
|
||||
"message": "Choose an Extension",
|
||||
"description": "Heading for the extension library"
|
||||
},
|
||||
"gui.webglModal.description": {
|
||||
"message": "Unfortunately it looks like your browser or computer {webGlLink}. This technology is needed for Scratch 3.0 to run.",
|
||||
"description": "WebGL missing message"
|
||||
},
|
||||
"gui.previewModal.viewproject": {
|
||||
"message": "View 2.0 Project",
|
||||
"description": "Label for button to import a 2.0 project"
|
||||
},
|
||||
"gui.previewInfo.previewfaqlink": {
|
||||
"message": "Preview FAQ",
|
||||
"description": "link to Scratch 3.0 preview FAQ page"
|
||||
},
|
||||
"gui.soundEditor.softer": {
|
||||
"message": "Softer",
|
||||
"description": "Title of the button to apply thr.softer effect"
|
||||
},
|
||||
"gui.soundEditor.robot": {
|
||||
"message": "Robot",
|
||||
"description": "Title of the button to apply the robot effect"
|
||||
},
|
||||
"gui.menuBar.undo": {
|
||||
"message": "Undo",
|
||||
"description": "Menu bar item for undoing"
|
||||
},
|
||||
"gui.stageSelector.stage": {
|
||||
"message": "Stage",
|
||||
"description": "Label for the stage in the stage selector"
|
||||
},
|
||||
"gui.webglModal.back": {
|
||||
"message": "Back",
|
||||
"description": "Label for button go back when browser is unsupported"
|
||||
},
|
||||
"gui.comingSoon.message1": {
|
||||
"message": "Don't worry, we're on it {emoji}",
|
||||
"description": "One of the \"coming soon\" random messages for yet-to-be-done features"
|
||||
},
|
||||
"gui.cards.all-how-tos": {
|
||||
"message": "All How-Tos",
|
||||
"description": "Title for button to return to how-to library"
|
||||
},
|
||||
"gui.soundLibrary.chooseASound": {
|
||||
"message": "Choose a Sound",
|
||||
"description": "Heading for the sound library"
|
||||
},
|
||||
"gui.importInfo.invalidFormatError": {
|
||||
"message": "Uh oh, that project link or id doesn't look quite right.",
|
||||
"description": "Invalid project link or id message"
|
||||
},
|
||||
"gui.customProcedures.addAnInputNumberText": {
|
||||
"message": "Add an input",
|
||||
"description": "Label for button to add a number/text input"
|
||||
},
|
||||
"gui.menuBar.saveAsCopy": {
|
||||
"message": "Save as a copy",
|
||||
"description": "Menu bar item for saving as a copy"
|
||||
},
|
||||
"gui.importModal.viewproject": {
|
||||
"message": "View",
|
||||
"description": "Label for button to load a scratch 2.0 project"
|
||||
},
|
||||
"gui.menuBar.new": {
|
||||
"message": "New",
|
||||
"description": "Menu bar item for creating a new project"
|
||||
},
|
||||
"gui.customProcedures.addALabel": {
|
||||
"message": "Add a label",
|
||||
"description": "Label for button to add a label"
|
||||
},
|
||||
"gui.soundEditor.trim": {
|
||||
"message": "Trim",
|
||||
"description": "Title of the button to start trimminging the sound"
|
||||
},
|
||||
"gui.cards.see-more": {
|
||||
"message": "See more",
|
||||
"description": "Title for button to see more in how-to library"
|
||||
},
|
||||
"gui.customProcedures.addAnInputBoolean": {
|
||||
"message": "Add an input",
|
||||
"description": "Label for button to add a boolean input"
|
||||
},
|
||||
"gui.stageHeader.stageSizeSmall": {
|
||||
"message": "Switch to small stage",
|
||||
"description": "Button to change stage size to small"
|
||||
},
|
||||
"gui.menuBar.saveNow": {
|
||||
"message": "Save now",
|
||||
"description": "Menu bar item for saving now"
|
||||
},
|
||||
"gui.SpriteInfo.sprite": {
|
||||
"message": "Sprite",
|
||||
"description": "Sprite info label"
|
||||
},
|
||||
"gui.menuBar.downloadToComputer": {
|
||||
"message": "Download to your computer",
|
||||
"description": "Menu bar item for downloading a project"
|
||||
},
|
||||
"gui.costumeTab.addCostumeFromLibrary": {
|
||||
"message": "Choose a Costume",
|
||||
"description": "Button to add a costume in the editor tab"
|
||||
},
|
||||
"gui.soundTab.addSoundFromLibrary": {
|
||||
"message": "Choose a Sound",
|
||||
"description": "Button to add a sound in the editor tab"
|
||||
},
|
||||
"gui.cameraModal.enableCameraCaption": {
|
||||
"message": "Enable Camera",
|
||||
"description": "A caption for a disabled button prompting the user to enable camera access"
|
||||
},
|
||||
"gui.loader.message5": {
|
||||
"message": "Herding cats …",
|
||||
"description": "One of the loading messages"
|
||||
},
|
||||
"gui.loader.message7": {
|
||||
"message": "Inflating gobos …",
|
||||
"description": "One of the loading messages"
|
||||
},
|
||||
"gui.howtos.glide-around.name": {
|
||||
"message": "Glide around",
|
||||
"description": "Name for the 'Glide around' how-to"
|
||||
},
|
||||
"gui.menuBar.uploadFromComputer": {
|
||||
"message": "Upload from your computer",
|
||||
"description": "Menu bar item for uploading a project from your computer"
|
||||
},
|
||||
"gui.customProcedures.ok": {
|
||||
"message": "OK",
|
||||
"description": "Label for button to save new custom procedure"
|
||||
},
|
||||
"gui.spriteSelector.addBackdropFromLibrary": {
|
||||
"message": "Choose a Backdrop",
|
||||
"description": "Button to add a stage in the target pane from library"
|
||||
},
|
||||
"gui.soundEditor.slower": {
|
||||
"message": "Slower",
|
||||
"description": "Title of the button to apply the slower effect"
|
||||
},
|
||||
"gui.howtos.spin-around.name": {
|
||||
"message": "Spin around",
|
||||
"description": "Name for the 'Spin around' how-to"
|
||||
},
|
||||
"gui.turboMode.active": {
|
||||
"message": "Turbo Mode",
|
||||
"description": "Label indicating turbo mode is active"
|
||||
},
|
||||
"gui.howtos.run-away.step3": {
|
||||
"message": "Click the “Events” category",
|
||||
"description": "Step 3 title"
|
||||
},
|
||||
"gui.loader.message4": {
|
||||
"message": "Loading extensions …",
|
||||
"description": "One of the loading messages"
|
||||
},
|
||||
"gui.recordingStep.alertMsg": {
|
||||
"message": "Could not start recording",
|
||||
"description": "Alert for recording error"
|
||||
},
|
||||
"gui.extensionLibrary.extensionUrl": {
|
||||
"message": "Enter the URL of the extension",
|
||||
"description": "Prompt for unoffical extension url"
|
||||
},
|
||||
"gui.customProcedures.cancel": {
|
||||
"message": "Cancel",
|
||||
"description": "Label for button to cancel custom procedure edits"
|
||||
},
|
||||
"gui.modal.back": {
|
||||
"message": "Back",
|
||||
"description": "Back button in modal"
|
||||
},
|
||||
"gui.howtos.spin.step_dragForever": {
|
||||
"message": "Drag out a “forever” block",
|
||||
"description": "Step name for 'Drag out a “forever” block' step"
|
||||
},
|
||||
"gui.recordModal.title": {
|
||||
"message": "Record Sound",
|
||||
"description": "Recording modal title"
|
||||
},
|
||||
"gui.gui.backdropsTab": {
|
||||
"message": "Backdrops",
|
||||
"description": "Button to get to the backdrops panel"
|
||||
},
|
||||
"gui.prompt.ok": {
|
||||
"message": "OK",
|
||||
"description": "Button in prompt for confirming the dialog"
|
||||
},
|
||||
"gui.cameraModal.permissionRequest": {
|
||||
"message": "We need your permission to use your camera",
|
||||
"description": "Notification to the user that the app needs camera access"
|
||||
},
|
||||
"gui.customProcedures.numberTextType": {
|
||||
"message": "number or text",
|
||||
"description": "Description of the number/text input type"
|
||||
},
|
||||
"gui.unsupportedBrowser.previewfaq": {
|
||||
"message": "To learn more, go to the {previewFaqLink}.",
|
||||
"description": "Invitation to try 3.0 preview"
|
||||
},
|
||||
"gui.howtos.run-away.step_clickGoTo": {
|
||||
"message": "Click the block to run it",
|
||||
"description": "Step name for 'Click the block to run it' step"
|
||||
},
|
||||
"gui.soundEditor.play": {
|
||||
"message": "Play",
|
||||
"description": "Title of the button to start playing the sound"
|
||||
},
|
||||
"gui.cameraModal.retakePhoto": {
|
||||
"message": "Retake Photo",
|
||||
"description": "A button that allows the user to take the picture again, replacing the old one"
|
||||
},
|
||||
"gui.menuBar.share": {
|
||||
"message": "Share",
|
||||
"description": "Label for project share button"
|
||||
},
|
||||
"gui.crashMessage.description": {
|
||||
"message": "We are so sorry, but it looks like Scratch has crashed. This bug has been automatically reported to the Scratch Team. Please refresh your page to try again.",
|
||||
"description": "Unhandled error description"
|
||||
},
|
||||
"gui.webglModal.label": {
|
||||
"message": "Your Browser Does Not Support WebGL",
|
||||
"description": "WebGL missing title"
|
||||
},
|
||||
"gui.importInfo.goback": {
|
||||
"message": "Go Back",
|
||||
"description": "Label for button to back out of importing a project"
|
||||
},
|
||||
"gui.monitor.contextMenu.large": {
|
||||
"message": "large readout",
|
||||
"description": "Menu item to switch to the large monitor"
|
||||
},
|
||||
"gui.cards.more-things-to-try": {
|
||||
"message": "More things to try!",
|
||||
"description": "Title card with more things to try"
|
||||
},
|
||||
"gui.costumeTab.addCameraCostume": {
|
||||
"message": "Camera",
|
||||
"description": "Button to use the camera to create a costume costume in the editor tab"
|
||||
},
|
||||
"gui.howtos.spin.step_clickTurn": {
|
||||
"message": "Click the block to run it",
|
||||
"description": "Step name for 'Click the block to run it' step"
|
||||
},
|
||||
"gui.spriteLibrary.chooseASprite": {
|
||||
"message": "Choose a Sprite",
|
||||
"description": "Heading for the sprite library"
|
||||
},
|
||||
"gui.loader.headline": {
|
||||
"message": "Loading Project",
|
||||
"description": "Main loading message"
|
||||
},
|
||||
"gui.playbackStep.playMsg": {
|
||||
"message": "Play",
|
||||
"description": "Stop/Play button in recording playback"
|
||||
},
|
||||
"gui.customProcedures.booleanType": {
|
||||
"message": "boolean",
|
||||
"description": "Description of the boolean input type"
|
||||
},
|
||||
"gui.importInfo.previewfaqlink": {
|
||||
"message": "Preview FAQ",
|
||||
"description": "link to Scratch 3.0 preview FAQ page"
|
||||
},
|
||||
"gui.howtos.spin.step_dragTurn": {
|
||||
"message": "Drag out a “turn” block",
|
||||
"description": "Step name for 'Drag out a “turn” block' step"
|
||||
},
|
||||
"gui.costumeTab.addBackdropFromLibrary": {
|
||||
"message": "Choose a Backdrop",
|
||||
"description": "Button to add a backdrop in the editor tab"
|
||||
},
|
||||
"gui.menuBar.redo": {
|
||||
"message": "Redo",
|
||||
"description": "Menu bar item for redoing"
|
||||
},
|
||||
"gui.spriteSelector.addSpriteFromPaint": {
|
||||
"message": "Paint",
|
||||
"description": "Button to add a sprite in the target pane from paint"
|
||||
},
|
||||
"gui.previewInfo.invitation": {
|
||||
"message": "We're working on the next generation of Scratch. We're excited for you to try it!",
|
||||
"description": "Invitation to try 3.0 preview"
|
||||
},
|
||||
"gui.crashMessage.title": {
|
||||
"message": "Oops! Something went wrong.",
|
||||
"description": "Unhandled error title"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDuplicate": {
|
||||
"message": "duplicate",
|
||||
"description": "Menu item to duplicate in the right click menu"
|
||||
},
|
||||
"gui.importInfo.previewfaq": {
|
||||
"message": "To learn more, go to the {previewFaqLink}.",
|
||||
"description": "Invitation to try 3.0 preview"
|
||||
},
|
||||
"gui.howtos.spin.step_changeColor": {
|
||||
"message": "Add a “change color effect” block",
|
||||
"description": "Step name for 'Add a “change color effect” block' step"
|
||||
},
|
||||
"gui.previewInfo.previewfaq": {
|
||||
"message": "To learn more, go to the {previewFaqLink}.",
|
||||
"description": "Invitation to try 3.0 preview"
|
||||
},
|
||||
"gui.howtos.run-away.step_clickSprite": {
|
||||
"message": "Click the sprite to run it",
|
||||
"description": "Step name for 'Click the sprite to run it' step"
|
||||
},
|
||||
"gui.controls.go": {
|
||||
"message": "Go",
|
||||
"description": "Green flag button title"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDelete": {
|
||||
"message": "delete",
|
||||
"description": "Menu item to delete in the right click menu"
|
||||
},
|
||||
"gui.soundTab.surpriseSound": {
|
||||
"message": "Surprise",
|
||||
"description": "Button to get a random sound in the editor tab"
|
||||
},
|
||||
"gui.howtos.say-hello.step_clickStack": {
|
||||
"message": "Click the stack to run it",
|
||||
"description": "Step name for 'Click the stack to run it' step"
|
||||
},
|
||||
"gui.stageHeader.stageSizeFull": {
|
||||
"message": "Enter full screen mode",
|
||||
"description": "Button to change stage size to full screen"
|
||||
},
|
||||
"gui.stageSelector.backdrops": {
|
||||
"message": "Backdrops",
|
||||
"description": "Label for the backdrops in the stage selector"
|
||||
},
|
||||
"gui.howtos.hide-and-show.name": {
|
||||
"message": "Hide & Show",
|
||||
"description": "Name for the 'Hide & Show' how-to"
|
||||
},
|
||||
"gui.SpriteInfo.size": {
|
||||
"message": "Size",
|
||||
"description": "Sprite info size label"
|
||||
},
|
||||
"gui.webglModal.previewfaqlink": {
|
||||
"message": "preview FAQ",
|
||||
"description": "link to Scratch 3.0 FAQ page"
|
||||
},
|
||||
"gui.soundEditor.louder": {
|
||||
"message": "Louder",
|
||||
"description": "Title of the button to apply the louder effect"
|
||||
},
|
||||
"gui.previewInfo.welcome": {
|
||||
"message": "Welcome to the Scratch 3.0 Preview",
|
||||
"description": "Header for Preview Info Modal"
|
||||
},
|
||||
"gui.spriteSelector.addSpriteFromSurprise": {
|
||||
"message": "Surprise",
|
||||
"description": "Button to add a random sprite in the target pane"
|
||||
},
|
||||
"gui.howtos.run-away.step_addSound": {
|
||||
"message": "Add a “start sound” block",
|
||||
"description": "Step name for 'Add a “start sound” block' step"
|
||||
},
|
||||
"gui.howtos.change-size.name": {
|
||||
"message": "Change size",
|
||||
"description": "Name for the 'Change size' how-to"
|
||||
},
|
||||
"gui.extensionLibrary.comingSoon": {
|
||||
"message": "Coming Soon",
|
||||
"description": "Label for extensions that are not yet implemented"
|
||||
},
|
||||
"gui.SpriteInfo.show": {
|
||||
"message": "Show",
|
||||
"description": "Sprite info show label"
|
||||
},
|
||||
"gui.loader.message8": {
|
||||
"message": "Preparing emojis …",
|
||||
"description": "One of the loading messages"
|
||||
},
|
||||
"gui.soundEditor.faster": {
|
||||
"message": "Faster",
|
||||
"description": "Title of the button to apply the faster effect"
|
||||
},
|
||||
"gui.gui.soundsTab": {
|
||||
"message": "Sounds",
|
||||
"description": "Button to get to the sounds panel"
|
||||
},
|
||||
"gui.soundTab.recordSound": {
|
||||
"message": "Record",
|
||||
"description": "Button to record a sound in the editor tab"
|
||||
},
|
||||
"gui.SpriteInfo.direction": {
|
||||
"message": "Direction",
|
||||
"description": "Sprite info direction label"
|
||||
},
|
||||
"gui.costumeLibrary.chooseABackdrop": {
|
||||
"message": "Choose a Backdrop",
|
||||
"description": "Heading for the backdrop library"
|
||||
},
|
||||
"gui.cameraModal.loadingCaption": {
|
||||
"message": "Loading...",
|
||||
"description": "A caption for a disabled button while the video from the camera is still loading"
|
||||
},
|
||||
"gui.gui.variablePrompt": {
|
||||
"message": "More Options",
|
||||
"description": "Dropdown message for variable/list options"
|
||||
},
|
||||
"gui.gui.costumesTab": {
|
||||
"message": "Costumes",
|
||||
"description": "Button to get to the costumes panel"
|
||||
},
|
||||
"gui.gui.addExtension": {
|
||||
"message": "Add Extension",
|
||||
"description": "Button to add an extension in the target pane"
|
||||
},
|
||||
"gui.howtos.add-effects.name": {
|
||||
"message": "Add effects",
|
||||
"description": "Name for the 'Add effects' how-to"
|
||||
},
|
||||
"gui.menuBar.giveFeedback": {
|
||||
"message": "Give Feedback",
|
||||
"description": "Label for feedback form modal button"
|
||||
},
|
||||
"gui.cameraModal.cameraModalTitle": {
|
||||
"message": "Take a Photo",
|
||||
"description": "Title for prompt to take a picture (to add as a new costume)."
|
||||
},
|
||||
"gui.howtos.run-away.name": {
|
||||
"message": "Run away",
|
||||
"description": "Name for the 'Run away' how-to"
|
||||
},
|
||||
"gui.soundEditor.reverse": {
|
||||
"message": "Reverse",
|
||||
"description": "Title of the button to apply the reverse effect"
|
||||
},
|
||||
"gui.howtos.spin.step_clickForever": {
|
||||
"message": "Click the stack to run it",
|
||||
"description": "Step name for 'Click the stack to run it' step"
|
||||
},
|
||||
"gui.webglModal.webgllink": {
|
||||
"message": "does not support WebGL",
|
||||
"description": "link part of your browser does not support WebGL message"
|
||||
},
|
||||
"gui.menuBar.seeCommunity": {
|
||||
"message": "See Community",
|
||||
"description": "Label for see community button"
|
||||
},
|
||||
"gui.cameraModal.loadingCameraMessage": {
|
||||
"message": "Loading Camera...",
|
||||
"description": "Notification to the user that the camera is loading"
|
||||
},
|
||||
"gui.costumeTab.addFileCostume": {
|
||||
"message": "Upload Costume",
|
||||
"description": "Button to add a costume by uploading a file in the editor tab"
|
||||
},
|
||||
"gui.playbackStep.stopMsg": {
|
||||
"message": "Stop",
|
||||
"description": "Stop/Play button in recording playback"
|
||||
},
|
||||
"gui.howtos.spin.step_clickControl": {
|
||||
"message": "Click the “Control” category",
|
||||
"description": "Step name for 'Click the “Control” category' step"
|
||||
},
|
||||
"gui.soundEditor.undo": {
|
||||
"message": "Undo",
|
||||
"description": "Title of the button to undo"
|
||||
},
|
||||
"gui.gui.codeTab": {
|
||||
"message": "Code",
|
||||
"description": "Button to get to the code panel"
|
||||
},
|
||||
"gui.spriteSelector.addSpriteFromFile": {
|
||||
"message": "Upload",
|
||||
"description": "Button to add a sprite in the target pane from file"
|
||||
},
|
||||
"gui.loader.message1": {
|
||||
"message": "Creating blocks …",
|
||||
"description": "One of the loading messages"
|
||||
},
|
||||
"gui.loader.message6": {
|
||||
"message": "Transmitting nanos …",
|
||||
"description": "One of the loading messages"
|
||||
},
|
||||
"gui.loader.message3": {
|
||||
"message": "Loading sounds …",
|
||||
"description": "One of the loading messages"
|
||||
},
|
||||
"gui.SpriteInfo.spritePlaceholder": {
|
||||
"message": "Name",
|
||||
"description": "Placeholder text for sprite name"
|
||||
},
|
||||
"gui.howtos.say-hello.step_editSay": {
|
||||
"message": "Say something else",
|
||||
"description": "Step name for 'Say something else' step"
|
||||
},
|
||||
"gui.previewModal.tryit": {
|
||||
"message": "Try It! {caticon}",
|
||||
"description": "Label for button to try Scratch 3.0 preview"
|
||||
},
|
||||
"gui.howtos.run-away.step_dragGoTo": {
|
||||
"message": "Drag out a “go to random position” block",
|
||||
"description": "Step name for 'Drag out a “go to random position” block' step"
|
||||
},
|
||||
"gui.monitor.contextMenu.default": {
|
||||
"message": "normal readout",
|
||||
"description": "Menu item to switch to the default monitor"
|
||||
},
|
||||
"gui.controls.stop": {
|
||||
"message": "Stop",
|
||||
"description": "Stop button title"
|
||||
},
|
||||
"gui.costumeTab.addBlankCostume": {
|
||||
"message": "Paint",
|
||||
"description": "Button to add a blank costume in the editor tab"
|
||||
},
|
||||
"gui.howtos.say-hello.step_dragSay": {
|
||||
"message": "Drag out a “say” block",
|
||||
"description": "Step name for 'Drag out a “say” block' step"
|
||||
},
|
||||
"gui.customProcedures.runWithoutScreenRefresh": {
|
||||
"message": "Run without screen refresh",
|
||||
"description": "Label for checkbox to run without screen refresh"
|
||||
},
|
||||
"gui.stageSelector.addBackdropFromFile": {
|
||||
"message": "Upload Backdrop",
|
||||
"description": "Button to add a stage in the target pane from file"
|
||||
},
|
||||
"gui.spriteSelector.addSpriteFromLibrary": {
|
||||
"message": "Choose a Sprite",
|
||||
"description": "Button to add a sprite in the target pane from library"
|
||||
},
|
||||
"gui.soundEditor.sound": {
|
||||
"message": "Sound",
|
||||
"description": "Label for the name of the sound"
|
||||
},
|
||||
"gui.unsupportedBrowser.label": {
|
||||
"message": "Browser is not supported",
|
||||
"description": ""
|
||||
},
|
||||
"gui.howtos.say-hello.step_anotherSay": {
|
||||
"message": "Drag out another “say” block",
|
||||
"description": "Step name for 'Drag out another “say” block' step"
|
||||
},
|
||||
"gui.playbackStep.loadingMsg": {
|
||||
"message": "Loading...",
|
||||
"description": "Loading/Save button in recording playback"
|
||||
},
|
||||
"gui.howtos.add-a-backdrop.name": {
|
||||
"message": "Add a backdrop",
|
||||
"description": "Name for the 'Add a backdrop' how-to"
|
||||
},
|
||||
"gui.comingSoon.message2": {
|
||||
"message": "Coming Soon...",
|
||||
"description": "One of the \"coming soon\" random messages for yet-to-be-done features"
|
||||
},
|
||||
"gui.howtos.say-hello.step_clickSay": {
|
||||
"message": "Click the block to run it",
|
||||
"description": "Step name for 'Click the block to run it' step"
|
||||
},
|
||||
"gui.stageSelector.addBackdropFromPaint": {
|
||||
"message": "Paint",
|
||||
"description": "Button to add a stage in the target pane from paint"
|
||||
},
|
||||
"gui.cameraModal.takePhoto": {
|
||||
"message": "Take Photo",
|
||||
"description": "A button to take a photo"
|
||||
},
|
||||
"gui.playbackStep.saveMsg": {
|
||||
"message": "Save",
|
||||
"description": "Loading/Save button in recording playback"
|
||||
},
|
||||
"gui.howtos.say-hello.step_clickLooks": {
|
||||
"message": "Click the “Looks” category",
|
||||
"description": "Step name for 'Click the “Looks” category' step"
|
||||
},
|
||||
"gui.playbackStep.reRecordMsg": {
|
||||
"message": "Re-record",
|
||||
"description": "Button to re-record sound in recording playback"
|
||||
},
|
||||
"gui.importInfo.message": {
|
||||
"message": "Enter a link to one of your shared Scratch projects. Changes made in this 3.0 Preview will not be saved.",
|
||||
"description": "Import project message"
|
||||
},
|
||||
"gui.menuBar.edit": {
|
||||
"message": "Edit",
|
||||
"description": "Text for edit dropdown menu"
|
||||
},
|
||||
"gui.cameraModal.save": {
|
||||
"message": "Save",
|
||||
"description": "A button that allows the user to save the photo they took as a costume"
|
||||
},
|
||||
"gui.previewInfo.label": {
|
||||
"message": "Try Scratch 3.0",
|
||||
"description": "Scratch 3.0 modal label - for accessibility"
|
||||
},
|
||||
"gui.webglModal.previewfaq": {
|
||||
"message": "To learn more, go to the {previewFaqLink}.",
|
||||
"description": "Scratch 3.0 FAQ description"
|
||||
},
|
||||
"gui.menuBar.turboMode": {
|
||||
"message": "Turbo mode",
|
||||
"description": "Menu bar item for toggling turbo mode"
|
||||
},
|
||||
"gui.prompt.cancel": {
|
||||
"message": "Cancel",
|
||||
"description": "Button in prompt for cancelling the dialog"
|
||||
}
|
||||
}
|
|
@ -7,14 +7,34 @@
|
|||
"message": "Fill",
|
||||
"description": "Label for the color picker for the fill color"
|
||||
},
|
||||
"gui.comingSoon.message3": {
|
||||
"message": "We're working on it {emoji}",
|
||||
"description": "One of the \"coming soon\" random messages for yet-to-be-done features"
|
||||
},
|
||||
"paint.modeTools.eraserSize": {
|
||||
"message": "Eraser size",
|
||||
"description": "Label for the eraser size input"
|
||||
},
|
||||
"paint.paintEditor.more": {
|
||||
"message": "More",
|
||||
"description": "Label for dropdown to access more action buttons"
|
||||
},
|
||||
"gui.comingSoon.message1": {
|
||||
"message": "Don't worry, we're on it {emoji}",
|
||||
"description": "One of the \"coming soon\" random messages for yet-to-be-done features"
|
||||
},
|
||||
"paint.modeTools.pointed": {
|
||||
"message": "Pointed",
|
||||
"description": "Label for the button that converts selected points to sharp points"
|
||||
},
|
||||
"paint.paintEditor.backward": {
|
||||
"message": "Backward",
|
||||
"description": "Label for the `Send backward on canvas` button"
|
||||
},
|
||||
"paint.paintEditor.bitmap": {
|
||||
"message": "Convert to Bitmap",
|
||||
"description": "Label for button that converts the paint editor to bitmap mode"
|
||||
},
|
||||
"paint.paintEditor.group": {
|
||||
"message": "Group",
|
||||
"description": "Label for the button to group shapes"
|
||||
|
@ -27,6 +47,10 @@
|
|||
"message": "Saturation",
|
||||
"description": "Label for the saturation component in the color picker"
|
||||
},
|
||||
"paint.modeTools.curved": {
|
||||
"message": "Curved",
|
||||
"description": "Label for the button that converts selected points to curves"
|
||||
},
|
||||
"paint.modeTools.brushSize": {
|
||||
"message": "Brush size",
|
||||
"description": "Label for the brush size input"
|
||||
|
@ -39,6 +63,10 @@
|
|||
"message": "Forward",
|
||||
"description": "Label for the `Send forward on canvas` button"
|
||||
},
|
||||
"paint.modeTools.flipVertical": {
|
||||
"message": "Flip Vertical",
|
||||
"description": "Label for the button to flip the image vertically"
|
||||
},
|
||||
"paint.paintEditor.brightness": {
|
||||
"message": "Brightness",
|
||||
"description": "Label for the brightness component in the color picker"
|
||||
|
@ -55,6 +83,10 @@
|
|||
"message": "Ungroup",
|
||||
"description": "Label for the button to ungroup shapes"
|
||||
},
|
||||
"paint.modeTools.flipHorizontal": {
|
||||
"message": "Flip Horizontal",
|
||||
"description": "Label for the button to flip the image horizontally"
|
||||
},
|
||||
"paint.paintEditor.hue": {
|
||||
"message": "Color",
|
||||
"description": "Label for the hue component in the color picker"
|
||||
|
@ -70,5 +102,9 @@
|
|||
"paint.paintEditor.stroke": {
|
||||
"message": "Outline",
|
||||
"description": "Label for the color picker for the outline color"
|
||||
},
|
||||
"gui.comingSoon.message2": {
|
||||
"message": "Coming Soon...",
|
||||
"description": "One of the \"coming soon\" random messages for yet-to-be-done features"
|
||||
}
|
||||
}
|
130
gui/ar.json
130
gui/ar.json
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
"gui.soundEditor.echo": {
|
||||
"message": "صَدى",
|
||||
"description": "Title of the button to apply the echo effect"
|
||||
},
|
||||
"gui.soundEditor.save": {
|
||||
"message": "حِفظ",
|
||||
"description": "Title of the button to save trimmed sound"
|
||||
},
|
||||
"gui.soundEditor.stop": {
|
||||
"message": "وَقفْ",
|
||||
"description": "Title of the button to stop the sound"
|
||||
},
|
||||
"gui.soundEditor.redo": {
|
||||
"message": "إعادة",
|
||||
"description": "Title of the button to redo"
|
||||
},
|
||||
"gui.soundEditor.softer": {
|
||||
"message": "أخفض",
|
||||
"description": "Title of the button to apply thr.softer effect"
|
||||
},
|
||||
"gui.soundEditor.robot": {
|
||||
"message": "روبوت",
|
||||
"description": "Title of the button to apply the robot effect"
|
||||
},
|
||||
"gui.customProcedures.addAnInputNumberText": {
|
||||
"message": "أضف مُدخل للبيانات",
|
||||
"description": "Label for button to add a number/text input"
|
||||
},
|
||||
"gui.stageSelector.targetPaneAddBackdrop": {
|
||||
"message": "أَضِف خَلْفِيَّة",
|
||||
"description": "Button to add a backdrop in the target pane"
|
||||
},
|
||||
"gui.customProcedures.addALabel": {
|
||||
"message": "أضف مُلصَق",
|
||||
"description": "Label for button to add a label"
|
||||
},
|
||||
"gui.soundEditor.trim": {
|
||||
"message": "قَصْ",
|
||||
"description": "Title of the button to start trimminging the sound"
|
||||
},
|
||||
"gui.costumeTab.addBackdrop": {
|
||||
"message": "أَضِف خَلْفِيَّة",
|
||||
"description": "Button to add a backdrop in the editor tab"
|
||||
},
|
||||
"gui.customProcedures.addAnInputBoolean": {
|
||||
"message": "أضف مُدخل للبيانات",
|
||||
"description": "Label for button to add a boolean input"
|
||||
},
|
||||
"gui.spriteSelector.addSprite": {
|
||||
"message": "أَضِف كائن",
|
||||
"description": "Button to add a sprite in the target pane"
|
||||
},
|
||||
"gui.customProcedures.ok": {
|
||||
"message": "موافق",
|
||||
"description": "Label for button to save new custom procedure"
|
||||
},
|
||||
"gui.soundEditor.slower": {
|
||||
"message": "أَبطأ",
|
||||
"description": "Title of the button to apply the slower effect"
|
||||
},
|
||||
"gui.turboMode.active": {
|
||||
"message": "وَضْعِيَةْ التَرْبُو",
|
||||
"description": "Label indicating turbo mode is active"
|
||||
},
|
||||
"gui.customProcedures.cancel": {
|
||||
"message": "إلغاء",
|
||||
"description": "Label for button to cancel custom procedure edits"
|
||||
},
|
||||
"gui.customProcedures.numberTextType": {
|
||||
"message": "رقم أو نص",
|
||||
"description": "Description of the number/text input type"
|
||||
},
|
||||
"gui.soundEditor.play": {
|
||||
"message": "تَشغيل",
|
||||
"description": "Title of the button to start playing the sound"
|
||||
},
|
||||
"gui.customProcedures.booleanType": {
|
||||
"message": "متغير منطقي",
|
||||
"description": "Description of the boolean input type"
|
||||
},
|
||||
"gui.soundTab.addSound": {
|
||||
"message": "أَضِف صَوْت",
|
||||
"description": "Button to add a sound in the editor tab"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDuplicate": {
|
||||
"message": "مُكرَر",
|
||||
"description": "Menu item to duplicate in the right click menu"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDelete": {
|
||||
"message": "حَذف",
|
||||
"description": "Menu item to delete in the right click menu"
|
||||
},
|
||||
"gui.stageSelector.backdrops": {
|
||||
"message": "خَلْفِيَّة",
|
||||
"description": "Label for the backdrops in the stage selector"
|
||||
},
|
||||
"gui.soundEditor.louder": {
|
||||
"message": "أعلى",
|
||||
"description": "Title of the button to apply the louder effect"
|
||||
},
|
||||
"gui.soundEditor.faster": {
|
||||
"message": "أَسرع",
|
||||
"description": "Title of the button to apply the faster effect"
|
||||
},
|
||||
"gui.soundTab.recordSound": {
|
||||
"message": "سَجِّل صَوْت",
|
||||
"description": "Button to record a sound in the editor tab"
|
||||
},
|
||||
"gui.gui.addExtension": {
|
||||
"message": "مُلحقات",
|
||||
"description": "Button to add an extension in the target pane"
|
||||
},
|
||||
"gui.soundEditor.reverse": {
|
||||
"message": "مُتعاكس",
|
||||
"description": "Title of the button to apply the reverse effect"
|
||||
},
|
||||
"gui.soundEditor.undo": {
|
||||
"message": "تَراجع",
|
||||
"description": "Title of the button to undo"
|
||||
},
|
||||
"gui.costumeTab.addCostume": {
|
||||
"message": "أَضِف تَخْصِيص",
|
||||
"description": "Button to add a costume in the editor tab"
|
||||
},
|
||||
"gui.soundEditor.sound": {
|
||||
"message": "صَوْت",
|
||||
"description": "Label for the name of the sound"
|
||||
}
|
||||
}
|
130
gui/de.json
130
gui/de.json
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
"gui.soundEditor.echo": {
|
||||
"message": "Echo",
|
||||
"description": "Title of the button to apply the echo effect"
|
||||
},
|
||||
"gui.soundEditor.save": {
|
||||
"message": "Speichern",
|
||||
"description": "Title of the button to save trimmed sound"
|
||||
},
|
||||
"gui.soundEditor.stop": {
|
||||
"message": "Stopp",
|
||||
"description": "Title of the button to stop the sound"
|
||||
},
|
||||
"gui.soundEditor.redo": {
|
||||
"message": "Wiederherstellen",
|
||||
"description": "Title of the button to redo"
|
||||
},
|
||||
"gui.soundEditor.softer": {
|
||||
"message": "Weicher",
|
||||
"description": "Title of the button to apply thr.softer effect"
|
||||
},
|
||||
"gui.soundEditor.robot": {
|
||||
"message": "Roboter",
|
||||
"description": "Title of the button to apply the robot effect"
|
||||
},
|
||||
"gui.customProcedures.addAnInputNumberText": {
|
||||
"message": "Füge ein Feld hinzu",
|
||||
"description": "Label for button to add a number/text input"
|
||||
},
|
||||
"gui.stageSelector.targetPaneAddBackdrop": {
|
||||
"message": "Bühnenbild hinzufügen",
|
||||
"description": "Button to add a backdrop in the target pane"
|
||||
},
|
||||
"gui.customProcedures.addALabel": {
|
||||
"message": "Füge eine Beschreibung hinzu",
|
||||
"description": "Label for button to add a label"
|
||||
},
|
||||
"gui.soundEditor.trim": {
|
||||
"message": "Abschneiden",
|
||||
"description": "Title of the button to start trimminging the sound"
|
||||
},
|
||||
"gui.costumeTab.addBackdrop": {
|
||||
"message": "Bühnenbild hinzufügen",
|
||||
"description": "Button to add a backdrop in the editor tab"
|
||||
},
|
||||
"gui.customProcedures.addAnInputBoolean": {
|
||||
"message": "Füge ein Feld hinzu",
|
||||
"description": "Label for button to add a boolean input"
|
||||
},
|
||||
"gui.spriteSelector.addSprite": {
|
||||
"message": "Figur hinzufügen",
|
||||
"description": "Button to add a sprite in the target pane"
|
||||
},
|
||||
"gui.customProcedures.ok": {
|
||||
"message": "OK",
|
||||
"description": "Label for button to save new custom procedure"
|
||||
},
|
||||
"gui.soundEditor.slower": {
|
||||
"message": "Langsamer",
|
||||
"description": "Title of the button to apply the slower effect"
|
||||
},
|
||||
"gui.turboMode.active": {
|
||||
"message": "Turbo-Modus",
|
||||
"description": "Label indicating turbo mode is active"
|
||||
},
|
||||
"gui.customProcedures.cancel": {
|
||||
"message": "Abbrechen",
|
||||
"description": "Label for button to cancel custom procedure edits"
|
||||
},
|
||||
"gui.customProcedures.numberTextType": {
|
||||
"message": "Zahl oder Text",
|
||||
"description": "Description of the number/text input type"
|
||||
},
|
||||
"gui.soundEditor.play": {
|
||||
"message": "Abspielen",
|
||||
"description": "Title of the button to start playing the sound"
|
||||
},
|
||||
"gui.customProcedures.booleanType": {
|
||||
"message": "Wahrheitswert",
|
||||
"description": "Description of the boolean input type"
|
||||
},
|
||||
"gui.soundTab.addSound": {
|
||||
"message": "Klang hinzufügen",
|
||||
"description": "Button to add a sound in the editor tab"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDuplicate": {
|
||||
"message": "Duplizieren",
|
||||
"description": "Menu item to duplicate in the right click menu"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDelete": {
|
||||
"message": "Entfernen",
|
||||
"description": "Menu item to delete in the right click menu"
|
||||
},
|
||||
"gui.stageSelector.backdrops": {
|
||||
"message": "Bühnenbilder",
|
||||
"description": "Label for the backdrops in the stage selector"
|
||||
},
|
||||
"gui.soundEditor.louder": {
|
||||
"message": "Lauter",
|
||||
"description": "Title of the button to apply the louder effect"
|
||||
},
|
||||
"gui.soundEditor.faster": {
|
||||
"message": "Schneller",
|
||||
"description": "Title of the button to apply the faster effect"
|
||||
},
|
||||
"gui.soundTab.recordSound": {
|
||||
"message": "Klang aufnehmen",
|
||||
"description": "Button to record a sound in the editor tab"
|
||||
},
|
||||
"gui.gui.addExtension": {
|
||||
"message": "Erweiterungen",
|
||||
"description": "Button to add an extension in the target pane"
|
||||
},
|
||||
"gui.soundEditor.reverse": {
|
||||
"message": "Umkehren",
|
||||
"description": "Title of the button to apply the reverse effect"
|
||||
},
|
||||
"gui.soundEditor.undo": {
|
||||
"message": "Rückgängig machen",
|
||||
"description": "Title of the button to undo"
|
||||
},
|
||||
"gui.costumeTab.addCostume": {
|
||||
"message": "Kostüm hinzufügen",
|
||||
"description": "Button to add a costume in the editor tab"
|
||||
},
|
||||
"gui.soundEditor.sound": {
|
||||
"message": "Klang",
|
||||
"description": "Label for the name of the sound"
|
||||
}
|
||||
}
|
130
gui/en.json
130
gui/en.json
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
"gui.soundEditor.echo": {
|
||||
"message": "Echo",
|
||||
"description": "Title of the button to apply the echo effect"
|
||||
},
|
||||
"gui.soundEditor.save": {
|
||||
"message": "Save",
|
||||
"description": "Title of the button to save trimmed sound"
|
||||
},
|
||||
"gui.soundEditor.stop": {
|
||||
"message": "Stop",
|
||||
"description": "Title of the button to stop the sound"
|
||||
},
|
||||
"gui.soundEditor.redo": {
|
||||
"message": "Redo",
|
||||
"description": "Title of the button to redo"
|
||||
},
|
||||
"gui.soundEditor.softer": {
|
||||
"message": "Softer",
|
||||
"description": "Title of the button to apply thr.softer effect"
|
||||
},
|
||||
"gui.soundEditor.robot": {
|
||||
"message": "Robot",
|
||||
"description": "Title of the button to apply the robot effect"
|
||||
},
|
||||
"gui.customProcedures.addAnInputNumberText": {
|
||||
"message": "Add an input",
|
||||
"description": "Label for button to add a number/text input"
|
||||
},
|
||||
"gui.stageSelector.targetPaneAddBackdrop": {
|
||||
"message": "Add Backdrop",
|
||||
"description": "Button to add a backdrop in the target pane"
|
||||
},
|
||||
"gui.customProcedures.addALabel": {
|
||||
"message": "Add a label",
|
||||
"description": "Label for button to add a label"
|
||||
},
|
||||
"gui.soundEditor.trim": {
|
||||
"message": "Trim",
|
||||
"description": "Title of the button to start trimminging the sound"
|
||||
},
|
||||
"gui.costumeTab.addBackdrop": {
|
||||
"message": "Add Backdrop",
|
||||
"description": "Button to add a backdrop in the editor tab"
|
||||
},
|
||||
"gui.customProcedures.addAnInputBoolean": {
|
||||
"message": "Add an input",
|
||||
"description": "Label for button to add a boolean input"
|
||||
},
|
||||
"gui.spriteSelector.addSprite": {
|
||||
"message": "Add Sprite",
|
||||
"description": "Button to add a sprite in the target pane"
|
||||
},
|
||||
"gui.customProcedures.ok": {
|
||||
"message": "OK",
|
||||
"description": "Label for button to save new custom procedure"
|
||||
},
|
||||
"gui.soundEditor.slower": {
|
||||
"message": "Slower",
|
||||
"description": "Title of the button to apply the slower effect"
|
||||
},
|
||||
"gui.turboMode.active": {
|
||||
"message": "Turbo Mode",
|
||||
"description": "Label indicating turbo mode is active"
|
||||
},
|
||||
"gui.customProcedures.cancel": {
|
||||
"message": "Cancel",
|
||||
"description": "Label for button to cancel custom procedure edits"
|
||||
},
|
||||
"gui.customProcedures.numberTextType": {
|
||||
"message": "number or text",
|
||||
"description": "Description of the number/text input type"
|
||||
},
|
||||
"gui.soundEditor.play": {
|
||||
"message": "Play",
|
||||
"description": "Title of the button to start playing the sound"
|
||||
},
|
||||
"gui.customProcedures.booleanType": {
|
||||
"message": "boolean",
|
||||
"description": "Description of the boolean input type"
|
||||
},
|
||||
"gui.soundTab.addSound": {
|
||||
"message": "Add Sound",
|
||||
"description": "Button to add a sound in the editor tab"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDuplicate": {
|
||||
"message": "duplicate",
|
||||
"description": "Menu item to duplicate in the right click menu"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDelete": {
|
||||
"message": "delete",
|
||||
"description": "Menu item to delete in the right click menu"
|
||||
},
|
||||
"gui.stageSelector.backdrops": {
|
||||
"message": "Backdrops",
|
||||
"description": "Label for the backdrops in the stage selector"
|
||||
},
|
||||
"gui.soundEditor.louder": {
|
||||
"message": "Louder",
|
||||
"description": "Title of the button to apply the louder effect"
|
||||
},
|
||||
"gui.soundEditor.faster": {
|
||||
"message": "Faster",
|
||||
"description": "Title of the button to apply the faster effect"
|
||||
},
|
||||
"gui.soundTab.recordSound": {
|
||||
"message": "Record Sound",
|
||||
"description": "Button to record a sound in the editor tab"
|
||||
},
|
||||
"gui.gui.addExtension": {
|
||||
"message": "Extensions",
|
||||
"description": "Button to add an extension in the target pane"
|
||||
},
|
||||
"gui.soundEditor.reverse": {
|
||||
"message": "Reverse",
|
||||
"description": "Title of the button to apply the reverse effect"
|
||||
},
|
||||
"gui.soundEditor.undo": {
|
||||
"message": "Undo",
|
||||
"description": "Title of the button to undo"
|
||||
},
|
||||
"gui.costumeTab.addCostume": {
|
||||
"message": "Add Costume",
|
||||
"description": "Button to add a costume in the editor tab"
|
||||
},
|
||||
"gui.soundEditor.sound": {
|
||||
"message": "Sound",
|
||||
"description": "Label for the name of the sound"
|
||||
}
|
||||
}
|
130
gui/es.json
130
gui/es.json
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
"gui.soundEditor.echo": {
|
||||
"message": "Eco",
|
||||
"description": "Title of the button to apply the echo effect"
|
||||
},
|
||||
"gui.soundEditor.save": {
|
||||
"message": "Guardar",
|
||||
"description": "Title of the button to save trimmed sound"
|
||||
},
|
||||
"gui.soundEditor.stop": {
|
||||
"message": "Parar",
|
||||
"description": "Title of the button to stop the sound"
|
||||
},
|
||||
"gui.soundEditor.redo": {
|
||||
"message": "Rehacer",
|
||||
"description": "Title of the button to redo"
|
||||
},
|
||||
"gui.soundEditor.softer": {
|
||||
"message": "Más suave",
|
||||
"description": "Title of the button to apply thr.softer effect"
|
||||
},
|
||||
"gui.soundEditor.robot": {
|
||||
"message": "Robot",
|
||||
"description": "Title of the button to apply the robot effect"
|
||||
},
|
||||
"gui.customProcedures.addAnInputNumberText": {
|
||||
"message": "Añadir entrada",
|
||||
"description": "Label for button to add a number/text input"
|
||||
},
|
||||
"gui.stageSelector.targetPaneAddBackdrop": {
|
||||
"message": "Añadir fondo",
|
||||
"description": "Button to add a backdrop in the target pane"
|
||||
},
|
||||
"gui.customProcedures.addALabel": {
|
||||
"message": "Añadir etiqueta",
|
||||
"description": "Label for button to add a label"
|
||||
},
|
||||
"gui.soundEditor.trim": {
|
||||
"message": "Recortar",
|
||||
"description": "Title of the button to start trimminging the sound"
|
||||
},
|
||||
"gui.costumeTab.addBackdrop": {
|
||||
"message": "Añadir fondo",
|
||||
"description": "Button to add a backdrop in the editor tab"
|
||||
},
|
||||
"gui.customProcedures.addAnInputBoolean": {
|
||||
"message": "Añadir entrada",
|
||||
"description": "Label for button to add a boolean input"
|
||||
},
|
||||
"gui.spriteSelector.addSprite": {
|
||||
"message": "Añadir sprite",
|
||||
"description": "Button to add a sprite in the target pane"
|
||||
},
|
||||
"gui.customProcedures.ok": {
|
||||
"message": "OK",
|
||||
"description": "Label for button to save new custom procedure"
|
||||
},
|
||||
"gui.soundEditor.slower": {
|
||||
"message": "Más despacio",
|
||||
"description": "Title of the button to apply the slower effect"
|
||||
},
|
||||
"gui.turboMode.active": {
|
||||
"message": "Modo Turbo",
|
||||
"description": "Label indicating turbo mode is active"
|
||||
},
|
||||
"gui.customProcedures.cancel": {
|
||||
"message": "Cancelar",
|
||||
"description": "Label for button to cancel custom procedure edits"
|
||||
},
|
||||
"gui.customProcedures.numberTextType": {
|
||||
"message": "número o texto",
|
||||
"description": "Description of the number/text input type"
|
||||
},
|
||||
"gui.soundEditor.play": {
|
||||
"message": "Reproducir",
|
||||
"description": "Title of the button to start playing the sound"
|
||||
},
|
||||
"gui.customProcedures.booleanType": {
|
||||
"message": "lógica",
|
||||
"description": "Description of the boolean input type"
|
||||
},
|
||||
"gui.soundTab.addSound": {
|
||||
"message": "Añadir sonido",
|
||||
"description": "Button to add a sound in the editor tab"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDuplicate": {
|
||||
"message": "duplicar",
|
||||
"description": "Menu item to duplicate in the right click menu"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDelete": {
|
||||
"message": "borrar",
|
||||
"description": "Menu item to delete in the right click menu"
|
||||
},
|
||||
"gui.stageSelector.backdrops": {
|
||||
"message": "Fondos",
|
||||
"description": "Label for the backdrops in the stage selector"
|
||||
},
|
||||
"gui.soundEditor.louder": {
|
||||
"message": "Más fuerte",
|
||||
"description": "Title of the button to apply the louder effect"
|
||||
},
|
||||
"gui.soundEditor.faster": {
|
||||
"message": "Más rápido",
|
||||
"description": "Title of the button to apply the faster effect"
|
||||
},
|
||||
"gui.soundTab.recordSound": {
|
||||
"message": "Grabar sonido",
|
||||
"description": "Button to record a sound in the editor tab"
|
||||
},
|
||||
"gui.gui.addExtension": {
|
||||
"message": "Extensiones",
|
||||
"description": "Button to add an extension in the target pane"
|
||||
},
|
||||
"gui.soundEditor.reverse": {
|
||||
"message": "Revertir",
|
||||
"description": "Title of the button to apply the reverse effect"
|
||||
},
|
||||
"gui.soundEditor.undo": {
|
||||
"message": "Deshacer",
|
||||
"description": "Title of the button to undo"
|
||||
},
|
||||
"gui.costumeTab.addCostume": {
|
||||
"message": "Añadir disfraz",
|
||||
"description": "Button to add a costume in the editor tab"
|
||||
},
|
||||
"gui.soundEditor.sound": {
|
||||
"message": "Sonido",
|
||||
"description": "Label for the name of the sound"
|
||||
}
|
||||
}
|
130
gui/he.json
130
gui/he.json
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
"gui.soundEditor.echo": {
|
||||
"message": "אקו",
|
||||
"description": "Title of the button to apply the echo effect"
|
||||
},
|
||||
"gui.soundEditor.save": {
|
||||
"message": "שמור",
|
||||
"description": "Title of the button to save trimmed sound"
|
||||
},
|
||||
"gui.soundEditor.stop": {
|
||||
"message": "עצור",
|
||||
"description": "Title of the button to stop the sound"
|
||||
},
|
||||
"gui.soundEditor.redo": {
|
||||
"message": "עשה שוב",
|
||||
"description": "Title of the button to redo"
|
||||
},
|
||||
"gui.soundEditor.softer": {
|
||||
"message": "רך יותר",
|
||||
"description": "Title of the button to apply thr.softer effect"
|
||||
},
|
||||
"gui.soundEditor.robot": {
|
||||
"message": "רובוט",
|
||||
"description": "Title of the button to apply the robot effect"
|
||||
},
|
||||
"gui.customProcedures.addAnInputNumberText": {
|
||||
"message": "Add an input",
|
||||
"description": "Label for button to add a number/text input"
|
||||
},
|
||||
"gui.stageSelector.targetPaneAddBackdrop": {
|
||||
"message": "הוסף רקע",
|
||||
"description": "Button to add a backdrop in the target pane"
|
||||
},
|
||||
"gui.customProcedures.addALabel": {
|
||||
"message": "Add a label",
|
||||
"description": "Label for button to add a label"
|
||||
},
|
||||
"gui.soundEditor.trim": {
|
||||
"message": "קצץ",
|
||||
"description": "Title of the button to start trimminging the sound"
|
||||
},
|
||||
"gui.costumeTab.addBackdrop": {
|
||||
"message": "הוסף רקע",
|
||||
"description": "Button to add a backdrop in the editor tab"
|
||||
},
|
||||
"gui.customProcedures.addAnInputBoolean": {
|
||||
"message": "Add an input",
|
||||
"description": "Label for button to add a boolean input"
|
||||
},
|
||||
"gui.spriteSelector.addSprite": {
|
||||
"message": "הוסף דמות",
|
||||
"description": "Button to add a sprite in the target pane"
|
||||
},
|
||||
"gui.customProcedures.ok": {
|
||||
"message": "OK",
|
||||
"description": "Label for button to save new custom procedure"
|
||||
},
|
||||
"gui.soundEditor.slower": {
|
||||
"message": "איטי יותר",
|
||||
"description": "Title of the button to apply the slower effect"
|
||||
},
|
||||
"gui.turboMode.active": {
|
||||
"message": "מצב טורבו",
|
||||
"description": "Label indicating turbo mode is active"
|
||||
},
|
||||
"gui.customProcedures.cancel": {
|
||||
"message": "Cancel",
|
||||
"description": "Label for button to cancel custom procedure edits"
|
||||
},
|
||||
"gui.customProcedures.numberTextType": {
|
||||
"message": "number or text",
|
||||
"description": "Description of the number/text input type"
|
||||
},
|
||||
"gui.soundEditor.play": {
|
||||
"message": "נגן",
|
||||
"description": "Title of the button to start playing the sound"
|
||||
},
|
||||
"gui.customProcedures.booleanType": {
|
||||
"message": "boolean",
|
||||
"description": "Description of the boolean input type"
|
||||
},
|
||||
"gui.soundTab.addSound": {
|
||||
"message": "הוסף צליל",
|
||||
"description": "Button to add a sound in the editor tab"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDuplicate": {
|
||||
"message": "שכפל",
|
||||
"description": "Menu item to duplicate in the right click menu"
|
||||
},
|
||||
"gui.spriteSelectorItem.contextMenuDelete": {
|
||||
"message": "מחק",
|
||||
"description": "Menu item to delete in the right click menu"
|
||||
},
|
||||
"gui.stageSelector.backdrops": {
|
||||
"message": "רקעים",
|
||||
"description": "Label for the backdrops in the stage selector"
|
||||
},
|
||||
"gui.soundEditor.louder": {
|
||||
"message": "חזק יותר",
|
||||
"description": "Title of the button to apply the louder effect"
|
||||
},
|
||||
"gui.soundEditor.faster": {
|
||||
"message": "מהר יותר",
|
||||
"description": "Title of the button to apply the faster effect"
|
||||
},
|
||||
"gui.soundTab.recordSound": {
|
||||
"message": "הקלט צליל",
|
||||
"description": "Button to record a sound in the editor tab"
|
||||
},
|
||||
"gui.gui.addExtension": {
|
||||
"message": "תוספים",
|
||||
"description": "Button to add an extension in the target pane"
|
||||
},
|
||||
"gui.soundEditor.reverse": {
|
||||
"message": "הפוך",
|
||||
"description": "Title of the button to apply the reverse effect"
|
||||
},
|
||||
"gui.soundEditor.undo": {
|
||||
"message": " ביטול",
|
||||
"description": "Title of the button to undo"
|
||||
},
|
||||
"gui.costumeTab.addCostume": {
|
||||
"message": "הוסף תלבושת",
|
||||
"description": "Button to add a costume in the editor tab"
|
||||
},
|
||||
"gui.soundEditor.sound": {
|
||||
"message": "צליל",
|
||||
"description": "Label for the name of the sound"
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "scratch-l10n",
|
||||
"version": "2.0.0",
|
||||
"version": "3.0.0",
|
||||
"description": "Localization for the Scratch 3.0 components",
|
||||
"main": "./dist/l10n.js",
|
||||
"bin": {
|
||||
|
@ -11,7 +11,7 @@
|
|||
"build": "npm run clean && npm run build:data && webpack --progress --colors --bail",
|
||||
"clean": "rimraf ./dist ./locales && mkdirp dist locales",
|
||||
"lint:js": "eslint . --ext .js",
|
||||
"lint:json": "jshint -e .json www gui paint pen",
|
||||
"lint:json": "jshint -e .json www editor/blocks editor/extensions editor/interface editor/paint-editor",
|
||||
"lint": "npm run lint:js && npm run lint:json",
|
||||
"test": "npm run lint && npm run build"
|
||||
},
|
||||
|
|
|
@ -1,74 +0,0 @@
|
|||
{
|
||||
"paint.paintEditor.redo": {
|
||||
"message": "إعادة",
|
||||
"description": "Alt to image for the button to redo an action"
|
||||
},
|
||||
"paint.paintEditor.fill": {
|
||||
"message": "مُعَبأ",
|
||||
"description": "Label for the color picker for the fill color"
|
||||
},
|
||||
"paint.modeTools.eraserSize": {
|
||||
"message": "حجم الممحاة",
|
||||
"description": "Label for the eraser size input"
|
||||
},
|
||||
"paint.paintEditor.backward": {
|
||||
"message": "إلى الخلف",
|
||||
"description": "Label for the `Send backward on canvas` button"
|
||||
},
|
||||
"paint.paintEditor.group": {
|
||||
"message": "تجميع",
|
||||
"description": "Label for the button to group shapes"
|
||||
},
|
||||
"paint.modeTools.paste": {
|
||||
"message": "لصق",
|
||||
"description": "Label for the paste button"
|
||||
},
|
||||
"paint.paintEditor.saturation": {
|
||||
"message": "تَشَبُع",
|
||||
"description": "Label for the saturation component in the color picker"
|
||||
},
|
||||
"paint.modeTools.brushSize": {
|
||||
"message": "حجم الفرشاة",
|
||||
"description": "Label for the brush size input"
|
||||
},
|
||||
"paint.paintEditor.undo": {
|
||||
"message": "تَراجع",
|
||||
"description": "Alt to image for the button to undo an action"
|
||||
},
|
||||
"paint.paintEditor.forward": {
|
||||
"message": "إلى الأمام",
|
||||
"description": "Label for the `Send forward on canvas` button"
|
||||
},
|
||||
"paint.paintEditor.brightness": {
|
||||
"message": "شدة الإضاءة",
|
||||
"description": "Label for the brightness component in the color picker"
|
||||
},
|
||||
"paint.paintEditor.costume": {
|
||||
"message": "المظهر",
|
||||
"description": "Label for the name of a sound"
|
||||
},
|
||||
"paint.paintEditor.back": {
|
||||
"message": "الرُجُوع",
|
||||
"description": "Label for the `Send to back of canvas` button"
|
||||
},
|
||||
"paint.paintEditor.ungroup": {
|
||||
"message": "فك تجميع",
|
||||
"description": "Label for the button to ungroup shapes"
|
||||
},
|
||||
"paint.paintEditor.hue": {
|
||||
"message": "اللون",
|
||||
"description": "Label for the hue component in the color picker"
|
||||
},
|
||||
"paint.modeTools.copy": {
|
||||
"message": "نسخ",
|
||||
"description": "Label for the copy button"
|
||||
},
|
||||
"paint.paintEditor.front": {
|
||||
"message": "الأمام",
|
||||
"description": "Label for the `Send to front of canvas` button"
|
||||
},
|
||||
"paint.paintEditor.stroke": {
|
||||
"message": "الخطوط العريضة",
|
||||
"description": "Label for the color picker for the outline color"
|
||||
}
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
{
|
||||
"paint.paintEditor.redo": {
|
||||
"message": "Wiederherstellen",
|
||||
"description": "Alt to image for the button to redo an action"
|
||||
},
|
||||
"paint.paintEditor.fill": {
|
||||
"message": "Füllen",
|
||||
"description": "Label for the color picker for the fill color"
|
||||
},
|
||||
"paint.modeTools.eraserSize": {
|
||||
"message": "Radierergröße",
|
||||
"description": "Label for the eraser size input"
|
||||
},
|
||||
"paint.paintEditor.backward": {
|
||||
"message": "Zurück",
|
||||
"description": "Label for the `Send backward on canvas` button"
|
||||
},
|
||||
"paint.paintEditor.group": {
|
||||
"message": "Gruppieren",
|
||||
"description": "Label for the button to group shapes"
|
||||
},
|
||||
"paint.modeTools.paste": {
|
||||
"message": "Einfügen",
|
||||
"description": "Label for the paste button"
|
||||
},
|
||||
"paint.paintEditor.saturation": {
|
||||
"message": "Sättigung",
|
||||
"description": "Label for the saturation component in the color picker"
|
||||
},
|
||||
"paint.modeTools.brushSize": {
|
||||
"message": "Pinselgröße",
|
||||
"description": "Label for the brush size input"
|
||||
},
|
||||
"paint.paintEditor.undo": {
|
||||
"message": "Rückgängig machen",
|
||||
"description": "Alt to image for the button to undo an action"
|
||||
},
|
||||
"paint.paintEditor.forward": {
|
||||
"message": "Nach vorne",
|
||||
"description": "Label for the `Send forward on canvas` button"
|
||||
},
|
||||
"paint.paintEditor.brightness": {
|
||||
"message": "Helligkeit",
|
||||
"description": "Label for the brightness component in the color picker"
|
||||
},
|
||||
"paint.paintEditor.costume": {
|
||||
"message": "Kostüm",
|
||||
"description": "Label for the name of a sound"
|
||||
},
|
||||
"paint.paintEditor.back": {
|
||||
"message": "Zurück",
|
||||
"description": "Label for the `Send to back of canvas` button"
|
||||
},
|
||||
"paint.paintEditor.ungroup": {
|
||||
"message": "Gruppierung aufheben",
|
||||
"description": "Label for the button to ungroup shapes"
|
||||
},
|
||||
"paint.paintEditor.hue": {
|
||||
"message": "Farbe",
|
||||
"description": "Label for the hue component in the color picker"
|
||||
},
|
||||
"paint.modeTools.copy": {
|
||||
"message": "Kopieren",
|
||||
"description": "Label for the copy button"
|
||||
},
|
||||
"paint.paintEditor.front": {
|
||||
"message": "Schriftart",
|
||||
"description": "Label for the `Send to front of canvas` button"
|
||||
},
|
||||
"paint.paintEditor.stroke": {
|
||||
"message": "Umriss",
|
||||
"description": "Label for the color picker for the outline color"
|
||||
}
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
{
|
||||
"paint.paintEditor.redo": {
|
||||
"message": "Rehacer",
|
||||
"description": "Alt to image for the button to redo an action"
|
||||
},
|
||||
"paint.paintEditor.fill": {
|
||||
"message": "Rellenar",
|
||||
"description": "Label for the color picker for the fill color"
|
||||
},
|
||||
"paint.modeTools.eraserSize": {
|
||||
"message": "Tamaño de la goma",
|
||||
"description": "Label for the eraser size input"
|
||||
},
|
||||
"paint.paintEditor.backward": {
|
||||
"message": "Atrás",
|
||||
"description": "Label for the `Send backward on canvas` button"
|
||||
},
|
||||
"paint.paintEditor.group": {
|
||||
"message": "Agrupar",
|
||||
"description": "Label for the button to group shapes"
|
||||
},
|
||||
"paint.modeTools.paste": {
|
||||
"message": "Pegar",
|
||||
"description": "Label for the paste button"
|
||||
},
|
||||
"paint.paintEditor.saturation": {
|
||||
"message": "Saturación",
|
||||
"description": "Label for the saturation component in the color picker"
|
||||
},
|
||||
"paint.modeTools.brushSize": {
|
||||
"message": "Tamaño del pincel",
|
||||
"description": "Label for the brush size input"
|
||||
},
|
||||
"paint.paintEditor.undo": {
|
||||
"message": "Deshacer",
|
||||
"description": "Alt to image for the button to undo an action"
|
||||
},
|
||||
"paint.paintEditor.forward": {
|
||||
"message": "Adelante",
|
||||
"description": "Label for the `Send forward on canvas` button"
|
||||
},
|
||||
"paint.paintEditor.brightness": {
|
||||
"message": "Brillo",
|
||||
"description": "Label for the brightness component in the color picker"
|
||||
},
|
||||
"paint.paintEditor.costume": {
|
||||
"message": "Disfraz",
|
||||
"description": "Label for the name of a sound"
|
||||
},
|
||||
"paint.paintEditor.back": {
|
||||
"message": "Detrás del todo",
|
||||
"description": "Label for the `Send to back of canvas` button"
|
||||
},
|
||||
"paint.paintEditor.ungroup": {
|
||||
"message": "Desagrupar",
|
||||
"description": "Label for the button to ungroup shapes"
|
||||
},
|
||||
"paint.paintEditor.hue": {
|
||||
"message": "Color",
|
||||
"description": "Label for the hue component in the color picker"
|
||||
},
|
||||
"paint.modeTools.copy": {
|
||||
"message": "Copiar",
|
||||
"description": "Label for the copy button"
|
||||
},
|
||||
"paint.paintEditor.front": {
|
||||
"message": "Al frente",
|
||||
"description": "Label for the `Send to front of canvas` button"
|
||||
},
|
||||
"paint.paintEditor.stroke": {
|
||||
"message": "Contorno",
|
||||
"description": "Label for the color picker for the outline color"
|
||||
}
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
{
|
||||
"paint.paintEditor.redo": {
|
||||
"message": "עשה שוב",
|
||||
"description": "Alt to image for the button to redo an action"
|
||||
},
|
||||
"paint.paintEditor.fill": {
|
||||
"message": "מילוי",
|
||||
"description": "Label for the color picker for the fill color"
|
||||
},
|
||||
"paint.modeTools.eraserSize": {
|
||||
"message": "גודל מחק",
|
||||
"description": "Label for the eraser size input"
|
||||
},
|
||||
"paint.paintEditor.backward": {
|
||||
"message": "לאחור",
|
||||
"description": "Label for the `Send backward on canvas` button"
|
||||
},
|
||||
"paint.paintEditor.group": {
|
||||
"message": "קבץ",
|
||||
"description": "Label for the button to group shapes"
|
||||
},
|
||||
"paint.modeTools.paste": {
|
||||
"message": "הדבק",
|
||||
"description": "Label for the paste button"
|
||||
},
|
||||
"paint.paintEditor.saturation": {
|
||||
"message": "סטורציה",
|
||||
"description": "Label for the saturation component in the color picker"
|
||||
},
|
||||
"paint.modeTools.brushSize": {
|
||||
"message": "גודל מברשת",
|
||||
"description": "Label for the brush size input"
|
||||
},
|
||||
"paint.paintEditor.undo": {
|
||||
"message": " ביטול",
|
||||
"description": "Alt to image for the button to undo an action"
|
||||
},
|
||||
"paint.paintEditor.forward": {
|
||||
"message": "קדימה",
|
||||
"description": "Label for the `Send forward on canvas` button"
|
||||
},
|
||||
"paint.paintEditor.brightness": {
|
||||
"message": "בהירות",
|
||||
"description": "Label for the brightness component in the color picker"
|
||||
},
|
||||
"paint.paintEditor.costume": {
|
||||
"message": "תלבושת",
|
||||
"description": "Label for the name of a sound"
|
||||
},
|
||||
"paint.paintEditor.back": {
|
||||
"message": "אחורה",
|
||||
"description": "Label for the `Send to back of canvas` button"
|
||||
},
|
||||
"paint.paintEditor.ungroup": {
|
||||
"message": "פרק",
|
||||
"description": "Label for the button to ungroup shapes"
|
||||
},
|
||||
"paint.paintEditor.hue": {
|
||||
"message": "צבע",
|
||||
"description": "Label for the hue component in the color picker"
|
||||
},
|
||||
"paint.modeTools.copy": {
|
||||
"message": "עותק",
|
||||
"description": "Label for the copy button"
|
||||
},
|
||||
"paint.paintEditor.front": {
|
||||
"message": "קידמה",
|
||||
"description": "Label for the `Send to front of canvas` button"
|
||||
},
|
||||
"paint.paintEditor.stroke": {
|
||||
"message": "קו מתאר",
|
||||
"description": "Label for the color picker for the outline color"
|
||||
}
|
||||
}
|
70
pen/ar.json
70
pen/ar.json
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
"pen.setColor": {
|
||||
"message": "اجعل لون القلم مساويًا [COLOR] ",
|
||||
"description": "set the pen color to a particular (RGB) value"
|
||||
},
|
||||
"pen.setColorParam": {
|
||||
"message": "تَعِيينْ القَلَم [COLOR_PARAM]إلى [VALUE]",
|
||||
"description": "set the state for a pen color parameter e.g. saturation"
|
||||
},
|
||||
"pen.colorMenu.brightness": {
|
||||
"message": "شدة الإضاءة",
|
||||
"description": "label for brightness element in color picker for pen extension"
|
||||
},
|
||||
"pen.setSize": {
|
||||
"message": "اجعل حجم القلم مساويًا [SIZE]",
|
||||
"description": "set the diameter of a trail left by a sprite"
|
||||
},
|
||||
"pen.changeHue": {
|
||||
"message": "غيِّر ظل القلم بمقدار [HUE]",
|
||||
"description": "legacy pen blocks - change pen color"
|
||||
},
|
||||
"pen.stamp": {
|
||||
"message": "اِطْبَع",
|
||||
"description": "render current costume on the background"
|
||||
},
|
||||
"pen.clear": {
|
||||
"message": "امسح",
|
||||
"description": "erase all pen trails and stamps"
|
||||
},
|
||||
"pen.setHue": {
|
||||
"message": "اجعل مساحة القلم مساويًا [HUE]",
|
||||
"description": "legacy pen blocks - set pen color to number"
|
||||
},
|
||||
"pen.setShade": {
|
||||
"message": "اجعل ظل القلم مساويًا [SHADE]",
|
||||
"description": "legacy pen blocks - set pen shade"
|
||||
},
|
||||
"pen.colorMenu.color": {
|
||||
"message": "اللون",
|
||||
"description": "label for color element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeSize": {
|
||||
"message": "غيِّر حجم القلم بمقدار [SIZE]",
|
||||
"description": "change the diameter of the trail left by a sprite"
|
||||
},
|
||||
"pen.colorMenu.transparency": {
|
||||
"message": "شَفَافْ",
|
||||
"description": "label for transparency element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeColorParam": {
|
||||
"message": "غيِّر القَلَم [COLOR_PARAM] عن طريق [VALUE]",
|
||||
"description": "change the state of a pen color parameter"
|
||||
},
|
||||
"pen.penDown": {
|
||||
"message": "أنزل القلم",
|
||||
"description": "start leaving a trail when the sprite moves"
|
||||
},
|
||||
"pen.penUp": {
|
||||
"message": "ارْفَع القَلَم",
|
||||
"description": "stop leaving a trail behind the sprite"
|
||||
},
|
||||
"pen.colorMenu.saturation": {
|
||||
"message": "تشبع",
|
||||
"description": "label for saturation element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeShade": {
|
||||
"message": "غيِّر ظل القلم بمقدار [SHADE]",
|
||||
"description": "legacy pen blocks - change pen shade"
|
||||
}
|
||||
}
|
70
pen/de.json
70
pen/de.json
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
"pen.setColor": {
|
||||
"message": "setze Stiftfarbe auf [COLOR]",
|
||||
"description": "set the pen color to a particular (RGB) value"
|
||||
},
|
||||
"pen.setColorParam": {
|
||||
"message": "setze [COLOR_PARAM] von Stift auf [VALUE]",
|
||||
"description": "set the state for a pen color parameter e.g. saturation"
|
||||
},
|
||||
"pen.colorMenu.brightness": {
|
||||
"message": "Helligkeit",
|
||||
"description": "label for brightness element in color picker for pen extension"
|
||||
},
|
||||
"pen.setSize": {
|
||||
"message": "Setze Stiftdicke auf [SIZE]",
|
||||
"description": "set the diameter of a trail left by a sprite"
|
||||
},
|
||||
"pen.changeHue": {
|
||||
"message": "Ändere Stiftsättigung um [HUE]",
|
||||
"description": "legacy pen blocks - change pen color"
|
||||
},
|
||||
"pen.stamp": {
|
||||
"message": "hinterlasse Abdruck",
|
||||
"description": "render current costume on the background"
|
||||
},
|
||||
"pen.clear": {
|
||||
"message": "wische Malspuren weg",
|
||||
"description": "erase all pen trails and stamps"
|
||||
},
|
||||
"pen.setHue": {
|
||||
"message": "Setze Stiftsättigung auf [HUE]",
|
||||
"description": "legacy pen blocks - set pen color to number"
|
||||
},
|
||||
"pen.setShade": {
|
||||
"message": "setze Farbstärke auf [SHADE]",
|
||||
"description": "legacy pen blocks - set pen shade"
|
||||
},
|
||||
"pen.colorMenu.color": {
|
||||
"message": "Farbe",
|
||||
"description": "label for color element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeSize": {
|
||||
"message": "Ändere Stiftdicke um [SIZE]",
|
||||
"description": "change the diameter of the trail left by a sprite"
|
||||
},
|
||||
"pen.colorMenu.transparency": {
|
||||
"message": "Transparenz",
|
||||
"description": "label for transparency element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeColorParam": {
|
||||
"message": "setze [COLOR_PARAM] von Stift auf [VALUE]",
|
||||
"description": "change the state of a pen color parameter"
|
||||
},
|
||||
"pen.penDown": {
|
||||
"message": "schalte Stift ein",
|
||||
"description": "start leaving a trail when the sprite moves"
|
||||
},
|
||||
"pen.penUp": {
|
||||
"message": "schalte Stift aus",
|
||||
"description": "stop leaving a trail behind the sprite"
|
||||
},
|
||||
"pen.colorMenu.saturation": {
|
||||
"message": "Sättigung",
|
||||
"description": "label for saturation element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeShade": {
|
||||
"message": "Ändere Farbstärke um [SHADE]",
|
||||
"description": "legacy pen blocks - change pen shade"
|
||||
}
|
||||
}
|
70
pen/en.json
70
pen/en.json
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
"pen.setColor": {
|
||||
"message": "set pen color to [COLOR]",
|
||||
"description": "set the pen color to a particular (RGB) value"
|
||||
},
|
||||
"pen.setColorParam": {
|
||||
"message": "set pen [COLOR_PARAM] to [VALUE]",
|
||||
"description": "set the state for a pen color parameter e.g. saturation"
|
||||
},
|
||||
"pen.colorMenu.brightness": {
|
||||
"message": "brightness",
|
||||
"description": "label for brightness element in color picker for pen extension"
|
||||
},
|
||||
"pen.setSize": {
|
||||
"message": "set pen size to [SIZE]",
|
||||
"description": "set the diameter of a trail left by a sprite"
|
||||
},
|
||||
"pen.changeHue": {
|
||||
"message": "change pen hue by [HUE]",
|
||||
"description": "legacy pen blocks - change pen color"
|
||||
},
|
||||
"pen.stamp": {
|
||||
"message": "stamp",
|
||||
"description": "render current costume on the background"
|
||||
},
|
||||
"pen.clear": {
|
||||
"message": "clear",
|
||||
"description": "erase all pen trails and stamps"
|
||||
},
|
||||
"pen.setHue": {
|
||||
"message": "set pen hue to [HUE]",
|
||||
"description": "legacy pen blocks - set pen color to number"
|
||||
},
|
||||
"pen.setShade": {
|
||||
"message": "set pen shade to [SHADE]",
|
||||
"description": "legacy pen blocks - set pen shade"
|
||||
},
|
||||
"pen.colorMenu.color": {
|
||||
"message": "color",
|
||||
"description": "label for color element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeSize": {
|
||||
"message": "change pen size by [SIZE]",
|
||||
"description": "change the diameter of the trail left by a sprite"
|
||||
},
|
||||
"pen.colorMenu.transparency": {
|
||||
"message": "transparency",
|
||||
"description": "label for transparency element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeColorParam": {
|
||||
"message": "change pen [COLOR_PARAM] by [VALUE]",
|
||||
"description": "change the state of a pen color parameter"
|
||||
},
|
||||
"pen.penDown": {
|
||||
"message": "pen down",
|
||||
"description": "start leaving a trail when the sprite moves"
|
||||
},
|
||||
"pen.penUp": {
|
||||
"message": "pen up",
|
||||
"description": "stop leaving a trail behind the sprite"
|
||||
},
|
||||
"pen.colorMenu.saturation": {
|
||||
"message": "saturation",
|
||||
"description": "label for saturation element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeShade": {
|
||||
"message": "change pen shade by [SHADE]",
|
||||
"description": "legacy pen blocks - change pen shade"
|
||||
}
|
||||
}
|
70
pen/es.json
70
pen/es.json
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
"pen.setColor": {
|
||||
"message": "fijar color del lápiz a [COLOR]",
|
||||
"description": "set the pen color to a particular (RGB) value"
|
||||
},
|
||||
"pen.setColorParam": {
|
||||
"message": "fijar [COLOR_PARAM] del lápiz a [VALUE]",
|
||||
"description": "set the state for a pen color parameter e.g. saturation"
|
||||
},
|
||||
"pen.colorMenu.brightness": {
|
||||
"message": "brillo",
|
||||
"description": "label for brightness element in color picker for pen extension"
|
||||
},
|
||||
"pen.setSize": {
|
||||
"message": "fijar tamaño del lápiz a [SIZE]",
|
||||
"description": "set the diameter of a trail left by a sprite"
|
||||
},
|
||||
"pen.changeHue": {
|
||||
"message": "cambiar tono del lápiz por [HUE]",
|
||||
"description": "legacy pen blocks - change pen color"
|
||||
},
|
||||
"pen.stamp": {
|
||||
"message": "sellar",
|
||||
"description": "render current costume on the background"
|
||||
},
|
||||
"pen.clear": {
|
||||
"message": "borrar",
|
||||
"description": "erase all pen trails and stamps"
|
||||
},
|
||||
"pen.setHue": {
|
||||
"message": "fijar tono del lápiz a [HUE]",
|
||||
"description": "legacy pen blocks - set pen color to number"
|
||||
},
|
||||
"pen.setShade": {
|
||||
"message": "fijar sombra del lápiz a [SHADE]",
|
||||
"description": "legacy pen blocks - set pen shade"
|
||||
},
|
||||
"pen.colorMenu.color": {
|
||||
"message": "color",
|
||||
"description": "label for color element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeSize": {
|
||||
"message": "cambiar tamaño del lápiz a [SIZE]",
|
||||
"description": "change the diameter of the trail left by a sprite"
|
||||
},
|
||||
"pen.colorMenu.transparency": {
|
||||
"message": "transparencia",
|
||||
"description": "label for transparency element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeColorParam": {
|
||||
"message": "cambiar [COLOR_PARAM] del lápiz a [VALUE]",
|
||||
"description": "change the state of a pen color parameter"
|
||||
},
|
||||
"pen.penDown": {
|
||||
"message": "bajar lápiz",
|
||||
"description": "start leaving a trail when the sprite moves"
|
||||
},
|
||||
"pen.penUp": {
|
||||
"message": "subir lápiz",
|
||||
"description": "stop leaving a trail behind the sprite"
|
||||
},
|
||||
"pen.colorMenu.saturation": {
|
||||
"message": "saturación",
|
||||
"description": "label for saturation element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeShade": {
|
||||
"message": "cambiar sombra del lápiz por [SHADE]",
|
||||
"description": "legacy pen blocks - change pen shade"
|
||||
}
|
||||
}
|
70
pen/he.json
70
pen/he.json
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
"pen.setColor": {
|
||||
"message": "קבע צבע עט ל[COLOR]",
|
||||
"description": "set the pen color to a particular (RGB) value"
|
||||
},
|
||||
"pen.setColorParam": {
|
||||
"message": "קבע [COLOR_PARAM] עט ל[VALUE]",
|
||||
"description": "set the state for a pen color parameter e.g. saturation"
|
||||
},
|
||||
"pen.colorMenu.brightness": {
|
||||
"message": "בהירות",
|
||||
"description": "label for brightness element in color picker for pen extension"
|
||||
},
|
||||
"pen.setSize": {
|
||||
"message": "קבע גודל עט ל[SIZE]",
|
||||
"description": "set the diameter of a trail left by a sprite"
|
||||
},
|
||||
"pen.changeHue": {
|
||||
"message": "שנה גוון עט ב[HUE]",
|
||||
"description": "legacy pen blocks - change pen color"
|
||||
},
|
||||
"pen.stamp": {
|
||||
"message": "החתם",
|
||||
"description": "render current costume on the background"
|
||||
},
|
||||
"pen.clear": {
|
||||
"message": "נקה",
|
||||
"description": "erase all pen trails and stamps"
|
||||
},
|
||||
"pen.setHue": {
|
||||
"message": "קבע גוון עט ל[HUE]",
|
||||
"description": "legacy pen blocks - set pen color to number"
|
||||
},
|
||||
"pen.setShade": {
|
||||
"message": "קבע הצללת עט ל[SHADE]",
|
||||
"description": "legacy pen blocks - set pen shade"
|
||||
},
|
||||
"pen.colorMenu.color": {
|
||||
"message": "צבע",
|
||||
"description": "label for color element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeSize": {
|
||||
"message": "שנה גודל עט ב[SIZE]",
|
||||
"description": "change the diameter of the trail left by a sprite"
|
||||
},
|
||||
"pen.colorMenu.transparency": {
|
||||
"message": "שקיפות",
|
||||
"description": "label for transparency element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeColorParam": {
|
||||
"message": "שנה [COLOR_PARAM] עט ל[VALUE]",
|
||||
"description": "change the state of a pen color parameter"
|
||||
},
|
||||
"pen.penDown": {
|
||||
"message": "עט מטה",
|
||||
"description": "start leaving a trail when the sprite moves"
|
||||
},
|
||||
"pen.penUp": {
|
||||
"message": "עט מעלה",
|
||||
"description": "stop leaving a trail behind the sprite"
|
||||
},
|
||||
"pen.colorMenu.saturation": {
|
||||
"message": "סטורציה",
|
||||
"description": "label for saturation element in color picker for pen extension"
|
||||
},
|
||||
"pen.changeShade": {
|
||||
"message": "שנה הצללת עט ב[SHADE]",
|
||||
"description": "legacy pen blocks - change pen shade"
|
||||
}
|
||||
}
|
|
@ -34,48 +34,79 @@ Example output:
|
|||
}
|
||||
}
|
||||
'''
|
||||
NOTE: blocks messages are plain key-value JSON files
|
||||
|
||||
Missing locales are ignored, react-intl will use the default messages for them.
|
||||
*/
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import {sync as mkdirpSync} from 'mkdirp';
|
||||
import defaultsDeep from 'lodash.defaultsdeep';
|
||||
import locales from '../src/supported-locales.js';
|
||||
|
||||
const MSGS_DIR = './locales/';
|
||||
mkdirpSync(MSGS_DIR);
|
||||
let missingLocales = [];
|
||||
|
||||
// generate messages:
|
||||
let components = ['gui', 'paint', 'pen'];
|
||||
// generate messages for gui components - files are Chrome i18n format json
|
||||
let components = ['interface', 'extensions', 'paint-editor'];
|
||||
let editorMsgs = {};
|
||||
components.forEach((component) => {
|
||||
let messages = Object.keys(locales).reduce((collection, lang) => {
|
||||
let langMessages = {};
|
||||
try {
|
||||
let langData = JSON.parse(
|
||||
fs.readFileSync(path.resolve(component, lang + '.json'), 'utf8')
|
||||
fs.readFileSync(path.resolve('editor', component, lang + '.json'), 'utf8')
|
||||
);
|
||||
Object.keys(langData).forEach((id) => {
|
||||
langMessages[id] = langData[id].message;
|
||||
});
|
||||
collection[lang] = {
|
||||
messages: langMessages
|
||||
};
|
||||
collection[lang] = langMessages;
|
||||
} catch (e) {
|
||||
missingLocales.push(lang);
|
||||
}
|
||||
return collection;
|
||||
}, {});
|
||||
|
||||
mkdirpSync(MSGS_DIR);
|
||||
|
||||
let data =
|
||||
'// GENERATED FILE:\n' +
|
||||
'const ' + component + 'Msgs = ' +
|
||||
'export default ' +
|
||||
JSON.stringify(messages, null, 2) +
|
||||
'\nexports.messages = ' + component + 'Msgs;\n';
|
||||
';\n';
|
||||
fs.writeFileSync(MSGS_DIR + component + '-msgs.js', data);
|
||||
defaultsDeep(editorMsgs, messages);
|
||||
|
||||
if (missingLocales.length > 0) {
|
||||
process.stdout.write('missing locales: ' + missingLocales.toString());
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
|
||||
// generate the blocks messages: files are plain key-value JSON
|
||||
let blocksMessages = Object.keys(locales).reduce((collection, lang) => {
|
||||
try {
|
||||
let langData = JSON.parse(
|
||||
fs.readFileSync(path.resolve('editor', 'blocks', lang + '.json'), 'utf8')
|
||||
);
|
||||
collection[lang] = langData;
|
||||
} catch (e) {
|
||||
missingLocales.push(lang);
|
||||
}
|
||||
return collection;
|
||||
}, {});
|
||||
let blockData =
|
||||
'// GENERATED FILE:\n' +
|
||||
'export default ' +
|
||||
JSON.stringify(blocksMessages, null, 2) +
|
||||
';\n';
|
||||
|
||||
fs.writeFileSync(MSGS_DIR + 'blocks-msgs.js', blockData);
|
||||
defaultsDeep(editorMsgs, blocksMessages);
|
||||
|
||||
// generate combined editor-msgs file
|
||||
let editorData =
|
||||
'// GENERATED FILE:\n' +
|
||||
'export default ' +
|
||||
JSON.stringify(editorMsgs, null, 2) +
|
||||
';\n';
|
||||
fs.writeFileSync(MSGS_DIR + 'editor-msgs.js', editorData);
|
||||
|
|
88
src/index.js
88
src/index.js
|
@ -1,17 +1,87 @@
|
|||
import en from 'react-intl/locale-data/en';
|
||||
import ar from 'react-intl/locale-data/ar';
|
||||
import az from 'react-intl/locale-data/az'; // parent for Abkahz
|
||||
import ca from 'react-intl/locale-data/ca';
|
||||
import cs from 'react-intl/locale-data/cs';
|
||||
import cy from 'react-intl/locale-data/cy';
|
||||
import de from 'react-intl/locale-data/de';
|
||||
import el from 'react-intl/locale-data/el';
|
||||
import es from 'react-intl/locale-data/es';
|
||||
import fr from 'react-intl/locale-data/fr';
|
||||
import ga from 'react-intl/locale-data/ga';
|
||||
import gd from 'react-intl/locale-data/gd';
|
||||
import he from 'react-intl/locale-data/he';
|
||||
import locales from './supported-locales.js';
|
||||
import it from 'react-intl/locale-data/it';
|
||||
import ja from 'react-intl/locale-data/ja';
|
||||
import nl from 'react-intl/locale-data/nl';
|
||||
import nb from 'react-intl/locale-data/nb';
|
||||
import pt from 'react-intl/locale-data/pt';
|
||||
import sl from 'react-intl/locale-data/sl';
|
||||
import sr from 'react-intl/locale-data/sr';
|
||||
import tr from 'react-intl/locale-data/tr';
|
||||
import uk from 'react-intl/locale-data/uk';
|
||||
import zh from 'react-intl/locale-data/zh';
|
||||
|
||||
let localeData = locales;
|
||||
localeData.en.localeData = en;
|
||||
localeData.ar.localeData = ar;
|
||||
localeData.de.localeData = de;
|
||||
localeData.es.localeData = es;
|
||||
localeData.he.localeData = he;
|
||||
import locales, {customLocales} from './supported-locales.js';
|
||||
/*
|
||||
locales = {
|
||||
'ab': {name: 'Аҧсшәа'},
|
||||
'ca': {name: 'Català'},
|
||||
'cs': {name: 'Česky'},
|
||||
'cy': {name: 'Cymraeg'},
|
||||
'de': {name: 'Deutsch'},
|
||||
'el': {name: 'Ελληνικά'},
|
||||
'en': {name: 'English'},
|
||||
'es': {name: 'Español'},
|
||||
'es-419': {name: 'Español Latinoamericano'},
|
||||
'fr': {name: 'Français'},
|
||||
'ga': {name: 'Gaeilge'},
|
||||
'gd': {name: 'Gàidhlig'},
|
||||
'he': {name: 'עִבְרִית'},
|
||||
'it': {name: 'Italiano'},
|
||||
'ja': {name: '日本語'},
|
||||
'mi': {name: 'Maori'},
|
||||
'nl': {name: 'Nederlands'},
|
||||
'nb': {name: 'Norsk Bokmål'},
|
||||
'pt': {name: 'Português'},
|
||||
'pt-br': {name: 'Português Brasileiro'},
|
||||
'sr': {name: 'Српски'},
|
||||
'sl': {name: 'Slovenščina'},
|
||||
'tr': {name: 'Türkçe'},
|
||||
'uk': {name: 'Українська'},
|
||||
'zh-cn': {name: '简体中文'},
|
||||
'zh-tw': {name: '繁體中文'}
|
||||
*/
|
||||
|
||||
let localeData = [].concat(
|
||||
en,
|
||||
az, // parent for Abkahz
|
||||
ca,
|
||||
cs,
|
||||
cy,
|
||||
de,
|
||||
el,
|
||||
es,
|
||||
fr,
|
||||
ga,
|
||||
gd,
|
||||
he,
|
||||
it,
|
||||
ja,
|
||||
nl,
|
||||
nb,
|
||||
pt,
|
||||
sl,
|
||||
sr,
|
||||
tr,
|
||||
uk,
|
||||
zh
|
||||
);
|
||||
|
||||
for (const lang in customLocales) {
|
||||
localeData.push(customLocales[lang]);
|
||||
}
|
||||
|
||||
export {
|
||||
localeData as default
|
||||
locales as default,
|
||||
localeData // data expected for initializing ReactIntl.addLocaleData
|
||||
};
|
||||
|
|
|
@ -4,11 +4,55 @@
|
|||
*/
|
||||
|
||||
const locales = {
|
||||
en: {name: 'English'},
|
||||
ar: {name: 'الْعَرَبِيَّة'},
|
||||
de: {name: 'Deutsch'},
|
||||
es: {name: 'Español'},
|
||||
he: {name: 'עִבְרִית'}
|
||||
'ab': {name: 'Аҧсшәа'},
|
||||
'ca': {name: 'Català'},
|
||||
'cs': {name: 'Česky'},
|
||||
'cy': {name: 'Cymraeg'},
|
||||
'de': {name: 'Deutsch'},
|
||||
'el': {name: 'Ελληνικά'},
|
||||
'en': {name: 'English'},
|
||||
'es': {name: 'Español'},
|
||||
'es-419': {name: 'Español Latinoamericano'},
|
||||
'fr': {name: 'Français'},
|
||||
'ga': {name: 'Gaeilge'},
|
||||
'gd': {name: 'Gàidhlig'},
|
||||
'he': {name: 'עִבְרִית'},
|
||||
'it': {name: 'Italiano'},
|
||||
'ja': {name: '日本語'},
|
||||
'mi': {name: 'Maori'},
|
||||
'nl': {name: 'Nederlands'},
|
||||
'nb': {name: 'Norsk Bokmål'},
|
||||
'pt': {name: 'Português'},
|
||||
'pt-br': {name: 'Português Brasileiro'},
|
||||
'sr': {name: 'Српски'},
|
||||
'sl': {name: 'Slovenščina'},
|
||||
'tr': {name: 'Türkçe'},
|
||||
'uk': {name: 'Українська'},
|
||||
'zh-cn': {name: '简体中文'},
|
||||
'zh-tw': {name: '繁體中文'}
|
||||
};
|
||||
|
||||
const customLocales = {
|
||||
'ab': {
|
||||
locale: 'ab',
|
||||
parentLocale: 'az'
|
||||
},
|
||||
'es-419': {
|
||||
locale: 'es-419',
|
||||
parentLocale: 'es'
|
||||
},
|
||||
'mi': {
|
||||
locale: 'mi',
|
||||
parentLocale: 'en'
|
||||
},
|
||||
'zh-cn': {
|
||||
locale: 'zh-cn',
|
||||
parentLocale: 'zh'
|
||||
},
|
||||
'zh-tw': {
|
||||
locale: 'zh-tw',
|
||||
parentLocale: 'zh'
|
||||
}
|
||||
};
|
||||
|
||||
const wwwLocales = {
|
||||
|
@ -87,4 +131,4 @@ const wwwLocales = {
|
|||
'zh-tw': {name: '繁體中文'}
|
||||
};
|
||||
|
||||
export {locales as default, wwwLocales};
|
||||
export {locales as default, customLocales, wwwLocales};
|
||||
|
|
Loading…
Reference in a new issue