请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化? & n% f8 O7 I/ W4 Y
9 c! b% c T9 f5 l/ I# r
问题:
+ A- I+ B$ I& p0 ?# B3 `通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管+ L5 ^6 Y2 X8 t* L% r
2 a- G% t; m- P; y' B1 M5 p7 S1 M理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大, % t. Z6 r+ i. \3 i+ u6 E
并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法?
5 L8 B7 C6 x: D$ f# `9 F* V软、硬件环境:
" X7 b8 J9 w: Q1 Q! A' u' Z平台 : na 0 D i2 n& I, U/ V$ h: q# ?- b
6 e' x# o( J) fOS : n/a
. J- Z4 G4 ?9 j& c& g1 o& J/ Q* GOS版本: n/a
5 F) w2 P& S* R. \, ~" w3 ~7 ], q0 D% A8 T8 O- f- d0 a8 `
应用: 组织 Q/ G+ X- g, G2 J9 K1 B% p
版本: V10.1.0及以上 % C1 m9 Z( n. g; }4 i8 c4 w
- k/ {0 B$ E% w5 L; N V- v9 {
解决方法:
' H$ o6 r6 \, B4 k以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程, + n( o( y; i/ \) P/ S/ O1 ?7 `
其它语言类似。 ! S# T& {1 U% @7 ?" k
5 d5 ?+ m- M% j, v) Z2 g+ b) f
1.使用下面的语句创建一些组织结构,组和角色 , A3 i1 M7 l1 H4 u2 E+ J
请把正确的infodba密码提供给-p参数。
" l) _! H V( P% N% ?: W& L/ t8 r$ w k. G* Y" ~
make_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01
% g; `! Q1 J: y! z G5 Gmake_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01
0 v! {& i: e/ `6 H9 fmake_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01
" x* j4 ?5 S9 Y$ w+ e4 W3 n/ rmake_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02
5 Z- w: y7 o+ G2 \2 Y& jmake_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02
. e ?% k5 b# G$ amake_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02
1 m; b- u+ k+ ~% K$ _make_user -u=infodba -p=1234567890 -g=dba -role=Tester 4 P9 o6 i3 f6 `# M& t7 @
make_user -u=infodba -p=1234567890 -g=dba -role=QAEng
6 m1 ^ p& }3 }7 I' `1 s# T* gmake_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
+ }; D( d! _" F/ K3 N; D2登录进入TC,查看组织结构6 f% `- B7 o* C: j
4 O) {. K1 C/ c5 t) S1 U
3 c+ b8 a, U$ ]* w# Z3. 在TCDOS窗口中使用下面的命令导出组和角色
8 A6 l+ y; M$ A1 v/ H* k ~
+ E( C6 m. A& k6 Z- A4 U- r) |导出的文件格式是XML文件。 & |" D2 r, K( o" _- Y" I
" K' H4 C; a! s% |1 p7 f4 x请把正确的infodba密码提供给-p参数。 $ P: g/ A8 Z1 M' P L" ~, [- h
0 Q9 e# ~8 Z7 v! Q" W$ u
5 a7 H# j5 w2 d! P4.本地化 4 E" }6 v# y6 V3 h# H
4 o6 M( m: I( R% r, a复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml, , V4 Z# c: _) u) @$ y& m* z
, L4 ~, Q& \+ u2 E' z
用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行 # ^+ l$ v K/ d# h9 s
7 G. ]0 ^+ Q+ _! F
本地化的目标语言代码。
/ j3 b" |8 M: U下面是目标语言的列表
6 @% K, e, x4 W8 W; U7 T3 r. f H: n" `8 v$ e
目标语言代码目标语言
- G. B$ c9 {" V- e4 R) s7 e4 X7 c o0 Y' y: k0 v
cs_CZ 捷克语 2 o* ^$ f) {: w" n9 r8 L/ ^; I, I
7 j# b/ G' q* nde_DE 德语 ) P* H6 ^. h8 e# E8 W
: A! E! C' }! S9 P1 r
en_US 英语
0 [8 R% o# m) J9 g( c9 h8 m+ |& Z! L
' l+ z& N n: v K" P3 Zes_ES 西班牙语 1 k4 H6 D: g4 L3 k" W4 c
6 k# J6 a+ v/ K& @fr_FR 法语
3 v0 i8 k7 a* Z: I/ M# |2 o8 G4 T
it_IT 意大利语
! v: H' B7 ^' D0 v5 R1 h/ k. ^' K0 Q
ja_JP 日语 " M7 E6 M, g5 R
+ j9 l" x y+ K' p& ?* ]ko_KR 韩语
7 l4 a: j5 z7 D* J0 g5 w/ j8 N& j6 @
% g8 z/ x- f# V) y& npl_PL 波兰语
- U& S2 J, {9 v/ X' W# `) n: v3 `- K7 t" b1 f- ]$ D3 n
pt_BR 巴西葡萄牙语 0 d: S6 C0 y4 k
* L% }+ R* P) V" a0 [
ru_RU 俄语
. S' E$ f- g9 L3 s( r. V: Q8 Z7 ^
zh_CN 简体中文
0 _' N0 q8 @7 i4 h. ]' Y4 a2 R
# \2 _3 G) N& g! _zh_TW 繁体中文
/ y) ]6 p0 d8 t2 D1 D
$ W% s7 N) J4 P; J0 [注: 5 m/ A! L9 g) p8 U9 v/ f
) J, K5 i w0 n n6 O* n+ x根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后
( n S6 Y* b) G! b% h' v3 ]$ W0 W7 H8 g
的对应名称在下面的属性对之间进行修改。
. ]- S! F: A: {+ C5 \7 \* A: x4 _
% Z6 V" `& B/ c. L<LocalizedValue> . h( J5 _+ f2 N9 }% }$ A+ X
</LocalizedValue>
; F( Y3 I, h7 h3 ^# Y+ u& w0 o注:
) _9 _0 r# ]. ~8 ^/ \' @0 {) B0 o
2 ^6 I6 m" |/ V4 \, t如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。
7 E- E7 i" D3 z, M/ b; z+ R" y0 N3 l8 g" w3 T5 S5 u
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对 ! i7 {% i- }$ M1 d
4 |4 I: Y+ a0 n- l3 U里面的: 5 }) m- B- d, w; @2 y+ h$ F
' M! B3 p7 h7 ]/ w8 S% e* V( |
5 |/ D+ h, l8 w" s1 Q/ y
<ObjectInstance>
* a7 Q0 D8 ]$ f: V9 K* ?</ObjectInstance>
p! f6 Y: P3 s1 [0 y请注意保证XML格式的正确性。
& Q9 r2 \ m5 R组的本地化修改的例子: 1 P. R& p' K$ k
6 a2 X E7 x/ F6 i: V
5 Q ~7 R3 C+ F+ Q) Q9 B- }" X- b# ]$ e0 N
<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB"> % J- n& F/ S7 J$ N0 D
<Property propertyName="name" masterLocale="en_US">
* f. y: l0 v7 U, t5 S<Value index="0"> ; K/ r+ ` x9 C
<MasterValue> ' v$ G, q1 `& k9 ~3 e
dba
. P$ M* ~& x+ i( D$ B6 k</MasterValue> 3 S1 E7 }' |5 i, \/ i+ q
<LocalizedValue>
0 m) I! R. }- j/ X$ ?dba
; ]& Z7 q8 a7 L/ e* j( l- _</LocalizedValue> - t2 d# {" ?$ f! \0 i
</Value> " x" x- B6 v( A3 V/ p2 h8 D
</Property> ! u9 D0 Y. x2 d2 ~0 @% T+ _2 U: f
</ObjectInstance>
2 Y6 }6 M1 h- Q4 D! i) R<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB"> 7 p% o7 v& N- Y
<Property propertyName="name" masterLocale="en_US">
+ Z* n: ~" c% |7 l( [: c; U<Value index="0"> 7 H2 [+ r6 p& W1 S1 \
<MasterValue> 0 [) G& C! M% R- M
GF02
6 |" A8 m$ d- L, S</MasterValue> 3 W$ c; o- x' \5 L
<LocalizedValue>
) j. y% X( h% ~' P. u6 l
! } n* ~+ j" k+ m工艺02 5 }" G# y8 A% t! W6 x3 L N% N
- Z" ~; Z, b" ^9 t3 k- ]
5 c# i: X+ x1 l$ U# C</LocalizedValue> ' {& ~/ m: P+ k+ z7 A A) v
</Value> 1 I- }1 N# [. v% ]7 V% w# u I$ d
</Property>
8 n" y4 [( I+ \6 Y$ `$ A</ObjectInstance> 3 l- h$ y( x& X
( v* g# g+ h8 \# Z% o1 c6 N$ j角色的本地化修改的例子: : ~' W6 f4 N) I# V2 R; S6 y
0 W! ~5 L" n8 b5 \
& c0 l, Z5 x( o( }; ]) Y; J* T" T8 J; R. a( l
3 x1 b! n, L% n) i1 `6 o8 R4 m0 l
- l% r t) v% e% Z<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB"> ( ~ M0 _. V4 T" Q3 U( X
<Property propertyName="role_name" masterLocale="en_US"> ' m) l1 B/ P, y; Z2 F8 X; x
<Value index="0"> H$ i/ r& [2 l) L$ ?& |
<MasterValue> 2 m/ U2 F+ D' J, }' ^
DBA
' B; o! Z6 n; X1 E) B+ V: u' I</MasterValue> 6 E8 J% |2 w( _' k
<LocalizedValue>
1 O& a! X# M" z$ l4 n: K2 g" \/ WDBA
q. M& K8 C+ z X</LocalizedValue> 7 m( X% B+ t" D' }
</Value>
2 f& ]7 ?* O# m! f</Property>
4 l# p; ^) C1 Z& [1 L. M4 j# v</ObjectInstance> 0 P1 j% k1 d" |* |+ r# ~; m! H
<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB"> i* D" a' ^# Y: i0 C# U8 y
<Property propertyName="role_name" masterLocale="en_US"> - ~! q7 H+ [7 p# C1 b! H4 Q
<Value index="0">
& y1 [/ v# X, u+ C2 [7 f7 n; c<MasterValue>
- d, B. m5 J) I( |8 ^2 ~Tester
3 T# D# n, r6 `7 r) L# G</MasterValue> 7 b, `* \. k2 a
<LocalizedValue>
9 _0 }: ` f0 r
- a0 Q7 C& n3 y1 s. t7 |) \9 ?6 I0 z测试员 , f" P: j' C L+ j- C, N, P" u
% `& f( D) r8 `. w" B
% Y! q! E1 n v9 [2 Y4 U6 r" X
) \( S: V t8 X7 {& V) i</LocalizedValue> , |, a8 { w- f' E! F' X7 B# G
</Value> $ Q! L4 C# ~5 j0 g
</Property> ! P3 c9 b8 @1 i5 m+ E6 p- t+ {
</ObjectInstance>! C3 n- e$ S0 \ r. c# p
: I) Y" h2 `( _& A. n, z) e, w
7 _2 P6 l& |. u
$ V& J, e6 K0 E( ?5 O) \* x" S5 n* u2 V; [& X, x
/ w" x" @/ c! L Y/ l: q: ?
7 m3 d2 y- e. {+ b6 `
5 L# J: `: G, X0 R$ Y3 n保存文件. " b2 w+ k) B# f3 j
0 Z" K5 {" C% J& g- ~, o5.导入本地化 / e o9 W. U5 P5 b7 g6 y* c+ [2 Y
6 y9 d0 `, h) q5 G6 B4 S: c( P o
在 TCDOS窗口中进行导入
+ S L2 ?% L f 3 @2 D- H2 z. a' z5 G1 j, E b! R, q
4 O. C& _% |. b) @! T$ V S请把正确的infodba密码提供给-p参数。! ?8 w/ H# H- R* `+ ]. U% S
6检查 ; Z' g* {7 r- V" o$ u
% N9 H' z$ n+ c: B9 [用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称- H9 t- `9 @/ f2 _- U
4 `& t1 q$ z' u5 N; s
, p% ?8 [6 H& I1 y7 D
) }3 T' D# H" k) {$ v/ w
' [3 i3 y( m) F5 W# a7 ~+ }! y |