messages["en_US"] = {
	"input.comp.anim": "animation",
	"input.comp.default": "component",
	"input.comp.image": "image sprite",
	"input.comp.polysec": "polygon sectional mesh",
	"input.comp.rect": "colored rectangle sprite",
	"input.comp.scale3": "scale3 image sprite",
	"input.comp.text": "text sprite",
	"input.ident.default": "variable",
	"input.identanchor.default": "anchor",
	"input.number.default": "123",
	"input.prop.anim.delay": "animation: start delay",
	"input.prop.anim.direction": "animation: playback direction",
	"input.prop.anim.duration": "animation: duration",
	"input.prop.anim.name": "animation: name",
	"input.prop.anim.iteration": "animation: iteration count",
	"input.prop.default": "property",
	"input.prop.image.fit": "image sprite: scale mode",
	"input.prop.image.frame": "image sprite: frame name",
	"input.prop.image.frames": "image sprite: list of frame names",
	"input.prop.image.index": "image sprite: frame index",
	"input.prop.image.shader": "image sprite: shader",
	"input.prop.mesh.color": "mesh: color",
	"input.prop.mesh.opacity": "mesh: opacity",
	"input.prop.mesh.zindex": "mesh: layer order",
	"input.prop.polysec.body": "polygon sectional mesh: body frame name",
	"input.prop.polysec.head": "polygon sectional mesh: head frame name",
	"input.prop.polysec.shape": "polygon sectional mesh: section shape",
	"input.prop.polysec.tail": "polygon sectional mesh: tail frame name",
	"input.prop.pos": "position",
	"input.prop.rot": "rotation",
	"input.prop.scale": "scale",
	"input.prop.scale3.border": "scale3 image sprite: unstretched area ratios",
	"input.prop.sec.part": "sectional mesh: current part",
	"input.prop.sec.partial": "sectional mesh: partial mode",
	"input.prop.sprite.bound": "sprite: secondary anchor position",
	"input.prop.sprite.pivot": "sprite: anchor",
	"input.prop.sprite.scale": "sprite: scale",
	"input.prop.sprite.ui": "sprite: ui mode",
	"input.prop.text.frames": "text sprite: frame mapping",
	"input.prop.text.size": "text sprite: font size",
	"input.prop.text.spacing": "text sprite: character spacing",
	"input.prop.text.value": "text sprite: content",
	"input.string.default": "string",
	"input.type.chart": "chart",
	"input.type.default": "element",
	"input.type.group": "track group",
	"input.type.note": "note",
	"input.type.track": "track",
	"list.category.exp.any": "Any",
	"list.category.exp.array": "Array",
	"list.category.exp.const": "Constants",
	"list.category.exp.func": "Functions",
	"list.category.exp.func.anim": "Animation Functions",
	"list.category.exp.func.ctx": "Contextual Functions",
	"list.category.exp.func.judge": "Judge Functions",
	"list.category.exp.identifier": "Identifier",
	"list.category.exp.number": "Number",
	"list.category.exp.op": "Operators",
	"list.category.exp.string": "String",
	"list.category.exp.vector": "Vector",
	"list.statement.comp": "Attach component",
	"list.statement.define": "Define static variable",
	"list.statement.exp.cast.vector2number": "From vector",
	"list.statement.exp.const.false": "False",
	"list.statement.exp.const.h": "Screen height",
	"list.statement.exp.const.inf": "Infinity",
	"list.statement.exp.const.null": "Null",
	"list.statement.exp.const.true": "True",
	"list.statement.exp.const.w": "Screen width",
	"list.statement.exp.func.abs": "Absolute value",
	"list.statement.exp.func.anim": "Animate value",
	"list.statement.exp.func.attack_timing": "Attack in timing",
	"list.statement.exp.func.clamp": "Clamp",
	"list.statement.exp.func.contact_timing": "Contact timing",
	"list.statement.exp.func.cubic_bezier": "Cubic Bézier curve",
	"list.statement.exp.func.ease": "Ease",
	"list.statement.exp.func.ease_in": "Ease in",
	"list.statement.exp.func.ease_in_out": "Ease in out",
	"list.statement.exp.func.ease_out": "Ease out",
	"list.statement.exp.func.enter_timing": "Enter timing",
	"list.statement.exp.func.frame_seq": "Frame sequence",
	"list.statement.exp.func.int": "Round down",
	"list.statement.exp.func.interval": "Interval",
	"list.statement.exp.func.is": "Is equivalent",
	"list.statement.exp.func.leave_timing": "Leave timing",
	"list.statement.exp.func.max": "Maximum",
	"list.statement.exp.func.min": "Minimum",
	"list.statement.exp.func.release_timing": "Release in timing",
	"list.statement.exp.func.screen_edge": "Screen edge",
	"list.statement.exp.literal.ident": "Variable",
	"list.statement.exp.literal.identforced": "Variable (forced)",
	"list.statement.exp.literal.number": "Number",
	"list.statement.exp.literal.string": "String",
	"list.statement.exp.number": "Add element",
	"list.statement.exp.string": "Add element",
	"list.statement.exp.op.add": "a + b",
	"list.statement.exp.op.add1": "+n",
	"list.statement.exp.op.and": "p and q",
	"list.statement.exp.op.at": "n-th element",
	"list.statement.exp.op.div": "a ÷ b",
	"list.statement.exp.op.eq": "a = b",
	"list.statement.exp.op.gt": "a > b",
	"list.statement.exp.op.lt": "a < b",
	"list.statement.exp.op.mod": "a % b",
	"list.statement.exp.op.mul": "a × b",
	"list.statement.exp.op.not": "Not",
	"list.statement.exp.op.or": "p or q",
	"list.statement.exp.op.sep.arr": "Array",
	"list.statement.exp.op.sep.vec": "Vector",
	"list.statement.exp.op.sub": "a - b",
	"list.statement.exp.op.sub1": "-n",
	"list.statement.obj": "Create container",
	"list.statement.prop": "Set property",
	"list.statement.select": "Select elements",
	"list.statement.select.anchor": "Select anchor",
	"list.statement.select.atanchor": "Select at anchor",
	"list.statement.select.exp": "Filter expression",
	"list.statement.select.type": "Filter element type",
	"statement.comp": "with a {0}",
	"statement.define": "Define static {0} = {1}",
	"statement.exp.cast.vector2number": "vector {0}",
	"statement.exp.const.false": "false",
	"statement.exp.const.h": "screen height",
	"statement.exp.const.inf": "infinity",
	"statement.exp.const.null": "null",
	"statement.exp.const.true": "true",
	"statement.exp.const.w": "screen width",
	"statement.exp.func.abs": "absolute value of {0}",
	"statement.exp.func.anim": "animate value from {0} to {1} with {2}",
	"statement.exp.func.attack_timing": "attack in timing ({0}, {1})",
	"statement.exp.func.clamp": "clamp {1} between {0} and {2}",
	"statement.exp.func.contact_timing": "contact timing ({0}, {1})",
	"statement.exp.func.cubic_bezier": "cubic Bézier curve defined by the control points ({0}, {1}) and ({2}, {3}) with {4}",
	"statement.exp.func.ease": "ease with {0}",
	"statement.exp.func.ease_in": "ease in with {0}",
	"statement.exp.func.ease_in_out": "ease in out with {0}",
	"statement.exp.func.ease_out": "ease out with {0}",
	"statement.exp.func.enter_timing": "enter timing ({0}, +∞)",
	"statement.exp.func.frame_seq": "frame sequence with prefix {0} from {1} to {2}",
	"statement.exp.func.int": "round down {0}",
	"statement.exp.func.interval": "interval between {0} and {1}",
	"statement.exp.func.is": "{0} is equivalent to {1}",
	"statement.exp.func.leave_timing": "leave timing (-∞, {0})",
	"statement.exp.func.max": "maximum of {0} and {1}",
	"statement.exp.func.min": "minimum of {0} and {1}",
	"statement.exp.func.release_timing": "release in timing ({0}, {1})",
	"statement.exp.func.screen_edge": "the screen edge #{0}",
	"statement.exp.literal.ident": "{0}",
	"statement.exp.literal.identforced": "{0} (forced)",
	"statement.exp.literal.number": "{0}",
	"statement.exp.literal.string": "{0}",
	"statement.exp.number": "{0}",
	"statement.exp.number_or_vector": "{0}",
	"statement.exp.string": "{0}",
	"statement.exp.op.add": "{0} + {1}",
	"statement.exp.op.add1": "+{0}",
	"statement.exp.op.and": "{0} and {1}",
	"statement.exp.op.at": "the {1}th item of {0}",
	"statement.exp.op.div": "{0} ÷ {1}",
	"statement.exp.op.eq": "{0} = {1}",
	"statement.exp.op.gt": "{0} > {1}",
	"statement.exp.op.lt": "{0} < {1}",
	"statement.exp.op.mod": "{0} % {1}",
	"statement.exp.op.mul": "{0} × {1}",
	"statement.exp.op.not": "not {0}",
	"statement.exp.op.or": "{0} or {1}",
	"statement.exp.op.sep.arr": "Array {0}",
	"statement.exp.op.sep.vec": "Vector {0}",
	"statement.exp.op.sub": "{0} - {1}",
	"statement.exp.op.sub1": "-{0}",
	"statement.obj": "Create a container {0}",
	"statement.prop": "Set its {0} to {1}",
	"statement.select": "Select {0} {1}",
	"statement.select.anchor": "Select its anchor {0}",
	"statement.select.atanchor": "Select at its anchor {0}",
	"statement.select.exp": "If it matches the expression {0}",
	"statement.select.type": "If it is a {0}",
	"tool.debug": "Debug",
	"tool.hideadd": "Hide Add",
	"tool.hidedelete": "Hide Delete",
	"tool.sort": "Sort",
};