Commit a20fc42c sunke

条码规则中日期解析失败时,认为不合规则

扫码料架逻辑优化
扫码料架多工单支持
1 个父辈 69e2c14e
正在显示 28 个修改的文件 包含 3043 行增加2702 行删除
......@@ -23,9 +23,9 @@ public class ShelfOperateBean {
private StoragePos posToClose;
/**
* 一个库位的Id,用于自动推荐库位
* 一个库位的Id,用于自动推荐库位
*/
private String lastPosId;
private String nextPosId;
public StoragePos getOpPos() {
......@@ -67,13 +67,12 @@ public class ShelfOperateBean {
setUpdateTime(System.currentTimeMillis());
}
public String getLastPosId() {
return lastPosId;
public String getNextPosId() {
return nextPosId;
}
public void setLastPosId(String lastPosId) {
updateOpTime();
this.lastPosId = lastPosId;
public void setNextPosId(String nextPosId) {
this.nextPosId = nextPosId;
}
/**
......
......@@ -73,6 +73,11 @@ public class Component extends BaseMongoBean {
//@NotEmpty(message = "{component.partNumber.empty}")
@NotEmpty(message = "{component.partNumber.empty}")
private String partNumber;
/**
* 供应商PN,用于扫码贴标机转换PN
*/
private String supplierPn;
//uid
private String uid;
......@@ -126,7 +131,7 @@ public class Component extends BaseMongoBean {
/**
* 有效时长(生产日期+此天数为过期日期),设置默认有效期为2年
*/
private int validDay = 730;
private int validDay = 0;
public Component() {
//this.height = StorageConstants.DEFAULT_HEIGHT;
......@@ -393,4 +398,12 @@ public class Component extends BaseMongoBean {
public boolean isSolder(){
return type == StorageConstants.COMPONENT_TYPE.SOLDERPASTE;
}
public String getSupplierPn() {
return supplierPn;
}
public void setSupplierPn(String supplierPn) {
this.supplierPn = supplierPn;
}
}
......@@ -118,6 +118,11 @@ public class DataLog extends BaseMongoBean /*implements Comparable<DataLog>*/ {
*/
private int mixTime;
/**
* 亮灯料架颜色
*/
private String lightColor = "FF0000";
public String getStorageName() {
return storageName;
}
......@@ -352,7 +357,7 @@ public class DataLog extends BaseMongoBean /*implements Comparable<DataLog>*/ {
}
/**
* 正在执行的出库任务,如果30秒还未完成,再次发送到客户端
* 正在执行的出库任务,如果60秒还未完成,再次发送到客户端
*/
public boolean needReSendToClient(){
if(isCheckOutTask() && isExecuting()){
......@@ -485,4 +490,12 @@ public class DataLog extends BaseMongoBean /*implements Comparable<DataLog>*/ {
public void setMixTime(int mixTime) {
this.mixTime = mixTime;
}
public String getLightColor() {
return lightColor;
}
public void setLightColor(String lightColor) {
this.lightColor = lightColor;
}
}
......@@ -13,6 +13,8 @@ public interface IComponentManager extends IManager<Component> {
List<Component> allNeedAlarmComponents();
List<Component> listPnBySupplierPn(String providerPn);
List<Component> findByType(int type);
//List<Component> listByPartNumber(String partNumber);
......
......@@ -47,6 +47,13 @@ public class ComponentManagerImpl implements IComponentManager {
}
@Override
public List<Component> listPnBySupplierPn(String supplierPn){
Criteria c = Criteria.where("supplierPn").is(supplierPn);
Query query = Query.query(c);
return componentDao.findByQuery(query);
}
@Override
public PageList findByQuery(Query query, PageList pageList)
{
......
......@@ -508,6 +508,11 @@ public class BarcodeRule {
}
Date produceDate= produceDate_item.getDateValue(codeArr);
if(produceDate_item.hasThisField() && produceDate == null){
log.info("条码解析失败,PRODATE字段不合规则");
codeBean.setError("error.barcode.noField",new String[]{"PRODATE"},"条码解析失败,未找到PRODATE字段");
return codeBean;
}
Date expireDate= expireDate_item.getDateValue(codeArr);
if(produceDate != null && expireDate == null){
Calendar c = Calendar.getInstance();
......@@ -633,8 +638,10 @@ public class BarcodeRule {
//803
//rule = "PN[6:0:-1],EXPDATEyyyy-MM-dd[-1:0:-1],BATCH,RI";
//codeStr = "ALPHA OL107E,2021-11-11,00714026Z,002";
codeStr = "LOCTITE3609,20200930,001";
rule = "PN,EXPDATEyyyyMMdd,RI";
codeStr = "IAC;6013A0073981;20200810;R2032E1128;10000;MI020A600568;";
//codeStr = "IAC;B23D45;20200204;DCRFFD;45;WER23;";
rule = "SP;PN;PRODATEyyw[0:4:0];BATCH;QTY;RI;";
//rule = "SP;PN;PRODATEyyyyMMdd[0:8:0];BATCH;QTY;RI;";
BarcodeRule br = BarcodeRule.newRule(rule);
Barcode b = br.toCodeBean(codeStr).getBarcode();
......
......@@ -2,8 +2,7 @@ package com.myproject.util;
import com.google.common.base.Strings;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/**
* Created by kangmor on 2015/12/2.
......@@ -477,7 +476,7 @@ public class StorageConstants {
/**
* 夹具类型
*/
public static enum PACKAGE_TYPE{
public enum PACKAGE_TYPE{
PCB_FIXTURE("PCB 夹具",420,45,"PCB_FIXTURE"), SOLDER_FIXTURE("锡膏夹具",325,65, "SOLDER_FIXTURE");
private String showStr;
/**
......@@ -696,4 +695,68 @@ public class StorageConstants {
*/
public static int RETREAT_STORAGE = 7;
}
private static int currentColorIndex = -1;
/**
* 工单颜色, 入库绿色,出库红色,库位检查使用黄色, 其他颜色用于工单出库颜色
*/
public enum ORDER_COLOR{
//magenta,cyan,firebrick,purple,skyblue,pink,forestgreen,lightblue,indianred,darkgreen
//洋红,青色,砖红色,紫色,天蓝色,粉色,森林绿,浅蓝色,印度红,深绿色
BLUE("0000FF"),
MAGENTA("FF00FF"),
CYAN("00FFFF"),
FIREBRICK("B22222"),
PURPLE("A020F0"),
SKYBLUE("6CA6CD"),
PINK("FF1493"),
FORESTGREEN("228B22"),
LIGHTBLUE("8470FF"),
INDIANRED("8B3A3A"),
DARKGREEN("556B2F");
private String rgb;
ORDER_COLOR(String rgb){
this.rgb = rgb;
}
public String getRgb() {
return rgb;
}
public void setRgb(String rgb) {
this.rgb = rgb;
}
public static ORDER_COLOR fromRgb(String rgb){
for (ORDER_COLOR order_color : values()) {
if(order_color.getRgb().equals(rgb)){
return order_color;
}
}
return null;
}
public static ORDER_COLOR nextColor(Collection<String> excludeColors){
ORDER_COLOR[] allColors = values();
if (excludeColors.size() >= allColors.length){
return null;
}
int nextColorIndex = (currentColorIndex + 1) % allColors.length;
for (ORDER_COLOR color : allColors) {
if(!excludeColors.contains(color.getRgb()) && color.ordinal() >= nextColorIndex){
currentColorIndex = color.ordinal();
return color;
}
}
return null;
}
}
}
......@@ -53,6 +53,9 @@ public class AccShelfController extends BaseController {
public String cabinetView(@PathVariable String cid, HttpServletRequest request){
request.getSession().setAttribute("show",cid);
Storage storage = dataCache.getStorage(cid);
if(storage.isCodeShelf()){
return "redirect:/storage/codeShelf";
}
request.setAttribute("storage",storage);
return "storage/accShelf";
}
......@@ -94,7 +97,7 @@ public class AccShelfController extends BaseController {
if(pos != null){
log.info(pos.getBarcode().getBarcode() + " 从["+pos.getPosName()+"]出库,点亮对应库位");
int delayCloseTime = 30000;
String color = "blue";
String color = "red";
openAndCloseLights(storage,pos.getPosName(),delayCloseTime,color);
taskService.addTaskToFinished(pos,null,null);
return "OK" + getText("shelf.msg.outOk",new String[]{pos.getPosName()},request.getLocale(),"操作成功,请从库位["+pos.getPosName()+"]中取出物料");
......@@ -147,7 +150,7 @@ public class AccShelfController extends BaseController {
}
List<StoragePos> allPos = storagePosManager.findNotEmptyByStorageId(storage.getId());
for (StoragePos pos : allPos) {
opPosLight("open",storage,pos,"Green");
opPosLight("open",storage,pos,"yellow");
}
return "OK"+getText("shelf.msg.opSucess",request.getLocale(),"操作成功");
}
......
......@@ -325,6 +325,8 @@ public class BoxChartController extends BaseController {
public List<DataLog> allTasks(HttpServletRequest request) throws Exception{
try{
String cid = request.getParameter("cid");
String codeShelf = request.getParameter("codeShelf");
Comparator<DataLog> comparator = new Comparator<DataLog>() {
@Override
public int compare(DataLog o1, DataLog o2) {
......@@ -351,8 +353,18 @@ public class BoxChartController extends BaseController {
if(!Strings.isNullOrEmpty(cid)){
List<DataLog> cidTasks = Lists.newArrayList();
for (DataLog task: allTasks) {
if(task.getCid().equals(cid)){
cidTasks.add(task);
String taskCid = task.getCid();
if(!Strings.isNullOrEmpty(codeShelf)){
//扫码料架
Storage storage = dataCache.getStorage(taskCid);
if(storage.isCodeShelf()){
cidTasks.add(task);
}
}else{
if(taskCid.equals(cid)){
cidTasks.add(task);
}
}
}
return cidTasks;
......
......@@ -78,9 +78,7 @@ public class CodeShelfController extends BaseController {
return "storage/codeShelf";
}
/**
*
*/
@RequestMapping("/service/store/codeShelf/op")
@ResponseBody
public String clientOp(HttpServletRequest request){
......@@ -93,24 +91,17 @@ public class CodeShelfController extends BaseController {
}
/**
* 关闭上一个入库库位(与给定库位一致才进行关闭)
* 关闭上一个亮灯库位
*/
private void closeLastPutInPos(String sessionId, String posNameToCheck){
private void closeLastPos(String sessionId){
ShelfOperateBean operateBean= shelfPutInBeanMap.get(sessionId);
if(operateBean != null){
StoragePos posToClose = operateBean.getPosToClose();
if(posToClose != null){
boolean needToClose = true;
if(posNameToCheck != null && !posNameToCheck.isEmpty()){
//相同的库位才进行关闭
needToClose = posToClose.getPosName().equals(posNameToCheck);
}
if(needToClose){
log.info(sessionId + "关闭库位:"+ posToClose.getPosName());
operateBean.setPosToClose(null);
shelfPutInBeanMap.put(sessionId, operateBean);
opPosLight("close", posToClose, "");
}
log.info(sessionId + "关闭上一个操作库位:"+ posToClose.getPosName());
operateBean.setPosToClose(null);
shelfPutInBeanMap.put(sessionId, operateBean);
opPosLight("close", posToClose, "");
}
}
......@@ -121,7 +112,6 @@ public class CodeShelfController extends BaseController {
shelfPutInBeanMap.remove(removedSessionId);
}
}
}
private ShelfOperateBean getOperateBean(String sessionId){
......@@ -135,20 +125,45 @@ public class CodeShelfController extends BaseController {
}
/**
* 检查料盘是否可以放入库位中
*/
private void canBarcodePutInPos(StoragePos pos, Barcode barcode) throws ValidateException {
Collection<String> excludePosIds = taskService.excludePosIds();
if(excludePosIds.contains(pos.getId())){
throw new ValidateException("shelf.nextPos.hasTask",new String[]{pos.getPosName()}, "库位["+pos.getPosName()+"]已有任务,请重新扫描库位码");
}
if(pos.getBarcode() != null){
throw new ValidateException("shelf.nextPos.hasReel",new String[]{pos.getPosName()}, "库位["+pos.getPosName()+"]已有物料,请重新扫描库位码");
}
if(barcode != null){
Storage storage = dataCache.getStorageById(pos.getStorageId());
ArrayList<Storage> storageList = Lists.newArrayList(storage);
taskService.verifyBarcodePutIn(storageList,barcode);
if(!storage.canPutInPos(barcode.getPlateSize(),barcode.getHeight(), pos.getW(), pos.getH())){
String reelSize = barcode.getPlateSize() + "x" + barcode.getHeight();
String posSize = pos.getW() + "x" + pos.getH();
throw new ValidateException("shelf.nextPos.wrongSize",new String[]{pos.getPosName(),posSize, reelSize},"库位["+pos.getPosName()+"]尺寸["+posSize+"]与料盘尺寸["+reelSize+"]不符,请重新扫描库位码");
}
}
}
/**
* 查找下一个空位,并且点亮灯
*/
@RequestMapping("/service/store/codeShelf/codeIn")
@ResponseBody
public String outFromShelf(HttpServletRequest request, HttpSession httpSession){
public String codeIn(HttpServletRequest request, HttpSession httpSession){
String sessionId = httpSession.getId();
closeLastPutInPos(sessionId, null);
String codeStr = request.getParameter("code");
int delayCloseTime = 30000;
String putInColor = "red";
String putInColor = "green";
if(!Strings.isNullOrEmpty(codeStr)){
StoragePos pos = storagePosManager.getByPosName(codeStr);
if(pos != null){
//扫描的为库位条码,库位中没有物料的话点亮库位灯
//扫描的为库位条码,先关掉上一个库位灯, 当前库位中没有物料的话点亮库位灯
closeLastPos(sessionId);
Storage currentStorage = dataCache.getStorageById(pos.getStorageId());
if(currentStorage == null || !currentStorage.isCodeShelf()){
return getText("shelf.msg.notFound",request.getLocale(),"未找到料架");
......@@ -161,7 +176,7 @@ public class CodeShelfController extends BaseController {
ShelfOperateBean operateBean = getOperateBean(sessionId);
operateBean.setOpPos(pos);
operateBean.setPosToClose(pos);
operateBean.setLastPosId(pos.getId());
operateBean.setNextPosId(null);
shelfPutInBeanMap.put(sessionId, operateBean);
return "OK" + getText("shelf.msg.tipScanReel",new String[]{pos.getPosName()}, request.getLocale(),"库位["+pos.getPosName()+"]操作成功,请扫描要放入的物料");
}
......@@ -184,11 +199,16 @@ public class CodeShelfController extends BaseController {
StoragePos inPos = storagePosManager.getByBarcodeId(barcode.getId());
if(inPos != null){
String sourceName = request.getParameter("sourceName");
Collection<DataLog> allTasks = taskService.getQueueTasks();
for (DataLog task : allTasks) {
if(task.isCheckOutTask() && task.getBarcode() != null && task.getBarcode().equals(barcode.getBarcode())){
if(!sourceName.equalsIgnoreCase("All") && !sourceName.equals(task.getSourceName())){
return getText("shelf.error.orderError",new String[]{sourceName},request.getLocale(), "任务与指定工单["+sourceName+"]不一致");
}
taskService.addTaskToFinished(inPos,null,null);
opPosLight("close",inPos,null);
log.info(barcode.getBarcode() + " 出库完成, 库位["+inPos.getPosName()+"]灭灯");
return "OK"+getText("shelf.msg.outConfirm",new String[]{inPos.getPosName()},request.getLocale(),"出库完成, 库位["+inPos.getPosName()+"]灭灯");
}
}
......@@ -199,58 +219,46 @@ public class CodeShelfController extends BaseController {
ShelfOperateBean operateBean = getOperateBean(sessionId);
StoragePos opPos= operateBean.getOpPos();
if(opPos == null){
//查找下一库位,下一库位已有任务或者下一库位已有料呀者下一库位尺寸不符合,必须重新扫库位码
String lastPosId = operateBean.getLastPosId();
if(Strings.isNullOrEmpty(lastPosId)){
//未扫描库位
String operatePosId = operateBean.getNextPosId();
if(Strings.isNullOrEmpty(operatePosId)){
return getText("shelf.msg.scanPos",request.getLocale(),"请先扫描库位码");
}
Long nextPosId = Long.valueOf(lastPosId) + 1;
StoragePos nextPos = storagePosManager.get(String.valueOf(nextPosId));
if(nextPos != null){
Collection<String> excludePosIds = taskService.excludePosIds();
if(excludePosIds.contains(nextPos.getId())){
return getText("shelf.nextPos.hasTask",new String[]{nextPos.getPosName()},request.getLocale(), "下一库位["+nextPos.getPosName()+"]已有任务,请重新扫描库位码");
}
if(nextPos.getBarcode() != null){
return getText("shelf.nextPos.hasReel",new String[]{nextPos.getPosName()},request.getLocale(), "下一库位["+nextPos.getPosName()+"]已有物料,请重新扫描库位码");
}
Storage storage = dataCache.getStorageById(nextPos.getStorageId());
if(!storage.canPutInPos(barcode.getPlateSize(),barcode.getHeight(), nextPos.getW(), nextPos.getH())){
String reelSize = barcode.getPlateSize() + "x" + barcode.getHeight();
String posSize = nextPos.getW() + "x" + nextPos.getH();
return getText("shelf.nextPos.hasReel",new String[]{nextPos.getPosName(),posSize, reelSize},request.getLocale(), "下一库位["+nextPos.getPosName()+"]尺寸["+posSize+"]与料盘尺寸["+reelSize+"]不符,请重新扫描库位码");
}
}else{
//有下一个库位
StoragePos currentPos = storagePosManager.get(String.valueOf(operatePosId));
if(currentPos != null){
canBarcodePutInPos(currentPos,barcode);
//验证通过,先灭上一个库位灯
closeLastPos(sessionId);
//打开下一个库位灯
openAndCloseLights(sessionId, currentPos,putInColor,delayCloseTime);
taskService.addTaskToFinished(currentPos,barcode,null);
operateBean.setOpPos(null);
operateBean.setPosToClose(currentPos);
Long nextPosId = Long.valueOf(currentPos.getId()) + 1;
operateBean.setNextPosId(String.valueOf(nextPosId));
shelfPutInBeanMap.put(sessionId, operateBean);
return "OK"+getText("shelf.msg.inOk",new String[]{currentPos.getPosName()},request.getLocale(),"操作成功,请放入库位["+currentPos.getPosName()+"]");
opPos = nextPos;
openAndCloseLights(sessionId, opPos,putInColor,delayCloseTime);
operateBean.setOpPos(opPos);
operateBean.setPosToClose(opPos);
operateBean.setLastPosId(opPos.getId());
shelfPutInBeanMap.put(sessionId, operateBean);
}
}
}
if(opPos != null){
Storage storage = dataCache.getStorageById(opPos.getStorageId());
ArrayList<Storage> storageList = Lists.newArrayList(storage);
taskService.verifyBarcodePutIn(storageList,barcode);
}else{
//已扫过库位
canBarcodePutInPos(opPos, barcode);
log.info(barcode.getPartNumber()+" [ "+barcode.getBarcode()+" ] " + "入库到:" + opPos.getPosName());
opPos.setCanCheckOutTime(System.currentTimeMillis() + delayCloseTime);
taskService.addTaskToFinished(opPos,barcode,null);
//放入后不需要灭灯,也不需要亮灯,等下一个条码扫到时再灭灯
operateBean.setOpPos(null);
Long nextPosId = Long.valueOf(opPos.getId()) + 1;
operateBean.setNextPosId(String.valueOf(nextPosId));
shelfPutInBeanMap.put(sessionId, operateBean);
return "OK"+getText("shelf.msg.inOk",new String[]{opPos.getPosName()},request.getLocale(),"操作成功,请放入库位["+opPos.getPosName()+"]");
}else{
//库位没找到
String sizeInfo = barcode.getPlateSize()+" x "+ barcode.getHeight();
String msg = "未找到适合["+sizeInfo +"]的库位";
log.info(msg);
msg = getText("shelf.msg.inError",new String[]{sizeInfo},request.getLocale(),msg);
return msg;
}
} catch (ValidateException e) {
log.error("Error:"+e.getMessage());
......@@ -278,14 +286,15 @@ public class CodeShelfController extends BaseController {
String lightOnStr = pos.getPosName() + "=" + color;
StorageDataController.appendOp(cid,"open", lightOnStr);
log.info("点亮库位:" + lightOnStr);
//5秒后灭灯
//30秒后灭灯
Thread closeTask = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(delayCloseTime);
closeLastPutInPos(sessionId, pos.getPosName());
log.info("自动关闭库位:"+ pos.getPosName());
opPosLight("close", pos, "");
}catch (Exception e){
}
......@@ -309,7 +318,7 @@ public class CodeShelfController extends BaseController {
}
List<StoragePos> allPos = storagePosManager.findNotEmptyByStorageId(storage.getId());
for (StoragePos pos : allPos) {
opPosLight("open",pos,"Green");
opPosLight("open",pos,"yellow");
}
return "OK"+getText("shelf.msg.opSucess",request.getLocale(),"操作成功");
}
......@@ -328,7 +337,7 @@ public class CodeShelfController extends BaseController {
}
Storage storage = dataCache.getStorageById(pos.getStorageId());
StorageDataController.appendOp(storage.getCid(), opKey , opStr);
log.info("操作库位["+pos.getPosName()+"]" + opKey + " : " + opStr);
//log.info("操作库位["+pos.getPosName()+"]" + opKey + " : " + opStr);
}
@RequestMapping(value = "/service/store/codeShelf/inventory")
......
......@@ -10,6 +10,8 @@ import com.myproject.manager.IBarcodeManager;
import com.myproject.manager.IStoragePosManager;
import com.myproject.util.StorageConstants;
import com.myproject.webapp.controller.webService.DataCache;
import com.myproject.webapp.controller.webService.ITaskService;
import com.myproject.webapp.controller.webService.StorageDataController;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
......@@ -34,6 +36,9 @@ public class StoragePosUpdateController extends BaseUpdateController {
@Autowired
private DataCache dataCache;
@Autowired
private ITaskService taskService;
private final static String UPDATE_VIEW = "storage/storagePosUpdate";
@RequestMapping("/storage/getStoragePos")
......@@ -66,18 +71,24 @@ public class StoragePosUpdateController extends BaseUpdateController {
Barcode barcode = storagePos.getBarcode();
if(barcode != null){
log.info("清理库位["+storagePos.getPosName()+"]中的库存"+barcode.getBarcode());
barcode = barcodeManager.findByBarcode(barcode.getBarcode());
barcode.setPosName("");
barcodeManager.save(barcode);
storagePos.setBarcode(null);
storagePos.setUsed(false);
storagePos = storagePosManager.save(storagePos);
dataCache.updateInventory(storagePos,barcode);
String opUser = StorageDataController.getLoginUsername();
log.info(opUser + "清理库位["+storagePos.getPosName()+"]");
taskService.addTaskToFinished(storagePos,null,opUser+"-clear");
// log.info("清理库位["+storagePos.getPosName()+"]中的库存"+barcode.getBarcode());
//
// barcode = barcodeManager.findByBarcode(barcode.getBarcode());
// barcode.setPosName("");
// barcodeManager.save(barcode);
// storagePos.setBarcode(null);
// storagePos.setUsed(false);
// storagePos = storagePosManager.save(storagePos);
// dataCache.updateInventory(storagePos,barcode);
}
return "";
} catch (ValidateException e) {
} catch (Exception e) {
return e.getMessage();
}
}
......
......@@ -424,6 +424,16 @@ public class MesApiController extends BaseController {
return results;
}
@RequestMapping(value = "/listPnBySupplierPn")
@ResponseBody
public List<Component> getPnByProviderPn(HttpServletRequest request){
String supplierPn = request.getParameter("supplierPn");
if(Strings.isNullOrEmpty(supplierPn)){
return new ArrayList<>();
}
return componentManager.listPnBySupplierPn(supplierPn);
}
private Date toDate(String dateStr){
try {
......
......@@ -235,7 +235,7 @@ public class StorageDataController extends BaseController {
if(Strings.isNullOrEmpty(result)){
return "0" + super.getText("checkout.sucess",request.getLocale());
}
return "1" + result;
return "1" + super.getText(result,request.getLocale());
}
......@@ -783,6 +783,35 @@ public class StorageDataController extends BaseController {
}
/**
* 取消入库任务
*/
@RequestMapping(value = "/cancelPutInTask")
@ResponseBody
public ResultBean cancelPutInTask(HttpServletRequest request) {
String codeStr = request.getParameter("barcode");
try{
Collection<DataLog> tasks = taskService.getQueueTasks();
for (DataLog task : tasks) {
if(codeStr.contains(task.getBarcode())){
if(task.isPutInTask()){
boolean cancelResult = taskService.cancelTask(task.getId());
log.info("客户端取消["+codeStr+"]的入库任务结果:" + cancelResult);
return ResultBean.newOkResult(cancelResult);
}
// else{
// boolean hideResult = taskService.hideTask(task.getId());
// log.info("客户端取消["+codeStr+"]的出库任务结果:" + hideResult);
// return ResultBean.newOkResult(hideResult);
// }
}
}
}catch (Exception e){
return ResultBean.newErrorResult(2002, "客户端取消入库任务["+codeStr+"]失败:" + e.getMessage());
}
return ResultBean.newErrorResult(2003, "客户端取消任务["+codeStr+"]失败");
}
/**
* 备份的所有版本
*/
@RequestMapping("/backupVersions")
......
......@@ -866,20 +866,32 @@ public class TaskService implements ITaskService {
return null;
}
@Override
public synchronized String checkOutLiteOrder(String orderNo, boolean outBom){
LiteOrder cacheOrder = liteOrderMap.get(orderNo);
if(cacheOrder != null && !cacheOrder.isTaskFinished() && !cacheOrder.isNew()){
log.info("工单["+orderNo+"]正在执行");
return "当前工单正在执行";
return "order.out.executing";
}
if(cacheOrder == null){
cacheOrder = liteOrderDao.findWithItemsByOrderNo(orderNo);
}
if(cacheOrder == null){
return "未找到工单";
return "order.out.notFound";
}
//设置颜色
Set<String> currentColors = new HashSet<>();
for (DataLog dataLog : getQueueTasks()) {
currentColors.add(dataLog.getLightColor());
}
StorageConstants.ORDER_COLOR nextColor = StorageConstants.ORDER_COLOR.nextColor(currentColors);
if(nextColor == null){
log.info("执行工单["+orderNo+"] outBom="+outBom+"时,已达最大可执行工单数");
return "order.out.maxOrder";
}
log.info("开始执行工单["+orderNo+"] outBom="+outBom);
......@@ -901,6 +913,8 @@ public class TaskService implements ITaskService {
availableStorageIds.add(storage.getId());
}
}
//其他出库模式一次性全部生成任务
for (LiteOrderItem orderItem : cacheOrder.getOrderItems()) {
//剩余未出数量
......@@ -929,6 +943,7 @@ public class TaskService implements ITaskService {
task.setSubSourceId(orderItem.getId());
task.setSubSourceInfo(orderItem.getFeederInfo());
task.setType(StorageConstants.OP.CHECKOUT);
task.setLightColor(nextColor.getRgb());
task.setStatus(StorageConstants.OP_STATUS.WAIT.name());
task = dataLogDao.save(task);
addTaskToExecute(task);
......@@ -943,6 +958,7 @@ public class TaskService implements ITaskService {
if(taskReelCount <= 0){
cacheOrder.finishedTasks();
}
liteOrderDao.save(cacheOrder);
liteOrderMap.put(cacheOrder.getOrderNo(), cacheOrder);
if(taskReelCount <= 0){
......@@ -1063,13 +1079,31 @@ public class TaskService implements ITaskService {
//出库任务开灯或者开门
Collection<DataLog> areaWaitTasks = taskMap.values();
for (DataLog task : areaWaitTasks) {
if(storage.getCid().equals(task.getCid()) && task.isCheckOutTask() && task.isWait()){
//加入到正在执行的列表中
statusBean.addData("open", task.getPosName());
//从等待列表中删除,加入到执行列表中
task.setStatus(StorageConstants.OP_STATUS.EXECUTING.name());
taskMap.put(task.getId(), task);
dataLogDao.save(task);
if(storage.getCid().equals(task.getCid()) && task.isCheckOutTask()){
String lightColor = task.getLightColor();
String opValue = task.getPosName();
if(!Strings.isNullOrEmpty(lightColor)){
StorageConstants.ORDER_COLOR orderColor = StorageConstants.ORDER_COLOR.fromRgb(lightColor);
if(orderColor != null){
opValue = opValue + "=" + orderColor.name().toLowerCase();
}
}
if(task.isWait()){
//加入到正在执行的列表中
log.info("执行开灯:"+opValue);
statusBean.addData("open", opValue);
//从等待列表中删除,加入到执行列表中
task.setStatus(StorageConstants.OP_STATUS.EXECUTING.name());
taskMap.put(task.getId(), task);
dataLogDao.save(task);
}else if(task.isExecuting() && task.needReSendToClient()){
// log.error("cid["+storage.getCid() + "]的出库任务["+ task.getPosName()+"]超过60秒仍未完成,重新发送到客户端!");
// task.setUpdateDate(new Date());
// statusBean.addData("open", opValue);
// taskMap.put(task.getId(), task);
}
}
}
return statusBean;
......@@ -1174,7 +1208,7 @@ public class TaskService implements ITaskService {
//暂不处理
} else if (StorageConstants.BOX_STATUS.OUT_FINISHED == status) {//出仓完成
DataLog task = findExecutingTask(statusBean.getCid(), boxStatus.getPosId());
if (task != null) {
if (task != null && task.isCheckOutTask()) {
log.info(task.getBarcode() + "出仓位[" + task.getPosName() + "]完成");
DataLog cancelTask = findFinishedTask(statusBean.getCid(), boxStatus.getPosId());
if(cancelTask != null && cancelTask.isCancel()){
......@@ -1188,7 +1222,7 @@ public class TaskService implements ITaskService {
//log.error(operationKey + "触发仓位完成时,操作队列中不存在");
//从已完成列表中找,如果还找不到就忽略
task = findFinishedTask(statusBean.getCid(), boxStatus.getPosId());
if (task != null) {
if (task != null && task.isCheckOutTask()) {
if(task.isCancel()){//被取消的任务,客户端发完成信号过来,修改取消状态为已完成
log.info(task.getBarcode() + "出仓位[" + task.getPosName() + "]完成,但任务已被取消,修改为完成");
checkoutFinished(task);
......@@ -1337,6 +1371,7 @@ public class TaskService implements ITaskService {
//清空 msg 的内容,因为客户端会据此决定命令是否执行
statusBean.setMsg("");
statusBean.setMsgEn("");
return statusBean;
}
......
......@@ -3,10 +3,10 @@
# to the other resource bundles.
webapp.name=BSP
webapp.tagline=Providing integration and style to open source Java.
webapp.version=Version ${pom.version}
webapp.version=Version 1.0
company.name=Your Company Here
company.url=http://raibledesigns.com
copyright.year=${copyright.year}
copyright.year=2003-2015
user.status=Logged in as:
......
# The block of messages below are only found in this file. If you'd
# like to override them for other languages, simply add the keys
# to the other resource bundles.
webapp.name=BSP
webapp.tagline=Providing integration and style to open source Java.
webapp.version=Version ${pom.version}
company.name=Your Company Here
company.url=http://raibledesigns.com
copyright.year=${copyright.year}
user.status=Logged in as:
user.logout=Logout
# -- validator errors --
errors.invalid={0} is invalid.
errors.maxlength={0} can not be greater than {1} characters.
errors.minlength={0} can not be less than {1} characters.
errors.range={0} is not in the range {1} through {2}.
errors.required={0} is a required field.
errors.byte={0} must be an byte.
errors.date={0} is not a date.
errors.double={0} must be an double.
errors.float={0} must be an float.
errors.integer={0} must be a number.
errors.long={0} must be an long.
errors.short={0} must be an short.
errors.creditcard={0} is not a valid credit card number.
errors.email={0} is an invalid e-mail address.
errors.phone={0} is an invalid phone number.
errors.zip={0} is an invalid zip code.
# -- other errors --
errors.cancel=Operation cancelled.
errors.detail={0}
errors.general=The process did not complete. Details should follow.
errors.token=Request could not be completed. Operation is not in sequence.
errors.none=No error message was found, check your server logs.
errors.password.mismatch=Invalid username and/or password, please try again.
errors.conversion=An error occurred while converting web values to data values.
errors.twofields=The {0} field has to have the same value as the {1} field.
errors.existing.user=This username ({0}) or e-mail address ({1}) already exists. Please try a different username.
errors.sending.email=An error has occurred while sending an email
# -- generic messages --
entity.saved=Form information was saved successfully.
entity.deleted=Form information was deleted successfully.
# -- success messages --
user.added=User information for {0} has been added successfully.
user.deleted=User Profile for {0} has been deleted successfully.
user.registered=You have successfully registered for access to this application.
user.saved=Your profile has been updated successfully.
user.updated.byAdmin=User information for {0} has been successfully updated.
newuser.email.message={0} has created an AppFuse account for you. Your username and password information is below.
reload.succeeded=Reloading options completed successfully.
# -- error page messages --
errorPage.title=An error has occurred
errorPage.heading=Yikes!
errorPage.message=Please check your log files for further information.
404.title=Page Not Found
404.message=The page you requested was not found. You might try returning to the <a href="{0}">Home</a>. While you&#39;re here, how about a pretty picture to cheer you up?
403.title=Access Denied
403.message=Your current role does not allow you to view this page. Please contact your system administrator if you believe you should have access or return to the <a href="{0}">Home</a>. In the meantime, how about a pretty picture to cheer you up?
# -- login --
#
#Mon Dec 21 14:49:06 CST 2020
checkoutSettings.mode.usedFirst=Tailing out first
boxView.takeOutReel=Take out the material
allBoxView.noReel=No material available
settings.pcbEmail.everyday=Every day
inOutList.outDate=Retrieval time
userList.heading=Online users
menu.barCode.settings=Barcode Setting
login.title=Login
login.heading=Sign In
login.rememberMe=Remember Me
login.signup=Not a member? <a href="{0}">Signup</a> for an account.
login.passwordHint=Forgot your password? Have your <a href="?" onmouseover="window.status='Have your password hint sent to you.'; return true" onmouseout="window.status=''; return true" title="Have your password hint sent to you." onclick="passwordHint(); return false" id="passwordHint">password hint e-mailed to you</a>.
login.passwordHint.new=Forgot your password? Have your <a href="?" title="Have your password hint sent to you." id="passwordHint">password hint e-mailed to you</a>.
login.passwordHint.sent=The password hint for {0} has been sent to {1}.
login.passwordHint.error=The username {0} was not found in our database.
# -- home --
home.title=Home
home.heading=Welcome!
home.message=Congratulations, you have logged in successfully! Now that you've logged in, you have the following options:
home.activeUsers=Current Users
# -- menu/link messages --
menu.admin=Administration
menu.admin.users=View Users
menu.admin.reload=Reload Options
menu.selectFile=Upload A File
# -- form labels --
label.username=Username
label.password=Password
# -- general values --
icon.information=Information
icon.information.img=/images/iconInformation.gif
barcode.inStoreRemainTime=Storage/Remaining time
settings.pcbEmail=PCB expired email alarm
menu.bigdata=Big Data
menu.box.boxi=SMD BOXi
menu.box.virtualStorage=Virtual BOX
inOutList.inOper=Storage operator
allBoxView.outTitle=Retrieval
dataReport.print=Print
menu.admin.users=User Info
maintenance.device.1_device_batchAxis=Batch axis
errors.general=Operation failure. The reasons are as follows.
errors.double={0} must be of type double.
menu.system.settings=System Setting
areaView.stockWaring=Inventory warning
menu.bigdata.dataReport=Data Report
barCodeSettings.rule=Barcode rule
errors.conversion=There is an error in the data conversion from web layer to business layer.
fixture.updateTitle=Fixture info
settings.pcbEmail.reminderDay=days in advance
menu.box.liteBox=SMD BOX Lite
errors.cancel=The operation was cancelled.
menu.order.management=Work Order Management
userProfile.title=User setting
inOutList.operate=Operation
storagePosFind.outInaction=Sluggish material retrieval
runStatus.minutes=minute
alarmInfo.endTime=Release time
user.status=Current user
upload.title=Upload files
barCodeSettings.print.height=Height
inOutList.time=Time
solder.updateTitle=Solder paste info
runStatus.pcbOutgoing=PCB retrieval quantity
menu.system=System
system.backup.noPath=Please set the backup path first\!
errors.required={0} is required.
errors.password.mismatch=Invalid username or password, please try again.
activeUsers.title=Active user list
time.seconds=second
allBoxView.capacity=Capacity
solder.type.noLead=Lead free
dataReport.solderStock.soonToExpire=Expire soon
maintenance.device.1_device_inoutAxis=InOut axis
errors.float={0} must be type of float.
login.heading=Login
icon.email=E-Mail
icon.email.img=/images/iconEmail.gif
icon.warning=Warning
icon.warning.img=/images/iconWarning.gif
date.format=yyyy-MM-dd
delete.confirm=Are you sure you want to delete this {0}?
# -- for calendar widget: bootstrap-datepicker --
#See: https://github.com/eternicode/bootstrap-datepicker#readme
calendar.format=mm/dd/yyyy
calendar.weekstart=0
# -- role form --
inOutList.out=Retrieval
user.confirmPassword=Confirm password
dataLog.status=Status
signup.heading=Sign up
solder.type=Solder paste types
settings.restore.warning=Warning\: system will be restored to this version, and can not be restored to the previous status after restoration\!
settings.maintenanceDays=Backup cycle
settings.showRange=Display range
errors.long={0} must be type of long.
errors.existing.user=Username ({0}) or e-mail address ({1}) already exists. Please change it.
settings.api=API Setting
user.id=ID
user.visitWebsite=Open
errorPage.title=System error
dataReport.solderStock.invalid=Invalid
maintenance.status=Current status
inOutList.type.fixture=Fixture
boxView.range=Range
settings.humiture=Temperature and Humidity
signup.message=Please input user information.
barCodeSettings.print.pageSize=Paper size
errors.date={0} is not a valid date format.
user.accountExpired=Expired
barCodeSettings.print=Barcode Printing
login.signup=Not a registered user? <a href\="{0}">Apply for </a> an account.
403.message=You don't have an access to this page. Please contact system administrator for permission, or return to <a href\="{0}">home</a>. Now, let's relax for a while?
user.added=Information for user {0} was added successfully.
boxView.takeDoorReel=The material at the door has been taken out.
button.restore=Restore
user.firstName=First name
roleForm.name=Name
# -- user profile page --
userProfile.title=User Settings
userProfile.heading=User Profile
userProfile.message=Please update your information.
userProfile.showMore=View More Information
userProfile.accountSettings=Account Settings
userProfile.assignRoles=Assign Roles
userProfile.cookieLogin=You cannot change passwords when logging in with the Remember Me feature. Please logout and log back in to change passwords.
userProfile.admin.title=User Settings
#Specific for Wicket
userProfile.admin.heading=User Profile
userProfile.admin.message=Please update this user's information.
# -- user form --
user.address.address=Address
user.availableRoles=Available Roles
user.address.city=City
user.address.country=Country
user.email=E-Mail
user.firstName=First Name
user.id=Id
user.lastName=Last Name
menu.bigdata.dataLog=Material Log
runStatus.solderWarehousing=Solder paste storage quantity
pcb.family=Family
maxLengthExceeded=The uploaded file is not allowed to be more than 2 MB.
menu.cloud.numModify=Quantity Calibration
user.accountLocked=Locked
errors.invalid={0} is invaild.
user.password=Password
user.confirmPassword=Confirm Password
user.phoneNumber=Phone Number
user.address.postalCode=Zip
user.address.province=State
user.roles=Current Roles
user.username=Username
user.website=Website
user.visitWebsite=visit
user.passwordHint=Password Hint
user.enabled=Enabled
user.accountExpired=Expired
user.accountLocked=Locked
user.credentialsExpired=Password Expired
# -- user list page --
userList.title=User List
userList.heading=Current Users
userList.nousers=<span>No users found.</span>
userList.user=user
userList.users=users
# -- user self-registration --
signup.title=Sign Up
signup.heading=New User Registration
signup.message=Please enter your personal information.
signup.email.subject=AppFuse Account Information
signup.email.message=You have successfully registered for access to AppFuse. Your username and password information is below.
# -- user password reset --
updatePassword.requestRecoveryTokenLink = Request a <a href="?" onclick="requestRecoveryToken(); return false">password reset</a> e-mailed to you.
updatePassword.requestRecoveryTokenLink.new = Request a <a href="?" id="passwordReset">password reset</a> e-mailed to you.
updatePassword.title = Update your Password
updatePassword.heading = Update your Password
updatePassword.passwordReset.message = You have requested a password reset. Please input your new password.
updatePassword.changePassword.message = Please input your new password.
updatePassword.recoveryToken.sent = A password reset link was sent to your registered email address.
updatePassword.invalidToken = Password reset token is not valid or has expired.
updatePassword.invalidPassword = Password provided does not match your current password.
# -- upload page messages --
maxLengthExceeded=The file you are trying to upload is too big. The maximum allowed size is 2 MB.
upload.title=File Upload
upload.heading=Upload A File
upload.message=Note that the maximum allowed size of an uploaded file for this application is 2 MB.
uploadForm.name=Friendly Name
uploadForm.file=File to Upload
# -- display page messages --
display.title=File Uploaded Successfully!
display.heading=File Information
# -- active users page --
activeUsers.title=Active Users
activeUsers.heading=Current Users
activeUsers.message=The following is a list of users that have logged in and their sessions have not expired.
activeUsers.fullName=Full Name
# JSF-only messages, remove if not using JSF
javax.faces.component.UIInput.REQUIRED=This is a required field.
activeUsers.summary={0} User(s) found, displaying {1} user(s), from {2} to {3}. Page {4} / {5}
# Wicket specific messages
#a value to display, when no element is selected in ComboBox (e.g. with countries)
null=
button.login=Login
chart.solder.used=Material usage
chart.solder.stock=Material stock
chart.temperature=Temperature
chart.humidity=Humidity
areaView.stockWaring=stock level warning
areaView.batch=Batch
areaView.tasks=Tasks
menu.findout=Material Search
menu.inRule=Material Receiving Tactics
menu.outRule=Material Retrieval Tatics
menu.system.settings=System Settings
menu.system=System
menu.bigdata=Big Data
menu.bigdata.runStatus=Operation Stastics
menu.bigdata.inOutList=Material receiving/retrieval log
menu.bigdata.dataReport=Report
menu.bigdata.dataLog=Material log
menu.bigdata.errorLog=Error Log
menu.barCode.settings=Barcode Setting
menu.box=SMD BOX
menu.box.manage=SMD BOX management
menu.box.virtualStorage=Virutal Material Management
menu.box.liteBox=SMD BOX LITE
menu.box.boxi=SMD BOXi
menu.cloud.inventory=Inventory Informaiton
menu.cloud.numModify=Quatity Modification
menu.order=Lite Work Order
menu.order.management=Work Order Management
menu.product=Product
menu.product.component=Component Info
menu.product.solder=Solder paste info.
menu.product.pcb=PCB Info
menu.product.others=Others
menu.product.fixture=Fixture Info
menu.kanban=KANBAN
allBoxView.kanban=KANBAN
storagePosFind.daysAgo=days ago
user.lastName=Last name
userProfile.heading=User profile
runStatus.alarmLastTime=Alarm duration
allBoxView.nextPage=Next Page
maintenance.device.1_device_updownAxis=UpDown axis
errors.phone={0} is a invalid phone number.
barcode.updateTitle=Barcode Info
time.hours=hours
specifiedBatch.addOutTasks=Add to retrieval list
userProfile.message=Please update your information according to the table below.
storagePosFind.inFixture=Fixture
allBoxView.temperature=Temperature
allBoxView.humidity=Humidity
allBoxView.boxStatus=SMD BOX info.
allBoxView.capacity=Material Capacity
allBoxView.used=Capacity Used
allBoxView.lastPage=Previous
allBoxView.nextPage=Next
allBoxView.findAndOut=Material Search
allBoxView.outTitle=Material Retrieval
allBoxView.noReel=No Material Found
allBoxView.msg.title=Message
allBoxView.msg.cancelMsg=Are you sure to cancel the task ?
checkoutSettings.title=Material Retrieval Tatic
checkoutSettings.mode=Material Retrieval Mode
user.address.address=Address
allBoxView.msg.title=Information
settings.backup.versions=Version list
checkoutSettings.mode.efficiency=Efficiency first
user.passwordHint=Password Hint
boxView.startBatchIn=Start Batch Storage
user.address.province=Province
dataLog.batch=Specified batch
checkoutSettings.mode.expireFirst=FEFO
checkoutSettings.mode.efficiency=LIFO
checkoutSettings.mode.fifo=FIFO
checkoutSettings.mode.usedFirst=Effiency Priority
boxView.range=Range
boxView.openDoor=Door Open
boxView.closeDoor=Door Close
boxView.startBatchIn=Start Batch Material Processing
boxView.takeOutReel=Remove the material
boxView.takeDoorReel=Material Removal Completed
boxView.singleOut=Single Material Retrieval
boxView.doorStatus=Door Status
allBoxView.msg.cancelFinished=Operation Canceled
boxView.taskCancel=Operation Canceled
boxView.taskExcuting=Operation in Execution
boxView.taskFinished=Operation Completed
boxView.taskWaiting=Operation in process
boxView.cancelTask=Cancel
solder.type=Solder paste type
solder.type.noLead=Lead Free
solder.type.lead=Leaded Material
home.title=Home
menu.outRule=Retrieval Strategy
virtualStorage.positionList=Storage location list
activeUsers.heading=Online user
icon.information=Information
menu.box=Box
dataReport.solderOverdue=Expired solder paste quantity
user.credentialsExpired=The password has expired.
home.activeUsers=Online user
inOutList.type.pcbFixture=PCB fixture
fixture.type=Fixture type
dataLog.orderSource=Instruction source
reload.succeeded=Reload successful
barcode.produceDate=Production Date
upload.heading=Upload file
areaView.tasks=Tasks
settings.api.outNotifaction=Retrieval notice
activeUsers.message=The list contains only users who has logined successfully and whose session has expired.
menu.admin.reload=Reload
solder.model=Model
solder.encapsulation=Packaging info.
solder.encapsulation.tube=Tube
solder.encapsulation.can=Can
solder.storageCondition=Storage Condition
solder.maxStorageTime=Max allowed time at room temperature
solder.hour=Hour
solder.warmTime=Warm Up Time
solder.maxStoreNum=Max Capacity
solder.storageTime=Max allowed use time after package removal
solder.minStoreNum=Min Capacity
solder.storeNum=Quantity
pcb.validPeriod=Life time
pcb.fixtureNumber=Fixture Number
pcb.family=Family
solder.updateTitle=Solder paste Info
activeUsers.fullName=Fullname
upload.message=The main system allows no more than 2MB of files to be uploaded.
menu.bigdata.runStatus=Run Statistics
pcb.updateTitle=PCB Info
otherComponent.updateTitle=Other Component Info
fixture.updateTitle=Fixture Info
otherComponent.expensive=Precious Material
fixture.type=Fixture Type
settings.showRange=Range
settings.humiture=Temperature/Humidity
settings.pcbEmail=Email remind
btn.test=Test
settings.api=API Settings
settings.api.inNotifaction=Material Receiving Notice
settings.api.outNotifaction=Material Retrieval Notice
settings.pcbEmail.everyday=Everyday
solder.storageTime=Storage time after opening
userProfile.showMore=More info
runStatus.throughput=Throughput
solder.encapsulation.tube=Tube
pcb.validPeriod=Valid period
icon.warning=Warning
display.title=File uploaded successfully\!
label.username=Username
allBoxView.findAndOut=Search and Retrieve
userList.title=User list
errors.integer={0} must be a value.
userProfile.admin.message=You can update user information according to the table below.
chart.temperature=Temperature
menu.order=Order
login.passwordHint.sent=The password hint for {0} has been successfully sent to {1}.
specifiedBatch.startIn=Start Storage
settings.pcbEmail.expire=PCB expired
runStatus.stockIn=Storage quantity
solder.maxStoreNum=Maximum storage
settings.pcbEmail.reminder=Remind
settings.pcbEmail.reminderDay=Before Due
settings.pcbEmail.expire=PCB expiration
settings.pcbEmail.adress=Emails (seperated by ;)
barCodeSettings.rule=Barcode Rules
barCodeSettings.ruleNotes=Notes\: Seperator is a single punctuation;the available fields are\: PN is the partnumber, RI is the unique code (ReelId), SP is the supplier, BATCH is the batch, PRODATEyyyyMMdd is the production date, EXPDATEyyyyyMMdd is the expiration date, xx or empty is no corresponding field, which must contain PN and RI, and QTY is the encapsulation number of empty-time use files.
barCodeSettings.print=Barcode Print
barCodeSettings.print.pageSize=Page Size
barCodeSettings.print.width=Width
barCodeSettings.print.height=Height
barcode.updateTitle=Barcode Detail
btn.view=View
runStatus.throughput=Throughput
runStatus.alarmInfo=Alarm Info
runStatus.alarmTimes=Alarm Times
runStatus.alarmLastTime=Alarm Period
runStatus.minutes=Minutes
runStatus.times=Times
select.all=All
inOutList.in=Material Receiving
inOutList.out=Material Retrieval
inOutList.operate=Operation
inOutList.type=Type
icon.warning.img=/images/iconWarning.gif
userProfile.accountSettings=Account setting
checkoutSettings.title=Retrieval strategy
inOutList.inDate=Storage time
errors.none=No error, please check the server log.
login.rememberMe=Remember me
errors.token=The request was not fully processed. Wrong operation sequence.
signup.email.subject=AppFuse account info
menu.product.pcb=PCB Info
runStatus.solderOutgoing=Solder paste retrieval quantity
solder.encapsulation.can=Can
javax.faces.component.UIInput.REQUIRED={0} is required.
errors.creditcard={0} is a invalid credit card number.
inOutList.type.component=Component
inOutList.type.solder=Solder paste
inOutList.type.pcb=PCB
inOutList.type.others=Others
inOutList.time=Time
inOutList.inOper=Material Receiving Operator
inOutList.outOper=Material Retrieval Operator
inOutList.inDate=Material Receiving Time
inOutList.outDate=Material Retrieval Time
alarmInfo.position=Position
alarmInfo.detail=Alarm Detail
alarmInfo.type=Alarm Type
alarmInfo.time=Alarm Time
alarmInfo.endTime=Alarm Resolved time
dataLog.status=Status
dataLog.batch=Specified Batch
dataLog.orderSource=Work Order Source
inventory.lockTitle=Lock/Stocking
inventory.find=Search
specifiedBatch.name=Name
specifiedBatch.bottom=Bottom
specifiedBatch.top=Top
specifiedBatch.task=Tasks
specifiedBatch.status=Status
specifiedBatch.createDate=Created Date
specifiedBatch.startIn=Material Receiving Start
specifiedBatch.stopIn=Add to material retrieval order list
specifiedBatch.addOutTasks=stop material receiving
inOutList.type.solderFixture=Solder paste fixture
inOutList.type.pcbFixture=PCB Fixture
storagePosFind.outSelect=Material Retrieval Position
storagePosFind.outInaction=Dead Stock Retrieval
storagePosFind.daysAgo=Days ago
storagePosFind.index=Index
storagePosFind.inFixture=Fixture No.
inOutList.type.fixture=Fixture
barcode.produceDate=Manufacturing Date
barcode.expireDate=Expiration Date
barcode.inStoreRemainTime=In Storage/Remaining Time
solder.storeNum=Storage quantity
menu.inRule=Storage Strategy
allBoxView.msg.cancelMsg=Are you sure to cancel the task?
menu.product.others=Other Material Info
specifiedBatch.task=Task
menu.selectFile=Upload File
checkoutSettings.mode=Retrieval mode
allBoxView.boxStatus=Box status
inOutList.outOper=Retrieval operator
errorPage.heading=Oh\!
user.updated.byAdmin=The information for user {0} has been successfully updated.
checkout.sucess=Added to the retrieval task list successfully.
userProfile.assignRoles=Role assignment
alarmInfo.detail=Alarm information
login.passwordHint=Forget your password? The system will <a href\="?" onmouseover\="window.status\='System will send password hint.'; return true" onmouseout\="window.status\=''; return true" title\="System will send password hint." onclick\="passwordHint(); return false">The password hint message will be sent to you by e-mail</a>\u3002
solder.maxStorageTime=Max time at room TEMP
menu.box.manage=Box Management
solder.hour=hours
chart.humidity=Humidity
virtualStorage.taskList=Task list
virtualStorage.positionList=Location list
virtualStorage.position=Location
dataReport.print=Print
dataReport.solderUsage=Material usage
dataReport.solderOverdue=Expired Solder paste Quantity
dataReport.solderStock=Solder Paste Counting
dataReport.pcbStock=PCB counting
dataReport.pcbOverdue=Epxired PCB Quantity
dataReport.solderStock.warming=Warming Up
dataReport.solderStock.soonToExpire=Close to Explire
dataReport.solderStock.invalid=Invalid
dataReport.overduePcb=Expired PCB
runStatus.solderOutgoing=Solder Paste Retrieval Qty
runStatus.pcbOutgoing=PCB Retrieval Qty
runStatus.pcbWarehousing=PCB Receiving Qty
runStatus.solderWarehousing=Solder Paste Receiving Qty
show.desktop=Desktop
show.table=Tablet
menu.system.maintenance=Equipment Maintenance
maintenance.device.1_device_inoutAxis=In Out Axis
maintenance.device.1_device_middleAxis=Middle Axis
maintenance.device.1_device_updownAxis=Up Down Axis
maintenance.nextTime=Next maintenance time
maintenance.deviceName=Device Name
maintenance.runTime=Run Time
maintenance.status=Status
maintenance.status.0=Stop
maintenance.status.1=Moving
maintenance.device.1_device_batchAxis=Batch Axis
button.maintenance.finished=Maintenance Finished
settings.maintenanceDays=Maintenance Period
settings.backupPath=Backup Path
settings.backupHours=Backup Period
button.login=Login
errors.range={0} is not in the range of {1} and {2}.
errors.email={0} is an invalid email address.
barCodeSettings.ruleNotes=Description\: the separator is a single character. Available fields\: PN is the material number(PartNumber); RI is the unique code(ReelId), use [RI] when the unique code is all contents of the code; QTY is the quantity; SP is the supplier; BATCH is the batch; PRODATEyyyyMMdd is the production date; EXPDATEyyyyMMdd is the expired date; xx or null means no corresponding field. PN and RI are required. If QTY is null, use the package number of files.
activeUsers.summary=Found {0} users, and displayed {1} users from {2} to {3}. {4} / {5} page
allBoxView.lastPage=Previous Page
specifiedBatch.createDate=Creation date
boxView.taskCancel=It has been cancelled.
boxView.cancelTask=Cancel
select.all=All
user.address.city=City
inOutList.type.solderFixture=Solder paste fixture
user.registered=Registered successfully, and welcome to use the system.
dataReport.pcbOverdue=PCB expired quantity
button.maintenance.finished=Maintenance completed
uploadForm.file=Select File
user.logout=Exit
otherComponent.expensive=Precious materials
runStatus.times=times
button.backup=Backup
button.restore=Restore
time.seconds=Seconds
inOutList.type.others=Other
dataReport.solderStock=Solder paste real-time inventory
checkoutSettings.mode.produceDate=Production date first
allBoxView.used=Used
user.address.country=Country
userProfile.cookieLogin=The password cannot be changed because you have chosen the option " Remember me". Please log out first, and then change your password when you log back in.\u60A8\u65E0\u6CD5\u66F4\u6539\u5BC6\u7801\uFF0C\u56E0\u4E3A\u60A8\u9009\u62E9\u4E86\u201C\u8BA9\u7CFB\u7EDF\u8BB0\u4F4F\u6211\u201D\u9009\u9879\u3002\u8BF7\u9000\u51FA\u7CFB\u7EDF\uFF0C\u5728\u91CD\u65B0\u767B\u5F55\u65F6\u5C1D\u8BD5\u66F4\u6539\u5BC6\u7801\u3002
menu.cloud.inventory=Inventory Summary
signup.title=Register
settings.pcbEmail.adress=Emails (Multiple are separated by semicolons)
settings.restore.confirm=Are you sure to restore to this version?
alarmInfo.type=Alarm type
chart.solder.used=Material consumption
date.format=yyyy-MM-dd
menu.product.solder=Solder Paste Info
btn.view=View
time.minutes=Minutes
time.hours=Hours
time.days=Days
system.backup.noPath=Please set the backup path first.
settings.backup.versions=Version List
settings.restore.warning=Warning\: This operation cannot be undone. \!\!\!
settings.restore.confirm=Would you like to proceed?
settings.restore.success=Operation succeeded
checkout.sucess=Add task list successn
runStatus.stockOut=Stock-Out
runStatus.stockIn=Stock-In
checkoutSettings.mode.produceDate=Produce Date Priority
\ No newline at end of file
areaView.batch=Batch
settings.restore.success=Operated successfully
inventory.lockTitle=Locked/Inventory
menu.bigdata.inOutList=Storage&Retrieval Record
signup.email.message=You have successfully registered to AppFuse. Your username and password are as follows\:
allBoxView.msg.cancelFinished=Cancelled successfully
maintenance.status.1=Running
maintenance.status.0=Stop
settings.api.inNotifaction=Storage notice
solder.encapsulation=Package
user.availableRoles=Available role
settings.backupHours=Backup cycle
boxView.taskExcuting=Executing
dataReport.pcbStock=PCB real-time inventory
user.website=Website
user.roles=Current role
dataReport.solderUsage=Material consumption
label.password=Password
otherComponent.updateTitle=Other material info
menu.product.fixture=Fixture Information
user.phoneNumber=Phone
inOutList.in=Storage
alarmInfo.position=Location
menu.admin=System Management
allBoxView.kanban=KANBAN
maintenance.runTime=Running time
home.heading=Welcome\!
specifiedBatch.status=Status
inventory.find=Search
runStatus.pcbWarehousing=PCB storage quantity
boxView.taskFinished=Finished
errors.zip={0} is an invalid postal code.
runStatus.alarmTimes=Alarm times
chart.solder.stock=Material inventory
errors.twofields=The field {0} must have the same value as the field {1} .
errors.byte={0} must be type of byte.
specifiedBatch.stopIn=Stop storage
time.days=days
home.message=Logined successfully\! You can do the following\:
login.passwordHint.error=The user {0} was not found in system database.
specifiedBatch.name=Name
menu.kanban=KANBAN
runStatus.alarmInfo=Alarm information
maintenance.deviceName=Equipment name
menu.bigdata.errorLog=Exception Log
barcode.expireDate=Expiration time
errors.maxlength={0} cannot be more than {1} characters.
solder.type.lead=Leaded
inOutList.type.solder=Solder paste
user.address.postalCode=Postalcode
btn.test=Test
boxView.taskWaiting=Waiting
runStatus.stockOut=Retrieval quantity
user.enabled=Enable
display.heading=File information
icon.email.img=/images/iconEmail.gif
specifiedBatch.top=Layout
show.table=Panel
404.title=The page was not found.
alarmInfo.time=Alarm time
storagePosFind.index=No.
settings.backupPath=Backup path
icon.information.img=/images/iconInformation.gif
solder.minStoreNum=Min storage quantity
maintenance.nextTime=Next maintenance date
userList.nousers=<span>No user was found.</span>
uploadForm.name=Rename
checkoutSettings.mode.fifo=FIFO
dataReport.solderStock.warming=The materials are returning to room temperature.
errors.short={0} must be type of short.
pcb.fixtureNumber=Fixture number
menu.findout=Search&Retrieve
show.desktop=Computer
menu.system.maintenance=Equipment Maintenance
404.message=The requested page was not found. You can go back to <a href\="{0}">Home</a>. Or take a rest and wait here, forget about the failure and enjoy a beautiful picture?
boxView.singleOut=Single Retrieval
boxView.openDoor=Unlock Batch Door
inOutList.type=Type
menu.product=Product Information
virtualStorage.position=Position
user.deleted=Information for user {0} was deleted.
user.saved=Your information has been successfully updated.
boxView.doorStatus=Door status
maintenance.device.1_device_middleAxis=Rotation axis
newuser.email.message={0} successfully created an AppFuse account for you. your username and password are as follows\:
errors.detail={0}
boxView.closeDoor=Lock Batch Door
solder.storageCondition=Refrigerator storage condition
user.email=E-Mail
menu.product.component=Component Info
inOutList.type.pcb=PCB
solder.warmTime=Time to recovery
storagePosFind.outSelect=Retrieval material position
403.title=Access was denied.
dataReport.overduePcb=Expired PCB
allBoxView.humidity=Humidity
errors.minlength={0} cannot be less than {1} characters.
## Do NOT delete! Keep this line to avoid the native2ascii UTF-8 BOM bug. See #APF-639
user.status=\u5F53\u524D\u7528\u6237:
user.logout=\u9000\u51FA
# -- validator errors --
errors.invalid={0} \u65E0\u6548\u3002
errors.maxlength={0} \u4E0D\u80FD\u5927\u4E8E {1} \u4E2A\u5B57\u7B26\u3002
errors.minlength={0} \u4E0D\u80FD\u5C11\u4E8E {1} \u4E2A\u5B57\u7B26\u3002
errors.range={0} \u672A\u5728 {1} \u4E0E {2} \u8303\u56F4\u5185\u3002
errors.required={0} \u4E3A\u5FC5\u586B\u9879\u3002
errors.byte={0} \u5FC5\u987B\u4E3Abyte\u7C7B\u578B\u3002
errors.date={0} \u4E0D\u662F\u6709\u6548\u65E5\u671F\u683C\u5F0F\u3002
errors.double={0} \u5FC5\u987B\u4E3Adouble\u7C7B\u578B\u3002
errors.float={0} \u5FC5\u987B\u4E3Afloat\u7C7B\u578B\u3002
errors.integer={0} \u5FC5\u987B\u4E3A\u4E00\u6570\u503C\u3002
errors.long={0} \u5FC5\u987B\u4E3Along\u7C7B\u578B\u3002
errors.short={0} \u5FC5\u987B\u4E3Ashort\u7C7B\u578B\u3002
errors.creditcard={0} \u4E3A\u65E0\u6548\u4FE1\u7528\u5361\u53F7\u3002
errors.email={0} \u4E3A\u65E0\u6548\u90AE\u4EF6\u5730\u5740\u3002
errors.phone={0} \u4E3A\u65E0\u6548\u7535\u8BDD\u53F7\u7801\u3002
errors.zip={0} \u4E3A\u65E0\u6548\u90AE\u653F\u7F16\u7801\u3002
# -- other errors --
errors.cancel=\u64CD\u4F5C\u88AB\u53D6\u6D88\u3002
errors.detail={0}
errors.general=\u64CD\u4F5C\u672A\u5B8C\u6210\u3002\u8BE6\u7EC6\u539F\u56E0\u5982\u4E0B\u3002
errors.token=\u8BF7\u6C42\u672A\u5B8C\u5168\u5904\u7406\u3002\u64CD\u4F5C\u987A\u5E8F\u9519\u8BEF\u3002
errors.none=\u65E0\u9519\u8BEF\u6D88\u606F\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u5668\u65E5\u5FD7\u6587\u4EF6\u3002
errors.password.mismatch=\u65E0\u6548\u7528\u6237\u540D\u6216\u5BC6\u7801\uFF0C\u8BF7\u91CD\u8BD5\u3002
errors.conversion=\u5728web\u5C42\u6570\u636E\u5230\u4E1A\u52A1\u5C42\u6570\u636E\u7684\u8F6C\u6362\u8FC7\u7A0B\u4E2D\uFF0C\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002
errors.twofields={0} \u5B57\u6BB5\u4E0E {1} \u5B57\u6BB5\u7684\u503C\u5FC5\u987B\u4E00\u81F4\u3002
errors.existing.user=\u7528\u6237\u540D ({0}) \u6216e-mail\u5730\u5740 ({1}) \u5DF2\u5B58\u5728\u3002\u8BF7\u518D\u6B21\u5C1D\u8BD5\u4E0D\u540C\u540D\u79F0\u3002
# -- success messages --
user.added=\u7528\u6237 {0} \u7684\u4FE1\u606F\u6DFB\u52A0\u6210\u529F\u3002
user.deleted=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5220\u9664\u6210\u529F\u3002
user.registered=\u6CE8\u518C\u6210\u529F\uFF0C\u60A8\u53EF\u4EE5\u5F00\u59CB\u4F7F\u7528\u7CFB\u7EDF\u3002
user.saved=\u60A8\u7684\u4FE1\u606F\u5DF2\u6210\u529F\u66F4\u65B0\u3002
user.updated.byAdmin=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5DF2\u6210\u529F\u66F4\u65B0\u3002
newuser.email.message={0} \u4E3A\u60A8\u6210\u529F\u521B\u5EFA\u4E86\u4E00\u4E2AAppFuse\u5E10\u53F7\u3002\u60A8\u7684\u7528\u6237\u540D\u548C\u5BC6\u7801\u4FE1\u606F\u5982\u4E0B\uFF1A
reload.succeeded=\u5DF2\u7ECF\u6210\u529F\u91CD\u8F7D.
# -- error page messages --
errorPage.title=\u7CFB\u7EDF\u9519\u8BEF
errorPage.heading=\u54E6\uFF01
404.title=\u9875\u9762\u672A\u627E\u5230
404.message=\u8BF7\u6C42\u7684\u9875\u9762\u672A\u627E\u5230\u3002\u60A8\u53EF\u4EE5\u9009\u62E9\u8FD4\u56DE\u5230 <a href="{0}">\u4E3B\u83DC\u5355</a>\u3002\u6216\u8005\u9009\u62E9\u5728\u6B64\u4F11\u606F\u4E00\u4E0B\uFF0C\u5FD8\u6389\u521A\u624D\u7684\u6CAE\u4E27\uFF0C\u6B23\u8D4F\u4E00\u4E2A\u7F8E\u4E3D\u7684\u56FE\u7247\uFF1F
403.title=\u8BBF\u95EE\u88AB\u62D2\u7EDD
403.message=\u60A8\u5F53\u524D\u89D2\u8272\u65E0\u6743\u9650\u67E5\u770B\u6B64\u9875\u9762\u3002\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u5458\uFF0C\u83B7\u5F97\u76F8\u5E94\u7684\u6743\u9650\u6216\u8005\u8FD4\u56DE\u5230<a href="{0}">\u4E3B\u83DC\u5355</a>\u3002\u6B64\u523B\uFF0C\u8BA9\u6211\u4EEC\u5148\u653E\u677E\u4E00\u4E0B\u5427\uFF1F
# -- login --
login.title=\u767B\u5F55
login.heading=\u767B\u5F55
login.rememberMe=\u8BA9\u7CFB\u7EDF\u8BB0\u4F4F\u6211
login.signup=\u4E0D\u662F\u6CE8\u518C\u7528\u6237? <a href="{0}">\u7533\u8BF7</a> \u4E00\u4E2A\u5E10\u53F7\u3002
login.passwordHint=\u5FD8\u8BB0\u4E86\u5BC6\u7801? \u8BA9\u7CFB\u7EDF\u5C06 <a href="?" onmouseover="window.status='\u7CFB\u7EDF\u53D1\u9001\u5BC6\u7801\u63D0\u793A\u3002'; return true" onmouseout="window.status=''; return true" title="\u7CFB\u7EDF\u53D1\u9001\u5BC6\u7801\u63D0\u793A\u3002" onclick="passwordHint(); return false">\u5BC6\u7801\u63D0\u793A\u4FE1\u606F\u5DF2e-mail\u5F62\u5F0F\u53D1\u9001\u7ED9\u60A8</a>\u3002
login.passwordHint.sent={0} \u7684\u5BC6\u7801\u63D0\u793A\u5DF2\u6210\u529F\u53D1\u9001\u5230 {1}\u3002
login.passwordHint.error=\u7528\u6237\u540D {0} \u5728\u7CFB\u7EDF\u6570\u636E\u5E93\u4E2D\u672A\u627E\u5230\u3002
# -- home --
home.title=\u4E3B\u83DC\u5355
home.heading=\u6B22\u8FCE\uFF01
home.message=\u606D\u559C\uFF0C\u60A8\u767B\u5F55\u6210\u529F\uFF01\u60A8\u53EF\u4EE5\u9009\u62E9\u6267\u884C\u4EE5\u4E0B\u64CD\u4F5C\uFF1A
home.activeUsers=\u5728\u7EBF\u7528\u6237
# -- menu/link messages --
menu.admin=\u7CFB\u7EDF\u7BA1\u7406
menu.admin.users=\u67E5\u770B\u7528\u6237
menu.admin.reload=\u91CD\u8F7D\u9009\u9879
menu.selectFile=\u4E0A\u4F20\u6587\u4EF6
# -- form labels --
label.username=\u7528\u6237\u540D
label.password=\u5BC6\u7801
# -- general values --
icon.information=\u4FE1\u606F
icon.information.img=/images/iconInformation.gif
#
#Tue Dec 15 14:19:54 CST 2020
checkoutSettings.mode.usedFirst=\u6B8B\u7559\u6750\u6599\u3092\u5148\u306B\u51FA\u5EAB
boxView.takeOutReel=\u30EA\u30FC\u30EB\u3092\u53D6\u308A\u51FA\u3059
allBoxView.noReel=\u5229\u7528\u53EF\u80FD\u306E\u6750\u6599\u304C\u306A\u3057
settings.pcbEmail.everyday=\u6BCE\u65E5
inOutList.outDate=\u51FA\u5EAB\u6642\u9593
userList.heading=\u30A4\u30F3\u30E9\u30A4\u30F3\u30E6\u30FC\u30B6\u30FC
menu.barCode.settings=\u30D0\u30FC\u30B3\u30FC\u30C9\u8A2D\u7F6E
login.title=\u767B\u9332
barcode.inStoreRemainTime=\u5728\u5EAB/\u6B8B\u308A\u6642\u9593
settings.pcbEmail=PCB\u671F\u9593\u5207\u308C\u306E\u30E1\u30FC\u30EB\u30EA\u30DE\u30A4\u30F3\u30C0
menu.bigdata=\u30D3\u30C3\u30B0\u30C7\u30FC\u30BF
menu.box.boxi=SMD BOXi
menu.box.virtualStorage=\u30D0\u30FC\u30C1\u30E3\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8
inOutList.inOper=\u5165\u5EAB\u4EBA
allBoxView.outTitle=\u51FA\u5EAB
dataReport.print=\u30D7\u30EA\u30F3\u30C8
menu.admin.users=\u30E6\u30FC\u30B6\u30FC\u8868\u793A
maintenance.device.1_device_batchAxis=\u30DE\u30EB\u30C1\u6750\u6599\u5165\u308C\u51FA\u3057\u8EF8
errors.general=\u64CD\u4F5C\u304C\u5B8C\u4E86\u3057\u3066\u3044\u306A\u3044\u3001\u8A73\u3057\u3044\u539F\u56E0\u306F\u6B21\u306E\u901A\u308A\u3067\u3059\u3002
errors.double={0} \u306F\u5FC5\u305Adouble\u306E\u30BF\u30A4\u30D7
menu.system.settings=\u30B7\u30B9\u30C6\u30E0\u8A2D\u7F6E
areaView.stockWaring=\u5728\u5EAB\u8B66\u544A
menu.bigdata.dataReport=\u30C7\u30FC\u30BF\u5831\u544A
barCodeSettings.rule=\u30D0\u30FC\u30B3\u30FC\u30C9\u898F\u5247
errors.conversion=web\u5C64\u306E\u30C7\u30FC\u30BF\u304B\u3089\u696D\u52D9\u5C64\u30C7\u30FC\u30BF\u3078\u306E\u5909\u63DB\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
fixture.updateTitle=\u30B8\u30B0\u60C5\u5831
settings.pcbEmail.reminderDay=\u65E5\u524D\u306E\u30EA\u30DE\u30A4\u30F3\u30C0
menu.box.liteBox=SMD BOX LITE
errors.cancel=\u64CD\u4F5C\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F\u3002
menu.order.management=\u30AA\u30FC\u30C0\u30FC\u7BA1\u7406
userProfile.title=\u30E6\u30FC\u30B6\u30FC\u8A2D\u7F6E
inOutList.operate=\u64CD\u4F5C
storagePosFind.outInaction=\u30C7\u30C3\u30C9\u6750\u6599\u3092\u51FA\u5EAB
runStatus.minutes=\u5206\u9593
alarmInfo.endTime=\u89E3\u9664\u30BF\u30A4\u30E0
user.status=\u73FE\u5728\u30E6\u30FC\u30B6\u30FC\uFF1A
upload.title=\u30D5\u30A1\u30A4\u30EB\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
barCodeSettings.print.height=\u9AD8\u3055
inOutList.time=\u6642\u9593
solder.updateTitle=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u60C5\u5831
runStatus.pcbOutgoing=PCB\u51FA\u5EAB\u6570\u91CF
menu.system=\u30B7\u30B9\u30C6\u30E0
system.backup.noPath=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u30D1\u30B9\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
errors.required={0} \u306F\u5FC5\u8981\u4E8B\u9805
errors.password.mismatch=\u30E6\u30FC\u30B6\u540D\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u7121\u52B9\u3067\u3001\u3084\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002
activeUsers.title=\u30E6\u30FC\u30B6\u30FC\u30EA\u30B9\u30C8
time.seconds=\u79D2
allBoxView.capacity=\u5BB9\u91CF
solder.type.noLead=\u925B\u30D5\u30EA\u30FC
dataReport.solderStock.soonToExpire=\u3082\u3046\u3059\u3050\u671F\u9593\u5207\u308C
maintenance.device.1_device_inoutAxis=\u524D\u5F8C\u9000\u8EF8
errors.float={0} \u306F\u5FC5\u305Afloat\u306E\u30BF\u30A4\u30D7
login.heading=\u767B\u9332
icon.email=E-Mail
icon.email.img=/images/iconEmail.gif
icon.warning=\u8B66\u544A
icon.warning.img=/images/iconWarning.gif
date.format=yyyy-MM-dd
# -- role form --
roleForm.name=\u540D\u79F0
# -- user profile page --
userProfile.title=\u7528\u6237\u8BBE\u7F6E
userProfile.heading=\u7528\u6237\u7B80\u8981\u4FE1\u606F
userProfile.message=\u8BF7\u6309\u5982\u4E0B\u8868\u683C\u66F4\u65B0\u60A8\u7684\u4FE1\u606F\u3002
userProfile.admin.message=\u60A8\u53EF\u4EE5\u6309\u5982\u4E0B\u8868\u683C\uFF0C\u66F4\u65B0\u7528\u6237\u7684\u4FE1\u606F\u3002
userProfile.showMore=\u67E5\u770B\u66F4\u591A\u4FE1\u606F
userProfile.accountSettings=\u5E10\u6237\u8BBE\u7F6E
userProfile.assignRoles=\u5206\u914D\u89D2\u8272
userProfile.cookieLogin=\u60A8\u65E0\u6CD5\u66F4\u6539\u5BC6\u7801\uFF0C\u56E0\u4E3A\u60A8\u9009\u62E9\u4E86 \u8BA9\u7CFB\u7EDF\u8BB0\u4F4F\u6211 \u9009\u9879\u3002\u8BF7\u9000\u51FA\u7CFB\u7EDF\uFF0C\u518D\u6B21\u767B\u5F55\u5C1D\u8BD5\u66F4\u6539\u5BC6\u7801\u3002
# -- user form --
user.address.address=\u5730\u5740
user.availableRoles=\u53EF\u7528\u89D2\u8272
user.address.city=\u57CE\u5E02
user.address.country=\u56FD\u5BB6
user.email=E-Mail
inOutList.out=\u51FA\u5EAB
user.confirmPassword=\u30D1\u30B9\u30EF\u30FC\u30C9\u78BA\u8A8D
dataLog.status=\u72B6\u614B
signup.heading=\u65B0\u898F\u30E6\u30FC\u30B6\u30FC\u767B\u9332
solder.type=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u30BF\u30A4\u30D7
settings.restore.warning=\u8B66\u544A\uFF1A\u5143\u306B\u623B\u3059\u3068\u3001\u30B7\u30B9\u30C6\u30E0\u306F\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5FA9\u65E7\u3055\u308C\u307E\u3059\u3002\u307E\u305F\u3001\u3053\u306E\u64CD\u4F5C\u306F\u5143\u306B\u623B\u3055\u308C\u307E\u305B\u3093\!\!\!
settings.maintenanceDays=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u30B5\u30A4\u30AF\u30EB
settings.showRange=\u8868\u793A\u7BC4\u56F2
errors.long={0} \u306F\u5FC5\u305Along\u306E\u30BF\u30A4\u30D7
errors.existing.user=\u30E6\u30FC\u30B6\u30FC\u540D ({0}) \u3042\u308B\u3044\u306Fe-mail\u306E\u30A2\u30C9\u30EC\u30B9({1}) \u3059\u3067\u306B\u5B58\u5728\u3001\u540D\u79F0\u3092\u4EA4\u63DB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
settings.api=API \u8A2D\u7F6E
user.id=ID
user.visitWebsite=\u30AA\u30FC\u30D7\u30F3
errorPage.title=\u30B7\u30B9\u30C6\u30E0\u30A8\u30E9\u30FC
dataReport.solderStock.invalid=\u5931\u52B9
maintenance.status=\u73FE\u5728\u306E\u72B6\u614B
inOutList.type.fixture=\u30B8\u30B0
boxView.range=\u7BC4\u56F2
settings.humiture=\u6E29\u6E7F\u5EA6
signup.message=\u30E6\u30FC\u30B6\u60C5\u5831\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
barCodeSettings.print.pageSize=\u30DA\u30FC\u30D1\u30FC\u30B5\u30A4\u30BA
errors.date={0} \u306F\u6709\u52B9\u306A\u65E5\u4ED8\u66F8\u5F0F\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
user.accountExpired=\u671F\u9593\u5207\u308C
barCodeSettings.print=\u30D0\u30FC\u30B3\u30FC\u30C9\u3092\u30D7\u30EA\u30F3\u30C8
login.signup=\u30E6\u30FC\u30B6\u30FC\u3067\u306F\u306A\u3044? <a href\="{0}">\u7533\u8ACB</a> \u30A2\u30AB\u30A6\u30F3\u30C8\u3002
403.message=\u60A8\u5F53\u524D\u89D2\u8272\u65E0\u6743\u9650\u67E5\u770B\u6B64\u9875\u9762\u3002\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u5458\u83B7\u53D6\u6743\u9650\uFF0C\u6216\u8005\u8FD4\u56DE\u5230<a href\="{0}">\u4E3B\u83DC\u5355</a>\u3002\u6B64\u523B\uFF0C\u8BA9\u6211\u4EEC\u5148\u653E\u677E\u4E00\u4E0B\u5427\uFF1F
user.added=\u30E6\u30FC\u30B6\u30FC {0}\u306E\u60C5\u5831\u3092\u6210\u529F\u306B\u8FFD\u52A0\u3057\u307E\u3057\u305F\u3002
boxView.takeDoorReel=\u5165\u308A\u53E3\u306E\u30EA\u30FC\u30EB\u306F\u3082\u3046\u53D6\u308A\u51FA\u3057\u307E\u3057\u305F\u3002
button.restore=\u30EA\u30BB\u30C3\u30C8
user.firstName=\u540D
user.id=Id
roleForm.name=\u540D\u79F0
menu.bigdata.dataLog=\u6750\u6599\u30ED\u30B0
runStatus.solderWarehousing=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u5165\u5EAB\u6570\u91CF
pcb.family=Family
maxLengthExceeded=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u5927\u304D\u3059\u304E\u307E\u3059\u3002\u6700\u5927\u5BB9\u91CF\u306F2 MB\u3067\u3059\u3002
menu.cloud.numModify=\u6570\u91CF\u6821\u6B63
user.accountLocked=\u30ED\u30C3\u30AF
errors.invalid={0} \u7121\u52B9
user.password=\u30D1\u30B9\u30EF\u30FC\u30C9
user.username=\u30E6\u30FC\u30B6\u30FC\u540D
storagePosFind.daysAgo=\u65E5\u524D
user.lastName=\u59D3
user.password=\u5BC6\u7801
user.confirmPassword=\u786E\u8BA4\u5BC6\u7801
user.phoneNumber=\u7535\u8BDD
user.address.postalCode=\u90AE\u7F16
userProfile.heading=\u30E6\u30FC\u30B6\u306E\u7C21\u5358\u60C5\u5831
runStatus.alarmLastTime=\u30A2\u30E9\u30FC\u30E0\u7D99\u7D9A\u6642\u9593
allBoxView.nextPage=\u6B21\u306E\u30DA\u30FC\u30B8
maintenance.device.1_device_updownAxis=\u4E0A\u4E0B\u8EF8
errors.phone={0} \u306F\u7121\u52B9\u306E\u96FB\u8A71\u756A\u53F7\u3067\u3059\u3002
barcode.updateTitle=\u30D0\u30FC\u30B3\u30FC\u30C9\u60C5\u5831
time.hours=\u6642
specifiedBatch.addOutTasks=\u51FA\u5EAB\u30EA\u30B9\u30C8\u306B\u8FFD\u52A0
userProfile.message=\u6B21\u306E\u8868\u306B\u5F93\u3063\u3066\u60C5\u5831\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002
storagePosFind.inFixture=\u30B8\u30B0\u4F4D\u7F6E
allBoxView.temperature=\u6E29\u5EA6
user.address.address=\u30A2\u30C9\u30EC\u30B9
allBoxView.msg.title=\u63D0\u793A
settings.backup.versions=\u30D0\u30FC\u30B8\u30E7\u30F3\u30EA\u30B9\u30C8
checkoutSettings.mode.efficiency=\u52B9\u7387\u512A\u5148
user.passwordHint=\u30D1\u30B9\u30EF\u30FC\u30C9\u63D0\u793A
boxView.startBatchIn=\u30DE\u30EB\u30C1\u5165\u5EAB\u3092\u958B\u59CB
user.address.province=\u5DDE\u7701
user.roles=\u5F53\u524D\u89D2\u8272
user.username=\u7528\u6237\u540D
user.website=\u7F51\u5740
user.visitWebsite=\u6253\u5F00
user.passwordHint=\u5BC6\u7801\u63D0\u793A
user.enabled=\u4F7F\u80FD
user.accountExpired=\u5230\u671F
user.accountLocked=\u9501\u7740
user.credentialsExpired=\u5BC6\u7801\u5230\u671F\u4E86
# -- user list page --
userList.title=\u7528\u6237\u5217\u8868
userList.heading=\u5728\u7EBF\u7528\u6237
userList.nousers=<span>\u6CA1\u627E\u5230\u7528\u6237\u3002</span>
# -- user self-registration --
signup.title=\u6CE8\u518C
signup.heading=\u65B0\u7528\u6237\u6CE8\u518C
signup.message=\u8BF7\u8F93\u5165\u7528\u6237\u4FE1\u606F\u3002
signup.email.subject=AppFuse \u5E10\u6237\u4FE1\u606F
signup.email.message=\u60A8\u5DF2\u6210\u529F\u6CE8\u518C\u5230 AppFuse\u3002\u60A8\u7684\u7528\u6237\u540D\u548C\u5BC6\u7801\u4FE1\u606F\u5982\u4E0B\uFF1A
# -- upload page messages --
maxLengthExceeded=\u9009\u62E9\u4E0A\u4F20\u7684\u6587\u4EF6\u8FC7\u5927\u3002\u6700\u5927\u5141\u8BB8\u503C\u4E3A 2 MB\u3002
upload.title=\u6587\u4EF6\u4E0A\u4F20
upload.heading=\u4E0A\u4F20\u4E00\u6587\u4EF6
upload.message=\u4E3B\u8981\u7CFB\u7EDF\u5141\u8BB8\u4E0A\u4F20\u6587\u4EF6\u7684\u6700\u5927\u503C\u4E3A 2 MB\u3002
uploadForm.name=\u91CD\u547D\u540D\u6587\u4EF6
uploadForm.file=\u9009\u62E9\u6587\u4EF6
# -- display page messages --
display.title=\u6587\u4EF6\u4E0A\u4F20\u6210\u529F\uFF01
display.heading=\u6587\u4EF6\u4FE1\u606F
# -- active users page --
activeUsers.title=\u6D3B\u52A8\u7528\u6237\u5217\u8868
activeUsers.heading=\u5728\u7EBF\u7528\u6237
activeUsers.message=\u5217\u8868\u4E3A\u5DF2\u6210\u529F\u767B\u5F55\u7684\u3001session\u4E3A\u8FC7\u671F\u7684\u7528\u6237\u3002
activeUsers.fullName=\u5168\u540D
# JSF-only messages, remove if not using JSF
javax.faces.component.UIInput.REQUIRED={0} \u4E3A\u5FC5\u586B\u9879\u3002
activeUsers.summary=\u627E\u5230 {0} \u4E2A\u7528\u6237\uFF0C\u663E\u793A {1} \u4E2A\u7528\u6237\uFF0C\u4ECE {2} \u5230 {3}\u3002 {4} / {5} \u9875
button.login=\u767B\u5F55
chart.solder.used=\u7269\u6599\u6D88\u8017
chart.solder.stock=\u7269\u6599\u5E93\u5B58
dataLog.batch=\u30D0\u30C3\u30C1\u6307\u5B9A
checkoutSettings.mode.expireFirst=\u5148\u306B\u671F\u9593\u5207\u308C\u5148\u306B\u51FA\u5EAB
home.title=\u30E1\u30A4\u30F3\u30E1\u30CB\u30E5\u30FC
menu.outRule=\u51FA\u5EAB\u7B56\u7565
virtualStorage.positionList=\u30B9\u30C8\u30EC\u30FC\u30B8\u30EA\u30B9\u30C8
activeUsers.heading=\u30AA\u30F3\u30E9\u30A4\u30F3\u30E6\u30FC\u30B6\u30FC
icon.information=\u60C5\u5831
menu.box=\u30DC\u30C3\u30AF\u30B9
dataReport.solderOverdue=\u534A\u7530\u30DA\u30FC\u30B9\u30C8\u306E\u671F\u9650\u8D85\u904E\u5EC3\u68C4\u6570\u91CF
user.credentialsExpired=\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u671F\u9593\u304C\u5207\u308C\u307E\u3057\u305F\u3002
home.activeUsers=\u30AA\u30F3\u30E9\u30A4\u30F3\u30E6\u30FC\u30B6\u30FC
inOutList.type.pcbFixture=PCB\u30B8\u30B0
fixture.type=\u30B8\u30B0\u30BF\u30A4\u30D7
dataLog.orderSource=\u30B3\u30DE\u30F3\u30C9\u30BD\u30FC\u30B9
reload.succeeded=\u30EA\u30ED\u30FC\u30C9\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002
barcode.produceDate=\u751F\u7523\u65E5\u4ED8
upload.heading=\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
areaView.tasks=\u30BF\u30B9\u30AF
settings.api.outNotifaction=\u51FA\u5EAB\u901A\u77E5
activeUsers.message=\u5217\u8868\u4E3A\u767B\u5F55\u6210\u529F\u4E14session\u4E3A\u8FC7\u671F\u7684\u7528\u6237\u3002\u30EA\u30B9\u30C8\u306F\u30ED\u30B0\u30A4\u30F3\u306B\u6210\u529F\u3057\u3001session\u304C\u671F\u9650\u5207\u308C\u306E\u30E6\u30FC\u30B6\u3067\u3059\u3002
menu.admin.reload=\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u518D\u8AAD\u307F\u8FBC\u307F
solder.model=\u578B\u756A
activeUsers.fullName=\u5168\u79F0
upload.message=\u30E1\u30A4\u30F3\u30B7\u30B9\u30C6\u30E0\u3067\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3067\u304D\u308B\u30D5\u30A1\u30A4\u30EB\u306F2 MB\u3092\u8D85\u3048\u306A\u3044\u3067\u3059\u3002
menu.bigdata.runStatus=\u5B9F\u884C\u7D71\u8A08
pcb.updateTitle=PCB\u8A73\u7D30
solder.storageTime=\u958B\u5C01\u5F8C\u306E\u4FDD\u5B58\u53EF\u80FD\u6642\u9593
userProfile.showMore=\u8A73\u7D30\u60C5\u5831\u3092\u898B\u308B
runStatus.throughput=\u30B9\u30EB\u30FC\u30D7\u30C3\u30C8
solder.encapsulation.tube=\u30D1\u30A4\u30D7
pcb.validPeriod=\u6709\u52B9\u671F
icon.warning=\u8B66\u544A
display.title=\u30D5\u30A1\u30A4\u30EB\u3092\u6210\u529F\u306B\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u307E\u3057\u305F\u3002
label.username=\u30E6\u30FC\u30B6\u30FC\u540D
allBoxView.findAndOut=\u51FA\u5EAB\u30B5\u30FC\u30C1
userList.title=\u30E6\u30FC\u30B6\u30FC\u30EA\u30B9\u30C8
errors.integer={0} \u306F\u5FC5\u305A\u6570\u5B57\u3067\u3042\u308B\u3002
userProfile.admin.message=\u6B21\u306E\u8868\u306E\u3088\u3046\u306B\u30E6\u30FC\u30B6\u30FC\u306E\u60C5\u5831\u3092\u66F4\u65B0\u3067\u304D\u307E\u3059\u3002
chart.temperature=\u6E29\u5EA6
menu.order=\u30E9\u30A4\u30C8\u30AA\u30FC\u30C0\u30FC
login.passwordHint.sent={0}\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u63D0\u793A\u30E1\u30C3\u30BB\u30FC\u30B8\u306F\u6210\u529F\u306B {1}\u307E\u3067\u9001\u308A\u307E\u3057\u305F\u3002
specifiedBatch.startIn=\u5165\u5EAB\u3092\u958B\u59CB
settings.pcbEmail.expire=PCB\u304C\u671F\u9593\u5207\u308C
runStatus.stockIn=\u5165\u5EAB\u91CF
solder.maxStoreNum=\u6700\u5927\u5BB9\u91CF
settings.pcbEmail.reminder=\u30EA\u30DE\u30A4\u30F3\u30C9
barCodeSettings.print.width=\u5E45
icon.warning.img=/images/iconWarning.gif
userProfile.accountSettings=\u30A2\u30AB\u30A6\u30F3\u30C8\u8A2D\u7F6E
checkoutSettings.title=\u51FA\u5EAB\u7B56\u7565
inOutList.inDate=\u5165\u5EAB\u6642\u9593
errors.none=\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u306A\u3044\u3001\u30B5\u30FC\u30D0\u30ED\u30B0\u30D5\u30A1\u30A4\u30EB\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
login.rememberMe=\u30B7\u30B9\u30C6\u30E0\u306B\u81EA\u5206\u306E\u3053\u3068\u3092\u899A\u3048\u3055\u305B\u307E\u3059\u3002
errors.token=\u8981\u6C42\u306F\u5B8C\u5168\u306B\u51E6\u7406\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u64CD\u4F5C\u624B\u9806\u30A8\u30E9\u30FC
signup.email.subject=AppFuse \u30A2\u30AB\u30A6\u30F3\u30C8\u60C5\u5831
menu.product.pcb=PCB \u60C5\u5831
runStatus.solderOutgoing=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u51FA\u5EAB\u91CF
solder.encapsulation.can=\u7F36\u88C5
javax.faces.component.UIInput.REQUIRED={0} \u306F\u5FC5\u8981\u9805\u76EE
errors.creditcard={0} \u30AF\u30EC\u30B8\u30C3\u30C8\u30AB\u30FC\u30C9\u756A\u53F7\u3092\u7121\u52B9\u306B\u3057\u307E\u3059\u3002
inOutList.type.component=\u30C7\u30D0\u30A4\u30B9
solder.storeNum=\u4FDD\u7BA1\u91CF
menu.inRule=\u5165\u5EAB\u7B56\u7565
allBoxView.msg.cancelMsg=\u30B8\u30E7\u30D6\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3059\u304B\uFF1F
menu.product.others=\u4ED6\u306E\u6750\u6599\u60C5\u5831
specifiedBatch.task=\u30BF\u30B9\u30AF
menu.selectFile=\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
checkoutSettings.mode=\u51FA\u5EAB\u65B9\u5F0F
allBoxView.boxStatus=\u30B9\u30C8\u30EC\u30FC\u30B8\u72B6\u614B
inOutList.outOper=\u51FA\u5EAB\u54E1
errorPage.heading=\u6B8B\u5FF5\uFF01
user.updated.byAdmin=\u30E6\u30FC\u30B6\u30FC\uFF5B0\uFF5D\u306E\u60C5\u5831\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002
checkout.sucess=\u51FA\u5EAB\u30EA\u30B9\u30C8\u306B\u6210\u529F\u306B\u8FFD\u52A0\u3057\u307E\u3059\u3002
userProfile.assignRoles=\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC\u3092\u5206\u914D
alarmInfo.detail=\u8B66\u544A\u60C5\u5831
login.passwordHint=\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5FD8\u308C\u307E\u3057\u305F\u304B?\u30B7\u30B9\u30C6\u30E0\u306F <a href\="?" onmouseover\="window.status\='\u30B7\u30B9\u30C6\u30E0\u304C\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u63D0\u793A\u3002'; return true" onmouseout\="window.status\=''; return true" title\="\u30B7\u30B9\u30C6\u30E0\u304C\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u63D0\u793A\u3002" onclick\="passwordHint(); return false">\u5BC6\u7801\u63D0\u793A\u4FE1\u606F\u4EE5e-mail\u5F62\u5F0F\u53D1\u9001\u7ED9\u60A8</a>\u3002
solder.maxStorageTime=\u5BA4\u6E29\u3067\u6700\u5927\u4FDD\u5B58\u6642\u9593
menu.box.manage=\u30DC\u30C3\u30AF\u30B9\u7BA1\u7406
solder.hour=\u6642\u9593
chart.humidity=\u6E7F\u5EA6
areaView.stockWaring=\u5E93\u5B58\u9884\u8B66
areaView.batch=\u6279\u6B21
areaView.tasks=\u4EFB\u52A1
menu.findout=\u67E5\u627E\u51FA\u5E93
menu.inRule=\u5165\u5E93\u7B56\u7565
menu.outRule=\u51FA\u5E93\u7B56\u7565
menu.system.settings=\u7CFB\u7EDF\u8BBE\u7F6E
menu.system=\u7CFB\u7EDF
menu.bigdata=\u5927\u6570\u636E
menu.bigdata.runStatus=\u8FD0\u884C\u7EDF\u8BA1
menu.bigdata.inOutList=\u51FA\u5165\u5E93\u8BB0\u5F55
menu.bigdata.dataReport=\u6570\u636E\u62A5\u544A
menu.bigdata.dataLog=\u7269\u6599\u65E5\u5FD7
menu.bigdata.errorLog=\u5F02\u5E38\u5206\u6790
menu.barCode.settings=\u6761\u7801\u8BBE\u7F6E
menu.box=\u4E91\u6599\u4ED3
menu.box.manage=\u6599\u4ED3\u7BA1\u7406
menu.box.virtualStorage=\u865A\u62DF\u4ED3
menu.box.liteBox=SMD BOX LITE
menu.box.boxi=SMD BOXi
menu.cloud.inventory=\u5E93\u5B58\u6C47\u603B
menu.cloud.numModify=\u6570\u91CF\u6821\u51C6
menu.order=\u8F7B\u5DE5\u5355
menu.order.management=\u5DE5\u5355\u7BA1\u7406
menu.product=\u4EA7\u54C1\u4FE1\u606F
menu.product.component=\u5143\u5668\u4EF6\u4FE1\u606F
menu.product.solder=\u9521\u818F\u4FE1\u606F
menu.product.pcb=PCB \u4FE1\u606F
menu.product.others=\u5176\u4ED6\u7269\u6599\u4FE1\u606F
menu.product.fixture=\u5939\u5177\u4FE1\u606F
menu.kanban=KANBAN
allBoxView.kanban=\u770B\u677F
allBoxView.temperature=\u6E29\u5EA6
allBoxView.humidity=\u6E7F\u5EA6
allBoxView.boxStatus=\u6599\u4ED3\u72B6\u6001
allBoxView.capacity=\u5BB9\u91CF
allBoxView.used=\u5DF2\u4F7F\u7528
allBoxView.lastPage=\u4E0A\u4E00\u9875
allBoxView.nextPage=\u4E0B\u4E00\u9875
allBoxView.findAndOut=\u67E5\u627E\u51FA\u5E93
allBoxView.outTitle=\u51FA\u5E93
allBoxView.noReel=\u65E0\u53EF\u7528\u7684\u7269\u6599
allBoxView.msg.title=\u63D0\u793A
allBoxView.msg.cancelMsg=\u786E\u5B9A\u8981\u53D6\u6D88\u4EFB\u52A1\u5417?
checkoutSettings.title=\u51FA\u5E93\u7B56\u7565
checkoutSettings.mode=\u51FA\u5E93\u65B9\u5F0F
checkoutSettings.mode.expireFirst=\u5148\u8FC7\u671F\u5148\u51FA
checkoutSettings.mode.usedFirst=\u5C3E\u6599\u5148\u51FA
checkoutSettings.mode.fifo=\u5148\u8FDB\u5148\u51FA
checkoutSettings.mode.efficiency=\u6548\u7387\u4F18\u5148
boxView.range=\u8303\u56F4
boxView.openDoor=\u6253\u5F00\u95E8\u9501
boxView.closeDoor=\u5173\u95ED\u95E8\u9501
boxView.startBatchIn=\u5F00\u59CB\u6279\u91CF\u5165\u5E93
boxView.takeOutReel=\u53D6\u51FA\u51FA\u5E93\u6599\u76D8
boxView.takeDoorReel=\u95E8\u53E3\u6599\u76D8\u5DF2\u53D6\u51FA
boxView.singleOut=\u5355\u76D8\u51FA\u5E93
boxView.doorStatus=\u4ED3\u95E8\u72B6\u6001
allBoxView.msg.cancelFinished=\u53D6\u6D88\u6210\u529F
boxView.taskCancel=\u5DF2\u53D6\u6D88
boxView.taskExcuting=\u6B63\u5728\u6267\u884C
boxView.taskFinished=\u5DF2\u5B8C\u6210
boxView.taskWaiting=\u7B49\u5F85\u4E2D
boxView.cancelTask=\u53D6\u6D88
solder.type=\u9521\u818F\u7C7B\u578B
solder.type.noLead=\u65E0\u94C5
solder.type.lead=\u6709\u94C5
solder.model=\u578B\u53F7
solder.encapsulation=\u5305\u88C5\u65B9\u5F0F
solder.encapsulation.tube=\u7BA1\u88C5
solder.encapsulation.can=\u7F50\u88C5
solder.storageCondition=\u51B0\u7BB1\u5B58\u50A8\u6761\u4EF6
solder.maxStorageTime=\u5BA4\u6E29\u6700\u591A\u5B58\u50A8\u65F6\u95F4
solder.hour=\u5C0F\u65F6
solder.warmTime=\u56DE\u6E29\u65F6\u95F4
solder.maxStoreNum=\u6700\u5927\u5B58\u50A8\u91CF
solder.storageTime=\u5F00\u5C01\u540E\u53EF\u4EE5\u4FDD\u5B58\u65F6\u95F4
solder.minStoreNum=\u6700\u5C0F\u5B58\u50A8\u91CF
solder.storeNum=\u5B58\u50A8\u91CF
pcb.validPeriod=\u6709\u6548\u671F
pcb.fixtureNumber=\u5939\u5177\u7F16\u53F7
pcb.family=Family
solder.updateTitle=\u9521\u818F\u8BE6\u60C5
pcb.updateTitle=PCB\u8BE6\u60C5
otherComponent.updateTitle=\u5176\u4ED6\u7269\u6599\u8BE6\u60C5
fixture.updateTitle=\u5939\u5177\u8BE6\u60C5
otherComponent.expensive=\u8D35\u91CD\u7269\u6599
fixture.type=\u5939\u5177\u7C7B\u578B
settings.showRange=\u663E\u793A\u8303\u56F4
settings.humiture=\u6E29\u6E7F\u5EA6
settings.pcbEmail=PCB\u8FC7\u671F\u90AE\u4EF6\u63D0\u9192
btn.test=\u6D4B\u8BD5
settings.api=API \u8BBE\u7F6E
settings.api.inNotifaction=\u5165\u5E93\u901A\u77E5
settings.api.outNotifaction=\u51FA\u5E93\u901A\u77E5
settings.pcbEmail.everyday=\u6BCF\u65E5
settings.pcbEmail.reminder=\u63D0\u9192
settings.pcbEmail.reminderDay=\u5929\u524D\u63D0\u9192
settings.pcbEmail.expire=PCB\u8FC7\u671F
settings.pcbEmail.adress=Emails (\u591A\u4E2A\u7528;\u53F7\u9694\u5F00)
barCodeSettings.rule=\u6761\u7801\u89C4\u5219
barCodeSettings.ruleNotes=\u8BF4\u660E\:\u5206\u5272\u7B26\u4E3A\u5355\u4E2A\u5B57\u7B26,\u53EF\u7528\u5B57\u6BB5\u6709\: PN\u4E3A\u7269\u6599\u7F16\u53F7\u5373 PartNumber, RI \u4E3A\u552F\u4E00\u7801\u5373ReelId,\u5F53\u552F\u4E00\u7801\u4E3A\u6761\u7801\u7684\u6240\u6709\u5185\u5BB9\u65F6\u4F7F\u7528[RI], QTY \u4E3A\u6570\u91CF, SP \u4E3A\u4F9B\u5E94\u5546, BATCH \u4E3A\u6279\u6B21, PRODATEyyyyMMdd\u4E3A\u751F\u4EA7\u65E5\u671F, EXPDATEyyyyMMdd\u4E3A\u8FC7\u671F\u65E5\u671F, xx\u6216\u7A7A\u4E3A\u65E0\u5BF9\u5E94\u7684\u5B57\u6BB5,\u5176\u4E2D\u5FC5\u987B\u542B\u6709PN\u548C RI, QTY\u4E3A\u7A7A\u65F6\u4F7F\u7528\u6863\u6848\u7684\u5C01\u88C5\u6570\u91CF
barCodeSettings.print=\u6761\u7801\u6253\u5370
barCodeSettings.print.pageSize=\u7EB8\u5F20\u5C3A\u5BF8
barCodeSettings.print.height=\u9AD8
barCodeSettings.print.width=\u5BBD
barcode.updateTitle=\u6761\u7801\u8BE6\u60C5
btn.view=\u67E5\u770B
runStatus.throughput=\u541E\u5410\u91CF
runStatus.alarmInfo=\u62A5\u8B66\u4FE1\u606F
runStatus.alarmTimes=\u62A5\u8B66\u6B21\u6570
runStatus.alarmLastTime=\u62A5\u8B66\u6301\u7EED\u65F6\u95F4
runStatus.minutes=\u5206\u949F
virtualStorage.taskList=\u30BF\u30B9\u30AF\u30EA\u30B9\u30C8
button.login=\u767B\u9332
errors.range={0} \u306F {1} \u3068 {2} \u306E\u7BC4\u56F2\u306E\u5916\u3002
errors.email={0} \u306F\u7121\u52B9\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3002
barCodeSettings.ruleNotes=\u8AAC\u660E\uFF1A\u533A\u5207\u308A\u7B26\u53F7\u306F1\u6587\u5B57\u3067\u3001\u5229\u7528\u53EF\u80FD\u306A\u30D5\u30A3\u30FC\u30EB\u30C9\uFF1A PN\u306F PartNumber\uFF0CRI \u306F\u552F\u4E00\u30B3\u30FC\u30C9\u3001\u3059\u306A\u308F\u3061ReelId\u3001\u552F\u4E00\u30B3\u30FC\u30C9\u304C\u30D0\u30FC\u30B3\u30FC\u30C9\u306E\u3059\u3079\u3066\u306E\u5185\u5BB9\u306E\u5834\u5408\u306B\u4F7F\u7528\u3057\u307E\u3059\u3002[RI]\uFF0CQTY \u4E3A\u6570\u91CF\uFF0CSP \u4E3A\u4F9B\u5E94\u5546\uFF0C BATCH \u4E3A\u6279\u6B21\uFF0CPRODATEyyyyMMdd\u4E3A\u751F\u4EA7\u65E5\u671F\uFF0CEXPDATEyyyyMMdd\u4E3A\u8FC7\u671F\u65E5\u671F\uFF0Cxx\u6216\u7A7A\u4E3A\u65E0\u5BF9\u5E94\u7684\u5B57\u6BB5\uFF0C\u5176\u4E2D\u5FC5\u987B\u542B\u6709PN\u548C RI\uFF0C QTY\u4E3A\u7A7A\u65F6\u4F7F\u7528\u6863\u6848\u7684\u5C01\u88C5\u6570\u91CF
activeUsers.summary=\u30E6\u30FC\u30B6\u30FC {0} \u3092\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002 {1} \u306E\u30E6\u30FC\u30B6\u30FC\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059\u3002 {2} \u304B\u3089 {3}\u307E\u3067\u3002 {4} / {5} \u30DA\u30FC\u30B8
allBoxView.lastPage=\u524D\u306E\u30DA\u30FC\u30B8
specifiedBatch.createDate=\u65E5\u4ED8\u3092\u4F5C\u6210
boxView.taskCancel=\u30AD\u30E3\u30F3\u30BB\u30EB\u6E08\u307F
boxView.cancelTask=\u30AD\u30E3\u30F3\u30BB\u30EB
select.all=\u5168\u90E8
user.address.city=\u90FD\u5E02
inOutList.type.solderFixture=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u30B8\u30B0
user.registered=\u6CE8\u518C\u6210\u529F\uFF0C\u60A8\u53EF\u4EE5\u5F00\u59CB\u4F7F\u7528\u7CFB\u7EDF\u3002\u767B\u9332\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002\u30B7\u30B9\u30C6\u30E0\u306E\u5229\u7528\u3092\u3067\u304D\u307E\u3059\u3002
dataReport.pcbOverdue=PCB\u671F\u9650\u3092\u8D85\u904E\u3057\u3066\u5EC3\u68C4\u3059\u308B\u6570\u91CF
button.maintenance.finished=\u30E1\u30F3\u30C6\u30F3\u30CA\u30F3\u30B9\u5B8C\u6210
uploadForm.file=\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E
user.logout=\u9000\u51FA
otherComponent.expensive=\u8CB4\u91CD\u6750\u6599
runStatus.times=\u6B21
select.all=\u6240\u6709
inOutList.in=\u5165\u5E93
inOutList.out=\u51FA\u5E93
inOutList.operate=\u64CD\u4F5C
inOutList.type=\u7C7B\u578B
inOutList.type.component=\u5143\u5668\u4EF6
inOutList.type.solder=\u9521\u818F
inOutList.type.pcb=PCB
inOutList.type.others=\u5176\u4ED6
inOutList.time=\u65F6\u95F4
inOutList.inOper=\u5165\u5E93\u4EBA
inOutList.outOper=\u51FA\u5E93\u4EBA
inOutList.inDate=\u5165\u5E93\u65F6\u95F4
inOutList.outDate=\u51FA\u5E93\u65F6\u95F4
button.backup=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7
inOutList.type.others=\u305D\u306E\u307B\u304B
dataReport.solderStock=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u30EA\u30A2\u30EA\u30C6\u30A3\u30FC\u5728\u5EAB\u60C5\u5831
checkoutSettings.mode.produceDate=\u751F\u7523\u65E5\u4ED8\u3092\u512A\u5148
allBoxView.used=\u4F7F\u7528\u6E08\u307F
user.address.country=\u56FD\u5BB6
userProfile.cookieLogin=\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B7\u30B9\u30C6\u30E0\u306B\u899A\u3048\u308B\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u9078\u629E\u3057\u307E\u3057\u305F\u3002\u30B7\u30B9\u30C6\u30E0\u3092\u7D42\u4E86\u3057\u3066\u3001\u518D\u767B\u9332\u6642\u306B\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u5909\u66F4\u3092\u8A66\u307F\u3066\u304F\u3060\u3055\u3044\u3002
menu.cloud.inventory=\u5728\u5EAB\u306E\u307E\u3068\u3081
signup.title=\u767B\u9332
settings.pcbEmail.adress=Emails (\u8907\u6570\u304C\u4F7F\u7528\u53EF\u80FD;\u30BB\u30DF\u30B3\u30ED\u30F3\u3067\u533A\u5225)
settings.restore.confirm=\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u5FA9\u5143\u3057\u307E\u3059\u304B\uFF1F
alarmInfo.type=\u30A8\u30E9\u30FC\u30BF\u30A4\u30D7
chart.solder.used=\u6750\u6599\u306E\u6D88\u8017
date.format=yyyy-MM-dd
menu.product.solder=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u60C5\u5831
btn.view=\u30C1\u30A7\u30C3\u30AF
time.minutes=\u5206\u9593
areaView.batch=\u30D0\u30C3\u30C1
settings.restore.success=\u64CD\u4F5C\u6210\u529F
inventory.lockTitle=\u30ED\u30C3\u30AF/\u5728\u5EAB
menu.bigdata.inOutList=\u5165\u51FA\u5EAB\u8A18\u9332
signup.email.message=ApFuse\u306B\u767B\u9332\u3057\u307E\u3057\u305F\u3002\u30E6\u30FC\u30B6\u540D\u3068\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u60C5\u5831\u306F\u4EE5\u4E0B\u306E\u901A\u308A\u3067\u3059\u3002
allBoxView.msg.cancelFinished=\u30AD\u30E3\u30F3\u30BB\u30EB\u3092\u6210\u529F
maintenance.status.1=\u904B\u884C\u4E2D
maintenance.status.0=\u505C\u6B62
settings.api.inNotifaction=\u5165\u5EAB\u901A\u77E5
solder.encapsulation=\u5305\u88C5\u65B9\u5F0F
user.availableRoles=\u4F7F\u7528\u53EF\u80FD\u306E\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC
settings.backupHours=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30B5\u30A4\u30AF\u30EB
boxView.taskExcuting=\u5B9F\u884C\u4E2D
dataReport.pcbStock=PCB\u306E\u30EA\u30A2\u30EA\u30C6\u30A3\u30FC\u5728\u5EAB
user.website=\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u306E\u30A2\u30C9\u30EC\u30B9
user.roles=\u73FE\u5728\u306E\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC
dataReport.solderUsage=\u6750\u6599\u306E\u6D88\u8017
label.password=\u30D1\u30B9\u30EF\u30FC\u30C9
otherComponent.updateTitle=\u4ED6\u306E\u6750\u6599\u306E\u60C5\u5831
menu.product.fixture=\u30B8\u30B0\u306E\u60C5\u5831
user.phoneNumber=\u96FB\u8A71
inOutList.in=\u5165\u5EAB
alarmInfo.position=\u4F4D\u7F6E
alarmInfo.detail=\u62A5\u8B66\u8BE6\u60C5
alarmInfo.type=\u62A5\u8B66\u7C7B\u578B
alarmInfo.time=\u62A5\u8B66\u65F6\u95F4
alarmInfo.endTime=\u89E3\u9664\u65F6\u95F4
dataLog.status=\u72B6\u6001
dataLog.batch=\u6307\u5B9A\u6279\u6B21
dataLog.orderSource=\u6307\u4EE4\u6765\u6E90
inventory.lockTitle=\u9501\u5B9A/\u5E93\u5B58
inventory.find=\u67E5\u627E
menu.admin=\u30B7\u30B9\u30C6\u30E0\u7BA1\u7406
allBoxView.kanban=\u770B\u677F
maintenance.runTime=\u904B\u884C\u6642\u9593
home.heading=\u3088\u3046\u3053\u305D\uFF01
specifiedBatch.status=\u72B6\u614B
inventory.find=\u30B5\u30FC\u30C1
runStatus.pcbWarehousing=PCB\u5165\u5EAB\u91CF
boxView.taskFinished=\u5B8C\u6210\u6E08\u307F
errors.zip={0} \u306F\u7121\u52B9\u306A\u90F5\u4FBF\u756A\u53F7\u3067\u3059\u3002
runStatus.alarmTimes=\u30A8\u30E9\u30FC\u56DE\u6570
chart.solder.stock=\u6750\u6599\u306E\u5728\u5EAB
errors.twofields=\uFF5B0\uFF5D\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\uFF5B1\uFF5D\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5024\u306F\u4E00\u81F4\u3057\u3066\u3044\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002
errors.byte={0} \u306F\u5FC5\u305Abyte\u30BF\u30A4\u30D7\u3002
specifiedBatch.stopIn=\u5165\u5EAB\u505C\u6B62
time.days=\u65E5
home.message=\u30ED\u30B0\u30A4\u30F3\u6210\u529F\u3002\u4EE5\u4E0B\u306E\u64CD\u4F5C\u3092\u5B9F\u884C\u3067\u304D\u307E\u3059\u3002
login.passwordHint.error=\u30E6\u30FC\u30B6\u30FC\u540D {0}\u306F\u30B7\u30B9\u30C6\u30E0\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093 \u3002
specifiedBatch.name=\u540D\u79F0
specifiedBatch.bottom=\u7248\u5E95
specifiedBatch.top=\u7248\u9762
specifiedBatch.task=\u4EFB\u52A1
specifiedBatch.status=\u72B6\u6001
specifiedBatch.createDate=\u521B\u5EFA\u65E5\u671F
specifiedBatch.startIn=\u5F00\u59CB\u5165\u5E93
specifiedBatch.addOutTasks=\u52A0\u5165\u51FA\u5E93\u5217\u8868
specifiedBatch.stopIn=\u505C\u6B62\u5165\u5E93
inOutList.type.solderFixture=\u9521\u818F\u5939\u5177
inOutList.type.pcbFixture=PCB\u5939\u5177
storagePosFind.outSelect=\u51FA\u5E93\u6240\u9009\u4ED3\u4F4D
storagePosFind.outInaction=\u5446\u6EDE\u6599\u51FA\u5E93
storagePosFind.daysAgo=\u5929\u524D
storagePosFind.index=\u5E8F\u53F7
storagePosFind.inFixture=\u6240\u5728\u5939\u5177
inOutList.type.fixture=\u5939\u5177
barcode.produceDate=\u751F\u4EA7\u65E5\u671F
barcode.expireDate=\u8FC7\u671F\u65F6\u95F4
barcode.inStoreRemainTime=\u5728\u5E93/\u5269\u4F59\u65F6\u95F4
virtualStorage.taskList=\u4EFB\u52A1\u5217\u8868
virtualStorage.positionList=\u4ED3\u4F4D\u5217\u8868
menu.kanban=KANBAN
runStatus.alarmInfo=\u8B66\u544A\u60C5\u5831
maintenance.deviceName=\u8A2D\u5099\u540D\u79F0
menu.bigdata.errorLog=\u7570\u5E38\u5206\u6790
barcode.expireDate=\u671F\u9593\u5207\u308C\u306E\u6642\u9593
errors.maxlength=\uFF5B0\uFF5D\u306F\uFF5B1\uFF5D\u306E\u6587\u5B57\u3088\u308A\u5927\u304D\u304F\u3057\u3066\u306F\u3044\u3051\u307E\u305B\u3093\u3002
solder.type.lead=\u925B\u542B\u307F
inOutList.type.solder=\u534A\u7530\u30D9\u30B9\u30C8
user.address.postalCode=\u90F5\u4FBF\u756A\u53F7
btn.test=\u30C6\u30B9\u30C8
boxView.taskWaiting=\u5F85\u3064\u4E2D
runStatus.stockOut=\u51FA\u5EAB\u91CF
user.enabled=\u3067\u304D\u308B
display.heading=\u30D5\u30A1\u30A4\u30EB\u60C5\u5831
icon.email.img=/images/iconEmail.gif
specifiedBatch.top=\u753B\u9762
404.title=\u30DA\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
show.table=\u30D1\u30EC\u30C3\u30C8
storagePosFind.index=\u756A\u53F7
alarmInfo.time=\u8B66\u544A\u6642\u9593
settings.backupPath=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u30D1\u30B9
icon.information.img=/images/iconInformation.gif
solder.minStoreNum=\u6700\u5C0F\u4FDD\u7BA1\u91CF
maintenance.nextTime=\u6B21\u306E\u30E1\u30F3\u30C6\u30CA\u30F3\u30B9\u306E\u65E5\u4ED8
userList.nousers=<span>\u30E6\u30FC\u30B6\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002</span>
uploadForm.name=\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u66F8\u304D\u76F4\u3057\u307E\u3059\u3002
checkoutSettings.mode.fifo=\u5148\u306B\u5165\u308C\u5148\u306B\u51FA\u3059
dataReport.solderStock.warming=\u6E29\u5EA6\u56DE\u5FA9\u4E2D
errors.short={0} \u306F\u5FC5\u305Ashort\u30BF\u30A4\u30D7\u3002
pcb.fixtureNumber=\u30B8\u30B0\u306E\u756A\u53F7
menu.findout=\u51FA\u5EAB\u30B5\u30FC\u30C1
show.desktop=\u30D1\u30BD\u30B3\u30F3
404.message=\u8981\u6C42\u3055\u308C\u305F\u30DA\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u3002 <a href\="{0}">\u30E1\u30A4\u30F3\u30E1\u30CB\u30E5\u30FC</a>\u3092\u623B\u3057\u307E\u3059\u304B\u3002\u3042\u308B\u3044\u306F\u3053\u3053\u3067\u3061\u3087\u3063\u3068\u4F11\u3093\u3067\u3001\u7F8E\u3057\u3044\u5199\u771F\u3092\u9451\u8CDE\u3057\u307E\u3059\u304B\uFF1F
menu.system.maintenance=\u8A2D\u5099\u30E1\u30F3\u30C6\u30CA\u30F3\u30B9
boxView.openDoor=\u30DE\u30EB\u30C1\u5165\u51FA\u5EAB\u53E3\u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664
boxView.singleOut=\u30B7\u30F3\u30B0\u30EB\u51FA\u5EAB
inOutList.type=\u30BF\u30A4\u30D7
menu.product=\u88FD\u54C1\u60C5\u5831
user.deleted=\u30E6\u30FC\u30B6\u30FC {0}\u306E\u60C5\u5831\u3092\u6210\u529F\u306B\u524A\u9664\u3057\u307E\u3059\u3002
virtualStorage.position=\u4F4D\u7F6E
dataReport.print=\u6253\u5370
dataReport.solderUsage=\u7269\u6599\u6D88\u8017\u91CF
dataReport.solderOverdue=\u9521\u818F\u8D85\u671F\u62A5\u5E9F\u6570\u91CF
dataReport.solderStock=\u9521\u818F\u5B9E\u65F6\u5E93\u5B58
dataReport.pcbStock=PCB\u5B9E\u65F6\u5E93\u5B58
dataReport.pcbOverdue=PCB\u8D85\u671F\u62A5\u5E9F\u6570\u91CF
dataReport.solderStock.warming=\u6B63\u5728\u56DE\u6E29
dataReport.solderStock.soonToExpire=\u5373\u5C06\u8FC7\u671F
dataReport.solderStock.invalid=\u5931\u6548
dataReport.overduePcb=\u8FC7\u671FPCB
runStatus.solderOutgoing=\u9521\u818F\u51FA\u5E93\u91CF
runStatus.pcbOutgoing=PCB\u51FA\u5E93\u91CF
runStatus.pcbWarehousing=PCB\u5165\u5E93\u91CF
runStatus.solderWarehousing=\u9521\u818F\u5165\u5E93\u91CF
show.desktop=\u7535\u8111
show.table=\u5E73\u677F
menu.system.maintenance=\u8BBE\u5907\u7EF4\u62A4
maintenance.device.1_device_inoutAxis=\u8FDB\u51FA\u8F74
maintenance.device.1_device_middleAxis=\u65CB\u8F6C\u8F74
maintenance.device.1_device_updownAxis=\u4E0A\u4E0B\u8F74
maintenance.nextTime=\u4E0B\u6B21\u7EF4\u62A4\u65F6\u95F4
maintenance.deviceName=\u8BBE\u5907\u540D\u79F0
maintenance.runTime=\u8FD0\u884C\u65F6\u957F
maintenance.status=\u5F53\u524D\u72B6\u6001
maintenance.status.0=\u505C\u6B62
maintenance.status.1=\u8FD0\u52A8\u4E2D
maintenance.device.1_device_batchAxis=\u6279\u91CF\u4E0A\u4E0B\u6599\u8F74
button.maintenance.finished=\u4FDD\u517B\u5B8C\u6210
settings.maintenanceDays=\u5907\u4EFD\u5468\u671F
settings.backupPath=\u5907\u4EFD\u8DEF\u5F84
settings.backupHours=\u5907\u4EFD\u5468\u671F
button.backup=\u5907\u4EFD
button.restore=\u8FD8\u539F
time.seconds=\u79D2
time.minutes=\u5206\u949F
time.hours=\u5C0F\u65F6
time.days=\u5929
system.backup.noPath=\u8BF7\u5148\u8BBE\u7F6E\u5907\u4EFD\u8DEF\u5F84
settings.backup.versions=\u7248\u672C\u5217\u8868
settings.restore.warning=\u8B66\u544A\:\u8FD8\u539F\u540E,\u7CFB\u7EDF\u5C06\u8FD8\u539F\u5230\u6B64\u7248\u672C,\u4E14\u8BE5\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\!\!\!
settings.restore.confirm=\u786E\u5B9A\u8981\u8FD8\u539F\u5230\u6B64\u7248\u672C
settings.restore.success=\u64CD\u4F5C\u6210\u529F
checkout.sucess=\u52A0\u5165\u51FA\u5E93\u4EFB\u52A1\u5217\u8868\u6210\u529F
runStatus.stockOut=\u51FA\u5E93\u91CF
runStatus.stockIn=\u5165\u5E93\u91CF
checkoutSettings.mode.produceDate=\u751F\u4EA7\u65E5\u671F\u4F18\u5148
\ No newline at end of file
user.saved=\u60C5\u5831\u306F\u6210\u529F\u306B\u66F4\u65B0\u3057\u307E\u3057\u305F\u3002
boxView.doorStatus=\u30C9\u30A2\u72B6\u614B
maintenance.device.1_device_middleAxis=\u56DE\u8EE2\u8EF8
newuser.email.message={0} App Fuse\u30A2\u30AB\u30A6\u30F3\u30C8\u3092\u4F5C\u6210\u3057\u307E\u3057\u305F\u3002\u30E6\u30FC\u30B6\u30FC\u540D\u3068\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u4EE5\u4E0B\u306E\u901A\u308A\u3067\u3059\u3002
errors.detail={0}
boxView.closeDoor=\u30DE\u30EB\u30C1\u5165\u51FA\u5EAB\u53E3\u304C\u30ED\u30C3\u30AF\u3057\u307E\u3057\u305F\u3002
solder.storageCondition=\u51B7\u8535\u5EAB\u306E\u4FDD\u5B58\u6761\u4EF6
user.email=E-Mail
menu.product.component=\u30C7\u30D0\u30A4\u30B9\u60C5\u5831
inOutList.type.pcb=PCB
solder.warmTime=\u6E29\u5EA6\u56DE\u5FA9\u306E\u6642\u9593
storagePosFind.outSelect=\u9078\u629E\u3057\u305F\u51FA\u5EAB\u30B9\u30C8\u30EC\u30FC\u30B8
403.title=\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F\u3002
allBoxView.humidity=\u6E7F\u5EA6
dataReport.overduePcb=\u671F\u9593\u5207\u308C\u305FPCB
errors.minlength=\uFF5B0\uFF5D\u306F\uFF5B1\uFF5D\u500B\u306E\u6587\u5B57\u3088\u308A\u5C0F\u3055\u304F\u3066\u306F\u3044\u3051\u307E\u305B\u3093\u3002
## Do NOT delete! Keep this line to avoid the native2ascii UTF-8 BOM bug. See #APF-639
user.status=\u5F53\u524D\u7528\u6237:
user.logout=\u9000\u51FA
# -- validator errors --
errors.invalid={0} \u65E0\u6548\u3002
errors.maxlength={0} \u4E0D\u80FD\u5927\u4E8E {1} \u4E2A\u5B57\u7B26\u3002
errors.minlength={0} \u4E0D\u80FD\u5C11\u4E8E {1} \u4E2A\u5B57\u7B26\u3002
errors.range={0} \u672A\u5728 {1} \u4E0E {2} \u8303\u56F4\u5185\u3002
errors.required={0} \u4E3A\u5FC5\u586B\u9879\u3002
errors.byte={0} \u5FC5\u987B\u4E3Abyte\u7C7B\u578B\u3002
errors.date={0} \u4E0D\u662F\u6709\u6548\u65E5\u671F\u683C\u5F0F\u3002
#
#Mon Dec 21 14:52:30 CST 2020
checkoutSettings.mode.usedFirst=\u5C3E\u6599\u5148\u51FA
boxView.takeOutReel=\u53D6\u51FA\u6599\u76D8
allBoxView.noReel=\u65E0\u53EF\u7528\u7684\u7269\u6599
settings.pcbEmail.everyday=\u6BCF\u65E5
inOutList.outDate=\u51FA\u5E93\u65F6\u95F4
userList.heading=\u5728\u7EBF\u7528\u6237
menu.barCode.settings=\u6761\u7801\u8BBE\u7F6E
login.title=\u767B\u5F55
barcode.inStoreRemainTime=\u5728\u5E93/\u5269\u4F59\u65F6\u95F4
settings.pcbEmail=PCB\u8FC7\u671F\u90AE\u4EF6\u63D0\u9192
menu.bigdata=\u5927\u6570\u636E
menu.box.boxi=SMD BOXi
menu.box.virtualStorage=\u865A\u62DF\u4ED3
inOutList.inOper=\u5165\u5E93\u4EBA
allBoxView.outTitle=\u51FA\u5E93
dataReport.print=\u6253\u5370
menu.admin.users=\u67E5\u770B\u7528\u6237
maintenance.device.1_device_batchAxis=\u6279\u91CF\u4E0A\u4E0B\u6599\u8F74
errors.general=\u64CD\u4F5C\u672A\u5B8C\u6210\u3002\u8BE6\u7EC6\u539F\u56E0\u5982\u4E0B\u3002
errors.double={0} \u5FC5\u987B\u4E3Adouble\u7C7B\u578B\u3002
errors.float={0} \u5FC5\u987B\u4E3Afloat\u7C7B\u578B\u3002
errors.integer={0} \u5FC5\u987B\u4E3A\u4E00\u6570\u503C\u3002
errors.long={0} \u5FC5\u987B\u4E3Along\u7C7B\u578B\u3002
errors.short={0} \u5FC5\u987B\u4E3Ashort\u7C7B\u578B\u3002
errors.creditcard={0} \u4E3A\u65E0\u6548\u4FE1\u7528\u5361\u53F7\u3002
errors.email={0} \u4E3A\u65E0\u6548\u90AE\u4EF6\u5730\u5740\u3002
errors.phone={0} \u4E3A\u65E0\u6548\u7535\u8BDD\u53F7\u7801\u3002
errors.zip={0} \u4E3A\u65E0\u6548\u90AE\u653F\u7F16\u7801\u3002
# -- other errors --
menu.system.settings=\u7CFB\u7EDF\u8BBE\u7F6E
areaView.stockWaring=\u5E93\u5B58\u9884\u8B66
menu.bigdata.dataReport=\u6570\u636E\u62A5\u544A
barCodeSettings.rule=\u6761\u7801\u89C4\u5219
errors.conversion=\u4ECEweb\u5C42\u6570\u636E\u5230\u4E1A\u52A1\u5C42\u6570\u636E\u7684\u8F6C\u6362\u8FC7\u7A0B\u4E2D\uFF0C\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002
fixture.updateTitle=\u5939\u5177\u8BE6\u60C5
settings.pcbEmail.reminderDay=\u5929\u524D\u63D0\u9192
menu.box.liteBox=SMD BOX LITE
errors.cancel=\u64CD\u4F5C\u88AB\u53D6\u6D88\u3002
errors.detail={0}
errors.general=\u64CD\u4F5C\u672A\u5B8C\u6210\u3002\u8BE6\u7EC6\u539F\u56E0\u5982\u4E0B\u3002
errors.token=\u8BF7\u6C42\u672A\u5B8C\u5168\u5904\u7406\u3002\u64CD\u4F5C\u987A\u5E8F\u9519\u8BEF\u3002
errors.none=\u65E0\u9519\u8BEF\u6D88\u606F\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u5668\u65E5\u5FD7\u6587\u4EF6\u3002
menu.order.management=\u5DE5\u5355\u7BA1\u7406
userProfile.title=\u7528\u6237\u8BBE\u7F6E
inOutList.operate=\u64CD\u4F5C
storagePosFind.outInaction=\u5446\u6EDE\u6599\u51FA\u5E93
runStatus.minutes=\u5206\u949F
alarmInfo.endTime=\u89E3\u9664\u65F6\u95F4
user.status=\u5F53\u524D\u7528\u6237\uFF1A
upload.title=\u6587\u4EF6\u4E0A\u4F20
barCodeSettings.print.height=\u9AD8
inOutList.time=\u65F6\u95F4
solder.updateTitle=\u9521\u818F\u8BE6\u60C5
runStatus.pcbOutgoing=PCB\u51FA\u5E93\u91CF
menu.system=\u7CFB\u7EDF
system.backup.noPath=\u8BF7\u5148\u8BBE\u7F6E\u5907\u4EFD\u8DEF\u5F84
errors.required={0} \u4E3A\u5FC5\u586B\u9879\u3002
errors.password.mismatch=\u65E0\u6548\u7528\u6237\u540D\u6216\u5BC6\u7801\uFF0C\u8BF7\u91CD\u8BD5\u3002
errors.conversion=\u5728web\u5C42\u6570\u636E\u5230\u4E1A\u52A1\u5C42\u6570\u636E\u7684\u8F6C\u6362\u8FC7\u7A0B\u4E2D\uFF0C\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002
errors.twofields={0} \u5B57\u6BB5\u4E0E {1} \u5B57\u6BB5\u7684\u503C\u5FC5\u987B\u4E00\u81F4\u3002
errors.existing.user=\u7528\u6237\u540D ({0}) \u6216e-mail\u5730\u5740 ({1}) \u5DF2\u5B58\u5728\u3002\u8BF7\u518D\u6B21\u5C1D\u8BD5\u4E0D\u540C\u540D\u79F0\u3002
# -- success messages --
user.added=\u7528\u6237 {0} \u7684\u4FE1\u606F\u6DFB\u52A0\u6210\u529F\u3002
user.deleted=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5220\u9664\u6210\u529F\u3002
user.registered=\u6CE8\u518C\u6210\u529F\uFF0C\u60A8\u53EF\u4EE5\u5F00\u59CB\u4F7F\u7528\u7CFB\u7EDF\u3002
user.saved=\u60A8\u7684\u4FE1\u606F\u5DF2\u6210\u529F\u66F4\u65B0\u3002
user.updated.byAdmin=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5DF2\u6210\u529F\u66F4\u65B0\u3002
newuser.email.message={0} \u4E3A\u60A8\u6210\u529F\u521B\u5EFA\u4E86\u4E00\u4E2AAppFuse\u5E10\u53F7\u3002\u60A8\u7684\u7528\u6237\u540D\u548C\u5BC6\u7801\u4FE1\u606F\u5982\u4E0B\uFF1A
reload.succeeded=\u5DF2\u7ECF\u6210\u529F\u91CD\u8F7D.
# -- error page messages --
errorPage.title=\u7CFB\u7EDF\u9519\u8BEF
errorPage.heading=\u54E6\uFF01
404.title=\u9875\u9762\u672A\u627E\u5230
404.message=\u8BF7\u6C42\u7684\u9875\u9762\u672A\u627E\u5230\u3002\u60A8\u53EF\u4EE5\u9009\u62E9\u8FD4\u56DE\u5230 <a href="{0}">\u4E3B\u83DC\u5355</a>\u3002\u6216\u8005\u9009\u62E9\u5728\u6B64\u4F11\u606F\u4E00\u4E0B\uFF0C\u5FD8\u6389\u521A\u624D\u7684\u6CAE\u4E27\uFF0C\u6B23\u8D4F\u4E00\u4E2A\u7F8E\u4E3D\u7684\u56FE\u7247\uFF1F
403.title=\u8BBF\u95EE\u88AB\u62D2\u7EDD
403.message=\u60A8\u5F53\u524D\u89D2\u8272\u65E0\u6743\u9650\u67E5\u770B\u6B64\u9875\u9762\u3002\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u5458\uFF0C\u83B7\u5F97\u76F8\u5E94\u7684\u6743\u9650\u6216\u8005\u8FD4\u56DE\u5230<a href="{0}">\u4E3B\u83DC\u5355</a>\u3002\u6B64\u523B\uFF0C\u8BA9\u6211\u4EEC\u5148\u653E\u677E\u4E00\u4E0B\u5427\uFF1F
# -- login --
login.title=\u767B\u5F55
activeUsers.title=\u6D3B\u52A8\u7528\u6237\u5217\u8868
time.seconds=\u79D2
allBoxView.capacity=\u5BB9\u91CF
solder.type.noLead=\u65E0\u94C5
dataReport.solderStock.soonToExpire=\u5373\u5C06\u8FC7\u671F
maintenance.device.1_device_inoutAxis=\u8FDB\u51FA\u8F74
errors.float={0} \u5FC5\u987B\u4E3Afloat\u7C7B\u578B\u3002
login.heading=\u767B\u5F55
login.rememberMe=\u8BA9\u7CFB\u7EDF\u8BB0\u4F4F\u6211
login.signup=\u4E0D\u662F\u6CE8\u518C\u7528\u6237? <a href="{0}">\u7533\u8BF7</a> \u4E00\u4E2A\u5E10\u53F7\u3002
login.passwordHint=\u5FD8\u8BB0\u4E86\u5BC6\u7801? \u8BA9\u7CFB\u7EDF\u5C06 <a href="?" onmouseover="window.status='\u7CFB\u7EDF\u53D1\u9001\u5BC6\u7801\u63D0\u793A\u3002'; return true" onmouseout="window.status=''; return true" title="\u7CFB\u7EDF\u53D1\u9001\u5BC6\u7801\u63D0\u793A\u3002" onclick="passwordHint(); return false">\u5BC6\u7801\u63D0\u793A\u4FE1\u606F\u5DF2e-mail\u5F62\u5F0F\u53D1\u9001\u7ED9\u60A8</a>\u3002
login.passwordHint.sent={0} \u7684\u5BC6\u7801\u63D0\u793A\u5DF2\u6210\u529F\u53D1\u9001\u5230 {1}\u3002
login.passwordHint.error=\u7528\u6237\u540D {0} \u5728\u7CFB\u7EDF\u6570\u636E\u5E93\u4E2D\u672A\u627E\u5230\u3002
# -- home --
home.title=\u4E3B\u83DC\u5355
home.heading=\u6B22\u8FCE\uFF01
home.message=\u606D\u559C\uFF0C\u60A8\u767B\u5F55\u6210\u529F\uFF01\u60A8\u53EF\u4EE5\u9009\u62E9\u6267\u884C\u4EE5\u4E0B\u64CD\u4F5C\uFF1A
home.activeUsers=\u5728\u7EBF\u7528\u6237
# -- menu/link messages --
menu.admin=\u7CFB\u7EDF\u7BA1\u7406
menu.admin.users=\u67E5\u770B\u7528\u6237
menu.admin.reload=\u91CD\u8F7D\u9009\u9879
menu.selectFile=\u4E0A\u4F20\u6587\u4EF6
# -- form labels --
label.username=\u7528\u6237\u540D
label.password=\u5BC6\u7801
# -- general values --
icon.information=\u4FE1\u606F
icon.information.img=/images/iconInformation.gif
icon.email=E-Mail
icon.email.img=/images/iconEmail.gif
icon.warning=\u8B66\u544A
icon.warning.img=/images/iconWarning.gif
date.format=yyyy-MM-dd
# -- role form --
inOutList.out=\u51FA\u5E93
user.confirmPassword=\u786E\u8BA4\u5BC6\u7801
dataLog.status=\u72B6\u6001
signup.heading=\u65B0\u7528\u6237\u6CE8\u518C
solder.type=\u9521\u818F\u7C7B\u578B
settings.restore.warning=\u8B66\u544A\uFF1A\u8FD8\u539F\u540E\uFF0C\u7CFB\u7EDF\u5C06\u8FD8\u539F\u5230\u6B64\u7248\u672C\uFF0C\u4E14\u8BE5\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\!
settings.maintenanceDays=\u5907\u4EFD\u5468\u671F
settings.showRange=\u663E\u793A\u8303\u56F4
errors.long={0} \u5FC5\u987B\u4E3Along\u7C7B\u578B\u3002
errors.existing.user=\u7528\u6237\u540D ({0}) \u6216e-mail\u5730\u5740 ({1}) \u5DF2\u5B58\u5728\u3002\u8BF7\u66F4\u6362\u540D\u79F0\u3002
settings.api=API \u8BBE\u7F6E
user.id=ID
user.visitWebsite=\u6253\u5F00
errorPage.title=\u7CFB\u7EDF\u9519\u8BEF
dataReport.solderStock.invalid=\u5931\u6548
maintenance.status=\u5F53\u524D\u72B6\u6001
inOutList.type.fixture=\u5939\u5177
boxView.range=\u8303\u56F4
settings.humiture=\u6E29\u6E7F\u5EA6
signup.message=\u8BF7\u8F93\u5165\u7528\u6237\u4FE1\u606F\u3002
barCodeSettings.print.pageSize=\u7EB8\u5F20\u5C3A\u5BF8
errors.date={0} \u4E0D\u662F\u6709\u6548\u65E5\u671F\u683C\u5F0F\u3002
user.accountExpired=\u5230\u671F
barCodeSettings.print=\u6761\u7801\u6253\u5370
login.signup=\u4E0D\u662F\u6CE8\u518C\u7528\u6237? <a href\="{0}">\u7533\u8BF7</a> \u4E00\u4E2A\u5E10\u53F7\u3002
403.message=\u60A8\u5F53\u524D\u89D2\u8272\u65E0\u6743\u9650\u67E5\u770B\u6B64\u9875\u9762\u3002\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u5458\u83B7\u53D6\u6743\u9650\uFF0C\u6216\u8005\u8FD4\u56DE\u5230<a href\="{0}">\u4E3B\u83DC\u5355</a>\u3002\u6B64\u523B\uFF0C\u8BA9\u6211\u4EEC\u5148\u653E\u677E\u4E00\u4E0B\u5427\uFF1F
user.added=\u7528\u6237 {0} \u7684\u4FE1\u606F\u6DFB\u52A0\u6210\u529F\u3002
boxView.takeDoorReel=\u95E8\u53E3\u6599\u76D8\u5DF2\u53D6\u51FA
button.restore=\u8FD8\u539F
user.firstName=\u540D
roleForm.name=\u540D\u79F0
# -- user profile page --
userProfile.title=\u7528\u6237\u8BBE\u7F6E
menu.bigdata.dataLog=\u7269\u6599\u65E5\u5FD7
runStatus.solderWarehousing=\u9521\u818F\u5165\u5E93\u91CF
pcb.family=Family
maxLengthExceeded=\u4E0A\u4F20\u7684\u6587\u4EF6\u8FC7\u5927\u3002\u6700\u5927\u5141\u8BB8\u503C\u4E3A 2 MB\u3002
menu.cloud.numModify=\u6570\u91CF\u6821\u51C6
user.accountLocked=\u9501\u7740
errors.invalid={0} \u65E0\u6548\u3002
user.password=\u5BC6\u7801
user.username=\u7528\u6237\u540D
storagePosFind.daysAgo=\u5929\u524D
user.lastName=\u59D3
userProfile.heading=\u7528\u6237\u7B80\u8981\u4FE1\u606F
runStatus.alarmLastTime=\u62A5\u8B66\u6301\u7EED\u65F6\u95F4
allBoxView.nextPage=\u4E0B\u4E00\u9875
maintenance.device.1_device_updownAxis=\u4E0A\u4E0B\u8F74
errors.phone={0} \u4E3A\u65E0\u6548\u7535\u8BDD\u53F7\u7801\u3002
barcode.updateTitle=\u6761\u7801\u8BE6\u60C5
time.hours=\u5C0F\u65F6
specifiedBatch.addOutTasks=\u52A0\u5165\u51FA\u5E93\u5217\u8868
userProfile.message=\u8BF7\u6309\u5982\u4E0B\u8868\u683C\u66F4\u65B0\u60A8\u7684\u4FE1\u606F\u3002
userProfile.admin.message=\u60A8\u53EF\u4EE5\u6309\u5982\u4E0B\u8868\u683C\uFF0C\u66F4\u65B0\u7528\u6237\u7684\u4FE1\u606F\u3002
userProfile.showMore=\u67E5\u770B\u66F4\u591A\u4FE1\u606F
userProfile.accountSettings=\u5E10\u6237\u8BBE\u7F6E
userProfile.assignRoles=\u5206\u914D\u89D2\u8272
userProfile.cookieLogin=\u60A8\u65E0\u6CD5\u66F4\u6539\u5BC6\u7801\uFF0C\u56E0\u4E3A\u60A8\u9009\u62E9\u4E86 \u8BA9\u7CFB\u7EDF\u8BB0\u4F4F\u6211 \u9009\u9879\u3002\u8BF7\u9000\u51FA\u7CFB\u7EDF\uFF0C\u518D\u6B21\u767B\u5F55\u5C1D\u8BD5\u66F4\u6539\u5BC6\u7801\u3002
# -- user form --
storagePosFind.inFixture=\u6240\u5728\u5939\u5177
allBoxView.temperature=\u6E29\u5EA6
user.address.address=\u5730\u5740
user.availableRoles=\u53EF\u7528\u89D2\u8272
user.address.city=\u57CE\u5E02
user.address.country=\u56FD\u5BB6
user.email=E-Mail
user.firstName=\u540D
user.id=Id
user.lastName=\u59D3
user.password=\u5BC6\u7801
user.confirmPassword=\u786E\u8BA4\u5BC6\u7801
user.phoneNumber=\u7535\u8BDD
user.address.postalCode=\u90AE\u7F16
user.address.province=\u5DDE\u7701
user.roles=\u5F53\u524D\u89D2\u8272
user.username=\u7528\u6237\u540D
user.website=\u7F51\u5740
user.visitWebsite=\u6253\u5F00
allBoxView.msg.title=\u63D0\u793A
settings.backup.versions=\u7248\u672C\u5217\u8868
checkoutSettings.mode.efficiency=\u6548\u7387\u4F18\u5148
user.passwordHint=\u5BC6\u7801\u63D0\u793A
user.enabled=\u4F7F\u80FD
user.accountExpired=\u5230\u671F
user.accountLocked=\u9501\u7740
user.credentialsExpired=\u5BC6\u7801\u5230\u671F\u4E86
# -- user list page --
userList.title=\u7528\u6237\u5217\u8868
userList.heading=\u5728\u7EBF\u7528\u6237
userList.nousers=<span>\u6CA1\u627E\u5230\u7528\u6237\u3002</span>
# -- user self-registration --
signup.title=\u6CE8\u518C
signup.heading=\u65B0\u7528\u6237\u6CE8\u518C
signup.message=\u8BF7\u8F93\u5165\u7528\u6237\u4FE1\u606F\u3002
signup.email.subject=AppFuse \u5E10\u6237\u4FE1\u606F
signup.email.message=\u60A8\u5DF2\u6210\u529F\u6CE8\u518C\u5230 AppFuse\u3002\u60A8\u7684\u7528\u6237\u540D\u548C\u5BC6\u7801\u4FE1\u606F\u5982\u4E0B\uFF1A
# -- upload page messages --
maxLengthExceeded=\u9009\u62E9\u4E0A\u4F20\u7684\u6587\u4EF6\u8FC7\u5927\u3002\u6700\u5927\u5141\u8BB8\u503C\u4E3A 2 MB\u3002
upload.title=\u6587\u4EF6\u4E0A\u4F20
upload.heading=\u4E0A\u4F20\u4E00\u6587\u4EF6
upload.message=\u4E3B\u8981\u7CFB\u7EDF\u5141\u8BB8\u4E0A\u4F20\u6587\u4EF6\u7684\u6700\u5927\u503C\u4E3A 2 MB\u3002
uploadForm.name=\u91CD\u547D\u540D\u6587\u4EF6
uploadForm.file=\u9009\u62E9\u6587\u4EF6
# -- display page messages --
display.title=\u6587\u4EF6\u4E0A\u4F20\u6210\u529F\uFF01
display.heading=\u6587\u4EF6\u4FE1\u606F
# -- active users page --
activeUsers.title=\u6D3B\u52A8\u7528\u6237\u5217\u8868
boxView.startBatchIn=\u5F00\u59CB\u6279\u91CF\u5165\u5E93
user.address.province=\u5DDE\u7701
dataLog.batch=\u6307\u5B9A\u6279\u6B21
checkoutSettings.mode.expireFirst=\u5148\u8FC7\u671F\u5148\u51FA
home.title=\u4E3B\u83DC\u5355
menu.outRule=\u51FA\u5E93\u7B56\u7565
virtualStorage.positionList=\u4ED3\u4F4D\u5217\u8868
activeUsers.heading=\u5728\u7EBF\u7528\u6237
activeUsers.message=\u5217\u8868\u4E3A\u5DF2\u6210\u529F\u767B\u5F55\u7684\u3001session\u4E3A\u8FC7\u671F\u7684\u7528\u6237\u3002
activeUsers.fullName=\u5168\u540D
# JSF-only messages, remove if not using JSF
javax.faces.component.UIInput.REQUIRED={0} \u4E3A\u5FC5\u586B\u9879\u3002
activeUsers.summary=\u627E\u5230 {0} \u4E2A\u7528\u6237\uFF0C\u663E\u793A {1} \u4E2A\u7528\u6237\uFF0C\u4ECE {2} \u5230 {3}\u3002 {4} / {5} \u9875
button.login=\u767B\u5F55
chart.solder.used=\u7269\u6599\u6D88\u8017
chart.solder.stock=\u7269\u6599\u5E93\u5B58
chart.temperature=\u6E29\u5EA6
chart.humidity=\u6E7F\u5EA6
areaView.stockWaring=\u5E93\u5B58\u9884\u8B66
areaView.batch=\u6279\u6B21
icon.information=\u4FE1\u606F
menu.box=\u4E91\u6599\u4ED3
dataReport.solderOverdue=\u9521\u818F\u8D85\u671F\u62A5\u5E9F\u6570\u91CF
user.credentialsExpired=\u5BC6\u7801\u5DF2\u5230\u671F
home.activeUsers=\u5728\u7EBF\u7528\u6237
inOutList.type.pcbFixture=PCB\u5939\u5177
fixture.type=\u5939\u5177\u7C7B\u578B
dataLog.orderSource=\u6307\u4EE4\u6765\u6E90
reload.succeeded=\u5DF2\u6210\u529F\u91CD\u8F7D\u3002
barcode.produceDate=\u751F\u4EA7\u65E5\u671F
upload.heading=\u4E0A\u4F20\u4E00\u6587\u4EF6
areaView.tasks=\u4EFB\u52A1
menu.findout=\u67E5\u627E\u51FA\u5E93
menu.inRule=\u5165\u5E93\u7B56\u7565
menu.outRule=\u51FA\u5E93\u7B56\u7565
menu.system.settings=\u7CFB\u7EDF\u8BBE\u7F6E
menu.system=\u7CFB\u7EDF
menu.bigdata=\u5927\u6570\u636E
settings.api.outNotifaction=\u51FA\u5E93\u901A\u77E5
activeUsers.message=\u5217\u8868\u4E3A\u767B\u5F55\u6210\u529F\u4E14session\u4E3A\u8FC7\u671F\u7684\u7528\u6237\u3002
menu.admin.reload=\u91CD\u8F7D\u9009\u9879
solder.model=\u578B\u53F7
activeUsers.fullName=\u5168\u79F0
upload.message=\u4E3B\u8981\u7CFB\u7EDF\u5141\u8BB8\u4E0A\u4F20\u7684\u6587\u4EF6\u4E0D\u8D85\u8FC7 2 MB\u3002
menu.bigdata.runStatus=\u8FD0\u884C\u7EDF\u8BA1
menu.bigdata.inOutList=\u51FA\u5165\u5E93\u8BB0\u5F55
menu.bigdata.dataReport=\u6570\u636E\u62A5\u544A
menu.bigdata.dataLog=\u7269\u6599\u65E5\u5FD7
menu.bigdata.errorLog=\u5F02\u5E38\u5206\u6790
menu.barCode.settings=\u6761\u7801\u8BBE\u7F6E
menu.box=\u4E91\u6599\u4ED3
menu.box.manage=\u6599\u4ED3\u7BA1\u7406
menu.box.virtualStorage=\u865A\u62DF\u4ED3
menu.box.liteBox=SMD BOX LITE
menu.box.boxi=SMD BOXi
menu.cloud.inventory=\u5E93\u5B58\u6C47\u603B
menu.cloud.numModify=\u6570\u91CF\u6821\u51C6
pcb.updateTitle=PCB\u8BE6\u60C5
solder.storageTime=\u5F00\u5C01\u540E\u53EF\u4EE5\u4FDD\u5B58\u7684\u65F6\u95F4
userProfile.showMore=\u67E5\u770B\u66F4\u591A\u4FE1\u606F
runStatus.throughput=\u541E\u5410\u91CF
solder.encapsulation.tube=\u7BA1\u88C5
pcb.validPeriod=\u6709\u6548\u671F
icon.warning=\u8B66\u544A
display.title=\u6587\u4EF6\u4E0A\u4F20\u6210\u529F\uFF01
label.username=\u7528\u6237\u540D
allBoxView.findAndOut=\u67E5\u627E\u51FA\u5E93
userList.title=\u7528\u6237\u5217\u8868
errors.integer={0} \u5FC5\u987B\u4E3A\u4E00\u6570\u503C\u3002
userProfile.admin.message=\u60A8\u53EF\u4EE5\u6309\u5982\u4E0B\u8868\u683C\u66F4\u65B0\u7528\u6237\u7684\u4FE1\u606F\u3002
chart.temperature=\u6E29\u5EA6
menu.order=\u8F7B\u5DE5\u5355
menu.order.management=\u5DE5\u5355\u7BA1\u7406
menu.product=\u4EA7\u54C1\u4FE1\u606F
menu.product.component=\u5143\u5668\u4EF6\u4FE1\u606F
menu.product.solder=\u9521\u818F\u4FE1\u606F
login.passwordHint.sent={0} \u7684\u5BC6\u7801\u63D0\u793A\u5DF2\u6210\u529F\u53D1\u9001\u5230 {1}\u3002
specifiedBatch.startIn=\u5F00\u59CB\u5165\u5E93
settings.pcbEmail.expire=PCB\u8FC7\u671F
runStatus.stockIn=\u5165\u5E93\u91CF
solder.maxStoreNum=\u6700\u5927\u5B58\u50A8\u91CF
settings.pcbEmail.reminder=\u63D0\u9192
barCodeSettings.print.width=\u5BBD
icon.warning.img=/images/iconWarning.gif
userProfile.accountSettings=\u5E10\u6237\u8BBE\u7F6E
checkoutSettings.title=\u51FA\u5E93\u7B56\u7565
inOutList.inDate=\u5165\u5E93\u65F6\u95F4
errors.none=\u65E0\u9519\u8BEF\u6D88\u606F\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u5668\u65E5\u5FD7\u6587\u4EF6\u3002
login.rememberMe=\u8BA9\u7CFB\u7EDF\u8BB0\u4F4F\u6211
errors.token=\u8BF7\u6C42\u672A\u88AB\u5B8C\u5168\u5904\u7406\u3002\u64CD\u4F5C\u987A\u5E8F\u9519\u8BEF\u3002
signup.email.subject=AppFuse \u5E10\u6237\u4FE1\u606F
menu.product.pcb=PCB \u4FE1\u606F
menu.product.others=\u5176\u4ED6\u7269\u6599\u4FE1\u606F
menu.product.fixture=\u5939\u5177\u4FE1\u606F
menu.kanban=KANBAN
allBoxView.kanban=\u770B\u677F
allBoxView.temperature=\u6E29\u5EA6
allBoxView.humidity=\u6E7F\u5EA6
allBoxView.boxStatus=\u6599\u4ED3\u72B6\u6001
allBoxView.capacity=\u5BB9\u91CF
allBoxView.used=\u5DF2\u4F7F\u7528
allBoxView.lastPage=\u4E0A\u4E00\u9875
allBoxView.nextPage=\u4E0B\u4E00\u9875
allBoxView.findAndOut=\u67E5\u627E\u51FA\u5E93
allBoxView.outTitle=\u51FA\u5E93
allBoxView.noReel=\u65E0\u53EF\u7528\u7684\u7269\u6599
allBoxView.msg.title=\u63D0\u793A
runStatus.solderOutgoing=\u9521\u818F\u51FA\u5E93\u91CF
solder.encapsulation.can=\u7F50\u88C5
javax.faces.component.UIInput.REQUIRED={0} \u4E3A\u5FC5\u586B\u9879\u3002
errors.creditcard={0} \u4E3A\u65E0\u6548\u4FE1\u7528\u5361\u53F7\u3002
inOutList.type.component=\u5143\u5668\u4EF6
solder.storeNum=\u5B58\u50A8\u91CF
menu.inRule=\u5165\u5E93\u7B56\u7565
allBoxView.msg.cancelMsg=\u786E\u5B9A\u8981\u53D6\u6D88\u4EFB\u52A1\u5417?
checkoutSettings.title=\u51FA\u5E93\u7B56\u7565
menu.product.others=\u5176\u4ED6\u7269\u6599\u4FE1\u606F
specifiedBatch.task=\u4EFB\u52A1
menu.selectFile=\u4E0A\u4F20\u6587\u4EF6
checkoutSettings.mode=\u51FA\u5E93\u65B9\u5F0F
checkoutSettings.mode.expireFirst=\u5148\u8FC7\u671F\u5148\u51FA
checkoutSettings.mode.usedFirst=\u5C3E\u6599\u5148\u51FA
checkoutSettings.mode.fifo=\u5148\u8FDB\u5148\u51FA
checkoutSettings.mode.efficiency=\u6548\u7387\u4F18\u5148
boxView.range=\u8303\u56F4
boxView.openDoor=\u6253\u5F00\u95E8\u9501
boxView.closeDoor=\u5173\u95ED\u95E8\u9501
boxView.startBatchIn=\u5F00\u59CB\u6279\u91CF\u5165\u5E93
boxView.takeOutReel=\u53D6\u51FA\u51FA\u5E93\u6599\u76D8
boxView.takeDoorReel=\u95E8\u53E3\u6599\u76D8\u5DF2\u53D6\u51FA
boxView.singleOut=\u5355\u76D8\u51FA\u5E93
boxView.doorStatus=\u4ED3\u95E8\u72B6\u6001
allBoxView.msg.cancelFinished=\u53D6\u6D88\u6210\u529F
boxView.taskCancel=\u5DF2\u53D6\u6D88
boxView.taskExcuting=\u6B63\u5728\u6267\u884C
boxView.taskFinished=\u5DF2\u5B8C\u6210
boxView.taskWaiting=\u7B49\u5F85\u4E2D
boxView.cancelTask=\u53D6\u6D88
solder.type=\u9521\u818F\u7C7B\u578B
solder.type.noLead=\u65E0\u94C5
solder.type.lead=\u6709\u94C5
solder.model=\u578B\u53F7
solder.encapsulation=\u5305\u88C5\u65B9\u5F0F
solder.encapsulation.tube=\u7BA1\u88C5
solder.encapsulation.can=\u7F50\u88C5
solder.storageCondition=\u51B0\u7BB1\u5B58\u50A8\u6761\u4EF6
allBoxView.boxStatus=\u6599\u4ED3\u72B6\u6001
inOutList.outOper=\u51FA\u5E93\u5458
errorPage.heading=\u54E6\uFF01
user.updated.byAdmin=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5DF2\u6210\u529F\u66F4\u65B0\u3002
checkout.sucess=\u52A0\u5165\u51FA\u5E93\u4EFB\u52A1\u5217\u8868\u6210\u529F
userProfile.assignRoles=\u5206\u914D\u89D2\u8272
alarmInfo.detail=\u62A5\u8B66\u8BE6\u60C5
login.passwordHint=\u5FD8\u8BB0\u5BC6\u7801? \u8BA9\u7CFB\u7EDF\u5C06 <a href\="?" onmouseover\="window.status\='\u7CFB\u7EDF\u53D1\u9001\u5BC6\u7801\u63D0\u793A\u3002'; return true" onmouseout\="window.status\=''; return true" title\="\u7CFB\u7EDF\u53D1\u9001\u5BC6\u7801\u63D0\u793A\u3002" onclick\="passwordHint(); return false">\u5BC6\u7801\u63D0\u793A\u4FE1\u606F\u4EE5e-mail\u5F62\u5F0F\u53D1\u9001\u7ED9\u60A8</a>\u3002
solder.maxStorageTime=\u5BA4\u6E29\u6700\u591A\u5B58\u50A8\u65F6\u95F4
menu.box.manage=\u6599\u4ED3\u7BA1\u7406
solder.hour=\u5C0F\u65F6
solder.warmTime=\u56DE\u6E29\u65F6\u95F4
solder.maxStoreNum=\u6700\u5927\u5B58\u50A8\u91CF
solder.storageTime=\u5F00\u5C01\u540E\u53EF\u4EE5\u4FDD\u5B58\u65F6\u95F4
solder.minStoreNum=\u6700\u5C0F\u5B58\u50A8\u91CF
solder.storeNum=\u5B58\u50A8\u91CF
pcb.validPeriod=\u6709\u6548\u671F
pcb.fixtureNumber=\u5939\u5177\u7F16\u53F7
pcb.family=Family
solder.updateTitle=\u9521\u818F\u8BE6\u60C5
pcb.updateTitle=PCB\u8BE6\u60C5
otherComponent.updateTitle=\u5176\u4ED6\u7269\u6599\u8BE6\u60C5
fixture.updateTitle=\u5939\u5177\u8BE6\u60C5
chart.humidity=\u6E7F\u5EA6
virtualStorage.taskList=\u4EFB\u52A1\u5217\u8868
button.login=\u767B\u5F55
errors.range={0} \u672A\u5728 {1} \u4E0E {2} \u8303\u56F4\u5185\u3002
errors.email={0} \u4E3A\u65E0\u6548\u90AE\u4EF6\u5730\u5740\u3002
barCodeSettings.ruleNotes=\u8BF4\u660E\uFF1A\u5206\u5272\u7B26\u4E3A\u5355\u4E2A\u5B57\u7B26\uFF0C\u53EF\u7528\u5B57\u6BB5\u6709\uFF1A PN\u4E3A\u7269\u6599\u7F16\u53F7\u5373 PartNumber\uFF0CRI \u4E3A\u552F\u4E00\u7801\u5373ReelId\uFF0C\u5F53\u552F\u4E00\u7801\u4E3A\u6761\u7801\u7684\u6240\u6709\u5185\u5BB9\u65F6\u4F7F\u7528[RI]\uFF0CQTY \u4E3A\u6570\u91CF\uFF0CSP \u4E3A\u4F9B\u5E94\u5546\uFF0C BATCH \u4E3A\u6279\u6B21\uFF0CPRODATEyyyyMMdd\u4E3A\u751F\u4EA7\u65E5\u671F\uFF0CEXPDATEyyyyMMdd\u4E3A\u8FC7\u671F\u65E5\u671F\uFF0Cxx\u6216\u7A7A\u4E3A\u65E0\u5BF9\u5E94\u7684\u5B57\u6BB5\uFF0C\u5176\u4E2D\u5FC5\u987B\u542B\u6709PN\u548C RI\uFF0C QTY\u4E3A\u7A7A\u65F6\u4F7F\u7528\u6863\u6848\u7684\u5C01\u88C5\u6570\u91CF
activeUsers.summary=\u627E\u5230 {0} \u4E2A\u7528\u6237\uFF0C\u663E\u793A {1} \u4E2A\u7528\u6237\uFF0C\u4ECE {2} \u5230 {3}\u3002 {4} / {5} \u9875
allBoxView.lastPage=\u4E0A\u4E00\u9875
specifiedBatch.createDate=\u521B\u5EFA\u65E5\u671F
boxView.taskCancel=\u5DF2\u53D6\u6D88
boxView.cancelTask=\u53D6\u6D88
select.all=\u6240\u6709
user.address.city=\u57CE\u5E02
inOutList.type.solderFixture=\u9521\u818F\u5939\u5177
user.registered=\u6CE8\u518C\u6210\u529F\uFF0C\u60A8\u53EF\u4EE5\u5F00\u59CB\u4F7F\u7528\u7CFB\u7EDF\u3002
dataReport.pcbOverdue=PCB\u8D85\u671F\u62A5\u5E9F\u6570\u91CF
button.maintenance.finished=\u4FDD\u517B\u5B8C\u6210
uploadForm.file=\u9009\u62E9\u6587\u4EF6
user.logout=\u9000\u51FA
otherComponent.expensive=\u8D35\u91CD\u7269\u6599
fixture.type=\u5939\u5177\u7C7B\u578B
settings.showRange=\u663E\u793A\u8303\u56F4
settings.humiture=\u6E29\u6E7F\u5EA6
settings.pcbEmail=PCB\u8FC7\u671F\u90AE\u4EF6\u63D0\u9192
btn.test=\u6D4B\u8BD5
settings.api=API \u8BBE\u7F6E
settings.api.inNotifaction=\u5165\u5E93\u901A\u77E5
settings.api.outNotifaction=\u51FA\u5E93\u901A\u77E5
settings.pcbEmail.everyday=\u6BCF\u65E5
settings.pcbEmail.reminder=\u63D0\u9192
settings.pcbEmail.reminderDay=\u5929\u524D\u63D0\u9192
settings.pcbEmail.expire=PCB\u8FC7\u671F
settings.pcbEmail.adress=Emails (\u591A\u4E2A\u7528;\u53F7\u9694\u5F00)
barCodeSettings.rule=\u6761\u7801\u89C4\u5219
barCodeSettings.ruleNotes=\u8BF4\u660E\:\u5206\u5272\u7B26\u4E3A\u5355\u4E2A\u5B57\u7B26,\u53EF\u7528\u5B57\u6BB5\u6709\: PN\u4E3A\u7269\u6599\u7F16\u53F7\u5373 PartNumber, RI \u4E3A\u552F\u4E00\u7801\u5373ReelId,\u5F53\u552F\u4E00\u7801\u4E3A\u6761\u7801\u7684\u6240\u6709\u5185\u5BB9\u65F6\u4F7F\u7528[RI], QTY \u4E3A\u6570\u91CF, SP \u4E3A\u4F9B\u5E94\u5546, BATCH \u4E3A\u6279\u6B21, PRODATEyyyyMMdd\u4E3A\u751F\u4EA7\u65E5\u671F, EXPDATEyyyyMMdd\u4E3A\u8FC7\u671F\u65E5\u671F, xx\u6216\u7A7A\u4E3A\u65E0\u5BF9\u5E94\u7684\u5B57\u6BB5,\u5176\u4E2D\u5FC5\u987B\u542B\u6709PN\u548C RI, QTY\u4E3A\u7A7A\u65F6\u4F7F\u7528\u6863\u6848\u7684\u5C01\u88C5\u6570\u91CF
barCodeSettings.print=\u6761\u7801\u6253\u5370
barCodeSettings.print.pageSize=\u7EB8\u5F20\u5C3A\u5BF8
barCodeSettings.print.height=\u9AD8
barCodeSettings.print.width=\u5BBD
barcode.updateTitle=\u6761\u7801\u8BE6\u60C5
btn.view=\u67E5\u770B
runStatus.throughput=\u541E\u5410\u91CF
runStatus.alarmInfo=\u62A5\u8B66\u4FE1\u606F
runStatus.alarmTimes=\u62A5\u8B66\u6B21\u6570
runStatus.alarmLastTime=\u62A5\u8B66\u6301\u7EED\u65F6\u95F4
runStatus.minutes=\u5206\u949F
runStatus.times=\u6B21
select.all=\u6240\u6709
inOutList.in=\u5165\u5E93
inOutList.out=\u51FA\u5E93
inOutList.operate=\u64CD\u4F5C
inOutList.type=\u7C7B\u578B
inOutList.type.component=\u5143\u5668\u4EF6
inOutList.type.solder=\u9521\u818F
inOutList.type.pcb=PCB
button.backup=\u5907\u4EFD
inOutList.type.others=\u5176\u4ED6
inOutList.time=\u65F6\u95F4
inOutList.inOper=\u5165\u5E93\u4EBA
inOutList.outOper=\u51FA\u5E93\u4EBA
inOutList.inDate=\u5165\u5E93\u65F6\u95F4
inOutList.outDate=\u51FA\u5E93\u65F6\u95F4
alarmInfo.position=\u4F4D\u7F6E
alarmInfo.detail=\u62A5\u8B66\u8BE6\u60C5
dataReport.solderStock=\u9521\u818F\u5B9E\u65F6\u5E93\u5B58
checkoutSettings.mode.produceDate=\u751F\u4EA7\u65E5\u671F\u4F18\u5148
allBoxView.used=\u5DF2\u4F7F\u7528
user.address.country=\u56FD\u5BB6
userProfile.cookieLogin=\u60A8\u65E0\u6CD5\u66F4\u6539\u5BC6\u7801\uFF0C\u56E0\u4E3A\u60A8\u9009\u62E9\u4E86\u201C\u8BA9\u7CFB\u7EDF\u8BB0\u4F4F\u6211\u201D\u9009\u9879\u3002\u8BF7\u9000\u51FA\u7CFB\u7EDF\uFF0C\u5728\u91CD\u65B0\u767B\u5F55\u65F6\u5C1D\u8BD5\u66F4\u6539\u5BC6\u7801\u3002
menu.cloud.inventory=\u5E93\u5B58\u6C47\u603B
signup.title=\u6CE8\u518C
settings.pcbEmail.adress=Emails (\u591A\u4E2A\u7528\u5206\u53F7;\u9694\u5F00)
settings.restore.confirm=\u786E\u5B9A\u8981\u8FD8\u539F\u5230\u6B64\u7248\u672C\uFF1F
alarmInfo.type=\u62A5\u8B66\u7C7B\u578B
alarmInfo.time=\u62A5\u8B66\u65F6\u95F4
alarmInfo.endTime=\u89E3\u9664\u65F6\u95F4
dataLog.status=\u72B6\u6001
dataLog.batch=\u6307\u5B9A\u6279\u6B21
dataLog.orderSource=\u6307\u4EE4\u6765\u6E90
chart.solder.used=\u7269\u6599\u6D88\u8017
date.format=yyyy-MM-dd
menu.product.solder=\u9521\u818F\u4FE1\u606F
btn.view=\u67E5\u770B
time.minutes=\u5206\u949F
areaView.batch=\u6279\u6B21
settings.restore.success=\u64CD\u4F5C\u6210\u529F
inventory.lockTitle=\u9501\u5B9A/\u5E93\u5B58
menu.bigdata.inOutList=\u51FA\u5165\u5E93\u8BB0\u5F55
signup.email.message=\u60A8\u5DF2\u6210\u529F\u6CE8\u518C\u5230AppFuse\u3002\u60A8\u7684\u7528\u6237\u540D\u548C\u5BC6\u7801\u4FE1\u606F\u5982\u4E0B\uFF1A
allBoxView.msg.cancelFinished=\u53D6\u6D88\u6210\u529F
maintenance.status.1=\u8FD0\u884C\u4E2D
maintenance.status.0=\u505C\u6B62
settings.api.inNotifaction=\u5165\u5E93\u901A\u77E5
solder.encapsulation=\u5305\u88C5\u65B9\u5F0F
user.availableRoles=\u53EF\u7528\u89D2\u8272
settings.backupHours=\u5907\u4EFD\u5468\u671F
boxView.taskExcuting=\u6B63\u5728\u6267\u884C
dataReport.pcbStock=PCB\u5B9E\u65F6\u5E93\u5B58
user.website=\u7F51\u5740
user.roles=\u5F53\u524D\u89D2\u8272
dataReport.solderUsage=\u7269\u6599\u6D88\u8017\u91CF
label.password=\u5BC6\u7801
otherComponent.updateTitle=\u5176\u4ED6\u7269\u6599\u8BE6\u60C5
menu.product.fixture=\u5939\u5177\u4FE1\u606F
user.phoneNumber=\u7535\u8BDD
inOutList.in=\u5165\u5E93
alarmInfo.position=\u4F4D\u7F6E
menu.admin=\u7CFB\u7EDF\u7BA1\u7406
allBoxView.kanban=\u770B\u677F
maintenance.runTime=\u8FD0\u884C\u65F6\u957F
home.heading=\u6B22\u8FCE\uFF01
specifiedBatch.status=\u72B6\u6001
inventory.find=\u67E5\u627E
runStatus.pcbWarehousing=PCB\u5165\u5E93\u91CF
boxView.taskFinished=\u5DF2\u5B8C\u6210
errors.zip={0} \u4E3A\u65E0\u6548\u90AE\u653F\u7F16\u7801\u3002
runStatus.alarmTimes=\u62A5\u8B66\u6B21\u6570
chart.solder.stock=\u7269\u6599\u5E93\u5B58
errors.twofields={0} \u5B57\u6BB5\u4E0E {1} \u5B57\u6BB5\u7684\u503C\u5FC5\u987B\u4E00\u81F4\u3002
errors.byte={0} \u5FC5\u987B\u4E3Abyte\u7C7B\u578B\u3002
specifiedBatch.stopIn=\u505C\u6B62\u5165\u5E93
time.days=\u5929
home.message=\u606D\u559C\u60A8\u767B\u5F55\u6210\u529F\uFF01\u60A8\u53EF\u4EE5\u9009\u62E9\u6267\u884C\u4EE5\u4E0B\u64CD\u4F5C\uFF1A
login.passwordHint.error=\u7528\u6237\u540D {0} \u5728\u7CFB\u7EDF\u6570\u636E\u5E93\u4E2D\u672A\u627E\u5230\u3002
specifiedBatch.name=\u540D\u79F0
specifiedBatch.bottom=\u7248\u5E95
menu.kanban=KANBAN
runStatus.alarmInfo=\u62A5\u8B66\u4FE1\u606F
maintenance.deviceName=\u8BBE\u5907\u540D\u79F0
menu.bigdata.errorLog=\u5F02\u5E38\u5206\u6790
barcode.expireDate=\u8FC7\u671F\u65F6\u95F4
errors.maxlength={0} \u4E0D\u80FD\u5927\u4E8E {1} \u4E2A\u5B57\u7B26\u3002
solder.type.lead=\u542B\u94C5
inOutList.type.solder=\u9521\u818F
user.address.postalCode=\u90AE\u7F16
btn.test=\u6D4B\u8BD5
boxView.taskWaiting=\u7B49\u5F85\u4E2D
runStatus.stockOut=\u51FA\u5E93\u91CF
user.enabled=\u4F7F\u80FD
display.heading=\u6587\u4EF6\u4FE1\u606F
icon.email.img=/images/iconEmail.gif
specifiedBatch.top=\u7248\u9762
specifiedBatch.task=\u4EFB\u52A1
specifiedBatch.status=\u72B6\u6001
specifiedBatch.createDate=\u521B\u5EFA\u65E5\u671F
specifiedBatch.startIn=\u5F00\u59CB\u5165\u5E93
specifiedBatch.addOutTasks=\u52A0\u5165\u51FA\u5E93\u5217\u8868
specifiedBatch.stopIn=\u505C\u6B62\u5165\u5E93
inOutList.type.solderFixture=\u9521\u818F\u5939\u5177
inOutList.type.pcbFixture=PCB\u5939\u5177
storagePosFind.outSelect=\u51FA\u5E93\u6240\u9009\u4ED3\u4F4D
storagePosFind.outInaction=\u5446\u6EDE\u6599\u51FA\u5E93
storagePosFind.daysAgo=\u5929\u524D
404.title=\u9875\u9762\u672A\u627E\u5230
show.table=\u5E73\u677F
storagePosFind.index=\u5E8F\u53F7
storagePosFind.inFixture=\u6240\u5728\u5939\u5177
inOutList.type.fixture=\u5939\u5177
barcode.produceDate=\u751F\u4EA7\u65E5\u671F
barcode.expireDate=\u8FC7\u671F\u65F6\u95F4
barcode.inStoreRemainTime=\u5728\u5E93/\u5269\u4F59\u65F6\u95F4
virtualStorage.taskList=\u4EFB\u52A1\u5217\u8868
virtualStorage.positionList=\u4ED3\u4F4D\u5217\u8868
virtualStorage.position=\u4F4D\u7F6E
dataReport.print=\u6253\u5370
dataReport.solderUsage=\u7269\u6599\u6D88\u8017\u91CF
dataReport.solderOverdue=\u9521\u818F\u8D85\u671F\u62A5\u5E9F\u6570\u91CF
dataReport.solderStock=\u9521\u818F\u5B9E\u65F6\u5E93\u5B58
dataReport.pcbStock=PCB\u5B9E\u65F6\u5E93\u5B58
dataReport.pcbOverdue=PCB\u8D85\u671F\u62A5\u5E9F\u6570\u91CF
alarmInfo.time=\u62A5\u8B66\u65F6\u95F4
settings.backupPath=\u5907\u4EFD\u8DEF\u5F84
icon.information.img=/images/iconInformation.gif
solder.minStoreNum=\u6700\u5C0F\u5B58\u50A8\u91CF
maintenance.nextTime=\u4E0B\u6B21\u7EF4\u62A4\u65F6\u95F4
userList.nousers=<span>\u672A\u627E\u5230\u7528\u6237\u3002</span>
uploadForm.name=\u91CD\u547D\u540D\u6587\u4EF6
checkoutSettings.mode.fifo=\u5148\u8FDB\u5148\u51FA
dataReport.solderStock.warming=\u6B63\u5728\u56DE\u6E29
dataReport.solderStock.soonToExpire=\u5373\u5C06\u8FC7\u671F
dataReport.solderStock.invalid=\u5931\u6548
dataReport.overduePcb=\u8FC7\u671FPCB
runStatus.solderOutgoing=\u9521\u818F\u51FA\u5E93\u91CF
runStatus.pcbOutgoing=PCB\u51FA\u5E93\u91CF
runStatus.pcbWarehousing=PCB\u5165\u5E93\u91CF
runStatus.solderWarehousing=\u9521\u818F\u5165\u5E93\u91CF
errors.short={0} \u5FC5\u987B\u4E3Ashort\u7C7B\u578B\u3002
pcb.fixtureNumber=\u5939\u5177\u7F16\u53F7
menu.findout=\u67E5\u627E\u51FA\u5E93
show.desktop=\u7535\u8111
show.table=\u5E73\u677F
404.message=\u8BF7\u6C42\u7684\u9875\u9762\u672A\u627E\u5230\u3002\u60A8\u53EF\u4EE5\u9009\u62E9\u8FD4\u56DE\u5230 <a href\="{0}">\u4E3B\u83DC\u5355</a>\u3002\u6216\u8005\u9009\u62E9\u5728\u6B64\u4F11\u606F\u4E00\u4E0B\uFF0C\u5FD8\u6389\u521A\u624D\u7684\u6CAE\u4E27\uFF0C\u6B23\u8D4F\u4E00\u4E2A\u7F8E\u4E3D\u7684\u56FE\u7247\uFF1F
menu.system.maintenance=\u8BBE\u5907\u7EF4\u62A4
maintenance.device.1_device_inoutAxis=\u8FDB\u51FA\u8F74
boxView.openDoor=\u6279\u91CF\u95E8\u89E3\u9501
boxView.singleOut=\u5355\u76D8\u51FA\u5E93
inOutList.type=\u7C7B\u578B
menu.product=\u4EA7\u54C1\u4FE1\u606F
user.deleted=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5220\u9664\u6210\u529F\u3002
virtualStorage.position=\u4F4D\u7F6E
user.saved=\u60A8\u7684\u4FE1\u606F\u5DF2\u6210\u529F\u66F4\u65B0\u3002
boxView.doorStatus=\u4ED3\u95E8\u72B6\u6001
maintenance.device.1_device_middleAxis=\u65CB\u8F6C\u8F74
maintenance.device.1_device_updownAxis=\u4E0A\u4E0B\u8F74
maintenance.nextTime=\u4E0B\u6B21\u7EF4\u62A4\u65F6\u95F4
maintenance.deviceName=\u8BBE\u5907\u540D\u79F0
maintenance.runTime=\u8FD0\u884C\u65F6\u957F
maintenance.status=\u5F53\u524D\u72B6\u6001
maintenance.status.0=\u505C\u6B62
maintenance.status.1=\u8FD0\u52A8\u4E2D
maintenance.device.1_device_batchAxis=\u6279\u91CF\u4E0A\u4E0B\u6599\u8F74
button.maintenance.finished=\u4FDD\u517B\u5B8C\u6210
settings.maintenanceDays=\u5907\u4EFD\u5468\u671F
settings.backupPath=\u5907\u4EFD\u8DEF\u5F84
settings.backupHours=\u5907\u4EFD\u5468\u671F
button.backup=\u5907\u4EFD
button.restore=\u8FD8\u539F
time.seconds=\u79D2
time.minutes=\u5206\u949F
time.hours=\u5C0F\u65F6
time.days=\u5929
system.backup.noPath=\u8BF7\u5148\u8BBE\u7F6E\u5907\u4EFD\u8DEF\u5F84
settings.backup.versions=\u7248\u672C\u5217\u8868
settings.restore.warning=\u8B66\u544A\:\u8FD8\u539F\u540E,\u7CFB\u7EDF\u5C06\u8FD8\u539F\u5230\u6B64\u7248\u672C,\u4E14\u8BE5\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\!\!\!
settings.restore.confirm=\u786E\u5B9A\u8981\u8FD8\u539F\u5230\u6B64\u7248\u672C
settings.restore.success=\u64CD\u4F5C\u6210\u529F
checkout.sucess=\u52A0\u5165\u51FA\u5E93\u4EFB\u52A1\u5217\u8868\u6210\u529F
runStatus.stockOut=\u51FA\u5E93\u91CF
runStatus.stockIn=\u5165\u5E93\u91CF
checkoutSettings.mode.produceDate=\u751F\u4EA7\u65E5\u671F\u4F18\u5148
\ No newline at end of file
newuser.email.message={0} \u4E3A\u60A8\u6210\u529F\u521B\u5EFA\u4E86\u4E00\u4E2AAppFuse\u5E10\u53F7\u3002\u60A8\u7684\u7528\u6237\u540D\u548C\u5BC6\u7801\u4FE1\u606F\u5982\u4E0B\uFF1A
errors.detail={0}
boxView.closeDoor=\u6279\u91CF\u95E8\u4E0A\u9501
solder.storageCondition=\u51B0\u7BB1\u5B58\u50A8\u6761\u4EF6
user.email=E-Mail
menu.product.component=\u5143\u5668\u4EF6\u4FE1\u606F
inOutList.type.pcb=PCB
solder.warmTime=\u56DE\u6E29\u65F6\u95F4
storagePosFind.outSelect=\u51FA\u5E93\u6240\u9009\u4ED3\u4F4D
403.title=\u8BBF\u95EE\u88AB\u62D2\u7EDD
allBoxView.humidity=\u6E7F\u5EA6
dataReport.overduePcb=\u8FC7\u671FPCB
errors.minlength={0} \u4E0D\u80FD\u5C11\u4E8E {1} \u4E2A\u5B57\u7B26\u3002
......@@ -93,6 +93,7 @@ barcode.amount=Qty
barcode.plateSize=Diameter
barcode.height=Height
barcode.provider=Supplier
barcode.supplierPn=Supplier PN
barcode.batch=Batch
barcode.expireDate=Expiration Date
barcode.saveSuccess=Barcode Saved
......@@ -339,8 +340,8 @@ batch.btn.singleOut=Single Out
batch.btn.batchOut=Batch Out
batch.btn.singleIn=Single In
batch.btn.closeDoor=Close Door
alarm.inaction.title=Inaction Alarm
alarm.inaction.msg=The amount of inaction material {0} days ago was [{1}]
alarm.inaction.title=Sluggish Material Alarm
alarm.inaction.msg=The quantity of sluggish materials {0} days ago was [{1}], please deal with it in time
alarm.expire.title=Expire Alarm
alarm.expire.msg=The amount of expire material is [{0}]
......@@ -365,9 +366,10 @@ shelf.msg.hasReel=There position [{0}] already has material
shelf.msg.tipScanReel=Please scan the material to put in [{0}]
shelf.msg.fastop=Barcode operate is too fast
shelf.msg.scanPos=Please scan the position code
shelf.nextPos.hasTask=Next Position [{0}] already has task, please scan a new position code.
shelf.nextPos.hasReel=Next Position [{0}] already has material, please scan a new position code.
shelf.nextPos.wrongSize=Next Position [{0}] size [{1}] is different from material size [{2}] please scan a new position code.
shelf.nextPos.hasTask=Location [{0}] already has an existing task, please scan a new location code.
shelf.nextPos.hasReel=A material is already in the location [{0}], please scan a new location code.
shelf.nextPos.wrongSize=x The size [{1}] of location [{0}] does not match the material size [{2}], please scan a new location code.
shelf.error.orderError=The task does not match the specified order [{0}].
order.out.set=set of materials
order.out.surplus=surplus material
......@@ -423,6 +425,7 @@ error.barcode.noRule=There is no rule of the barcode is setted.
error.barcode.wrongLength=The code string [{0}] has wrong length.
error.barcode.noField=There is no {0} field in the code string.
error.barcode.wrongPn=The partnumber is wrong
error.barcode.wrongProduceDate=The manufacturing date is wrong
error.barcode.pnNotExist=x Component {0} does not exist
error.barcode.errorSize=x The reel has no size.
error.storage.noPosFind=No availble position is found.
......@@ -440,4 +443,7 @@ solder.status.3=Waiting to stir
solder.status.4=Strring
solder.status.5=Waiting shipment
solder.status.6=Outting
solder.status.7=Retreat storage
\ No newline at end of file
solder.status.7=Retreat storage
order.out.executing=The order is executing.
order.out.maxOrder=The maximum number of executable orders has been reached
order.out.noTask=The order has no reel to out.
\ No newline at end of file
menu.home=HOME
menu.workOrder=Lite Work Order
menu.workOrder.search=Work Order Search
menu.workOrder.new=New Work Order
menu.component=Product Management
menu.component.bom=BOM Management
menu.component.search=Component Profile
menu.component.inventory=Inventory Management
menu.cloud=Material Cloud
menu.cloud.storage=SMD BOX
menu.cloud.checkOut=Material Search
menu.barCode=Barcode
menu.barCode.new=Barcode Setup
menu.barCode.search=Barcode Search
menu.batch = Batch
menu.batch.feeder =Feeder Station Sequence
menu.batch.specifiedBatch=Specified Batch
#
#Mon Dec 21 13:44:29 CST 2020
menu.user=User Management
menu.user.account=Account Management
storage.clearAllPos=Clear All
shelf.msg.notFound=Shelf is not found.
button.checkout=Material Retrieval
op.status.pause=Process paused
barcode.provider=Supplier
cabinet.error.validOp=Operation failure\: unable to open the door
workOrder.deleteSuccess=Work Order deleted
updatePassword.newPassword.label=New Password
workOrder.amount=Quantity
cabinet.card=Secure Access
order.modify.tip=Modify Qty to the current quantity
profile.password.subtitle=Change Password
barcode.saveSuccess=Barcode saved
error.barcode.pnNotExist=x Component {0} does not exist
alarm.inaction.title=Sluggish Material Alarm
dataLog.search.subtitle=Material Storage&Retrieval Log
boxChart.confirm=Material Retrieval Confirm
shelf.msg.outOk=Please take out the material from the location [{0}]
menu.component.search=Component Profile
area.item.name=Area
alarm.store.title=Inventory Alarm
menu.user.role=Role Management
menu.help=Help
menu.dataLog.search=Logging system
menu.boxManager=Box Management
top.menu.profile=My Profile
top.menu.logout=Log Out
home.kanban=KANBAN
home.chart.component=Material Distribution
home.chart.component.overview=Overview
home.chart.component.componentAmount=Amount
home.chart.component.positionNum=Occupied Storage
home.chart.storage=Storag Efficiency
home.chart.storage.total=Total Location
home.chart.storage.useage=Occupied
home.chart.storage.empty=Free
workOrder.title=Work Order Management
workOrder.subtitle=Work Order Search
workOrder.update.title=Work Order Management
workOrder.update.subtitle=Work Order Info.
workOrder.list=Work Order List
workOrder.saveSuccess=Work Order Saved
workOrder.deleteSuccess=Work Order Deleted
workOrder.checkoutSuccess=Work Order completed
workOrder.error.emptyBom=No BOM ties to selected Work Order
workOrder.workOrder=Work Order
workOrder.name=Order Number
workOrder.amount=Quantity
workOrder.error.amount=Work Order Qty cannot be 0
checkOut.componentName=Component Name
checkOut.pos=Location
checkOut.operate=Operation
component.search.subtitle=Component List
component.list=Component List
component.update.subtitle=Component Info.
component.item.name=Component
component.name=Name
component.partNumber=Part Number
component.plateSize=Diameter
component.height=Height
component.amount=Qty
component.encapsulation=Package
component.unit=Unit
component.unitCost=Unit Cost
component.provider=Supplier
component.providerNumber=Supplier No.
component.producer=Manufacturer
component.producerNumber=Manufacturer No.
component.msl=MSL Level
component.productionType=Part Number
component.description=Description
component.partNumber.exist=Part Number Existed!
component.pic=Picture
component.saveSuccess=Component Saved
component.deleteSuccess=Component Deleted
component.name.empty=Name is required
component.partNumber.empty=Part Number is required
component.error.bomUsed=You cannot delete the component in use with BOM
component.error.notExist=Component {0}does not exist
component.error.notFound=Component cannot be found
component.smdAlarmValue=AMD Alarm
barcode.search.subtitle=Barcode Search
barcode.item.name=Barcode
barcode.print=Print
barcode.update.subtitle=Barcode Info.
barcode.barcode=Barcode
barcode.partNumber=Part Number
barcode.amount=Qty
barcode.plateSize=Diameter
barcode.height=Height
barcode.provider=Supplier
barcode.batch=Batch
barcode.expireDate=Expiration Date
barcode.saveSuccess=Barcode Saved
barcode.deleteSuccess=Barcode Deleted
barcode.storage.input=input barcode please
barcode.error.unique=Barcode [{0}] already occupied
barcode.error.empty=Barcode is empty, please check information input
barcode.error.partNumber.empty=No component ties to {0}
barcode.error.amount.negative=The quantity of component ties to {0} need to more than 0
barcode.error.component.notExist=No component ties to {0} please check\u3002
barcode.error.notExist={0} does not exist
barcode.error.inStorage={0} in the storage
barcode.error.slotExist=Component is not in the storage
barcode.memo=Memo
storage.search.subtitle=Storage Search
storage.item.name=Storage
storage.slotAmount=Storage Qty
storage.update.subtitle=Storage info.
storage.status=Status
storage.chart.temperature=Temperature
storage.chart.humidity=Humidity
storage.status.1=System Connected
storage.status.2=Emergency Stop
storage.status.3=Error
storage.status.4=Warning
storage.status.5=In Maintenance
storage.status.6=Material Receiving In Process
storage.status.7=Material Receiving Completed
storage.status.8=Material Receiving Failed
storage.status.9=Material Retrieval in Porcess
storage.status.10=Materail Retrieval Completed
storage.status.11=Material Retrieval End
storage.status.12=Material transfering
storage.status.13=System resetting
sotrage.status.999=Offline
storage.type=Type
storage.type.auto=Auto
storage.type.manual=Manual
storage.type.line=DCS
cabinet.error.noPos=Storage location does not exist
storage.virtual.pnlimit=Specified Partnumber
storage.type.virtual=Virtual Material Management
storage.type.online=Inline System
storage.type.batch=Batch
storage.type.shelf=Shelf
storage.type.cabinet=Cabinet
storage.compatibility=Compatibility
storage.enable=Enable
storage.enable.yes=Yes
storage.enable.no=No
storage.enable.prohibit=Prohibit
storage.enable.enable=Enable
storage.posSize=Position Size
storage.clearPos=Clear
storage.clearAllPos=Clear All
storage.clearPos.msg=The unrecoverable operation will clear the inventory, please confirm all the reels is out. Are you sure to continue?
storage.match.exactMatch=Exact Match
storage.match.fullyCompatible=Fully Compatible
dataLog.item.name=Material Storage&Retrieval Log
barcode.error.notExist={0} does not exist
button.delete=Delete
button.addto.checkout=Add to Retrieval List
workOrder.list=Work Order List
chart.showType.MONTH=Month
home.chart.storage=Storage Efficiency
barcode.error.partNumber.empty=No component is tied to {0}, please check the data.
storage.match.sizeCompatible=Same Size Compatible
storage.name=Name
storage.cid=Operation Terminal No.
storage.boxCount=SMD BOX used
storage.slotList=Location List
op.status.none=
storage.status=Status
component.update.subtitle=Component Info
component.description=Description
component.plateSize=Diameter
storage.virtual.numEmpty=The number of material is required.
error.barcode.wrongSize=The reel size [{0}] is unqualified
area.putInEndTime=Material Storage Deadline
component.deleteSuccess=Component deleted
storagePos.name=Location No.
storagePos.priority=Priority
storagePos.width=Width
storagePos.height=Height
storagePos.layer=Slot
storagePos.update=Please update the location information
storagePos.saveSuccess=Location information Saved
storage.saveSuccess=Storage Information Saved
storage.error.notExist=Storage does not exist
storage.error.unique=Storage name already existed
storage.error.full=Intended Storage is full please transfer to another one.
storage.error.cidUnique=Storage terminal name needto be unique
errors.upload.fileNotExist=The uploaed file does not exist, please try again.
button.add=Create
button.return=Return
button.delete=Delete
button.edit=Edit
button.save=Save
barcode.error.inStorage={0} is in the storage
batch.btn.singleIn=Start Single Storage
button.upload=Upload
button.view=View
button.reset=Reset
button.search=Search
button.cancel=Cancel
button.putin=Material Receiving
button.checkout=Material Retrieval
button.uploadFile=File Upload
button.end=End
file.title=Please upload the file
authority.component.manage=Component Management
authority.bom.manage= BOM Management
authority.workorder.manage=Work Order Management
button.save=Save
barcode.error.empty=Barcode is empty, please check whether the barcode data is correct.
authority.barcode.manage=Barcode Management
authority.storage.manage=Storage Management
authority.role.manage=Role Management
authority.user.manage=User Management
authority.stockOut=Material Receiving /Retrieval
authority.feeder=Work Order Management
authority.specifiedBatch=Specified Material Batch No.
authority.virtual=Virtual Materail Management
authority.feeder.view=Work Order View
authority.valuable.out=Precious Material Retrieval
authority.dataLog=Running Info.
error.save=Error occurred,please try again.
role.search.subtitle=Role List
role.update.subtitle=Role Detail
role.update.name=Role Name
role.update.description=Description
storage.search.subtitle=Storage Search
storage.area=Area
component.unit=Unit
alarm.temperature.msg=Temperature\: {0} is out of range [{1}-{2}]
role.update.authorities=Authority
required.role.authorities=Select one authority at least
user.item.name=User
user.search.subtitle=User Search
user.search.param=Key Words Searcg
user.update.subtitle=User Detail
user.username=Username
home.chart.component.overview=Overview
component.partNumber.exist=Part Number already exists\!
error.storage.noStorage=No storage location is available.
barcode.lastDate=Storage Date
workOrder.error.emptyBom=No BOM is tied to the selected Work Order
menu.help=Help
alarm.expire.title=Expiration Alarm
required.role.authorities=Select at least one authority
component.name=Name
home.kanban=KANBAN
user.initPwd=Initial Password
user.password=Password
storage.virtual.pnEmpty=Specified Partnumber is required.
storage.name=Name
error.barcode.wrongPn=The partnumber is wrong
dataLog.list=Log list
cabinet.msg.closeDoor=Operation will be finished after closing the door
menu.boxManager=Box Management
barcode.error.noRi=Barcode rule must include RI and PN fields.
user.cabinetAssign=Cabinet Assignment
component.height.empty=Material height is required
barcode.partNumber=Part Number
settings.remind.title=Remind Setting
order.out.set=Nesting retrieval
error.barcode.many=More than one valid barcodes were found.
error.storage.noPosFind=There was not storage location available.
solderBox.btn.closeDoor=Close Door
storage.enable.yes=Yes
user.firstName=First Name
user.lastName=Last Name
user.fullName=Full Name
menu.cloud.checkOut=Material Search
component.plate.size=Plate Size
storage.saveSuccess=Storage information saved successfully
barcode.height=Height
chart.showType.DAY=Day
dataLog.partNumber=Part Number
order.close.notExist=The work order [{0}] is not found.
component.generateBarcode=Generate Barcode
storage.match.fullyCompatible=Fully Compatible
boxChart.solderIn=Solder paste retrieval
menu.barCode=Barcode
workOrder.surplusFinish=Tailings retrieval finished
error.pos.sizeNotMatch=The size[{0}] does not match the size [{2}] of the storage location {1}
workOrder.setFinish=Nesting retrieval finished
error.barcode.wrongQty=The quantity [{1}] of the reel[{0}] is invalid.
menu.area.search=Area
storagePos.update=Please update the storage location information
storage.compatibility=Compatibility
component.partNumber=Part number
user.fullName=Full name
barcode.storage.input=Please input barcode
op.status.wait=In process
cabinet.pos=Current pos
user.role=Role
component.error.notFound=Component cannot be found
user.password=Password
datetime.pattern=MM/dd/yyyy HH\:mm
home.chart.storage.empty=Free
user.username=Username
cabinet.out=Retrieve material
button.view=View
user.lastName=Last Name
button.add=Add
storage.name.empty=Box name is required
role.update.description=Description
workOrder.checkoutSuccess=Work Order completed
cabinet.error.noCard=Failure\: No authority
barcode.batch=Batch
option.none=----Select----
msg.line.putIn=[{0}] is ready to be stored in [{1}]
shelf.btn.posCheck=Storage Location Check
storage.virtual.numlimit=Reel quantity limit
component.pic=Picture
storage.error.full=Intended box is full, please transfer to another one.
error.pos.notExist=The storage location [{0}] does not exist.
authority.virtual=Virtual Box Management
alarm.humidity.msg=Humidity\: {0} is out of range [{1}-{2}]
batch.btn.singleOut=Single Retrieval
storagePos.priority=Priority
cabinet.error.noCode=Barcode does not exist
shelf.msg.opSucess=Operation completed
checkOut.componentName=Component Name
home.chart.component.positionNum=Occupied Storage Location
home.chart.storage.total=Total Location
storage.boxCount=Box quantity
user.language=Language
user.email=Email
user.authCode=Auth Code
user.writeCard=Write Card
file.title=Please upload the file
batch.btn.closeDoor=Close Single Door
authority.valuable.out=Precious Material Retrieval
user.writeCard=Write to Card
menu.workOrder.new=New Work Order
shelf.msg.outConfirm=Material retrieval from [{0}] succeeded.
barcode.barcode=Barcode
storage.chart.humidity=Humidity
barcode.print=Print
error.save=Error occurred, please try again.
storage.slotList=Location List
menu.barCode.new=Barcode Creating
menu.dataLog.search=Log Management
workOrder.title=Work Order Management
workOrder.surplusExecute=Tailing retrieval executing
op.status.end=Finished
component.name.empty=Name is required
storage.clearPos.msg=This operation will empty the inventory in all boxes and cannot be recovered. Please make sure that the materials in the box have been taken out. Are you sure to reset all locations?
op.8=Mix
op.7=Rewarm Putting
op.6=Rewarm Taking
storage.virtual.numErrory=Reel quantity limit must be a number greater than 0.
barcode.error.component.notExist=No component is tied to {0}, please check.
component.provider=Supplier
op.2=Material Retrieval
button.return=Return
op.1=Material Storage
component.search.subtitle=Component List
order.out.surplus=Tailing retrieval
storage.error.cidUnique=Box terminal name need be unique
user.item.name=User
storage.virtual.addPos=Add location
menu.batch.specifiedBatch=Specified Batch
cabinet.in=Material storing
dataLog.num=Qty
barcode.item.name=Barcode
updatePassword.invalidPassword=Password provided is incorrect
user.profile.edit=Profile Edit
profile.password.subtitle=Password Change
updatePassword.currentPassword.label = Current Password
updatePassword.newPassword.label = New Password
updatePassword.invalidPassword = Password provided is incorrect
updatePassword.success =Password Updated Successfully
updatePassword.changePasswordButton = Change Password
updatePassword.changePasswordLink = Change Password
menu.area.search=Area
area.search.subtitle=Area List
storage.enable=Enable
storage.error.unique=Box name already exists, please rename it.
storagePos.layer=Layer
authority.stockOut=Material Storage&Retrieval
storage.enable.prohibit=Disable
component.amount=Qty
plate.size.customer=Customized size
storage.type.batch=Batch
dataLog.operator=Operator
storage.posSize=Location Size
solder.status.7=Returned material storage
solder.status.6=The material retrieval is in process.
shelf.nextPos.hasTask=Location [{0}] already has an existing task, please scan a new location code.
solder.status.5=Retrieval Waiting
shelf.msg.hasReel=There is already a material in the location [{0}]
solder.status.4=Strring
storage.enable.no=No
solder.status.3=Waiting to stir
solder.status.2=Rewarming
solder.status.1=Refrigerated
error.barcode.noField=There is no {0} field in the code string.
workOrder.setExecute=Nesting retrieval is in process
order.close.success=Order closed successfully
order.out.failed=Unable to execute the work order feeding task
error.barcode.inStorage=The reel [{0}] is already in the location [{2}] of the box [{1}]
home.chart.storage.useage=Occupied
updatePassword.changePasswordLink=Change Password
menu.user.account=Account Management
component.amount.empty=Component quantity is required.
user.update.subtitle=User Detail
export.csv=Export to CSV
barcode.error.slotExist=The material corresponding to the barcode is not in the box
authority.feeder=Work Order Management
shelf.msg.scanPos=Please scan the location code
barcode.error.used=Barcode has been used.
storage.slotAmount=Storage Location Qty
area.name=Area Name
area.storages=Storages
area.putInEndTime=Material Receiving Time Limit
shelf.msg.noTask=Failure\: the material is in location [{0}], but no retrieval task for it.
area.view.subtitle=Area View
area.item.name=Area
option.none=----Select----
storage.area=Area
storage.name.empty=Storage name required
storage.area.empty=storage area required
component.auto.scancode=barcode input please
component.plate.size= Plate Size
component.amount.empty=component qty required.
component.plateSize.empty=component diameter required
component.height.empty=component height required
plate.size.customer=customized size
datetime.pattern=MM/dd/yyyy HH:mm
date.format=MM/dd/yyyy
button.addto.checkout=Add to material retrieval list
dataLog.search.subtitle=Material Receiving/Retrieval Logging
dataLog.partNumber=Part Number
dataLog.storageName=Storage Name
dataLog.num=Qty
dataLog.type=Type
dataLog.date=Date
dataLog.item.name=Material Receiving/Retrieval Logging
dataLog.checkout={0}[Qty:{1}] retrieval from [{2}].
dataLog.putIn={0}[Qty:{1}] reveived by [{2}]
dataLog.list=logging
dataLog.operator=Operator
cabinet.card=Secure Access
cabinet.exit=Log out
cabinet.pos=Current Pos
cabinet.in=\ Put In
cabinet.out=Check Out
cabinet.error.validOp=Can not open the door
cabinet.error.openMoreDoor=Can open olny one door
cabinet.error.noCard=No Auth
cabinet.error.posError=Door not found
cabinet.error.noAuth=No Auth
cabinet.error.noCode=Barcode is not exist
cabinet.error.noPos=Position is not exist
cabinet.msg.closeDoor=Operation will be finished after closing the door
cabinet.msg.finish=Operation completed
op.1=Material Receiving
op.2=Material Retrieval
op.status.none=
op.status.wait=In Process
op.status.executing=In Operation
op.status.pause=Process Paused
op.status.finished=Completed
op.status.cancel=Canceled
op.status.end=Finished
boxChart.confirm=Material Retrieval Confirm
boxChart.rescan=Barcode Scan
boxChart.pcbIn=PCB receiving
boxChart.pcbOut=PCB retrieval
boxChart.solderOut=Solder paste receiving
boxChart.solderIn=Solder paste retrieval
boxChart.noCode=Barcode scan failed
authority.stockIn.more=Material Storage Limit
chart.showType.YEAR=YEAR
chart.showType.MONTH=MONTH
chart.showType.DAY=DAY
alarm.humidity.msg=Humidity\: {0} out of range [{1}-{2}]
alarm.temperature.msg=Temperature\: {0} out of range [{1}-{2}]
batch.btn.singleOut=Single Out
batch.btn.batchOut=Batch Out
batch.btn.singleIn=Single In
batch.btn.closeDoor=Close Door
settings.api.checkBarcode=Check Barcode
settings.api.orderFileDir=Order File Folder
user.cabinetAssign=Cabinet Assign
cabinet.error.wrongPos=The component is not in this position.
cabinet.error.noOp=No operation during door opening period
alarm.store.msg={0} inventory [{1}] is out of range [{2}-{3}]
alarm.store.title=Inventory Alarm
alarm.inaction.title=Inaction Alarm
alarm.inaction.msg=The amount of inaction material {0} days ago was [{1}]
alarm.expire.title=Expire Alarm
alarm.expire.msg=The amount of expire material is [{0}]
component.validDay=Valid Days
shelf.nextPos.wrongSize=x The size [{1}] of location [{0}] does not match the material size [{2}], please scan a new location code.
workOrder.error.amount=Work Order Qty must be greater than 0
component.error.notExist=Component {0} does not exist
boxChart.pcbIn=PCB Storage
dataLog.putIn={0}[Qty\:{1}] stored in [{2}]
component.list=Component List
barcode.error.amount.negative=The quantity of component tied to {0} need be greater than 0
button.search=Search
error.barcode.wrongLength=The length of the code string [{0}] is wrong.
storagePos.height=Height
settings.remind.deadday=days sluggish materials alarm
component.partNumber.empty=Part Number is required
authority.component.manage=Component Management
shelf.btn.closeAll=Close All Lights
shelf.btn.posCheck=Database Check
shelf.size.title=Select the material size
shelf.msg.opSucess=Operation complete
shelf.msg.notFound=Shelf is not found.
shelf.msg.outOk=Please take out the material from the location [{0}]
shelf.msg.outError=No material is found.
shelf.msg.inOk=Please put the material in the location [{0}]
shelf.msg.inError=No suitable location for [{0}] is found.
shelf.msg.outConfirm=Delivery confirmation from [{0}] succeeded.
shelf.msg.noTask=Failed\: the material is in [{0}], but no task for it.
component.generateBarcode=Generate Barcode
order.out.surplus=surplus material
order.out.set=set of materials
order.inventory=inventory
export.csv=Export to CSV
workOrder.date=Date
workOrder.waitOut=waiting for execution
workOrder.setExecute=set of materials executing
workOrder.setFinish=set of materials finished
workOrder.surplusExecute=surplus material executing
workOrder.surplusFinish=surplus material finished
workOrder.supplementaryExecute=supplementary materials executing
workOrder.supplementaryFinish=supplementary materials finished
storage.virtual.addPos=Add Position
storage.virtual.pnlimit=Limited Partnumber
storage.virtual.numlimit=Reel Count
storage.virtual.pnEmpty=Limited Partnumber is required.
storage.virtual.posEmpty=Location No. is required.
storage.virtual.numEmpty=Reel Count is required.
storage.virtual.numErrory=Reel Count must be a number that is greater than 0.
delete.confirm=Are you sure to delete?
stroage.error.merge=Shelf location can not merge.
barcode.error.noRi=Barcode rule must has RI and PN fields.
barcode.error.notFound=Barcode is not found.
barcode.error.used=Barcode is used.
error.pos.inQueue=Failed\: The location [{0}] is in queue.
error.barcode.inQueue=Failed\: The barcode [{0}] is in queue.
error.barcode.empty=No barcode is scanned.
error.barcode.many=more than one valid barcodes were found.
error.storage.unavailable=The storage is unavailable.
error.storage.noPos=There is no availble position of [{0}]
error.barcode.wrongSize=The reel has wrong size [{0}]
error.barcode.executing=The task of barcode [{0}] is executing.
error.pos.notExist=The location [{0}] in the storage is not exist.
barcode.update.subtitle=Barcode Info
menu.workOrder.search=Work Order Search
barcode.memo=Memo
barcode.deleteSuccess=Barcode Deleted
solderBox.btn.openDoor=Open Door
component.encapsulation=Package
workOrder.supplementaryExecute=Material replenishment in progress
menu.home=HOME
order.close=Close
updatePassword.changePasswordButton=Change Password
workOrder.saveSuccess=Work Order Saved
boxChart.pcbOut=PCB retrieval
role.update.name=Role Name
storage.item.name=Box
authority.role.manage=Role Management
component.msl=MSL Level
component.productionType=Part Number
error.pos.hasReel=There is already one reel in the location [{0}].
error.pos.wrong=The location [{0}] does not match the storage [{1}]
error.pos.sizeNotMatch=The size[{0}] is not matching the size [{2}]of the location {1}
error.barcode.invalid=The barcode [{0}] is invalid.
menu.component.bom=BOM Management
menu.barCode.search=Barcode Search
stroage.error.merge=Shelf location can not be merged.
component.error.bomUsed=Unable to delete the component used in BOM
boxChart.rescan=Scan Barcode
button.edit=Edit
error.barcode.executing=The barcode [{0}] task is in process.
menu.component=Product Management
cabinet.error.noOp=No operation during door opening
button.reset=Reset
storagePos.width=Width
area.search.subtitle=Area List
workOrder.waitOut=Waiting for retrieval
storage.area.empty=Box area required
shelf.msg.inOk=Please put the material in the location [{0}]
storage.type.smdXl=SMD-XL
storage.enable.enable=Enable
menu.batch=Batch
workOrder.name=Order Number
error.storage.unavailable=The box is unavailable.
errors.upload.fileNotExist=The file does not exist, please upload again.
workOrder.subtitle=Work Order Search
date.format=MM/dd/yyyy
error.barcode.noRule=Barcode resolution rule is not defined
cabinet.error.openMoreDoor=Olny one door can be opened at a time
authority.storage.manage=Box Management
storage.status.22=Stirring completed
storage.status.21=Back to the location after stirring
dataLog.checkout={0}[Qty\:{1}] retrieved from [{2}].
storage.status.20=stirring
shelf.nextPos.hasReel=A material is already in the location [{0}], please scan a new location code.
storage.clearPos=Clear
alarm.inaction.msg=The quantity of sluggish materials {0} days ago was [{1}], please deal with it in time
component.auto.scancode=Please input barcode
button.uploadFile=Upload File
op.status.finished=Completed
settings.api.orderFileDir=Order File Folder
workOrder.update.subtitle=Work Order Info
settings.api.checkBarcode=Check Barcode
authority.feeder.view=View Work Order
error.barcode.expired=The reel is expired.
error.barcode.wrongQty=The quantity [{1}] of the reel[{0}] is invalid.
error.barcode.inStorage=The reel [{0}] is already in the location [{2}] of the stroage [1]
error.barcode.noRule=There is no rule of the barcode is setted.
error.barcode.wrongLength=The code string [{0}] has wrong length.
error.barcode.noField=There is no {0} field in the code string.
error.barcode.wrongPn=The partnumber is wrong
error.barcode.pnNotExist=x Component {0} does not exist
error.barcode.errorSize=x The reel has no size.
error.storage.noStorage=There is no storage can use.
error.storage.noPosFind=No availble position is found.
msg.line.putIn=Put [{0}] into [{1}]
shelf.msg.hasReel=There position [{0}] already has material
shelf.msg.tipScanReel=Please scan the material to put in [{0}]
shelf.msg.fastop=Barcode operate is too fast
shelf.msg.scanPos=Please scan the position code
shelf.nextPos.hasTask=Next Position [{0}] already has task, please scan a new position code.
shelf.nextPos.wrongSize=Next Position [{0}] size [{1}] is different from material size [{2}] please scan a new position code.
shelf.nextPos.hasReel=Next Position [{0}] already has material, please scan a new position code.
settings.remind.title=Remind Setting
settings.remind.deadday=days dead metiral remind
order.num.modify=Order Qty Modify
order.modify.tip=Modify Qty to\: current quantity times
barcode.lastDate=Put In Date
solderBox.btn.closeDoor=Close Door
solderBox.btn.openDoor=Open Door
shelf.size.title=Select material size
storage.status.19=Waiting to stir
storage.status.18=Fetching for stir
solderBox.task.outTime=Estimated shipping time
storage.status.17=Putting for rewarm finished
storage.status.16=Putting for rewarm
storage.status.15=Fetching for rewarm finished
storage.status.14=Fetching for rewarm
storage.status.15=rewarm fetch finished
storage.status.16=putting for rewarm
storage.status.17=rewarm put finished
storage.status.18=Fetching for stir
storage.status.19=Waiting to stir
storage.status.20=stirring
storage.status.21=Backing to position after stirring
storage.status.22=finish stirring
solder.status.1=Refrigerated
solder.status.2=Rewarming
solder.status.3=Waiting to stir
solder.status.4=Strring
solder.status.5=Waiting shipment
solder.status.6=Outting
solder.status.7=Retreat storage
op.6=Rewarm Taking
op.7=Rewarm Putting
op.8=Mix
order.close.success=Order Closed Successfully
order.close.empty=Order Number is empty.
order.close.notExist=The order of [{0}] is not found.
order.close=Close
order.out.failed=Can not execute task
order.out.notFound=The order info was not found
storage.type.smdXl=SMD-XL
storage.status.13=System resetting
storage.type.cabinet=Cabinet
storage.status.12=Material transfering
order.out.notFound=The order infomation was not found
storage.status.11=Material Retrieval End
workOrder.workOrder=Work Order
storage.status.10=Materail Retrieval completed
component.providerNumber=Supplier No.
storage.match.exactMatch=Exact Match
menu.workOrder=Lite Work Order
boxChart.noCode=Barcode scan failed
barcode.plateSize=Diameter
barcode.error.notFound=Barcode is not found.
storage.type.smdVl=SMD-VL
shelf.msg.outError=No material is available.
component.item.name=Component
area.storages=Box
delete.confirm=Are you sure to delete?
shelf.msg.tipScanReel=Please scan the material to be stored in [{0}]
authority.user.manage=User Management
barcode.error.unique=Barcode [{0}] was already occupied
component.producer=Manufacturer
batch.btn.batchOut=Batch Retrieval
updatePassword.success=Password updated successfully
updatePassword.currentPassword.label=Current password
component.producerNumber=Manufacturer No.
shelf.msg.inError=No location is suitable for [{0}].
boxChart.solderOut=Solder paste retrieval
component.validDay=Valid days
error.barcode.errorSize=The reel x has no size.
component.unitCost=Unit cost
storage.virtual.posEmpty=Location No. is required.
workOrder.supplementaryFinish=Replenishment finished
component.saveSuccess=Component saved
authority.bom.manage=BOM Management
order.inventory=Inventory
error.barcode.invalid=The barcode [{0}] is invalid.
user.search.subtitle=User Search
cabinet.error.noAuth=No authority, please contact the administrator
workOrder.date=Date
barcode.expireDate=Expiration Date
authority.workorder.manage=Work Order Management
role.search.subtitle=Role List
barcode.amount=Qty
error.barcode.inQueue=failure\: The barcode [{0}] is in queue.
component.smdAlarmValue=SMD Alarm
storage.type.shelf=Shelf
menu.cloud.storage=SMD BOX
top.menu.profile=Profile Edit
cabinet.msg.finish=Operation completed
authority.stockIn.more=Material Storage Limit
storage.type.auto=Single Auto
cabinet.error.wrongPos=The component is not in this location.
menu.component.inventory=Inventory Management
role.update.subtitle=Role Info
component.height=Height
storagePos.saveSuccess=Location information saved
button.end=End
storage.status.9=Material retrieval in porcess
error.pos.wrong=The location [{0}] does not match the box [{1}]
storage.status.8=Material storage failed
workOrder.update.title=Work Order Management
storage.status.7=Material storage completed
storage.status.6=Material storage in process
storage.status.5=In Maintenance
cabinet.exit=Log out
dataLog.storageName=Box Name
storage.status.4=Warning
home.chart.component=Material Distribution
storage.status.3=Error
storage.update.subtitle=Storage info
storage.status.2=Emergency stop
storage.status.1=System initializing
user.search.param=Key Words Search
home.chart.component.componentAmount=Qty
storage.type.line=DCS
chart.showType.YEAR=YEAR
barcode.search.subtitle=Barcode Search
storage.type.solderPaste=SMD-SP
menu.cloud=Material Cloud
authority.specifiedBatch=Specified Material Batch No.
sotrage.status.999=Offline
storage.cid=Operation Terminal No.
storage.error.notExist=Box does not exist, please creat a new one before operation
button.cancel=Cancel
checkOut.pos=Location
error.storage.noPos=There is no availble location of [{0}]
dataLog.date=Date
menu.batch.feeder=Feeder Station Sequence
shelf.msg.fastop=Barcode operation is too frequent, please try again later
order.num.modify=Order Qty Modify
barcode.supplierPn=Supplier PN
op.status.executing=In process
cabinet.error.posError=Illegal operation\: door not found
user.email=Email
op.status.cancel=Canceled
storage.type.manual=Manual
button.putin=Material Storage
user.authCode=Authorized Code
storage.type=Type
order.close.empty=Order Number is required.
alarm.store.msg=The inventory quantity [{1}] of {0} is out of the setting range [{2}-{3}]
alarm.expire.msg=The quantity of incoming or expired materials is [{0}], please deal with it in time
error.barcode.empty=No barcode is scanned.
authority.dataLog=Running Info
checkOut.operate=Operation
storage.type.online=Inline System
error.pos.inQueue=Failure\: The location [{0}] is in queue.
component.plateSize.empty=The material diameter is required
storage.chart.temperature=Temperature
error.barcode.wrongProduceDate=The manufacturing date is wrong
order.out.executing=The order is executing.
order.out.maxOrder=The maximum number of executable orders has been reached.
order.out.noTask=The order has no reel to out.
shelf.error.orderError=The task does not match the specified order [{0}].
menu.home=\u9996\u9875
menu.workOrder=\u8F7B\u5DE5\u5355
menu.workOrder.search=\u5DE5\u5355\u67E5\u8BE2
menu.workOrder.new=\u65B0\u5EFA\u5DE5\u5355
menu.component=\u4EA7\u54C1\u7BA1\u7406
menu.component.bom=BOM\u7BA1\u7406
menu.component.search=\u6599\u4EF6\u6863\u6848\u7BA1\u7406
menu.component.inventory=\u5E93\u5B58\u7BA1\u7406
menu.cloud=\u7269\u6599\u4E91
menu.cloud.storage=\u4E91\u4ED3\u5E93
menu.cloud.checkOut=\u6599\u4EF6\u67E5\u627E\u51FA\u5E93
menu.barCode=\u6761\u5F62\u7801
menu.barCode.new=\u65B0\u5EFA\u6761\u7801
menu.barCode.search=\u6761\u7801\u67E5\u8BE2
menu.batch = \u6279\u6B21
menu.batch.feeder = \u7AD9\u4F4D\u5217\u8868
menu.batch.specifiedBatch=\u6307\u5B9A\u6279\u6B21
menu.user=\u6743\u9650\u7BA1\u7406
menu.user.account=\u8D26\u6237\u7BA1\u7406
menu.user.role=\u89D2\u8272\u7BA1\u7406
menu.help=\u5E2E\u52A9
menu.dataLog.search=\u65E5\u5FD7\u7BA1\u7406
menu.boxManager=\u6599\u4ED3\u7BA1\u7406
top.menu.profile=\u8D44\u6599\u7F16\u8F91
top.menu.logout=\u6CE8\u9500
home.kanban=\u770B\u677F
home.chart.component=\u6599\u4EF6\u5206\u5E03
home.chart.component.overview=\u6982\u89C8
home.chart.component.componentAmount=\u6570\u91CF
home.chart.component.positionNum=\u6240\u5360\u4ED3\u4F4D
home.chart.storage=\u4ED3\u4F4D\u5229\u7528\u7387
home.chart.storage.total=\u603B\u4ED3\u4F4D\u6570
home.chart.storage.useage=\u5DF2\u4F7F\u7528
home.chart.storage.empty=\u7A7A\u95F2
workOrder.title=\u5DE5\u5355\u7BA1\u7406
workOrder.subtitle=\u67E5\u627E\u5DE5\u5355
workOrder.update.title=\u5DE5\u5355\u7BA1\u7406
workOrder.update.subtitle=\u5DE5\u5355\u8BE6\u60C5
workOrder.list=\u5DE5\u5355\u5217\u8868
workOrder.saveSuccess=\u5DE5\u5355\u4FDD\u5B58\u6210\u529F
workOrder.deleteSuccess=\u5DE5\u5355\u5220\u9664\u6210\u529F
workOrder.checkoutSuccess=\u5DE5\u5355\u51FA\u5E93\u6210\u529F
workOrder.workOrder=\u5DE5\u5355
workOrder.name=\u5DE5\u5355\u53F7
#
#Fri Dec 11 15:10:55 CST 2020
menu.user=\u6A29\u9650\u7BA1\u7406
storage.clearAllPos=\u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u30AF\u30EA\u30A2
shelf.msg.notFound=\u30E9\u30C3\u30AF\u304C\u898B\u3064\u304B\u3089\u306A\u3044
button.checkout=\u51FA\u5EAB
op.status.pause=\u4E00\u6642\u505C\u6B62
barcode.provider=\u30B5\u30D7\u30E9\u30A4\u30E4\u30FC
cabinet.error.validOp=\u64CD\u4F5C\u5931\u8D25\uFF1A\u65E0\u6CD5\u5F00\u95E8
workOrder.deleteSuccess=\u30AA\u30FC\u30C0\u30FC\u524A\u9664\u6210\u529F
updatePassword.newPassword.label=\u65B0\u30D1\u30B9\u30EF\u30FC\u30C9
workOrder.amount=\u6570\u91CF
workOrder.error.amount=\u5DE5\u5355\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0
checkOut.componentName=\u6599\u4EF6\u540D\u79F0
checkOut.pos=\u4ED3\u4F4D
checkOut.operate=\u64CD\u4F5C
component.search.subtitle=\u6599\u4EF6\u5217\u8868
component.list=\u6599\u4EF6\u5217\u8868
component.update.subtitle=\u6599\u4EF6\u8BE6\u60C5
component.item.name=\u6599\u4EF6
component.name=\u6599\u4EF6\u540D\u79F0
component.partNumber=\u6599\u4EF6\u7F16\u53F7
component.plateSize=\u6599\u76D8\u5C3A\u5BF8
component.height=\u6599\u76D8\u9AD8\u5EA6
component.amount=\u5C01\u88C5\u6570\u91CF
component.encapsulation=\u5C01\u88C5
component.unit=\u5355\u4F4D
component.unitCost=\u5355\u8017
component.provider=\u4F9B\u5E94\u5546
component.providerNumber=\u4F9B\u5E94\u5546\u7F16\u53F7
component.producer=\u5382\u5546
component.producerNumber=\u5382\u5546\u7F16\u53F7
component.msl=MSL \u7B49\u7EA7
component.productionType=\u5143\u5668\u4EF6\u578B\u53F7
component.description=\u6599\u4EF6\u63CF\u8FF0
component.partNumber.exist=\u6599\u4EF6\u7F16\u53F7\u5DF2\u5B58\u5728
component.pic=\u56FE\u7247
component.saveSuccess=\u6599\u4EF6\u4FDD\u5B58\u6210\u529F
component.deleteSuccess=\u6599\u4EF6\u5220\u9664\u6210\u529F
component.name.empty=\u6599\u4EF6\u540D\u4E0D\u80FD\u4E3A\u7A7A
component.partNumber.empty=\u6599\u4EF6\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
component.error.bomUsed=\u6599\u4EF6\u5DF2\u88ABBOM\u4F7F\u7528\uFF0C\u65E0\u6CD5\u5220\u9664
component.error.notExist=\u6599\u4EF6{0}\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E\u3002
component.error.notFound=\u65E0\u6CD5\u627E\u5230\u6B64\u6599\u4EF6
component.smdAlarmValue=SMD\u9884\u8B66\u503C
barcode.search.subtitle=\u6761\u7801\u67E5\u627E
barcode.item.name=\u6761\u7801
barcode.print=\u6253\u5370
barcode.update.subtitle=\u6761\u7801\u8BE6\u60C5
barcode.barcode=\u6761\u7801\u7F16\u53F7
barcode.partNumber=\u6599\u4EF6\u7F16\u53F7
barcode.amount=\u6570\u91CF
barcode.plateSize=\u6599\u76D8\u5C3A\u5BF8
barcode.height=\u6599\u76D8\u9AD8\u5EA6
barcode.provider=\u4F9B\u5E94\u5546
barcode.batch=\u6279\u6B21
barcode.expireDate=\u8FC7\u671F\u65E5\u671F
barcode.saveSuccess=\u6761\u7801\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
barcode.deleteSuccess=\u6761\u7801\u4FE1\u606F\u5220\u9664\u6210\u529F
barcode.storage.input=\u8BF7\u8F93\u5165\u5165\u5E93\u6761\u7801
barcode.error.unique=\u6761\u7801{0}\u5DF2\u88AB\u4F7F\u7528
barcode.error.empty=\u6761\u7801\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u6761\u7801\u6570\u636E\u662F\u5426\u6B63\u786E
barcode.error.partNumber.empty=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E
barcode.error.amount.negative=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0
barcode.error.component.notExist=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E\u3002
barcode.error.notExist=\u6761\u7801{0}\u4E0D\u5B58\u5728
barcode.error.inStorage=\u6761\u7801{0}\u5DF2\u5728\u5E93\u4E2D
barcode.error.slotExist=\u6761\u7801\u5BF9\u5E94\u7684\u6599\u4EF6\u672A\u5165\u5E93
barcode.memo=\u5907\u6CE8
dataLog.operator=\u64CD\u4F5C\u4EBA
storage.search.subtitle=\u6599\u4ED3\u67E5\u627E
storage.item.name=\u6599\u4ED3
storage.slotAmount=\u4ED3\u4F4D\u6570\u91CF
storage.update.subtitle=\u6599\u4ED3\u8BE6\u60C5
storage.status=\u72B6\u6001
storage.chart.temperature=\u6E29\u5EA6
storage.chart.humidity=\u6E7F\u5EA6
storage.status.1=\u8BBE\u5907\u8054\u673A
storage.status.2=\u6025\u505C
storage.status.3=\u6545\u969C\u4E2D
storage.status.4=\u8B66\u544A
storage.status.5=\u8C03\u8BD5\u4E2D
storage.status.6=\u5165\u5E93\u6267\u884C\u4E2D
storage.status.7=\u6599\u76D8\u5165\u4ED3\u4F4D\u5B8C\u6210
storage.status.8=\u5165\u5E93\u5931\u8D25
storage.status.9=\u51FA\u5E93\u6267\u884C\u4E2D
storage.status.10=\u51FA\u4ED3\u4F4D\u5B8C\u6210
storage.status.11=\u51FA\u5E93\u5B8C\u6210
storage.status.12=\u79FB\u683D\u4E2D
storage.status.13=\u539F\u70B9\u8FD4\u56DE\u4E2D
sotrage.status.999=\u79BB\u7EBF
storage.type=\u7C7B\u578B
storage.type.auto=\u5355\u53F0\u81EA\u52A8
storage.type.manual=\u624B\u52A8
storage.type.line=\u6D41\u6C34\u7EBF
storage.type.virtual=\u865A\u62DF\u4ED3
storage.type.online=\u5728\u7EBF\u4ED3(\u4E0A\u4E0B\u5C42)
storage.type.batch=\u6279\u91CF\u6599\u4ED3
storage.type.shelf=\u667A\u80FD\u6599\u67B6
storage.type.cabinet=\u667A\u80FD\u6599\u67DC
storage.compatibility=\u517C\u5BB9\u6027
storage.enable=\u662F\u5426\u53EF\u7528
storage.enable.yes=\u662F
storage.enable.no=\u5426
storage.enable.prohibit=\u7981\u7528
storage.enable.enable=\u542F\u7528
storage.posSize=\u4ED3\u4F4D\u5C3A\u5BF8
storage.clearPos=\u6E05\u7A7A\u4ED3\u4F4D
storage.clearAllPos=\u6E05\u7A7A\u6240\u6709\u4ED3\u4F4D
storage.clearPos.msg=\u6B64\u64CD\u4F5C\u4F1A\u6E05\u7A7A\u6240\u6709\u4ED3\u4F4D\u4E2D\u7684\u5E93\u5B58,\u4E14\u4E0D\u53EF\u6062\u590D,\u8BF7\u786E\u4FDD\u6599\u4ED3\u4E2D\u7684\u7269\u6599\u5DF2\u53D6\u51FA. \u786E\u5B9A\u8981\u6E05\u7A7A\u6240\u6709\u4ED3\u4F4D\u5417\uFF1F
storage.match.exactMatch=\u5B8C\u5168\u5339\u914D
storage.match.fullyCompatible=\u5B8C\u5168\u517C\u5BB9
storage.match.sizeCompatible=\u540C\u5C3A\u5BF8\u517C\u5BB9
storage.name=\u540D\u79F0
storage.cid=\u5BA2\u6237\u7AEF\u7F16\u53F7
storage.boxCount=Box\u6570\u91CF
storage.slotList=\u4ED3\u4F4D\u5217\u8868
storagePos.name=\u4ED3\u4F4D\u7F16\u53F7
storagePos.priority=\u4F18\u5148\u7EA7
storagePos.width=\u5BBD\u5EA6
storagePos.height=\u9AD8\u5EA6
storagePos.layer=\u5C42\u6570
storagePos.update=\u8BF7\u66F4\u65B0\u4ED3\u4F4D\u4FE1\u606F
storagePos.saveSuccess=\u4ED3\u4F4D\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
storage.saveSuccess=\u6599\u4ED3\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
storage.error.notExist=\u4ED3\u5E93\u4E0D\u5B58\u5728\uFF0C\u8BF7\u65B0\u5EFA\u4ED3\u4F4D\u540E\u64CD\u4F5C
storage.error.unique=\u4ED3\u5E93\u540D\u5DF2\u88AB\u4F7F\u7528\uFF0C\u8BF7\u6539\u540D\u540E\u91CD\u65B0\u4FDD\u5B58
storage.error.full=\u4ED3\u5E93\u5DF2\u6EE1\uFF0C\u8BF7\u66F4\u6362\u4ED3\u5E93\u540E\u518D\u5B58\u50A8
storage.error.cidUnique=\u4ED3\u5E93\u5BA2\u6237\u7AEF\u7F16\u53F7\u5FC5\u987B\u4E3A\u552F\u4E00
errors.upload.fileNotExist=\u4E0A\u4F20\u7684\u6587\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20
button.add=\u65B0\u589E
button.return=\u8FD4\u56DE\u5217\u8868
button.delete=\u5220\u9664
button.edit=\u7F16\u8F91
cabinet.card=\u30AB\u30FC\u30C9\u3067\u304A\u9858\u3044\u3057\u307E\u3059
order.modify.tip=\u30AA\u30FC\u30C0\u30FC\u6570\u91CF\u3092\u4FEE\u6B63\uFF1A\u73FE\u5728\u6570\u91CF x
profile.password.subtitle=\u30D1\u30B9\u30EF\u30FC\u30C9\u4FEE\u6B63
barcode.saveSuccess=\u30D0\u30FC\u30B3\u30FC\u30C9\u60C5\u5831\u4FDD\u5B58\u6210\u529F
error.barcode.pnNotExist=x\u30D5\u30A1\u30A4\u30EB {0} \u306A\u3057
alarm.inaction.title=\u30C7\u30C3\u30C9\u30B9\u30C8\u30C3\u30AF\u63D0\u793A
dataLog.search.subtitle=\u5165\u51FA\u5EAB\u30ED\u30B0
boxChart.confirm=\u5165\u5EAB\u78BA\u8A8D
shelf.msg.outOk=\u64CD\u4F5C\u6210\u529F\u3001[{0}\u304B\u3089\u6750\u6599\u3092\u53D6\u308A\u51FA\u3057\u3066\u304F\u3060\u3055\u3044
menu.component.search=\u6750\u6599\u30D5\u30A1\u30A4\u30EB\u7BA1\u7406
area.item.name=\u30A8\u30EA\u30A2
alarm.store.title=\u5728\u5EAB\u8B66\u544A
menu.user.role=\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC\u7BA1\u7406
top.menu.logout=\u53D6\u308A\u6D88\u3057
cabinet.error.noPos=\u30B9\u30C8\u30EC\u30FC\u30B8\u304C\u306A\u3057
storage.virtual.pnlimit=\u6750\u6599\u6307\u5B9A
storage.type.virtual=\u30D0\u30FC\u30C1\u30E3\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8
dataLog.item.name=\u5165\u51FA\u5EAB\u30ED\u30B0
barcode.error.notExist=\u30D0\u30FC\u30B3\u30FC\u30C9{0}\u304C\u5B58\u5728\u306A\u3044
button.delete=\u524A\u9664
button.addto.checkout=\u51FA\u5EAB\u30EA\u30B9\u30C8\u306B\u8FFD\u52A0
workOrder.list=\u30AA\u30FC\u30C0\u30FC\u30EA\u30B9\u30C8
chart.showType.MONTH=\u6708\u9593
home.chart.storage=\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u5229\u7528\u7387
barcode.error.partNumber.empty=\u30D0\u30FC\u30B3\u30FC\u30C9{0}\u3068\u95A2\u9023\u6750\u6599\u304C\u306A\u3044\u3001\u30C7\u30FC\u30BF\u304C\u6B63\u3057\u3044\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
storage.match.sizeCompatible=\u540C\u30B5\u30A4\u30BA\u304C\u9069\u5FDC
op.status.none=
storage.status=\u72B6\u614B
component.update.subtitle=\u6750\u6599\u8A73\u7D30
component.description=\u6750\u6599\u8AAC\u660E
component.plateSize=\u30EA\u30FC\u30EB\u30B5\u30A4\u30BA
storage.virtual.numEmpty=\u30EA\u30FC\u30EB\u6570\u91CF\u306F\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
error.barcode.wrongSize=\u30EA\u30FC\u30EB\u30B5\u30A4\u30BA[{0}]\u4E0D\u9069\u5207
area.putInEndTime=\u5165\u5EAB\u7DE0\u5207\u6642\u9593
component.deleteSuccess=\u6750\u6599\u524A\u9664\u306B\u6210\u529F
storagePos.name=\u30B9\u30C8\u30EC\u30FC\u30B8\u756A\u53F7
barcode.error.inStorage=\u30D0\u30FC\u30B3\u30FC\u30C9\uFF5B0}\u3082\u3046\u5B58\u5728
batch.btn.singleIn=\u30B7\u30F3\u30B0\u30EB\u5165\u5EAB\u958B\u59CB
button.upload=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
button.save=\u4FDD\u5B58
button.upload=\u4E0A\u4F20
button.view=\u67E5\u770B
button.reset=\u91CD\u7F6E
button.search=\u67E5\u8BE2
button.cancel=\u53D6\u6D88
button.putin=\u5165\u5E93
button.checkout=\u51FA\u5E93
button.uploadFile=\u4E0A\u4F20\u6570\u636E\u6587\u4EF6
button.end=\u7ED3\u675F
file.title=\u8BF7\u4E0A\u4F20\u6570\u636E\u6587\u4EF6
authority.component.manage=\u6599\u4EF6\u7BA1\u7406
authority.bom.manage= BOM \u7BA1\u7406
authority.workorder.manage=\u5DE5\u5355\u7BA1\u7406
authority.barcode.manage=\u6761\u7801\u7BA1\u7406
authority.storage.manage=\u6599\u4ED3\u7BA1\u7406
authority.role.manage=\u89D2\u8272\u7BA1\u7406
authority.user.manage=\u7528\u6237\u7BA1\u7406
authority.stockOut=\u51FA\u5165\u5E93
authority.feeder=\u5DE5\u5355\u7BA1\u7406
authority.specifiedBatch=\u6307\u5B9A\u6279\u6B21\u7BA1\u7406
authority.virtual=\u865A\u62DF\u4ED3\u7BA1\u7406
authority.feeder.view=\u5DE5\u5355\u67E5\u770B
authority.valuable.out=\u8D35\u91CD\u7269\u6599\u51FA\u5E93
authority.dataLog=\u8FD0\u884C\u6570\u636E
error.save=\u4FDD\u5B58\u51FA\u9519,\u8BF7\u68C0\u67E5
role.search.subtitle=\u89D2\u8272\u5217\u8868
role.update.subtitle=\u89D2\u8272\u8BE6\u60C5
role.update.name=\u89D2\u8272\u540D\u79F0
role.update.description=\u63CF\u8FF0
role.update.authorities=\u6743\u9650
required.role.authorities=\u81F3\u5C11\u9009\u62E9\u4E00\u4E2A\u6743\u9650
user.item.name=\u7528\u6237
user.search.subtitle=\u67E5\u627E\u7528\u6237
user.search.param=\u67E5\u627E\u5173\u952E\u5B57
user.update.subtitle=\u7528\u6237\u8BE6\u60C5
user.username=\u7528\u6237\u540D
user.initPwd=\u521D\u59CB\u5BC6\u7801
user.password=\u5BC6\u7801
user.firstName=\u540D
barcode.error.empty=\u30D0\u30FC\u30B3\u30FC\u30C9\u304C\u7A7A\u3067\u3059\u3002\u30D0\u30FC\u30B3\u30FC\u30C9\u30C7\u30FC\u30BF\u304C\u6B63\u3057\u3044\u304B\u3069\u3046\u304B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
authority.barcode.manage=\u30D0\u30FC\u30B3\u30FC\u30C9\u7BA1\u7406
storage.search.subtitle=\u30B9\u30C8\u30EC\u30FC\u30B8\u30B5\u30FC\u30C1
storage.area=\u30A8\u30EA\u30A2
component.unit=\u5358\u4F4D
alarm.temperature.msg=\u6E29\u5EA6\: {0} \u7BC4\u56F2\u30AA\u30FC\u30D0\u30FC[{1}-{2}]
role.update.authorities=\u6A29\u9650
home.chart.component.overview=\u6897\u6982
component.partNumber.exist=\u6750\u6599\u30CA\u30F3\u30D0\u30FC\u3082\u3046\u5B58\u5728
error.storage.noStorage=\u5229\u7528\u53EF\u80FD\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u304C\u306A\u3044
barcode.lastDate=\u5165\u5EAB\u6642\u9593
menu.help=\u30D8\u30EB\u30D7
alarm.expire.title=\u671F\u9593\u5207\u308C\u63D0\u793A
required.role.authorities=\u5C11\u306A\u304F\u3068\u3082\u4E00\u3064\u306E\u6A29\u9650\u3092\u9078\u629E
component.name=\u6750\u6599\u540D\u79F0
home.kanban=\u770B\u677F
user.initPwd=\u521D\u671F\u30D1\u30B9\u30EF\u30FC\u30C9
storage.virtual.pnEmpty=\u6307\u5B9A\u6750\u6599\u30CA\u30F3\u30D0\u30FC\u306F\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
storage.name=\u540D\u79F0
error.barcode.wrongPn=PartNumber\u4E0D\u4E00\u81F4
dataLog.list=\u30ED\u30B0\u30EA\u30B9\u30C8
cabinet.msg.closeDoor=\u5173\u95E8\u540E\u64CD\u4F5C\u81EA\u52A8\u7ED3\u675F\u30C9\u30A2\u3092\u9589\u3081\u305F\u5F8C\u3001\u64CD\u4F5C\u304C\u81EA\u52D5\u3067\u7D42\u4E86
menu.boxManager=\u30B9\u30C8\u30EC\u30FC\u30B8\u7BA1\u7406
barcode.error.noRi=\u30D0\u30FC\u30B3\u30FC\u30C9\u306E\u7DE8\u96C6\u898F\u5247\u306B\u306FRI\u3068PN\u304C\u542B\u307E\u308C\u3066\u3044\u306A\u3051\u308C\u3070\u306A\u3089\u306A\u3044
user.cabinetAssign=\u68DA\u914D\u5206
component.height.empty=\u30EA\u30FC\u30EB\u306E\u9AD8\u5EA6\u306F\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
barcode.partNumber=\u6750\u6599\u30CA\u30F3\u30D0\u30FC
settings.remind.title=\u63D0\u793A\u8A2D\u7F6E
order.out.set=\u30BB\u30C3\u30C8\u6750\u6599\u51FA\u5EAB
error.barcode.many=\u8907\u6570\u306E\u6709\u52B9\u30D0\u30FC\u30B3\u30FC\u30C9\u304C\u898B\u3064\u304B\u3063\u305F
error.storage.noPosFind=\u5229\u7528\u53EF\u80FD\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u304C\u898B\u3064\u304B\u3089\u306A\u3044
solderBox.btn.closeDoor=\u30C9\u30A2\u30AF\u30ED\u30FC\u30BA
storage.enable.yes=\u306F\u3044
user.firstName=\u540D\u524D
menu.cloud.checkOut=\u6750\u6599\u30B5\u30FC\u30C1\u51FA\u5EAB
component.plate.size=\u30EA\u30FC\u30EB\u30B5\u30A4\u30BA
storage.saveSuccess=\u30B9\u30C8\u30EC\u30FC\u30B8\u60C5\u5831\u306E\u4FDD\u5B58\u304C\u6210\u529F
barcode.height=\u30EA\u30FC\u30EB\u9AD8\u5EA6
chart.showType.DAY=\u65E5
dataLog.partNumber=\u6750\u6599\u30CA\u30F3\u30D0\u30FC
order.close.notExist=\u30AA\u30FC\u30C0\u30FC\u304C\u898B\u3064\u304B\u3089\u306A\u3044[{0}]
component.generateBarcode=\u30D0\u30FC\u30B3\u30FC\u30C9\u4F5C\u6210
storage.match.fullyCompatible=\u5B8C\u5168\u9069\u5FDC
boxChart.solderIn=\u534A\u7530\u30D9\u30B9\u30C8\u5165\u5EAB
menu.barCode=\u30D0\u30FC\u30B3\u30FC\u30C9
workOrder.surplusFinish=\u6B8B\u7559\u6750\u6599\u304C\u5B8C\u6210
error.pos.sizeNotMatch=\u30B5\u30A4\u30BA[{0}]\u3068\u30B9\u30C8\u30EC\u30FC\u30B8{1}\u30B5\u30A4\u30BA[{2}]\u4E0D\u4E00\u81F4\u3001\u5165\u5EAB\u3067\u304D\u306A\u3044
workOrder.setFinish=\u30BB\u30C3\u30C8\u6750\u6599\u304C\u5B8C\u6210
error.barcode.wrongQty=\u6750\u6599[{0}]\u6570\u91CF[{1}]\u9593\u9055\u3044
menu.area.search=\u30A8\u30EA\u30A2
storagePos.update=\u30B9\u30C8\u30EC\u30FC\u30B8\u60C5\u5831\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044
storage.compatibility=\u4E92\u63DB\u6027
component.partNumber=\u6750\u6599\u30CA\u30F3\u30D0\u30FC
user.fullName=\u540D\u524D
barcode.storage.input=\u5165\u5EAB\u30D0\u30FC\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
op.status.wait=\u5F85\u3061\u4E2D
cabinet.pos=\u73FE\u5728\u30B9\u30C8\u30EC\u30FC\u30B8\u4F4D\u7F6E
user.role=\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC
component.error.notFound=\u6750\u6599\u304C\u898B\u3064\u304B\u3089\u306A\u3044
user.password=\u30D1\u30B9\u30EF\u30FC\u30C9
datetime.pattern=yyyy-MM-dd HH\:mm
home.chart.storage.empty=\u30A8\u30F3\u30D7\u30C6\u30A3\u30FC\u3000
user.username=\u30E6\u30FC\u30B6\u30FC\u540D
cabinet.out=\u51FA\u8377
button.view=\u30C1\u30A7\u30C3\u30AF
user.lastName=\u59D3
user.fullName=\u59D3\u540D
user.role=\u89D2\u8272
user.language=\u8BED\u8A00
user.email=\u90AE\u7BB1
user.authCode=\u6388\u6743\u7801
user.writeCard=\u5199\u5165\u5361\u7247
user.profile.edit=\u8D44\u6599\u7F16\u8F91
profile.password.subtitle=\u4FEE\u6539\u5BC6\u7801
updatePassword.currentPassword.label=\u5F53\u524D\u5BC6\u7801
updatePassword.newPassword.label=\u65B0\u5BC6\u7801
updatePassword.invalidPassword=\u4F60\u8F93\u5165\u7684\u5F53\u524D\u5BC6\u7801\u4E0D\u6B63\u786E
updatePassword.success=\u5BC6\u7801\u66F4\u65B0\u6210\u529F
updatePassword.changePasswordButton=\u66F4\u65B0\u5BC6\u7801
updatePassword.changePasswordLink = \u4FEE\u6539\u5BC6\u7801
menu.area.search=\u533A\u57DF
area.search.subtitle=\u533A\u57DF\u5217\u8868
area.name=\u533A\u57DF\u540D\u79F0
area.storages=\u6599\u4ED3
area.putInEndTime=\u5165\u5E93\u622A\u6B62\u65F6\u95F4
area.view.subtitle=\u533A\u57DF\u76D1\u63A7
area.item.name=\u533A\u57DF
option.none=----\u8BF7\u9009\u62E9----
storage.area=\u533A\u57DF
storage.name.empty=\u6599\u4ED3\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
storage.area.empty=\u6599\u4ED3\u6240\u5C5E\u533A\u57DF\u4E0D\u80FD\u4E3A\u7A7A
component.auto.scancode=\u626B\u7801\u586B\u5199
component.plate.size=\u6599\u76D8\u5C3A\u5BF8
component.amount.empty=\u6570\u91CF\u4E0D\u80FD\u4E3A\u7A7A
component.plateSize.empty=\u6599\u76D8\u5C3A\u5BF8\u4E0D\u80FD\u4E3A\u7A7A
component.height.empty=\u6599\u76D8\u9AD8\u5EA6\u4E0D\u80FD\u4E3A\u7A7A
plate.size.customer=\u81EA\u5B9A\u4E49\u5C3A\u5BF8
datetime.pattern=yyyy-MM-dd HH:mm
date.format=yyyy-MM-dd
button.addto.checkout=\u52A0\u5165\u5230\u51FA\u5E93\u961F\u5217
dataLog.search.subtitle=\u51FA\u5165\u5E93\u65E5\u5FD7
dataLog.partNumber=\u6599\u4EF6\u7F16\u7801
dataLog.storageName=\u6599\u4ED3\u540D\u79F0
dataLog.num=\u6570\u91CF
dataLog.type=\u7C7B\u578B
dataLog.date=\u65E5\u671F
dataLog.item.name=\u51FA\u5165\u5E93\u65E5\u5FD7
dataLog.checkout={0}[\u6570\u91CF:{1}]\u4ECE[{2}]\u51FA\u5E93
dataLog.putIn={0}[\u6570\u91CF:{1}]\u5165\u5E93\u5230[{2}]
dataLog.list=\u65E5\u5FD7\u5217\u8868
cabinet.card=\u8BF7\u5237\u5361
cabinet.exit=\u9000\u51FA
cabinet.pos=\u5F53\u524D\u4ED3\u4F4D
cabinet.in=\u5165\u6599
cabinet.out=\u51FA\u6599
cabinet.error.validOp=\u975E\u6CD5\u64CD\u4F5C:\u65E0\u6CD5\u5F00\u95E8
cabinet.error.openMoreDoor=\u65E0\u6CD5\u540C\u65F6\u6253\u5F00\u591A\u4E2A\u67DC\u95E8
cabinet.error.noCard=\u975E\u6CD5\u64CD\u4F5C: \u672A\u5237\u5361,\u65E0\u6CD5\u5F00\u95E8
cabinet.error.posError=\u975E\u6CD5\u64CD\u4F5C: \u672A\u627E\u5230\u67DC\u95E8
cabinet.error.noAuth=\u65E0\u6743\u64CD\u4F5C,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
cabinet.error.noCode=\u6761\u7801\u4E0D\u5B58\u5728
cabinet.error.noPos=\u5E93\u4F4D\u4E0D\u5B58\u5728
cabinet.msg.closeDoor=\u5173\u95E8\u540E\u64CD\u4F5C\u81EA\u52A8\u7ED3\u675F
cabinet.msg.finish=\u64CD\u4F5C\u5B8C\u6210
op.1=\u5165\u5E93
op.2=\u51FA\u5E93
op.status.none=
op.status.wait=\u7B49\u5F85\u4E2D
op.status.executing=\u6B63\u5728\u6267\u884C
op.status.pause=\u5DF2\u6682\u505C
op.status.finished=\u5DF2\u5B8C\u6210
op.status.cancel=\u5DF2\u53D6\u6D88
op.status.end=\u5DF2\u7ED3\u675F
boxChart.confirm=\u786E\u8BA4\u5165\u5E93
boxChart.rescan=\u91CD\u65B0\u626B\u7801
boxChart.pcbIn=PCB \u5165\u5E93
boxChart.pcbOut=PCB \u51FA\u5E93
boxChart.solderOut=\u9521\u818F\u51FA\u5E93
boxChart.solderIn=\u9521\u818F\u5165\u5E93
boxChart.noCode=\u672A\u626B\u63CF\u5230\u6761\u7801
authority.stockIn.more=\u8D85\u989D\u5165\u5E93
chart.showType.YEAR=\u5E74\u4EFD
chart.showType.MONTH=\u6708\u4EFD
chart.showType.DAY=\u5929
alarm.humidity.msg=\u6E7F\u5EA6\: {0} \u8D85\u51FA\u8303\u56F4[{1}-{2}]
alarm.temperature.msg=\u6E29\u5EA6\: {0} \u8D85\u51FA\u8303\u56F4[{1}-{2}]
batch.btn.singleOut=\u5355\u76D8\u51FA\u5E93
batch.btn.batchOut=\u6279\u91CF\u51FA\u5E93
batch.btn.singleIn=\u5355\u76D8\u5165\u5E93
batch.btn.closeDoor=\u5173\u95ED\u4ED3\u95E8
settings.api.checkBarcode=\u6761\u7801\u68C0\u67E5 API
settings.api.orderFileDir=\ \u5DE5\u5355\u6587\u4EF6\u5939
user.cabinetAssign=\u6599\u67DC\u5206\u914D
cabinet.error.wrongPos=\u8BE5\u7269\u6599\u4E0D\u5728\u6B64\u4F4D\u7F6E
cabinet.error.noOp=\u5F00\u95E8\u671F\u95F4\u65E0\u51FA\u5165\u5E93\u64CD\u4F5C
alarm.store.msg={0} \u7684\u5E93\u5B58\u91CF[{1}]\u8D85\u51FA\u8BBE\u7F6E\u8303\u56F4 [{2}-{3}]
alarm.store.title=\u5E93\u5B58\u9884\u8B66
alarm.inaction.title=\u5446\u6EDE\u7269\u6599\u63D0\u9192
alarm.inaction.msg={0}\u5929\u524D\u5446\u6EDE\u7269\u6599\u6570\u91CF\u4E3A[{1}],\u8BF7\u53CA\u65F6\u5904\u7406
alarm.expire.title=\u8FC7\u671F\u63D0\u9192
alarm.expire.msg=\u5373\u5C06\u6216\u5DF2\u8FC7\u671F\u7269\u6599\u6570\u91CF\u4E3A[{0}],\u8BF7\u53CA\u65F6\u5904\u7406
component.validDay=\u6709\u6548\u671F(\u5929)
shelf.btn.closeAll=\u5173\u95ED\u6240\u6709\u706F
shelf.btn.posCheck=\u5E93\u4F4D\u68C0\u67E5
shelf.size.title=\u9009\u62E9\u6599\u76D8\u5C3A\u5BF8
button.add=\u8FFD\u52A0
storage.name.empty=\u30B9\u30C8\u30EC\u30FC\u30B8\u540D\u524D\u306F\u7A7A\u306B\u3044\u3051\u306A\u3044
role.update.description=\u8AAC\u660E
workOrder.checkoutSuccess=\u30AA\u30FC\u30C0\u30FC\u51FA\u5EAB\u6210\u529F
cabinet.error.noCard=\u4E0D\u6B63\u64CD\u4F5C\uFF1A\u30AB\u30FC\u30C9\u3092\u4F7F\u308F\u306A\u3044\u3068\u3001\u30C9\u30A2\u3092\u958B\u3051\u3089\u308C\u306A\u3044
barcode.batch=\u30D0\u30C3\u30C1
option.none=----\u9078\u3093\u3067\u304F\u3060\u3055\u3044----
msg.line.putIn=[{0}]\u5165\u5EAB\u4E88\u5B9A[{1}]
shelf.btn.posCheck=\u30B9\u30C8\u30EC\u30FC\u30B8\u4F4D\u7F6E\u30C1\u30A7\u30C3\u30AF
storage.virtual.numlimit=\u5165\u308C\u8FBC\u3080\u30EA\u30FC\u30EB\u6570\u91CF
component.pic=\u5199\u771F
storage.error.full=\u30B9\u30C8\u30EC\u30FC\u30B8\u304C\u3044\u3063\u3071\u3044\u3067\u3001\u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u4EA4\u63DB\u3057\u3066\u304B\u3089\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044
error.pos.notExist=\u30B9\u30C8\u30EC\u30FC\u30B8\u3010{0}\u3011\u5B58\u5728\u306A\u3044\u3001\u5165\u5EAB\u3067\u304D\u306A\u3044
authority.virtual=\u30D0\u30FC\u30C1\u30E3\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8\u7BA1\u7406
alarm.humidity.msg=\u6E7F\u5EA6\uFF1A {0} \u7BC4\u56F2\u30AA\u30FC\u30D0\u30FC[{1}-{2}]
batch.btn.singleOut=\u30B7\u30F3\u30B0\u30EB\u51FA\u5EAB
storagePos.priority=\u512A\u5148\u7D1A
cabinet.error.noCode=\u30D0\u30FC\u30B3\u30FC\u30C9\u304C\u5B58\u5728\u306A\u3044
shelf.msg.opSucess=\u64CD\u4F5C\u6210\u529F
shelf.msg.notFound=\u672A\u627E\u5230\u6599\u67B6
shelf.msg.outError=\u64CD\u4F5C\u5931\u8D25,\u672A\u627E\u5230\u53EF\u4EE5\u51FA\u5E93\u7684\u7269\u6599
shelf.msg.outOk=\u64CD\u4F5C\u6210\u529F,\u8BF7\u4ECE\u5E93\u4F4D[{0}]\u4E2D\u53D6\u51FA\u7269\u6599
shelf.msg.inOk=\u64CD\u4F5C\u6210\u529F,\u8BF7\u653E\u5165\u5E93\u4F4D[{0}]
shelf.msg.inError=\u672A\u627E\u5230\u9002\u5408[{0}]\u7684\u5E93\u4F4D
shelf.msg.outConfirm=\u5E93\u4F4D[{0}]\u51FA\u5E93\u5B8C\u6210.
shelf.msg.noTask=\u64CD\u4F5C\u5931\u8D25,\u5DF2\u5728\u5E93\u4F4D[{0}]\u4E2D,\u672A\u627E\u5230\u5BF9\u5E94\u7684\u51FA\u5E93\u4EFB\u52A1
component.generateBarcode=\u751F\u6210\u6761\u7801
order.out.set=\u5957\u6599\u51FA\u5E93
order.out.surplus=\u5C3E\u6599\u51FA\u5E93
order.inventory=\u5E93\u5B58
export.csv=\u5BFC\u51FA\u5230CSV
workOrder.date=\u65E5\u671F
workOrder.waitOut=\u7B49\u5F85\u51FA\u5E93
workOrder.setExecute=\u5957\u6599\u51FA\u5E93\u4E2D
workOrder.setFinish=\u5957\u6599\u5DF2\u5B8C\u6210
workOrder.surplusExecute=\u5C3E\u6599\u51FA\u5E93\u4E2D
workOrder.surplusFinish=\u5C3E\u6599\u5DF2\u5B8C\u6210
workOrder.supplementaryExecute=\u8865\u6599\u4E2D
workOrder.supplementaryFinish=\u8865\u6599\u5B8C\u6210
storage.virtual.addPos=\u589E\u52A0\u4ED3\u4F4D
storage.virtual.pnlimit=\u6307\u5B9A\u7269\u7F16
storage.virtual.numlimit=\u53EF\u653E\u6599\u76D8\u6570\u91CF
storage.virtual.pnEmpty=\u6307\u5B9A\u7269\u7F16\u4E0D\u80FD\u4E3A\u7A7A
storage.virtual.posEmpty=\u4ED3\u4F4D\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
storage.virtual.numEmpty=\u53EF\u653E\u6599\u76D8\u6570\u91CF\u4E0D\u80FD\u4E3A\u7A7A
storage.virtual.numErrory=\u53EF\u653E\u6599\u76D8\u6570\u91CF\u5FC5\u987B\u4E3A\u5927\u4E8E0\u7684\u6570\u5B57
checkOut.componentName=\u6750\u6599\u540D\u79F0
home.chart.component.positionNum=\u4F7F\u7528\u4E2D\u30B9\u30C8\u30EC\u30FC\u30B8
home.chart.storage.total=\u30B9\u30C8\u30EC\u30FC\u30B8\u6570\u91CF
storage.boxCount=Box\u6570\u91CF
user.language=\u8A00\u8A9E
file.title=\u30C7\u30FC\u30BF\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044
batch.btn.closeDoor=\u30B7\u30F3\u30B0\u30EB\u51FA\u5EAB\u53E3\u3092\u9589\u3081\u308B
authority.valuable.out=\u8CB4\u91CD\u6750\u6599\u306E\u51FA\u5EAB
user.writeCard=\u30AB\u30FC\u30C9\u306B\u5165\u529B
menu.workOrder.new=\u65B0\u898F\u30AA\u30FC\u30C0\u30FC\u4F5C\u6210
shelf.msg.outConfirm=\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u51FA\u5EAB\u5B8C\u6210
barcode.barcode=\u30D0\u30FC\u30B3\u30FC\u30C9\u756A\u53F7
storage.chart.humidity=\u6E7F\u5EA6
barcode.print=\u30D7\u30EA\u30F3\u30C8
error.save=\u4FDD\u5B58\u5931\u6557\u3001\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044
storage.slotList=\u30B9\u30C8\u30EC\u30FC\u30B8\u30EA\u30B9\u30C8
menu.barCode.new=\u65B0\u898F\u30D0\u30FC\u30B3\u30FC\u30C9\u4F5C\u6210
menu.dataLog.search=\u30ED\u30B0\u7BA1\u7406
workOrder.title=\u30AA\u30FC\u30C0\u30FC\u7BA1\u7406
workOrder.surplusExecute=\u6B8B\u7559\u6750\u6599\u51FA\u5EAB\u4E2D
op.status.end=\u7D42\u4E86
component.name.empty=\u6750\u6599\u540D\u79F0\u306F\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
storage.clearPos.msg=\u3053\u306E\u64CD\u4F5C\u306F\u3059\u3079\u3066\u306E\u5728\u5EAB\u6750\u6599\u3092\u7A7A\u306B\u3057\u3066\u3001\u3057\u304B\u3082\u56DE\u5FA9\u3067\u304D\u306A\u3044\u306E\u3067\u3001\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u4E2D\u306E\u6750\u6599\u304C\u3059\u3067\u306B\u53D6\u308A\u51FA\u3055\u308C\u305F\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u3059\u3079\u3066\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u30AF\u30EA\u30A2\u3057\u307E\u3059\u304B\uFF1F
op.8=\u652A\u62CC
op.7=\u6E29\u5EA6\u56DE\u5FA9\u3057\u3066\u6750\u6599\u3092\u5165\u308C\u8FBC\u3080
op.6=\u6E29\u5EA6\u56DE\u5FA9\u3057\u3066\u6750\u6599\u3092\u53D6\u308A\u51FA\u3059
storage.virtual.numErrory=\u30EA\u30FC\u30EB\u306E\u6570\u306F\u5FC5\u305A0\u3088\u308A\u5927\u304D\u304F\u3066\u306F\u3044\u3051\u306A\u3044
barcode.error.component.notExist=\u30D0\u30FC\u30B3\u30FC\u30C9\uFF5B0\uFF5D\u95A2\u9023\u306E\u6750\u6599\u304C\u5B58\u5728\u306A\u3044\u3001\u30C7\u30FC\u30BF\u304C\u6B63\u3057\u3044\u304B\u3069\u3046\u304B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
component.provider=\u30B5\u30D7\u30E9\u30A4\u30E4\u30FC
op.2=\u51FA\u5EAB
button.return=\u30EA\u30B9\u30C8\u306B\u30EA\u30BF\u30FC\u30F3
op.1=\u5165\u5EAB
component.search.subtitle=\u6750\u6599\u30EA\u30B9\u30C8
order.out.surplus=\u6B8B\u7559\u6750\u6599\u51FA\u5EAB
storage.error.cidUnique=\u4ED3\u5E93\u5BA2\u6237\u7AEF\u7F16\u53F7\u5FC5\u987B\u4E3A\u552F\u4E00\u3000\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u756A\u53F7\u306F\u552F\u4E00\u3067\u306A\u3051\u308C\u3070\u306A\u3089\u306A\u3044
user.item.name=\u30E6\u30FC\u30B6\u30FC
storage.virtual.addPos=\u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u8FFD\u52A0
menu.batch.specifiedBatch=\u30D0\u30C3\u30C1\u3092\u6307\u5B9A
cabinet.in=\u5165\u8377
dataLog.num=\u6570\u91CF
barcode.item.name=\u30D0\u30FC\u30B3\u30FC\u30C9
updatePassword.invalidPassword=\u5165\u529B\u3057\u305F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u9593\u9055\u3044
user.profile.edit=\u8CC7\u6599\u7DE8\u96C6
storage.enable=\u6709\u52B9\u304B\uFF1F
storage.error.unique=\u30B9\u30C8\u30EC\u30FC\u30B8\u540D\u306F\u65E2\u306B\u4F7F\u308F\u308C\u3066\u3044\u307E\u3059\u306E\u3067\u3001\u6539\u540D\u3057\u3066\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044\u3002
storagePos.layer=\u5C64\u6570
authority.stockOut=\u5165\u51FA\u5EAB
storage.enable.prohibit=\u4F7F\u7528\u7981\u6B62
component.amount=\u5C01\u88C5\u6570\u91CF
plate.size.customer=\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u30B5\u30A4\u30BA
storage.type.batch=\u30DE\u30EB\u30C1\u30B9\u30C8\u30EC\u30FC\u30B8
dataLog.operator=\u64CD\u4F5C\u54E1
storage.posSize=\u30B9\u30C8\u30EC\u30FC\u30B8\u30B5\u30A4\u30BA
solder.status.7=\u9000\u51FA\u4FDD\u5B58
solder.status.6=\u51FA\u5EAB\u4E2D
shelf.nextPos.hasTask=\u6B21\u306E\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u306B\u306F\u65E2\u306B\u30BF\u30B9\u30AF\u304C\u3042\u308A\u307E\u3059\u306E\u3067\u3001\u30B9\u30C8\u30EC\u30FC\u30B8\u30B3\u30FC\u30C9\u3092\u518D\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u304F\u3060\u3055\u3044\u3002
solder.status.5=\u51FA\u5EAB\u5F85\u3061
shelf.msg.hasReel=\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u306E\u4E2D\u3067\u3059\u3067\u306B\u6750\u6599\u304C\u3042\u308B
solder.status.4=\u652A\u62CC\u4E2D
storage.enable.no=\u3044\u3044\u3048
solder.status.3=\u652A\u5F85\u3061
solder.status.2=\u6E29\u5EA6\u56DE\u5FA9\u4E2D
solder.status.1=\u51B7\u8535\u4E2D
error.barcode.noField=\u30D0\u30FC\u30B3\u30FC\u30C9\u306E\u5206\u6790\u304C\u5931\u6557\u3001\u30D5\u30A3\u30FC\u30EB\u30C9\uFF5B0\uFF5D\u304C\u898B\u3064\u304B\u3089\u306A\u3044
workOrder.setExecute=\u30BB\u30C3\u30C8\u6750\u6599\u304C\u51FA\u5EAB\u4E2D
order.close.success=\u30AA\u30FC\u30C0\u30FC\u30AF\u30ED\u30FC\u30BA\u6210\u529F
order.out.failed=\u30AA\u30FC\u30C0\u30FC\u306B\u3088\u3063\u3066\u6750\u6599\u88DC\u5145\u3092\u5B9F\u884C\u3067\u304D\u306A\u3044
error.barcode.inStorage=\u6750\u6599[{0}]\u306F\u3059\u3067\u306B\u30B9\u30C8\u30EC\u30FC\u30B8[{1}]\u306E\u4F4D\u7F6E[{2}]\u306B\u3042\u308B
home.chart.storage.useage=\u4F7F\u7528\u6E08\u307F
updatePassword.changePasswordLink=\u30D1\u30B9\u30EF\u30FC\u30C9\u4FEE\u6B63
menu.user.account=\u30A2\u30AB\u30A6\u30F3\u30C8\u7BA1\u7406
component.amount.empty=\u6570\u91CF\u306F\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
user.update.subtitle=\u30E6\u30FC\u30B6\u30FC\u60C5\u5831
export.csv=CSV\u3068\u3057\u3066\u51FA\u529B
barcode.error.slotExist=\u30D0\u30FC\u30B3\u30FC\u30C9\u306B\u5BFE\u5FDC\u3059\u308B\u6750\u6599\u306F\u5165\u5EAB\u3055\u308C\u3066\u3044\u306A\u3044
authority.feeder=\u30AA\u30FC\u30C0\u30FC\u7BA1\u7406
shelf.msg.scanPos=\u30B9\u30C8\u30EC\u30FC\u30B8\u30B3\u30FC\u30C9\u3092\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u304F\u3060\u3055\u3044
barcode.error.used=\u4F7F\u7528\u6E08\u307F\u306E\u30D0\u30FC\u30B3\u30FC\u30C9\u306F\u524A\u9664\u3067\u304D\u306A\u3044
storage.slotAmount=\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u6570\u91CF
area.name=\u30A8\u30EA\u30A2\u540D\u79F0
shelf.msg.noTask=\u64CD\u4F5C\u5931\u6557\uFF1A\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u306E\u4E2D\u306B\u3042\u308A\u307E\u3059\u304C\u3001\u5BFE\u5FDC\u3059\u308B\u51FA\u5EAB\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u3089\u306A\u3044
area.view.subtitle=\u30A8\u30EA\u30A2\u76E3\u8996
dataLog.type=\u30BF\u30A4\u30D7
shelf.nextPos.wrongSize=x \u6B21\u306E\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u306E\u30B5\u30A4\u30BA[{2}]\u3068\u30EA\u30FC\u30EB\u306E\u30B5\u30A4\u30BA\u304C\u4E00\u81F4\u3057\u3066\u3044\u306A\u3044\u3001\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u30B3\u30FC\u30C9\u3092\u518D\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u304F\u3060\u3055\u3044\u3002
workOrder.error.amount=\u30AA\u30FC\u30C0\u30FC\u6570\u91CF\u306F\u5FC5\u305A0\u3088\u308A\u5927\u304D\u3044
component.error.notExist=\u6599\u4EF6{0}\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E\u3002\u6750\u6599\uFF5B0\uFF5D\u304C\u5B58\u5728\u306A\u3044\u3001\u30C7\u30FC\u30BF\u304C\u6B63\u3057\u3044\u304B\u3069\u3046\u304B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
boxChart.pcbIn=PCB \u5165\u5EAB
dataLog.putIn={0}[\u6570\u91CF\uFF1A{1}]\u304C[{2}]\u307E\u3067\u5165\u5EAB
component.list=\u6750\u6599\u30EA\u30B9\u30C8
barcode.error.amount.negative=\u30D0\u30FC\u30B3\u30FC\u30C9\u306E{0}\u95A2\u9023\u6750\u6599\u6570\u91CF\u304C\u5FC5\u305A0\u3088\u308A\u5927\u304D\u3044
button.search=\u30B5\u30FC\u30C1
error.barcode.wrongLength=\u30D0\u30FC\u30B3\u30FC\u30C9[{0}]\u306E\u9577\u3055\u304C\u9593\u9055\u3044
storagePos.height=\u9AD8\u5EA6
settings.remind.deadday=\u65E5\u524D\u306E\u30C7\u30C3\u30C9\u6750\u6599\u63D0\u793A
component.partNumber.empty=\u6599\u4EF6\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
authority.component.manage=\u6750\u6599\u7BA1\u7406
shelf.btn.closeAll=\u3059\u3079\u3066\u306E\u30E9\u30F3\u30D7\u3092\u30AA\u30D5
barcode.update.subtitle=\u30D0\u30FC\u30B3\u30FC\u30C9\u60C5\u5831
menu.workOrder.search=\u30AA\u30FC\u30C0\u30FC\u30B5\u30FC\u30C1
barcode.memo=\u30E1\u30E2
barcode.deleteSuccess=\u30D0\u30FC\u30B3\u30FC\u30C9\u60C5\u5831\u524A\u9664\u6210\u529F
solderBox.btn.openDoor=\u30C9\u30A2\u30AA\u30FC\u30D7\u30F3
component.encapsulation=\u30D1\u30C3\u30B1\u30FC\u30B8
workOrder.supplementaryExecute=\u6750\u6599\u88DC\u5145\u4E2D
menu.home=\u30C8\u30C3\u30D7\u30DA\u30FC\u30B8
order.close=\u30AF\u30ED\u30FC\u30BA
updatePassword.changePasswordButton=\u30D1\u30B9\u30EF\u30FC\u30C9\u66F4\u65B0
workOrder.saveSuccess=\u30AA\u30FC\u30C0\u30FC\u4FDD\u5B58\u6210\u529F
boxChart.pcbOut=PCB \u51FA\u5EAB
role.update.name=\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC\u540D\u79F0
storage.item.name=\u30B9\u30C8\u30EC\u30FC\u30B8
authority.role.manage=\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC\u7BA1\u7406
component.msl=MSL \u30EC\u30D9\u30EB
component.productionType=\u30C7\u30D0\u30A4\u30B9\u30BF\u30A4\u30D7
error.pos.hasReel=\u30B9\u30C8\u30EC\u30FC\u30B8\u3010{0}\u3011\u306E\u4E2D\u3067\u3059\u3067\u306B\u6750\u6599\u304C\u3042\u308A\u3001\u5165\u5EAB\u3067\u304D\u306A\u3044
menu.component.bom=BOM\u7BA1\u7406
menu.barCode.search=\u30D0\u30FC\u30B3\u30FC\u30C9\u30B5\u30FC\u30C1
stroage.error.merge=\u5408\u5E76\u5E93\u4F4D\u4EC5\u9002\u7528\u7684\u667A\u80FD\u6599\u67B6
barcode.error.noRi=\u7F16\u7801\u89C4\u5219\u4E2D\u5FC5\u987B\u5305\u542B RI \u548C PN
barcode.error.notFound=\u672A\u627E\u5230\u76F8\u5173\u6761\u7801
error.pos.inQueue=\u4F4D\u7F6E[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D,\u64CD\u4F5C\u5931\u8D25
error.barcode.inQueue=\u4E8C\u7EF4\u7801\:[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D,\u64CD\u4F5C\u5931\u8D25
error.barcode.empty=\u672A\u626B\u63CF\u5230\u6761\u7801
error.barcode.many=\u53D1\u73B0\u591A\u4E2A\u6709\u6548\u6761\u7801
error.storage.unavailable=\u6599\u4ED3[{0}]\u4E0D\u53EF\u7528
error.storage.noPos=\u65E0\u53EF\u7528\u7684\u6599\u683C[{0}],\u65E0\u6CD5\u7EE7\u7EED\u653E\u5165
error.storage.noPosFind=\u672A\u627E\u5230\u53EF\u7528\u7684\u4ED3\u4F4D
error.barcode.wrongSize=\u6599\u76D8\u5C3A\u5BF8[{0}]\u4E0D\u7B26
error.barcode.executing=\u6761\u7801[{0}]\u7684\u4EFB\u52A1\u6B63\u5728\u6267\u884C
error.pos.notExist=\u5E93\u4F4D\u3010{0}\u3011\u4E0D\u5B58\u5728,\u65E0\u6CD5\u5165\u5E93
error.pos.hasReel=\u5E93\u4F4D\u3010{0}\u3011\u4E2D\u5DF2\u6709\u7269\u6599,\u65E0\u6CD5\u5165\u5E93
error.pos.wrong=\u5E93\u4F4D\u3010{0}\u3011\u4E0E\u6599\u4ED3[{1}]\u4E0D\u5339\u914D,\u65E0\u6CD5\u5165\u5E93
error.pos.sizeNotMatch=\u5C3A\u5BF8[{0}]\u4E0E\u5E93\u4F4D{1}\u5C3A\u5BF8[{2}]\u4E0D\u7B26,\u65E0\u6CD5\u5165\u5E93
error.barcode.invalid={0} \u4E0D\u662F\u6709\u6548\u7684\u6761\u7801
error.barcode.expired=\u7269\u6599\u5DF2\u8FC7\u671F,\u65E0\u6CD5\u5165\u5E93.
error.barcode.wrongQty=\u7269\u6599[{0}]\u6570\u91CF[{1}]\u9519\u8BEF.
error.barcode.inStorage=\u7269\u6599[{0}]\u5DF2\u5728\u6599\u4ED3[{1}]\u7684\u5E93\u4F4D[{2}]\u4E2D
error.barcode.noRule=\u6761\u7801\u89E3\u6790\u89C4\u5219\u672A\u5B9A\u4E49
error.barcode.wrongLength=\u6761\u7801[{0}]\u957F\u5EA6\u9519\u8BEF
error.barcode.noField=\u6761\u7801\u89E3\u6790\u5931\u8D25,\u672A\u627E\u5230{0}\u5B57\u6BB5
error.barcode.wrongPn=PartNumber\u4E0D\u4E00\u81F4
error.barcode.pnNotExist=x\u6863\u6848 {0} \u4E0D\u5B58\u5728
error.barcode.errorSize=x \u6599\u76D8\u672A\u8BBE\u7F6E\u5C3A\u5BF8
error.storage.noStorage=\u65E0\u53EF\u7528\u7684\u6599\u4ED3
msg.line.putIn=[{0}]\u51C6\u5907\u5165\u5E93\u5230[{1}]
shelf.msg.hasReel=\u5E93\u4F4D[{0}]\u4E2D\u5DF2\u6709\u7269\u6599
shelf.msg.tipScanReel=\u5E93\u4F4D[{0}]\u64CD\u4F5C\u6210\u529F,\u8BF7\u626B\u63CF\u8981\u653E\u5165\u7684\u7269\u6599
shelf.msg.fastop=\u6761\u7801\u64CD\u4F5C\u9891\u7E41,\u8BF7\u7A0D\u540E\u518D\u8BD5
shelf.msg.scanPos=\u8BF7\u5148\u626B\u63CF\u5E93\u4F4D\u7801
shelf.nextPos.hasTask=\u4E0B\u4E00\u5E93\u4F4D[{0}]\u5DF2\u6709\u4EFB\u52A1,\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801
shelf.nextPos.wrongSize=\u4E0B\u4E00\u5E93\u4F4D[{0}]\u5C3A\u5BF8[{1}]\u4E0E\u6599\u76D8\u5C3A\u5BF8[{2}]\u4E0D\u7B26,\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801
shelf.nextPos.hasReel=\u4E0B\u4E00\u5E93\u4F4D[{0}]\u5DF2\u6709\u7269\u6599,\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801
settings.remind.title=\u63D0\u9192\u8BBE\u7F6E
settings.remind.deadday=\u5929\u524D\u5446\u6EDE\u7269\u6599\u63D0\u9192
barcode.error.used=\u5DF2\u88AB\u4F7F\u7528\u7684\u6761\u7801\u65E0\u6CD5\u5220\u9664
order.num.modify=\u5DE5\u5355\u6570\u91CF\u4FEE\u6539
order.modify.tip=\u4FEE\u6539\u5DE5\u5355\u6570\u91CF\u4E3A\: \u5F53\u524D\u6570\u91CF x
barcode.lastDate=\u5165\u5E93\u65F6\u95F4
solderBox.btn.closeDoor=\u6238\u3092\u9589\u3081\u308B
solderBox.btn.openDoor=\u30C9\u30A2\u3092\u958B\u3051\u308B
solderBox.task.outTime=\u767A\u9001\u307E\u3067\u306E\u6642\u9593\u306E\u76EE\u5B89
storage.status.14=\u518D\u6696\u3092\u53D6\u308B\u3053\u3068
storage.status.15=\u6E29\u3081\u76F4\u3057
storage.status.16=\u6E29\u3081\u7F6E\u304D
storage.status.17=\u6E29\u3081\u76F4\u3059
storage.status.18=\u64B9\u62CC\u306E\u305F\u3081\u306E\u30D5\u30A7\u30C3\u30C1\u30F3\u30B0
storage.status.19=\u652A\u62CC\u3092\u5F85\u3063\u3066\u3044\u308B
storage.status.20=\u9032\u884C\u4E2D\u306E\u30DF\u30AD\u30B7\u30F3\u30B0
storage.status.21=\u30DF\u30AD\u30B7\u30F3\u30B0\u304C\u7D42\u308F\u3063\u3066\u5009\u5EAB\u306B\u623B\u308B
storage.status.22=\u304B\u304D\u307E\u308F\u3059
solder.status.1=\u51B7\u8535
solder.status.2=\u6E29\u6696\u5316
solder.status.3=\u652A\u62CC\u3092\u5F85\u3063\u3066\u3044\u308B
solder.status.4=\u9032\u884C\u4E2D\u306E\u30DF\u30AD\u30B7\u30F3\u30B0
solder.status.5=\u5165\u8377\u5F85\u3061
solder.status.6=\u4FDD\u7BA1\u5834\u6240\u306E\u5916
solder.status.7=\u30EA\u30C8\u30EA\u30FC\u30C8\u53CE\u7D0D
op.6=\u56DE\u6E29\u53D6\u6599
op.7=\u56DE\u6E29\u653E\u6599
op.8=\u6405\u62CC
delete.confirm=\u786E\u5B9A\u8981\u5220\u9664\u5417?
order.close.success=\u5DE5\u5355\u5173\u95ED\u6210\u529F
order.close.empty=\u5DE5\u5355\u53F7\u4E0D\u80FD\u4E3A\u7A7A
order.close.notExist=\u672A\u627E\u5230\u5DE5\u5355[{0}]
order.close=\u5173\u95ED
order.out.failed=\u65E0\u6CD5\u6267\u884C\u5DE5\u5355\u8865\u6599\u4EFB\u52A1
order.out.notFound=\u672A\u627E\u5230\u5DE5\u5355\u4FE1\u606F
component.error.bomUsed=\u6750\u6599\u306F\u3059\u3067\u306BBOM\u3092\u4F7F\u7528\u3001\u524A\u9664\u3067\u304D\u306A\u3044
boxChart.rescan=\u30D0\u30FC\u30B3\u30FC\u30C9\u3092\u518D\u30B9\u30AD\u30E3\u30F3
button.edit=\u7DE8\u96C6
error.barcode.executing=\u30D0\u30FC\u30B3\u30FC\u30C9[{0}]\u30BF\u30B9\u30AF\u304C\u5B9F\u884C\u4E2D
menu.component=\u88FD\u54C1\u7BA1\u7406
cabinet.error.noOp=\u30C9\u30A2\u304C\u30AA\u30FC\u30D7\u30F3\u306E\u5834\u5408\u3001\u5165\u51FA\u5EAB\u304C\u3067\u304D\u306A\u3044
button.reset=\u30EA\u30BB\u30C3\u30C8
storagePos.width=\u5E45
area.search.subtitle=\u30A8\u30EA\u30A2\u30EA\u30B9\u30C8
workOrder.waitOut=\u51FA\u5EAB\u5F85\u3061
storage.area.empty=\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u6240\u5C5E\u30A8\u30EA\u30A2\u306F\u7A7A\u3067\u306F\u3044\u3051\u306A\u3044
shelf.msg.inOk=\u64CD\u4F5C\u6210\u529F\u3001\u64CD\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u306B\u5165\u308C\u3066\u304F\u3060\u3055\u3044
storage.type.smdXl=SMD-XL
storage.enable.enable=\u30B9\u30BF\u30FC\u30C8
menu.batch=\u30D0\u30C3\u30C1
workOrder.name=\u30AA\u30FC\u30C0\u30FC\u756A\u53F7
error.storage.unavailable=\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u5229\u7528\u4E0D\u53EF
errors.upload.fileNotExist=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u5B58\u5728\u306A\u3044\u3001\u3082\u3046\u4E00\u5EA6\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\u3002
workOrder.subtitle=\u30AA\u30FC\u30C0\u30FC\u30B5\u30FC\u30C1
date.format=yyyy-MM-dd
error.barcode.noRule=\u30D0\u30FC\u30B3\u30FC\u30C9\u89E3\u6790\u898F\u5247\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u306A\u3044
cabinet.error.openMoreDoor=\u540C\u6642\u306B\u8907\u6570\u306E\u30C9\u30A2\u3092\u958B\u3051\u306A\u3044
authority.storage.manage=\u30B9\u30C8\u30EC\u30FC\u30B8\u7BA1\u7406
storage.status.22=\u652A\u62CC\u5B8C\u6210
storage.status.21=\u652A\u62CC\u5B8C\u6210\u3001\u30B9\u30C8\u30EC\u30FC\u30B8\u306B\u623B\u3059
dataLog.checkout={0}[\u6570\u91CF\uFF1A{1}]\u304B\u3089[{2}]\u51FA\u5EAB
storage.status.20=\u652A\u62CC\u5B9F\u884C\u4E2D
shelf.nextPos.hasReel=\u6B21\u306E\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u3059\u3067\u306B\u6750\u6599\u304C\u3042\u308A\u3001\u30B9\u30C8\u30EC\u30FC\u30B8\u30B3\u30FC\u30C9\u3092\u518D\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u304F\u3060\u3055\u3044
storage.clearPos=\u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u30AF\u30EA\u30A2
alarm.inaction.msg={0}\u65E5\u524D\u306E\u30C7\u30C3\u30C9\u6750\u6599\u6570\u91CF\u306F[{1}]\u3001\u76F4\u3061\u306B\u51E6\u7406\u3057\u3066\u304F\u3060\u3055\u3044
component.auto.scancode=\u30D0\u30FC\u30B3\u30FC\u30C9\u5165\u529B
button.uploadFile=\u30C7\u30FC\u30BF\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
op.status.finished=\u7D42\u4E86
settings.api.orderFileDir=\u30AA\u30FC\u30C0\u30FC\u30D5\u30A9\u30EB\u30C0
workOrder.update.subtitle=\u30AA\u30FC\u30C0\u30FC\u60C5\u5831
settings.api.checkBarcode=\u30D0\u30FC\u30B3\u30FC\u30C9\u30B5\u30FC\u30C1API
authority.feeder.view=\u30AA\u30FC\u30C0\u30FC\u30B5\u30FC\u30C1
error.barcode.expired=\u6750\u6599\u306F\u671F\u9650\u5207\u308C\u3067\u3059\u306E\u3067\u3001\u5165\u5EAB\u3067\u304D\u306A\u3044
shelf.size.title=\u30EA\u30FC\u30EB\u30B5\u30A4\u30BA\u3092\u9078\u629E
storage.status.19=\u652A\u62CC\u5F85\u3061
storage.status.18=\u6405\u62CC\u53D6\u6599\u4E2D
solderBox.task.outTime=\u9884\u8BA1\u51FA\u5E93\u65F6\u95F4
storage.status.17=\u56DE\u6E29\u653E\u6599\u5B8C\u6210
storage.status.16=\u56DE\u6E29\u653E\u6599\u4E2D
storage.status.15=\u56DE\u6E29\u53D6\u6599\u5B8C\u6210
storage.status.14=\u56DE\u6E29\u53D6\u6599\u4E2D
storage.status.13=\u539F\u70B9\u8FD4\u56DE\u4E2D
storage.type.cabinet=\u667A\u80FD\u6599\u67DC
storage.status.12=\u79FB\u683D\u4E2D
order.out.notFound=\u672A\u627E\u5230\u5DE5\u5355\u4FE1\u606F
storage.status.11=\u51FA\u5E93\u5B8C\u6210
workOrder.workOrder=\u30AA\u30FC\u30C0\u30FC
storage.status.10=\u51FA\u4ED3\u4F4D\u5B8C\u6210
component.providerNumber=\u4F9B\u5E94\u5546\u7F16\u53F7
storage.match.exactMatch=\u5B8C\u5168\u30DE\u30FC\u30C1\u30F3\u30B0
menu.workOrder=\u30E9\u30A4\u30C8\u30AA\u30FC\u30C0\u30FC
boxChart.noCode=\u30D0\u30FC\u30B3\u30FC\u30C9\u304C\u30B9\u30AD\u30E3\u30F3\u3055\u308C\u3066\u3044\u306A\u3044
barcode.plateSize=\u30EA\u30FC\u30EB\u30B5\u30A4\u30BA
barcode.error.notFound=\u95A2\u9023\u3059\u308B\u30D0\u30FC\u30B3\u30FC\u30C9\u304C\u898B\u3064\u304B\u3089\u306A\u3044
storage.type.smdVl=SMD-VL
storage.type.solderPaste=SMD-SP
\ No newline at end of file
shelf.msg.outError=\u64CD\u4F5C\u5931\u6557\uFF1A\u51FA\u5EAB\u3067\u304D\u308B\u6750\u6599\u304C\u898B\u3064\u304B\u3089\u306A\u3044
component.item.name=\u6750\u6599
area.storages=\u6599\u4ED3
delete.confirm=\u672C\u5F53\u306B\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F
shelf.msg.tipScanReel=\u5E93\u4F4D[{0}]\u64CD\u4F5C\u6210\u529F\uFF0C\u8BF7\u626B\u63CF\u8981\u653E\u5165\u7684\u7269\u6599
authority.user.manage=\u30E6\u30FC\u30B6\u30FC\u7BA1\u7406
barcode.error.unique=\u30D0\u30FC\u30B3\u30FC\u30C9{0}\u304C\u4F7F\u7528\u6E08\u307F
component.producer=\u30E1\u30FC\u30AB\u30FC
batch.btn.batchOut=\u30DE\u30EB\u30C1\u51FA\u5EAB
updatePassword.success=\u30D1\u30B9\u30EF\u30FC\u30C9\u66F4\u65B0\u304C\u6210\u529F
updatePassword.currentPassword.label=\u73FE\u5728\u30D1\u30B9\u30EF\u30FC\u30C9
component.producerNumber=\u30E1\u30FC\u30AB\u30FC\u30CA\u30F3\u30D0\u30FC
shelf.msg.inError=[{0}]\u306B\u9069\u3057\u305F\u30B9\u30C8\u30EC\u30FC\u30B8\u304C\u898B\u3064\u304B\u3089\u306A\u3044
boxChart.solderOut=\u534A\u7530\u30D9\u30B9\u30C8\u51FA\u5EAB
component.validDay=\u6709\u52B9\u671F\u9593\uFF08\u65E5\uFF09
error.barcode.errorSize=x \u30EA\u30FC\u30EB\u306E\u30B5\u30A4\u30BA\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044
component.unitCost=\u6D88\u8017
storage.virtual.posEmpty=\u30B9\u30C8\u30EC\u30FC\u30B8\u756A\u53F7\u304C\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
workOrder.supplementaryFinish=\u6750\u6599\u88DC\u5145
component.saveSuccess=\u6750\u6599\u4FDD\u5B58\u6210\u529F
authority.bom.manage=BOM \u7BA1\u7406
order.inventory=\u5728\u5EAB
error.barcode.invalid={0} \u306F\u6709\u52B9\u306A\u30D0\u30FC\u30B3\u30FC\u30C9\u3067\u306F\u306A\u3044
user.search.subtitle=\u30E6\u30FC\u30B6\u30FC\u30B5\u30FC\u30C1
cabinet.error.noAuth=\u64CD\u4F5C\u6A29\u304C\u306A\u3044\u306E\u3067\u3001\u7BA1\u7406\u8005\u306B\u9023\u7D61\u3057\u3066\u304F\u3060\u3055\u3044\u3002
workOrder.date=\u65E5\u4ED8
barcode.expireDate=\u671F\u9650\u5207\u308C
authority.workorder.manage=\u30AA\u30FC\u30BF\u30FC\u7BA1\u7406
role.search.subtitle=\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC\u30EA\u30B9\u30C8
barcode.amount=\u6570\u91CF
error.barcode.inQueue=\u64CD\u4F5C\u5931\u6557\uFF1A\u4E8C\u6B21\u5143\u30B3\u30FC\u30C9[{0}]\u306F\u3059\u3067\u306B\u64CD\u4F5C\u30EA\u30B9\u30C8\u306B\u3042\u308B
component.smdAlarmValue=SMD\u8B66\u5831\u5024
storage.type.shelf=\u30B9\u30DE\u30FC\u30C8\u30E9\u30A4\u30C8
menu.cloud.storage=\u30A4\u30F3\u30E9\u30A4\u30F3\u30B9\u30C8\u30EC\u30FC\u30B8
top.menu.profile=\u8CC7\u6599\u7DE8\u96C6
cabinet.msg.finish=\u64CD\u4F5C\u5B8C\u6210
authority.stockIn.more=\u8D85\u904E\u5165\u5EAB
storage.type.auto=\u30B7\u30F3\u30B0\u30EB\u81EA\u52D5
cabinet.error.wrongPos=\u3053\u306E\u6750\u6599\u306F\u3053\u306E\u4F4D\u7F6E\u306B\u306A\u3044
menu.component.inventory=\u5728\u5EAB\u7BA1\u7406
role.update.subtitle=\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC\u60C5\u5831
component.height=\u30EA\u30FC\u30EB\u306E\u9AD8\u3055
storagePos.saveSuccess=\u30B9\u30C8\u30EC\u30FC\u30B8\u60C5\u5831\u306E\u4FDD\u5B58\u306B\u6210\u529F
button.end=\u7D42\u4E86
storage.status.9=\u51FA\u5EAB\u5B9F\u884C\u4E2D
error.pos.wrong=\u30B9\u30C8\u30EC\u30FC\u30B8\u300C{0}\u300D\u306F\u30B9\u30C8\u30EC\u30FC\u30B8[{1}\u3068\u4E00\u81F4\u3057\u3066\u3044\u306A\u3044\u306E\u3067\u3001\u5165\u5EAB\u3067\u304D\u306A\u3044
storage.status.8=\u5165\u5EAB\u5931\u6557
workOrder.update.title=\u30AA\u30FC\u30BF\u30FC\u7BA1\u7406
storage.status.7=\u6599\u76D8\u5165\u4ED3\u4F4D\u5B8C\u6210\u30EA\u30FC\u30EB\u3092\u30D5\u30A3\u30FC\u30C0\u30FC\u306B\u5165\u308C\u305F
storage.status.6=\u5165\u5EAB\u5B9F\u884C\u4E2D
storage.status.5=\u8ABF\u6574\u4E2D
cabinet.exit=\u9000\u51FA
dataLog.storageName=\u30B9\u30C8\u30EC\u30FC\u30B8\u540D\u79F0
storage.status.4=\u8B66\u544A
home.chart.component=\u6750\u6599\u914D\u5206
storage.status.3=\u6545\u969C\u4E2D
storage.update.subtitle=\u30B9\u30C8\u30EC\u30FC\u30B8\u60C5\u5831
storage.status.2=\u7DCA\u6025\u505C\u6B62
storage.status.1=\u8A2D\u5099\u30AA\u30F3\u30E9\u30A4\u30F3
user.search.param=\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u691C\u7D22
home.chart.component.componentAmount=\u6570\u91CF
storage.type.line=\u30E9\u30A4\u30F3
chart.showType.YEAR=\u5E74
barcode.search.subtitle=\u30D0\u30FC\u30B3\u30FC\u30C9\u30B5\u30FC\u30C1
storage.type.solderPaste=SMD-SP
menu.cloud=\u6750\u6599\u30A4\u30F3\u30E9\u30A4\u30F3
authority.specifiedBatch=\u6307\u5B9A\u30D0\u30C3\u30C1\u7BA1\u7406
sotrage.status.999=\u30AA\u30D5\u30E9\u30A4\u30F3
storage.cid=\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u756A\u53F7
storage.error.notExist=\u30B9\u30C8\u30EC\u30FC\u30B8\u304C\u5B58\u5728\u306A\u3044\u3001\u65B0\u3057\u3044\u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u4F5C\u3063\u3066\u304B\u3089\u64CD\u4F5C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
button.cancel=\u30AD\u30E3\u30F3\u30BB\u30EB
checkOut.pos=\u30D5\u30A3\u30FC\u30C0\u30FC\u4F4D\u7F6E
error.storage.noPos=\u4F7F\u7528\u53EF\u80FD\u306E\u30D5\u30A3\u30FC\u30C9\u30E9\u30C3\u30AF\u304C\u306A\u3044\u3001\u7D9A\u3051\u3066\u5165\u308C\u306A\u3044
dataLog.date=\u65E5\u4ED8
menu.batch.feeder=\u30D5\u30A3\u30FC\u30C0\u30FC\u30EA\u30B9\u30C8
shelf.msg.fastop=\u30D0\u30FC\u30B3\u30FC\u30C9\u306E\u64CD\u4F5C\u304C\u983B\u7E41\u3067\u3059\u306E\u3067\u3001\u5F8C\u3067\u8A66\u3057\u3066\u304F\u3060\u3055\u3044\u3002
order.num.modify=\u30AA\u30FC\u30C0\u30FC\u6570\u91CF\u3092\u5909\u66F4
barcode.supplierPn=\u30B5\u30D7\u30E9\u30A4\u30E4\u30FCPN
op.status.executing=\u5B9F\u884C\u4E2D
cabinet.error.posError=\u4E0D\u6B63\u64CD\u4F5C\uFF1A\u30C9\u30A2\u304C\u898B\u3064\u304B\u3089\u306A\u3044
user.email=\u30E1\u30FC\u30EB
op.status.cancel=\u30AD\u30E3\u30F3\u30BB\u30EB
storage.type.manual=\u624B\u52D5
button.putin=\u5165\u5EAB
user.authCode=\u8A8D\u8A3C\u30B3\u30FC\u30C9
storage.type=\u30BF\u30A4\u30D7
order.close.empty=\u30AA\u30FC\u30C0\u30FC\u756A\u53F7\u306F\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
alarm.store.msg={0}\u306E\u5728\u5EAB\u91CF\u306F [{1}]\u8A2D\u7F6E\u3057\u305F\u7BC4\u56F2\u3092\u30AA\u30FC\u30D0\u30FC [{2}-{3}]
alarm.expire.msg=\u5373\u5C06\u6216\u5DF2\u8FC7\u671F\u7269\u6599\u6570\u91CF\u4E3A[{0}]\uFF0C\u8BF7\u53CA\u65F6\u5904\u7406\u3000\u307E\u3082\u306A\u304F\u671F\u9650\u5207\u308C\u307E\u305F\u306F\u3082\u3046\u671F\u9650\u5207\u308C\u305F\u6750\u6599\u306E\u6570\u91CF\u306F\u300C{0}\u300D\u3067\u3001\u9069\u6642\u306B\u51E6\u7406\u3057\u3066\u304F\u3060\u3055\u3044\u3002
error.barcode.empty=\u30D0\u30FC\u30B3\u30FC\u30C9\u304C\u30B9\u30AD\u30E3\u30F3\u3055\u308C\u3066\u3044\u306A\u3044
authority.dataLog=\u904B\u884C\u30C7\u30FC\u30BF\u30FC
checkOut.operate=\u64CD\u4F5C
storage.type.online=\u30A4\u30F3\u30E9\u30A4\u30F3\u30B9\u30C8\u30EC\u30FC\u30B8(\u4E0A\u4E0B\u5C64)
error.pos.inQueue=\u4F4D\u7F6E[{0}]\u306F\u3059\u3067\u306B\u64CD\u4F5C\u30EA\u30B9\u30C8\u306B\u3042\u308A\u3001\u64CD\u4F5C\u5931\u6557
component.plateSize.empty=\u30EA\u30FC\u30EB\u30B5\u30A4\u30BA\u304C\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
storage.chart.temperature=\u6E29\u5EA6
error.barcode.wrongProduceDate=\u751F\u4EA7\u65E5\u671F\u89E3\u6790\u5931\u8D25
order.out.executing=\u5F53\u524D\u5DE5\u5355\u6B63\u5728\u6267\u884C
order.out.maxOrder=\u5DF2\u8FBE\u6700\u5927\u53EF\u6267\u884C\u5DE5\u5355\u6570
order.out.noTask=\u5DE5\u5355\u65E0\u53EF\u6267\u884C\u7684\u4EFB\u52A1
shelf.error.orderError=\u4EFB\u52A1\u4E0E\u6307\u5B9A\u5DE5\u5355[{0}]\u4E0D\u4E00\u81F4
menu.home=\u9996\u9875
menu.workOrder=\u8F7B\u5DE5\u5355
menu.workOrder.search=\u5DE5\u5355\u67E5\u8BE2
menu.workOrder.new=\u65B0\u5EFA\u5DE5\u5355
menu.component=\u4EA7\u54C1\u7BA1\u7406
menu.component.bom=BOM\u7BA1\u7406
menu.component.search=\u6599\u4EF6\u6863\u6848\u7BA1\u7406
menu.component.inventory=\u5E93\u5B58\u7BA1\u7406
menu.cloud=\u7269\u6599\u4E91
menu.cloud.storage=\u4E91\u4ED3\u5E93
menu.cloud.checkOut=\u6599\u4EF6\u67E5\u627E\u51FA\u5E93
menu.barCode=\u6761\u5F62\u7801
menu.barCode.new=\u65B0\u5EFA\u6761\u7801
menu.barCode.search=\u6761\u7801\u67E5\u8BE2
menu.batch = \u6279\u6B21
menu.batch.feeder = \u7AD9\u4F4D\u5217\u8868
menu.batch.specifiedBatch=\u6307\u5B9A\u6279\u6B21
#
#Wed Dec 09 15:58:56 CST 2020
menu.user=\u6743\u9650\u7BA1\u7406
menu.user.account=\u8D26\u6237\u7BA1\u7406
storage.clearAllPos=\u6E05\u7A7A\u6240\u6709\u4ED3\u4F4D
shelf.msg.notFound=\u672A\u627E\u5230\u6599\u67B6
button.checkout=\u51FA\u5E93
op.status.pause=\u5DF2\u6682\u505C
barcode.provider=\u4F9B\u5E94\u5546
cabinet.error.validOp=\u64CD\u4F5C\u5931\u8D25\uFF1A\u65E0\u6CD5\u5F00\u95E8
workOrder.deleteSuccess=\u5DE5\u5355\u5220\u9664\u6210\u529F
updatePassword.newPassword.label=\u65B0\u5BC6\u7801
workOrder.amount=\u6570\u91CF
cabinet.card=\u8BF7\u5237\u5361
order.modify.tip=\u4FEE\u6539\u5DE5\u5355\u6570\u91CF\u4E3A\uFF1A\u5F53\u524D\u6570\u91CF x
profile.password.subtitle=\u4FEE\u6539\u5BC6\u7801
barcode.saveSuccess=\u6761\u7801\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
error.barcode.pnNotExist=x\u6863\u6848 {0} \u4E0D\u5B58\u5728
alarm.inaction.title=\u5446\u6EDE\u7269\u6599\u63D0\u9192
dataLog.search.subtitle=\u51FA\u5165\u5E93\u65E5\u5FD7
boxChart.confirm=\u786E\u8BA4\u5165\u5E93
shelf.msg.outOk=\u64CD\u4F5C\u6210\u529F\uFF0C\u8BF7\u4ECE\u5E93\u4F4D[{0}]\u4E2D\u53D6\u51FA\u7269\u6599
menu.component.search=\u6599\u4EF6\u6863\u6848\u7BA1\u7406
area.item.name=\u533A\u57DF
alarm.store.title=\u5E93\u5B58\u9884\u8B66
menu.user.role=\u89D2\u8272\u7BA1\u7406
menu.help=\u5E2E\u52A9
menu.dataLog.search=\u65E5\u5FD7\u7BA1\u7406
menu.boxManager=\u6599\u4ED3\u7BA1\u7406
top.menu.profile=\u8D44\u6599\u7F16\u8F91
top.menu.logout=\u6CE8\u9500
home.kanban=\u770B\u677F
home.chart.component=\u6599\u4EF6\u5206\u5E03
home.chart.component.overview=\u6982\u89C8
home.chart.component.componentAmount=\u6570\u91CF
home.chart.component.positionNum=\u6240\u5360\u4ED3\u4F4D
home.chart.storage=\u4ED3\u4F4D\u5229\u7528\u7387
home.chart.storage.total=\u603B\u4ED3\u4F4D\u6570
home.chart.storage.useage=\u5DF2\u4F7F\u7528
home.chart.storage.empty=\u7A7A\u95F2
workOrder.title=\u5DE5\u5355\u7BA1\u7406
workOrder.subtitle=\u67E5\u627E\u5DE5\u5355
workOrder.update.title=\u5DE5\u5355\u7BA1\u7406
workOrder.update.subtitle=\u5DE5\u5355\u8BE6\u60C5
cabinet.error.noPos=\u5E93\u4F4D\u4E0D\u5B58\u5728
storage.virtual.pnlimit=\u6307\u5B9A\u7269\u7F16
storage.type.virtual=\u865A\u62DF\u4ED3
dataLog.item.name=\u51FA\u5165\u5E93\u65E5\u5FD7
barcode.error.notExist=\u6761\u7801{0}\u4E0D\u5B58\u5728
button.delete=\u5220\u9664
button.addto.checkout=\u52A0\u5165\u5230\u51FA\u5E93\u961F\u5217
workOrder.list=\u5DE5\u5355\u5217\u8868
workOrder.saveSuccess=\u5DE5\u5355\u4FDD\u5B58\u6210\u529F
workOrder.deleteSuccess=\u5DE5\u5355\u5220\u9664\u6210\u529F
workOrder.checkoutSuccess=\u5DE5\u5355\u51FA\u5E93\u6210\u529F
workOrder.workOrder=\u5DE5\u5355
workOrder.name=\u5DE5\u5355\u53F7
workOrder.amount=\u6570\u91CF
workOrder.error.amount=\u5DE5\u5355\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0
checkOut.componentName=\u6599\u4EF6\u540D\u79F0
checkOut.pos=\u4ED3\u4F4D
checkOut.operate=\u64CD\u4F5C
component.search.subtitle=\u6599\u4EF6\u5217\u8868
component.list=\u6599\u4EF6\u5217\u8868
chart.showType.MONTH=\u6708\u4EFD
home.chart.storage=\u4ED3\u4F4D\u5229\u7528\u7387
barcode.error.partNumber.empty=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E
storage.match.sizeCompatible=\u540C\u5C3A\u5BF8\u517C\u5BB9
op.status.none=
storage.status=\u72B6\u6001
component.update.subtitle=\u6599\u4EF6\u8BE6\u60C5
component.item.name=\u6599\u4EF6
component.name=\u6599\u4EF6\u540D\u79F0
component.partNumber=\u6599\u4EF6\u7F16\u53F7
component.plateSize=\u6599\u76D8\u5C3A\u5BF8
component.height=\u6599\u76D8\u9AD8\u5EA6
component.amount=\u5C01\u88C5\u6570\u91CF
component.encapsulation=\u5C01\u88C5
component.unit=\u5355\u4F4D
component.unitCost=\u5355\u8017
component.provider=\u4F9B\u5E94\u5546
component.providerNumber=\u4F9B\u5E94\u5546\u7F16\u53F7
component.producer=\u5382\u5546
component.producerNumber=\u5382\u5546\u7F16\u53F7
component.msl=MSL \u7B49\u7EA7
component.productionType=\u5143\u5668\u4EF6\u578B\u53F7
component.description=\u6599\u4EF6\u63CF\u8FF0
component.partNumber.exist=\u6599\u4EF6\u7F16\u53F7\u5DF2\u5B58\u5728
component.pic=\u56FE\u7247
component.saveSuccess=\u6599\u4EF6\u4FDD\u5B58\u6210\u529F
storage.virtual.numEmpty=\u53EF\u653E\u6599\u76D8\u6570\u91CF\u4E0D\u80FD\u4E3A\u7A7A
component.plateSize=\u6599\u76D8\u5C3A\u5BF8
error.barcode.wrongSize=\u6599\u76D8\u5C3A\u5BF8[{0}]\u4E0D\u7B26
area.putInEndTime=\u5165\u5E93\u622A\u6B62\u65F6\u95F4
component.deleteSuccess=\u6599\u4EF6\u5220\u9664\u6210\u529F
component.name.empty=\u6599\u4EF6\u540D\u4E0D\u80FD\u4E3A\u7A7A
component.partNumber.empty=\u6599\u4EF6\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
component.error.bomUsed=\u6599\u4EF6\u5DF2\u88ABBOM\u4F7F\u7528\uFF0C\u65E0\u6CD5\u5220\u9664
component.error.notExist=\u6599\u4EF6{0}\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E\u3002
component.error.notFound=\u65E0\u6CD5\u627E\u5230\u6B64\u6599\u4EF6
component.smdAlarmValue=SMD\u9884\u8B66\u503C
barcode.search.subtitle=\u6761\u7801\u67E5\u627E
barcode.item.name=\u6761\u7801
barcode.print=\u6253\u5370
barcode.update.subtitle=\u6761\u7801\u8BE6\u60C5
barcode.barcode=\u6761\u7801\u7F16\u53F7
barcode.partNumber=\u6599\u4EF6\u7F16\u53F7
barcode.amount=\u6570\u91CF
barcode.plateSize=\u6599\u76D8\u5C3A\u5BF8
barcode.height=\u6599\u76D8\u9AD8\u5EA6
barcode.provider=\u4F9B\u5E94\u5546
barcode.batch=\u6279\u6B21
barcode.expireDate=\u8FC7\u671F\u65E5\u671F
barcode.saveSuccess=\u6761\u7801\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
barcode.deleteSuccess=\u6761\u7801\u4FE1\u606F\u5220\u9664\u6210\u529F
barcode.storage.input=\u8BF7\u8F93\u5165\u5165\u5E93\u6761\u7801
barcode.error.unique=\u6761\u7801{0}\u5DF2\u88AB\u4F7F\u7528
barcode.error.empty=\u6761\u7801\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u6761\u7801\u6570\u636E\u662F\u5426\u6B63\u786E
barcode.error.partNumber.empty=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E
barcode.error.amount.negative=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0
barcode.error.component.notExist=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E\u3002
barcode.error.notExist=\u6761\u7801{0}\u4E0D\u5B58\u5728
barcode.error.inStorage=\u6761\u7801{0}\u5DF2\u5728\u5E93\u4E2D
barcode.error.slotExist=\u6761\u7801\u5BF9\u5E94\u7684\u6599\u4EF6\u672A\u5165\u5E93
barcode.memo=\u5907\u6CE8
dataLog.operator=\u64CD\u4F5C\u4EBA
storage.search.subtitle=\u6599\u4ED3\u67E5\u627E
storage.item.name=\u6599\u4ED3
storage.slotAmount=\u4ED3\u4F4D\u6570\u91CF
storage.update.subtitle=\u6599\u4ED3\u8BE6\u60C5
storage.status=\u72B6\u6001
storage.chart.temperature=\u6E29\u5EA6
storage.chart.humidity=\u6E7F\u5EA6
storage.status.1=\u8BBE\u5907\u8054\u673A
storage.status.2=\u6025\u505C
storage.status.3=\u6545\u969C\u4E2D
storage.status.4=\u8B66\u544A
storage.status.5=\u8C03\u8BD5\u4E2D
storage.status.6=\u5165\u5E93\u6267\u884C\u4E2D
storage.status.7=\u6599\u76D8\u5165\u4ED3\u4F4D\u5B8C\u6210
storage.status.8=\u5165\u5E93\u5931\u8D25
storage.status.9=\u51FA\u5E93\u6267\u884C\u4E2D
storage.status.10=\u51FA\u4ED3\u4F4D\u5B8C\u6210
storage.status.11=\u51FA\u5E93\u5B8C\u6210
storage.status.12=\u79FB\u683D\u4E2D
storage.status.13=\u539F\u70B9\u8FD4\u56DE\u4E2D
sotrage.status.999=\u79BB\u7EBF
storage.type=\u7C7B\u578B
storage.type.auto=\u5355\u53F0\u81EA\u52A8
storage.type.manual=\u624B\u52A8
storage.type.line=\u6D41\u6C34\u7EBF
storage.type.virtual=\u865A\u62DF\u4ED3
storage.type.online=\u5728\u7EBF\u4ED3(\u4E0A\u4E0B\u5C42)
storage.type.batch=\u6279\u91CF\u6599\u4ED3
storage.type.shelf=\u667A\u80FD\u6599\u67B6
storage.type.cabinet=\u667A\u80FD\u6599\u67DC
storage.compatibility=\u517C\u5BB9\u6027
storage.enable=\u662F\u5426\u53EF\u7528
storage.enable.yes=\u662F
storage.enable.no=\u5426
storage.enable.prohibit=\u7981\u7528
storage.enable.enable=\u542F\u7528
storage.posSize=\u4ED3\u4F4D\u5C3A\u5BF8
storage.clearPos=\u6E05\u7A7A\u4ED3\u4F4D
storage.clearAllPos=\u6E05\u7A7A\u6240\u6709\u4ED3\u4F4D
storage.clearPos.msg=\u6B64\u64CD\u4F5C\u4F1A\u6E05\u7A7A\u6240\u6709\u4ED3\u4F4D\u4E2D\u7684\u5E93\u5B58,\u4E14\u4E0D\u53EF\u6062\u590D,\u8BF7\u786E\u4FDD\u6599\u4ED3\u4E2D\u7684\u7269\u6599\u5DF2\u53D6\u51FA. \u786E\u5B9A\u8981\u6E05\u7A7A\u6240\u6709\u4ED3\u4F4D\u5417\uFF1F
storage.match.exactMatch=\u5B8C\u5168\u5339\u914D
storage.match.fullyCompatible=\u5B8C\u5168\u517C\u5BB9
storage.match.sizeCompatible=\u540C\u5C3A\u5BF8\u517C\u5BB9
storage.name=\u540D\u79F0
storage.cid=\u5BA2\u6237\u7AEF\u7F16\u53F7
storage.boxCount=Box\u6570\u91CF
storage.slotList=\u4ED3\u4F4D\u5217\u8868
storagePos.name=\u4ED3\u4F4D\u7F16\u53F7
storagePos.priority=\u4F18\u5148\u7EA7
storagePos.width=\u5BBD\u5EA6
storagePos.height=\u9AD8\u5EA6
storagePos.layer=\u5C42\u6570
storagePos.update=\u8BF7\u66F4\u65B0\u4ED3\u4F4D\u4FE1\u606F
storagePos.saveSuccess=\u4ED3\u4F4D\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
storage.saveSuccess=\u6599\u4ED3\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
storage.error.notExist=\u4ED3\u5E93\u4E0D\u5B58\u5728\uFF0C\u8BF7\u65B0\u5EFA\u4ED3\u4F4D\u540E\u64CD\u4F5C
storage.error.unique=\u4ED3\u5E93\u540D\u5DF2\u88AB\u4F7F\u7528\uFF0C\u8BF7\u6539\u540D\u540E\u91CD\u65B0\u4FDD\u5B58
storage.error.full=\u4ED3\u5E93\u5DF2\u6EE1\uFF0C\u8BF7\u66F4\u6362\u4ED3\u5E93\u540E\u518D\u5B58\u50A8
storage.error.cidUnique=\u4ED3\u5E93\u5BA2\u6237\u7AEF\u7F16\u53F7\u5FC5\u987B\u4E3A\u552F\u4E00
errors.upload.fileNotExist=\u4E0A\u4F20\u7684\u6587\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20
button.add=\u65B0\u589E
button.return=\u8FD4\u56DE\u5217\u8868
button.delete=\u5220\u9664
button.edit=\u7F16\u8F91
button.save=\u4FDD\u5B58
barcode.error.inStorage=\u6761\u7801{0}\u5DF2\u5728\u5E93\u4E2D
batch.btn.singleIn=\u542F\u52A8\u5355\u76D8\u5165\u5E93
button.upload=\u4E0A\u4F20
button.view=\u67E5\u770B
button.reset=\u91CD\u7F6E
button.search=\u67E5\u8BE2
button.cancel=\u53D6\u6D88
button.putin=\u5165\u5E93
button.checkout=\u51FA\u5E93
button.uploadFile=\u4E0A\u4F20\u6570\u636E\u6587\u4EF6
button.end=\u7ED3\u675F
file.title=\u8BF7\u4E0A\u4F20\u6570\u636E\u6587\u4EF6
authority.component.manage=\u6599\u4EF6\u7BA1\u7406
authority.bom.manage= BOM \u7BA1\u7406
authority.workorder.manage=\u5DE5\u5355\u7BA1\u7406
button.save=\u4FDD\u5B58
barcode.error.empty=\u6761\u7801\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u6761\u7801\u6570\u636E\u662F\u5426\u6B63\u786E
authority.barcode.manage=\u6761\u7801\u7BA1\u7406
authority.storage.manage=\u6599\u4ED3\u7BA1\u7406
authority.role.manage=\u89D2\u8272\u7BA1\u7406
authority.user.manage=\u7528\u6237\u7BA1\u7406
authority.stockOut=\u51FA\u5165\u5E93
authority.feeder=\u5DE5\u5355\u7BA1\u7406
authority.specifiedBatch=\u6307\u5B9A\u6279\u6B21\u7BA1\u7406
authority.virtual=\u865A\u62DF\u4ED3\u7BA1\u7406
authority.feeder.view=\u5DE5\u5355\u67E5\u770B
authority.valuable.out=\u8D35\u91CD\u7269\u6599\u51FA\u5E93
authority.dataLog=\u8FD0\u884C\u6570\u636E
error.save=\u4FDD\u5B58\u51FA\u9519,\u8BF7\u68C0\u67E5
role.search.subtitle=\u89D2\u8272\u5217\u8868
role.update.subtitle=\u89D2\u8272\u8BE6\u60C5
role.update.name=\u89D2\u8272\u540D\u79F0
role.update.description=\u63CF\u8FF0
storage.search.subtitle=\u6599\u4ED3\u67E5\u627E
storage.area=\u533A\u57DF
component.unit=\u5355\u4F4D
alarm.temperature.msg=\u6E29\u5EA6\: {0} \u8D85\u51FA\u8303\u56F4[{1}-{2}]
role.update.authorities=\u6743\u9650
home.chart.component.overview=\u6982\u89C8
barcode.lastDate=\u5165\u5E93\u65F6\u95F4
error.storage.noStorage=\u65E0\u53EF\u7528\u7684\u6599\u4ED3
component.partNumber.exist=\u6599\u4EF6\u7F16\u53F7\u5DF2\u5B58\u5728
alarm.expire.title=\u8FC7\u671F\u63D0\u9192
menu.help=\u5E2E\u52A9
required.role.authorities=\u81F3\u5C11\u9009\u62E9\u4E00\u4E2A\u6743\u9650
user.item.name=\u7528\u6237
user.search.subtitle=\u67E5\u627E\u7528\u6237
user.search.param=\u67E5\u627E\u5173\u952E\u5B57
user.update.subtitle=\u7528\u6237\u8BE6\u60C5
user.username=\u7528\u6237\u540D
component.name=\u6599\u4EF6\u540D\u79F0
home.kanban=\u770B\u677F
user.initPwd=\u521D\u59CB\u5BC6\u7801
user.password=\u5BC6\u7801
storage.virtual.pnEmpty=\u6307\u5B9A\u7269\u7F16\u4E0D\u80FD\u4E3A\u7A7A
storage.name=\u540D\u79F0
error.barcode.wrongPn=PartNumber\u4E0D\u4E00\u81F4
dataLog.list=\u65E5\u5FD7\u5217\u8868
cabinet.msg.closeDoor=\u5173\u95E8\u540E\u64CD\u4F5C\u81EA\u52A8\u7ED3\u675F
barcode.error.noRi=\u7F16\u7801\u89C4\u5219\u4E2D\u5FC5\u987B\u5305\u542B RI \u548C PN
menu.boxManager=\u6599\u4ED3\u7BA1\u7406
user.cabinetAssign=\u6599\u67DC\u5206\u914D
component.height.empty=\u6599\u76D8\u9AD8\u5EA6\u4E0D\u80FD\u4E3A\u7A7A
barcode.partNumber=\u6599\u4EF6\u7F16\u53F7
settings.remind.title=\u63D0\u9192\u8BBE\u7F6E
order.out.set=\u5957\u6599\u51FA\u5E93
error.storage.noPosFind=\u672A\u627E\u5230\u53EF\u7528\u7684\u4ED3\u4F4D
error.barcode.many=\u53D1\u73B0\u591A\u4E2A\u6709\u6548\u6761\u7801
solderBox.btn.closeDoor=\u5173\u95E8
storage.enable.yes=\u662F
user.firstName=\u540D
user.lastName=\u59D3
user.fullName=\u59D3\u540D
user.role=\u89D2\u8272
user.language=\u8BED\u8A00
user.email=\u90AE\u7BB1
user.authCode=\u6388\u6743\u7801
user.writeCard=\u5199\u5165\u5361\u7247
user.profile.edit=\u8D44\u6599\u7F16\u8F91
profile.password.subtitle=\u4FEE\u6539\u5BC6\u7801
updatePassword.currentPassword.label=\u5F53\u524D\u5BC6\u7801
updatePassword.newPassword.label=\u65B0\u5BC6\u7801
updatePassword.invalidPassword=\u4F60\u8F93\u5165\u7684\u5F53\u524D\u5BC6\u7801\u4E0D\u6B63\u786E
updatePassword.success=\u5BC6\u7801\u66F4\u65B0\u6210\u529F
updatePassword.changePasswordButton=\u66F4\u65B0\u5BC6\u7801
updatePassword.changePasswordLink = \u4FEE\u6539\u5BC6\u7801
menu.area.search=\u533A\u57DF
area.search.subtitle=\u533A\u57DF\u5217\u8868
area.name=\u533A\u57DF\u540D\u79F0
area.storages=\u6599\u4ED3
area.putInEndTime=\u5165\u5E93\u622A\u6B62\u65F6\u95F4
area.view.subtitle=\u533A\u57DF\u76D1\u63A7
area.item.name=\u533A\u57DF
option.none=----\u8BF7\u9009\u62E9----
storage.area=\u533A\u57DF
storage.name.empty=\u6599\u4ED3\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
storage.area.empty=\u6599\u4ED3\u6240\u5C5E\u533A\u57DF\u4E0D\u80FD\u4E3A\u7A7A
component.auto.scancode=\u626B\u7801\u586B\u5199
menu.cloud.checkOut=\u6599\u4EF6\u67E5\u627E\u51FA\u5E93
component.plate.size=\u6599\u76D8\u5C3A\u5BF8
component.amount.empty=\u6570\u91CF\u4E0D\u80FD\u4E3A\u7A7A
component.plateSize.empty=\u6599\u76D8\u5C3A\u5BF8\u4E0D\u80FD\u4E3A\u7A7A
component.height.empty=\u6599\u76D8\u9AD8\u5EA6\u4E0D\u80FD\u4E3A\u7A7A
plate.size.customer=\u81EA\u5B9A\u4E49\u5C3A\u5BF8
datetime.pattern=yyyy-MM-dd HH:mm
date.format=yyyy-MM-dd
button.addto.checkout=\u52A0\u5165\u5230\u51FA\u5E93\u961F\u5217
dataLog.search.subtitle=\u51FA\u5165\u5E93\u65E5\u5FD7
storage.saveSuccess=\u6599\u4ED3\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
barcode.height=\u6599\u76D8\u9AD8\u5EA6
chart.showType.DAY=\u5929
dataLog.partNumber=\u6599\u4EF6\u7F16\u7801
dataLog.storageName=\u6599\u4ED3\u540D\u79F0
dataLog.num=\u6570\u91CF
dataLog.type=\u7C7B\u578B
dataLog.date=\u65E5\u671F
dataLog.item.name=\u51FA\u5165\u5E93\u65E5\u5FD7
dataLog.checkout={0}[\u6570\u91CF:{1}]\u4ECE[{2}]\u51FA\u5E93
dataLog.putIn={0}[\u6570\u91CF:{1}]\u5165\u5E93\u5230[{2}]
dataLog.list=\u65E5\u5FD7\u5217\u8868
cabinet.card=\u8BF7\u5237\u5361
cabinet.exit=\u9000\u51FA
order.close.notExist=\u672A\u627E\u5230\u5DE5\u5355[{0}]
component.generateBarcode=\u751F\u6210\u6761\u7801
storage.match.fullyCompatible=\u5B8C\u5168\u517C\u5BB9
boxChart.solderIn=\u9521\u818F\u5165\u5E93
menu.barCode=\u6761\u5F62\u7801
workOrder.surplusFinish=\u5C3E\u6599\u5DF2\u5B8C\u6210
error.pos.sizeNotMatch=\u5C3A\u5BF8[{0}]\u4E0E\u5E93\u4F4D{1}\u5C3A\u5BF8[{2}]\u4E0D\u7B26\uFF0C\u65E0\u6CD5\u5165\u5E93
error.barcode.wrongQty=\u7269\u6599[{0}]\u6570\u91CF[{1}]\u9519\u8BEF\u3002
workOrder.setFinish=\u5957\u6599\u5DF2\u5B8C\u6210
menu.area.search=\u533A\u57DF
storagePos.update=\u8BF7\u66F4\u65B0\u4ED3\u4F4D\u4FE1\u606F
storage.compatibility=\u517C\u5BB9\u6027
component.partNumber=\u6599\u4EF6\u7F16\u53F7
user.fullName=\u59D3\u540D
barcode.storage.input=\u8BF7\u8F93\u5165\u5165\u5E93\u6761\u7801
op.status.wait=\u7B49\u5F85\u4E2D
cabinet.pos=\u5F53\u524D\u4ED3\u4F4D
cabinet.in=\u5165\u6599
user.role=\u89D2\u8272
component.error.notFound=\u65E0\u6CD5\u627E\u5230\u6B64\u6599\u4EF6
user.password=\u5BC6\u7801
datetime.pattern=yyyy-MM-dd HH\:mm
home.chart.storage.empty=\u7A7A\u95F2
user.username=\u7528\u6237\u540D
cabinet.out=\u51FA\u6599
cabinet.error.validOp=\u975E\u6CD5\u64CD\u4F5C:\u65E0\u6CD5\u5F00\u95E8
cabinet.error.openMoreDoor=\u65E0\u6CD5\u540C\u65F6\u6253\u5F00\u591A\u4E2A\u67DC\u95E8
cabinet.error.noCard=\u975E\u6CD5\u64CD\u4F5C: \u672A\u5237\u5361,\u65E0\u6CD5\u5F00\u95E8
cabinet.error.posError=\u975E\u6CD5\u64CD\u4F5C: \u672A\u627E\u5230\u67DC\u95E8
cabinet.error.noAuth=\u65E0\u6743\u64CD\u4F5C,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
cabinet.error.noCode=\u6761\u7801\u4E0D\u5B58\u5728
cabinet.error.noPos=\u5E93\u4F4D\u4E0D\u5B58\u5728
cabinet.msg.closeDoor=\u5173\u95E8\u540E\u64CD\u4F5C\u81EA\u52A8\u7ED3\u675F
cabinet.msg.finish=\u64CD\u4F5C\u5B8C\u6210
op.1=\u5165\u5E93
op.2=\u51FA\u5E93
op.status.none=
op.status.wait=\u7B49\u5F85\u4E2D
op.status.executing=\u6B63\u5728\u6267\u884C
op.status.pause=\u5DF2\u6682\u505C
op.status.finished=\u5DF2\u5B8C\u6210
op.status.cancel=\u5DF2\u53D6\u6D88
op.status.end=\u5DF2\u7ED3\u675F
boxChart.confirm=\u786E\u8BA4\u5165\u5E93
boxChart.rescan=\u91CD\u65B0\u626B\u7801
boxChart.pcbIn=PCB \u5165\u5E93
boxChart.pcbOut=PCB \u51FA\u5E93
boxChart.solderOut=\u9521\u818F\u51FA\u5E93
boxChart.solderIn=\u9521\u818F\u5165\u5E93
boxChart.noCode=\u672A\u626B\u63CF\u5230\u6761\u7801
authority.stockIn.more=\u8D85\u989D\u5165\u5E93
chart.showType.YEAR=\u5E74\u4EFD
chart.showType.MONTH=\u6708\u4EFD
chart.showType.DAY=\u5929
alarm.humidity.msg=\u6E7F\u5EA6\: {0} \u8D85\u51FA\u8303\u56F4[{1}-{2}]
alarm.temperature.msg=\u6E29\u5EA6\: {0} \u8D85\u51FA\u8303\u56F4[{1}-{2}]
batch.btn.singleOut=\u5355\u76D8\u51FA\u5E93
batch.btn.batchOut=\u6279\u91CF\u51FA\u5E93
batch.btn.singleIn=\u5355\u76D8\u5165\u5E93
batch.btn.closeDoor=\u5173\u95ED\u4ED3\u95E8
settings.api.checkBarcode=\u6761\u7801\u68C0\u67E5 API
settings.api.orderFileDir=\ \u5DE5\u5355\u6587\u4EF6\u5939
user.cabinetAssign=\u6599\u67DC\u5206\u914D
cabinet.error.wrongPos=\u8BE5\u7269\u6599\u4E0D\u5728\u6B64\u4F4D\u7F6E
cabinet.error.noOp=\u5F00\u95E8\u671F\u95F4\u65E0\u51FA\u5165\u5E93\u64CD\u4F5C
alarm.store.msg={0} \u7684\u5E93\u5B58\u91CF[{1}]\u8D85\u51FA\u8BBE\u7F6E\u8303\u56F4 [{2}-{3}]
alarm.store.title=\u5E93\u5B58\u9884\u8B66
alarm.inaction.title=\u5446\u6EDE\u7269\u6599\u63D0\u9192
alarm.inaction.msg={0}\u5929\u524D\u5446\u6EDE\u7269\u6599\u6570\u91CF\u4E3A[{1}],\u8BF7\u53CA\u65F6\u5904\u7406
alarm.expire.title=\u8FC7\u671F\u63D0\u9192
alarm.expire.msg=\u5373\u5C06\u6216\u5DF2\u8FC7\u671F\u7269\u6599\u6570\u91CF\u4E3A[{0}],\u8BF7\u53CA\u65F6\u5904\u7406
component.validDay=\u6709\u6548\u671F(\u5929)
shelf.btn.closeAll=\u5173\u95ED\u6240\u6709\u706F
button.view=\u67E5\u770B
user.lastName=\u59D3
button.add=\u65B0\u589E
storage.name.empty=\u6599\u4ED3\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
role.update.description=\u63CF\u8FF0
workOrder.checkoutSuccess=\u5DE5\u5355\u51FA\u5E93\u6210\u529F
cabinet.error.noCard=\u975E\u6CD5\u64CD\u4F5C\uFF1A\u672A\u5237\u5361\uFF0C\u65E0\u6CD5\u5F00\u95E8
barcode.batch=\u6279\u6B21
option.none=----\u8BF7\u9009\u62E9----
msg.line.putIn=[{0}]\u51C6\u5907\u5165\u5E93\u5230[{1}]
shelf.btn.posCheck=\u5E93\u4F4D\u68C0\u67E5
shelf.size.title=\u9009\u62E9\u6599\u76D8\u5C3A\u5BF8
storage.virtual.numlimit=\u53EF\u653E\u6599\u76D8\u6570\u91CF
component.pic=\u56FE\u7247
storage.error.full=\u4ED3\u5E93\u5DF2\u6EE1\uFF0C\u8BF7\u66F4\u6362\u4ED3\u5E93\u540E\u518D\u5B58\u50A8
error.pos.notExist=\u5E93\u4F4D\u3010{0}\u3011\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u5165\u5E93
authority.virtual=\u865A\u62DF\u4ED3\u7BA1\u7406
batch.btn.singleOut=\u5355\u76D8\u51FA\u5E93
alarm.humidity.msg=\u6E7F\u5EA6\uFF1A {0} \u8D85\u51FA\u8303\u56F4[{1}-{2}]
storagePos.priority=\u4F18\u5148\u7EA7
cabinet.error.noCode=\u6761\u7801\u4E0D\u5B58\u5728
shelf.msg.opSucess=\u64CD\u4F5C\u6210\u529F
shelf.msg.notFound=\u672A\u627E\u5230\u6599\u67B6
shelf.msg.outError=\u64CD\u4F5C\u5931\u8D25,\u672A\u627E\u5230\u53EF\u4EE5\u51FA\u5E93\u7684\u7269\u6599
shelf.msg.outOk=\u64CD\u4F5C\u6210\u529F,\u8BF7\u4ECE\u5E93\u4F4D[{0}]\u4E2D\u53D6\u51FA\u7269\u6599
shelf.msg.inOk=\u64CD\u4F5C\u6210\u529F,\u8BF7\u653E\u5165\u5E93\u4F4D[{0}]
shelf.msg.inError=\u672A\u627E\u5230\u9002\u5408[{0}]\u7684\u5E93\u4F4D
shelf.msg.outConfirm=\u5E93\u4F4D[{0}]\u51FA\u5E93\u5B8C\u6210.
shelf.msg.noTask=\u64CD\u4F5C\u5931\u8D25,\u5DF2\u5728\u5E93\u4F4D[{0}]\u4E2D,\u672A\u627E\u5230\u5BF9\u5E94\u7684\u51FA\u5E93\u4EFB\u52A1
component.generateBarcode=\u751F\u6210\u6761\u7801
order.out.set=\u5957\u6599\u51FA\u5E93
order.out.surplus=\u5C3E\u6599\u51FA\u5E93
order.inventory=\u5E93\u5B58
export.csv=\u5BFC\u51FA\u5230CSV
workOrder.date=\u65E5\u671F
workOrder.waitOut=\u7B49\u5F85\u51FA\u5E93
workOrder.setExecute=\u5957\u6599\u51FA\u5E93\u4E2D
workOrder.setFinish=\u5957\u6599\u5DF2\u5B8C\u6210
checkOut.componentName=\u6599\u4EF6\u540D\u79F0
home.chart.component.positionNum=\u6240\u5360\u4ED3\u4F4D
home.chart.storage.total=\u603B\u4ED3\u4F4D\u6570
storage.boxCount=Box\u6570\u91CF
user.language=\u8BED\u8A00
batch.btn.closeDoor=\u5173\u95ED\u5355\u6599\u95E8
file.title=\u8BF7\u4E0A\u4F20\u6570\u636E\u6587\u4EF6
authority.valuable.out=\u8D35\u91CD\u7269\u6599\u51FA\u5E93
user.writeCard=\u5199\u5165\u5361\u7247
menu.workOrder.new=\u65B0\u5EFA\u5DE5\u5355
shelf.msg.outConfirm=\u5E93\u4F4D[{0}]\u51FA\u5E93\u5B8C\u6210\u3002
barcode.barcode=\u6761\u7801\u7F16\u53F7
storage.chart.humidity=\u6E7F\u5EA6
barcode.print=\u6253\u5370
error.save=\u4FDD\u5B58\u51FA\u9519\uFF0C\u8BF7\u68C0\u67E5
storage.slotList=\u4ED3\u4F4D\u5217\u8868
menu.barCode.new=\u65B0\u5EFA\u6761\u7801
menu.dataLog.search=\u65E5\u5FD7\u7BA1\u7406
workOrder.title=\u5DE5\u5355\u7BA1\u7406
workOrder.surplusExecute=\u5C3E\u6599\u51FA\u5E93\u4E2D
workOrder.surplusFinish=\u5C3E\u6599\u5DF2\u5B8C\u6210
workOrder.supplementaryExecute=\u8865\u6599\u4E2D
workOrder.supplementaryFinish=\u8865\u6599\u5B8C\u6210
storage.virtual.addPos=\u589E\u52A0\u4ED3\u4F4D
storage.virtual.pnlimit=\u6307\u5B9A\u7269\u7F16
storage.virtual.numlimit=\u53EF\u653E\u6599\u76D8\u6570\u91CF
storage.virtual.pnEmpty=\u6307\u5B9A\u7269\u7F16\u4E0D\u80FD\u4E3A\u7A7A
storage.virtual.posEmpty=\u4ED3\u4F4D\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
storage.virtual.numEmpty=\u53EF\u653E\u6599\u76D8\u6570\u91CF\u4E0D\u80FD\u4E3A\u7A7A
op.status.end=\u5DF2\u7ED3\u675F
component.name.empty=\u6599\u4EF6\u540D\u4E0D\u80FD\u4E3A\u7A7A
storage.clearPos.msg=\u6B64\u64CD\u4F5C\u4F1A\u6E05\u7A7A\u6240\u6709\u4ED3\u4F4D\u4E2D\u7684\u5E93\u5B58\uFF0C\u4E14\u4E0D\u53EF\u6062\u590D\uFF0C\u8BF7\u786E\u4FDD\u6599\u4ED3\u4E2D\u7684\u7269\u6599\u5DF2\u53D6\u51FA\u3002\u786E\u5B9A\u6E05\u7A7A\u6240\u6709\u4ED3\u4F4D\uFF1F
op.8=\u6405\u62CC
op.7=\u56DE\u6E29\u653E\u6599
op.6=\u56DE\u6E29\u53D6\u6599
storage.virtual.numErrory=\u53EF\u653E\u6599\u76D8\u6570\u91CF\u5FC5\u987B\u4E3A\u5927\u4E8E0\u7684\u6570\u5B57
stroage.error.merge=\u5408\u5E76\u5E93\u4F4D\u4EC5\u9002\u7528\u7684\u667A\u80FD\u6599\u67B6
barcode.error.noRi=\u7F16\u7801\u89C4\u5219\u4E2D\u5FC5\u987B\u5305\u542B RI \u548C PN
barcode.error.notFound=\u672A\u627E\u5230\u76F8\u5173\u6761\u7801
error.pos.inQueue=\u4F4D\u7F6E[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D,\u64CD\u4F5C\u5931\u8D25
error.barcode.inQueue=\u4E8C\u7EF4\u7801\:[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D,\u64CD\u4F5C\u5931\u8D25
error.barcode.empty=\u672A\u626B\u63CF\u5230\u6761\u7801
error.barcode.many=\u53D1\u73B0\u591A\u4E2A\u6709\u6548\u6761\u7801
error.storage.unavailable=\u6599\u4ED3[{0}]\u4E0D\u53EF\u7528
error.storage.noPos=\u65E0\u53EF\u7528\u7684\u6599\u683C[{0}],\u65E0\u6CD5\u7EE7\u7EED\u653E\u5165
error.storage.noPosFind=\u672A\u627E\u5230\u53EF\u7528\u7684\u4ED3\u4F4D
error.barcode.wrongSize=\u6599\u76D8\u5C3A\u5BF8[{0}]\u4E0D\u7B26
error.barcode.executing=\u6761\u7801[{0}]\u7684\u4EFB\u52A1\u6B63\u5728\u6267\u884C
error.pos.notExist=\u5E93\u4F4D\u3010{0}\u3011\u4E0D\u5B58\u5728,\u65E0\u6CD5\u5165\u5E93
error.pos.hasReel=\u5E93\u4F4D\u3010{0}\u3011\u4E2D\u5DF2\u6709\u7269\u6599,\u65E0\u6CD5\u5165\u5E93
error.pos.wrong=\u5E93\u4F4D\u3010{0}\u3011\u4E0E\u6599\u4ED3[{1}]\u4E0D\u5339\u914D,\u65E0\u6CD5\u5165\u5E93
error.pos.sizeNotMatch=\u5C3A\u5BF8[{0}]\u4E0E\u5E93\u4F4D{1}\u5C3A\u5BF8[{2}]\u4E0D\u7B26,\u65E0\u6CD5\u5165\u5E93
error.barcode.invalid={0} \u4E0D\u662F\u6709\u6548\u7684\u6761\u7801
error.barcode.expired=\u7269\u6599\u5DF2\u8FC7\u671F,\u65E0\u6CD5\u5165\u5E93.
error.barcode.wrongQty=\u7269\u6599[{0}]\u6570\u91CF[{1}]\u9519\u8BEF.
error.barcode.inStorage=\u7269\u6599[{0}]\u5DF2\u5728\u6599\u4ED3[{1}]\u7684\u5E93\u4F4D[{2}]\u4E2D
error.barcode.noRule=\u6761\u7801\u89E3\u6790\u89C4\u5219\u672A\u5B9A\u4E49
error.barcode.wrongLength=\u6761\u7801[{0}]\u957F\u5EA6\u9519\u8BEF
error.barcode.noField=\u6761\u7801\u89E3\u6790\u5931\u8D25,\u672A\u627E\u5230{0}\u5B57\u6BB5
error.barcode.wrongPn=PartNumber\u4E0D\u4E00\u81F4
error.barcode.pnNotExist=x\u6863\u6848 {0} \u4E0D\u5B58\u5728
error.barcode.errorSize=x \u6599\u76D8\u672A\u8BBE\u7F6E\u5C3A\u5BF8
error.storage.noStorage=\u65E0\u53EF\u7528\u7684\u6599\u4ED3
msg.line.putIn=[{0}]\u51C6\u5907\u5165\u5E93\u5230[{1}]
barcode.error.component.notExist=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E\u3002
component.provider=\u4F9B\u5E94\u5546
op.2=\u51FA\u5E93
button.return=\u8FD4\u56DE\u5217\u8868
op.1=\u5165\u5E93
component.search.subtitle=\u6599\u4EF6\u5217\u8868
order.out.surplus=\u5C3E\u6599\u51FA\u5E93
storage.error.cidUnique=\u4ED3\u5E93\u5BA2\u6237\u7AEF\u7F16\u53F7\u5FC5\u987B\u4E3A\u552F\u4E00
user.item.name=\u7528\u6237
storage.virtual.addPos=\u589E\u52A0\u4ED3\u4F4D
menu.batch.specifiedBatch=\u6307\u5B9A\u6279\u6B21
cabinet.in=\u5165\u6599
dataLog.num=\u6570\u91CF
barcode.item.name=\u6761\u7801
updatePassword.invalidPassword=\u60A8\u5F53\u524D\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u6B63\u786E
user.profile.edit=\u8D44\u6599\u7F16\u8F91
storage.enable=\u662F\u5426\u53EF\u7528
storage.error.unique=\u4ED3\u5E93\u540D\u5DF2\u88AB\u4F7F\u7528\uFF0C\u8BF7\u6539\u540D\u540E\u91CD\u65B0\u4FDD\u5B58\u3002
storagePos.layer=\u5C42\u6570
authority.stockOut=\u51FA\u5165\u5E93
storage.enable.prohibit=\u7981\u7528
component.amount=\u5C01\u88C5\u6570\u91CF
plate.size.customer=\u81EA\u5B9A\u4E49\u5C3A\u5BF8
storage.type.batch=\u6279\u91CF\u6599\u4ED3
dataLog.operator=\u64CD\u4F5C\u5458
storage.posSize=\u4ED3\u4F4D\u5C3A\u5BF8
solder.status.7=\u9000\u5E93\u5B58\u50A8
solder.status.6=\u51FA\u5E93\u4E2D
shelf.nextPos.hasTask=\u5E93\u4F4D[{0}]\u5DF2\u6709\u4EFB\u52A1\uFF0C\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801\u3002
solder.status.5=\u5F85\u51FA\u5E93
solder.status.4=\u6405\u62CC\u4E2D
shelf.msg.hasReel=\u5E93\u4F4D[{0}]\u4E2D\u5DF2\u6709\u7269\u6599
shelf.msg.tipScanReel=\u5E93\u4F4D[{0}]\u64CD\u4F5C\u6210\u529F,\u8BF7\u626B\u63CF\u8981\u653E\u5165\u7684\u7269\u6599
shelf.msg.fastop=\u6761\u7801\u64CD\u4F5C\u9891\u7E41,\u8BF7\u7A0D\u540E\u518D\u8BD5
solder.status.3=\u5F85\u6405\u62CC
storage.enable.no=\u5426
solder.status.2=\u56DE\u6E29\u4E2D
solder.status.1=\u51B7\u85CF\u4E2D
error.barcode.noField=\u6761\u7801\u89E3\u6790\u5931\u8D25\uFF0C\u672A\u627E\u5230{0}\u5B57\u6BB5
workOrder.setExecute=\u5957\u6599\u51FA\u5E93\u4E2D
order.close.success=\u5DE5\u5355\u5173\u95ED\u6210\u529F
order.out.failed=\u65E0\u6CD5\u6267\u884C\u5DE5\u5355\u8865\u6599\u4EFB\u52A1
error.barcode.inStorage=\u7269\u6599[{0}]\u5DF2\u5728\u6599\u4ED3[{1}]\u7684\u5E93\u4F4D[{2}]\u4E2D
home.chart.storage.useage=\u5DF2\u4F7F\u7528
updatePassword.changePasswordLink=\u4FEE\u6539\u5BC6\u7801
menu.user.account=\u8D26\u6237\u7BA1\u7406
component.amount.empty=\u6570\u91CF\u4E0D\u80FD\u4E3A\u7A7A
user.update.subtitle=\u7528\u6237\u8BE6\u60C5
export.csv=\u5BFC\u51FA\u5230CSV
barcode.error.slotExist=\u6761\u7801\u5BF9\u5E94\u7684\u6599\u4EF6\u672A\u5165\u5E93
authority.feeder=\u5DE5\u5355\u7BA1\u7406
barcode.error.used=\u5DF2\u88AB\u4F7F\u7528\u7684\u6761\u7801\u65E0\u6CD5\u5220\u9664
shelf.msg.scanPos=\u8BF7\u5148\u626B\u63CF\u5E93\u4F4D\u7801
shelf.nextPos.hasTask=\u4E0B\u4E00\u5E93\u4F4D[{0}]\u5DF2\u6709\u4EFB\u52A1,\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801
shelf.nextPos.wrongSize=\u4E0B\u4E00\u5E93\u4F4D[{0}]\u5C3A\u5BF8[{1}]\u4E0E\u6599\u76D8\u5C3A\u5BF8[{2}]\u4E0D\u7B26,\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801
shelf.nextPos.hasReel=\u4E0B\u4E00\u5E93\u4F4D[{0}]\u5DF2\u6709\u7269\u6599,\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801
settings.remind.title=\u63D0\u9192\u8BBE\u7F6E
storage.slotAmount=\u4ED3\u4F4D\u6570\u91CF
area.name=\u533A\u57DF\u540D\u79F0
shelf.msg.noTask=\u64CD\u4F5C\u5931\u8D25\uFF1A\u5DF2\u5728\u5E93\u4F4D[{0}]\u4E2D\uFF0C\u672A\u627E\u5230\u5BF9\u5E94\u7684\u51FA\u5E93\u4EFB\u52A1
area.view.subtitle=\u533A\u57DF\u76D1\u63A7
dataLog.type=\u7C7B\u578B
shelf.nextPos.wrongSize=\u5E93\u4F4D[{0}]\u5C3A\u5BF8[{1}]\u4E0E\u6599\u76D8\u5C3A\u5BF8[{2}]\u4E0D\u7B26\uFF0C\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801
workOrder.error.amount=\u5DE5\u5355\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0
component.error.notExist=\u6599\u4EF6{0}\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E\u3002
boxChart.pcbIn=PCB \u5165\u5E93
dataLog.putIn={0}[\u6570\u91CF\uFF1A{1}]\u5165\u5E93\u5230[{2}]
component.list=\u6599\u4EF6\u5217\u8868
barcode.error.amount.negative=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0
button.search=\u67E5\u8BE2
error.barcode.wrongLength=\u6761\u7801[{0}]\u957F\u5EA6\u9519\u8BEF
storagePos.height=\u9AD8\u5EA6
settings.remind.deadday=\u5929\u524D\u5446\u6EDE\u7269\u6599\u63D0\u9192
barcode.error.used=\u5DF2\u88AB\u4F7F\u7528\u7684\u6761\u7801\u65E0\u6CD5\u5220\u9664
order.num.modify=\u5DE5\u5355\u6570\u91CF\u4FEE\u6539
order.modify.tip=\u4FEE\u6539\u5DE5\u5355\u6570\u91CF\u4E3A\: \u5F53\u524D\u6570\u91CF x
barcode.lastDate=\u5165\u5E93\u65F6\u95F4
solderBox.btn.closeDoor=\u5173\u95E8
component.partNumber.empty=\u6599\u4EF6\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
shelf.btn.closeAll=\u5173\u95ED\u6240\u6709\u706F
authority.component.manage=\u6599\u4EF6\u7BA1\u7406
barcode.update.subtitle=\u6761\u7801\u8BE6\u60C5
menu.workOrder.search=\u5DE5\u5355\u67E5\u8BE2
barcode.memo=\u5907\u6CE8
barcode.deleteSuccess=\u6761\u7801\u4FE1\u606F\u5220\u9664\u6210\u529F
solderBox.btn.openDoor=\u5F00\u95E8
component.encapsulation=\u5C01\u88C5
workOrder.supplementaryExecute=\u8865\u6599\u4E2D
menu.home=\u9996\u9875
order.close=\u5173\u95ED
updatePassword.changePasswordButton=\u66F4\u65B0\u5BC6\u7801
workOrder.saveSuccess=\u5DE5\u5355\u4FDD\u5B58\u6210\u529F
boxChart.pcbOut=PCB \u51FA\u5E93
role.update.name=\u89D2\u8272\u540D\u79F0
storage.item.name=\u6599\u4ED3
authority.role.manage=\u89D2\u8272\u7BA1\u7406
component.msl=MSL \u7B49\u7EA7
component.productionType=\u5143\u5668\u4EF6\u578B\u53F7
error.pos.hasReel=\u5E93\u4F4D\u3010{0}\u3011\u4E2D\u5DF2\u6709\u7269\u6599\uFF0C\u65E0\u6CD5\u5165\u5E93
menu.component.bom=BOM\u7BA1\u7406
stroage.error.merge=\u5408\u5E76\u5E93\u4F4D\u4EC5\u9002\u7528\u7684\u667A\u80FD\u6599\u67B6
menu.barCode.search=\u6761\u7801\u67E5\u8BE2
component.error.bomUsed=\u6599\u4EF6\u5DF2\u88ABBOM\u4F7F\u7528\uFF0C\u65E0\u6CD5\u5220\u9664
boxChart.rescan=\u91CD\u65B0\u626B\u7801
error.barcode.executing=\u6761\u7801[{0}]\u4EFB\u52A1\u6B63\u5728\u6267\u884C
button.edit=\u7F16\u8F91
cabinet.error.noOp=\u5F00\u95E8\u671F\u95F4\u65E0\u51FA\u5165\u5E93\u64CD\u4F5C
menu.component=\u4EA7\u54C1\u7BA1\u7406
button.reset=\u91CD\u7F6E
storagePos.width=\u5BBD\u5EA6
area.search.subtitle=\u533A\u57DF\u5217\u8868
workOrder.waitOut=\u7B49\u5F85\u51FA\u5E93
shelf.msg.inOk=\u64CD\u4F5C\u6210\u529F\uFF0C\u8BF7\u653E\u5165\u5E93\u4F4D[{0}]
storage.area.empty=\u6599\u4ED3\u6240\u5C5E\u533A\u57DF\u4E0D\u80FD\u4E3A\u7A7A
storage.type.smdXl=SMD-XL
storage.enable.enable=\u542F\u7528
menu.batch=\u6279\u6B21
workOrder.name=\u5DE5\u5355\u53F7
error.storage.unavailable=\u6599\u4ED3[{0}]\u4E0D\u53EF\u7528
errors.upload.fileNotExist=\u4E0A\u4F20\u7684\u6587\u4EF6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20
error.barcode.noRule=\u6761\u7801\u89E3\u6790\u89C4\u5219\u672A\u5B9A\u4E49
workOrder.subtitle=\u67E5\u627E\u5DE5\u5355
date.format=yyyy-MM-dd
cabinet.error.openMoreDoor=\u65E0\u6CD5\u540C\u65F6\u6253\u5F00\u591A\u4E2A\u67DC\u95E8
storage.status.22=\u6405\u62CC\u5B8C\u6210
authority.storage.manage=\u6599\u4ED3\u7BA1\u7406
storage.status.21=\u6405\u62CC\u5B8C\u6210\u56DE\u4ED3
dataLog.checkout={0}[\u6570\u91CF\uFF1A{1}]\u4ECE[{2}]\u51FA\u5E93
storage.status.20=\u6405\u62CC\u6267\u884C\u4E2D
shelf.nextPos.hasReel=\u5E93\u4F4D[{0}]\u5DF2\u6709\u7269\u6599\uFF0C\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801
storage.clearPos=\u6E05\u7A7A\u4ED3\u4F4D
alarm.inaction.msg={0}\u5929\u524D\u5446\u6EDE\u7269\u6599\u6570\u91CF\u4E3A[{1}]\uFF0C\u8BF7\u53CA\u65F6\u5904\u7406
component.auto.scancode=\u626B\u7801\u586B\u5199
button.uploadFile=\u4E0A\u4F20\u6570\u636E\u6587\u4EF6
settings.api.orderFileDir=\u5DE5\u5355\u6587\u4EF6\u5939
op.status.finished=\u5DF2\u5B8C\u6210
workOrder.update.subtitle=\u5DE5\u5355\u8BE6\u60C5
settings.api.checkBarcode=\u6761\u7801\u68C0\u67E5 API
authority.feeder.view=\u5DE5\u5355\u67E5\u770B
error.barcode.expired=\u7269\u6599\u5DF2\u8FC7\u671F\uFF0C\u65E0\u6CD5\u5165\u5E93\u3002
storage.status.19=\u7B49\u5F85\u6405\u62CC
shelf.size.title=\u9009\u62E9\u6599\u76D8\u5C3A\u5BF8
storage.status.18=\u6405\u62CC\u53D6\u6599\u4E2D
storage.status.17=\u56DE\u6E29\u653E\u6599\u5B8C\u6210
solderBox.task.outTime=\u9884\u8BA1\u51FA\u5E93\u65F6\u95F4
storage.status.14=\u56DE\u6E29\u53D6\u6599\u4E2D
storage.status.15=\u56DE\u6E29\u53D6\u6599\u5B8C\u6210
storage.status.16=\u56DE\u6E29\u653E\u6599\u4E2D
storage.status.17=\u56DE\u6E29\u653E\u6599\u5B8C\u6210
storage.status.18=\u6405\u62CC\u53D6\u6599\u4E2D
storage.status.19=\u7B49\u5F85\u6405\u62CC
storage.status.20=\u6405\u62CC\u6267\u884C\u4E2D
storage.status.21=\u6405\u62CC\u5B8C\u6210\u56DE\u4ED3
storage.status.22=\u6405\u62CC\u5B8C\u6210
solder.status.1=\u51B7\u85CF\u4E2D
solder.status.2=\u56DE\u6E29\u4E2D
solder.status.3=\u5F85\u6405\u62CC
solder.status.4=\u6405\u62CC\u4E2D
solder.status.5=\u5F85\u51FA\u5E93
solder.status.6=\u51FA\u5E93\u4E2D
solder.status.7=\u9000\u5E93\u5B58\u50A8
op.6=\u56DE\u6E29\u53D6\u6599
op.7=\u56DE\u6E29\u653E\u6599
op.8=\u6405\u62CC
delete.confirm=\u786E\u5B9A\u8981\u5220\u9664\u5417?
order.close.success=\u5DE5\u5355\u5173\u95ED\u6210\u529F
order.close.empty=\u5DE5\u5355\u53F7\u4E0D\u80FD\u4E3A\u7A7A
order.close.notExist=\u672A\u627E\u5230\u5DE5\u5355[{0}]
order.close=\u5173\u95ED
order.out.failed=\u65E0\u6CD5\u6267\u884C\u5DE5\u5355\u8865\u6599\u4EFB\u52A1
storage.status.15=\u56DE\u6E29\u53D6\u6599\u5B8C\u6210
storage.status.14=\u56DE\u6E29\u53D6\u6599\u4E2D
storage.type.cabinet=\u667A\u80FD\u6599\u67DC
storage.status.13=\u539F\u70B9\u8FD4\u56DE\u4E2D
order.out.notFound=\u672A\u627E\u5230\u5DE5\u5355\u4FE1\u606F
storage.type.smdXl=SMD-XL
order.out.executing=\u5F53\u524D\u5DE5\u5355\u6B63\u5728\u6267\u884C
order.out.maxOrder=\u5DF2\u8FBE\u6700\u5927\u53EF\u6267\u884C\u5DE5\u5355\u6570
order.out.noTask=\u5DE5\u5355\u65E0\u53EF\u6267\u884C\u7684\u4EFB\u52A1
storage.status.12=\u79FB\u683D\u4E2D
storage.status.11=\u51FA\u5E93\u5B8C\u6210
component.providerNumber=\u4F9B\u5E94\u5546\u7F16\u53F7
storage.status.10=\u51FA\u4ED3\u4F4D\u5B8C\u6210
workOrder.workOrder=\u5DE5\u5355
storage.match.exactMatch=\u5B8C\u5168\u5339\u914D
menu.workOrder=\u8F7B\u5DE5\u5355
boxChart.noCode=\u672A\u626B\u63CF\u5230\u6761\u7801
barcode.error.notFound=\u672A\u627E\u5230\u76F8\u5173\u6761\u7801
barcode.plateSize=\u6599\u76D8\u5C3A\u5BF8
storage.type.smdVl=SMD-VL
storage.type.solderPaste=SMD-SP
\ No newline at end of file
shelf.msg.outError=\u64CD\u4F5C\u5931\u8D25\uFF1A\u672A\u627E\u5230\u53EF\u4EE5\u51FA\u5E93\u7684\u7269\u6599
component.item.name=\u6599\u4EF6
delete.confirm=\u786E\u5B9A\u8981\u5220\u9664\u5417?
area.storages=\u6599\u4ED3
shelf.msg.tipScanReel=\u5E93\u4F4D[{0}]\u64CD\u4F5C\u6210\u529F\uFF0C\u8BF7\u626B\u63CF\u8981\u653E\u5165\u7684\u7269\u6599
authority.user.manage=\u7528\u6237\u7BA1\u7406
batch.btn.batchOut=\u6279\u91CF\u51FA\u5E93
component.producer=\u5382\u5546
barcode.error.unique=\u6761\u7801{0}\u5DF2\u88AB\u4F7F\u7528
component.producerNumber=\u5382\u5546\u7F16\u53F7
updatePassword.currentPassword.label=\u5F53\u524D\u5BC6\u7801
updatePassword.success=\u5BC6\u7801\u66F4\u65B0\u6210\u529F
shelf.msg.inError=\u672A\u627E\u5230\u9002\u5408[{0}]\u7684\u5E93\u4F4D
boxChart.solderOut=\u9521\u818F\u51FA\u5E93
error.barcode.errorSize=x \u6599\u76D8\u672A\u8BBE\u7F6E\u5C3A\u5BF8
component.validDay=\u6709\u6548\u671F(\u5929)
storage.virtual.posEmpty=\u4ED3\u4F4D\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
component.unitCost=\u5355\u8017
workOrder.supplementaryFinish=\u8865\u6599\u5B8C\u6210
component.saveSuccess=\u6599\u4EF6\u4FDD\u5B58\u6210\u529F
order.inventory=\u5E93\u5B58
authority.bom.manage=BOM \u7BA1\u7406
error.barcode.invalid={0} \u4E0D\u662F\u6709\u6548\u7684\u6761\u7801
user.search.subtitle=\u67E5\u627E\u7528\u6237
workOrder.date=\u65E5\u671F
cabinet.error.noAuth=\u65E0\u6743\u64CD\u4F5C\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u3002
barcode.expireDate=\u8FC7\u671F\u65E5\u671F
authority.workorder.manage=\u5DE5\u5355\u7BA1\u7406
role.search.subtitle=\u89D2\u8272\u5217\u8868
error.barcode.inQueue=\u64CD\u4F5C\u5931\u8D25\uFF1A\u4E8C\u7EF4\u7801[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D
barcode.amount=\u6570\u91CF
storage.type.shelf=\u667A\u80FD\u6599\u67B6
component.smdAlarmValue=SMD\u9884\u8B66\u503C
top.menu.profile=\u8D44\u6599\u7F16\u8F91
menu.cloud.storage=\u4E91\u4ED3\u5E93
cabinet.msg.finish=\u64CD\u4F5C\u5B8C\u6210
authority.stockIn.more=\u8D85\u989D\u5165\u5E93
storage.type.auto=\u5355\u53F0\u81EA\u52A8
cabinet.error.wrongPos=\u8BE5\u7269\u6599\u4E0D\u5728\u6B64\u4F4D\u7F6E
menu.component.inventory=\u5E93\u5B58\u7BA1\u7406
component.height=\u6599\u76D8\u9AD8\u5EA6
role.update.subtitle=\u89D2\u8272\u8BE6\u60C5
storagePos.saveSuccess=\u4ED3\u4F4D\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
button.end=\u7ED3\u675F
error.pos.wrong=\u5E93\u4F4D\u3010{0}\u3011\u4E0E\u6599\u4ED3[{1}]\u4E0D\u5339\u914D\uFF0C\u65E0\u6CD5\u5165\u5E93
storage.status.9=\u51FA\u5E93\u6267\u884C\u4E2D
workOrder.update.title=\u5DE5\u5355\u7BA1\u7406
storage.status.8=\u5165\u5E93\u5931\u8D25
storage.status.7=\u6599\u76D8\u5165\u4ED3\u4F4D\u5B8C\u6210
storage.status.6=\u5165\u5E93\u6267\u884C\u4E2D
cabinet.exit=\u9000\u51FA
storage.status.5=\u8C03\u8BD5\u4E2D
home.chart.component=\u6599\u4EF6\u5206\u5E03
storage.status.4=\u8B66\u544A
dataLog.storageName=\u6599\u4ED3\u540D\u79F0
storage.status.3=\u6545\u969C\u4E2D
storage.status.2=\u6025\u505C
storage.update.subtitle=\u6599\u4ED3\u8BE6\u60C5
storage.status.1=\u8BBE\u5907\u8054\u673A
user.search.param=\u67E5\u627E\u5173\u952E\u5B57
home.chart.component.componentAmount=\u6570\u91CF
storage.type.line=\u6D41\u6C34\u7EBF
chart.showType.YEAR=\u5E74\u4EFD
barcode.search.subtitle=\u6761\u7801\u67E5\u627E
storage.type.solderPaste=SMD-SP
authority.specifiedBatch=\u6307\u5B9A\u6279\u6B21\u7BA1\u7406
menu.cloud=\u7269\u6599\u4E91
sotrage.status.999=\u79BB\u7EBF
storage.cid=\u5BA2\u6237\u7AEF\u7F16\u53F7
storage.error.notExist=\u4ED3\u5E93\u4E0D\u5B58\u5728\uFF0C\u8BF7\u65B0\u5EFA\u4ED3\u4F4D\u540E\u64CD\u4F5C
button.cancel=\u53D6\u6D88
checkOut.pos=\u4ED3\u4F4D
error.storage.noPos=\u65E0\u53EF\u7528\u7684\u6599\u683C[{0}]\uFF0C\u65E0\u6CD5\u7EE7\u7EED\u653E\u5165
dataLog.date=\u65E5\u671F
menu.batch.feeder=\u7AD9\u4F4D\u5217\u8868
shelf.msg.fastop=\u6761\u7801\u64CD\u4F5C\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5
barcode.supplierPn=\u4F9B\u5E94\u5546 PN
order.num.modify=\u5DE5\u5355\u6570\u91CF\u4FEE\u6539
op.status.executing=\u6B63\u5728\u6267\u884C
user.email=\u90AE\u7BB1
cabinet.error.posError=\u975E\u6CD5\u64CD\u4F5C\uFF1A \u672A\u627E\u5230\u67DC\u95E8
op.status.cancel=\u5DF2\u53D6\u6D88
storage.type.manual=\u624B\u52A8
button.putin=\u5165\u5E93
user.authCode=\u6388\u6743\u7801
storage.type=\u7C7B\u578B
order.close.empty=\u5DE5\u5355\u53F7\u4E0D\u80FD\u4E3A\u7A7A
error.barcode.empty=\u672A\u626B\u63CF\u5230\u6761\u7801
alarm.expire.msg=\u5373\u5C06\u6216\u5DF2\u8FC7\u671F\u7269\u6599\u6570\u91CF\u4E3A[{0}]\uFF0C\u8BF7\u53CA\u65F6\u5904\u7406
alarm.store.msg={0} \u7684\u5E93\u5B58\u91CF[{1}]\u8D85\u51FA\u8BBE\u7F6E\u8303\u56F4 [{2}-{3}]
authority.dataLog=\u8FD0\u884C\u6570\u636E
storage.type.online=\u5728\u7EBF\u4ED3(\u4E0A\u4E0B\u5C42)
checkOut.operate=\u64CD\u4F5C
error.pos.inQueue=\u4F4D\u7F6E[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D\uFF0C\u64CD\u4F5C\u5931\u8D25
component.plateSize.empty=\u6599\u76D8\u5C3A\u5BF8\u4E0D\u80FD\u4E3A\u7A7A
storage.chart.temperature=\u6E29\u5EA6
error.barcode.wrongProduceDate=\u751F\u4EA7\u65E5\u671F\u89E3\u6790\u5931\u8D25
shelf.error.orderError=\u4EFB\u52A1\u4E0E\u6307\u5B9A\u5DE5\u5355[{0}]\u4E0D\u4E00\u81F4
#For a list of settings you can customize, see
# http://displaytag.sourceforge.net/configuration.html
basic.empty.showtable=true
paging.banner.onepage=
basic.msg.empty_list=結果がありません。
basic.msg.empty_list_row=<tr class="empty"><td colspan="{0}">結果がありません。</td></tr></tr>
paging.banner.no_items_found=<span class="pagebanner">記録{0}が見つかりません。</span>
paging.banner.one_item_found=<span class="pagebanner">一個{0}の記録を見つかりました。</span>
paging.banner.all_items_found=<span class="pagebanner">{0}個の記録を見つかりました。{1}记录,显示所有{2}记录。</span>
paging.banner.some_items_found=<span class="pagebanner">{0}個{1}記録を見つかった、第{2}個から第{3}個まで表示しています。</span>
paging.banner.full=<span class="pagelinks">[<a href="{1}">トップページ</a>/<a href="{2}">前のページ</a>]{0}[<a href="{3}">次のページ</a>/<a href="{4}">最後のページ</a>]</span>
paging.banner.first=<span class="pagelinks">[トップページ/前のページ] {0}[<a href="{3}">次のページ</a>/<a href="{4}">最後のページ</a>]</span>
paging.banner.last=<span class="pagelinks">[<a href="{1}">トップページ</a>/<a href="{2}">前のページ</a>]{0} [次のページ/最後のページ]</span>
paging.banner.page.link=<a href="{1}" title="第{0}ページに行きます。">{0}</a>
paging.banner.item_name=
paging.banner.items_name=
paging.banner.placement=bottom
export.banner=<div style="float:right"> {0}まで出力</div>
......@@ -61,6 +61,11 @@
<div class="form-body">
<%@include file="/common/success.jsp" %>
<%@include file="/common/error.jsp" %>
<div class="form-group">
<div class="col-md-12 col-sm-12">
<input type="text" class="form-control" id="scan-code" placeholder="<fmt:message key='component.auto.scancode'/>"/>
</div>
</div>
<%--<div class="form-group">
&lt;%&ndash;物料名称&ndash;%&gt;
......@@ -436,87 +441,95 @@
</div>
</div>
<div class="form-group">
<div class="form-group">
<label class="control-label col-md-2"><fmt:message key="solder.minStoreNum"/> </label>
<%--供应商--%>
<label class="control-label col-md-2"><fmt:message key="barcode.provider"/> </label>
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<form:input type="text" id="minStoreNum" path="minStoreNum" class="form-control"/>
<form:input type="text" id="provider" path="provider" class="form-control"/>
</div>
</div>
<label class="control-label col-md-2"><fmt:message key="solder.maxStoreNum"/></label>
<%--供应商PN--%>
<label class="control-label col-md-2"><fmt:message key="barcode.supplierPn"/> </label>
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<form:input type="text" id="maxStoreNum" path="maxStoreNum" class="form-control"/>
<form:input type="text" id="supplierPn" path="supplierPn" class="form-control"/>
</div>
</div>
<%--&lt;%&ndash;贵重物料&ndash;%&gt;--%>
<%--<label class="control-label col-md-2"><fmt:message key="otherComponent.expensive"/> </label>--%>
<%--<div class="col-md-3">--%>
<%--<div style="text-align:left" class="input-group">--%>
<%--<form:checkbox path="needAuth" class="form-control"/>--%>
<%--</div>--%>
<%--</div>--%>
</div>
<div class="form-group">
<%--供应商--%>
<label class="control-label col-md-2"><fmt:message key="barcode.provider"/> </label>
<label class="control-label col-md-2"><fmt:message key="solder.minStoreNum"/> </label>
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<form:input type="text" id="provider" path="provider" class="form-control"/>
<form:input type="text" id="minStoreNum" path="minStoreNum" class="form-control"/>
</div>
</div>
<%--贵重物料--%>
<label class="control-label col-md-2"><fmt:message key="otherComponent.expensive"/> </label>
<label class="control-label col-md-2"><fmt:message key="solder.maxStoreNum"/></label>
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<form:checkbox path="needAuth" class="form-control"/>
</div>
</div>
<form:input type="text" id="maxStoreNum" path="maxStoreNum" class="form-control"/>
</div>
</div>
</div>
<div class="form-group extraInfo">
<%--单位--%>
<label class="control-label col-md-2"><fmt:message key="component.unit"/></label>
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<form:input type="text" id="unit" path="unit" class="form-control"/>
</div>
</div>
<%--单耗--%>
<%--<div class="form-group extraInfo">--%>
<%--&lt;%&ndash;单位&ndash;%&gt;--%>
<%--<label class="control-label col-md-2"><fmt:message key="component.unit"/></label>--%>
<label class="control-label col-md-2"><fmt:message key="component.unitCost"/></label>
<%--<div class="col-md-3">--%>
<%--<div style="text-align:left" class="input-group">--%>
<%--<form:input type="text" id="unit" path="unit" class="form-control"/>--%>
<%--</div>--%>
<%--</div>--%>
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<form:input type="text" id="unitCost" path="unitCost"
class="form-control"/>
</div>
</div>
</div>
<div class="form-group extraInfo">
<label class="control-label col-md-2"><fmt:message key="component.producer"/> </label>
<%--&lt;%&ndash;单耗&ndash;%&gt;--%>
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<form:input type="text" id="producer" path="producer" class="form-control"/>
</div>
</div>
<%--<label class="control-label col-md-2"><fmt:message key="component.unitCost"/></label>--%>
<label class="control-label col-md-2"><fmt:message key="component.producerNumber"/> </label>
<%--<div class="col-md-3">--%>
<%--<div style="text-align:left" class="input-group">--%>
<%--<form:input type="text" id="unitCost" path="unitCost"--%>
<%--class="form-control"/>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--<div class="form-group extraInfo">--%>
<%--<label class="control-label col-md-2"><fmt:message key="component.producer"/> </label>--%>
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<form:input type="text" id="producerNumber" path="producerNumber"
class="form-control"/>
</div>
</div>
</div>
<%--<div class="col-md-3">--%>
<%--<div style="text-align:left" class="input-group">--%>
<%--<form:input type="text" id="producer" path="producer" class="form-control"/>--%>
<%--</div>--%>
<%--</div>--%>
<%--<label class="control-label col-md-2"><fmt:message key="component.producerNumber"/> </label>--%>
<%--<div class="col-md-3">--%>
<%--<div style="text-align:left" class="input-group">--%>
<%--<form:input type="text" id="producerNumber" path="producerNumber"--%>
<%--class="form-control"/>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<div class="form-group extraInfo">
......@@ -529,15 +542,15 @@
</div>
</div>
<%--SMD 连接时的预警值--%>
<label class="control-label col-md-2"><fmt:message key="component.smdAlarmValue"/></label>
<%--&lt;%&ndash;SMD 连接时的预警值&ndash;%&gt;--%>
<%--<label class="control-label col-md-2"><fmt:message key="component.smdAlarmValue"/></label>--%>
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<form:input type="text" id="alarmAmount" path="alarmValue" class="form-control"/>
<form:errors path="alarmValue" cssStyle="color: red"/>
</div>
</div>
<%--<div class="col-md-3">--%>
<%--<div style="text-align:left" class="input-group">--%>
<%--<form:input type="text" id="alarmAmount" path="alarmValue" class="form-control"/>--%>
<%--<form:errors path="alarmValue" cssStyle="color: red"/>--%>
<%--</div>--%>
<%--</div>--%>
</div>
......@@ -642,35 +655,26 @@
$("#scan-code").change(function (){
$("#code-errors").text("");
var codeValue = $(this).val();
//TCL的条码规则:用*号隔开,[物料编号]*[数量]*[供应商编号]*[批次]*[日期码]*[Reel Id]
//Reel Id 的前六位是供应商编号
$(this).attr("placeholder",codeValue);
$(this).val("");
var strs= codeValue.split("*"); //字符分割
if(strs.length == 6){
var partNumber = strs[0];
var amount = strs[1];
var supplierCode = strs[2];
var reelId = strs[5];
//if(reelId.indexOf(supplierCode) == 0){
$("#code-errors").text("");
$("#name").val(partNumber);
$("#partNumber").val(partNumber);
$("#amount").val(amount);
$("#providerNumber").val(supplierCode);
//暂改为默认,自动提交,后面把这里去掉
$('#id').val("");
// $('#pSize').val("7x8");
// $("#plateSize").val(7);
// $("#height").val(8);
// $("#operation").val("save");
// $("#component").submit();
return;
// }
}
$("#code-errors").text("格式为 [料件编号]*[数量]*[供应商编号]*[批次]*[日期码]*[Reel Id] 的条码信息才可以正确解析");
$("#code-errors").text("");
$("#barcode").text("");
$("#partNumber").val("");
$("#batch").val("");
$("#dateCode").val("");
$("#amount").val("");
$("#providerNumber").val("");
$(this).attr("placeholder", codeValue);
$(this).val("");
$.post("${ctx}/service/store/resolveBarcode", {code: codeValue}, function (data) {
if (data.barcode != null) {
$("#partNumber").val(data.barcode.partNumber);
$("#batch").val(data.barcode.batch);
$("#amount").val(data.barcode.amount);
$("#provider").val(data.barcode.providerNumber);
}
});
})
function saveComponent() {
......
......@@ -142,6 +142,11 @@
color:green;
}
.lobibox-notify-wrapper{
max-height: 100%;
overflow-y: auto;
}
</style>
<link href="${ctx}/scripts/lobibox/css/lobibox.min.css?id=2" rel="stylesheet" type="text/css"/>
......@@ -517,10 +522,10 @@
for(var i in data){
var opStr = '<button class="btn yellow" onclick="checkoutByPartNumber(\''+data[i].pn+'\',\''+data[i].id+'\');"><i class="fa fa-upload"></i>补料</button>';
if(data[i].inventoryNum <= 0 || data[i].outFinished ){
//已出完或库存不足
opStr = "";
}
// if(data[i].inventoryNum <= 0 || data[i].outFinished ){
// //已出完或库存不足
// opStr = "";
// }
table.row.add( [ i, data[i].pn, data[i].feederInfo,data[i].outNum+"/"+data[i].needNum,data[i].inventoryNum,opStr] );
}
table.order( [ 3, 'asc' ] ).draw();
......@@ -661,10 +666,10 @@
var opLabelMap={
"op1":"${op_1}",
"op1":"${op_2}",
"op1":"${op_6}",
"op1":"${op_7}",
"op1":"${op_8}"
"op2":"${op_2}",
"op6":"${op_6}",
"op7":"${op_7}",
"op8":"${op_8}"
}
var allTasks = {};
......@@ -689,8 +694,8 @@
//var showStr = partNumber + " ["+barcode+"] ${in_label}" + posStr;
var opLabel = opLabelMap["op_"+data[item].type]
var showStr = posStr+ opLabel + partNumber + "["+barcode+"]";
var opLabel = opLabelMap["op"+data[item].type]
var showStr = posStr+ opLabel + "<br/>"+partNumber + "["+barcode+"]";
var status = data[item].status.toLowerCase();
options['status'] = status;
......@@ -1091,15 +1096,17 @@
}
var statusHtml = "<span class='orderStatus'>["+statusStr+"]</span>";
var titleStr = "<a href='#' onclick=\"showOrderDetail('"+orderNo+"')\">"+orderNo+"</a>";
var msgStr = order.finishedReelCount + "/" + order.taskReelCount + statusHtml;
var msgStr = "<div onclick=\"showOrderDetail('"+orderNo+"')\">" + order.finishedReelCount + "/" + order.taskReelCount + statusHtml+"</div>";
newOrders.push(orderNo);
orderOption['orderNo']=orderNo;
orderOption['onClose']= hideOrder;
var orderWindow = orderWindows[orderNo];
if(!orderWindow){
orderOption.title=titleStr;
orderOption.msg = msgStr;
orderWindow =Lobibox.notify('success', orderOption);
orderWindows[orderNo] = orderWindow;
}else{
......
......@@ -57,6 +57,39 @@
<%--<fmt:message key="shelf.btn.closeAll"/>--%>
<%--</button>--%>
<div class="btn-group">
<a href="" class="btn grey-steel btn-sm dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">
<span id="currentOrderNo">All</span> <span class="fa fa-angle-down"></span>
</a>
<ul class="dropdown-menu pull-right" id="orderNoList">
<li>
<a href="javascript:;" style="background-color: #e9edef;">
All
</a>
</li>
<li>
<a href="javascript:;" style="background-color: #FF0000;">
Q1 2014
</a>
</li>
<li>
<a href="javascript:;" style="background-color: #FFFF00;">
Q2 2014
</a>
</li>
<li class="active">
<a href="javascript:;" style="background-color: #FF00FF;">
Q3 2014
</a>
</li>
<li>
<a href="javascript:;" style="background-color: #FFFF00;">
Q4 2014
</a>
</li>
</ul>
</div>
<button type="button" class="btn btn-fit-height yellow" onclick="showPartNumbers();">
<i class="fa fa-sign-out"></i><fmt:message key="button.checkout"/>
</button>
......@@ -69,6 +102,7 @@
<tr role="row">
<th><fmt:message key="barcode.barcode"/></th>
<th><fmt:message key="barcode.partNumber"/></th>
<th><fmt:message key="dataLog.orderSource"/></th>
<th><fmt:message key="checkOut.pos"/></th>
<th><fmt:message key="dataLog.type"/></th>
<th><fmt:message key="dataLog.status"/></th>
......@@ -189,12 +223,39 @@
}
}
$(".dropdown-menu>li>a").live('click', function(){
var bgColor = $(this).attr("bgColor");
var text = $(this).text();
$("#currentOrderNo").css("background-color",bgColor);
$("#currentOrderNo").css("color","#FFFFFF;");
$("#currentOrderNo").parent().css("background-color",bgColor);
$("#currentOrderNo").text(text);
});
$(".dropdown-menu>li>a").live({
mouseenter:
function()
{
var bgColor = $(this).css("background-color");
$(this).attr("bgColor",bgColor);
$(this).css("background-color","#bfbfbf");
},
mouseleave:
function()
{
var bgColor = $(this).attr("bgColor");
$(this).attr("bgColor","");
$(this).css("background-color",bgColor);
}
});
$("#scan-code").change(function () {
var codeValue = $(this).val();
$(this).val("");
showMsg("");
$(this).attr("placeholder", codeValue);
$.post("${ctx}/service/store/codeShelf/codeIn", {cid: '${show}', code: codeValue}, function (data) {
var currentOrderNo = $("#currentOrderNo").text();
$.post("${ctx}/service/store/codeShelf/codeIn", {code: codeValue,sourceName:currentOrderNo}, function (data) {
showMsg(data);
if(data.indexOf("x") == 0){
//弹框,添加=7x8=尺寸信息后重新请求
......@@ -356,10 +417,12 @@
});
}
function updateTasks(cid,seconds){
function updateTasks(cid){
//任务列表
$.post("${ctx}/service/store/tasks", {cid: cid, seconds:seconds}, function (data) {
$.post("${ctx}/service/store/tasks", {cid: cid, codeShelf:true}, function (data) {
$(".dataTable").html("");
var currentOrderNo = $("#currentOrderNo").text();
var sourceArr = [];
for(var item in data){
var taskId = data[item].id;
......@@ -367,45 +430,78 @@
var barcode = data[item].barcode;
var posStr = data[item].posStr;
var typeStr = "${in_label}";
var source = data[item].sourceStr;
var lightColor = "";
var sourceName = data[item].sourceName;
if(data[item].type == 2){//出库
typeStr = "${out_label}";
lightColor = "#"+data[item].lightColor;
if(sourceName){
var hasSourceName = false;
sourceArr.forEach(function(item,i){
if(item.sourceName === sourceName){
hasSourceName = true;
}
})
if(!hasSourceName){
var sourceData = {sourceName:sourceName, lightColor:lightColor};
sourceArr.push(sourceData);
}
}
}
var statusStr = "";
if(data[item].cancel){
statusStr ="${op_status_cancel}";
} else if(data[item].executing){
statusStr ="${op_status_executing}";
}else if(data[item].finished){
statusStr ="${op_status_finished}";
}else if(data[item].wait){
statusStr ="${op_status_wait}";
}else if(data[item].end){
statusStr ="${op_status_end}";
if(currentOrderNo == "All" || currentOrderNo == sourceName){
var statusStr = "";
if(data[item].cancel){
statusStr ="${op_status_cancel}";
} else if(data[item].executing){
statusStr ="${op_status_executing}";
}else if(data[item].finished){
statusStr ="${op_status_finished}";
}else if(data[item].wait){
statusStr ="${op_status_wait}";
}else if(data[item].end){
statusStr ="${op_status_end}";
}
var dateStr = data[item].updateDateStr;
var style = "";
if(lightColor){
style = "background-color: " + lightColor+";color:#FFFFFF;";
}
var tdStr =
"<td>"+barcode+"</td>"+
"<td>"+partNumber+"</td>"+
"<td style='"+style+"'>"+source+"</td>"+
"<td>"+posStr+"</td>"+
"<td>"+typeStr+"</td>"+
"<td><span class='label label-sm label-"+data[item].status.toLowerCase()+"'>"+statusStr+"</span></td>"+
"<td>"+dateStr+"</td>";
var trStr = "<tr>" + tdStr+ "</tr>";
$(".dataTable").append(trStr);
}
var dateStr = data[item].updateDateStr;
var tdStr =
"<td>"+barcode+"</td>"+
"<td>"+partNumber+"</td>"+
"<td>"+posStr+"</td>"+
"<td>"+typeStr+"</td>"+
"<td><span class='label label-sm label-"+data[item].status.toLowerCase()+"'>"+statusStr+"</span></td>"+
"<td>"+dateStr+"</td>";
var trStr = "<tr>" + tdStr+ "</tr>";
$(".dataTable").append(trStr);
}
var sourceListHtml = '<li><a href="javascript:;" style="background-color: #95a5a6;color:#FFFFFF;">All</a></li>';
sourceArr.forEach(function(item,i){
var bgColor = item.lightColor;
sourceListHtml = sourceListHtml + '<li><a href="javascript:;" style="background-color:'+bgColor+';color:#FFFFFF; ">'+item.sourceName+'</a></li>';
})
$("#orderNoList").html(sourceListHtml);
});
}
//updateTasks('${show}',-10*60);
//updateTasks('${show}');
setInterval(function(){
updateTasks('${show}',-10*60);
updateTasks('${show}');
}, 1000);
waitting = function(){
......
......@@ -46,12 +46,12 @@
</div>
</form:form>
<display:table name="searchCriteria.pageList" id="storage"
defaultsort="1" class="table table-striped table-bordered table-hover" export="false">
defaultsort="1" class="table table-striped table-bordered table-hover" export="false" requestURI="storageSearch.html">
<display:column property="name" escapeXml="true" titleKey="storage.name"/>
<display:column titleKey="storage.type" property="type"/>
<display:column titleKey="storage.slotAmount">
${storage.totalSlots - storage.emptySlots} / ${storage.totalSlots}
${storage.totalSlots}
</display:column>
<display:setProperty name="paging.banner.items_name"><fmt:message
key="storage.item.name"/></display:setProperty>
......
位置,优先级,高度,宽度,料仓ID,设备IP,区域ID,灯索引
1_1_1,10,12,15,1,192.168.201.191,1,0
1_1_2,10,12,15,1,192.168.201.191,1,1
1_1_3,10,12,15,1,192.168.201.191,1,2
1_1_4,10,12,15,1,192.168.201.191,1,3
1_1_5,10,12,15,1,192.168.201.191,1,4
1_1_6,10,12,15,1,192.168.201.191,1,5
1_1_7,10,12,15,1,192.168.201.191,1,6
1_1_8,10,12,15,1,192.168.201.191,1,7
1_1_9,10,12,15,1,192.168.201.191,1,8
1_1_10,10,12,15,1,192.168.201.191,1,9
1_1_11,10,12,15,1,192.168.201.191,1,10
1_1_12,10,12,15,1,192.168.201.191,1,11
1_1_13,10,12,15,1,192.168.201.191,1,12
1_1_14,10,12,15,1,192.168.201.191,1,13
1_1_15,10,12,15,1,192.168.201.191,1,14
1_1_16,10,12,15,1,192.168.201.191,1,15
1_1_17,10,12,15,1,192.168.201.191,1,16
1_1_18,10,12,15,1,192.168.201.191,1,17
1_1_19,10,12,15,1,192.168.201.191,1,18
1_1_20,10,12,15,1,192.168.201.191,1,19
1_1_21,10,12,15,1,192.168.201.191,1,20
1_1_22,10,12,15,1,192.168.201.191,1,21
1_1_23,10,12,15,1,192.168.201.191,1,22
1_1_24,10,12,15,1,192.168.201.191,1,23
1_1_25,10,12,15,1,192.168.201.191,1,24
1_1_26,10,12,15,1,192.168.201.191,1,25
1_1_27,10,12,15,1,192.168.201.191,1,26
1_1_28,10,12,15,1,192.168.201.191,1,27
1_1_29,10,12,15,1,192.168.201.191,1,28
1_1_30,10,12,15,1,192.168.201.191,1,29
1_1_31,10,12,15,1,192.168.201.191,1,30
1_1_32,10,12,15,1,192.168.201.191,1,31
1_1_33,10,12,15,1,192.168.201.191,1,32
1_1_34,10,12,15,1,192.168.201.191,1,33
1_1_35,10,12,15,1,192.168.201.191,1,34
1_1_36,10,12,15,1,192.168.201.191,1,35
1_1_37,10,12,15,1,192.168.201.191,1,36
1_1_38,10,12,15,1,192.168.201.191,1,37
1_1_39,10,12,15,1,192.168.201.191,1,38
1_1_40,10,12,15,1,192.168.201.191,1,39
2_1_1,10,12,13,1,192.168.201.191,1,79
2_1_2,10,12,13,1,192.168.201.191,1,78
2_1_3,10,12,13,1,192.168.201.191,1,77
2_1_4,10,12,13,1,192.168.201.191,1,76
2_1_5,10,12,13,1,192.168.201.191,1,75
2_1_6,10,12,13,1,192.168.201.191,1,74
2_1_7,10,12,13,1,192.168.201.191,1,73
2_1_8,10,12,13,1,192.168.201.191,1,72
2_1_9,10,12,13,1,192.168.201.191,1,71
2_1_10,10,12,13,1,192.168.201.191,1,70
2_1_11,10,12,13,1,192.168.201.191,1,69
2_1_12,10,12,13,1,192.168.201.191,1,68
2_1_13,10,12,13,1,192.168.201.191,1,67
2_1_14,10,12,13,1,192.168.201.191,1,66
2_1_15,10,12,13,1,192.168.201.191,1,65
2_1_16,10,12,13,1,192.168.201.191,1,64
2_1_17,10,12,13,1,192.168.201.191,1,63
2_1_18,10,12,13,1,192.168.201.191,1,62
2_1_19,10,12,13,1,192.168.201.191,1,61
2_1_20,10,12,13,1,192.168.201.191,1,60
2_1_21,10,12,13,1,192.168.201.191,1,59
2_1_22,10,12,13,1,192.168.201.191,1,58
2_1_23,10,12,13,1,192.168.201.191,1,57
2_1_24,10,12,13,1,192.168.201.191,1,56
2_1_25,10,12,13,1,192.168.201.191,1,55
2_1_26,10,12,13,1,192.168.201.191,1,54
2_1_27,10,12,13,1,192.168.201.191,1,53
2_1_28,10,12,13,1,192.168.201.191,1,52
2_1_29,10,12,13,1,192.168.201.191,1,51
2_1_30,10,12,13,1,192.168.201.191,1,50
2_1_31,10,12,13,1,192.168.201.191,1,49
2_1_32,10,12,13,1,192.168.201.191,1,48
2_1_33,10,12,13,1,192.168.201.191,1,47
2_1_34,10,12,13,1,192.168.201.191,1,46
2_1_35,10,12,13,1,192.168.201.191,1,45
2_1_36,10,12,13,1,192.168.201.191,1,44
2_1_37,10,12,13,1,192.168.201.191,1,43
2_1_38,10,12,13,1,192.168.201.191,1,42
2_1_39,10,12,13,1,192.168.201.191,1,41
2_1_40,10,12,13,1,192.168.201.191,1,40
3_1_1,10,12,7,1,192.168.201.191,1,80
3_1_2,10,12,7,1,192.168.201.191,1,81
3_1_3,10,12,7,1,192.168.201.191,1,82
3_1_4,10,12,7,1,192.168.201.191,1,83
3_1_5,10,12,7,1,192.168.201.191,1,84
3_1_6,10,12,7,1,192.168.201.191,1,85
3_1_7,10,12,7,1,192.168.201.191,1,86
3_1_8,10,12,7,1,192.168.201.191,1,87
3_1_9,10,12,7,1,192.168.201.191,1,88
3_1_10,10,12,7,1,192.168.201.191,1,89
3_1_11,10,12,7,1,192.168.201.191,1,90
3_1_12,10,12,7,1,192.168.201.191,1,91
3_1_13,10,12,7,1,192.168.201.191,1,92
3_1_14,10,12,7,1,192.168.201.191,1,93
3_1_15,10,12,7,1,192.168.201.191,1,94
3_1_16,10,12,7,1,192.168.201.191,1,95
3_1_17,10,12,7,1,192.168.201.191,1,96
3_1_18,10,12,7,1,192.168.201.191,1,97
3_1_19,10,12,7,1,192.168.201.191,1,98
3_1_20,10,12,7,1,192.168.201.191,1,99
3_1_21,10,12,7,1,192.168.201.191,1,100
3_1_22,10,12,7,1,192.168.201.191,1,101
3_1_23,10,12,7,1,192.168.201.191,1,102
3_1_24,10,12,7,1,192.168.201.191,1,103
3_1_25,10,12,7,1,192.168.201.191,1,104
3_1_26,10,12,7,1,192.168.201.191,1,105
3_1_27,10,12,7,1,192.168.201.191,1,106
3_1_28,10,12,7,1,192.168.201.191,1,107
3_1_29,10,12,7,1,192.168.201.191,1,108
3_1_30,10,12,7,1,192.168.201.191,1,109
3_1_31,10,12,7,1,192.168.201.191,1,110
3_1_32,10,12,7,1,192.168.201.191,1,111
3_1_33,10,12,7,1,192.168.201.191,1,112
3_1_34,10,12,7,1,192.168.201.191,1,113
3_1_35,10,12,7,1,192.168.201.191,1,114
3_1_36,10,12,7,1,192.168.201.191,1,115
3_1_37,10,12,7,1,192.168.201.191,1,116
3_1_38,10,12,7,1,192.168.201.191,1,117
3_1_39,10,12,7,1,192.168.201.191,1,118
3_1_40,10,12,7,1,192.168.201.191,1,119
1_1_1,10,12,15,1,,1,0
1_1_2,10,12,15,1,,1,1
1_1_3,10,12,15,1,,1,2
1_1_4,10,12,15,1,,1,3
1_1_5,10,12,15,1,,1,4
1_1_6,10,12,15,1,,1,5
1_1_7,10,12,15,1,,1,6
1_1_8,10,12,15,1,,1,7
1_1_9,10,12,15,1,,1,8
1_1_10,10,12,15,1,,1,9
1_1_11,10,12,15,1,,1,10
1_1_12,10,12,15,1,,1,11
1_1_13,10,12,15,1,,1,12
1_1_14,10,12,15,1,,1,13
1_1_15,10,12,15,1,,1,14
1_1_16,10,12,15,1,,1,15
1_1_17,10,12,15,1,,1,16
1_1_18,10,12,15,1,,1,17
1_1_19,10,12,15,1,,1,18
2_1_1,10,12,15,1,,2,0
2_1_2,10,12,15,1,,2,1
2_1_3,10,12,15,1,,2,2
2_1_4,10,12,15,1,,2,3
2_1_5,10,12,15,1,,2,4
2_1_6,10,12,15,1,,2,5
2_1_7,10,12,15,1,,2,6
2_1_8,10,12,15,1,,2,7
2_1_9,10,12,15,1,,2,8
2_1_10,10,12,15,1,,2,9
2_1_11,10,12,15,1,,2,10
2_1_12,10,12,15,1,,2,11
2_1_13,10,12,15,1,,2,12
2_1_14,10,12,15,1,,2,13
2_1_15,10,12,15,1,,2,14
2_1_16,10,12,15,1,,2,15
2_1_17,10,12,15,1,,2,16
2_1_18,10,12,15,1,,2,17
2_1_19,10,12,15,1,,2,18
status,,,,,,1,19
1_1_20,,,,,,1,20
1_1_21,,,,,,1,21
1_1_22,,,,,,1,22
1_1_23,,,,,,1,23
1_1_24,,,,,,1,24
1_1_25,,,,,,1,25
1_1_26,,,,,,1,26
1_1_27,,,,,,1,27
1_1_28,,,,,,1,28
1_1_29,,,,,,1,29
1_1_30,,,,,,1,30
1_1_31,,,,,,1,31
1_1_32,,,,,,1,32
1_1_33,,,,,,1,33
1_1_34,,,,,,1,34
1_1_35,,,,,,1,35
1_1_36,,,,,,1,36
1_1_37,,,,,,1,37
1_1_38,,,,,,1,38
1_1_39,,,,,,1,39
1_1_40,,,,,,1,40
1_1_41,,,,,,1,41
1_1_42,,,,,,1,42
1_1_43,,,,,,1,43
1_1_44,,,,,,1,44
1_1_45,,,,,,1,45
1_1_46,,,,,,1,46
1_1_47,,,,,,1,47
1_1_48,,,,,,1,48
1_1_49,,,,,,1,49
1_1_50,,,,,,1,50
1_1_51,,,,,,1,51
1_1_52,,,,,,1,52
1_1_53,,,,,,1,53
1_1_54,,,,,,1,54
1_1_55,,,,,,1,55
1_1_56,,,,,,1,56
1_1_57,,,,,,1,57
1_1_58,,,,,,1,58
1_1_59,,,,,,1,59
1_1_60,,,,,,1,60
1_1_61,,,,,,1,61
1_1_62,,,,,,1,62
1_1_63,,,,,,1,63
1_1_64,,,,,,1,64
1_1_65,,,,,,1,65
1_1_66,,,,,,1,66
1_1_67,,,,,,1,67
1_1_68,,,,,,1,68
1_1_69,,,,,,1,69
1_1_70,,,,,,1,70
1_1_71,,,,,,1,71
1_1_72,,,,,,1,72
1_1_73,,,,,,1,73
1_1_74,,,,,,1,74
1_1_75,,,,,,1,75
1_1_76,,,,,,1,76
1_1_77,,,,,,1,77
1_1_78,,,,,,1,78
1_1_79,,,,,,1,79
1_1_80,,,,,,1,80
1_1_81,,,,,,1,81
1_1_82,,,,,,1,82
1_1_83,,,,,,1,83
1_1_84,,,,,,1,84
1_1_85,,,,,,1,85
1_1_86,,,,,,1,86
1_1_87,,,,,,1,87
1_1_88,,,,,,1,88
1_1_89,,,,,,1,89
1_1_90,,,,,,1,90
1_1_91,,,,,,1,91
1_1_92,,,,,,1,92
1_1_93,,,,,,1,93
1_1_94,,,,,,1,94
1_1_95,,,,,,1,95
1_1_96,,,,,,1,96
1_1_97,,,,,,1,97
1_1_98,,,,,,1,98
1_1_99,,,,,,1,99
1_1_100,,,,,,1,100
1_1_101,,,,,,1,101
1_1_102,,,,,,1,102
1_1_103,,,,,,1,103
1_1_104,,,,,,1,104
1_1_105,,,,,,1,105
1_1_106,,,,,,1,106
1_1_107,,,,,,1,107
1_1_108,,,,,,1,108
1_1_109,,,,,,1,109
1_1_110,,,,,,1,110
1_1_111,,,,,,1,111
1_1_112,,,,,,1,112
1_1_113,,,,,,1,113
1_1_114,,,,,,1,114
1_1_115,,,,,,1,115
1_1_116,,,,,,1,116
1_1_117,,,,,,1,117
1_1_118,,,,,,1,118
1_1_119,,,,,,1,119
1_1_120,,,,,,1,120
1_1_121,,,,,,1,121
1_1_122,,,,,,1,122
1_1_123,,,,,,1,123
1_1_124,,,,,,1,124
1_1_125,,,,,,1,125
1_1_126,,,,,,1,126
1_1_127,,,,,,1,127
1_1_128,,,,,,1,128
1_1_129,,,,,,1,129
1_1_130,,,,,,1,130
1_1_131,,,,,,1,131
1_1_132,,,,,,1,132
1_1_133,,,,,,1,133
1_1_134,,,,,,1,134
1_1_135,,,,,,1,135
1_1_136,,,,,,1,136
1_1_137,,,,,,1,137
1_1_138,,,,,,1,138
1_1_139,,,,,,1,139
1_1_140,,,,,,1,140
1_1_141,,,,,,1,141
1_1_142,,,,,,1,142
1_1_143,,,,,,1,143
1_1_144,,,,,,1,144
1_1_145,,,,,,1,145
1_1_146,,,,,,1,146
1_1_147,,,,,,1,147
1_1_148,,,,,,1,148
1_1_149,,,,,,1,149
1_1_150,,,,,,1,150
1_1_151,,,,,,1,151
1_1_152,,,,,,1,152
1_1_153,,,,,,1,153
1_1_154,,,,,,1,154
1_1_155,,,,,,1,155
1_1_156,,,,,,1,156
1_1_157,,,,,,1,157
1_1_158,,,,,,1,158
1_1_159,,,,,,1,159
1_1_160,,,,,,1,160
1_1_161,,,,,,1,161
1_1_162,,,,,,1,162
1_1_163,,,,,,1,163
1_1_164,,,,,,1,164
1_1_165,,,,,,1,165
1_1_166,,,,,,1,166
1_1_167,,,,,,1,167
1_1_168,,,,,,1,168
1_1_169,,,,,,1,169
1_1_170,,,,,,1,170
1_1_171,,,,,,1,171
1_1_172,,,,,,1,172
1_1_173,,,,,,1,173
1_1_174,,,,,,1,174
1_1_175,,,,,,1,175
1_1_176,,,,,,1,176
1_1_177,,,,,,1,177
1_1_178,,,,,,1,178
1_1_179,,,,,,1,179
1_1_180,,,,,,1,180
1_1_181,,,,,,1,181
1_1_182,,,,,,1,182
1_1_183,,,,,,1,183
1_1_184,,,,,,1,184
1_1_185,,,,,,1,185
1_1_186,,,,,,1,186
1_1_187,,,,,,1,187
1_1_188,,,,,,1,188
1_1_189,,,,,,1,189
1_1_190,,,,,,1,190
1_1_191,,,,,,1,191
1_1_192,,,,,,1,192
1_1_193,,,,,,1,193
1_1_194,,,,,,1,194
1_1_195,,,,,,1,195
1_1_196,,,,,,1,196
1_1_197,,,,,,1,197
1_1_198,,,,,,1,198
1_1_199,,,,,,1,199
1_1_200,,,,,,1,200
1_1_201,,,,,,1,201
1_1_202,,,,,,1,202
1_1_203,,,,,,1,203
1_1_204,,,,,,1,204
1_1_205,,,,,,1,205
1_1_206,,,,,,1,206
1_1_207,,,,,,1,207
1_1_208,,,,,,1,208
1_1_209,,,,,,1,209
1_1_210,,,,,,1,210
1_1_211,,,,,,1,211
1_1_212,,,,,,1,212
1_1_213,,,,,,1,213
1_1_214,,,,,,1,214
1_1_215,,,,,,1,215
1_1_216,,,,,,1,216
1_1_217,,,,,,1,217
1_1_218,,,,,,1,218
1_1_219,,,,,,1,219
1_1_220,,,,,,1,220
1_1_221,,,,,,1,221
1_1_222,,,,,,1,222
1_1_223,,,,,,1,223
1_1_224,,,,,,1,224
1_1_225,,,,,,1,225
1_1_226,,,,,,1,226
1_1_227,,,,,,1,227
1_1_228,,,,,,1,228
1_1_229,,,,,,1,229
1_1_230,,,,,,1,230
1_1_231,,,,,,1,231
1_1_232,,,,,,1,232
1_1_233,,,,,,1,233
1_1_234,,,,,,1,234
1_1_235,,,,,,1,235
1_1_236,,,,,,1,236
1_1_237,,,,,,1,237
1_1_238,,,,,,1,238
1_1_239,,,,,,1,239
1_1_240,,,,,,1,240
1_1_241,,,,,,1,241
1_1_242,,,,,,1,242
1_1_243,,,,,,1,243
1_1_244,,,,,,1,244
1_1_245,,,,,,1,245
1_1_246,,,,,,1,246
1_1_247,,,,,,1,247
1_1_248,,,,,,1,248
1_1_249,,,,,,1,249
1_1_250,,,,,,1,250
1_1_251,,,,,,1,251
1_1_252,,,,,,1,252
1_1_253,,,,,,1,253
1_1_254,,,,,,1,254
1_1_255,,,,,,1,255
1_1_256,,,,,,1,256
1_1_257,,,,,,1,257
1_1_258,,,,,,1,258
1_1_259,,,,,,1,259
1_1_260,,,,,,1,260
1_1_261,,,,,,1,261
1_1_262,,,,,,1,262
1_1_263,,,,,,1,263
1_1_264,,,,,,1,264
1_1_265,,,,,,1,265
1_1_266,,,,,,1,266
1_1_267,,,,,,1,267
1_1_268,,,,,,1,268
1_1_269,,,,,,1,269
1_1_270,,,,,,1,270
1_1_271,,,,,,1,271
1_1_272,,,,,,1,272
1_1_273,,,,,,1,273
1_1_274,,,,,,1,274
1_1_275,,,,,,1,275
1_1_276,,,,,,1,276
1_1_277,,,,,,1,277
1_1_278,,,,,,1,278
1_1_279,,,,,,1,279
1_1_280,,,,,,1,280
1_1_281,,,,,,1,281
1_1_282,,,,,,1,282
1_1_283,,,,,,1,283
1_1_284,,,,,,1,284
1_1_285,,,,,,1,285
1_1_286,,,,,,1,286
1_1_287,,,,,,1,287
1_1_288,,,,,,1,288
1_1_289,,,,,,1,289
1_1_290,,,,,,1,290
1_1_291,,,,,,1,291
1_1_292,,,,,,1,292
1_1_293,,,,,,1,293
1_1_294,,,,,,1,294
1_1_295,,,,,,1,295
1_1_296,,,,,,1,296
1_1_297,,,,,,1,297
1_1_298,,,,,,1,298
1_1_299,,,,,,1,299
1_1_300,,,,,,1,300
1_1_301,,,,,,1,301
1_1_302,,,,,,1,302
1_1_303,,,,,,1,303
1_1_304,,,,,,1,304
1_1_305,,,,,,1,305
1_1_306,,,,,,1,306
1_1_307,,,,,,1,307
1_1_308,,,,,,1,308
1_1_309,,,,,,1,309
1_1_310,,,,,,1,310
1_1_311,,,,,,1,311
1_1_312,,,,,,1,312
1_1_313,,,,,,1,313
1_1_314,,,,,,1,314
1_1_315,,,,,,1,315
1_1_316,,,,,,1,316
1_1_317,,,,,,1,317
1_1_318,,,,,,1,318
1_1_319,,,,,,1,319
1_1_320,,,,,,1,320
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!