Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 8d8ec34d
由
LN
编写于
2022-03-15 10:28:36 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加移动料架NLM
1 个父辈
8288a783
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
72 行增加
和
27 行删除
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
src/main/java/com/neotel/smfcore/core/storage/enums/DeviceType.java
src/main/java/com/neotel/smfcore/core/storage/rest/dto/StorageDto.java
src/main/java/com/neotel/smfcore/core/storage/service/po/Storage.java
src/main/resources/messages.properties
src/main/resources/messages_en_US.properties
src/main/resources/messages_ja_JP.properties
src/main/resources/messages_zh_CN.properties
src/main/resources/messages_zh_TW.properties
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
查看文件 @
8d8ec34
...
@@ -84,6 +84,19 @@ public class CodeResolve {
...
@@ -84,6 +84,19 @@ public class CodeResolve {
String
codeStr
=
codeBeanFromRule
.
getCodeStr
();
String
codeStr
=
codeBeanFromRule
.
getCodeStr
();
barcode
=
barcodeManager
.
findByBarcode
(
codeStr
);
barcode
=
barcodeManager
.
findByBarcode
(
codeStr
);
if
(
barcode
!=
null
)
{
//数据库中已存在
if
(
barcode
!=
null
)
{
//数据库中已存在
Component
component
=
componentManager
.
findByPartNumberAndProvider
(
barcode
.
getPartNumber
(),
barcode
.
getProvider
());
int
validDay
=
0
;
if
(
component
!=
null
){
validDay
=
component
.
getValidDay
();
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
//如果已经确认尺寸,使用确认的尺寸
if
(
component
.
isSizeConfirmed
()
||
((
component
.
hasSizeInfo
())&&(!
codeBeanFromRule
.
hasReelSizeInfo
()))){
codeBeanFromRule
.
setReelWidth
(
component
.
getPlateSize
());
codeBeanFromRule
.
setReelHeight
(
component
.
getHeight
());
}
}
if
(
codeBeanFromRule
.
hasReelSizeInfo
()){
if
(
codeBeanFromRule
.
hasReelSizeInfo
()){
//如果客户端传入的有尺寸,但尺寸不一致,使用上传上来的尺寸
//如果客户端传入的有尺寸,但尺寸不一致,使用上传上来的尺寸
if
(
barcode
.
getHeight
()
!=
codeBeanFromRule
.
getReelHeight
()
||
barcode
.
getPlateSize
()
!=
codeBeanFromRule
.
getReelWidth
()){
if
(
barcode
.
getHeight
()
!=
codeBeanFromRule
.
getReelHeight
()
||
barcode
.
getPlateSize
()
!=
codeBeanFromRule
.
getReelWidth
()){
...
@@ -98,18 +111,6 @@ public class CodeResolve {
...
@@ -98,18 +111,6 @@ public class CodeResolve {
}
}
}
}
}
}
Component
component
=
componentManager
.
findByPartNumberAndProvider
(
barcode
.
getPartNumber
(),
barcode
.
getProvider
());
int
validDay
=
0
;
if
(
component
!=
null
){
validDay
=
component
.
getValidDay
();
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
//如果已经确认尺寸,使用确认的尺寸
if
(
component
.
isSizeConfirmed
()){
codeBeanFromRule
.
setReelWidth
(
component
.
getPlateSize
());
codeBeanFromRule
.
setReelHeight
(
component
.
getHeight
());
}
}
Barcode
barcodeFromRule
=
codeBeanFromRule
.
getBarcode
();
Barcode
barcodeFromRule
=
codeBeanFromRule
.
getBarcode
();
if
(
barcodeFromRule
!=
null
){
if
(
barcodeFromRule
!=
null
){
...
@@ -150,7 +151,8 @@ public class CodeResolve {
...
@@ -150,7 +151,8 @@ public class CodeResolve {
codeBeanFromRule
.
setCodeStr
(
barcode
.
getBarcode
());
codeBeanFromRule
.
setCodeStr
(
barcode
.
getBarcode
());
codeBeanFromRule
.
setBarcode
(
barcode
);
codeBeanFromRule
.
setBarcode
(
barcode
);
return
codeBeanFromRule
;
return
codeBeanFromRule
;
}
else
if
(
codeBeanFromRule
.
isValid
()){
//数据库中不存在,但解析成功
}
else
if
(
codeBeanFromRule
.
isValid
()){
//数据库中不存在,但解析成功
Barcode
barcodeFromRule
=
codeBeanFromRule
.
getBarcode
();
Barcode
barcodeFromRule
=
codeBeanFromRule
.
getBarcode
();
try
{
try
{
...
@@ -185,7 +187,7 @@ public class CodeResolve {
...
@@ -185,7 +187,7 @@ public class CodeResolve {
}
else
{
}
else
{
//如果已经确认尺寸,使用确认的尺寸
//如果已经确认尺寸,使用确认的尺寸
if
(
component
.
isSizeConfirmed
()){
if
(
component
.
isSizeConfirmed
()
||
((
component
.
hasSizeInfo
())&&(!
codeBeanFromRule
.
hasReelSizeInfo
()))
){
codeBeanFromRule
.
setReelWidth
(
component
.
getPlateSize
());
codeBeanFromRule
.
setReelWidth
(
component
.
getPlateSize
());
codeBeanFromRule
.
setReelHeight
(
component
.
getHeight
());
codeBeanFromRule
.
setReelHeight
(
component
.
getHeight
());
}
}
...
@@ -210,10 +212,12 @@ public class CodeResolve {
...
@@ -210,10 +212,12 @@ public class CodeResolve {
log
.
info
(
"档案["
+
barcodeFromRule
.
getPartNumber
()+
"]不存在"
);
log
.
info
(
"档案["
+
barcodeFromRule
.
getPartNumber
()+
"]不存在"
);
// throw new ValidateException("component.error.notExist",new String[]{barcodeFromRule.getPartNumber()});
// throw new ValidateException("component.error.notExist",new String[]{barcodeFromRule.getPartNumber()});
throw
new
ValidateException
(
"smfcore.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"component"
,
barcodeFromRule
.
getPartNumber
()});
throw
new
ValidateException
(
"smfcore.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"component"
,
barcodeFromRule
.
getPartNumber
()});
}
else
if
(
component
.
isSizeConfirmed
()
)
{
}
else
if
(
component
.
isSizeConfirmed
()
||
((
component
.
hasSizeInfo
())&&(!
codeBeanFromRule
.
hasReelSizeInfo
())))
{
//如果已经确认尺寸,使用确认的尺寸
//如果已经确认尺寸,使用确认的尺寸
codeBeanFromRule
.
setReelWidth
(
component
.
getPlateSize
());
codeBeanFromRule
.
setReelWidth
(
component
.
getPlateSize
());
codeBeanFromRule
.
setReelHeight
(
component
.
getHeight
());
codeBeanFromRule
.
setReelHeight
(
component
.
getHeight
());
barcodeFromRule
.
setHeight
(
component
.
getHeight
());
barcodeFromRule
.
setPlateSize
(
component
.
getPlateSize
());
}
}
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
...
@@ -361,7 +365,7 @@ public class CodeResolve {
...
@@ -361,7 +365,7 @@ public class CodeResolve {
}
}
if
(
barcode
==
null
){
if
(
barcode
==
null
){
throw
new
ValidateException
(
"smfcore.error.barcode.
noValidCode"
,
"无效的条码"
,
new
String
[]{
codeBeans
.
size
()+
":"
,
codeStr
});
throw
new
ValidateException
(
"smfcore.error.barcode.
invalid"
,
"{0}不是有效的条码"
,
new
String
[]{
codeStr
});
}
}
return
barcode
;
return
barcode
;
}
}
...
...
src/main/java/com/neotel/smfcore/core/storage/enums/DeviceType.java
查看文件 @
8d8ec34
...
@@ -110,6 +110,11 @@ public enum DeviceType {
...
@@ -110,6 +110,11 @@ public enum DeviceType {
NLP
(
"storage.type.nlp"
),
NLP
(
"storage.type.nlp"
),
/**
/**
* 17 移动料架,自动推荐库位 NLM
*/
NLM
(
"storage.type.nlm"
),
/**
* 18 (默认料仓)
* 18 (默认料仓)
*/
*/
DEFAULT
(
"storage.type.default"
)
DEFAULT
(
"storage.type.default"
)
...
@@ -134,6 +139,6 @@ public enum DeviceType {
...
@@ -134,6 +139,6 @@ public enum DeviceType {
}
}
public
static
List
<
DeviceType
>
availableTypeList
(){
public
static
List
<
DeviceType
>
availableTypeList
(){
return
Lists
.
newArrayList
(
AUTO
,
LINE
,
BATCH
,
SOLDERPASTE
,
VERTICALBOX
,
SMD_XL
,
SMD_DUO
,
SMD_XLC
,
VIRTUAL
,
NL
,
NLP
);
return
Lists
.
newArrayList
(
AUTO
,
LINE
,
BATCH
,
SOLDERPASTE
,
VERTICALBOX
,
SMD_XL
,
SMD_DUO
,
SMD_XLC
,
VIRTUAL
,
NL
,
NLP
,
NLM
);
}
}
}
}
src/main/java/com/neotel/smfcore/core/storage/rest/dto/StorageDto.java
查看文件 @
8d8ec34
...
@@ -64,4 +64,8 @@ public class StorageDto implements Serializable {
...
@@ -64,4 +64,8 @@ public class StorageDto implements Serializable {
@ApiModelProperty
(
"客户端地址"
)
@ApiModelProperty
(
"客户端地址"
)
private
String
clientUrl
;
private
String
clientUrl
;
@ApiModelProperty
(
"是否可以合并库位"
)
private
boolean
mergePos
=
false
;
}
}
src/main/java/com/neotel/smfcore/core/storage/service/po/Storage.java
查看文件 @
8d8ec34
...
@@ -66,6 +66,11 @@ public class Storage extends BasePo implements Serializable {
...
@@ -66,6 +66,11 @@ public class Storage extends BasePo implements Serializable {
*/
*/
private
String
inListName
=
""
;
private
String
inListName
=
""
;
/**
* 是否可以合并库位
*/
private
boolean
mergePos
=
false
;
// /**
// /**
// * 是否是上下层的在线料仓
// * 是否是上下层的在线料仓
...
@@ -138,6 +143,12 @@ public class Storage extends BasePo implements Serializable {
...
@@ -138,6 +143,12 @@ public class Storage extends BasePo implements Serializable {
return
DeviceType
.
NLP
.
name
().
equals
(
type
);
return
DeviceType
.
NLP
.
name
().
equals
(
type
);
}
}
/**
/**
* 是否是移动料架
*/
public
boolean
isNLMShelf
()
{
return
DeviceType
.
NLM
.
name
().
equals
(
type
);
}
/**
* 是否是垂直货柜
* 是否是垂直货柜
*/
*/
public
boolean
isVerticalBox
(){
public
boolean
isVerticalBox
(){
...
...
src/main/resources/messages.properties
查看文件 @
8d8ec34
...
@@ -32,14 +32,13 @@ smfcore.error.barcode.expired=\u7269\u6599\u5DF2\u8FC7\u671F,\u65E0\u6CD5\u5165\
...
@@ -32,14 +32,13 @@ smfcore.error.barcode.expired=\u7269\u6599\u5DF2\u8FC7\u671F,\u65E0\u6CD5\u5165\
smfcore.allBoxView.noReel
=
\u
5E93
\u
4F4D{0}
\u
4E2D
\u
65E0
\u7269\u6599
smfcore.allBoxView.noReel
=
\u
5E93
\u
4F4D{0}
\u
4E2D
\u
65E0
\u7269\u6599
smfcore.error.barcode.many
=
\u
627E
\u5230\u
591A
\u
4E2A
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.many
=
\u
627E
\u5230\u
591A
\u
4E2A
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.noValidCode
=
\u
65E0
\u6548\u7684\u6761\u7801
smfcore.error.barcode.noValidCode
=
\u
65E0
\u6548\u7684\u6761\u7801
smfcore.error.barcode.noValidCode
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.executing
=
\u6761\u7801
[{0}}]
\u
4EFB
\u
52A1
\u
6B63
\u5728\u6267\u
884C
smfcore.error.barcode.executing
=
\u6761\u7801
[{0}}]
\u
4EFB
\u
52A1
\u
6B63
\u5728\u6267\u
884C
smfcore.error.pos.notExist
=
\u
5E93
\u
4F4D[{0}]
\u
4E0D
\u
5B58
\u5728
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.notExist
=
\u
5E93
\u
4F4D[{0}]
\u
4E0D
\u
5B58
\u5728
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.wrong
=
\u
5E93
\u
4F4D[{0}]
\u
4E0E
\u6599\u
4ED3[{1}}]
\u
4E0D
\u5339\u
914D,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.wrong
=
\u
5E93
\u
4F4D[{0}]
\u
4E0E
\u6599\u
4ED3[{1}}]
\u
4E0D
\u5339\u
914D,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.hasReel
=
\u
5E93
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.hasReel
=
\u
5E93
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.sizeNotMatch
=
\u6599\u
76D8
\u
5C3A
\u
5BF8[{0}}]
\u
4E0E
\u
5E93
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.sizeNotMatch
=
\u6599\u
76D8
\u
5C3A
\u
5BF8[{0}}]
\u
4E0E
\u
5E93
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.storage.offline
=
\u6599\u
4ED3[{0}]
\u
79BB
\u
7EBF
smfcore.error.storage.offline
=
\u6599\u
4ED3[{0}]
\u
79BB
\u
7EBF
smfcore.error.barcode.invalid
=
\u6761\u7801\u
65E0
\u6548
smfcore.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.wrongSize
=
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
smfcore.error.barcode.wrongSize
=
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
smfcore.error.barcode.wrongQty
=
\u6761\u7801
[{0}]
\u
5BF9
\u
5E94
\u7684\u6570\u
91CF<=0
\u
4E3A: {1}
smfcore.error.barcode.wrongQty
=
\u6761\u7801
[{0}]
\u
5BF9
\u
5E94
\u7684\u6570\u
91CF<=0
\u
4E3A: {1}
smfcore.error.barcode.taskNotEnd
=
\u6599\u
76D8[{0}]
\u7684\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210
,
\u
65E0
\u
6CD5
\u6267\u
884C
\u5165\u
5E93
\u
64CD
\u
4F5C
smfcore.error.barcode.taskNotEnd
=
\u6599\u
76D8[{0}]
\u7684\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210
,
\u
65E0
\u
6CD5
\u6267\u
884C
\u5165\u
5E93
\u
64CD
\u
4F5C
...
@@ -236,6 +235,11 @@ smfcore.exitDebugModel.ok=\u5DF2\u9000\u51FA\u8C03\u8BD5\u6A21\u5F0F
...
@@ -236,6 +235,11 @@ smfcore.exitDebugModel.ok=\u5DF2\u9000\u51FA\u8C03\u8BD5\u6A21\u5F0F
smfcore.pwd.error
=
\u
5BC6
\u7801\u9519\u
8BEF
smfcore.pwd.error
=
\u
5BC6
\u7801\u9519\u
8BEF
smfcore.messages.enabledPos
=
\u
542F
\u7528\u
5E93
\u
4F4D
\u
FF1A{0}
smfcore.messages.enabledPos
=
\u
542F
\u7528\u
5E93
\u
4F4D
\u
FF1A{0}
smfcore.messages.disabledPos
=
\u7981\u7528\u
5E93
\u
4F4D
\u
FF1A{0}
smfcore.messages.disabledPos
=
\u7981\u7528\u
5E93
\u
4F4D
\u
FF1A{0}
smfcore.shelf.nlm.notFound
=
\u
672A
\u
627E
\u5230\u
79FB
\u
52A8
\u6599\u
67B6{0}
smfcore.error.barcode.errorSize
=
\u6761\u7801\u
672A
\u
8BBE
\u
7F6E
\u
5C3A
\u
5BF8
smfcore.shelf.msg.alreadyInPos
=
\u
8BE5
\u7269\u6599\u
5DF2
\u5728\u
5E93
\u
4F4D[{0}]
\u
4E2D
smfcore.shelf.msg.inMergeOk
=
\u
64CD
\u
4F5C
\u6210\u
529F,
\u
8BF7
\u5408\u
5E76
\u
5E93
\u
4F4D[{0}]
\u
5E76
\u
653E
\u5165\u6599\u
76D8
smfcore.shelf.msg.inError
=
\u
672A
\u
627E
\u5230\u9002\u5408
[{0}]
\u7684\u
5E93
\u
4F4D
#smfclient.nlp.onlyOneTray=\u4E0D\u53EF\u540C\u65F6\u653E\u5165\u591A\u76D8\u7269\u6599:{0}
#smfclient.nlp.onlyOneTray=\u4E0D\u53EF\u540C\u65F6\u653E\u5165\u591A\u76D8\u7269\u6599:{0}
#smfclient.nlp.cannotFindPos={0}\u672A\u627E\u5230\u5E93\u4F4D:{1}
#smfclient.nlp.cannotFindPos={0}\u672A\u627E\u5230\u5E93\u4F4D:{1}
#smfclient.nlp.inputOk={0}\u5165\u5E93\u5230{1}\u6210\u529F
#smfclient.nlp.inputOk={0}\u5165\u5E93\u5230{1}\u6210\u529F
...
...
src/main/resources/messages_en_US.properties
查看文件 @
8d8ec34
...
@@ -39,7 +39,7 @@ smfcore.error.pos.wrong=Position [{0}] and SMD BOX [{1}}] not match, storage fai
...
@@ -39,7 +39,7 @@ smfcore.error.pos.wrong=Position [{0}] and SMD BOX [{1}}] not match, storage fai
smfcore.error.pos.hasReel
=
Position [{0}] is full, storage failed
smfcore.error.pos.hasReel
=
Position [{0}] is full, storage failed
smfcore.error.pos.sizeNotMatch
=
Reel size[{0}}] not match with position {1} size [{2}], storage failed
smfcore.error.pos.sizeNotMatch
=
Reel size[{0}}] not match with position {1} size [{2}], storage failed
smfcore.error.storage.offline
=
SMD BOX[{0}] disconnect
smfcore.error.storage.offline
=
SMD BOX[{0}] disconnect
smfcore.error.barcode.invalid
=
In
valid barcode
smfcore.error.barcode.invalid
=
{0} is not a
valid barcode
smfcore.error.barcode.wrongSize
=
Size [{0}] is wrong
smfcore.error.barcode.wrongSize
=
Size [{0}] is wrong
smfcore.error.barcode.wrongQty
=
Barcode[{0}] amount<=0 is: {1}
smfcore.error.barcode.wrongQty
=
Barcode[{0}] amount<=0 is: {1}
smfcore.error.barcode.taskNotEnd
=
Reel[{0}] operation not complete, storage failed
smfcore.error.barcode.taskNotEnd
=
Reel[{0}] operation not complete, storage failed
...
@@ -236,4 +236,9 @@ smfcore.exitDebugModel.ok=Exited debug mode
...
@@ -236,4 +236,9 @@ smfcore.exitDebugModel.ok=Exited debug mode
smfcore.pwd.error
=
Password error
smfcore.pwd.error
=
Password error
smfcore.messages.enabledPos
=
Enable Location
\u
FF1A{0}
smfcore.messages.enabledPos
=
Enable Location
\u
FF1A{0}
smfcore.messages.disabledPos
=
Disable Location
\u
FF1A{0}
smfcore.messages.disabledPos
=
Disable Location
\u
FF1A{0}
smfcore.shelf.nlm.notFound
=
No mobile shelf found{0}
smfcore.error.barcode.errorSize
=
Bar code not set size
smfcore.shelf.msg.alreadyInPos
=
The material is already in the storage position [{0}].
smfcore.shelf.msg.inMergeOk
=
The operation is successful, please merge the storage space [{0}] and put it into the material tray.
smfcore.shelf.msg.inError
=
No library found for [{0}]
src/main/resources/messages_ja_JP.properties
查看文件 @
8d8ec34
...
@@ -32,14 +32,13 @@ smfcore.error.barcode.expired=\u6750\u6599\u304C\u53E4\u304F\u3066\u5728\u5EAB\u
...
@@ -32,14 +32,13 @@ smfcore.error.barcode.expired=\u6750\u6599\u304C\u53E4\u304F\u3066\u5728\u5EAB\u
smfcore.allBoxView.noReel
=
\u
4FDD
\u
7BA1
\u
4E2D
\u
306E
\u
7D20
\u6750\u
304C
\u
306A
\u3044
{0}
smfcore.allBoxView.noReel
=
\u
4FDD
\u
7BA1
\u
4E2D
\u
306E
\u
7D20
\u6750\u
304C
\u
306A
\u3044
{0}
smfcore.error.barcode.many
=
\u8907\u6570\u
306E
\u6709\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u
306E
\u
691C
\u
7D22
smfcore.error.barcode.many
=
\u8907\u6570\u
306E
\u6709\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u
306E
\u
691C
\u
7D22
smfcore.error.barcode.noValidCode
=
\u7121\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
smfcore.error.barcode.noValidCode
=
\u7121\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
smfcore.error.barcode.noValidCode
=
{0}
\u
306F
\u6709\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u3067\u
306F
\u3042\u
308A
\u
307E
\u
305B
\u3093
smfcore.error.barcode.executing
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9 [{0}}]
\u
30BF
\u
30B9
\u
30AF
\u
304C
\u
5B9F
\u
884C
\u3055\u
308C
\u3066\u3044\u
307E
\u3059
smfcore.error.barcode.executing
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9 [{0}}]
\u
30BF
\u
30B9
\u
30AF
\u
304C
\u
5B9F
\u
884C
\u3055\u
308C
\u3066\u3044\u
307E
\u3059
smfcore.error.pos.notExist
=
[{0}]
\u
306E
\u
30DD
\u
30B8
\u
30B7
\u
30E7
\u
30F3
\u
304C
\u
5B58
\u5728\u3057\u
306A
\u3044\u
305F
\u3081\u3001\u5165\u
529B
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.pos.notExist
=
[{0}]
\u
306E
\u
30DD
\u
30B8
\u
30B7
\u
30E7
\u
30F3
\u
304C
\u
5B58
\u5728\u3057\u
306A
\u3044\u
305F
\u3081\u3001\u5165\u
529B
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.pos.wrong
=
\u
30D9
\u
30A4[{0}]
\u
306F
\u
30D3
\u
30F3[{1}]
\u3068\u
4E00
\u
81F4
\u3057\u
306A
\u3044\u
305F
\u3081\u3001\u
30B9
\u
30C8
\u
30C3
\u
30AF
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.pos.wrong
=
\u
30D9
\u
30A4[{0}]
\u
306F
\u
30D3
\u
30F3[{1}]
\u3068\u
4E00
\u
81F4
\u3057\u
306A
\u3044\u
305F
\u3081\u3001\u
30B9
\u
30C8
\u
30C3
\u
30AF
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.pos.hasReel
=
\u6750\u6599\u
306F
\u
65E2
\u
306B
\u
30D3
\u
30F3[{0}]
\u
306B
\u5165\u3063\u3066\u
304A
\u
308A
\u3001\u5165\u
529B
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.pos.hasReel
=
\u6750\u6599\u
306F
\u
65E2
\u
306B
\u
30D3
\u
30F3[{0}]
\u
306B
\u5165\u3063\u3066\u
304A
\u
308A
\u3001\u5165\u
529B
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.pos.sizeNotMatch
=
\u
30D1
\u
30EC
\u
30C3
\u
30C8[{0}]
\u
306E
\u
30B5
\u
30A4
\u
30BA
\u
304C
\u
53CE
\u
7D0D
\u
30B9
\u
30DA
\u
30FC
\u
30B9[{1}][{2}]
\u
306E
\u
30B5
\u
30A4
\u
30BA
\u
306B
\u
5BFE
\u
5FDC
\u3057\u3066\u
304A
\u3089\u
305A
\u3001\u
53CE
\u
7D0D
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.pos.sizeNotMatch
=
\u
30D1
\u
30EC
\u
30C3
\u
30C8[{0}]
\u
306E
\u
30B5
\u
30A4
\u
30BA
\u
304C
\u
53CE
\u
7D0D
\u
30B9
\u
30DA
\u
30FC
\u
30B9[{1}][{2}]
\u
306E
\u
30B5
\u
30A4
\u
30BA
\u
306B
\u
5BFE
\u
5FDC
\u3057\u3066\u
304A
\u3089\u
305A
\u3001\u
53CE
\u
7D0D
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.storage.offline
=
\u
30D3
\u
30F3 [{0}]
\u
30AA
\u
30D5
\u
30E9
\u
30A4
\u
30F3
smfcore.error.storage.offline
=
\u
30D3
\u
30F3 [{0}]
\u
30AA
\u
30D5
\u
30E9
\u
30A4
\u
30F3
smfcore.error.barcode.invalid
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u
304C
\u7121\u
52B9
\u3067\u3059
smfcore.error.barcode.invalid
=
{0}
\u
306F
\u6709\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u3067\u
306F
\u3042\u
308A
\u
307E
\u
305B
\u3093
smfcore.error.barcode.wrongSize
=
\u
30B5
\u
30A4
\u
30BA[{0}]
\u
304C
\u
4E00
\u
81F4
\u3057\u
306A
\u3044
smfcore.error.barcode.wrongSize
=
\u
30B5
\u
30A4
\u
30BA[{0}]
\u
304C
\u
4E00
\u
81F4
\u3057\u
306A
\u3044
smfcore.error.barcode.wrongQty
=
<=0
\u
306B
\u
5BFE
\u
5FDC
\u3059\u
308B
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9[{0}]
\u
306E
\u6570\u
306F
\u
FF1A{1}
\u3067\u3059
smfcore.error.barcode.wrongQty
=
<=0
\u
306B
\u
5BFE
\u
5FDC
\u3059\u
308B
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9[{0}]
\u
306E
\u6570\u
306F
\u
FF1A{1}
\u3067\u3059
smfcore.error.barcode.taskNotEnd
=
\u
30D1
\u
30EC
\u
30C3
\u
30C8[{0}]
\u
306B
\u
5BFE
\u3059\u
308B
\u
64CD
\u
4F5C
\u
304C
\u
5B8C
\u
4E86
\u3057\u3066\u
304A
\u3089\u
305A
\u3001\u
53CE
\u
7D0D
\u
64CD
\u
4F5C
\u
304C
\u3067\u
304D
\u
307E
\u
305B
\u3093
smfcore.error.barcode.taskNotEnd
=
\u
30D1
\u
30EC
\u
30C3
\u
30C8[{0}]
\u
306B
\u
5BFE
\u3059\u
308B
\u
64CD
\u
4F5C
\u
304C
\u
5B8C
\u
4E86
\u3057\u3066\u
304A
\u3089\u
305A
\u3001\u
53CE
\u
7D0D
\u
64CD
\u
4F5C
\u
304C
\u3067\u
304D
\u
307E
\u
305B
\u3093
...
@@ -235,5 +234,10 @@ smfcore.toDebugModel.ok=\u30B3\u30DF\u30C3\u30B7\u30E7\u30CB\u30F3\u30B0\u30E2\u
...
@@ -235,5 +234,10 @@ smfcore.toDebugModel.ok=\u30B3\u30DF\u30C3\u30B7\u30E7\u30CB\u30F3\u30B0\u30E2\u
smfcore.exitDebugModel.ok
=
\u
30C7
\u
30D0
\u
30C3
\u
30B0
\u
30E2
\u
30FC
\u
30C9
\u
306E
\u
7D42
\u
4E86
smfcore.exitDebugModel.ok
=
\u
30C7
\u
30D0
\u
30C3
\u
30B0
\u
30E2
\u
30FC
\u
30C9
\u
306E
\u
7D42
\u
4E86
smfcore.pwd.error
=
\u
30D1
\u
30B9
\u
30EF
\u
30FC
\u
30C9
\u
30A8
\u
30E9
\u
30FC
smfcore.pwd.error
=
\u
30D1
\u
30B9
\u
30EF
\u
30FC
\u
30C9
\u
30A8
\u
30E9
\u
30FC
smfcore.messages.enabledPos
=
\u6709\u
52B9
\u
306B
\u3059\u
308B
\u
30B9
\u
30C8
\u
30EC
\u
30FC
\u
30B8
\u
4F4D
\u
7F6E
\u
FF1A{0}
smfcore.messages.enabledPos
=
\u6709\u
52B9
\u
306B
\u3059\u
308B
\u
30B9
\u
30C8
\u
30EC
\u
30FC
\u
30B8
\u
4F4D
\u
7F6E
\u
FF1A{0}
smfcore.messages.disabledPos
=
\u7121\u
52B9
\u5316\u
30B9
\u
30C8
\u
30EC
\u
30FC
\u
30B8
\u
4F4D
\u
7F6E
\u
FF1A{0}
smfcore.messages.disabledPos
=
\u7121\u
52B9
\u5316\u
30B9
\u
30C8
\u
30EC
\u
30FC
\u
30B8
\u
4F4D
\u
7F6E
\u
FF1A{0}
smfcore.shelf.nlm.notFound
=
\u
30E2
\u
30D0
\u
30A4
\u
30EB
\u
30E9
\u
30C3
\u
30AF
\u
304C
\u
898B
\u3064\u
304B
\u3089\u
306A
\u3044
{0}
smfcore.error.barcode.errorSize
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u
306E
\u
30B5
\u
30A4
\u
30BA
\u
304C
\u
8A2D
\u
5B9A
\u3055\u
308C
\u3066\u3044\u
306A
\u3044
smfcore.shelf.msg.alreadyInPos
=
\u
7D20
\u6750\u
306F
\u
65E2
\u
306B[{0}]
\u
306B
\u5728\u
5EAB
\u
304C
\u3042\u
308A
\u
307E
\u3059\u3002
smfcore.shelf.msg.inMergeOk
=
\u
64CD
\u
4F5C
\u
304C
\u6210\u
529F
\u3057\u
305F
\u3089\u3001\u
53CE
\u
7D0D
\u
30B9
\u
30DA
\u
30FC
\u
30B9[{0}]
\u3092\u
30DE
\u
30FC
\u
30B8
\u3057\u3066\u
30D1
\u
30EC
\u
30C3
\u
30C8
\u
306B
\u
53CE
\u
7D0D
\u3057\u3066\u
304F
\u3060\u3055\u3044\u3002
smfcore.shelf.msg.inError
=
\u9069\u5207\u
306A
\u
30B9
\u
30C8
\u
30EC
\u
30FC
\u
30B8
\u9818\u
57DF
\u
304C
\u
898B
\u3064\u
304B
\u3089\u
306A
\u3044
[{0}]
src/main/resources/messages_zh_CN.properties
查看文件 @
8d8ec34
...
@@ -32,14 +32,13 @@ smfcore.error.barcode.expired=\u7269\u6599\u5DF2\u8FC7\u671F,\u65E0\u6CD5\u5165\
...
@@ -32,14 +32,13 @@ smfcore.error.barcode.expired=\u7269\u6599\u5DF2\u8FC7\u671F,\u65E0\u6CD5\u5165\
smfcore.allBoxView.noReel
=
\u
5E93
\u
4F4D{0}
\u
4E2D
\u
65E0
\u7269\u6599
smfcore.allBoxView.noReel
=
\u
5E93
\u
4F4D{0}
\u
4E2D
\u
65E0
\u7269\u6599
smfcore.error.barcode.many
=
\u
627E
\u5230\u
591A
\u
4E2A
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.many
=
\u
627E
\u5230\u
591A
\u
4E2A
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.noValidCode
=
\u
65E0
\u6548\u7684\u6761\u7801
smfcore.error.barcode.noValidCode
=
\u
65E0
\u6548\u7684\u6761\u7801
smfcore.error.barcode.noValidCode
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.executing
=
\u6761\u7801
[{0}}]
\u
4EFB
\u
52A1
\u
6B63
\u5728\u6267\u
884C
smfcore.error.barcode.executing
=
\u6761\u7801
[{0}}]
\u
4EFB
\u
52A1
\u
6B63
\u5728\u6267\u
884C
smfcore.error.pos.notExist
=
\u
5E93
\u
4F4D[{0}]
\u
4E0D
\u
5B58
\u5728
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.notExist
=
\u
5E93
\u
4F4D[{0}]
\u
4E0D
\u
5B58
\u5728
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.wrong
=
\u
5E93
\u
4F4D[{0}]
\u
4E0E
\u6599\u
4ED3[{1}}]
\u
4E0D
\u5339\u
914D,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.wrong
=
\u
5E93
\u
4F4D[{0}]
\u
4E0E
\u6599\u
4ED3[{1}}]
\u
4E0D
\u5339\u
914D,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.hasReel
=
\u
5E93
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.hasReel
=
\u
5E93
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.sizeNotMatch
=
\u6599\u
76D8
\u
5C3A
\u
5BF8[{0}}]
\u
4E0E
\u
5E93
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.pos.sizeNotMatch
=
\u6599\u
76D8
\u
5C3A
\u
5BF8[{0}}]
\u
4E0E
\u
5E93
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u
65E0
\u
6CD5
\u5165\u
5E93
smfcore.error.storage.offline
=
\u6599\u
4ED3[{0}]
\u
79BB
\u
7EBF
smfcore.error.storage.offline
=
\u6599\u
4ED3[{0}]
\u
79BB
\u
7EBF
smfcore.error.barcode.invalid
=
\u6761\u7801\u
65E0
\u6548
smfcore.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
smfcore.error.barcode.wrongSize
=
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
smfcore.error.barcode.wrongSize
=
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
smfcore.error.barcode.wrongQty
=
\u6761\u7801
[{0}]
\u
5BF9
\u
5E94
\u7684\u6570\u
91CF<=0
\u
4E3A: {1}
smfcore.error.barcode.wrongQty
=
\u6761\u7801
[{0}]
\u
5BF9
\u
5E94
\u7684\u6570\u
91CF<=0
\u
4E3A: {1}
smfcore.error.barcode.taskNotEnd
=
\u6599\u
76D8[{0}]
\u7684\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210
,
\u
65E0
\u
6CD5
\u6267\u
884C
\u5165\u
5E93
\u
64CD
\u
4F5C
smfcore.error.barcode.taskNotEnd
=
\u6599\u
76D8[{0}]
\u7684\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210
,
\u
65E0
\u
6CD5
\u6267\u
884C
\u5165\u
5E93
\u
64CD
\u
4F5C
...
@@ -236,3 +235,8 @@ smfcore.exitDebugModel.ok=\u5DF2\u9000\u51FA\u8C03\u8BD5\u6A21\u5F0F
...
@@ -236,3 +235,8 @@ smfcore.exitDebugModel.ok=\u5DF2\u9000\u51FA\u8C03\u8BD5\u6A21\u5F0F
smfcore.pwd.error
=
\u
5BC6
\u7801\u9519\u
8BEF
smfcore.pwd.error
=
\u
5BC6
\u7801\u9519\u
8BEF
smfcore.messages.enabledPos
=
\u
542F
\u7528\u
5E93
\u
4F4D
\u
FF1A{0}
smfcore.messages.enabledPos
=
\u
542F
\u7528\u
5E93
\u
4F4D
\u
FF1A{0}
smfcore.messages.disabledPos
=
\u7981\u7528\u
5E93
\u
4F4D
\u
FF1A{0}
smfcore.messages.disabledPos
=
\u7981\u7528\u
5E93
\u
4F4D
\u
FF1A{0}
smfcore.shelf.nlm.notFound
=
\u
672A
\u
627E
\u5230\u
79FB
\u
52A8
\u6599\u
67B6{0}
smfcore.error.barcode.errorSize
=
\u6761\u7801\u
672A
\u
8BBE
\u
7F6E
\u
5C3A
\u
5BF8
smfcore.shelf.msg.alreadyInPos
=
\u
8BE5
\u7269\u6599\u
5DF2
\u5728\u
5E93
\u
4F4D[{0}]
\u
4E2D
smfcore.shelf.msg.inMergeOk
=
\u
64CD
\u
4F5C
\u6210\u
529F,
\u
8BF7
\u5408\u
5E76
\u
5E93
\u
4F4D[{0}]
\u
5E76
\u
653E
\u5165\u6599\u
76D8
smfcore.shelf.msg.inError
=
\u
672A
\u
627E
\u5230\u9002\u5408
[{0}]
\u7684\u
5E93
\u
4F4D
src/main/resources/messages_zh_TW.properties
查看文件 @
8d8ec34
...
@@ -32,14 +32,13 @@ smfcore.error.barcode.expired=\u7269\u6599\u5DF2\u904E\u671F,\u7121\u6CD5\u5165\
...
@@ -32,14 +32,13 @@ smfcore.error.barcode.expired=\u7269\u6599\u5DF2\u904E\u671F,\u7121\u6CD5\u5165\
smfcore.allBoxView.noReel
=
\u
5EAB
\u
4F4D{0}
\u
4E2D
\u7121\u7269\u6599
smfcore.allBoxView.noReel
=
\u
5EAB
\u
4F4D{0}
\u
4E2D
\u7121\u7269\u6599
smfcore.error.barcode.many
=
\u
627E
\u5230\u
591A
\u
500B
\u6709\u6548\u7684\u
689D
\u
78BC
smfcore.error.barcode.many
=
\u
627E
\u5230\u
591A
\u
500B
\u6709\u6548\u7684\u
689D
\u
78BC
smfcore.error.barcode.noValidCode
=
\u7121\u6548\u7684\u
689D
\u
78BC
smfcore.error.barcode.noValidCode
=
\u7121\u6548\u7684\u
689D
\u
78BC
smfcore.error.barcode.noValidCode
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u
689D
\u
78BC
smfcore.error.barcode.executing
=
\u
689D
\u
78BC[{0}}]
\u
4EFB
\u
52D9
\u
6B63
\u5728\u
57F7
\u
884C
smfcore.error.barcode.executing
=
\u
689D
\u
78BC[{0}}]
\u
4EFB
\u
52D9
\u
6B63
\u5728\u
57F7
\u
884C
smfcore.error.pos.notExist
=
\u
5EAB
\u
4F4D[{0}]
\u
4E0D
\u
5B58
\u5728
,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.pos.notExist
=
\u
5EAB
\u
4F4D[{0}]
\u
4E0D
\u
5B58
\u5728
,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.pos.wrong
=
\u
5EAB
\u
4F4D[{0}]
\u8207\u6599\u5009
[{1}}]
\u
4E0D
\u5339\u
914D,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.pos.wrong
=
\u
5EAB
\u
4F4D[{0}]
\u8207\u6599\u5009
[{1}}]
\u
4E0D
\u5339\u
914D,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.pos.hasReel
=
\u
5EAB
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.pos.hasReel
=
\u
5EAB
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.pos.sizeNotMatch
=
\u6599\u
76E4
\u
5C3A
\u
5BF8[{0}}]
\u8207\u
5EAB
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.pos.sizeNotMatch
=
\u6599\u
76E4
\u
5C3A
\u
5BF8[{0}}]
\u8207\u
5EAB
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u7121\u
6CD5
\u5165\u
5EAB
smfcore.error.storage.offline
=
\u6599\u5009
[{0}]
\u
96E2
\u
7DDA
smfcore.error.storage.offline
=
\u6599\u5009
[{0}]
\u
96E2
\u
7DDA
smfcore.error.barcode.invalid
=
\u
689D
\u
78BC
\u7121\u6548
smfcore.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u
689D
\u
78BC
smfcore.error.barcode.wrongSize
=
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
smfcore.error.barcode.wrongSize
=
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
smfcore.error.barcode.wrongQty
=
\u
689D
\u
78BC[{0}]
\u
5C0D
\u
61C9
\u7684\u6578\u
91CF<=0
\u7232
: {1}
smfcore.error.barcode.wrongQty
=
\u
689D
\u
78BC[{0}]
\u
5C0D
\u
61C9
\u7684\u6578\u
91CF<=0
\u7232
: {1}
smfcore.error.barcode.taskNotEnd
=
\u6599\u
76E4[{0}]
\u7684\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210
,
\u7121\u
6CD5
\u
57F7
\u
884C
\u5165\u
5EAB
\u
64CD
\u
4F5C
smfcore.error.barcode.taskNotEnd
=
\u6599\u
76E4[{0}]
\u7684\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210
,
\u7121\u
6CD5
\u
57F7
\u
884C
\u5165\u
5EAB
\u
64CD
\u
4F5C
...
@@ -236,3 +235,8 @@ smfcore.exitDebugModel.ok=\u5DF2\u9000\u51FA\u8ABF\u8A66\u6A21\u5F0F
...
@@ -236,3 +235,8 @@ smfcore.exitDebugModel.ok=\u5DF2\u9000\u51FA\u8ABF\u8A66\u6A21\u5F0F
smfcore.pwd.error
=
\u
5BC6
\u
78BC
\u
932F
\u
8AA4
smfcore.pwd.error
=
\u
5BC6
\u
78BC
\u
932F
\u
8AA4
smfcore.messages.enabledPos
=
\u
555F
\u7528\u
5EAB
\u
4F4D
\u
FF1A{0}
smfcore.messages.enabledPos
=
\u
555F
\u7528\u
5EAB
\u
4F4D
\u
FF1A{0}
smfcore.messages.disabledPos
=
\u7981\u7528\u
5EAB
\u
4F4D
\u
FF1A{0}
smfcore.messages.disabledPos
=
\u7981\u7528\u
5EAB
\u
4F4D
\u
FF1A{0}
smfcore.shelf.nlm.notFound
=
\u
672A
\u
627E
\u5230\u
79FB
\u
52D5
\u6599\u
67B6{0}
smfcore.error.barcode.errorSize
=
\u
689D
\u
78BC
\u
672A
\u
8A2D
\u
7F6E
\u
5C3A
\u
5BF8
smfcore.shelf.msg.alreadyInPos
=
\u
8A72
\u7269\u6599\u
5DF2
\u5728\u
5EAB
\u
4F4D[{0}]
\u
4E2D
smfcore.shelf.msg.inMergeOk
=
\u
64CD
\u
4F5C
\u6210\u
529F
\u
FF0C
\u
8ACB
\u5408\u
4F75
\u
5EAB
\u
4F4D[{0}]
\u
4E26
\u
653E
\u5165\u6599\u
76E4
smfcore.shelf.msg.inError
=
\u
672A
\u
627E
\u5230\u9069\u5408
[{0}]
\u7684\u
5EAB
\u
4F4D
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论