请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化? 8 c7 \( W4 R* r/ ^+ c
: s+ z7 _( P9 ~6 N问题:
2 [6 g2 y; q- _) s9 \/ X通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管2 [6 x* M" e* Y1 F" J# q! K) C
2 j4 P" K- [3 _/ m1 U9 H. {理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大, }% B& W) b7 [4 H# r- u' T2 b% k" N
并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法?
4 L# F1 N; |) O8 g& M- |2 D7 N软、硬件环境:
/ H; [2 O& `; T: h0 I/ f平台 : na
) _0 t& q- q9 ^3 `2 H
9 b0 t- E* U( ~0 \OS : n/a / @& m- N# a7 w6 [0 }4 @) w
OS版本: n/a
: A7 l0 D% T! A+ t5 L6 {5 Q2 a3 r7 w: h5 D j
应用: 组织 ' v7 ?- J4 D' y! A) g
版本: V10.1.0及以上 & z9 Y7 F1 F6 t1 R8 j& A9 T2 P- X
6 ?$ H/ U% r" m- L, e2 G
解决方法: 0 t5 T% H7 I- \2 }0 V6 W, V7 x
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程,
?3 t* b3 Z- m% |4 I4 `; h其它语言类似。 9 B/ O8 E: b* l0 h# R2 t7 j) @
9 R+ Y/ ~- K# P/ B8 A1.使用下面的语句创建一些组织结构,组和角色 1 _8 K5 d8 R4 @, A% V+ Q8 Z% B& X7 _; t
请把正确的infodba密码提供给-p参数。 . e, u% x6 _7 f! x% g9 r2 e
' T' i. V0 O! Zmake_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01 & m0 p4 f1 b2 g* u
make_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01
4 B) _* i/ k4 d5 C$ D* B% hmake_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 ! d) A$ h/ P1 ?$ Y, C l0 v% A8 g
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02 z- Z, `: Z% l, A- S8 F
make_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02
) j1 R& z7 ?: b! xmake_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02 ! [* c g' {) _/ N, P
make_user -u=infodba -p=1234567890 -g=dba -role=Tester
$ @1 ^. b L/ bmake_user -u=infodba -p=1234567890 -g=dba -role=QAEng
' w6 h; B* C$ O8 G$ g4 ~$ Z$ Ymake_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
f* X" t+ R' }" X# }2登录进入TC,查看组织结构6 R) @6 C/ p1 f# H
. q3 v/ d# d: e
3 x8 l: _! [! W& O5 L5 u' g( ?
3. 在TCDOS窗口中使用下面的命令导出组和角色 % }' u3 Y0 H1 n5 j5 X
# r" l: ]# B) ]# x/ a0 |1 S
导出的文件格式是XML文件。
o* N+ }' ^- x0 u* L; i. a( Z- y9 ]8 R. b4 f+ S# ]" K
请把正确的infodba密码提供给-p参数。 ' h& Z. K( P, c2 ~! ~7 ?. L. L
, j1 O" S- q: l6 t9 ^* g1 b) g
9 M8 C, `: X' I* T h' c2 v4.本地化
4 r# N0 t9 _, Y3 ]7 T# M/ k' Y8 @5 l/ k x+ S) ?& m- \# W8 ?
复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml, , p% @0 G a8 t4 T' d% u
" k8 X9 a. b+ h5 _! Z
用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行 0 o- u3 A7 [' c" h9 a( {
& z: F- Q2 C+ W. C
本地化的目标语言代码。
, O% ]7 Y2 V0 E& h7 y3 \. Y下面是目标语言的列表
2 |! u+ g* g! D; U+ n0 t
& c( I, L- n; b7 Y8 Q; Q# k' |目标语言代码目标语言
! M: ^9 J9 g8 ]: S7 a
$ X9 X$ @" U+ lcs_CZ 捷克语
' @; i6 ^- b+ |0 S! Q5 }3 W8 Y- D1 K$ ]8 C. t H
de_DE 德语
6 T% b; @0 \# H. R; d6 t) _) h% D9 T( w2 v8 _1 H
en_US 英语
0 K0 `& N' H' V. @7 P. c7 G) c+ f; r! E I
es_ES 西班牙语 ; x. T+ s# X. `
: v: @# g8 B$ ~0 r) i. L! yfr_FR 法语
4 W. _- Y, m# z8 A
. T! B3 L3 j2 z: vit_IT 意大利语
: i/ j; j2 x. i% J% Q) t2 T5 T' d9 e: x
ja_JP 日语 " z$ v7 u. A0 K
4 X# Z F: i# I/ R) qko_KR 韩语
9 b( k) S6 V! T6 Q8 [8 Q. e9 E2 F$ I3 O
pl_PL 波兰语 $ Q+ s( r# ~% R$ G9 F: S" J
: F$ E; L: L+ npt_BR 巴西葡萄牙语
! A T0 P7 a3 I6 \8 {- Y$ t" S2 h( E# }: {+ {5 R( j0 l
ru_RU 俄语 ) n1 c7 B+ u9 t% g( @6 f: p2 h
6 ~. ]) ~" K4 ^zh_CN 简体中文
% s" h8 R) @$ N8 |+ Z) p7 L7 s* k y3 _6 l7 g
zh_TW 繁体中文 1 n# p& x8 ?) P* o5 |9 }; C
2 L( G8 d7 c0 @% X
注:
2 @+ B; o4 d4 _3 s( J
# S$ G. H9 p$ s4 y, ^根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后 2 k6 I% d6 O9 j( I) J+ s
+ l$ O8 y, j% x的对应名称在下面的属性对之间进行修改。
8 ^: F; A5 }0 L+ {* M$ Q
4 x" q0 W5 c4 }+ G8 R3 l
4 n$ P3 Y& a1 n6 S3 }- E<LocalizedValue> ) s& X& \# d1 P* B9 F& L
</LocalizedValue> * f0 ?. `2 \6 w# y4 p- _
注:
: }) D' J" g2 N5 X0 n5 b
7 [( L3 z5 G- ~1 z+ D如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。
8 k0 u7 X. n0 A$ L% U; ?/ W- e
3 s# \0 n, I" v( Z3 `/ I对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对 5 \8 u) P. R4 q4 N! H
3 L* s" O4 `$ ?! g- R# I3 v里面的:
) I/ X( q% W9 a1 t5 }8 m
* l9 u% x1 S1 v/ l6 l. H
9 {, M. i+ V; x3 \$ J# {" G- s<ObjectInstance>
W6 W/ \) _ }" X</ObjectInstance> : N% |" k/ g9 Y/ X- [1 E( u
请注意保证XML格式的正确性。
" s/ j* V1 o4 O5 }/ h- y( v. F$ q组的本地化修改的例子: $ u- n; x6 X- ^9 `9 ^
! o& ~* C K! w3 [! F* P1 g: }3 S, u0 D* F
. G, b" B( m" x$ F9 f5 C6 D6 \# q
<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB">
. G' w% ^3 y! R- L4 ?<Property propertyName="name" masterLocale="en_US"> 4 A8 u8 f F& H* v" d3 N7 w
<Value index="0"> 0 B9 j- Y1 l( e+ k4 K
<MasterValue> ; w" e8 k+ k0 L0 |! x* e4 k! e8 F0 W( C
dba
y7 ^( v3 W# Z2 _9 J</MasterValue> 3 [( n0 g- Y2 d$ k8 R5 X
<LocalizedValue>
5 o4 S( o' N0 ^9 [( f; N: E8 u" Qdba : N; s8 c% V- h+ n
</LocalizedValue> - Q* O# x8 a! D. h6 P( I- l
</Value>
) q+ E1 s( M- x8 \</Property> h( K4 F( S% u: E. N
</ObjectInstance>
4 e, Y9 y# O$ c0 h3 m# i<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB"> 7 a& b& U+ O2 `+ G3 e& x
<Property propertyName="name" masterLocale="en_US">
) ?1 ]" x: k5 c2 |( M `! f9 F<Value index="0"> 2 a: e2 d1 r* g( q2 {7 d3 Q
<MasterValue>
) N) r" M3 w# p" E8 U& s* n/ ~1 p: Q0 _GF02
2 {6 c& |" | x' ]8 r. H* f% |</MasterValue>
; `5 ~: }6 R9 L: S! A N<LocalizedValue>
3 o8 M/ c; N! x9 M3 t/ ?6 A5 F" M9 H# I. F2 G7 w8 H
工艺02
. O1 @) d8 F3 r/ a5 H5 y4 }# I# S! e& O$ v j, o9 S* U
( U; \8 z8 O5 g</LocalizedValue>
( b- B! S; S* T# y</Value> 9 l& X2 ~# ~) Y+ C- c3 D9 H6 Z
</Property> 7 S* G* U5 H( J+ \5 H
</ObjectInstance>
+ g3 E; m) Y, d8 V$ P
& g2 ?" d- p5 e5 \4 C角色的本地化修改的例子: + b9 A+ z" L2 f( m9 B
# S: M" C+ j; v' R% y
; [1 O$ ?! `9 Q7 t" G% ]( ]
y7 l6 y/ n6 [/ o1 I
, u7 i$ g. G+ z
& m9 p) r; T/ S" n<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB">
3 {, z, F" ]- Y4 h; V. A<Property propertyName="role_name" masterLocale="en_US"> 2 X% b$ W7 U4 [8 p+ t
<Value index="0">
. s) _' J& u v' r<MasterValue>
# C* N* f, {/ U7 g" p/ m1 [$ o( bDBA
; {% G$ i/ G* T5 R/ t7 B( C</MasterValue>
6 j* t- o6 T! t" I<LocalizedValue> 7 q: P/ J7 y0 v4 [
DBA
6 Y# ]" `, ~! H0 k. @; s+ j2 G# q</LocalizedValue>
6 n0 f1 d4 [( |- W& z</Value>
& O) q7 K) [ O" u5 l; m</Property>
f9 v4 u0 p" x# I</ObjectInstance> ' A/ s4 O7 R) X* O+ D9 m
<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB">
5 r9 `) d9 \& \( `' A<Property propertyName="role_name" masterLocale="en_US"> " T, j. L6 m6 G6 J6 T5 B0 g4 y' [
<Value index="0"> 0 l5 H z' H3 J6 ?7 Z
<MasterValue>
' X" c w) w7 R- [: q/ V3 X/ oTester
9 `+ }. @, k( E, O% Y& N5 ]</MasterValue>
7 }& M$ L# X0 _- r# h, u<LocalizedValue>
; t: \7 |; j1 j: y7 G; }9 @( T7 c. y. ` v( ?* J
测试员 7 w8 e8 E/ V( {# ?& u. o
# `% g# g- e/ g- C, ^
$ A+ y5 Z1 I# p ~+ d2 n E1 Z6 p
3 `9 l4 d! j" E: v5 D4 p</LocalizedValue> + O& j: _9 o( u$ J+ a9 N4 _2 D
</Value> 1 ], l% F) P6 j- K' T; C( U4 f
</Property> 5 a) w" K1 d" J- W( n8 O7 J* U5 e
</ObjectInstance>. t5 H. Q# h- d5 c' @
3 I# M$ i5 x& |2 L" j9 G
" S6 m- P# I1 u& ]3 n% X% K n
6 c5 I9 Q( q& H0 h) h! k* {6 ^0 Q0 }. v, P
1 Z2 W; L/ Y5 m4 i
- \" ?3 X3 k2 o5 U8 a" U- ?8 u
# B- W& z; [$ ~* Y2 r* m" D! a
保存文件. + T6 | d! H% s* s$ @- Q4 {
) n0 U! q5 V x
5.导入本地化 1 w& P0 p$ T$ y
$ a4 |/ `' p: R, S在 TCDOS窗口中进行导入 4 P. A/ t+ ?7 W) G& j% [
$ h3 c/ s) t& `# l
+ U3 h$ v9 i6 m5 f
请把正确的infodba密码提供给-p参数。
" `" `+ @& f: n( p/ l6检查 # ~$ e$ D2 Y9 n2 A& K
* R1 l9 N% l( `& O- x! n Q用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称( ~+ g, l; `8 z2 Y$ K- d$ X
! [ ?# o7 u' R a) [
7 B% S7 p5 [& \. K V) c
7 z0 t$ ]8 H: ^$ O9 l
3 }2 s" ~8 j5 T5 R0 f. F5 R |