Commit a20fc42c sunke

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

扫码料架逻辑优化
扫码料架多工单支持
1 个父辈 69e2c14e
正在显示 28 个修改的文件 包含 3043 行增加2702 行删除
...@@ -23,9 +23,9 @@ public class ShelfOperateBean { ...@@ -23,9 +23,9 @@ public class ShelfOperateBean {
private StoragePos posToClose; private StoragePos posToClose;
/** /**
* 一个库位的Id,用于自动推荐库位 * 一个库位的Id,用于自动推荐库位
*/ */
private String lastPosId; private String nextPosId;
public StoragePos getOpPos() { public StoragePos getOpPos() {
...@@ -67,13 +67,12 @@ public class ShelfOperateBean { ...@@ -67,13 +67,12 @@ public class ShelfOperateBean {
setUpdateTime(System.currentTimeMillis()); setUpdateTime(System.currentTimeMillis());
} }
public String getLastPosId() { public String getNextPosId() {
return lastPosId; return nextPosId;
} }
public void setLastPosId(String lastPosId) { public void setNextPosId(String nextPosId) {
updateOpTime(); this.nextPosId = nextPosId;
this.lastPosId = lastPosId;
} }
/** /**
......
...@@ -73,6 +73,11 @@ public class Component extends BaseMongoBean { ...@@ -73,6 +73,11 @@ public class Component extends BaseMongoBean {
//@NotEmpty(message = "{component.partNumber.empty}") //@NotEmpty(message = "{component.partNumber.empty}")
@NotEmpty(message = "{component.partNumber.empty}") @NotEmpty(message = "{component.partNumber.empty}")
private String partNumber; private String partNumber;
/**
* 供应商PN,用于扫码贴标机转换PN
*/
private String supplierPn;
//uid //uid
private String uid; private String uid;
...@@ -126,7 +131,7 @@ public class Component extends BaseMongoBean { ...@@ -126,7 +131,7 @@ public class Component extends BaseMongoBean {
/** /**
* 有效时长(生产日期+此天数为过期日期),设置默认有效期为2年 * 有效时长(生产日期+此天数为过期日期),设置默认有效期为2年
*/ */
private int validDay = 730; private int validDay = 0;
public Component() { public Component() {
//this.height = StorageConstants.DEFAULT_HEIGHT; //this.height = StorageConstants.DEFAULT_HEIGHT;
...@@ -393,4 +398,12 @@ public class Component extends BaseMongoBean { ...@@ -393,4 +398,12 @@ public class Component extends BaseMongoBean {
public boolean isSolder(){ public boolean isSolder(){
return type == StorageConstants.COMPONENT_TYPE.SOLDERPASTE; 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>*/ { ...@@ -118,6 +118,11 @@ public class DataLog extends BaseMongoBean /*implements Comparable<DataLog>*/ {
*/ */
private int mixTime; private int mixTime;
/**
* 亮灯料架颜色
*/
private String lightColor = "FF0000";
public String getStorageName() { public String getStorageName() {
return storageName; return storageName;
} }
...@@ -352,7 +357,7 @@ public class DataLog extends BaseMongoBean /*implements Comparable<DataLog>*/ { ...@@ -352,7 +357,7 @@ public class DataLog extends BaseMongoBean /*implements Comparable<DataLog>*/ {
} }
/** /**
* 正在执行的出库任务,如果30秒还未完成,再次发送到客户端 * 正在执行的出库任务,如果60秒还未完成,再次发送到客户端
*/ */
public boolean needReSendToClient(){ public boolean needReSendToClient(){
if(isCheckOutTask() && isExecuting()){ if(isCheckOutTask() && isExecuting()){
...@@ -485,4 +490,12 @@ public class DataLog extends BaseMongoBean /*implements Comparable<DataLog>*/ { ...@@ -485,4 +490,12 @@ public class DataLog extends BaseMongoBean /*implements Comparable<DataLog>*/ {
public void setMixTime(int mixTime) { public void setMixTime(int mixTime) {
this.mixTime = 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> { ...@@ -13,6 +13,8 @@ public interface IComponentManager extends IManager<Component> {
List<Component> allNeedAlarmComponents(); List<Component> allNeedAlarmComponents();
List<Component> listPnBySupplierPn(String providerPn);
List<Component> findByType(int type); List<Component> findByType(int type);
//List<Component> listByPartNumber(String partNumber); //List<Component> listByPartNumber(String partNumber);
......
...@@ -47,6 +47,13 @@ public class ComponentManagerImpl implements IComponentManager { ...@@ -47,6 +47,13 @@ public class ComponentManagerImpl implements IComponentManager {
} }
@Override @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) public PageList findByQuery(Query query, PageList pageList)
{ {
......
...@@ -508,6 +508,11 @@ public class BarcodeRule { ...@@ -508,6 +508,11 @@ public class BarcodeRule {
} }
Date produceDate= produceDate_item.getDateValue(codeArr); 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); Date expireDate= expireDate_item.getDateValue(codeArr);
if(produceDate != null && expireDate == null){ if(produceDate != null && expireDate == null){
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
...@@ -633,8 +638,10 @@ public class BarcodeRule { ...@@ -633,8 +638,10 @@ public class BarcodeRule {
//803 //803
//rule = "PN[6:0:-1],EXPDATEyyyy-MM-dd[-1:0:-1],BATCH,RI"; //rule = "PN[6:0:-1],EXPDATEyyyy-MM-dd[-1:0:-1],BATCH,RI";
//codeStr = "ALPHA OL107E,2021-11-11,00714026Z,002"; //codeStr = "ALPHA OL107E,2021-11-11,00714026Z,002";
codeStr = "LOCTITE3609,20200930,001"; codeStr = "IAC;6013A0073981;20200810;R2032E1128;10000;MI020A600568;";
rule = "PN,EXPDATEyyyyMMdd,RI"; //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); BarcodeRule br = BarcodeRule.newRule(rule);
Barcode b = br.toCodeBean(codeStr).getBarcode(); Barcode b = br.toCodeBean(codeStr).getBarcode();
......
...@@ -2,8 +2,7 @@ package com.myproject.util; ...@@ -2,8 +2,7 @@ package com.myproject.util;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import java.util.HashMap; import java.util.*;
import java.util.Map;
/** /**
* Created by kangmor on 2015/12/2. * Created by kangmor on 2015/12/2.
...@@ -477,7 +476,7 @@ public class StorageConstants { ...@@ -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"); PCB_FIXTURE("PCB 夹具",420,45,"PCB_FIXTURE"), SOLDER_FIXTURE("锡膏夹具",325,65, "SOLDER_FIXTURE");
private String showStr; private String showStr;
/** /**
...@@ -696,4 +695,68 @@ public class StorageConstants { ...@@ -696,4 +695,68 @@ public class StorageConstants {
*/ */
public static int RETREAT_STORAGE = 7; 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 { ...@@ -53,6 +53,9 @@ public class AccShelfController extends BaseController {
public String cabinetView(@PathVariable String cid, HttpServletRequest request){ public String cabinetView(@PathVariable String cid, HttpServletRequest request){
request.getSession().setAttribute("show",cid); request.getSession().setAttribute("show",cid);
Storage storage = dataCache.getStorage(cid); Storage storage = dataCache.getStorage(cid);
if(storage.isCodeShelf()){
return "redirect:/storage/codeShelf";
}
request.setAttribute("storage",storage); request.setAttribute("storage",storage);
return "storage/accShelf"; return "storage/accShelf";
} }
...@@ -94,7 +97,7 @@ public class AccShelfController extends BaseController { ...@@ -94,7 +97,7 @@ public class AccShelfController extends BaseController {
if(pos != null){ if(pos != null){
log.info(pos.getBarcode().getBarcode() + " 从["+pos.getPosName()+"]出库,点亮对应库位"); log.info(pos.getBarcode().getBarcode() + " 从["+pos.getPosName()+"]出库,点亮对应库位");
int delayCloseTime = 30000; int delayCloseTime = 30000;
String color = "blue"; String color = "red";
openAndCloseLights(storage,pos.getPosName(),delayCloseTime,color); openAndCloseLights(storage,pos.getPosName(),delayCloseTime,color);
taskService.addTaskToFinished(pos,null,null); taskService.addTaskToFinished(pos,null,null);
return "OK" + getText("shelf.msg.outOk",new String[]{pos.getPosName()},request.getLocale(),"操作成功,请从库位["+pos.getPosName()+"]中取出物料"); return "OK" + getText("shelf.msg.outOk",new String[]{pos.getPosName()},request.getLocale(),"操作成功,请从库位["+pos.getPosName()+"]中取出物料");
...@@ -147,7 +150,7 @@ public class AccShelfController extends BaseController { ...@@ -147,7 +150,7 @@ public class AccShelfController extends BaseController {
} }
List<StoragePos> allPos = storagePosManager.findNotEmptyByStorageId(storage.getId()); List<StoragePos> allPos = storagePosManager.findNotEmptyByStorageId(storage.getId());
for (StoragePos pos : allPos) { for (StoragePos pos : allPos) {
opPosLight("open",storage,pos,"Green"); opPosLight("open",storage,pos,"yellow");
} }
return "OK"+getText("shelf.msg.opSucess",request.getLocale(),"操作成功"); return "OK"+getText("shelf.msg.opSucess",request.getLocale(),"操作成功");
} }
......
...@@ -325,6 +325,8 @@ public class BoxChartController extends BaseController { ...@@ -325,6 +325,8 @@ public class BoxChartController extends BaseController {
public List<DataLog> allTasks(HttpServletRequest request) throws Exception{ public List<DataLog> allTasks(HttpServletRequest request) throws Exception{
try{ try{
String cid = request.getParameter("cid"); String cid = request.getParameter("cid");
String codeShelf = request.getParameter("codeShelf");
Comparator<DataLog> comparator = new Comparator<DataLog>() { Comparator<DataLog> comparator = new Comparator<DataLog>() {
@Override @Override
public int compare(DataLog o1, DataLog o2) { public int compare(DataLog o1, DataLog o2) {
...@@ -351,8 +353,18 @@ public class BoxChartController extends BaseController { ...@@ -351,8 +353,18 @@ public class BoxChartController extends BaseController {
if(!Strings.isNullOrEmpty(cid)){ if(!Strings.isNullOrEmpty(cid)){
List<DataLog> cidTasks = Lists.newArrayList(); List<DataLog> cidTasks = Lists.newArrayList();
for (DataLog task: allTasks) { for (DataLog task: allTasks) {
if(task.getCid().equals(cid)){ String taskCid = task.getCid();
cidTasks.add(task); 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; return cidTasks;
......
...@@ -78,9 +78,7 @@ public class CodeShelfController extends BaseController { ...@@ -78,9 +78,7 @@ public class CodeShelfController extends BaseController {
return "storage/codeShelf"; return "storage/codeShelf";
} }
/**
*
*/
@RequestMapping("/service/store/codeShelf/op") @RequestMapping("/service/store/codeShelf/op")
@ResponseBody @ResponseBody
public String clientOp(HttpServletRequest request){ public String clientOp(HttpServletRequest request){
...@@ -93,24 +91,17 @@ public class CodeShelfController extends BaseController { ...@@ -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); ShelfOperateBean operateBean= shelfPutInBeanMap.get(sessionId);
if(operateBean != null){ if(operateBean != null){
StoragePos posToClose = operateBean.getPosToClose(); StoragePos posToClose = operateBean.getPosToClose();
if(posToClose != null){ if(posToClose != null){
boolean needToClose = true; log.info(sessionId + "关闭上一个操作库位:"+ posToClose.getPosName());
if(posNameToCheck != null && !posNameToCheck.isEmpty()){ operateBean.setPosToClose(null);
//相同的库位才进行关闭 shelfPutInBeanMap.put(sessionId, operateBean);
needToClose = posToClose.getPosName().equals(posNameToCheck); opPosLight("close", posToClose, "");
}
if(needToClose){
log.info(sessionId + "关闭库位:"+ posToClose.getPosName());
operateBean.setPosToClose(null);
shelfPutInBeanMap.put(sessionId, operateBean);
opPosLight("close", posToClose, "");
}
} }
} }
...@@ -121,7 +112,6 @@ public class CodeShelfController extends BaseController { ...@@ -121,7 +112,6 @@ public class CodeShelfController extends BaseController {
shelfPutInBeanMap.remove(removedSessionId); shelfPutInBeanMap.remove(removedSessionId);
} }
} }
} }
private ShelfOperateBean getOperateBean(String sessionId){ private ShelfOperateBean getOperateBean(String sessionId){
...@@ -135,20 +125,45 @@ public class CodeShelfController extends BaseController { ...@@ -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") @RequestMapping("/service/store/codeShelf/codeIn")
@ResponseBody @ResponseBody
public String outFromShelf(HttpServletRequest request, HttpSession httpSession){ public String codeIn(HttpServletRequest request, HttpSession httpSession){
String sessionId = httpSession.getId(); String sessionId = httpSession.getId();
closeLastPutInPos(sessionId, null);
String codeStr = request.getParameter("code"); String codeStr = request.getParameter("code");
int delayCloseTime = 30000; int delayCloseTime = 30000;
String putInColor = "red"; String putInColor = "green";
if(!Strings.isNullOrEmpty(codeStr)){ if(!Strings.isNullOrEmpty(codeStr)){
StoragePos pos = storagePosManager.getByPosName(codeStr); StoragePos pos = storagePosManager.getByPosName(codeStr);
if(pos != null){ if(pos != null){
//扫描的为库位条码,库位中没有物料的话点亮库位灯 //扫描的为库位条码,先关掉上一个库位灯, 当前库位中没有物料的话点亮库位灯
closeLastPos(sessionId);
Storage currentStorage = dataCache.getStorageById(pos.getStorageId()); Storage currentStorage = dataCache.getStorageById(pos.getStorageId());
if(currentStorage == null || !currentStorage.isCodeShelf()){ if(currentStorage == null || !currentStorage.isCodeShelf()){
return getText("shelf.msg.notFound",request.getLocale(),"未找到料架"); return getText("shelf.msg.notFound",request.getLocale(),"未找到料架");
...@@ -161,7 +176,7 @@ public class CodeShelfController extends BaseController { ...@@ -161,7 +176,7 @@ public class CodeShelfController extends BaseController {
ShelfOperateBean operateBean = getOperateBean(sessionId); ShelfOperateBean operateBean = getOperateBean(sessionId);
operateBean.setOpPos(pos); operateBean.setOpPos(pos);
operateBean.setPosToClose(pos); operateBean.setPosToClose(pos);
operateBean.setLastPosId(pos.getId()); operateBean.setNextPosId(null);
shelfPutInBeanMap.put(sessionId, operateBean); shelfPutInBeanMap.put(sessionId, operateBean);
return "OK" + getText("shelf.msg.tipScanReel",new String[]{pos.getPosName()}, request.getLocale(),"库位["+pos.getPosName()+"]操作成功,请扫描要放入的物料"); return "OK" + getText("shelf.msg.tipScanReel",new String[]{pos.getPosName()}, request.getLocale(),"库位["+pos.getPosName()+"]操作成功,请扫描要放入的物料");
} }
...@@ -184,11 +199,16 @@ public class CodeShelfController extends BaseController { ...@@ -184,11 +199,16 @@ public class CodeShelfController extends BaseController {
StoragePos inPos = storagePosManager.getByBarcodeId(barcode.getId()); StoragePos inPos = storagePosManager.getByBarcodeId(barcode.getId());
if(inPos != null){ if(inPos != null){
String sourceName = request.getParameter("sourceName");
Collection<DataLog> allTasks = taskService.getQueueTasks(); Collection<DataLog> allTasks = taskService.getQueueTasks();
for (DataLog task : allTasks) { for (DataLog task : allTasks) {
if(task.isCheckOutTask() && task.getBarcode() != null && task.getBarcode().equals(barcode.getBarcode())){ 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); taskService.addTaskToFinished(inPos,null,null);
opPosLight("close",inPos,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()+"]灭灯"); return "OK"+getText("shelf.msg.outConfirm",new String[]{inPos.getPosName()},request.getLocale(),"出库完成, 库位["+inPos.getPosName()+"]灭灯");
} }
} }
...@@ -199,58 +219,46 @@ public class CodeShelfController extends BaseController { ...@@ -199,58 +219,46 @@ public class CodeShelfController extends BaseController {
ShelfOperateBean operateBean = getOperateBean(sessionId); ShelfOperateBean operateBean = getOperateBean(sessionId);
StoragePos opPos= operateBean.getOpPos(); StoragePos opPos= operateBean.getOpPos();
if(opPos == null){ if(opPos == null){
//查找下一库位,下一库位已有任务或者下一库位已有料呀者下一库位尺寸不符合,必须重新扫库位码 //未扫描库位
String lastPosId = operateBean.getLastPosId(); String operatePosId = operateBean.getNextPosId();
if(Strings.isNullOrEmpty(lastPosId)){ if(Strings.isNullOrEmpty(operatePosId)){
return getText("shelf.msg.scanPos",request.getLocale(),"请先扫描库位码"); return getText("shelf.msg.scanPos",request.getLocale(),"请先扫描库位码");
} }else{
Long nextPosId = Long.valueOf(lastPosId) + 1; //有下一个库位
StoragePos nextPos = storagePosManager.get(String.valueOf(nextPosId)); StoragePos currentPos = storagePosManager.get(String.valueOf(operatePosId));
if(nextPos != null){ if(currentPos != null){
Collection<String> excludePosIds = taskService.excludePosIds(); canBarcodePutInPos(currentPos,barcode);
if(excludePosIds.contains(nextPos.getId())){ //验证通过,先灭上一个库位灯
return getText("shelf.nextPos.hasTask",new String[]{nextPos.getPosName()},request.getLocale(), "下一库位["+nextPos.getPosName()+"]已有任务,请重新扫描库位码"); closeLastPos(sessionId);
} //打开下一个库位灯
if(nextPos.getBarcode() != null){ openAndCloseLights(sessionId, currentPos,putInColor,delayCloseTime);
return getText("shelf.nextPos.hasReel",new String[]{nextPos.getPosName()},request.getLocale(), "下一库位["+nextPos.getPosName()+"]已有物料,请重新扫描库位码");
} taskService.addTaskToFinished(currentPos,barcode,null);
Storage storage = dataCache.getStorageById(nextPos.getStorageId());
if(!storage.canPutInPos(barcode.getPlateSize(),barcode.getHeight(), nextPos.getW(), nextPos.getH())){ operateBean.setOpPos(null);
String reelSize = barcode.getPlateSize() + "x" + barcode.getHeight(); operateBean.setPosToClose(currentPos);
String posSize = nextPos.getW() + "x" + nextPos.getH(); Long nextPosId = Long.valueOf(currentPos.getId()) + 1;
return getText("shelf.nextPos.hasReel",new String[]{nextPos.getPosName(),posSize, reelSize},request.getLocale(), "下一库位["+nextPos.getPosName()+"]尺寸["+posSize+"]与料盘尺寸["+reelSize+"]不符,请重新扫描库位码"); 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);
} }
}else{
} //已扫过库位
canBarcodePutInPos(opPos, barcode);
if(opPos != null){
Storage storage = dataCache.getStorageById(opPos.getStorageId());
ArrayList<Storage> storageList = Lists.newArrayList(storage);
taskService.verifyBarcodePutIn(storageList,barcode);
log.info(barcode.getPartNumber()+" [ "+barcode.getBarcode()+" ] " + "入库到:" + opPos.getPosName()); log.info(barcode.getPartNumber()+" [ "+barcode.getBarcode()+" ] " + "入库到:" + opPos.getPosName());
opPos.setCanCheckOutTime(System.currentTimeMillis() + delayCloseTime); opPos.setCanCheckOutTime(System.currentTimeMillis() + delayCloseTime);
taskService.addTaskToFinished(opPos,barcode,null); taskService.addTaskToFinished(opPos,barcode,null);
//放入后不需要灭灯,也不需要亮灯,等下一个条码扫到时再灭灯
operateBean.setOpPos(null); operateBean.setOpPos(null);
Long nextPosId = Long.valueOf(opPos.getId()) + 1;
operateBean.setNextPosId(String.valueOf(nextPosId));
shelfPutInBeanMap.put(sessionId, operateBean); shelfPutInBeanMap.put(sessionId, operateBean);
return "OK"+getText("shelf.msg.inOk",new String[]{opPos.getPosName()},request.getLocale(),"操作成功,请放入库位["+opPos.getPosName()+"]"); 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) { } catch (ValidateException e) {
log.error("Error:"+e.getMessage()); log.error("Error:"+e.getMessage());
...@@ -278,14 +286,15 @@ public class CodeShelfController extends BaseController { ...@@ -278,14 +286,15 @@ public class CodeShelfController extends BaseController {
String lightOnStr = pos.getPosName() + "=" + color; String lightOnStr = pos.getPosName() + "=" + color;
StorageDataController.appendOp(cid,"open", lightOnStr); StorageDataController.appendOp(cid,"open", lightOnStr);
log.info("点亮库位:" + lightOnStr); log.info("点亮库位:" + lightOnStr);
//5秒后灭灯 //30秒后灭灯
Thread closeTask = new Thread(new Runnable() { Thread closeTask = new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
try { try {
Thread.sleep(delayCloseTime); Thread.sleep(delayCloseTime);
closeLastPutInPos(sessionId, pos.getPosName()); log.info("自动关闭库位:"+ pos.getPosName());
opPosLight("close", pos, "");
}catch (Exception e){ }catch (Exception e){
} }
...@@ -309,7 +318,7 @@ public class CodeShelfController extends BaseController { ...@@ -309,7 +318,7 @@ public class CodeShelfController extends BaseController {
} }
List<StoragePos> allPos = storagePosManager.findNotEmptyByStorageId(storage.getId()); List<StoragePos> allPos = storagePosManager.findNotEmptyByStorageId(storage.getId());
for (StoragePos pos : allPos) { for (StoragePos pos : allPos) {
opPosLight("open",pos,"Green"); opPosLight("open",pos,"yellow");
} }
return "OK"+getText("shelf.msg.opSucess",request.getLocale(),"操作成功"); return "OK"+getText("shelf.msg.opSucess",request.getLocale(),"操作成功");
} }
...@@ -328,7 +337,7 @@ public class CodeShelfController extends BaseController { ...@@ -328,7 +337,7 @@ public class CodeShelfController extends BaseController {
} }
Storage storage = dataCache.getStorageById(pos.getStorageId()); Storage storage = dataCache.getStorageById(pos.getStorageId());
StorageDataController.appendOp(storage.getCid(), opKey , opStr); StorageDataController.appendOp(storage.getCid(), opKey , opStr);
log.info("操作库位["+pos.getPosName()+"]" + opKey + " : " + opStr); //log.info("操作库位["+pos.getPosName()+"]" + opKey + " : " + opStr);
} }
@RequestMapping(value = "/service/store/codeShelf/inventory") @RequestMapping(value = "/service/store/codeShelf/inventory")
......
...@@ -10,6 +10,8 @@ import com.myproject.manager.IBarcodeManager; ...@@ -10,6 +10,8 @@ import com.myproject.manager.IBarcodeManager;
import com.myproject.manager.IStoragePosManager; import com.myproject.manager.IStoragePosManager;
import com.myproject.util.StorageConstants; import com.myproject.util.StorageConstants;
import com.myproject.webapp.controller.webService.DataCache; 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.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
...@@ -34,6 +36,9 @@ public class StoragePosUpdateController extends BaseUpdateController { ...@@ -34,6 +36,9 @@ public class StoragePosUpdateController extends BaseUpdateController {
@Autowired @Autowired
private DataCache dataCache; private DataCache dataCache;
@Autowired
private ITaskService taskService;
private final static String UPDATE_VIEW = "storage/storagePosUpdate"; private final static String UPDATE_VIEW = "storage/storagePosUpdate";
@RequestMapping("/storage/getStoragePos") @RequestMapping("/storage/getStoragePos")
...@@ -66,18 +71,24 @@ public class StoragePosUpdateController extends BaseUpdateController { ...@@ -66,18 +71,24 @@ public class StoragePosUpdateController extends BaseUpdateController {
Barcode barcode = storagePos.getBarcode(); Barcode barcode = storagePos.getBarcode();
if(barcode != null){ if(barcode != null){
log.info("清理库位["+storagePos.getPosName()+"]中的库存"+barcode.getBarcode());
barcode = barcodeManager.findByBarcode(barcode.getBarcode()); String opUser = StorageDataController.getLoginUsername();
barcode.setPosName(""); log.info(opUser + "清理库位["+storagePos.getPosName()+"]");
barcodeManager.save(barcode); taskService.addTaskToFinished(storagePos,null,opUser+"-clear");
storagePos.setBarcode(null);
storagePos.setUsed(false); // log.info("清理库位["+storagePos.getPosName()+"]中的库存"+barcode.getBarcode());
storagePos = storagePosManager.save(storagePos); //
dataCache.updateInventory(storagePos,barcode); // 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 ""; return "";
} catch (ValidateException e) { } catch (Exception e) {
return e.getMessage(); return e.getMessage();
} }
} }
......
...@@ -424,6 +424,16 @@ public class MesApiController extends BaseController { ...@@ -424,6 +424,16 @@ public class MesApiController extends BaseController {
return results; 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){ private Date toDate(String dateStr){
try { try {
......
...@@ -235,7 +235,7 @@ public class StorageDataController extends BaseController { ...@@ -235,7 +235,7 @@ public class StorageDataController extends BaseController {
if(Strings.isNullOrEmpty(result)){ if(Strings.isNullOrEmpty(result)){
return "0" + super.getText("checkout.sucess",request.getLocale()); 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 { ...@@ -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") @RequestMapping("/backupVersions")
......
...@@ -866,20 +866,32 @@ public class TaskService implements ITaskService { ...@@ -866,20 +866,32 @@ public class TaskService implements ITaskService {
return null; return null;
} }
@Override @Override
public synchronized String checkOutLiteOrder(String orderNo, boolean outBom){ public synchronized String checkOutLiteOrder(String orderNo, boolean outBom){
LiteOrder cacheOrder = liteOrderMap.get(orderNo); LiteOrder cacheOrder = liteOrderMap.get(orderNo);
if(cacheOrder != null && !cacheOrder.isTaskFinished() && !cacheOrder.isNew()){ if(cacheOrder != null && !cacheOrder.isTaskFinished() && !cacheOrder.isNew()){
log.info("工单["+orderNo+"]正在执行"); log.info("工单["+orderNo+"]正在执行");
return "当前工单正在执行"; return "order.out.executing";
} }
if(cacheOrder == null){ if(cacheOrder == null){
cacheOrder = liteOrderDao.findWithItemsByOrderNo(orderNo); cacheOrder = liteOrderDao.findWithItemsByOrderNo(orderNo);
} }
if(cacheOrder == null){ 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); log.info("开始执行工单["+orderNo+"] outBom="+outBom);
...@@ -901,6 +913,8 @@ public class TaskService implements ITaskService { ...@@ -901,6 +913,8 @@ public class TaskService implements ITaskService {
availableStorageIds.add(storage.getId()); availableStorageIds.add(storage.getId());
} }
} }
//其他出库模式一次性全部生成任务 //其他出库模式一次性全部生成任务
for (LiteOrderItem orderItem : cacheOrder.getOrderItems()) { for (LiteOrderItem orderItem : cacheOrder.getOrderItems()) {
//剩余未出数量 //剩余未出数量
...@@ -929,6 +943,7 @@ public class TaskService implements ITaskService { ...@@ -929,6 +943,7 @@ public class TaskService implements ITaskService {
task.setSubSourceId(orderItem.getId()); task.setSubSourceId(orderItem.getId());
task.setSubSourceInfo(orderItem.getFeederInfo()); task.setSubSourceInfo(orderItem.getFeederInfo());
task.setType(StorageConstants.OP.CHECKOUT); task.setType(StorageConstants.OP.CHECKOUT);
task.setLightColor(nextColor.getRgb());
task.setStatus(StorageConstants.OP_STATUS.WAIT.name()); task.setStatus(StorageConstants.OP_STATUS.WAIT.name());
task = dataLogDao.save(task); task = dataLogDao.save(task);
addTaskToExecute(task); addTaskToExecute(task);
...@@ -943,6 +958,7 @@ public class TaskService implements ITaskService { ...@@ -943,6 +958,7 @@ public class TaskService implements ITaskService {
if(taskReelCount <= 0){ if(taskReelCount <= 0){
cacheOrder.finishedTasks(); cacheOrder.finishedTasks();
} }
liteOrderDao.save(cacheOrder); liteOrderDao.save(cacheOrder);
liteOrderMap.put(cacheOrder.getOrderNo(), cacheOrder); liteOrderMap.put(cacheOrder.getOrderNo(), cacheOrder);
if(taskReelCount <= 0){ if(taskReelCount <= 0){
...@@ -1063,13 +1079,31 @@ public class TaskService implements ITaskService { ...@@ -1063,13 +1079,31 @@ public class TaskService implements ITaskService {
//出库任务开灯或者开门 //出库任务开灯或者开门
Collection<DataLog> areaWaitTasks = taskMap.values(); Collection<DataLog> areaWaitTasks = taskMap.values();
for (DataLog task : areaWaitTasks) { for (DataLog task : areaWaitTasks) {
if(storage.getCid().equals(task.getCid()) && task.isCheckOutTask() && task.isWait()){ if(storage.getCid().equals(task.getCid()) && task.isCheckOutTask()){
//加入到正在执行的列表中
statusBean.addData("open", task.getPosName()); String lightColor = task.getLightColor();
//从等待列表中删除,加入到执行列表中 String opValue = task.getPosName();
task.setStatus(StorageConstants.OP_STATUS.EXECUTING.name()); if(!Strings.isNullOrEmpty(lightColor)){
taskMap.put(task.getId(), task); StorageConstants.ORDER_COLOR orderColor = StorageConstants.ORDER_COLOR.fromRgb(lightColor);
dataLogDao.save(task); 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; return statusBean;
...@@ -1174,7 +1208,7 @@ public class TaskService implements ITaskService { ...@@ -1174,7 +1208,7 @@ public class TaskService implements ITaskService {
//暂不处理 //暂不处理
} else if (StorageConstants.BOX_STATUS.OUT_FINISHED == status) {//出仓完成 } else if (StorageConstants.BOX_STATUS.OUT_FINISHED == status) {//出仓完成
DataLog task = findExecutingTask(statusBean.getCid(), boxStatus.getPosId()); DataLog task = findExecutingTask(statusBean.getCid(), boxStatus.getPosId());
if (task != null) { if (task != null && task.isCheckOutTask()) {
log.info(task.getBarcode() + "出仓位[" + task.getPosName() + "]完成"); log.info(task.getBarcode() + "出仓位[" + task.getPosName() + "]完成");
DataLog cancelTask = findFinishedTask(statusBean.getCid(), boxStatus.getPosId()); DataLog cancelTask = findFinishedTask(statusBean.getCid(), boxStatus.getPosId());
if(cancelTask != null && cancelTask.isCancel()){ if(cancelTask != null && cancelTask.isCancel()){
...@@ -1188,7 +1222,7 @@ public class TaskService implements ITaskService { ...@@ -1188,7 +1222,7 @@ public class TaskService implements ITaskService {
//log.error(operationKey + "触发仓位完成时,操作队列中不存在"); //log.error(operationKey + "触发仓位完成时,操作队列中不存在");
//从已完成列表中找,如果还找不到就忽略 //从已完成列表中找,如果还找不到就忽略
task = findFinishedTask(statusBean.getCid(), boxStatus.getPosId()); task = findFinishedTask(statusBean.getCid(), boxStatus.getPosId());
if (task != null) { if (task != null && task.isCheckOutTask()) {
if(task.isCancel()){//被取消的任务,客户端发完成信号过来,修改取消状态为已完成 if(task.isCancel()){//被取消的任务,客户端发完成信号过来,修改取消状态为已完成
log.info(task.getBarcode() + "出仓位[" + task.getPosName() + "]完成,但任务已被取消,修改为完成"); log.info(task.getBarcode() + "出仓位[" + task.getPosName() + "]完成,但任务已被取消,修改为完成");
checkoutFinished(task); checkoutFinished(task);
...@@ -1337,6 +1371,7 @@ public class TaskService implements ITaskService { ...@@ -1337,6 +1371,7 @@ public class TaskService implements ITaskService {
//清空 msg 的内容,因为客户端会据此决定命令是否执行 //清空 msg 的内容,因为客户端会据此决定命令是否执行
statusBean.setMsg(""); statusBean.setMsg("");
statusBean.setMsgEn("");
return statusBean; return statusBean;
} }
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
# to the other resource bundles. # to the other resource bundles.
webapp.name=BSP webapp.name=BSP
webapp.tagline=Providing integration and style to open source Java. 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.name=Your Company Here
company.url=http://raibledesigns.com company.url=http://raibledesigns.com
copyright.year=${copyright.year} copyright.year=2003-2015
user.status=Logged in as: 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 #Mon Dec 21 14:49:06 CST 2020
# to the other resource bundles. checkoutSettings.mode.usedFirst=Tailing out first
webapp.name=BSP boxView.takeOutReel=Take out the material
webapp.tagline=Providing integration and style to open source Java. allBoxView.noReel=No material available
webapp.version=Version ${pom.version} settings.pcbEmail.everyday=Every day
company.name=Your Company Here inOutList.outDate=Retrieval time
company.url=http://raibledesigns.com userList.heading=Online users
copyright.year=${copyright.year} menu.barCode.settings=Barcode Setting
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 --
login.title=Login login.title=Login
login.heading=Sign In barcode.inStoreRemainTime=Storage/Remaining time
login.rememberMe=Remember Me settings.pcbEmail=PCB expired email alarm
login.signup=Not a member? <a href="{0}">Signup</a> for an account. menu.bigdata=Big Data
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>. menu.box.boxi=SMD BOXi
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>. menu.box.virtualStorage=Virtual BOX
login.passwordHint.sent=The password hint for {0} has been sent to {1}. inOutList.inOper=Storage operator
login.passwordHint.error=The username {0} was not found in our database. allBoxView.outTitle=Retrieval
dataReport.print=Print
# -- home -- menu.admin.users=User Info
home.title=Home maintenance.device.1_device_batchAxis=Batch axis
home.heading=Welcome! errors.general=Operation failure. The reasons are as follows.
home.message=Congratulations, you have logged in successfully! Now that you've logged in, you have the following options: errors.double={0} must be of type double.
home.activeUsers=Current Users menu.system.settings=System Setting
areaView.stockWaring=Inventory warning
# -- menu/link messages -- menu.bigdata.dataReport=Data Report
menu.admin=Administration barCodeSettings.rule=Barcode rule
menu.admin.users=View Users errors.conversion=There is an error in the data conversion from web layer to business layer.
menu.admin.reload=Reload Options fixture.updateTitle=Fixture info
menu.selectFile=Upload A File settings.pcbEmail.reminderDay=days in advance
menu.box.liteBox=SMD BOX Lite
# -- form labels -- errors.cancel=The operation was cancelled.
label.username=Username menu.order.management=Work Order Management
label.password=Password userProfile.title=User setting
inOutList.operate=Operation
storagePosFind.outInaction=Sluggish material retrieval
# -- general values -- runStatus.minutes=minute
icon.information=Information alarmInfo.endTime=Release time
icon.information.img=/images/iconInformation.gif 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=E-Mail
icon.email.img=/images/iconEmail.gif inOutList.out=Retrieval
icon.warning=Warning user.confirmPassword=Confirm password
icon.warning.img=/images/iconWarning.gif dataLog.status=Status
date.format=yyyy-MM-dd signup.heading=Sign up
delete.confirm=Are you sure you want to delete this {0}? solder.type=Solder paste types
# -- for calendar widget: bootstrap-datepicker -- settings.restore.warning=Warning\: system will be restored to this version, and can not be restored to the previous status after restoration\!
#See: https://github.com/eternicode/bootstrap-datepicker#readme settings.maintenanceDays=Backup cycle
calendar.format=mm/dd/yyyy settings.showRange=Display range
calendar.weekstart=0 errors.long={0} must be type of long.
errors.existing.user=Username ({0}) or e-mail address ({1}) already exists. Please change it.
# -- role form -- 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 roleForm.name=Name
menu.bigdata.dataLog=Material Log
# -- user profile page -- runStatus.solderWarehousing=Solder paste storage quantity
userProfile.title=User Settings pcb.family=Family
userProfile.heading=User Profile maxLengthExceeded=The uploaded file is not allowed to be more than 2 MB.
userProfile.message=Please update your information. menu.cloud.numModify=Quantity Calibration
userProfile.showMore=View More Information user.accountLocked=Locked
userProfile.accountSettings=Account Settings errors.invalid={0} is invaild.
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
user.password=Password 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.username=Username
user.website=Website storagePosFind.daysAgo=days ago
user.visitWebsite=visit user.lastName=Last name
user.passwordHint=Password Hint userProfile.heading=User profile
user.enabled=Enabled runStatus.alarmLastTime=Alarm duration
user.accountExpired=Expired allBoxView.nextPage=Next Page
user.accountLocked=Locked maintenance.device.1_device_updownAxis=UpDown axis
user.credentialsExpired=Password Expired errors.phone={0} is a invalid phone number.
barcode.updateTitle=Barcode Info
# -- user list page -- time.hours=hours
userList.title=User List specifiedBatch.addOutTasks=Add to retrieval list
userList.heading=Current Users userProfile.message=Please update your information according to the table below.
userList.nousers=<span>No users found.</span> storagePosFind.inFixture=Fixture
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
allBoxView.temperature=Temperature allBoxView.temperature=Temperature
allBoxView.humidity=Humidity user.address.address=Address
allBoxView.boxStatus=SMD BOX info. allBoxView.msg.title=Information
allBoxView.capacity=Material Capacity settings.backup.versions=Version list
allBoxView.used=Capacity Used checkoutSettings.mode.efficiency=Efficiency first
allBoxView.lastPage=Previous user.passwordHint=Password Hint
allBoxView.nextPage=Next boxView.startBatchIn=Start Batch Storage
allBoxView.findAndOut=Material Search user.address.province=Province
allBoxView.outTitle=Material Retrieval dataLog.batch=Specified batch
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
checkoutSettings.mode.expireFirst=FEFO checkoutSettings.mode.expireFirst=FEFO
checkoutSettings.mode.efficiency=LIFO home.title=Home
checkoutSettings.mode.fifo=FIFO menu.outRule=Retrieval Strategy
checkoutSettings.mode.usedFirst=Effiency Priority virtualStorage.positionList=Storage location list
boxView.range=Range activeUsers.heading=Online user
boxView.openDoor=Door Open icon.information=Information
boxView.closeDoor=Door Close menu.box=Box
boxView.startBatchIn=Start Batch Material Processing dataReport.solderOverdue=Expired solder paste quantity
boxView.takeOutReel=Remove the material user.credentialsExpired=The password has expired.
boxView.takeDoorReel=Material Removal Completed home.activeUsers=Online user
boxView.singleOut=Single Material Retrieval inOutList.type.pcbFixture=PCB fixture
boxView.doorStatus=Door Status fixture.type=Fixture type
allBoxView.msg.cancelFinished=Operation Canceled dataLog.orderSource=Instruction source
boxView.taskCancel=Operation Canceled reload.succeeded=Reload successful
boxView.taskExcuting=Operation in Execution barcode.produceDate=Production Date
boxView.taskFinished=Operation Completed upload.heading=Upload file
boxView.taskWaiting=Operation in process areaView.tasks=Tasks
boxView.cancelTask=Cancel settings.api.outNotifaction=Retrieval notice
solder.type=Solder paste type activeUsers.message=The list contains only users who has logined successfully and whose session has expired.
solder.type.noLead=Lead Free menu.admin.reload=Reload
solder.type.lead=Leaded Material
solder.model=Model solder.model=Model
solder.encapsulation=Packaging info. activeUsers.fullName=Fullname
solder.encapsulation.tube=Tube upload.message=The main system allows no more than 2MB of files to be uploaded.
solder.encapsulation.can=Can menu.bigdata.runStatus=Run Statistics
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
pcb.updateTitle=PCB Info pcb.updateTitle=PCB Info
otherComponent.updateTitle=Other Component Info solder.storageTime=Storage time after opening
fixture.updateTitle=Fixture Info userProfile.showMore=More info
otherComponent.expensive=Precious Material runStatus.throughput=Throughput
fixture.type=Fixture Type solder.encapsulation.tube=Tube
settings.showRange=Range pcb.validPeriod=Valid period
settings.humiture=Temperature/Humidity icon.warning=Warning
settings.pcbEmail=Email remind display.title=File uploaded successfully\!
btn.test=Test label.username=Username
settings.api=API Settings allBoxView.findAndOut=Search and Retrieve
settings.api.inNotifaction=Material Receiving Notice userList.title=User list
settings.api.outNotifaction=Material Retrieval Notice errors.integer={0} must be a value.
settings.pcbEmail.everyday=Everyday 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.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.width=Width
barCodeSettings.print.height=Height icon.warning.img=/images/iconWarning.gif
barcode.updateTitle=Barcode Detail userProfile.accountSettings=Account setting
btn.view=View checkoutSettings.title=Retrieval strategy
runStatus.throughput=Throughput inOutList.inDate=Storage time
runStatus.alarmInfo=Alarm Info errors.none=No error, please check the server log.
runStatus.alarmTimes=Alarm Times login.rememberMe=Remember me
runStatus.alarmLastTime=Alarm Period errors.token=The request was not fully processed. Wrong operation sequence.
runStatus.minutes=Minutes signup.email.subject=AppFuse account info
runStatus.times=Times menu.product.pcb=PCB Info
select.all=All runStatus.solderOutgoing=Solder paste retrieval quantity
inOutList.in=Material Receiving solder.encapsulation.can=Can
inOutList.out=Material Retrieval javax.faces.component.UIInput.REQUIRED={0} is required.
inOutList.operate=Operation errors.creditcard={0} is a invalid credit card number.
inOutList.type=Type
inOutList.type.component=Component inOutList.type.component=Component
inOutList.type.solder=Solder paste solder.storeNum=Storage quantity
inOutList.type.pcb=PCB menu.inRule=Storage Strategy
inOutList.type.others=Others allBoxView.msg.cancelMsg=Are you sure to cancel the task?
inOutList.time=Time menu.product.others=Other Material Info
inOutList.inOper=Material Receiving Operator specifiedBatch.task=Task
inOutList.outOper=Material Retrieval Operator menu.selectFile=Upload File
inOutList.inDate=Material Receiving Time checkoutSettings.mode=Retrieval mode
inOutList.outDate=Material Retrieval Time allBoxView.boxStatus=Box status
alarmInfo.position=Position inOutList.outOper=Retrieval operator
alarmInfo.detail=Alarm Detail errorPage.heading=Oh\!
alarmInfo.type=Alarm Type user.updated.byAdmin=The information for user {0} has been successfully updated.
alarmInfo.time=Alarm Time checkout.sucess=Added to the retrieval task list successfully.
alarmInfo.endTime=Alarm Resolved time userProfile.assignRoles=Role assignment
dataLog.status=Status alarmInfo.detail=Alarm information
dataLog.batch=Specified Batch 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
dataLog.orderSource=Work Order Source solder.maxStorageTime=Max time at room TEMP
inventory.lockTitle=Lock/Stocking menu.box.manage=Box Management
inventory.find=Search solder.hour=hours
specifiedBatch.name=Name chart.humidity=Humidity
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
virtualStorage.taskList=Task list virtualStorage.taskList=Task list
virtualStorage.positionList=Location list button.login=Login
virtualStorage.position=Location errors.range={0} is not in the range of {1} and {2}.
dataReport.print=Print errors.email={0} is an invalid email address.
dataReport.solderUsage=Material usage 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.
dataReport.solderOverdue=Expired Solder paste Quantity activeUsers.summary=Found {0} users, and displayed {1} users from {2} to {3}. {4} / {5} page
dataReport.solderStock=Solder Paste Counting allBoxView.lastPage=Previous Page
dataReport.pcbStock=PCB counting specifiedBatch.createDate=Creation date
dataReport.pcbOverdue=Epxired PCB Quantity boxView.taskCancel=It has been cancelled.
dataReport.solderStock.warming=Warming Up boxView.cancelTask=Cancel
dataReport.solderStock.soonToExpire=Close to Explire select.all=All
dataReport.solderStock.invalid=Invalid user.address.city=City
dataReport.overduePcb=Expired PCB inOutList.type.solderFixture=Solder paste fixture
runStatus.solderOutgoing=Solder Paste Retrieval Qty user.registered=Registered successfully, and welcome to use the system.
runStatus.pcbOutgoing=PCB Retrieval Qty dataReport.pcbOverdue=PCB expired quantity
runStatus.pcbWarehousing=PCB Receiving Qty button.maintenance.finished=Maintenance completed
runStatus.solderWarehousing=Solder Paste Receiving Qty uploadForm.file=Select File
show.desktop=Desktop user.logout=Exit
show.table=Tablet otherComponent.expensive=Precious materials
menu.system.maintenance=Equipment Maintenance runStatus.times=times
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.backup=Backup button.backup=Backup
button.restore=Restore inOutList.type.others=Other
time.seconds=Seconds 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.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 \ 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 #
#Tue Dec 15 14:19:54 CST 2020
user.status=\u5F53\u524D\u7528\u6237: checkoutSettings.mode.usedFirst=\u6B8B\u7559\u6750\u6599\u3092\u5148\u306B\u51FA\u5EAB
user.logout=\u9000\u51FA boxView.takeOutReel=\u30EA\u30FC\u30EB\u3092\u53D6\u308A\u51FA\u3059
allBoxView.noReel=\u5229\u7528\u53EF\u80FD\u306E\u6750\u6599\u304C\u306A\u3057
# -- validator errors -- settings.pcbEmail.everyday=\u6BCE\u65E5
errors.invalid={0} \u65E0\u6548\u3002 inOutList.outDate=\u51FA\u5EAB\u6642\u9593
errors.maxlength={0} \u4E0D\u80FD\u5927\u4E8E {1} \u4E2A\u5B57\u7B26\u3002 userList.heading=\u30A4\u30F3\u30E9\u30A4\u30F3\u30E6\u30FC\u30B6\u30FC
errors.minlength={0} \u4E0D\u80FD\u5C11\u4E8E {1} \u4E2A\u5B57\u7B26\u3002 menu.barCode.settings=\u30D0\u30FC\u30B3\u30FC\u30C9\u8A2D\u7F6E
errors.range={0} \u672A\u5728 {1} \u4E0E {2} \u8303\u56F4\u5185\u3002 login.title=\u767B\u9332
errors.required={0} \u4E3A\u5FC5\u586B\u9879\u3002 barcode.inStoreRemainTime=\u5728\u5EAB/\u6B8B\u308A\u6642\u9593
errors.byte={0} \u5FC5\u987B\u4E3Abyte\u7C7B\u578B\u3002 settings.pcbEmail=PCB\u671F\u9593\u5207\u308C\u306E\u30E1\u30FC\u30EB\u30EA\u30DE\u30A4\u30F3\u30C0
errors.date={0} \u4E0D\u662F\u6709\u6548\u65E5\u671F\u683C\u5F0F\u3002 menu.bigdata=\u30D3\u30C3\u30B0\u30C7\u30FC\u30BF
errors.double={0} \u5FC5\u987B\u4E3Adouble\u7C7B\u578B\u3002 menu.box.boxi=SMD BOXi
errors.float={0} \u5FC5\u987B\u4E3Afloat\u7C7B\u578B\u3002 menu.box.virtualStorage=\u30D0\u30FC\u30C1\u30E3\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8
errors.integer={0} \u5FC5\u987B\u4E3A\u4E00\u6570\u503C\u3002 inOutList.inOper=\u5165\u5EAB\u4EBA
errors.long={0} \u5FC5\u987B\u4E3Along\u7C7B\u578B\u3002 allBoxView.outTitle=\u51FA\u5EAB
errors.short={0} \u5FC5\u987B\u4E3Ashort\u7C7B\u578B\u3002 dataReport.print=\u30D7\u30EA\u30F3\u30C8
errors.creditcard={0} \u4E3A\u65E0\u6548\u4FE1\u7528\u5361\u53F7\u3002 menu.admin.users=\u30E6\u30FC\u30B6\u30FC\u8868\u793A
errors.email={0} \u4E3A\u65E0\u6548\u90AE\u4EF6\u5730\u5740\u3002 maintenance.device.1_device_batchAxis=\u30DE\u30EB\u30C1\u6750\u6599\u5165\u308C\u51FA\u3057\u8EF8
errors.phone={0} \u4E3A\u65E0\u6548\u7535\u8BDD\u53F7\u7801\u3002 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.zip={0} \u4E3A\u65E0\u6548\u90AE\u653F\u7F16\u7801\u3002 errors.double={0} \u306F\u5FC5\u305Adouble\u306E\u30BF\u30A4\u30D7
menu.system.settings=\u30B7\u30B9\u30C6\u30E0\u8A2D\u7F6E
# -- other errors -- areaView.stockWaring=\u5728\u5EAB\u8B66\u544A
errors.cancel=\u64CD\u4F5C\u88AB\u53D6\u6D88\u3002 menu.bigdata.dataReport=\u30C7\u30FC\u30BF\u5831\u544A
errors.detail={0} barCodeSettings.rule=\u30D0\u30FC\u30B3\u30FC\u30C9\u898F\u5247
errors.general=\u64CD\u4F5C\u672A\u5B8C\u6210\u3002\u8BE6\u7EC6\u539F\u56E0\u5982\u4E0B\u3002 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
errors.token=\u8BF7\u6C42\u672A\u5B8C\u5168\u5904\u7406\u3002\u64CD\u4F5C\u987A\u5E8F\u9519\u8BEF\u3002 fixture.updateTitle=\u30B8\u30B0\u60C5\u5831
errors.none=\u65E0\u9519\u8BEF\u6D88\u606F\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u5668\u65E5\u5FD7\u6587\u4EF6\u3002 settings.pcbEmail.reminderDay=\u65E5\u524D\u306E\u30EA\u30DE\u30A4\u30F3\u30C0
errors.password.mismatch=\u65E0\u6548\u7528\u6237\u540D\u6216\u5BC6\u7801\uFF0C\u8BF7\u91CD\u8BD5\u3002 menu.box.liteBox=SMD BOX LITE
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.cancel=\u64CD\u4F5C\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F\u3002
errors.twofields={0} \u5B57\u6BB5\u4E0E {1} \u5B57\u6BB5\u7684\u503C\u5FC5\u987B\u4E00\u81F4\u3002 menu.order.management=\u30AA\u30FC\u30C0\u30FC\u7BA1\u7406
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 userProfile.title=\u30E6\u30FC\u30B6\u30FC\u8A2D\u7F6E
inOutList.operate=\u64CD\u4F5C
# -- success messages -- storagePosFind.outInaction=\u30C7\u30C3\u30C9\u6750\u6599\u3092\u51FA\u5EAB
user.added=\u7528\u6237 {0} \u7684\u4FE1\u606F\u6DFB\u52A0\u6210\u529F\u3002 runStatus.minutes=\u5206\u9593
user.deleted=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5220\u9664\u6210\u529F\u3002 alarmInfo.endTime=\u89E3\u9664\u30BF\u30A4\u30E0
user.registered=\u6CE8\u518C\u6210\u529F\uFF0C\u60A8\u53EF\u4EE5\u5F00\u59CB\u4F7F\u7528\u7CFB\u7EDF\u3002 user.status=\u73FE\u5728\u30E6\u30FC\u30B6\u30FC\uFF1A
user.saved=\u60A8\u7684\u4FE1\u606F\u5DF2\u6210\u529F\u66F4\u65B0\u3002 upload.title=\u30D5\u30A1\u30A4\u30EB\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
user.updated.byAdmin=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5DF2\u6210\u529F\u66F4\u65B0\u3002 barCodeSettings.print.height=\u9AD8\u3055
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 inOutList.time=\u6642\u9593
reload.succeeded=\u5DF2\u7ECF\u6210\u529F\u91CD\u8F7D. solder.updateTitle=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u60C5\u5831
runStatus.pcbOutgoing=PCB\u51FA\u5EAB\u6570\u91CF
# -- error page messages -- menu.system=\u30B7\u30B9\u30C6\u30E0
errorPage.title=\u7CFB\u7EDF\u9519\u8BEF system.backup.noPath=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u30D1\u30B9\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
errorPage.heading=\u54E6\uFF01 errors.required={0} \u306F\u5FC5\u8981\u4E8B\u9805
404.title=\u9875\u9762\u672A\u627E\u5230 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
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 activeUsers.title=\u30E6\u30FC\u30B6\u30FC\u30EA\u30B9\u30C8
403.title=\u8BBF\u95EE\u88AB\u62D2\u7EDD time.seconds=\u79D2
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 allBoxView.capacity=\u5BB9\u91CF
solder.type.noLead=\u925B\u30D5\u30EA\u30FC
# -- login -- dataReport.solderStock.soonToExpire=\u3082\u3046\u3059\u3050\u671F\u9593\u5207\u308C
login.title=\u767B\u5F55 maintenance.device.1_device_inoutAxis=\u524D\u5F8C\u9000\u8EF8
login.heading=\u767B\u5F55 errors.float={0} \u306F\u5FC5\u305Afloat\u306E\u30BF\u30A4\u30D7
login.rememberMe=\u8BA9\u7CFB\u7EDF\u8BB0\u4F4F\u6211 login.heading=\u767B\u9332
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=E-Mail
icon.email.img=/images/iconEmail.gif inOutList.out=\u51FA\u5EAB
icon.warning=\u8B66\u544A user.confirmPassword=\u30D1\u30B9\u30EF\u30FC\u30C9\u78BA\u8A8D
icon.warning.img=/images/iconWarning.gif dataLog.status=\u72B6\u614B
date.format=yyyy-MM-dd signup.heading=\u65B0\u898F\u30E6\u30FC\u30B6\u30FC\u767B\u9332
solder.type=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u30BF\u30A4\u30D7
# -- role form -- 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\!\!\!
roleForm.name=\u540D\u79F0 settings.maintenanceDays=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7\u306E\u30B5\u30A4\u30AF\u30EB
settings.showRange=\u8868\u793A\u7BC4\u56F2
# -- user profile page -- errors.long={0} \u306F\u5FC5\u305Along\u306E\u30BF\u30A4\u30D7
userProfile.title=\u7528\u6237\u8BBE\u7F6E 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
userProfile.heading=\u7528\u6237\u7B80\u8981\u4FE1\u606F settings.api=API \u8A2D\u7F6E
userProfile.message=\u8BF7\u6309\u5982\u4E0B\u8868\u683C\u66F4\u65B0\u60A8\u7684\u4FE1\u606F\u3002 user.id=ID
userProfile.admin.message=\u60A8\u53EF\u4EE5\u6309\u5982\u4E0B\u8868\u683C\uFF0C\u66F4\u65B0\u7528\u6237\u7684\u4FE1\u606F\u3002 user.visitWebsite=\u30AA\u30FC\u30D7\u30F3
userProfile.showMore=\u67E5\u770B\u66F4\u591A\u4FE1\u606F errorPage.title=\u30B7\u30B9\u30C6\u30E0\u30A8\u30E9\u30FC
userProfile.accountSettings=\u5E10\u6237\u8BBE\u7F6E dataReport.solderStock.invalid=\u5931\u52B9
userProfile.assignRoles=\u5206\u914D\u89D2\u8272 maintenance.status=\u73FE\u5728\u306E\u72B6\u614B
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 inOutList.type.fixture=\u30B8\u30B0
boxView.range=\u7BC4\u56F2
# -- user form -- settings.humiture=\u6E29\u6E7F\u5EA6
user.address.address=\u5730\u5740 signup.message=\u30E6\u30FC\u30B6\u60C5\u5831\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
user.availableRoles=\u53EF\u7528\u89D2\u8272 barCodeSettings.print.pageSize=\u30DA\u30FC\u30D1\u30FC\u30B5\u30A4\u30BA
user.address.city=\u57CE\u5E02 errors.date={0} \u306F\u6709\u52B9\u306A\u65E5\u4ED8\u66F8\u5F0F\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
user.address.country=\u56FD\u5BB6 user.accountExpired=\u671F\u9593\u5207\u308C
user.email=E-Mail 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.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.lastName=\u59D3
user.password=\u5BC6\u7801 userProfile.heading=\u30E6\u30FC\u30B6\u306E\u7C21\u5358\u60C5\u5831
user.confirmPassword=\u786E\u8BA4\u5BC6\u7801 runStatus.alarmLastTime=\u30A2\u30E9\u30FC\u30E0\u7D99\u7D9A\u6642\u9593
user.phoneNumber=\u7535\u8BDD allBoxView.nextPage=\u6B21\u306E\u30DA\u30FC\u30B8
user.address.postalCode=\u90AE\u7F16 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.address.province=\u5DDE\u7701
user.roles=\u5F53\u524D\u89D2\u8272 dataLog.batch=\u30D0\u30C3\u30C1\u6307\u5B9A
user.username=\u7528\u6237\u540D checkoutSettings.mode.expireFirst=\u5148\u306B\u671F\u9593\u5207\u308C\u5148\u306B\u51FA\u5EAB
user.website=\u7F51\u5740 home.title=\u30E1\u30A4\u30F3\u30E1\u30CB\u30E5\u30FC
user.visitWebsite=\u6253\u5F00 menu.outRule=\u51FA\u5EAB\u7B56\u7565
user.passwordHint=\u5BC6\u7801\u63D0\u793A virtualStorage.positionList=\u30B9\u30C8\u30EC\u30FC\u30B8\u30EA\u30B9\u30C8
user.enabled=\u4F7F\u80FD activeUsers.heading=\u30AA\u30F3\u30E9\u30A4\u30F3\u30E6\u30FC\u30B6\u30FC
user.accountExpired=\u5230\u671F icon.information=\u60C5\u5831
user.accountLocked=\u9501\u7740 menu.box=\u30DC\u30C3\u30AF\u30B9
user.credentialsExpired=\u5BC6\u7801\u5230\u671F\u4E86 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
# -- user list page -- home.activeUsers=\u30AA\u30F3\u30E9\u30A4\u30F3\u30E6\u30FC\u30B6\u30FC
userList.title=\u7528\u6237\u5217\u8868 inOutList.type.pcbFixture=PCB\u30B8\u30B0
userList.heading=\u5728\u7EBF\u7528\u6237 fixture.type=\u30B8\u30B0\u30BF\u30A4\u30D7
userList.nousers=<span>\u6CA1\u627E\u5230\u7528\u6237\u3002</span> dataLog.orderSource=\u30B3\u30DE\u30F3\u30C9\u30BD\u30FC\u30B9
reload.succeeded=\u30EA\u30ED\u30FC\u30C9\u306B\u6210\u529F\u3057\u307E\u3057\u305F\u3002
# -- user self-registration -- barcode.produceDate=\u751F\u7523\u65E5\u4ED8
signup.title=\u6CE8\u518C upload.heading=\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
signup.heading=\u65B0\u7528\u6237\u6CE8\u518C areaView.tasks=\u30BF\u30B9\u30AF
signup.message=\u8BF7\u8F93\u5165\u7528\u6237\u4FE1\u606F\u3002 settings.api.outNotifaction=\u51FA\u5EAB\u901A\u77E5
signup.email.subject=AppFuse \u5E10\u6237\u4FE1\u606F 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
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 menu.admin.reload=\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u518D\u8AAD\u307F\u8FBC\u307F
solder.model=\u578B\u756A
# -- upload page messages -- activeUsers.fullName=\u5168\u79F0
maxLengthExceeded=\u9009\u62E9\u4E0A\u4F20\u7684\u6587\u4EF6\u8FC7\u5927\u3002\u6700\u5927\u5141\u8BB8\u503C\u4E3A 2 MB\u3002 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
upload.title=\u6587\u4EF6\u4E0A\u4F20 menu.bigdata.runStatus=\u5B9F\u884C\u7D71\u8A08
upload.heading=\u4E0A\u4F20\u4E00\u6587\u4EF6 pcb.updateTitle=PCB\u8A73\u7D30
upload.message=\u4E3B\u8981\u7CFB\u7EDF\u5141\u8BB8\u4E0A\u4F20\u6587\u4EF6\u7684\u6700\u5927\u503C\u4E3A 2 MB\u3002 solder.storageTime=\u958B\u5C01\u5F8C\u306E\u4FDD\u5B58\u53EF\u80FD\u6642\u9593
uploadForm.name=\u91CD\u547D\u540D\u6587\u4EF6 userProfile.showMore=\u8A73\u7D30\u60C5\u5831\u3092\u898B\u308B
uploadForm.file=\u9009\u62E9\u6587\u4EF6 runStatus.throughput=\u30B9\u30EB\u30FC\u30D7\u30C3\u30C8
solder.encapsulation.tube=\u30D1\u30A4\u30D7
# -- display page messages -- pcb.validPeriod=\u6709\u52B9\u671F
display.title=\u6587\u4EF6\u4E0A\u4F20\u6210\u529F\uFF01 icon.warning=\u8B66\u544A
display.heading=\u6587\u4EF6\u4FE1\u606F 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
# -- active users page -- allBoxView.findAndOut=\u51FA\u5EAB\u30B5\u30FC\u30C1
activeUsers.title=\u6D3B\u52A8\u7528\u6237\u5217\u8868 userList.title=\u30E6\u30FC\u30B6\u30FC\u30EA\u30B9\u30C8
activeUsers.heading=\u5728\u7EBF\u7528\u6237 errors.integer={0} \u306F\u5FC5\u305A\u6570\u5B57\u3067\u3042\u308B\u3002
activeUsers.message=\u5217\u8868\u4E3A\u5DF2\u6210\u529F\u767B\u5F55\u7684\u3001session\u4E3A\u8FC7\u671F\u7684\u7528\u6237\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
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.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 chart.humidity=\u6E7F\u5EA6
areaView.stockWaring=\u5E93\u5B58\u9884\u8B66 virtualStorage.taskList=\u30BF\u30B9\u30AF\u30EA\u30B9\u30C8
areaView.batch=\u6279\u6B21 button.login=\u767B\u9332
areaView.tasks=\u4EFB\u52A1 errors.range={0} \u306F {1} \u3068 {2} \u306E\u7BC4\u56F2\u306E\u5916\u3002
menu.findout=\u67E5\u627E\u51FA\u5E93 errors.email={0} \u306F\u7121\u52B9\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3002
menu.inRule=\u5165\u5E93\u7B56\u7565 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
menu.outRule=\u51FA\u5E93\u7B56\u7565 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
menu.system.settings=\u7CFB\u7EDF\u8BBE\u7F6E allBoxView.lastPage=\u524D\u306E\u30DA\u30FC\u30B8
menu.system=\u7CFB\u7EDF specifiedBatch.createDate=\u65E5\u4ED8\u3092\u4F5C\u6210
menu.bigdata=\u5927\u6570\u636E boxView.taskCancel=\u30AD\u30E3\u30F3\u30BB\u30EB\u6E08\u307F
menu.bigdata.runStatus=\u8FD0\u884C\u7EDF\u8BA1 boxView.cancelTask=\u30AD\u30E3\u30F3\u30BB\u30EB
menu.bigdata.inOutList=\u51FA\u5165\u5E93\u8BB0\u5F55 select.all=\u5168\u90E8
menu.bigdata.dataReport=\u6570\u636E\u62A5\u544A user.address.city=\u90FD\u5E02
menu.bigdata.dataLog=\u7269\u6599\u65E5\u5FD7 inOutList.type.solderFixture=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u30B8\u30B0
menu.bigdata.errorLog=\u5F02\u5E38\u5206\u6790 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
menu.barCode.settings=\u6761\u7801\u8BBE\u7F6E dataReport.pcbOverdue=PCB\u671F\u9650\u3092\u8D85\u904E\u3057\u3066\u5EC3\u68C4\u3059\u308B\u6570\u91CF
menu.box=\u4E91\u6599\u4ED3 button.maintenance.finished=\u30E1\u30F3\u30C6\u30F3\u30CA\u30F3\u30B9\u5B8C\u6210
menu.box.manage=\u6599\u4ED3\u7BA1\u7406 uploadForm.file=\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E
menu.box.virtualStorage=\u865A\u62DF\u4ED3 user.logout=\u9000\u51FA
menu.box.liteBox=SMD BOX LITE otherComponent.expensive=\u8CB4\u91CD\u6750\u6599
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
runStatus.times=\u6B21 runStatus.times=\u6B21
select.all=\u6240\u6709 button.backup=\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7
inOutList.in=\u5165\u5E93 inOutList.type.others=\u305D\u306E\u307B\u304B
inOutList.out=\u51FA\u5E93 dataReport.solderStock=\u534A\u7530\u30D9\u30B9\u30C8\u306E\u30EA\u30A2\u30EA\u30C6\u30A3\u30FC\u5728\u5EAB\u60C5\u5831
inOutList.operate=\u64CD\u4F5C checkoutSettings.mode.produceDate=\u751F\u7523\u65E5\u4ED8\u3092\u512A\u5148
inOutList.type=\u7C7B\u578B allBoxView.used=\u4F7F\u7528\u6E08\u307F
inOutList.type.component=\u5143\u5668\u4EF6 user.address.country=\u56FD\u5BB6
inOutList.type.solder=\u9521\u818F 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
inOutList.type.pcb=PCB menu.cloud.inventory=\u5728\u5EAB\u306E\u307E\u3068\u3081
inOutList.type.others=\u5176\u4ED6 signup.title=\u767B\u9332
inOutList.time=\u65F6\u95F4 settings.pcbEmail.adress=Emails (\u8907\u6570\u304C\u4F7F\u7528\u53EF\u80FD;\u30BB\u30DF\u30B3\u30ED\u30F3\u3067\u533A\u5225)
inOutList.inOper=\u5165\u5E93\u4EBA settings.restore.confirm=\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u5FA9\u5143\u3057\u307E\u3059\u304B\uFF1F
inOutList.outOper=\u51FA\u5E93\u4EBA alarmInfo.type=\u30A8\u30E9\u30FC\u30BF\u30A4\u30D7
inOutList.inDate=\u5165\u5E93\u65F6\u95F4 chart.solder.used=\u6750\u6599\u306E\u6D88\u8017
inOutList.outDate=\u51FA\u5E93\u65F6\u95F4 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.position=\u4F4D\u7F6E
alarmInfo.detail=\u62A5\u8B66\u8BE6\u60C5 menu.admin=\u30B7\u30B9\u30C6\u30E0\u7BA1\u7406
alarmInfo.type=\u62A5\u8B66\u7C7B\u578B allBoxView.kanban=\u770B\u677F
alarmInfo.time=\u62A5\u8B66\u65F6\u95F4 maintenance.runTime=\u904B\u884C\u6642\u9593
alarmInfo.endTime=\u89E3\u9664\u65F6\u95F4 home.heading=\u3088\u3046\u3053\u305D\uFF01
dataLog.status=\u72B6\u6001 specifiedBatch.status=\u72B6\u614B
dataLog.batch=\u6307\u5B9A\u6279\u6B21 inventory.find=\u30B5\u30FC\u30C1
dataLog.orderSource=\u6307\u4EE4\u6765\u6E90 runStatus.pcbWarehousing=PCB\u5165\u5EAB\u91CF
inventory.lockTitle=\u9501\u5B9A/\u5E93\u5B58 boxView.taskFinished=\u5B8C\u6210\u6E08\u307F
inventory.find=\u67E5\u627E 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.name=\u540D\u79F0
specifiedBatch.bottom=\u7248\u5E95 menu.kanban=KANBAN
specifiedBatch.top=\u7248\u9762 runStatus.alarmInfo=\u8B66\u544A\u60C5\u5831
specifiedBatch.task=\u4EFB\u52A1 maintenance.deviceName=\u8A2D\u5099\u540D\u79F0
specifiedBatch.status=\u72B6\u6001 menu.bigdata.errorLog=\u7570\u5E38\u5206\u6790
specifiedBatch.createDate=\u521B\u5EFA\u65E5\u671F barcode.expireDate=\u671F\u9593\u5207\u308C\u306E\u6642\u9593
specifiedBatch.startIn=\u5F00\u59CB\u5165\u5E93 errors.maxlength=\uFF5B0\uFF5D\u306F\uFF5B1\uFF5D\u306E\u6587\u5B57\u3088\u308A\u5927\u304D\u304F\u3057\u3066\u306F\u3044\u3051\u307E\u305B\u3093\u3002
specifiedBatch.addOutTasks=\u52A0\u5165\u51FA\u5E93\u5217\u8868 solder.type.lead=\u925B\u542B\u307F
specifiedBatch.stopIn=\u505C\u6B62\u5165\u5E93 inOutList.type.solder=\u534A\u7530\u30D9\u30B9\u30C8
inOutList.type.solderFixture=\u9521\u818F\u5939\u5177 user.address.postalCode=\u90F5\u4FBF\u756A\u53F7
inOutList.type.pcbFixture=PCB\u5939\u5177 btn.test=\u30C6\u30B9\u30C8
storagePosFind.outSelect=\u51FA\u5E93\u6240\u9009\u4ED3\u4F4D boxView.taskWaiting=\u5F85\u3064\u4E2D
storagePosFind.outInaction=\u5446\u6EDE\u6599\u51FA\u5E93 runStatus.stockOut=\u51FA\u5EAB\u91CF
storagePosFind.daysAgo=\u5929\u524D user.enabled=\u3067\u304D\u308B
storagePosFind.index=\u5E8F\u53F7 display.heading=\u30D5\u30A1\u30A4\u30EB\u60C5\u5831
storagePosFind.inFixture=\u6240\u5728\u5939\u5177 icon.email.img=/images/iconEmail.gif
inOutList.type.fixture=\u5939\u5177 specifiedBatch.top=\u753B\u9762
barcode.produceDate=\u751F\u4EA7\u65E5\u671F 404.title=\u30DA\u30FC\u30B8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
barcode.expireDate=\u8FC7\u671F\u65F6\u95F4 show.table=\u30D1\u30EC\u30C3\u30C8
barcode.inStoreRemainTime=\u5728\u5E93/\u5269\u4F59\u65F6\u95F4 storagePosFind.index=\u756A\u53F7
virtualStorage.taskList=\u4EFB\u52A1\u5217\u8868 alarmInfo.time=\u8B66\u544A\u6642\u9593
virtualStorage.positionList=\u4ED3\u4F4D\u5217\u8868 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 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 \ 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 #
#Mon Dec 21 14:52:30 CST 2020
user.status=\u5F53\u524D\u7528\u6237: checkoutSettings.mode.usedFirst=\u5C3E\u6599\u5148\u51FA
user.logout=\u9000\u51FA boxView.takeOutReel=\u53D6\u51FA\u6599\u76D8
allBoxView.noReel=\u65E0\u53EF\u7528\u7684\u7269\u6599
# -- validator errors -- settings.pcbEmail.everyday=\u6BCF\u65E5
errors.invalid={0} \u65E0\u6548\u3002 inOutList.outDate=\u51FA\u5E93\u65F6\u95F4
errors.maxlength={0} \u4E0D\u80FD\u5927\u4E8E {1} \u4E2A\u5B57\u7B26\u3002 userList.heading=\u5728\u7EBF\u7528\u6237
errors.minlength={0} \u4E0D\u80FD\u5C11\u4E8E {1} \u4E2A\u5B57\u7B26\u3002 menu.barCode.settings=\u6761\u7801\u8BBE\u7F6E
errors.range={0} \u672A\u5728 {1} \u4E0E {2} \u8303\u56F4\u5185\u3002 login.title=\u767B\u5F55
errors.required={0} \u4E3A\u5FC5\u586B\u9879\u3002 barcode.inStoreRemainTime=\u5728\u5E93/\u5269\u4F59\u65F6\u95F4
errors.byte={0} \u5FC5\u987B\u4E3Abyte\u7C7B\u578B\u3002 settings.pcbEmail=PCB\u8FC7\u671F\u90AE\u4EF6\u63D0\u9192
errors.date={0} \u4E0D\u662F\u6709\u6548\u65E5\u671F\u683C\u5F0F\u3002 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.double={0} \u5FC5\u987B\u4E3Adouble\u7C7B\u578B\u3002
errors.float={0} \u5FC5\u987B\u4E3Afloat\u7C7B\u578B\u3002 menu.system.settings=\u7CFB\u7EDF\u8BBE\u7F6E
errors.integer={0} \u5FC5\u987B\u4E3A\u4E00\u6570\u503C\u3002 areaView.stockWaring=\u5E93\u5B58\u9884\u8B66
errors.long={0} \u5FC5\u987B\u4E3Along\u7C7B\u578B\u3002 menu.bigdata.dataReport=\u6570\u636E\u62A5\u544A
errors.short={0} \u5FC5\u987B\u4E3Ashort\u7C7B\u578B\u3002 barCodeSettings.rule=\u6761\u7801\u89C4\u5219
errors.creditcard={0} \u4E3A\u65E0\u6548\u4FE1\u7528\u5361\u53F7\u3002 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
errors.email={0} \u4E3A\u65E0\u6548\u90AE\u4EF6\u5730\u5740\u3002 fixture.updateTitle=\u5939\u5177\u8BE6\u60C5
errors.phone={0} \u4E3A\u65E0\u6548\u7535\u8BDD\u53F7\u7801\u3002 settings.pcbEmail.reminderDay=\u5929\u524D\u63D0\u9192
errors.zip={0} \u4E3A\u65E0\u6548\u90AE\u653F\u7F16\u7801\u3002 menu.box.liteBox=SMD BOX LITE
# -- other errors --
errors.cancel=\u64CD\u4F5C\u88AB\u53D6\u6D88\u3002 errors.cancel=\u64CD\u4F5C\u88AB\u53D6\u6D88\u3002
errors.detail={0} menu.order.management=\u5DE5\u5355\u7BA1\u7406
errors.general=\u64CD\u4F5C\u672A\u5B8C\u6210\u3002\u8BE6\u7EC6\u539F\u56E0\u5982\u4E0B\u3002 userProfile.title=\u7528\u6237\u8BBE\u7F6E
errors.token=\u8BF7\u6C42\u672A\u5B8C\u5168\u5904\u7406\u3002\u64CD\u4F5C\u987A\u5E8F\u9519\u8BEF\u3002 inOutList.operate=\u64CD\u4F5C
errors.none=\u65E0\u9519\u8BEF\u6D88\u606F\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u5668\u65E5\u5FD7\u6587\u4EF6\u3002 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.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 activeUsers.title=\u6D3B\u52A8\u7528\u6237\u5217\u8868
errors.twofields={0} \u5B57\u6BB5\u4E0E {1} \u5B57\u6BB5\u7684\u503C\u5FC5\u987B\u4E00\u81F4\u3002 time.seconds=\u79D2
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 allBoxView.capacity=\u5BB9\u91CF
solder.type.noLead=\u65E0\u94C5
# -- success messages -- dataReport.solderStock.soonToExpire=\u5373\u5C06\u8FC7\u671F
user.added=\u7528\u6237 {0} \u7684\u4FE1\u606F\u6DFB\u52A0\u6210\u529F\u3002 maintenance.device.1_device_inoutAxis=\u8FDB\u51FA\u8F74
user.deleted=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5220\u9664\u6210\u529F\u3002 errors.float={0} \u5FC5\u987B\u4E3Afloat\u7C7B\u578B\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.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=E-Mail
icon.email.img=/images/iconEmail.gif inOutList.out=\u51FA\u5E93
icon.warning=\u8B66\u544A user.confirmPassword=\u786E\u8BA4\u5BC6\u7801
icon.warning.img=/images/iconWarning.gif dataLog.status=\u72B6\u6001
date.format=yyyy-MM-dd signup.heading=\u65B0\u7528\u6237\u6CE8\u518C
solder.type=\u9521\u818F\u7C7B\u578B
# -- role form -- 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 roleForm.name=\u540D\u79F0
menu.bigdata.dataLog=\u7269\u6599\u65E5\u5FD7
# -- user profile page -- runStatus.solderWarehousing=\u9521\u818F\u5165\u5E93\u91CF
userProfile.title=\u7528\u6237\u8BBE\u7F6E 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 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.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 storagePosFind.inFixture=\u6240\u5728\u5939\u5177
userProfile.showMore=\u67E5\u770B\u66F4\u591A\u4FE1\u606F allBoxView.temperature=\u6E29\u5EA6
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.address.address=\u5730\u5740
user.availableRoles=\u53EF\u7528\u89D2\u8272 allBoxView.msg.title=\u63D0\u793A
user.address.city=\u57CE\u5E02 settings.backup.versions=\u7248\u672C\u5217\u8868
user.address.country=\u56FD\u5BB6 checkoutSettings.mode.efficiency=\u6548\u7387\u4F18\u5148
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
user.passwordHint=\u5BC6\u7801\u63D0\u793A user.passwordHint=\u5BC6\u7801\u63D0\u793A
user.enabled=\u4F7F\u80FD boxView.startBatchIn=\u5F00\u59CB\u6279\u91CF\u5165\u5E93
user.accountExpired=\u5230\u671F user.address.province=\u5DDE\u7701
user.accountLocked=\u9501\u7740 dataLog.batch=\u6307\u5B9A\u6279\u6B21
user.credentialsExpired=\u5BC6\u7801\u5230\u671F\u4E86 checkoutSettings.mode.expireFirst=\u5148\u8FC7\u671F\u5148\u51FA
home.title=\u4E3B\u83DC\u5355
# -- user list page -- menu.outRule=\u51FA\u5E93\u7B56\u7565
userList.title=\u7528\u6237\u5217\u8868 virtualStorage.positionList=\u4ED3\u4F4D\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.heading=\u5728\u7EBF\u7528\u6237
activeUsers.message=\u5217\u8868\u4E3A\u5DF2\u6210\u529F\u767B\u5F55\u7684\u3001session\u4E3A\u8FC7\u671F\u7684\u7528\u6237\u3002 icon.information=\u4FE1\u606F
activeUsers.fullName=\u5168\u540D menu.box=\u4E91\u6599\u4ED3
dataReport.solderOverdue=\u9521\u818F\u8D85\u671F\u62A5\u5E9F\u6570\u91CF
# JSF-only messages, remove if not using JSF user.credentialsExpired=\u5BC6\u7801\u5DF2\u5230\u671F
javax.faces.component.UIInput.REQUIRED={0} \u4E3A\u5FC5\u586B\u9879\u3002 home.activeUsers=\u5728\u7EBF\u7528\u6237
activeUsers.summary=\u627E\u5230 {0} \u4E2A\u7528\u6237\uFF0C\u663E\u793A {1} \u4E2A\u7528\u6237\uFF0C\u4ECE {2} \u5230 {3}\u3002 {4} / {5} \u9875 inOutList.type.pcbFixture=PCB\u5939\u5177
fixture.type=\u5939\u5177\u7C7B\u578B
dataLog.orderSource=\u6307\u4EE4\u6765\u6E90
button.login=\u767B\u5F55 reload.succeeded=\u5DF2\u6210\u529F\u91CD\u8F7D\u3002
chart.solder.used=\u7269\u6599\u6D88\u8017 barcode.produceDate=\u751F\u4EA7\u65E5\u671F
chart.solder.stock=\u7269\u6599\u5E93\u5B58 upload.heading=\u4E0A\u4F20\u4E00\u6587\u4EF6
chart.temperature=\u6E29\u5EA6
chart.humidity=\u6E7F\u5EA6
areaView.stockWaring=\u5E93\u5B58\u9884\u8B66
areaView.batch=\u6279\u6B21
areaView.tasks=\u4EFB\u52A1 areaView.tasks=\u4EFB\u52A1
menu.findout=\u67E5\u627E\u51FA\u5E93 settings.api.outNotifaction=\u51FA\u5E93\u901A\u77E5
menu.inRule=\u5165\u5E93\u7B56\u7565 activeUsers.message=\u5217\u8868\u4E3A\u767B\u5F55\u6210\u529F\u4E14session\u4E3A\u8FC7\u671F\u7684\u7528\u6237\u3002
menu.outRule=\u51FA\u5E93\u7B56\u7565 menu.admin.reload=\u91CD\u8F7D\u9009\u9879
menu.system.settings=\u7CFB\u7EDF\u8BBE\u7F6E solder.model=\u578B\u53F7
menu.system=\u7CFB\u7EDF activeUsers.fullName=\u5168\u79F0
menu.bigdata=\u5927\u6570\u636E 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.runStatus=\u8FD0\u884C\u7EDF\u8BA1
menu.bigdata.inOutList=\u51FA\u5165\u5E93\u8BB0\u5F55 pcb.updateTitle=PCB\u8BE6\u60C5
menu.bigdata.dataReport=\u6570\u636E\u62A5\u544A solder.storageTime=\u5F00\u5C01\u540E\u53EF\u4EE5\u4FDD\u5B58\u7684\u65F6\u95F4
menu.bigdata.dataLog=\u7269\u6599\u65E5\u5FD7 userProfile.showMore=\u67E5\u770B\u66F4\u591A\u4FE1\u606F
menu.bigdata.errorLog=\u5F02\u5E38\u5206\u6790 runStatus.throughput=\u541E\u5410\u91CF
menu.barCode.settings=\u6761\u7801\u8BBE\u7F6E solder.encapsulation.tube=\u7BA1\u88C5
menu.box=\u4E91\u6599\u4ED3 pcb.validPeriod=\u6709\u6548\u671F
menu.box.manage=\u6599\u4ED3\u7BA1\u7406 icon.warning=\u8B66\u544A
menu.box.virtualStorage=\u865A\u62DF\u4ED3 display.title=\u6587\u4EF6\u4E0A\u4F20\u6210\u529F\uFF01
menu.box.liteBox=SMD BOX LITE label.username=\u7528\u6237\u540D
menu.box.boxi=SMD BOXi allBoxView.findAndOut=\u67E5\u627E\u51FA\u5E93
menu.cloud.inventory=\u5E93\u5B58\u6C47\u603B userList.title=\u7528\u6237\u5217\u8868
menu.cloud.numModify=\u6570\u91CF\u6821\u51C6 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=\u8F7B\u5DE5\u5355
menu.order.management=\u5DE5\u5355\u7BA1\u7406 login.passwordHint.sent={0} \u7684\u5BC6\u7801\u63D0\u793A\u5DF2\u6210\u529F\u53D1\u9001\u5230 {1}\u3002
menu.product=\u4EA7\u54C1\u4FE1\u606F specifiedBatch.startIn=\u5F00\u59CB\u5165\u5E93
menu.product.component=\u5143\u5668\u4EF6\u4FE1\u606F settings.pcbEmail.expire=PCB\u8FC7\u671F
menu.product.solder=\u9521\u818F\u4FE1\u606F 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.pcb=PCB \u4FE1\u606F
menu.product.others=\u5176\u4ED6\u7269\u6599\u4FE1\u606F runStatus.solderOutgoing=\u9521\u818F\u51FA\u5E93\u91CF
menu.product.fixture=\u5939\u5177\u4FE1\u606F solder.encapsulation.can=\u7F50\u88C5
menu.kanban=KANBAN javax.faces.component.UIInput.REQUIRED={0} \u4E3A\u5FC5\u586B\u9879\u3002
allBoxView.kanban=\u770B\u677F errors.creditcard={0} \u4E3A\u65E0\u6548\u4FE1\u7528\u5361\u53F7\u3002
allBoxView.temperature=\u6E29\u5EA6 inOutList.type.component=\u5143\u5668\u4EF6
allBoxView.humidity=\u6E7F\u5EA6 solder.storeNum=\u5B58\u50A8\u91CF
allBoxView.boxStatus=\u6599\u4ED3\u72B6\u6001 menu.inRule=\u5165\u5E93\u7B56\u7565
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? 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=\u51FA\u5E93\u65B9\u5F0F
checkoutSettings.mode.expireFirst=\u5148\u8FC7\u671F\u5148\u51FA allBoxView.boxStatus=\u6599\u4ED3\u72B6\u6001
checkoutSettings.mode.usedFirst=\u5C3E\u6599\u5148\u51FA inOutList.outOper=\u51FA\u5E93\u5458
checkoutSettings.mode.fifo=\u5148\u8FDB\u5148\u51FA errorPage.heading=\u54E6\uFF01
checkoutSettings.mode.efficiency=\u6548\u7387\u4F18\u5148 user.updated.byAdmin=\u7528\u6237 {0} \u7684\u4FE1\u606F\u5DF2\u6210\u529F\u66F4\u65B0\u3002
boxView.range=\u8303\u56F4 checkout.sucess=\u52A0\u5165\u51FA\u5E93\u4EFB\u52A1\u5217\u8868\u6210\u529F
boxView.openDoor=\u6253\u5F00\u95E8\u9501 userProfile.assignRoles=\u5206\u914D\u89D2\u8272
boxView.closeDoor=\u5173\u95ED\u95E8\u9501 alarmInfo.detail=\u62A5\u8B66\u8BE6\u60C5
boxView.startBatchIn=\u5F00\u59CB\u6279\u91CF\u5165\u5E93 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
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.maxStorageTime=\u5BA4\u6E29\u6700\u591A\u5B58\u50A8\u65F6\u95F4
menu.box.manage=\u6599\u4ED3\u7BA1\u7406
solder.hour=\u5C0F\u65F6 solder.hour=\u5C0F\u65F6
solder.warmTime=\u56DE\u6E29\u65F6\u95F4 chart.humidity=\u6E7F\u5EA6
solder.maxStoreNum=\u6700\u5927\u5B58\u50A8\u91CF virtualStorage.taskList=\u4EFB\u52A1\u5217\u8868
solder.storageTime=\u5F00\u5C01\u540E\u53EF\u4EE5\u4FDD\u5B58\u65F6\u95F4 button.login=\u767B\u5F55
solder.minStoreNum=\u6700\u5C0F\u5B58\u50A8\u91CF errors.range={0} \u672A\u5728 {1} \u4E0E {2} \u8303\u56F4\u5185\u3002
solder.storeNum=\u5B58\u50A8\u91CF errors.email={0} \u4E3A\u65E0\u6548\u90AE\u4EF6\u5730\u5740\u3002
pcb.validPeriod=\u6709\u6548\u671F 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
pcb.fixtureNumber=\u5939\u5177\u7F16\u53F7 activeUsers.summary=\u627E\u5230 {0} \u4E2A\u7528\u6237\uFF0C\u663E\u793A {1} \u4E2A\u7528\u6237\uFF0C\u4ECE {2} \u5230 {3}\u3002 {4} / {5} \u9875
pcb.family=Family allBoxView.lastPage=\u4E0A\u4E00\u9875
solder.updateTitle=\u9521\u818F\u8BE6\u60C5 specifiedBatch.createDate=\u521B\u5EFA\u65E5\u671F
pcb.updateTitle=PCB\u8BE6\u60C5 boxView.taskCancel=\u5DF2\u53D6\u6D88
otherComponent.updateTitle=\u5176\u4ED6\u7269\u6599\u8BE6\u60C5 boxView.cancelTask=\u53D6\u6D88
fixture.updateTitle=\u5939\u5177\u8BE6\u60C5 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 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 runStatus.times=\u6B21
select.all=\u6240\u6709 button.backup=\u5907\u4EFD
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.type.others=\u5176\u4ED6
inOutList.time=\u65F6\u95F4 dataReport.solderStock=\u9521\u818F\u5B9E\u65F6\u5E93\u5B58
inOutList.inOper=\u5165\u5E93\u4EBA checkoutSettings.mode.produceDate=\u751F\u4EA7\u65E5\u671F\u4F18\u5148
inOutList.outOper=\u51FA\u5E93\u4EBA allBoxView.used=\u5DF2\u4F7F\u7528
inOutList.inDate=\u5165\u5E93\u65F6\u95F4 user.address.country=\u56FD\u5BB6
inOutList.outDate=\u51FA\u5E93\u65F6\u95F4 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
alarmInfo.position=\u4F4D\u7F6E menu.cloud.inventory=\u5E93\u5B58\u6C47\u603B
alarmInfo.detail=\u62A5\u8B66\u8BE6\u60C5 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.type=\u62A5\u8B66\u7C7B\u578B
alarmInfo.time=\u62A5\u8B66\u65F6\u95F4 chart.solder.used=\u7269\u6599\u6D88\u8017
alarmInfo.endTime=\u89E3\u9664\u65F6\u95F4 date.format=yyyy-MM-dd
dataLog.status=\u72B6\u6001 menu.product.solder=\u9521\u818F\u4FE1\u606F
dataLog.batch=\u6307\u5B9A\u6279\u6B21 btn.view=\u67E5\u770B
dataLog.orderSource=\u6307\u4EE4\u6765\u6E90 time.minutes=\u5206\u949F
areaView.batch=\u6279\u6B21
settings.restore.success=\u64CD\u4F5C\u6210\u529F
inventory.lockTitle=\u9501\u5B9A/\u5E93\u5B58 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 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.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.top=\u7248\u9762
specifiedBatch.task=\u4EFB\u52A1 404.title=\u9875\u9762\u672A\u627E\u5230
specifiedBatch.status=\u72B6\u6001 show.table=\u5E73\u677F
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.index=\u5E8F\u53F7
storagePosFind.inFixture=\u6240\u5728\u5939\u5177 alarmInfo.time=\u62A5\u8B66\u65F6\u95F4
inOutList.type.fixture=\u5939\u5177 settings.backupPath=\u5907\u4EFD\u8DEF\u5F84
barcode.produceDate=\u751F\u4EA7\u65E5\u671F icon.information.img=/images/iconInformation.gif
barcode.expireDate=\u8FC7\u671F\u65F6\u95F4 solder.minStoreNum=\u6700\u5C0F\u5B58\u50A8\u91CF
barcode.inStoreRemainTime=\u5728\u5E93/\u5269\u4F59\u65F6\u95F4 maintenance.nextTime=\u4E0B\u6B21\u7EF4\u62A4\u65F6\u95F4
virtualStorage.taskList=\u4EFB\u52A1\u5217\u8868 userList.nousers=<span>\u672A\u627E\u5230\u7528\u6237\u3002</span>
virtualStorage.positionList=\u4ED3\u4F4D\u5217\u8868 uploadForm.name=\u91CD\u547D\u540D\u6587\u4EF6
virtualStorage.position=\u4F4D\u7F6E checkoutSettings.mode.fifo=\u5148\u8FDB\u5148\u51FA
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.warming=\u6B63\u5728\u56DE\u6E29
dataReport.solderStock.soonToExpire=\u5373\u5C06\u8FC7\u671F errors.short={0} \u5FC5\u987B\u4E3Ashort\u7C7B\u578B\u3002
dataReport.solderStock.invalid=\u5931\u6548 pcb.fixtureNumber=\u5939\u5177\u7F16\u53F7
dataReport.overduePcb=\u8FC7\u671FPCB menu.findout=\u67E5\u627E\u51FA\u5E93
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.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 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_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 \ 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 ...@@ -93,6 +93,7 @@ barcode.amount=Qty
barcode.plateSize=Diameter barcode.plateSize=Diameter
barcode.height=Height barcode.height=Height
barcode.provider=Supplier barcode.provider=Supplier
barcode.supplierPn=Supplier PN
barcode.batch=Batch barcode.batch=Batch
barcode.expireDate=Expiration Date barcode.expireDate=Expiration Date
barcode.saveSuccess=Barcode Saved barcode.saveSuccess=Barcode Saved
...@@ -339,8 +340,8 @@ batch.btn.singleOut=Single Out ...@@ -339,8 +340,8 @@ batch.btn.singleOut=Single Out
batch.btn.batchOut=Batch Out batch.btn.batchOut=Batch Out
batch.btn.singleIn=Single In batch.btn.singleIn=Single In
batch.btn.closeDoor=Close Door batch.btn.closeDoor=Close Door
alarm.inaction.title=Inaction Alarm alarm.inaction.title=Sluggish Material Alarm
alarm.inaction.msg=The amount of inaction material {0} days ago was [{1}] 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.title=Expire Alarm
alarm.expire.msg=The amount of expire material is [{0}] alarm.expire.msg=The amount of expire material is [{0}]
...@@ -365,9 +366,10 @@ shelf.msg.hasReel=There position [{0}] already has material ...@@ -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.tipScanReel=Please scan the material to put in [{0}]
shelf.msg.fastop=Barcode operate is too fast shelf.msg.fastop=Barcode operate is too fast
shelf.msg.scanPos=Please scan the position code 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.hasTask=Location [{0}] already has an existing task, please scan a new location code.
shelf.nextPos.hasReel=Next Position [{0}] already has material, please scan a new position code. shelf.nextPos.hasReel=A material is already in the location [{0}], please scan a new location code.
shelf.nextPos.wrongSize=Next Position [{0}] size [{1}] is different from material size [{2}] please scan a new position 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.set=set of materials
order.out.surplus=surplus material order.out.surplus=surplus material
...@@ -423,6 +425,7 @@ error.barcode.noRule=There is no rule of the barcode is setted. ...@@ -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.wrongLength=The code string [{0}] has wrong length.
error.barcode.noField=There is no {0} field in the code string. error.barcode.noField=There is no {0} field in the code string.
error.barcode.wrongPn=The partnumber is wrong 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.pnNotExist=x Component {0} does not exist
error.barcode.errorSize=x The reel has no size. error.barcode.errorSize=x The reel has no size.
error.storage.noPosFind=No availble position is found. error.storage.noPosFind=No availble position is found.
...@@ -440,4 +443,7 @@ solder.status.3=Waiting to stir ...@@ -440,4 +443,7 @@ solder.status.3=Waiting to stir
solder.status.4=Strring solder.status.4=Strring
solder.status.5=Waiting shipment solder.status.5=Waiting shipment
solder.status.6=Outting solder.status.6=Outting
solder.status.7=Retreat storage
\ No newline at end of file \ 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 \ No newline at end of file
menu.home=HOME #
menu.workOrder=Lite Work Order #Mon Dec 21 13:44:29 CST 2020
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
menu.user=User Management 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.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 top.menu.logout=Log Out
cabinet.error.noPos=Storage location does not exist
home.kanban=KANBAN storage.virtual.pnlimit=Specified Partnumber
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
storage.type.virtual=Virtual Material Management storage.type.virtual=Virtual Material Management
storage.type.online=Inline System dataLog.item.name=Material Storage&Retrieval Log
storage.type.batch=Batch barcode.error.notExist={0} does not exist
storage.type.shelf=Shelf button.delete=Delete
storage.type.cabinet=Cabinet button.addto.checkout=Add to Retrieval List
storage.compatibility=Compatibility workOrder.list=Work Order List
storage.enable=Enable chart.showType.MONTH=Month
storage.enable.yes=Yes home.chart.storage=Storage Efficiency
storage.enable.no=No barcode.error.partNumber.empty=No component is tied to {0}, please check the data.
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
storage.match.sizeCompatible=Same Size Compatible storage.match.sizeCompatible=Same Size Compatible
storage.name=Name op.status.none=
storage.cid=Operation Terminal No. storage.status=Status
storage.boxCount=SMD BOX used component.update.subtitle=Component Info
storage.slotList=Location List 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.name=Location No.
storagePos.priority=Priority barcode.error.inStorage={0} is in the storage
storagePos.width=Width batch.btn.singleIn=Start Single Storage
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
button.upload=Upload button.upload=Upload
button.view=View button.save=Save
button.reset=Reset barcode.error.empty=Barcode is empty, please check whether the barcode data is correct.
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
authority.barcode.manage=Barcode Management authority.barcode.manage=Barcode Management
authority.storage.manage=Storage Management storage.search.subtitle=Storage Search
authority.role.manage=Role Management storage.area=Area
authority.user.manage=User Management component.unit=Unit
authority.stockOut=Material Receiving /Retrieval alarm.temperature.msg=Temperature\: {0} is out of range [{1}-{2}]
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
role.update.authorities=Authority role.update.authorities=Authority
required.role.authorities=Select one authority at least home.chart.component.overview=Overview
component.partNumber.exist=Part Number already exists\!
user.item.name=User error.storage.noStorage=No storage location is available.
user.search.subtitle=User Search barcode.lastDate=Storage Date
user.search.param=Key Words Searcg workOrder.error.emptyBom=No BOM is tied to the selected Work Order
user.update.subtitle=User Detail menu.help=Help
user.username=Username alarm.expire.title=Expiration Alarm
required.role.authorities=Select at least one authority
component.name=Name
home.kanban=KANBAN
user.initPwd=Initial Password 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.firstName=First Name
user.lastName=Last Name menu.cloud.checkOut=Material Search
user.fullName=Full Name 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 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.language=Language
user.email=Email file.title=Please upload the file
user.authCode=Auth Code batch.btn.closeDoor=Close Single Door
user.writeCard=Write Card 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 user.profile.edit=Profile Edit
profile.password.subtitle=Password Change storage.enable=Enable
storage.error.unique=Box name already exists, please rename it.
updatePassword.currentPassword.label = Current Password storagePos.layer=Layer
updatePassword.newPassword.label = New Password authority.stockOut=Material Storage&Retrieval
updatePassword.invalidPassword = Password provided is incorrect storage.enable.prohibit=Disable
updatePassword.success =Password Updated Successfully component.amount=Qty
updatePassword.changePasswordButton = Change Password plate.size.customer=Customized size
updatePassword.changePasswordLink = Change Password storage.type.batch=Batch
dataLog.operator=Operator
menu.area.search=Area storage.posSize=Location Size
area.search.subtitle=Area List 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.name=Area Name
area.storages=Storages shelf.msg.noTask=Failure\: the material is in location [{0}], but no retrieval task for it.
area.putInEndTime=Material Receiving Time Limit
area.view.subtitle=Area View 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.type=Type
dataLog.date=Date shelf.nextPos.wrongSize=x The size [{1}] of location [{0}] does not match the material size [{2}], please scan a new location code.
dataLog.item.name=Material Receiving/Retrieval Logging workOrder.error.amount=Work Order Qty must be greater than 0
dataLog.checkout={0}[Qty:{1}] retrieval from [{2}]. component.error.notExist=Component {0} does not exist
dataLog.putIn={0}[Qty:{1}] reveived by [{2}] boxChart.pcbIn=PCB Storage
dataLog.list=logging dataLog.putIn={0}[Qty\:{1}] stored in [{2}]
dataLog.operator=Operator component.list=Component List
barcode.error.amount.negative=The quantity of component tied to {0} need be greater than 0
cabinet.card=Secure Access button.search=Search
cabinet.exit=Log out error.barcode.wrongLength=The length of the code string [{0}] is wrong.
cabinet.pos=Current Pos storagePos.height=Height
cabinet.in=\ Put In settings.remind.deadday=days sluggish materials alarm
cabinet.out=Check Out component.partNumber.empty=Part Number is required
cabinet.error.validOp=Can not open the door authority.component.manage=Component Management
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.btn.closeAll=Close All Lights shelf.btn.closeAll=Close All Lights
shelf.btn.posCheck=Database Check barcode.update.subtitle=Barcode Info
shelf.size.title=Select the material size menu.workOrder.search=Work Order Search
shelf.msg.opSucess=Operation complete barcode.memo=Memo
shelf.msg.notFound=Shelf is not found. barcode.deleteSuccess=Barcode Deleted
shelf.msg.outOk=Please take out the material from the location [{0}] solderBox.btn.openDoor=Open Door
shelf.msg.outError=No material is found. component.encapsulation=Package
shelf.msg.inOk=Please put the material in the location [{0}] workOrder.supplementaryExecute=Material replenishment in progress
shelf.msg.inError=No suitable location for [{0}] is found. menu.home=HOME
shelf.msg.outConfirm=Delivery confirmation from [{0}] succeeded. order.close=Close
shelf.msg.noTask=Failed\: the material is in [{0}], but no task for it. updatePassword.changePasswordButton=Change Password
component.generateBarcode=Generate Barcode workOrder.saveSuccess=Work Order Saved
order.out.surplus=surplus material boxChart.pcbOut=PCB retrieval
order.out.set=set of materials role.update.name=Role Name
order.inventory=inventory storage.item.name=Box
export.csv=Export to CSV authority.role.manage=Role Management
workOrder.date=Date component.msl=MSL Level
workOrder.waitOut=waiting for execution component.productionType=Part Number
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.
error.pos.hasReel=There is already one reel in the location [{0}]. error.pos.hasReel=There is already one reel in the location [{0}].
error.pos.wrong=The location [{0}] does not match the storage [{1}] menu.component.bom=BOM Management
error.pos.sizeNotMatch=The size[{0}] is not matching the size [{2}]of the location {1} menu.barCode.search=Barcode Search
error.barcode.invalid=The barcode [{0}] is invalid. 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.expired=The reel is expired.
error.barcode.wrongQty=The quantity [{1}] of the reel[{0}] is invalid. shelf.size.title=Select material size
error.barcode.inStorage=The reel [{0}] is already in the location [{2}] of the stroage [1] storage.status.19=Waiting to stir
error.barcode.noRule=There is no rule of the barcode is setted. storage.status.18=Fetching for stir
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
solderBox.task.outTime=Estimated shipping time 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.14=Fetching for rewarm
storage.status.15=rewarm fetch finished storage.status.13=System resetting
storage.status.16=putting for rewarm storage.type.cabinet=Cabinet
storage.status.17=rewarm put finished storage.status.12=Material transfering
storage.status.18=Fetching for stir order.out.notFound=The order infomation was not found
storage.status.19=Waiting to stir storage.status.11=Material Retrieval End
storage.status.20=stirring workOrder.workOrder=Work Order
storage.status.21=Backing to position after stirring storage.status.10=Materail Retrieval completed
storage.status.22=finish stirring component.providerNumber=Supplier No.
solder.status.1=Refrigerated storage.match.exactMatch=Exact Match
solder.status.2=Rewarming menu.workOrder=Lite Work Order
solder.status.3=Waiting to stir boxChart.noCode=Barcode scan failed
solder.status.4=Strring barcode.plateSize=Diameter
solder.status.5=Waiting shipment barcode.error.notFound=Barcode is not found.
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.type.smdVl=SMD-VL 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 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 #Fri Dec 11 15:10:55 CST 2020
menu.workOrder.search=\u5DE5\u5355\u67E5\u8BE2 menu.user=\u6A29\u9650\u7BA1\u7406
menu.workOrder.new=\u65B0\u5EFA\u5DE5\u5355 storage.clearAllPos=\u30B9\u30C8\u30EC\u30FC\u30B8\u3092\u30AF\u30EA\u30A2
menu.component=\u4EA7\u54C1\u7BA1\u7406 shelf.msg.notFound=\u30E9\u30C3\u30AF\u304C\u898B\u3064\u304B\u3089\u306A\u3044
menu.component.bom=BOM\u7BA1\u7406 button.checkout=\u51FA\u5EAB
menu.component.search=\u6599\u4EF6\u6863\u6848\u7BA1\u7406 op.status.pause=\u4E00\u6642\u505C\u6B62
menu.component.inventory=\u5E93\u5B58\u7BA1\u7406 barcode.provider=\u30B5\u30D7\u30E9\u30A4\u30E4\u30FC
menu.cloud=\u7269\u6599\u4E91 cabinet.error.validOp=\u64CD\u4F5C\u5931\u8D25\uFF1A\u65E0\u6CD5\u5F00\u95E8
menu.cloud.storage=\u4E91\u4ED3\u5E93 workOrder.deleteSuccess=\u30AA\u30FC\u30C0\u30FC\u524A\u9664\u6210\u529F
menu.cloud.checkOut=\u6599\u4EF6\u67E5\u627E\u51FA\u5E93 updatePassword.newPassword.label=\u65B0\u30D1\u30B9\u30EF\u30FC\u30C9
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
workOrder.amount=\u6570\u91CF workOrder.amount=\u6570\u91CF
workOrder.error.amount=\u5DE5\u5355\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0 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
checkOut.componentName=\u6599\u4EF6\u540D\u79F0 profile.password.subtitle=\u30D1\u30B9\u30EF\u30FC\u30C9\u4FEE\u6B63
checkOut.pos=\u4ED3\u4F4D barcode.saveSuccess=\u30D0\u30FC\u30B3\u30FC\u30C9\u60C5\u5831\u4FDD\u5B58\u6210\u529F
checkOut.operate=\u64CD\u4F5C error.barcode.pnNotExist=x\u30D5\u30A1\u30A4\u30EB {0} \u306A\u3057
alarm.inaction.title=\u30C7\u30C3\u30C9\u30B9\u30C8\u30C3\u30AF\u63D0\u793A
component.search.subtitle=\u6599\u4EF6\u5217\u8868 dataLog.search.subtitle=\u5165\u51FA\u5EAB\u30ED\u30B0
component.list=\u6599\u4EF6\u5217\u8868 boxChart.confirm=\u5165\u5EAB\u78BA\u8A8D
component.update.subtitle=\u6599\u4EF6\u8BE6\u60C5 shelf.msg.outOk=\u64CD\u4F5C\u6210\u529F\u3001[{0}\u304B\u3089\u6750\u6599\u3092\u53D6\u308A\u51FA\u3057\u3066\u304F\u3060\u3055\u3044
component.item.name=\u6599\u4EF6 menu.component.search=\u6750\u6599\u30D5\u30A1\u30A4\u30EB\u7BA1\u7406
component.name=\u6599\u4EF6\u540D\u79F0 area.item.name=\u30A8\u30EA\u30A2
component.partNumber=\u6599\u4EF6\u7F16\u53F7 alarm.store.title=\u5728\u5EAB\u8B66\u544A
component.plateSize=\u6599\u76D8\u5C3A\u5BF8 menu.user.role=\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC\u7BA1\u7406
component.height=\u6599\u76D8\u9AD8\u5EA6 top.menu.logout=\u53D6\u308A\u6D88\u3057
component.amount=\u5C01\u88C5\u6570\u91CF cabinet.error.noPos=\u30B9\u30C8\u30EC\u30FC\u30B8\u304C\u306A\u3057
component.encapsulation=\u5C01\u88C5 storage.virtual.pnlimit=\u6750\u6599\u6307\u5B9A
component.unit=\u5355\u4F4D storage.type.virtual=\u30D0\u30FC\u30C1\u30E3\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8
component.unitCost=\u5355\u8017 dataLog.item.name=\u5165\u51FA\u5EAB\u30ED\u30B0
component.provider=\u4F9B\u5E94\u5546 barcode.error.notExist=\u30D0\u30FC\u30B3\u30FC\u30C9{0}\u304C\u5B58\u5728\u306A\u3044
component.providerNumber=\u4F9B\u5E94\u5546\u7F16\u53F7 button.delete=\u524A\u9664
component.producer=\u5382\u5546 button.addto.checkout=\u51FA\u5EAB\u30EA\u30B9\u30C8\u306B\u8FFD\u52A0
component.producerNumber=\u5382\u5546\u7F16\u53F7 workOrder.list=\u30AA\u30FC\u30C0\u30FC\u30EA\u30B9\u30C8
component.msl=MSL \u7B49\u7EA7 chart.showType.MONTH=\u6708\u9593
component.productionType=\u5143\u5668\u4EF6\u578B\u53F7 home.chart.storage=\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u5229\u7528\u7387
component.description=\u6599\u4EF6\u63CF\u8FF0 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
component.partNumber.exist=\u6599\u4EF6\u7F16\u53F7\u5DF2\u5B58\u5728 storage.match.sizeCompatible=\u540C\u30B5\u30A4\u30BA\u304C\u9069\u5FDC
component.pic=\u56FE\u7247 op.status.none=
component.saveSuccess=\u6599\u4EF6\u4FDD\u5B58\u6210\u529F storage.status=\u72B6\u614B
component.deleteSuccess=\u6599\u4EF6\u5220\u9664\u6210\u529F component.update.subtitle=\u6750\u6599\u8A73\u7D30
component.name.empty=\u6599\u4EF6\u540D\u4E0D\u80FD\u4E3A\u7A7A component.description=\u6750\u6599\u8AAC\u660E
component.partNumber.empty=\u6599\u4EF6\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A component.plateSize=\u30EA\u30FC\u30EB\u30B5\u30A4\u30BA
component.error.bomUsed=\u6599\u4EF6\u5DF2\u88ABBOM\u4F7F\u7528\uFF0C\u65E0\u6CD5\u5220\u9664 storage.virtual.numEmpty=\u30EA\u30FC\u30EB\u6570\u91CF\u306F\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
component.error.notExist=\u6599\u4EF6{0}\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E\u3002 error.barcode.wrongSize=\u30EA\u30FC\u30EB\u30B5\u30A4\u30BA[{0}]\u4E0D\u9069\u5207
component.error.notFound=\u65E0\u6CD5\u627E\u5230\u6B64\u6599\u4EF6 area.putInEndTime=\u5165\u5EAB\u7DE0\u5207\u6642\u9593
component.smdAlarmValue=SMD\u9884\u8B66\u503C component.deleteSuccess=\u6750\u6599\u524A\u9664\u306B\u6210\u529F
storagePos.name=\u30B9\u30C8\u30EC\u30FC\u30B8\u756A\u53F7
barcode.search.subtitle=\u6761\u7801\u67E5\u627E barcode.error.inStorage=\u30D0\u30FC\u30B3\u30FC\u30C9\uFF5B0}\u3082\u3046\u5B58\u5728
barcode.item.name=\u6761\u7801 batch.btn.singleIn=\u30B7\u30F3\u30B0\u30EB\u5165\u5EAB\u958B\u59CB
barcode.print=\u6253\u5370 button.upload=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
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 button.save=\u4FDD\u5B58
button.upload=\u4E0A\u4F20 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
button.view=\u67E5\u770B authority.barcode.manage=\u30D0\u30FC\u30B3\u30FC\u30C9\u7BA1\u7406
button.reset=\u91CD\u7F6E storage.search.subtitle=\u30B9\u30C8\u30EC\u30FC\u30B8\u30B5\u30FC\u30C1
button.search=\u67E5\u8BE2 storage.area=\u30A8\u30EA\u30A2
button.cancel=\u53D6\u6D88 component.unit=\u5358\u4F4D
button.putin=\u5165\u5E93 alarm.temperature.msg=\u6E29\u5EA6\: {0} \u7BC4\u56F2\u30AA\u30FC\u30D0\u30FC[{1}-{2}]
button.checkout=\u51FA\u5E93 role.update.authorities=\u6A29\u9650
button.uploadFile=\u4E0A\u4F20\u6570\u636E\u6587\u4EF6 home.chart.component.overview=\u6897\u6982
button.end=\u7ED3\u675F 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
file.title=\u8BF7\u4E0A\u4F20\u6570\u636E\u6587\u4EF6 barcode.lastDate=\u5165\u5EAB\u6642\u9593
menu.help=\u30D8\u30EB\u30D7
authority.component.manage=\u6599\u4EF6\u7BA1\u7406 alarm.expire.title=\u671F\u9593\u5207\u308C\u63D0\u793A
authority.bom.manage= BOM \u7BA1\u7406 required.role.authorities=\u5C11\u306A\u304F\u3068\u3082\u4E00\u3064\u306E\u6A29\u9650\u3092\u9078\u629E
authority.workorder.manage=\u5DE5\u5355\u7BA1\u7406 component.name=\u6750\u6599\u540D\u79F0
authority.barcode.manage=\u6761\u7801\u7BA1\u7406 home.kanban=\u770B\u677F
authority.storage.manage=\u6599\u4ED3\u7BA1\u7406 user.initPwd=\u521D\u671F\u30D1\u30B9\u30EF\u30FC\u30C9
authority.role.manage=\u89D2\u8272\u7BA1\u7406 storage.virtual.pnEmpty=\u6307\u5B9A\u6750\u6599\u30CA\u30F3\u30D0\u30FC\u306F\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
authority.user.manage=\u7528\u6237\u7BA1\u7406 storage.name=\u540D\u79F0
authority.stockOut=\u51FA\u5165\u5E93 error.barcode.wrongPn=PartNumber\u4E0D\u4E00\u81F4
authority.feeder=\u5DE5\u5355\u7BA1\u7406 dataLog.list=\u30ED\u30B0\u30EA\u30B9\u30C8
authority.specifiedBatch=\u6307\u5B9A\u6279\u6B21\u7BA1\u7406 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
authority.virtual=\u865A\u62DF\u4ED3\u7BA1\u7406 menu.boxManager=\u30B9\u30C8\u30EC\u30FC\u30B8\u7BA1\u7406
authority.feeder.view=\u5DE5\u5355\u67E5\u770B 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
authority.valuable.out=\u8D35\u91CD\u7269\u6599\u51FA\u5E93 user.cabinetAssign=\u68DA\u914D\u5206
authority.dataLog=\u8FD0\u884C\u6570\u636E 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
error.save=\u4FDD\u5B58\u51FA\u9519,\u8BF7\u68C0\u67E5 settings.remind.title=\u63D0\u793A\u8A2D\u7F6E
order.out.set=\u30BB\u30C3\u30C8\u6750\u6599\u51FA\u5EAB
role.search.subtitle=\u89D2\u8272\u5217\u8868 error.barcode.many=\u8907\u6570\u306E\u6709\u52B9\u30D0\u30FC\u30B3\u30FC\u30C9\u304C\u898B\u3064\u304B\u3063\u305F
role.update.subtitle=\u89D2\u8272\u8BE6\u60C5 error.storage.noPosFind=\u5229\u7528\u53EF\u80FD\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u304C\u898B\u3064\u304B\u3089\u306A\u3044
role.update.name=\u89D2\u8272\u540D\u79F0 solderBox.btn.closeDoor=\u30C9\u30A2\u30AF\u30ED\u30FC\u30BA
role.update.description=\u63CF\u8FF0 storage.enable.yes=\u306F\u3044
role.update.authorities=\u6743\u9650 user.firstName=\u540D\u524D
required.role.authorities=\u81F3\u5C11\u9009\u62E9\u4E00\u4E2A\u6743\u9650 menu.cloud.checkOut=\u6750\u6599\u30B5\u30FC\u30C1\u51FA\u5EAB
component.plate.size=\u30EA\u30FC\u30EB\u30B5\u30A4\u30BA
user.item.name=\u7528\u6237 storage.saveSuccess=\u30B9\u30C8\u30EC\u30FC\u30B8\u60C5\u5831\u306E\u4FDD\u5B58\u304C\u6210\u529F
user.search.subtitle=\u67E5\u627E\u7528\u6237 barcode.height=\u30EA\u30FC\u30EB\u9AD8\u5EA6
user.search.param=\u67E5\u627E\u5173\u952E\u5B57 chart.showType.DAY=\u65E5
user.update.subtitle=\u7528\u6237\u8BE6\u60C5 dataLog.partNumber=\u6750\u6599\u30CA\u30F3\u30D0\u30FC
user.username=\u7528\u6237\u540D order.close.notExist=\u30AA\u30FC\u30C0\u30FC\u304C\u898B\u3064\u304B\u3089\u306A\u3044[{0}]
user.initPwd=\u521D\u59CB\u5BC6\u7801 component.generateBarcode=\u30D0\u30FC\u30B3\u30FC\u30C9\u4F5C\u6210
user.password=\u5BC6\u7801 storage.match.fullyCompatible=\u5B8C\u5168\u9069\u5FDC
user.firstName=\u540D 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.lastName=\u59D3
user.fullName=\u59D3\u540D button.add=\u8FFD\u52A0
user.role=\u89D2\u8272 storage.name.empty=\u30B9\u30C8\u30EC\u30FC\u30B8\u540D\u524D\u306F\u7A7A\u306B\u3044\u3051\u306A\u3044
user.language=\u8BED\u8A00 role.update.description=\u8AAC\u660E
user.email=\u90AE\u7BB1 workOrder.checkoutSuccess=\u30AA\u30FC\u30C0\u30FC\u51FA\u5EAB\u6210\u529F
user.authCode=\u6388\u6743\u7801 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
user.writeCard=\u5199\u5165\u5361\u7247 barcode.batch=\u30D0\u30C3\u30C1
user.profile.edit=\u8D44\u6599\u7F16\u8F91 option.none=----\u9078\u3093\u3067\u304F\u3060\u3055\u3044----
profile.password.subtitle=\u4FEE\u6539\u5BC6\u7801 msg.line.putIn=[{0}]\u5165\u5EAB\u4E88\u5B9A[{1}]
shelf.btn.posCheck=\u30B9\u30C8\u30EC\u30FC\u30B8\u4F4D\u7F6E\u30C1\u30A7\u30C3\u30AF
updatePassword.currentPassword.label=\u5F53\u524D\u5BC6\u7801 storage.virtual.numlimit=\u5165\u308C\u8FBC\u3080\u30EA\u30FC\u30EB\u6570\u91CF
updatePassword.newPassword.label=\u65B0\u5BC6\u7801 component.pic=\u5199\u771F
updatePassword.invalidPassword=\u4F60\u8F93\u5165\u7684\u5F53\u524D\u5BC6\u7801\u4E0D\u6B63\u786E 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
updatePassword.success=\u5BC6\u7801\u66F4\u65B0\u6210\u529F error.pos.notExist=\u30B9\u30C8\u30EC\u30FC\u30B8\u3010{0}\u3011\u5B58\u5728\u306A\u3044\u3001\u5165\u5EAB\u3067\u304D\u306A\u3044
updatePassword.changePasswordButton=\u66F4\u65B0\u5BC6\u7801 authority.virtual=\u30D0\u30FC\u30C1\u30E3\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8\u7BA1\u7406
updatePassword.changePasswordLink = \u4FEE\u6539\u5BC6\u7801 alarm.humidity.msg=\u6E7F\u5EA6\uFF1A {0} \u7BC4\u56F2\u30AA\u30FC\u30D0\u30FC[{1}-{2}]
batch.btn.singleOut=\u30B7\u30F3\u30B0\u30EB\u51FA\u5EAB
menu.area.search=\u533A\u57DF storagePos.priority=\u512A\u5148\u7D1A
area.search.subtitle=\u533A\u57DF\u5217\u8868 cabinet.error.noCode=\u30D0\u30FC\u30B3\u30FC\u30C9\u304C\u5B58\u5728\u306A\u3044
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
shelf.msg.opSucess=\u64CD\u4F5C\u6210\u529F shelf.msg.opSucess=\u64CD\u4F5C\u6210\u529F
shelf.msg.notFound=\u672A\u627E\u5230\u6599\u67B6 checkOut.componentName=\u6750\u6599\u540D\u79F0
shelf.msg.outError=\u64CD\u4F5C\u5931\u8D25,\u672A\u627E\u5230\u53EF\u4EE5\u51FA\u5E93\u7684\u7269\u6599 home.chart.component.positionNum=\u4F7F\u7528\u4E2D\u30B9\u30C8\u30EC\u30FC\u30B8
shelf.msg.outOk=\u64CD\u4F5C\u6210\u529F,\u8BF7\u4ECE\u5E93\u4F4D[{0}]\u4E2D\u53D6\u51FA\u7269\u6599 home.chart.storage.total=\u30B9\u30C8\u30EC\u30FC\u30B8\u6570\u91CF
shelf.msg.inOk=\u64CD\u4F5C\u6210\u529F,\u8BF7\u653E\u5165\u5E93\u4F4D[{0}] storage.boxCount=Box\u6570\u91CF
shelf.msg.inError=\u672A\u627E\u5230\u9002\u5408[{0}]\u7684\u5E93\u4F4D user.language=\u8A00\u8A9E
shelf.msg.outConfirm=\u5E93\u4F4D[{0}]\u51FA\u5E93\u5B8C\u6210. file.title=\u30C7\u30FC\u30BF\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044
shelf.msg.noTask=\u64CD\u4F5C\u5931\u8D25,\u5DF2\u5728\u5E93\u4F4D[{0}]\u4E2D,\u672A\u627E\u5230\u5BF9\u5E94\u7684\u51FA\u5E93\u4EFB\u52A1 batch.btn.closeDoor=\u30B7\u30F3\u30B0\u30EB\u51FA\u5EAB\u53E3\u3092\u9589\u3081\u308B
component.generateBarcode=\u751F\u6210\u6761\u7801 authority.valuable.out=\u8CB4\u91CD\u6750\u6599\u306E\u51FA\u5EAB
order.out.set=\u5957\u6599\u51FA\u5E93 user.writeCard=\u30AB\u30FC\u30C9\u306B\u5165\u529B
order.out.surplus=\u5C3E\u6599\u51FA\u5E93 menu.workOrder.new=\u65B0\u898F\u30AA\u30FC\u30C0\u30FC\u4F5C\u6210
order.inventory=\u5E93\u5B58 shelf.msg.outConfirm=\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u51FA\u5EAB\u5B8C\u6210
export.csv=\u5BFC\u51FA\u5230CSV barcode.barcode=\u30D0\u30FC\u30B3\u30FC\u30C9\u756A\u53F7
workOrder.date=\u65E5\u671F storage.chart.humidity=\u6E7F\u5EA6
workOrder.waitOut=\u7B49\u5F85\u51FA\u5E93 barcode.print=\u30D7\u30EA\u30F3\u30C8
workOrder.setExecute=\u5957\u6599\u51FA\u5E93\u4E2D error.save=\u4FDD\u5B58\u5931\u6557\u3001\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044
workOrder.setFinish=\u5957\u6599\u5DF2\u5B8C\u6210 storage.slotList=\u30B9\u30C8\u30EC\u30FC\u30B8\u30EA\u30B9\u30C8
workOrder.surplusExecute=\u5C3E\u6599\u51FA\u5E93\u4E2D menu.barCode.new=\u65B0\u898F\u30D0\u30FC\u30B3\u30FC\u30C9\u4F5C\u6210
workOrder.surplusFinish=\u5C3E\u6599\u5DF2\u5B8C\u6210 menu.dataLog.search=\u30ED\u30B0\u7BA1\u7406
workOrder.supplementaryExecute=\u8865\u6599\u4E2D workOrder.title=\u30AA\u30FC\u30C0\u30FC\u7BA1\u7406
workOrder.supplementaryFinish=\u8865\u6599\u5B8C\u6210 workOrder.surplusExecute=\u6B8B\u7559\u6750\u6599\u51FA\u5EAB\u4E2D
storage.virtual.addPos=\u589E\u52A0\u4ED3\u4F4D op.status.end=\u7D42\u4E86
storage.virtual.pnlimit=\u6307\u5B9A\u7269\u7F16 component.name.empty=\u6750\u6599\u540D\u79F0\u306F\u7A7A\u306B\u3057\u3066\u306F\u3044\u3051\u306A\u3044
storage.virtual.numlimit=\u53EF\u653E\u6599\u76D8\u6570\u91CF 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
storage.virtual.pnEmpty=\u6307\u5B9A\u7269\u7F16\u4E0D\u80FD\u4E3A\u7A7A op.8=\u652A\u62CC
storage.virtual.posEmpty=\u4ED3\u4F4D\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A op.7=\u6E29\u5EA6\u56DE\u5FA9\u3057\u3066\u6750\u6599\u3092\u5165\u308C\u8FBC\u3080
storage.virtual.numEmpty=\u53EF\u653E\u6599\u76D8\u6570\u91CF\u4E0D\u80FD\u4E3A\u7A7A op.6=\u6E29\u5EA6\u56DE\u5FA9\u3057\u3066\u6750\u6599\u3092\u53D6\u308A\u51FA\u3059
storage.virtual.numErrory=\u53EF\u653E\u6599\u76D8\u6570\u91CF\u5FC5\u987B\u4E3A\u5927\u4E8E0\u7684\u6570\u5B57 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 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 component.error.bomUsed=\u6750\u6599\u306F\u3059\u3067\u306BBOM\u3092\u4F7F\u7528\u3001\u524A\u9664\u3067\u304D\u306A\u3044
barcode.error.notFound=\u672A\u627E\u5230\u76F8\u5173\u6761\u7801 boxChart.rescan=\u30D0\u30FC\u30B3\u30FC\u30C9\u3092\u518D\u30B9\u30AD\u30E3\u30F3
error.pos.inQueue=\u4F4D\u7F6E[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D,\u64CD\u4F5C\u5931\u8D25 button.edit=\u7DE8\u96C6
error.barcode.inQueue=\u4E8C\u7EF4\u7801\:[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D,\u64CD\u4F5C\u5931\u8D25 error.barcode.executing=\u30D0\u30FC\u30B3\u30FC\u30C9[{0}]\u30BF\u30B9\u30AF\u304C\u5B9F\u884C\u4E2D
error.barcode.empty=\u672A\u626B\u63CF\u5230\u6761\u7801 menu.component=\u88FD\u54C1\u7BA1\u7406
error.barcode.many=\u53D1\u73B0\u591A\u4E2A\u6709\u6548\u6761\u7801 cabinet.error.noOp=\u30C9\u30A2\u304C\u30AA\u30FC\u30D7\u30F3\u306E\u5834\u5408\u3001\u5165\u51FA\u5EAB\u304C\u3067\u304D\u306A\u3044
error.storage.unavailable=\u6599\u4ED3[{0}]\u4E0D\u53EF\u7528 button.reset=\u30EA\u30BB\u30C3\u30C8
error.storage.noPos=\u65E0\u53EF\u7528\u7684\u6599\u683C[{0}],\u65E0\u6CD5\u7EE7\u7EED\u653E\u5165 storagePos.width=\u5E45
error.storage.noPosFind=\u672A\u627E\u5230\u53EF\u7528\u7684\u4ED3\u4F4D area.search.subtitle=\u30A8\u30EA\u30A2\u30EA\u30B9\u30C8
error.barcode.wrongSize=\u6599\u76D8\u5C3A\u5BF8[{0}]\u4E0D\u7B26 workOrder.waitOut=\u51FA\u5EAB\u5F85\u3061
error.barcode.executing=\u6761\u7801[{0}]\u7684\u4EFB\u52A1\u6B63\u5728\u6267\u884C storage.area.empty=\u30B9\u30C8\u30EC\u30FC\u30B8\u306E\u6240\u5C5E\u30A8\u30EA\u30A2\u306F\u7A7A\u3067\u306F\u3044\u3051\u306A\u3044
error.pos.notExist=\u5E93\u4F4D\u3010{0}\u3011\u4E0D\u5B58\u5728,\u65E0\u6CD5\u5165\u5E93 shelf.msg.inOk=\u64CD\u4F5C\u6210\u529F\u3001\u64CD\u30B9\u30C8\u30EC\u30FC\u30B8[{0}]\u306B\u5165\u308C\u3066\u304F\u3060\u3055\u3044
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
storage.type.smdXl=SMD-XL 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.smdVl=SMD-VL
storage.type.solderPaste=SMD-SP
\ No newline at end of file \ 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 #Wed Dec 09 15:58:56 CST 2020
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=\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.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 top.menu.logout=\u6CE8\u9500
cabinet.error.noPos=\u5E93\u4F4D\u4E0D\u5B58\u5728
home.kanban=\u770B\u677F storage.virtual.pnlimit=\u6307\u5B9A\u7269\u7F16
home.chart.component=\u6599\u4EF6\u5206\u5E03 storage.type.virtual=\u865A\u62DF\u4ED3
home.chart.component.overview=\u6982\u89C8 dataLog.item.name=\u51FA\u5165\u5E93\u65E5\u5FD7
home.chart.component.componentAmount=\u6570\u91CF barcode.error.notExist=\u6761\u7801{0}\u4E0D\u5B58\u5728
home.chart.component.positionNum=\u6240\u5360\u4ED3\u4F4D button.delete=\u5220\u9664
home.chart.storage=\u4ED3\u4F4D\u5229\u7528\u7387 button.addto.checkout=\u52A0\u5165\u5230\u51FA\u5E93\u961F\u5217
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.list=\u5DE5\u5355\u5217\u8868
workOrder.saveSuccess=\u5DE5\u5355\u4FDD\u5B58\u6210\u529F chart.showType.MONTH=\u6708\u4EFD
workOrder.deleteSuccess=\u5DE5\u5355\u5220\u9664\u6210\u529F home.chart.storage=\u4ED3\u4F4D\u5229\u7528\u7387
workOrder.checkoutSuccess=\u5DE5\u5355\u51FA\u5E93\u6210\u529F barcode.error.partNumber.empty=\u6761\u7801{0}\u5173\u8054\u7684\u6599\u4EF6\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u6570\u636E\u662F\u5426\u6B63\u786E
workOrder.workOrder=\u5DE5\u5355 storage.match.sizeCompatible=\u540C\u5C3A\u5BF8\u517C\u5BB9
workOrder.name=\u5DE5\u5355\u53F7 op.status.none=
workOrder.amount=\u6570\u91CF storage.status=\u72B6\u6001
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.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.description=\u6599\u4EF6\u63CF\u8FF0
component.partNumber.exist=\u6599\u4EF6\u7F16\u53F7\u5DF2\u5B58\u5728 storage.virtual.numEmpty=\u53EF\u653E\u6599\u76D8\u6570\u91CF\u4E0D\u80FD\u4E3A\u7A7A
component.pic=\u56FE\u7247 component.plateSize=\u6599\u76D8\u5C3A\u5BF8
component.saveSuccess=\u6599\u4EF6\u4FDD\u5B58\u6210\u529F 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.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.name=\u4ED3\u4F4D\u7F16\u53F7
storagePos.priority=\u4F18\u5148\u7EA7 barcode.error.inStorage=\u6761\u7801{0}\u5DF2\u5728\u5E93\u4E2D
storagePos.width=\u5BBD\u5EA6 batch.btn.singleIn=\u542F\u52A8\u5355\u76D8\u5165\u5E93
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
button.upload=\u4E0A\u4F20 button.upload=\u4E0A\u4F20
button.view=\u67E5\u770B button.save=\u4FDD\u5B58
button.reset=\u91CD\u7F6E barcode.error.empty=\u6761\u7801\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u6761\u7801\u6570\u636E\u662F\u5426\u6B63\u786E
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.barcode.manage=\u6761\u7801\u7BA1\u7406
authority.storage.manage=\u6599\u4ED3\u7BA1\u7406 storage.search.subtitle=\u6599\u4ED3\u67E5\u627E
authority.role.manage=\u89D2\u8272\u7BA1\u7406 storage.area=\u533A\u57DF
authority.user.manage=\u7528\u6237\u7BA1\u7406 component.unit=\u5355\u4F4D
authority.stockOut=\u51FA\u5165\u5E93 alarm.temperature.msg=\u6E29\u5EA6\: {0} \u8D85\u51FA\u8303\u56F4[{1}-{2}]
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 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 required.role.authorities=\u81F3\u5C11\u9009\u62E9\u4E00\u4E2A\u6743\u9650
component.name=\u6599\u4EF6\u540D\u79F0
user.item.name=\u7528\u6237 home.kanban=\u770B\u677F
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.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.firstName=\u540D
user.lastName=\u59D3 menu.cloud.checkOut=\u6599\u4EF6\u67E5\u627E\u51FA\u5E93
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.plate.size=\u6599\u76D8\u5C3A\u5BF8
component.amount.empty=\u6570\u91CF\u4E0D\u80FD\u4E3A\u7A7A storage.saveSuccess=\u6599\u4ED3\u4FE1\u606F\u4FDD\u5B58\u6210\u529F
component.plateSize.empty=\u6599\u76D8\u5C3A\u5BF8\u4E0D\u80FD\u4E3A\u7A7A barcode.height=\u6599\u76D8\u9AD8\u5EA6
component.height.empty=\u6599\u76D8\u9AD8\u5EA6\u4E0D\u80FD\u4E3A\u7A7A chart.showType.DAY=\u5929
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.partNumber=\u6599\u4EF6\u7F16\u7801
dataLog.storageName=\u6599\u4ED3\u540D\u79F0 order.close.notExist=\u672A\u627E\u5230\u5DE5\u5355[{0}]
dataLog.num=\u6570\u91CF component.generateBarcode=\u751F\u6210\u6761\u7801
dataLog.type=\u7C7B\u578B storage.match.fullyCompatible=\u5B8C\u5168\u517C\u5BB9
dataLog.date=\u65E5\u671F boxChart.solderIn=\u9521\u818F\u5165\u5E93
dataLog.item.name=\u51FA\u5165\u5E93\u65E5\u5FD7 menu.barCode=\u6761\u5F62\u7801
dataLog.checkout={0}[\u6570\u91CF:{1}]\u4ECE[{2}]\u51FA\u5E93 workOrder.surplusFinish=\u5C3E\u6599\u5DF2\u5B8C\u6210
dataLog.putIn={0}[\u6570\u91CF:{1}]\u5165\u5E93\u5230[{2}] error.pos.sizeNotMatch=\u5C3A\u5BF8[{0}]\u4E0E\u5E93\u4F4D{1}\u5C3A\u5BF8[{2}]\u4E0D\u7B26\uFF0C\u65E0\u6CD5\u5165\u5E93
dataLog.list=\u65E5\u5FD7\u5217\u8868 error.barcode.wrongQty=\u7269\u6599[{0}]\u6570\u91CF[{1}]\u9519\u8BEF\u3002
workOrder.setFinish=\u5957\u6599\u5DF2\u5B8C\u6210
cabinet.card=\u8BF7\u5237\u5361 menu.area.search=\u533A\u57DF
cabinet.exit=\u9000\u51FA 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.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.out=\u51FA\u6599
cabinet.error.validOp=\u975E\u6CD5\u64CD\u4F5C:\u65E0\u6CD5\u5F00\u95E8 button.view=\u67E5\u770B
cabinet.error.openMoreDoor=\u65E0\u6CD5\u540C\u65F6\u6253\u5F00\u591A\u4E2A\u67DC\u95E8 user.lastName=\u59D3
cabinet.error.noCard=\u975E\u6CD5\u64CD\u4F5C: \u672A\u5237\u5361,\u65E0\u6CD5\u5F00\u95E8 button.add=\u65B0\u589E
cabinet.error.posError=\u975E\u6CD5\u64CD\u4F5C: \u672A\u627E\u5230\u67DC\u95E8 storage.name.empty=\u6599\u4ED3\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
cabinet.error.noAuth=\u65E0\u6743\u64CD\u4F5C,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458 role.update.description=\u63CF\u8FF0
cabinet.error.noCode=\u6761\u7801\u4E0D\u5B58\u5728 workOrder.checkoutSuccess=\u5DE5\u5355\u51FA\u5E93\u6210\u529F
cabinet.error.noPos=\u5E93\u4F4D\u4E0D\u5B58\u5728 cabinet.error.noCard=\u975E\u6CD5\u64CD\u4F5C\uFF1A\u672A\u5237\u5361\uFF0C\u65E0\u6CD5\u5F00\u95E8
cabinet.msg.closeDoor=\u5173\u95E8\u540E\u64CD\u4F5C\u81EA\u52A8\u7ED3\u675F barcode.batch=\u6279\u6B21
cabinet.msg.finish=\u64CD\u4F5C\u5B8C\u6210 option.none=----\u8BF7\u9009\u62E9----
msg.line.putIn=[{0}]\u51C6\u5907\u5165\u5E93\u5230[{1}]
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.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.opSucess=\u64CD\u4F5C\u6210\u529F
shelf.msg.notFound=\u672A\u627E\u5230\u6599\u67B6 checkOut.componentName=\u6599\u4EF6\u540D\u79F0
shelf.msg.outError=\u64CD\u4F5C\u5931\u8D25,\u672A\u627E\u5230\u53EF\u4EE5\u51FA\u5E93\u7684\u7269\u6599 home.chart.component.positionNum=\u6240\u5360\u4ED3\u4F4D
shelf.msg.outOk=\u64CD\u4F5C\u6210\u529F,\u8BF7\u4ECE\u5E93\u4F4D[{0}]\u4E2D\u53D6\u51FA\u7269\u6599 home.chart.storage.total=\u603B\u4ED3\u4F4D\u6570
shelf.msg.inOk=\u64CD\u4F5C\u6210\u529F,\u8BF7\u653E\u5165\u5E93\u4F4D[{0}] storage.boxCount=Box\u6570\u91CF
shelf.msg.inError=\u672A\u627E\u5230\u9002\u5408[{0}]\u7684\u5E93\u4F4D user.language=\u8BED\u8A00
shelf.msg.outConfirm=\u5E93\u4F4D[{0}]\u51FA\u5E93\u5B8C\u6210. batch.btn.closeDoor=\u5173\u95ED\u5355\u6599\u95E8
shelf.msg.noTask=\u64CD\u4F5C\u5931\u8D25,\u5DF2\u5728\u5E93\u4F4D[{0}]\u4E2D,\u672A\u627E\u5230\u5BF9\u5E94\u7684\u51FA\u5E93\u4EFB\u52A1 file.title=\u8BF7\u4E0A\u4F20\u6570\u636E\u6587\u4EF6
component.generateBarcode=\u751F\u6210\u6761\u7801 authority.valuable.out=\u8D35\u91CD\u7269\u6599\u51FA\u5E93
order.out.set=\u5957\u6599\u51FA\u5E93 user.writeCard=\u5199\u5165\u5361\u7247
order.out.surplus=\u5C3E\u6599\u51FA\u5E93 menu.workOrder.new=\u65B0\u5EFA\u5DE5\u5355
order.inventory=\u5E93\u5B58 shelf.msg.outConfirm=\u5E93\u4F4D[{0}]\u51FA\u5E93\u5B8C\u6210\u3002
export.csv=\u5BFC\u51FA\u5230CSV barcode.barcode=\u6761\u7801\u7F16\u53F7
workOrder.date=\u65E5\u671F storage.chart.humidity=\u6E7F\u5EA6
workOrder.waitOut=\u7B49\u5F85\u51FA\u5E93 barcode.print=\u6253\u5370
workOrder.setExecute=\u5957\u6599\u51FA\u5E93\u4E2D error.save=\u4FDD\u5B58\u51FA\u9519\uFF0C\u8BF7\u68C0\u67E5
workOrder.setFinish=\u5957\u6599\u5DF2\u5B8C\u6210 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.surplusExecute=\u5C3E\u6599\u51FA\u5E93\u4E2D
workOrder.surplusFinish=\u5C3E\u6599\u5DF2\u5B8C\u6210 op.status.end=\u5DF2\u7ED3\u675F
workOrder.supplementaryExecute=\u8865\u6599\u4E2D component.name.empty=\u6599\u4EF6\u540D\u4E0D\u80FD\u4E3A\u7A7A
workOrder.supplementaryFinish=\u8865\u6599\u5B8C\u6210 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
storage.virtual.addPos=\u589E\u52A0\u4ED3\u4F4D op.8=\u6405\u62CC
storage.virtual.pnlimit=\u6307\u5B9A\u7269\u7F16 op.7=\u56DE\u6E29\u653E\u6599
storage.virtual.numlimit=\u53EF\u653E\u6599\u76D8\u6570\u91CF op.6=\u56DE\u6E29\u53D6\u6599
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 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.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.noRi=\u7F16\u7801\u89C4\u5219\u4E2D\u5FC5\u987B\u5305\u542B RI \u548C PN component.provider=\u4F9B\u5E94\u5546
barcode.error.notFound=\u672A\u627E\u5230\u76F8\u5173\u6761\u7801 op.2=\u51FA\u5E93
error.pos.inQueue=\u4F4D\u7F6E[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D,\u64CD\u4F5C\u5931\u8D25 button.return=\u8FD4\u56DE\u5217\u8868
error.barcode.inQueue=\u4E8C\u7EF4\u7801\:[{0}]\u5DF2\u5728\u64CD\u4F5C\u961F\u5217\u4E2D,\u64CD\u4F5C\u5931\u8D25 op.1=\u5165\u5E93
error.barcode.empty=\u672A\u626B\u63CF\u5230\u6761\u7801 component.search.subtitle=\u6599\u4EF6\u5217\u8868
error.barcode.many=\u53D1\u73B0\u591A\u4E2A\u6709\u6548\u6761\u7801 order.out.surplus=\u5C3E\u6599\u51FA\u5E93
error.storage.unavailable=\u6599\u4ED3[{0}]\u4E0D\u53EF\u7528 storage.error.cidUnique=\u4ED3\u5E93\u5BA2\u6237\u7AEF\u7F16\u53F7\u5FC5\u987B\u4E3A\u552F\u4E00
error.storage.noPos=\u65E0\u53EF\u7528\u7684\u6599\u683C[{0}],\u65E0\u6CD5\u7EE7\u7EED\u653E\u5165 user.item.name=\u7528\u6237
error.storage.noPosFind=\u672A\u627E\u5230\u53EF\u7528\u7684\u4ED3\u4F4D storage.virtual.addPos=\u589E\u52A0\u4ED3\u4F4D
error.barcode.wrongSize=\u6599\u76D8\u5C3A\u5BF8[{0}]\u4E0D\u7B26 menu.batch.specifiedBatch=\u6307\u5B9A\u6279\u6B21
error.barcode.executing=\u6761\u7801[{0}]\u7684\u4EFB\u52A1\u6B63\u5728\u6267\u884C cabinet.in=\u5165\u6599
error.pos.notExist=\u5E93\u4F4D\u3010{0}\u3011\u4E0D\u5B58\u5728,\u65E0\u6CD5\u5165\u5E93 dataLog.num=\u6570\u91CF
error.pos.hasReel=\u5E93\u4F4D\u3010{0}\u3011\u4E2D\u5DF2\u6709\u7269\u6599,\u65E0\u6CD5\u5165\u5E93 barcode.item.name=\u6761\u7801
error.pos.wrong=\u5E93\u4F4D\u3010{0}\u3011\u4E0E\u6599\u4ED3[{1}]\u4E0D\u5339\u914D,\u65E0\u6CD5\u5165\u5E93 updatePassword.invalidPassword=\u60A8\u5F53\u524D\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u6B63\u786E
error.pos.sizeNotMatch=\u5C3A\u5BF8[{0}]\u4E0E\u5E93\u4F4D{1}\u5C3A\u5BF8[{2}]\u4E0D\u7B26,\u65E0\u6CD5\u5165\u5E93 user.profile.edit=\u8D44\u6599\u7F16\u8F91
error.barcode.invalid={0} \u4E0D\u662F\u6709\u6548\u7684\u6761\u7801 storage.enable=\u662F\u5426\u53EF\u7528
error.barcode.expired=\u7269\u6599\u5DF2\u8FC7\u671F,\u65E0\u6CD5\u5165\u5E93. storage.error.unique=\u4ED3\u5E93\u540D\u5DF2\u88AB\u4F7F\u7528\uFF0C\u8BF7\u6539\u540D\u540E\u91CD\u65B0\u4FDD\u5B58\u3002
error.barcode.wrongQty=\u7269\u6599[{0}]\u6570\u91CF[{1}]\u9519\u8BEF. storagePos.layer=\u5C42\u6570
error.barcode.inStorage=\u7269\u6599[{0}]\u5DF2\u5728\u6599\u4ED3[{1}]\u7684\u5E93\u4F4D[{2}]\u4E2D authority.stockOut=\u51FA\u5165\u5E93
error.barcode.noRule=\u6761\u7801\u89E3\u6790\u89C4\u5219\u672A\u5B9A\u4E49 storage.enable.prohibit=\u7981\u7528
error.barcode.wrongLength=\u6761\u7801[{0}]\u957F\u5EA6\u9519\u8BEF component.amount=\u5C01\u88C5\u6570\u91CF
error.barcode.noField=\u6761\u7801\u89E3\u6790\u5931\u8D25,\u672A\u627E\u5230{0}\u5B57\u6BB5 plate.size.customer=\u81EA\u5B9A\u4E49\u5C3A\u5BF8
error.barcode.wrongPn=PartNumber\u4E0D\u4E00\u81F4 storage.type.batch=\u6279\u91CF\u6599\u4ED3
error.barcode.pnNotExist=x\u6863\u6848 {0} \u4E0D\u5B58\u5728 dataLog.operator=\u64CD\u4F5C\u5458
error.barcode.errorSize=x \u6599\u76D8\u672A\u8BBE\u7F6E\u5C3A\u5BF8 storage.posSize=\u4ED3\u4F4D\u5C3A\u5BF8
error.storage.noStorage=\u65E0\u53EF\u7528\u7684\u6599\u4ED3 solder.status.7=\u9000\u5E93\u5B58\u50A8
msg.line.putIn=[{0}]\u51C6\u5907\u5165\u5E93\u5230[{1}] 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.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 solder.status.3=\u5F85\u6405\u62CC
shelf.msg.fastop=\u6761\u7801\u64CD\u4F5C\u9891\u7E41,\u8BF7\u7A0D\u540E\u518D\u8BD5 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.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 storage.slotAmount=\u4ED3\u4F4D\u6570\u91CF
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 area.name=\u533A\u57DF\u540D\u79F0
shelf.nextPos.hasReel=\u4E0B\u4E00\u5E93\u4F4D[{0}]\u5DF2\u6709\u7269\u6599,\u8BF7\u91CD\u65B0\u626B\u63CF\u5E93\u4F4D\u7801 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
settings.remind.title=\u63D0\u9192\u8BBE\u7F6E 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 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 component.partNumber.empty=\u6599\u4EF6\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
order.num.modify=\u5DE5\u5355\u6570\u91CF\u4FEE\u6539 shelf.btn.closeAll=\u5173\u95ED\u6240\u6709\u706F
order.modify.tip=\u4FEE\u6539\u5DE5\u5355\u6570\u91CF\u4E3A\: \u5F53\u524D\u6570\u91CF x authority.component.manage=\u6599\u4EF6\u7BA1\u7406
barcode.lastDate=\u5165\u5E93\u65F6\u95F4 barcode.update.subtitle=\u6761\u7801\u8BE6\u60C5
solderBox.btn.closeDoor=\u5173\u95E8 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 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 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.16=\u56DE\u6E29\u653E\u6599\u4E2D
storage.status.17=\u56DE\u6E29\u653E\u6599\u5B8C\u6210 storage.status.15=\u56DE\u6E29\u53D6\u6599\u5B8C\u6210
storage.status.18=\u6405\u62CC\u53D6\u6599\u4E2D storage.status.14=\u56DE\u6E29\u53D6\u6599\u4E2D
storage.status.19=\u7B49\u5F85\u6405\u62CC storage.type.cabinet=\u667A\u80FD\u6599\u67DC
storage.status.20=\u6405\u62CC\u6267\u884C\u4E2D storage.status.13=\u539F\u70B9\u8FD4\u56DE\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
order.out.notFound=\u672A\u627E\u5230\u5DE5\u5355\u4FE1\u606F 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.smdVl=SMD-VL
storage.type.solderPaste=SMD-SP
\ No newline at end of file \ 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 @@ ...@@ -61,6 +61,11 @@
<div class="form-body"> <div class="form-body">
<%@include file="/common/success.jsp" %> <%@include file="/common/success.jsp" %>
<%@include file="/common/error.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"> <%--<div class="form-group">
&lt;%&ndash;物料名称&ndash;%&gt; &lt;%&ndash;物料名称&ndash;%&gt;
...@@ -436,87 +441,95 @@ ...@@ -436,87 +441,95 @@
</div> </div>
</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 class="col-md-3">
<div style="text-align:left" class="input-group"> <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>
</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 class="col-md-3">
<div style="text-align:left" class="input-group"> <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>
</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>
<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 class="col-md-3">
<div style="text-align:left" class="input-group"> <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>
</div> </div>
<%--贵重物料--%> <label class="control-label col-md-2"><fmt:message key="solder.maxStoreNum"/></label>
<label class="control-label col-md-2"><fmt:message key="otherComponent.expensive"/> </label>
<div class="col-md-3"> <div class="col-md-3">
<div style="text-align:left" class="input-group"> <div style="text-align:left" class="input-group">
<form:checkbox path="needAuth" class="form-control"/> <form:input type="text" id="maxStoreNum" path="maxStoreNum" class="form-control"/>
</div> </div>
</div> </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"> <%--&lt;%&ndash;单耗&ndash;%&gt;--%>
<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"> <%--<label class="control-label col-md-2"><fmt:message key="component.unitCost"/></label>--%>
<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="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 class="col-md-3">--%>
<div style="text-align:left" class="input-group"> <%--<div style="text-align:left" class="input-group">--%>
<form:input type="text" id="producerNumber" path="producerNumber" <%--<form:input type="text" id="producer" path="producer" class="form-control"/>--%>
class="form-control"/> <%--</div>--%>
</div> <%--</div>--%>
</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"> <div class="form-group extraInfo">
...@@ -529,15 +542,15 @@ ...@@ -529,15 +542,15 @@
</div> </div>
</div> </div>
<%--SMD 连接时的预警值--%> <%--&lt;%&ndash;SMD 连接时的预警值&ndash;%&gt;--%>
<label class="control-label col-md-2"><fmt:message key="component.smdAlarmValue"/></label> <%--<label class="control-label col-md-2"><fmt:message key="component.smdAlarmValue"/></label>--%>
<div class="col-md-3"> <%--<div class="col-md-3">--%>
<div style="text-align:left" class="input-group"> <%--<div style="text-align:left" class="input-group">--%>
<form:input type="text" id="alarmAmount" path="alarmValue" class="form-control"/> <%--<form:input type="text" id="alarmAmount" path="alarmValue" class="form-control"/>--%>
<form:errors path="alarmValue" cssStyle="color: red"/> <%--<form:errors path="alarmValue" cssStyle="color: red"/>--%>
</div> <%--</div>--%>
</div> <%--</div>--%>
</div> </div>
...@@ -642,35 +655,26 @@ ...@@ -642,35 +655,26 @@
$("#scan-code").change(function (){ $("#scan-code").change(function (){
$("#code-errors").text("");
var codeValue = $(this).val(); var codeValue = $(this).val();
//TCL的条码规则:用*号隔开,[物料编号]*[数量]*[供应商编号]*[批次]*[日期码]*[Reel Id]
//Reel Id 的前六位是供应商编号
$(this).attr("placeholder",codeValue); $(this).attr("placeholder",codeValue);
$(this).val(""); $(this).val("");
var strs= codeValue.split("*"); //字符分割 $("#code-errors").text("");
if(strs.length == 6){ $("#barcode").text("");
var partNumber = strs[0]; $("#partNumber").val("");
var amount = strs[1]; $("#batch").val("");
var supplierCode = strs[2]; $("#dateCode").val("");
var reelId = strs[5]; $("#amount").val("");
//if(reelId.indexOf(supplierCode) == 0){ $("#providerNumber").val("");
$("#code-errors").text(""); $(this).attr("placeholder", codeValue);
$("#name").val(partNumber); $(this).val("");
$("#partNumber").val(partNumber); $.post("${ctx}/service/store/resolveBarcode", {code: codeValue}, function (data) {
$("#amount").val(amount); if (data.barcode != null) {
$("#providerNumber").val(supplierCode); $("#partNumber").val(data.barcode.partNumber);
//暂改为默认,自动提交,后面把这里去掉 $("#batch").val(data.barcode.batch);
$('#id').val(""); $("#amount").val(data.barcode.amount);
// $('#pSize').val("7x8"); $("#provider").val(data.barcode.providerNumber);
// $("#plateSize").val(7); }
// $("#height").val(8); });
// $("#operation").val("save");
// $("#component").submit();
return;
// }
}
$("#code-errors").text("格式为 [料件编号]*[数量]*[供应商编号]*[批次]*[日期码]*[Reel Id] 的条码信息才可以正确解析");
}) })
function saveComponent() { function saveComponent() {
......
...@@ -142,6 +142,11 @@ ...@@ -142,6 +142,11 @@
color:green; color:green;
} }
.lobibox-notify-wrapper{
max-height: 100%;
overflow-y: auto;
}
</style> </style>
<link href="${ctx}/scripts/lobibox/css/lobibox.min.css?id=2" rel="stylesheet" type="text/css"/> <link href="${ctx}/scripts/lobibox/css/lobibox.min.css?id=2" rel="stylesheet" type="text/css"/>
...@@ -517,10 +522,10 @@ ...@@ -517,10 +522,10 @@
for(var i in data){ 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>'; 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 ){ // if(data[i].inventoryNum <= 0 || data[i].outFinished ){
//已出完或库存不足 // //已出完或库存不足
opStr = ""; // opStr = "";
} // }
table.row.add( [ i, data[i].pn, data[i].feederInfo,data[i].outNum+"/"+data[i].needNum,data[i].inventoryNum,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(); table.order( [ 3, 'asc' ] ).draw();
...@@ -661,10 +666,10 @@ ...@@ -661,10 +666,10 @@
var opLabelMap={ var opLabelMap={
"op1":"${op_1}", "op1":"${op_1}",
"op1":"${op_2}", "op2":"${op_2}",
"op1":"${op_6}", "op6":"${op_6}",
"op1":"${op_7}", "op7":"${op_7}",
"op1":"${op_8}" "op8":"${op_8}"
} }
var allTasks = {}; var allTasks = {};
...@@ -689,8 +694,8 @@ ...@@ -689,8 +694,8 @@
//var showStr = partNumber + " ["+barcode+"] ${in_label}" + posStr; //var showStr = partNumber + " ["+barcode+"] ${in_label}" + posStr;
var opLabel = opLabelMap["op_"+data[item].type] var opLabel = opLabelMap["op"+data[item].type]
var showStr = posStr+ opLabel + partNumber + "["+barcode+"]"; var showStr = posStr+ opLabel + "<br/>"+partNumber + "["+barcode+"]";
var status = data[item].status.toLowerCase(); var status = data[item].status.toLowerCase();
options['status'] = status; options['status'] = status;
...@@ -1091,15 +1096,17 @@ ...@@ -1091,15 +1096,17 @@
} }
var statusHtml = "<span class='orderStatus'>["+statusStr+"]</span>"; var statusHtml = "<span class='orderStatus'>["+statusStr+"]</span>";
var titleStr = "<a href='#' onclick=\"showOrderDetail('"+orderNo+"')\">"+orderNo+"</a>"; 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); newOrders.push(orderNo);
orderOption['orderNo']=orderNo; orderOption['orderNo']=orderNo;
orderOption['onClose']= hideOrder; orderOption['onClose']= hideOrder;
var orderWindow = orderWindows[orderNo]; var orderWindow = orderWindows[orderNo];
if(!orderWindow){ if(!orderWindow){
orderOption.title=titleStr; orderOption.title=titleStr;
orderOption.msg = msgStr; orderOption.msg = msgStr;
orderWindow =Lobibox.notify('success', orderOption); orderWindow =Lobibox.notify('success', orderOption);
orderWindows[orderNo] = orderWindow; orderWindows[orderNo] = orderWindow;
}else{ }else{
......
...@@ -57,6 +57,39 @@ ...@@ -57,6 +57,39 @@
<%--<fmt:message key="shelf.btn.closeAll"/>--%> <%--<fmt:message key="shelf.btn.closeAll"/>--%>
<%--</button>--%> <%--</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();"> <button type="button" class="btn btn-fit-height yellow" onclick="showPartNumbers();">
<i class="fa fa-sign-out"></i><fmt:message key="button.checkout"/> <i class="fa fa-sign-out"></i><fmt:message key="button.checkout"/>
</button> </button>
...@@ -69,6 +102,7 @@ ...@@ -69,6 +102,7 @@
<tr role="row"> <tr role="row">
<th><fmt:message key="barcode.barcode"/></th> <th><fmt:message key="barcode.barcode"/></th>
<th><fmt:message key="barcode.partNumber"/></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="checkOut.pos"/></th>
<th><fmt:message key="dataLog.type"/></th> <th><fmt:message key="dataLog.type"/></th>
<th><fmt:message key="dataLog.status"/></th> <th><fmt:message key="dataLog.status"/></th>
...@@ -189,12 +223,39 @@ ...@@ -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 () { $("#scan-code").change(function () {
var codeValue = $(this).val(); var codeValue = $(this).val();
$(this).val(""); $(this).val("");
showMsg(""); showMsg("");
$(this).attr("placeholder", codeValue); $(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); showMsg(data);
if(data.indexOf("x") == 0){ if(data.indexOf("x") == 0){
//弹框,添加=7x8=尺寸信息后重新请求 //弹框,添加=7x8=尺寸信息后重新请求
...@@ -356,10 +417,12 @@ ...@@ -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(""); $(".dataTable").html("");
var currentOrderNo = $("#currentOrderNo").text();
var sourceArr = [];
for(var item in data){ for(var item in data){
var taskId = data[item].id; var taskId = data[item].id;
...@@ -367,45 +430,78 @@ ...@@ -367,45 +430,78 @@
var barcode = data[item].barcode; var barcode = data[item].barcode;
var posStr = data[item].posStr; var posStr = data[item].posStr;
var typeStr = "${in_label}"; var typeStr = "${in_label}";
var source = data[item].sourceStr;
var lightColor = "";
var sourceName = data[item].sourceName;
if(data[item].type == 2){//出库 if(data[item].type == 2){//出库
typeStr = "${out_label}"; 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(currentOrderNo == "All" || currentOrderNo == sourceName){
if(data[item].cancel){ var statusStr = "";
statusStr ="${op_status_cancel}"; if(data[item].cancel){
} else if(data[item].executing){ statusStr ="${op_status_cancel}";
statusStr ="${op_status_executing}"; } else if(data[item].executing){
}else if(data[item].finished){ statusStr ="${op_status_executing}";
statusStr ="${op_status_finished}"; }else if(data[item].finished){
}else if(data[item].wait){ statusStr ="${op_status_finished}";
statusStr ="${op_status_wait}"; }else if(data[item].wait){
}else if(data[item].end){ statusStr ="${op_status_wait}";
statusStr ="${op_status_end}"; }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(){ setInterval(function(){
updateTasks('${show}',-10*60); updateTasks('${show}');
}, 1000); }, 1000);
waitting = function(){ waitting = function(){
......
...@@ -46,12 +46,12 @@ ...@@ -46,12 +46,12 @@
</div> </div>
</form:form> </form:form>
<display:table name="searchCriteria.pageList" id="storage" <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 property="name" escapeXml="true" titleKey="storage.name"/>
<display:column titleKey="storage.type" property="type"/> <display:column titleKey="storage.type" property="type"/>
<display:column titleKey="storage.slotAmount"> <display:column titleKey="storage.slotAmount">
${storage.totalSlots - storage.emptySlots} / ${storage.totalSlots} ${storage.totalSlots}
</display:column> </display:column>
<display:setProperty name="paging.banner.items_name"><fmt:message <display:setProperty name="paging.banner.items_name"><fmt:message
key="storage.item.name"/></display:setProperty> key="storage.item.name"/></display:setProperty>
......
位置,优先级,高度,宽度,料仓ID,设备IP,区域ID,灯索引 位置,优先级,高度,宽度,料仓ID,设备IP,区域ID,灯索引
1_1_1,10,12,15,1,192.168.201.191,1,0 1_1_1,10,12,15,1,,1,0
1_1_2,10,12,15,1,192.168.201.191,1,1 1_1_2,10,12,15,1,,1,1
1_1_3,10,12,15,1,192.168.201.191,1,2 1_1_3,10,12,15,1,,1,2
1_1_4,10,12,15,1,192.168.201.191,1,3 1_1_4,10,12,15,1,,1,3
1_1_5,10,12,15,1,192.168.201.191,1,4 1_1_5,10,12,15,1,,1,4
1_1_6,10,12,15,1,192.168.201.191,1,5 1_1_6,10,12,15,1,,1,5
1_1_7,10,12,15,1,192.168.201.191,1,6 1_1_7,10,12,15,1,,1,6
1_1_8,10,12,15,1,192.168.201.191,1,7 1_1_8,10,12,15,1,,1,7
1_1_9,10,12,15,1,192.168.201.191,1,8 1_1_9,10,12,15,1,,1,8
1_1_10,10,12,15,1,192.168.201.191,1,9 1_1_10,10,12,15,1,,1,9
1_1_11,10,12,15,1,192.168.201.191,1,10 1_1_11,10,12,15,1,,1,10
1_1_12,10,12,15,1,192.168.201.191,1,11 1_1_12,10,12,15,1,,1,11
1_1_13,10,12,15,1,192.168.201.191,1,12 1_1_13,10,12,15,1,,1,12
1_1_14,10,12,15,1,192.168.201.191,1,13 1_1_14,10,12,15,1,,1,13
1_1_15,10,12,15,1,192.168.201.191,1,14 1_1_15,10,12,15,1,,1,14
1_1_16,10,12,15,1,192.168.201.191,1,15 1_1_16,10,12,15,1,,1,15
1_1_17,10,12,15,1,192.168.201.191,1,16 1_1_17,10,12,15,1,,1,16
1_1_18,10,12,15,1,192.168.201.191,1,17 1_1_18,10,12,15,1,,1,17
1_1_19,10,12,15,1,192.168.201.191,1,18 1_1_19,10,12,15,1,,1,18
1_1_20,10,12,15,1,192.168.201.191,1,19 2_1_1,10,12,15,1,,2,0
1_1_21,10,12,15,1,192.168.201.191,1,20 2_1_2,10,12,15,1,,2,1
1_1_22,10,12,15,1,192.168.201.191,1,21 2_1_3,10,12,15,1,,2,2
1_1_23,10,12,15,1,192.168.201.191,1,22 2_1_4,10,12,15,1,,2,3
1_1_24,10,12,15,1,192.168.201.191,1,23 2_1_5,10,12,15,1,,2,4
1_1_25,10,12,15,1,192.168.201.191,1,24 2_1_6,10,12,15,1,,2,5
1_1_26,10,12,15,1,192.168.201.191,1,25 2_1_7,10,12,15,1,,2,6
1_1_27,10,12,15,1,192.168.201.191,1,26 2_1_8,10,12,15,1,,2,7
1_1_28,10,12,15,1,192.168.201.191,1,27 2_1_9,10,12,15,1,,2,8
1_1_29,10,12,15,1,192.168.201.191,1,28 2_1_10,10,12,15,1,,2,9
1_1_30,10,12,15,1,192.168.201.191,1,29 2_1_11,10,12,15,1,,2,10
1_1_31,10,12,15,1,192.168.201.191,1,30 2_1_12,10,12,15,1,,2,11
1_1_32,10,12,15,1,192.168.201.191,1,31 2_1_13,10,12,15,1,,2,12
1_1_33,10,12,15,1,192.168.201.191,1,32 2_1_14,10,12,15,1,,2,13
1_1_34,10,12,15,1,192.168.201.191,1,33 2_1_15,10,12,15,1,,2,14
1_1_35,10,12,15,1,192.168.201.191,1,34 2_1_16,10,12,15,1,,2,15
1_1_36,10,12,15,1,192.168.201.191,1,35 2_1_17,10,12,15,1,,2,16
1_1_37,10,12,15,1,192.168.201.191,1,36 2_1_18,10,12,15,1,,2,17
1_1_38,10,12,15,1,192.168.201.191,1,37 2_1_19,10,12,15,1,,2,18
1_1_39,10,12,15,1,192.168.201.191,1,38 status,,,,,,1,19
1_1_40,10,12,15,1,192.168.201.191,1,39 1_1_20,,,,,,1,20
2_1_1,10,12,13,1,192.168.201.191,1,79 1_1_21,,,,,,1,21
2_1_2,10,12,13,1,192.168.201.191,1,78 1_1_22,,,,,,1,22
2_1_3,10,12,13,1,192.168.201.191,1,77 1_1_23,,,,,,1,23
2_1_4,10,12,13,1,192.168.201.191,1,76 1_1_24,,,,,,1,24
2_1_5,10,12,13,1,192.168.201.191,1,75 1_1_25,,,,,,1,25
2_1_6,10,12,13,1,192.168.201.191,1,74 1_1_26,,,,,,1,26
2_1_7,10,12,13,1,192.168.201.191,1,73 1_1_27,,,,,,1,27
2_1_8,10,12,13,1,192.168.201.191,1,72 1_1_28,,,,,,1,28
2_1_9,10,12,13,1,192.168.201.191,1,71 1_1_29,,,,,,1,29
2_1_10,10,12,13,1,192.168.201.191,1,70 1_1_30,,,,,,1,30
2_1_11,10,12,13,1,192.168.201.191,1,69 1_1_31,,,,,,1,31
2_1_12,10,12,13,1,192.168.201.191,1,68 1_1_32,,,,,,1,32
2_1_13,10,12,13,1,192.168.201.191,1,67 1_1_33,,,,,,1,33
2_1_14,10,12,13,1,192.168.201.191,1,66 1_1_34,,,,,,1,34
2_1_15,10,12,13,1,192.168.201.191,1,65 1_1_35,,,,,,1,35
2_1_16,10,12,13,1,192.168.201.191,1,64 1_1_36,,,,,,1,36
2_1_17,10,12,13,1,192.168.201.191,1,63 1_1_37,,,,,,1,37
2_1_18,10,12,13,1,192.168.201.191,1,62 1_1_38,,,,,,1,38
2_1_19,10,12,13,1,192.168.201.191,1,61 1_1_39,,,,,,1,39
2_1_20,10,12,13,1,192.168.201.191,1,60 1_1_40,,,,,,1,40
2_1_21,10,12,13,1,192.168.201.191,1,59 1_1_41,,,,,,1,41
2_1_22,10,12,13,1,192.168.201.191,1,58 1_1_42,,,,,,1,42
2_1_23,10,12,13,1,192.168.201.191,1,57 1_1_43,,,,,,1,43
2_1_24,10,12,13,1,192.168.201.191,1,56 1_1_44,,,,,,1,44
2_1_25,10,12,13,1,192.168.201.191,1,55 1_1_45,,,,,,1,45
2_1_26,10,12,13,1,192.168.201.191,1,54 1_1_46,,,,,,1,46
2_1_27,10,12,13,1,192.168.201.191,1,53 1_1_47,,,,,,1,47
2_1_28,10,12,13,1,192.168.201.191,1,52 1_1_48,,,,,,1,48
2_1_29,10,12,13,1,192.168.201.191,1,51 1_1_49,,,,,,1,49
2_1_30,10,12,13,1,192.168.201.191,1,50 1_1_50,,,,,,1,50
2_1_31,10,12,13,1,192.168.201.191,1,49 1_1_51,,,,,,1,51
2_1_32,10,12,13,1,192.168.201.191,1,48 1_1_52,,,,,,1,52
2_1_33,10,12,13,1,192.168.201.191,1,47 1_1_53,,,,,,1,53
2_1_34,10,12,13,1,192.168.201.191,1,46 1_1_54,,,,,,1,54
2_1_35,10,12,13,1,192.168.201.191,1,45 1_1_55,,,,,,1,55
2_1_36,10,12,13,1,192.168.201.191,1,44 1_1_56,,,,,,1,56
2_1_37,10,12,13,1,192.168.201.191,1,43 1_1_57,,,,,,1,57
2_1_38,10,12,13,1,192.168.201.191,1,42 1_1_58,,,,,,1,58
2_1_39,10,12,13,1,192.168.201.191,1,41 1_1_59,,,,,,1,59
2_1_40,10,12,13,1,192.168.201.191,1,40 1_1_60,,,,,,1,60
3_1_1,10,12,7,1,192.168.201.191,1,80 1_1_61,,,,,,1,61
3_1_2,10,12,7,1,192.168.201.191,1,81 1_1_62,,,,,,1,62
3_1_3,10,12,7,1,192.168.201.191,1,82 1_1_63,,,,,,1,63
3_1_4,10,12,7,1,192.168.201.191,1,83 1_1_64,,,,,,1,64
3_1_5,10,12,7,1,192.168.201.191,1,84 1_1_65,,,,,,1,65
3_1_6,10,12,7,1,192.168.201.191,1,85 1_1_66,,,,,,1,66
3_1_7,10,12,7,1,192.168.201.191,1,86 1_1_67,,,,,,1,67
3_1_8,10,12,7,1,192.168.201.191,1,87 1_1_68,,,,,,1,68
3_1_9,10,12,7,1,192.168.201.191,1,88 1_1_69,,,,,,1,69
3_1_10,10,12,7,1,192.168.201.191,1,89 1_1_70,,,,,,1,70
3_1_11,10,12,7,1,192.168.201.191,1,90 1_1_71,,,,,,1,71
3_1_12,10,12,7,1,192.168.201.191,1,91 1_1_72,,,,,,1,72
3_1_13,10,12,7,1,192.168.201.191,1,92 1_1_73,,,,,,1,73
3_1_14,10,12,7,1,192.168.201.191,1,93 1_1_74,,,,,,1,74
3_1_15,10,12,7,1,192.168.201.191,1,94 1_1_75,,,,,,1,75
3_1_16,10,12,7,1,192.168.201.191,1,95 1_1_76,,,,,,1,76
3_1_17,10,12,7,1,192.168.201.191,1,96 1_1_77,,,,,,1,77
3_1_18,10,12,7,1,192.168.201.191,1,97 1_1_78,,,,,,1,78
3_1_19,10,12,7,1,192.168.201.191,1,98 1_1_79,,,,,,1,79
3_1_20,10,12,7,1,192.168.201.191,1,99 1_1_80,,,,,,1,80
3_1_21,10,12,7,1,192.168.201.191,1,100 1_1_81,,,,,,1,81
3_1_22,10,12,7,1,192.168.201.191,1,101 1_1_82,,,,,,1,82
3_1_23,10,12,7,1,192.168.201.191,1,102 1_1_83,,,,,,1,83
3_1_24,10,12,7,1,192.168.201.191,1,103 1_1_84,,,,,,1,84
3_1_25,10,12,7,1,192.168.201.191,1,104 1_1_85,,,,,,1,85
3_1_26,10,12,7,1,192.168.201.191,1,105 1_1_86,,,,,,1,86
3_1_27,10,12,7,1,192.168.201.191,1,106 1_1_87,,,,,,1,87
3_1_28,10,12,7,1,192.168.201.191,1,107 1_1_88,,,,,,1,88
3_1_29,10,12,7,1,192.168.201.191,1,108 1_1_89,,,,,,1,89
3_1_30,10,12,7,1,192.168.201.191,1,109 1_1_90,,,,,,1,90
3_1_31,10,12,7,1,192.168.201.191,1,110 1_1_91,,,,,,1,91
3_1_32,10,12,7,1,192.168.201.191,1,111 1_1_92,,,,,,1,92
3_1_33,10,12,7,1,192.168.201.191,1,112 1_1_93,,,,,,1,93
3_1_34,10,12,7,1,192.168.201.191,1,113 1_1_94,,,,,,1,94
3_1_35,10,12,7,1,192.168.201.191,1,114 1_1_95,,,,,,1,95
3_1_36,10,12,7,1,192.168.201.191,1,115 1_1_96,,,,,,1,96
3_1_37,10,12,7,1,192.168.201.191,1,116 1_1_97,,,,,,1,97
3_1_38,10,12,7,1,192.168.201.191,1,117 1_1_98,,,,,,1,98
3_1_39,10,12,7,1,192.168.201.191,1,118 1_1_99,,,,,,1,99
3_1_40,10,12,7,1,192.168.201.191,1,119 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!