请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化? ) q; K( {0 `% T' c
" B7 }+ y0 a! l1 M5 K! H
问题:
# }" C0 t4 |9 m% ~通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管+ h) y7 S" B. j- @: B6 b0 {5 K) {6 j
$ D5 b" p4 i9 Y6 E- X- x3 S0 W理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大,
+ |0 W! n( y4 R% h: J' }8 q, f并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法?
r& w( R1 ]( t2 s. r$ E6 Z软、硬件环境:
( Z& D- V- u* H; E% b平台 : na 2 J; W& j2 j7 I B- z. ], P: \) O
- `& u& N6 f6 Y) C! X7 {OS : n/a 4 J! F E P# ~
OS版本: n/a
5 M) N, {: Y4 c7 g
$ t5 I: w7 _7 e9 o$ H应用: 组织
! g- _, t* \/ e) |# \1 o& }0 j9 N版本: V10.1.0及以上
* Y/ U. O+ C' [3 \% M, n
+ A5 k- v) E$ D解决方法: `: `/ Z# p$ T: q- t
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程, ) q {# o6 x' _$ ^$ ~
其它语言类似。 - ], h0 |* i" C& Z. _
1 O, E0 z1 F6 w- r- _* H4 r1.使用下面的语句创建一些组织结构,组和角色
h' l! V# v/ z+ x+ o请把正确的infodba密码提供给-p参数。
3 `' o5 ~) l; g7 ? E3 X
9 ]9 K, w ?3 m% T: g: e/ H2 Vmake_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01 ' U, I6 L( o p- C3 \9 B9 W: k: V! G1 y |1 \
make_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01
|( P7 `5 F; G& |9 p& P2 \ Q" Kmake_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01
- |$ ~' r0 Q! t/ hmake_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02 7 V1 u9 _# `1 y- @
make_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02 ' Q9 b( X0 R, C8 d5 Q: i) o
make_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02
5 k( F9 e4 X2 [: ^make_user -u=infodba -p=1234567890 -g=dba -role=Tester 7 L4 v* p% G# n
make_user -u=infodba -p=1234567890 -g=dba -role=QAEng
8 Z- f5 m) E( K4 P8 r, U- dmake_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
2 `& J' r' q! z7 |* I( F7 M2登录进入TC,查看组织结构. y) J' A+ A- T$ o
) X u" v/ R: U' H; y9 ^! Z- m0 A( T |, r# ^5 \, q
3. 在TCDOS窗口中使用下面的命令导出组和角色
% q- Z+ [& g T. K0 ?- V( l
/ ^( K+ Z ^. E5 I$ J! u导出的文件格式是XML文件。
/ T) Y4 s! F: P4 [# D4 S
+ I0 P+ t1 [, k4 J' g# l) x% m请把正确的infodba密码提供给-p参数。
, Y5 Z' z) v; o; J: m
. U M7 L0 y0 c+ g% O w6 a/ Y: y: U* V" j
4.本地化
[% E" X9 j! t0 z7 y1 K" B
* w3 g" L* [" {5 r; l3 |复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml, 8 y$ s. q5 a9 e1 [- Z8 E% c8 ^
: Q' {# ?9 p' |1 w5 F+ h% a7 I用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行
! ^5 F" u# a# \0 y( c4 J6 @0 I% h( }6 n% {- y1 T- Q
本地化的目标语言代码。
8 b0 u1 y% x7 J3 g$ w下面是目标语言的列表 0 @4 {8 V- N9 s2 u2 x- N3 X
: b) n6 m) k8 h4 x ^
目标语言代码目标语言 5 X7 B. @- i! S0 a/ O9 Q+ I
6 {6 r& s; T) M( _3 Z" [cs_CZ 捷克语
6 m7 K7 C! ~; q/ A5 h3 `
4 W2 m" b9 k" w* c6 V( ode_DE 德语
6 [7 p# w) R$ ?
+ }+ C( @9 C7 ]8 c/ E9 ?; ten_US 英语 & {& K1 Q4 h& I% Q* O
5 @2 D& v; m8 r7 g# Q% F
es_ES 西班牙语 / Y. W- c( [$ A9 O" B$ z: ?
8 ]4 ~ G! @4 n9 e/ S) efr_FR 法语
+ c* l7 n5 Y% b) o4 I M1 Y
8 h+ d3 z0 z# `6 H( _4 P, l" w) Ait_IT 意大利语
; e( m, }9 w3 ^: Z; P2 s
Z9 f1 w3 {" U, L5 r* Nja_JP 日语
9 n! _/ j6 E" b7 b* Y
% k6 w+ |% q" e! |% {3 M/ Dko_KR 韩语
8 F5 _+ P+ Q3 n( ]$ T1 }' M% T1 z1 G2 P3 c
pl_PL 波兰语 N% y5 H, ^% j5 r9 |) F; O/ |
- |8 p# u# u. i! i J2 p- N
pt_BR 巴西葡萄牙语
; l5 K6 z, j& t' b) W, W
8 P/ L" L) B x" d" d+ Bru_RU 俄语 : W4 S( s2 K. i; Q$ D( F5 [
, J3 |' A5 h- K2 j; u. ?& vzh_CN 简体中文
. u8 f3 D: v' w. J" [( r* w; Z; R
! f9 L# u1 D! ~6 `7 m- b1 q2 Czh_TW 繁体中文 6 Y' Y6 f5 g6 r, H ?7 i
. | Q& K3 K/ L4 }! v+ B, r
注:
! K/ e" A& C/ F; I6 {: [: Z& ? [3 ] d. D/ R5 j1 X
根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后 3 _$ `6 `1 r3 q4 u# m
' {. U4 L8 }7 @2 a* ]; I- F
的对应名称在下面的属性对之间进行修改。
( c* U5 U2 k T' w9 T+ l M
+ a ~( A% _5 N2 z8 V+ N; p, U; L+ {- e% }9 I
<LocalizedValue> & n& T# v! K6 @* w) O+ E7 n$ i
</LocalizedValue>
/ j3 ?0 X7 N( [# M! r- g注: ! S8 R, h& @, C* V7 z& Y$ c
- s6 [; m2 A: J3 M7 B% B `
如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。 8 W# S- t" ?$ t6 \( m9 B
0 C/ O P) n2 f
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对 4 W" @: S" h& [( E) n
+ Q; K+ A J" x7 [
里面的: 1 {8 k5 g! L2 o4 J
3 j4 T9 q {1 M; `7 m0 p
& l: ]& h( e) i$ l6 j& [" M<ObjectInstance> % i7 p0 h$ I, m, P
</ObjectInstance>
6 E# J/ v4 Z% l G请注意保证XML格式的正确性。- B# Q- I, @9 @$ y: D: p5 V
组的本地化修改的例子: / z) r) H9 `& U" t+ b
" L0 P% o3 ~/ C! }3 k) n" E
k9 j8 J# \# u' Q
; Y3 n! E# O( U% e<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB"> & N; A- Y, X. m$ M- e6 _
<Property propertyName="name" masterLocale="en_US"> * Y% }* q$ d7 y( O! V5 N
<Value index="0">
6 q* I4 \, [. @" k<MasterValue> $ x/ I, S3 _ q5 F' `5 Z! b
dba
1 _( @3 H& m+ K/ P/ o2 j, o</MasterValue>
* T* N- y! v! _2 b+ o9 ~( U<LocalizedValue> 1 m. b. s# A8 }+ N: S
dba ! C' C4 l$ x! z! t# i! D8 x% G
</LocalizedValue>
1 J$ g' A2 |. ~8 x1 n5 k9 S</Value> # k, i! V4 p1 s2 o
</Property> ' W: ^5 D5 D% l5 R
</ObjectInstance> 8 N, Y' G1 ?/ ]( v3 t
<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB"> % m! K. n3 @: D: K
<Property propertyName="name" masterLocale="en_US">
# F, t3 f- Z9 E9 }: ]) G<Value index="0">
/ b; A# P7 V% g: b) G<MasterValue>
Y/ {7 n# U- [" i# U( {GF02
" ^: \6 C" B& @. t# y. ~</MasterValue> ; s `& I2 W- W1 M# t/ E
<LocalizedValue>
; v* m' Z& ?- z
6 d( j$ P, t: m7 V9 G" o# }8 |工艺02 8 [- Z$ h1 ~! M
3 Q: C1 Q, X% U+ \- k* Q8 \
|. s m; L" u! a0 f \. \
</LocalizedValue>
4 j' v: q# f2 w% ]: V9 u</Value> 8 u8 m6 P2 }0 `) Z; @: r* i
</Property>
; A3 L8 f# G/ n3 E/ W1 N5 P</ObjectInstance> R' [5 `, m- Z, k3 G( ]
1 M+ ?4 H; o0 a F; A) [/ a0 S角色的本地化修改的例子: * l: j' _! C7 |5 |% c/ P+ c/ ]
. P' o! ~$ C5 C3 Y% L # y: \2 _ J+ a6 ]" a7 k
6 d; ?6 u2 ~) T) p% F, y
: T/ A; |5 c* y' ]) `( Q8 O
' E: D* f8 C9 S$ Y) N k<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB"> 8 R" W. `6 W4 T# g
<Property propertyName="role_name" masterLocale="en_US">
7 i6 B# o$ j2 s7 r<Value index="0"> # g' R% O' ?. x, P4 s7 Y: Y9 M/ H
<MasterValue>
5 O8 W7 O+ O/ L+ C% k% g3 s/ B3 w+ [DBA 4 O! Z; g I2 W1 Y
</MasterValue> 4 f3 k8 j% j- w* r1 P! f
<LocalizedValue>
2 o0 f9 ~) f2 |8 o* k: I7 _% _DBA : f) f0 W- |& e5 g% _7 Q$ g
</LocalizedValue> s4 V+ h2 M8 q. I
</Value>
, V# \% \% c, J3 [</Property> . S6 ]; l$ x9 {) j. i
</ObjectInstance> 6 b( D& y3 |, d, ?" h h: Y2 k6 X
<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB"> 4 W6 B8 I" m6 `% C- k2 q
<Property propertyName="role_name" masterLocale="en_US"> + Z0 e u; p g. S
<Value index="0"> D5 E9 Y# U1 g5 ?1 S! Z
<MasterValue> ) Z2 X$ Y9 u0 u! t/ @: r+ [
Tester
J w% z# f* z8 L2 i</MasterValue> % W4 q5 A6 v) A- m o
<LocalizedValue> 9 j$ t6 Y0 o" g7 _: Z1 J" ~
@/ c6 i1 [1 e' H. r
测试员
1 C) ?5 B% l6 b/ }1 ?/ z/ a% G, E$ ]0 h/ @) a, ?9 |% E
8 e6 m; T2 @" M4 {3 ~# i! w, C( m! K5 e* l! ~3 z6 L
</LocalizedValue>
, K, G! M: d5 B6 w- d5 z</Value> - @* R" u6 D8 E, H8 ~9 g; q- H; ?! U
</Property>
. J8 |5 M3 c, p- q4 W</ObjectInstance> B* z! o( T( x! e
- Z. R% ]" c4 q0 H; N7 h' L
0 E9 N% r3 @$ O. T4 u& Q) L \ ?# K! G g' p% d" x/ T
) x: @9 N% q) a* R1 {% ? r. W2 M2 c* {: x6 |) ?+ U+ |+ a
$ `* m& u7 e n2 i4 H
! i5 A; H' ], ~! |$ ^: G/ k保存文件.
$ ?2 W, u: N z* Y8 O/ { B" G3 E& o& S* P
5.导入本地化 # B1 K3 c6 j5 ^, r6 w" L
. |! V- \7 x" o( D h在 TCDOS窗口中进行导入
( a9 v# Q3 ]. x
0 j- T$ w8 D; i
; |. H* l) v/ k" k& A请把正确的infodba密码提供给-p参数。3 j# M; ~7 o* b* z
6检查 % Q: `3 B; C' \3 }: Y) S: C
4 Z/ Y6 E( N$ V+ B用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称
5 O# m/ @4 A6 O2 n2 x
- ~5 M" B# ~3 D& u
; ^: a0 x( N5 M/ [$ u, M5 g2 ~
3 C3 L) N$ g8 v# |% o+ M! a9 _( t! Q
|