{
  "static": {
    "newFlow": "New Process",
    "ok": "Confirm",
    "cancel": "Cancel",
    "close": "Close",
    "clearRule": "Clear up",
    "warning": "Warning",
    "info": "Reminder",
    "local": "Save to local",
    "server": "Save to server",
    "saveinfo": "Save to local or server?",
    "savenew": "When saving to the server, save as a new version.<br>(Only as the process definition is saved and the process status is not published)",
    "align": "Alignment method",
    "aligninfo": "At least two or more nodes must be selected to perform alignment",
    "alignleft": "Left alignment, based on the leftmost node of the selecting nodes",
    "alignright": "Right aligned, based on the rightmost node of the selecting nodes",
    "alignup": "Align up, based on the top node of the  selecting nodes",
    "aligndown": "Bottom alignment, based on the lowest node of the selecting nodes ",
    "nocopy": "Cannot copy when modifying an instance",
    "opensub": "Copying is not allowed when a sub process has been opened",
    "clear": "All nodes and routes on the canvas will be deleted. Are you sure ?",
    "save": "Save",
    "saveok": "Save sucessfully!",
    "saveError": "Save failed!",
    "savemsg": "Please open the process attribute editing page first, and modify the default process ID",
    "notExistStartAndEnd": "The process must include a start node and an end node！",
    "nodesnull": "As process has not any node, saving is not allowed!",
    "nodealone": "The following nodes do not have any route:",
    "copyover": "Applying to other nodes completed!",
    "swimlanes": "Lane",
    "swimlanesdirector": "Lane direction:",
    "swimlanesnum": "Number of lanes:",
    "swimlanesh": "Horizontal",
    "swimlanesv": "Vertical",
    "delswimlanes": "Are you sure to delete all lanes?",
    "delswimlane": "Are you sure to delete [name] lane?",
    "inputswimname": "Please input a new title:<br/>",
    "inputswimWidth": "Please input the width of  lane:<br/>",
    "inputswimHeight": "Please input the height of lane:<br/>",
    "selposerr": "The position of the next node should be selected in a blank space.",
    "delnode": "Are you sure you want to delete the [name] node?<br>Note: All routes related to this node will also be deleted.",
    "nodehistory": "Node [name ] historic records",
    "allhistory": "Historic records",
    "nohistory": "There are no process records for the current node",
    "test": "Testing process is not allowed when process status is [being modified]",
    "nosave": "The current process is newly created (not saved), please save the process first.",
    "startRoute": "The current node can only serve as the starting point of the route, not the ending point.",
    "startOnly": "The current node only allows one exit route.,the current node already has an exit route.",
    "endRoute": "The end node can only serve as the end point of the route, not the start point.",
    "startToEnd": "The start node cannot be directly connected to the end node.",
    "delrouter": "Are you sure  to delete the [name] route?",
    "routeInit": "There is a calculation mismatch during the recovery of the zigzag line route [name], ignoring the input information, the results are subject to automatic calculation.",
    "dataerror": "Incorrect data format.",
    "loaderror": "Data loading failed!",
    "testerror": "Automatic test execution failed!",
    "mainisnull": "Operation failure, objects of main process was lost.",
    "logImgName": "Screenshot",
    "copyInput": "Please input a new process ID:",
    "testflowid": "Process ID for testing:",
    "testflowNextStep": "Automatically run the next step",
    "testuserid": "The ID of startup operator:",
    "onlyver": "There is only one version of the current process",
    "showver": "Version: ",
    "instances": "Instance list of node [name] ",
    "selnode": "Please select a node",
    "selver": "Please select a version",
    "selfield": "Please select a field",
    "seluser": "Please select the operator",
    "selsubflow": "Please select a sub process",
    "delcksel": "Please select the data to delete",
    "mergerMsg1": "When the activation rule is' activate immediately 'or' activate after all branches arrive ', this option is not allowed to be selected.",
    "mergerMsg2": "When rule of leaving is 'wait for all branches', this option is not allowed to be selected.",
    "mergerMsg3": "When the number of active branches is less than the number of branches leaving rule defined, this option is not allowed to be selected.",
    "mergerMsg4": "The option in the merge activation rule needs to specify a node",
    "mergerMsg5": "The option in the merge leave rule needs to specify a node",
    "addsub": "The current node has set a sub process, but [name] operation has not been selected, <br>[name] operation is selected by default!",
    "nogroup": "Uncategorized"
  },
  "prop": {
    "title": "name [ id ] Properties Setting",
    "apply": "Apply",
    "add": "Add",
    "custome": "Custom",
    "fieldset": "[ name ]Field permission settings",
    "seltype": "Please select a process category",
    "selmainform": "Please select a form as the main form",
    "selsubflow": "Please select a process",
    "selform": "Please specify a form",
    "selfield": "Please specify a field",
    "selvar": "Please select a variable",
    "selnode": "Please specify a node:",
    "selevent": "Please select an event",
    "chgflowid": "Please modify the process ID to a non default value.",
    "flowidnull": "Process ID cannot be empty.",
    "flowNameNull": "The name of process cannot be empty.",
    "flowNameLength": "The length of the process name cannot exceed 200 characters.",
    "flowexist": "Already exists, please re-enter.",
    "inodename": "Please input node name",
    "nodeseltype": "'Please select a subsequent branch type",
    "ntypenull": "The type of node is empty",
    "nclassnull": "The implementation class of node must be specified",
    "jumpuser": "When skipping the specified node operator, a node needs to be specified",
    "inputcon": "Please input the routing condition value",
    "dateErr1": "The date format entered is incorrect (reference: 2019-06-14)",
    "dateErr2": "The date format entered is incorrect (reference:2019-06-14 10:52:00)",
    "nodechg": "The attributes of node have been modified,  save or not?",
    "msgflag": "Message sending method:",
    "propset": "Related attribute settings:",
    "relation": {
      "user": "Operator",
      "creator": "Creator",
      "preuser": "Operator of previous node ",
      "curuser": "Curent operator"
    },
    "selall": [
      "Select all nodes",
      "Select all forms"
    ],
    "tooltip": "use Ctrl key for multiple selections",
    "selnode_user": "select a node",
    "subexist": "The selected process is already in the list",
    "selnodemodule":["Please select node template","Template data exception","Template import completed!"],
    "savenodemodule": ["Please enter a template name","Please select template category","Category (optional, Use '/' separate for multi-level categories; double-click the input box to select an existing category):"]
  },
  "table": {
    "monitor": {
      "load": "Loading instance list...",
      "nodata": "There are currently no records",
      "noinstance": "No corresponding instance data was obtained from the database.",
      "title": [
        "Title"
      ]
    },
    "event": {
      "load": "Loading node event list...",
      "nodata": "Please add node events",
      "namenull": "The name of event cannot be empty",
      "classnull": "Event execution class cannot be empty",
      "seltype": "Please select the event execution type",
      "chgtypeExist": "The modified event type already exists, and each type can only be added once",
      "typeExist": "Event type already exists",
      "del": "Are you sure to delete the selected event?",
      "delAll": "Are you sure  to delete all events?",
      "title": [
        "Event name",
        "Event execution class ",
        "Event type"
      ]
    },
    "field": {
      "load": "Loading field list...",
      "nodata": "Please add fields",
      "chgexist": "The modified field name already exists",
      "exist": "Field name already exists",
      "del": "Are you sure to delete the selected field?",
      "delAll": "Are you sure to delete all fields?",
      "authRepeat": "The permission name of form cannot be repeated！",
      "showCol": "show fields",
      "defTitle": "unnamed",
      "title": [
        "Form_Field"
      ]
    },
    "uservar": {
      "load": "Loading variable list...",
      "nodata": "There are currently no selectable variables",
      "title": [
        "Select",
        "Variable ID",
        "Variable Name",
        "Variable Type"
      ]
    },
    "relation": {
      "load": "Loading organizational relationship list...",
      "nodata": "Please add organizational relationship",
      "exist": "This organizational relationship already exists, please do not add it again.",
      "del": "Are you sure to delete the selected organizational relationship?",
      "delAll": "Are you sure you want to delete all organizational relationships?",
      "title": [
        "Relative node",
        "Relative benchmark",
        "Relative  organizational relationships"
      ]
    },
    "subflow": {
      "load": "Loading sub process list...",
      "nodata": "Please add a sub process",
      "sel": "When the option to start multiple sub processes is not checked, only one sub process can be selected",
      "set": "This setting cannot be cancelled when there is [accept from] [dual way] in the process variable transfer configuation",
      "del": "Are you sure to delete the selected sub process?",
      "delAll": "Are you sure to delete all sub processes?",
      "title": [
        "Sub process name",
        "Sub process ID"
      ]
    },
    "subvar": {
      "load": "Loading variable list...",
      "nodata": "Please add the interaction method between the main and sub process variables",
      "del": "Are you sure to delete the selected process variable transfer settings?",
      "delAll": "Are you sure to delete all process variable transfer settings?",
      "flag": "Please select the transmission method",
      "exist": "The modified process variables including main and sub process already exist in the list",
      "type": {
        "IN": "Output to",
        "OUT": "Accept from",
        "INOUT": "Dual-Way"
      },
      "title": [
        "Main process variable name",
        "Main process variable ID",
        "Input/Output",
        "Sub process variable name",
        "Subprocess Variable ID"
      ]
    },
    "exception": {
      "load": "Loading exception list...",
      "nodata": "Please add an exception handling method",
      "sel": "Please select an exception name",
      "iname": "Please input a user_defined exception name",
      "icode": "Please input a user_defined exception code",
      "dealflag": "Please input a user_defined processing method",
      "jumpnode": "Please select the node to jump to",
      "chgexist": "The modified exception name already exists, and each type of exception can only be added once",
      "exist": "The name of exception already exists",
      "del": "Are you sure to delete the selected exception?",
      "delAll": "Are you sure to delete all exceptions?",
      "title": [
        "Exception Name",
        "Exception code",
        "Exception message",
        "Notification object",
        "Exception handling"
      ]
    },
    "para": {
      "load": "Loading node parameter list...",
      "nodata": "Please add node parameters",
      "idnull": "Parameter ID cannot be empty",
      "namenull": "Parameter name cannot be empty",
      "chgexist": "The modified parameter ID already exists",
      "exist": "Parameter ID already exists",
      "del": "Are you sure to delete the selected parameters?",
      "delAll": "Are you sure to delete all parameters?",
      "title": [
        "Parameter ID",
        "Parameter Name",
        "Default value"
      ]
    },
    "action": {
      "load": "Loading action list...",
      "nodata": "There are currently no optional actions available",
      "selnode": "Please select nodes (multiple choices)",
      "msg": "id: ID <br>Implementation class：CLASS <br>Manual:MEMO",
      "title": [
        "Select",
        "Name",
        "Alias",
        "Implementation class",
        "Details",
        "Check"
      ]
    },
    "nform": {
      "load": "Loading form list...",
      "nodata": "There are currently no optional forms available",
      "loaderr": "Obtain form data error",
      "selbtn": "Please select a form action",
      "title": [
        "Select",
        "Form name",
        "Selected Action",
        "Action",
        "Group",
        "Field permissions",
        "Apply",
        "All editable",
        "All read only",
        "New",
        "Edit"
      ]
    },
    "nfield": {
      "load": "Loading field list...",
      "nodata": "There are currently no optional fields available",
      "def": " ",
      "iname": "Please input the name of the field permission setting",
      "title": [
        "Identifier",
        "Field Name",
        "Edit",
        "Required",
        "Read Only",
        "Hide"
      ]
    },
    "selnode": {
      "load": "Loading node list...",
      "nodata": "There are currently no optional nodes available",
      "title": [
        "Select",
        "Node(ID)",
        "Select this form"
      ]
    },
    "history": {
      "load": "Loading history list...",
      "nodata": "There are currently no optional history list available",
      "title": [
        "Operator",
        "Operation type",
        "Operation node",
        "Operation time",
        "Accumulated operation time",
        "Operation Objects",
        "Comments"
      ]
    }
  },
  "menu": {
    "flowpro": "Properties Setting",
    "savelocal": "Save to local",
    "saveserver": "Save to server",
    "openlocal": "Open from local",
    "copy": "Copy",
    "addswim": "Add Lane",
    "left": "Left Alignment",
    "right": "Right Alignment",
    "top": "Top Alignment",
    "bottom": "Bottom Alignment",
    "drag": "Drag",
    "select": "Select",
    "original": "Original",
    "zero": "Reset Canvas",
    "start": "Initial position size",
    "dynamic": "Demonstration",
    "saveimg": "Screenshot",
    "mousewheel": "Enable Scroll Zoom,Disable Scroll Zoom",
    "history": "History",
    "back": "Back",
    "restart": "Restart",
    "showdata": "Process Definition",
    "refresh": "Refresh",
    "hisver": "Historical Version",
    "testflow": "Test Process",
    "autotest": "Automatic Testing",
    "testend": "End of process testing",
    "routerpro": "Routing Properties",
    "delrouter": "Delete Routing",
    "alone": "Hidden Nodes",
    "chgswim": "Modify lane title",
    "chgswimWidth": "Modify lane width",
    "chgswimHeight": "Modify lane height",
    "delallswim": "Delete all lanes",
    "chgswimname": "Modify lane name",
    "delswim": "Delete current lanes",
    "nodebase": "Basic",
    "nodeuser": "Operator",
    "nodeoperator": "Permissions",
    "nodeEvent": "Event",
    "nodesubflow": "SubProcess",
    "nodeExtend": "Rules",
    "nodeException": "ExceptionHandling",
    "nodepara": "Parameters",
    "nodecluster": "Interacting",
    "delnode": "Delete Node",
    "copynode": "Copy Node",
    "import": "Import from template",
    "savemodule": "Save as template",
    "showsubflow": "Show sub processes"
  },
  "parts": {
    "Start": "Start",
    "Node": "Task",
    "Event": "Event",
    "Gateway": "Gateway",
    "Robot": "Robot",
    "Cluster": "Cluster",
    "Subflow": "Sub Process",
    "Virtual": "Virtual",
    "End": "End",
    "swimlanes": "Lane",
    "line": "Line",
    "brokenline": "Fold Line",
    "route": "Routing",
    "clear": "Clear",
    "select": "Select",
    "align": "Align",
    "new": "New",
    "openserver": "Open on server",
    "openlocal": "Open from local",
    "savelocal": "Save to local",
    "saveserver": "Save to server",
    "savenewver": "Save to server (version +1)",
    "saveoldver": "Save to server (version unchanged)",
    "copy": "Copy current process",
    "nodemodule": "Node template list",
    "exportFlow":"Export process",
    "importFlow": "Import process",
    "group": "Group"
  },
  "nodemodule": [
    "Node template list",
    "Template data error",
    "Delete successfully!",
    "Please select the template to delete",
    "Delete",
    "Close"
  ],
  "html": {
    "part": {
      "file": "File",
      "start": "Start",
      "task": "Task",
      "event": "Event",
      "gateway": "Gateway",
      "auto": "Robot",
      "cluster": "Cluster",
      "subflow": "SubProcess",
      "virtual": "Virtual",
      "end": "End",
      "line": "Line",
      "broken": "Fold line",
      "swimlane": "Lane",
      "select": "Select",
      "align": "Align",
      "clear": "Clear",
      "gridlines": "Grid",
      "zoomout": "Zoom in",
      "zoomin": "Zoom out",
      "zoomreset": "Reset"
    },
    "org": {
      "load": "Loading organization personnel list...",
      "nodata": "Please add organization and user",
      "del": "Are you sure to delete the selected organization?",
      "delAll": "Are you sure to delete all organizations?",
      "title": [
        "Organization Name",
        "Organization ID",
        "Organization Type",
        "Including sub departments",
        "Excluding sub departments"
      ]
    },
    "example": "Sample code",
    "flow": {
      "base":{
        "title": "Basic Properties",
        "flowid": "Process ID：",
        "idtip": "Please input the process ID, only letters, numbers, or underscores are allowed",
        "flowname": "Process Name：",
        "nametip": "Please input process name",
        "type": "Process Type：",
        "typetip": "Please input or select a process type",
        "btnsel": "Select...",
        "limit": "Global Time Limit：",
        "inputnum": "please input a number",
        "limittip": "(0 or empty indicates no time limit)",
        "status": "Process Status：",
        "modify": "Modifying",
        "test": "Testing",
        "pub": "Published",
        "sync": "Synchronize node information to the database",
        "memo": "Process Description："
      },
      "form":{
        "title": "Form Settings",
        "table": {
          "load": "Loading form list...",
          "nodata": "Please add the forms needed by the process",
          "selform": "Please select a form",
          "selrplform": "Please select the form to be replaced from the list",
          "trackform": "Process tracking cannot be replaced",
          "selrplformonly": "Form replacement can only be single selected",
          "trckform": "Process tracking is a built-in form that cannot be replaced",
          "noOptionsform": "There are currently no optional forms available",
          "trackname": "Process tracking",
          "del": "Are you sure to delete the selected form?",
          "delAll": "Are you sure to delete all forms?",
          "title": [
            "Name",
            "ID",
            "Type",
            "Version",
            "Group"
          ]
        },
        "btnAdd": "Add Form",
        "btnReplace": "Replace Form",
        "btnTrack": "Process tracking",
        "btnUp": "Up",
        "btnDown": "Down",
        "btnDel": "Delete",
        "btnDelAll": "Delete All",
        "msg1": "Replace Form: Replace the previously selected form",
        "msg2": "Form grouping: Use different form combinations to present the same  record  of data",
        "main": "Main form："
      },
      "var": {
        "title": "Process Variables",
        "table": {
          "load": "Loading process variables list...",
          "nodata": "Please add process variables",
          "idnull": "Variable ID cannot be empty",
          "chgidexist": "The modified variable ID already exists",
          "idexist": "Variable ID already exists",
          "del": "Are you sure to delete the selected variable?",
          "delAll": "Are you sure to delete all variables?",
          "title": [
            "ID",
            "Name",
            "Type",
            "Length",
            "Initial value",
            "From",
            "Description"
          ]
        },
        "btnAdd": "Add",
        "btnDel": "Delete",
        "btnDelAll": "Delete All",
        "id": "Variable ID",
        "name": "Variable Name",
        "type": "Data Type",
        "length": "Length",
        "default": "Initial value",
        "memo": "Description",
        "from": "Obtain from form"
      },
      "participant": {
        "title": "Reader Settings",
        "reader": "Reader",
        "btnAdd": "Add",
        "btnDel": "Delete",
        "btnDelAll": "Delete All"
      },
      "senior":{
        "title":  "Advanced Properties",
        "open1": "Auto Open",
        "open2": "Do not auto open",
        "msg1": "Whether automatically open to-do process when submitting to oneself？",
        "msg2": "Process start instance rule interface implementation class<br>Implementation Interface: com.horizon.wf.core.rule.IBaseRule",
        "msg3": "Interface class for determining user identity when process  instances are opened<br>Implementation Interface: com.horizon.wf.core.rule.IBaseRule",
        "msg4": "Interface implementation class of process instance log processing<br>Implementation Interface: com.horizon.wf.core.rule.IBaseRule",
        "msg5": "Process instance processing interface implementation class related with business data<br>Implementation Interface: com.horizon.wf.core.rule.IBaseRule"
      }
    },
    "node": {
      "base": {
        "id": "ID:",
        "name": "Name:",
        "tip": "Please input a node name",
        "sel": "Subsequent:",
        "sel1": "SelectAll",
        "sel2": "MultiSelect",
        "sel3": "SingleSelect",
        "type": "Type:",
        "ck1": "Allow preemption",
        "ck2": "Asynchronously",
        "ck3": "Open exclusive",
        "ck4": "Merge all branches that can reach this node",
        "limit": "Deadline:",
        "limit1": "The number of reminders should not exceed:",
        "limit2": "times;&nbsp;&nbsp;Warning:",
        "limit3": "0 Represents infinite time",
        "msg1": "implementation class:",
        "msg2": "Please input the node implementation class",
        "memo": "Description:",
        "s1": "Start Time:&nbsp;&nbsp;",
        "s2":"Frequency:&nbsp;&nbsp;",
        "s3":"(Unit: milliseconds, 0 indicates execution only once and must not be less than 5000 milliseconds)",
        "s4":"Signal parameters:",
        "s5":"Message type:",
        "s6":"Parameter:",
        "s7":"Message ID:",
        "s8":"Message  Name:",
        "s9":"From :",
        "s10":"Send To:",
        "r": "Implementation class path: (Implementation interface: com.horizon.wf.core.rule.IBaseRule)",
        "n1": "Leave mode:",
        "n2": "Operators exceeding",
        "n3": "handled",
        "n4": "One of the designated operators has been finished",
        "n5": "All specified operators have been finished",
        "n6": "Exceed",
        "n7": "%,Process flow to the next node",
        "n8": "Extension rules (implement interface: com.horizon.wf.core.rule.IBaseRule)",
        "m1": "Merge activation rules:",
        "m2": "Cancel other uncommitted branches after activation",
        "m3": "Activate now",
        "m4": "Activate after all branches arrive",
        "m5": "Activate as",
        "m6": "branches has arrived",
        "m7": "Activate after any specified branch has arrived",
        "m8": "Activate after all specified branches has arrived",
        "m9": "Customized activation rules",
        "l1": "Merge Leave Rule:",
        "l2": "Allow node reactivation after leaving",
        "l22": "Cancel other uncommitted branches after leaving",
        "l3": "No rules set",
        "l4": "Allow to leave after all branches arrive",
        "l5": "Leave as",
        "l6": "branches has arrived",
        "l7": "Allow to leave after any specified branch has arrived",
        "l8": "Allow to leave after all specified branches has arrived",
        "l9": "Customized leave rules",
        "me1": "When reactivating, allow to obtain the operator again",
        "me2": "Implement interface of customized activation rules (com.horizon.wf.core.rule.IBaseRule)",
        "me4": "Implement interface of customized leave rules (com.horizon.wf.core.rule.IBaseRule)",
        "me3": "Interface implementation class (implement interface:com.horizon.wf.core.rule.IBaseRule)",
        "g1": "Merge Options:",
        "g2": "Cancel other uncommitted branches when first branch passed",
        "g3": "Reactivate node when other branches arrive, and this branch had left",
        "g4": "Merge processing implementation class:",
        "g41": "Implementation interface: com.horizon.wf.core.rule.IBaseRule",
        "g5": "Merge Rule:",
        "g6": "Edit Rule",
        "g7": "Branch calculation additional processing: (implementation interface: com.horizon.wf.core.rule.IBaseRule)",
        "e1": "Execute interface implementation class (implementation interface:com.horizon.wf.core.rule.IBaseRule)",
        "e2": "Start Time:",
        "e3": "Obtain from process variables (only for date/time types)",
        "e4": "Allow retry periodically after failure",
        "e5": "Retry interval period:",
        "e6": "(Unit: milliseconds)",
        "e7": "Retry limit:",
        "e8": "(0 represents unlimited)",
        "e9": "Execute interface implementation class (implementation interface:com.horizon.wf.core.rule.IBaseRule)",
        "e10": "Message Type:",
        "e11": "ID:",
        "e12": "Name:",
        "e13": "From:",
        "e14": "Send to:",
        "e15": "Parameter:",
        "e16": " Implementation class:",
        "e17": "(Implementation interface:com.horizon.wf.core.rule.IBaseRule)",
        "e18": "Signal parameters:",
        "e19": "Execute interface implementation class (Implementation interface: com.horizon.wf.core.rule.IBaseRule)",
        "end1": "End node enters rule implementation class (Implementation interface: com.horizon.wf.core.rule.IBaseRule)",
        "end2": "End node entry rules:",
        "end3": "Edit Rule"
      },
      "user": {
        "t1": "From organization",
        "t2": "From fields of form",
        "t3": "From variables",
        "t4": "Organizational relationships",
        "t5": "Business Rules",
        "t6": "Customized",
        "c1": "Enable (ignore other settings)",
        "c2": "Customized settings parsing class",
        "f1": "<p>Description:</p><p style='color:red'>1)The value of the corresponding field must have a prefix, and use semicolons for multiple values(;)Separate</p><p style='color:red'>2)Union multiple fields and merge them with result of other tab settings</p>",
        "f2": "Form",
        "f3": "Field",
        "customClassname": "Name",
        "notFound": "not found this data",
        "customClass": "Class Path (implementation Interface: com.horizon.wf.core.rule.IBaseRule)",
        "pleaseSelect": "Please select",
        "pleaseinput": "Please input",
        "delcksel":"Please select the customed parsing class to delete first",
        "del": "Are you sure to delete it？",
        "btnAdd": "Add",
        "customBtnAdd": "Add",
        "btnDel": "Delete",
        "btnDelAll": "Delete All",
        "r1": "Relative node:",
        "r2": "Relative benchmark:",
        "r3": "relativeness:",
        "r4": "Rule editing",
        "r5": "<p>Description:</p><p>1)The data type of the variable must be [organizational structure]</p><p>2)Process Variables should be assigned in 'WorkParaBean' by calling the 'putFlowVar' method</p><p>3) When assigning variables as personnel values, they must be prefixed, and multiple values should be separated by semicolons (;)</p>\n        <p>4)Union multiple fields and merge them with result of other tab settings</p>"
      },
      "action": {
        "a1": "Action",
        "a2": "Form",
        "a3": "permission name:",
        "a4": "Permission selection:",
        "a5": "Edit",
        "a6": "Required",
        "a7": "Read Only",
        "a8": "Hide",
        "a9": "Apply",
        "a10": "Operational constraints:",
        "a11": "When node execute 'any reject' operation , also execute  'any reject' to other branches at the same time",
        "a111": "Specify nodes that allow 'any reject':",
        "a12": "Specify which nodes are allowed to be taken back from the current node:",
        "a13": "Apply to other nodes",
        "a14": "Default Display Form:",
        "a15": "Do not change sequence according to the order of process forms",
        "a16": "Up",
        "a17": "Down"
      },
      "cluster": {
        "a1": "Choose one of the following two means (when both have settings, the first one take priority)",
        "a2": "1.Interacting processing classes with other systems:",
        "a3": "2.Multi engine interaction processing:",
        "a4": "Address of receiving server：",
        "a5": "If the address  of receiving workflow engine is empty, the system ignores this setting and continues to run in the current engine",
        "a6": "Business Data Interface Implementation Class：",
        "a7": "If configuration  of Implement interface class is empty, the system will ignore business data and only pass process instance data",
        "a8": "Processing classes and implementing class interfaces: com.horizon.wf.core.rule.IBaseRule",
        "a9": "Note: The system passes the 'workid' and 'identifier' parameters, which are obtained through 'getParameter (key)'    "
      },
      "event": {
        "btnAdd": "Add",
        "btnDel": "Delete",
        "btnDelAll": "Delete All",
        "a1":"Event Name:",
        "a2":"Event Type:",
        "a3":"Event processing class:",
        "a4":"Implement interfaces: com.horizon.wf.core.rule.IBaseRule"
      },
      "ex": {
        "btnAdd": "Add",
        "btnDel": "Delete",
        "btnDelAll": "Delete All",
        "a1": "Exception Name:",
        "a2": "Exception code:",
        "a3": "Exception Message:",
        "a4": "Notification object:",
        "a5": "Exception handling:",
        "a6":"(Customed Exception Execution Class Implementation Interface: com.horizon.wf.core.rule.IBaseRule)"
      },
      "rule": {
        "a1": "Node enters extension class:",
        "a2": "Implement interfaces: com.horizon.wf.core.rule.IBaseRule",
        "a3": "Edit node entry rules",
        "a4": "Node leaves extension class:",
        "a5": "Edit node leave rules",
        "a6": "Activation method:",
        "a7": "Manual activation",
        "a8": "Timed activation",
        "a9": "Message triggered",
        "a10": "Signal activation",
        "a11": "Start Time:",
        "a12": "Obtain from process variables (only for date/time types)",
        "a13": "Allow periodical retry after failure",
        "a14": "Retry interval period:",
        "a15": "(Unit: milliseconds)",
        "a16": "Retry limit:",
        "a17": "(0 represents unlimited)",
        "a18": "Implement Interface Implementation Class (Implement Interface: com.horizon.wf.core.rule.IBaseRule)",
        "a19": "Message type:",
        "a20": "ID:",
        "a21": "Name:",
        "a22": "From:",
        "a23": "Send to:",
        "a24": "Parameter:",
        "a25": "Implementation Class:",
        "a26": "(Implement Interface: com.horizon.wf.core.rule.IBaseRule)",
        "a27": "Signal parameter:"
      },
      "para": {
        "btnAdd": "Add",
        "btnDel": "Delete",
        "btnDelAll": "Delete All",
        "a1": "Parameter ID:",
        "a2": "Parameter Name:",
        "a3": "Default value:"
      },
      "sub": {
        "btnAdd": "Add",
        "btnDel": "Delete",
        "btnDelAll": "Delete All",
        "a1": "Waiting for sub process return",
        "a2": "Allow multiple sub processes to be started",
        "a3": "Process Variable Transfer Settings",
        "a4": "Main process:",
        "a5": "Output to",
        "a6": "Receive from",
        "a7": "Dual way",
        "a8": "Subprocess:",
        "a9": "Optional operator settings for the first node of sub process:",
        "a10": "Please specify the sub process before selecting the handler"
      },
      "customUser":  "Add customed parsing class",
      "customEvent":  "Add customed event class"
    },
    "router": {
      "base": {
        "title": "Basic property",
        "id": "Routing ID:&nbsp;&nbsp;",
        "name": "Routing Name:&nbsp;&nbsp;",
        "no": "SN:&nbsp;&nbsp;",
        "memo": "Description:&nbsp;&nbsp;"
      },
      "scope": {
        "title": "Range settings",
        "msg1": "Nodes allowed to reach&nbsp;&nbsp;(use Ctrl key for multiple selections)",
        "msg2": "All nodes&nbsp;&nbsp;(use Ctrl key for multiple selections)",
        "msg3": "Nodes that are not allowed to reach &nbsp;&nbsp;(use Ctrl key for multiple selections)",
        "msg4": "Description:<br>When the allowed nodes list is not empty, only the nodes in the list can be routed to reach <br> When the not allowed nodes list is not empty, all nodes except for the not allowed nodes  can be routed to reach.<br>The allowed nodes list prioritizes the not allowed nodes list"
      },
      "condition": {
        "title": "Routing conditions",
        "memo": "Description: If the parameter is of date type, the input format of the value must be (2019-06-14 14:39:00). If the time is not entered, the system will automatically fill in 0",
        "t1": "And",
        "t2": "Or",
        "table": {
          "load": "Loading routing condition list...",
          "nodata": "There are currently no routing conditions or XML formula . Please click 'Switch' to view",
          "del": "Are you sure to delete the selected routing condition?",
          "delAll": "Are you sure to delete all routing conditions?",
          "insert": "Please select the location to insert",
          "edit": "Please select the routing condition to modify",
          "editinsert": "A record of data is being modified",
          "title": [
            "Relation",
            "Left bracket",
            "Variable Name",
            "Compare",
            "Value",
            "Right bracket",
            "Insert",
            "Delete",
            "Delete All",
            "Switch"
          ]
        },
        "btnAdd": "Add",
        "btnEdit": "Edit",
        "btnInsert": "Insert",
        "btnDel": "Delete",
        "btnDelAll": "Delete All",
        "btnChg": "Switch",
        "msg1": "Extension interface:",
        "msg2": "Implement interface: com.horizon.wf.core.rule.IBaseRule",
        "btnRule": "Conditional rules"
      },
      "msg": {
        "routerNameNull": "Route name cannot be empty。"
      }
    },
    "popwin": {
      "ok": "Ok",
      "cancel": "Cancel",
      "apply": "Apply",
      "sel": "Select",
      "export": "Export",
      "import": "Import",
      "del": "Delete",
      "close": "Close",
      "msg1": "Please select the process to export",
      "msg2": "Please select the process file to import",
      "title": ["Process Name","Process ID","File Name","File Size","Result"]
    },
    "status": {
      "user": "Current Operator:",
      "pos":"Current coordinates:",
      "flowname":"Process Name:",
      "flowid":"Process ID:",
      "type":"Process classification:"
    },
    "form": {
      "clientType": {
        "a1":"computer",
        "a2":"mobile"
      }
    }
  },
  "msg": {
    "isNull": {
      "customClazz": "Name and class path cannot be empty！"
    },
    "formatError": {
      "notJson": "Only process JSON files saved locally can be used！"
    },
    "tooLong": {
      "nodeName": "Node name cannot exceed 30 characters！",
      "routerName": "The route name cannot exceed 30 characters！"
    }
  }
}
