请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化? 8 t& f1 N1 g y, z: \
4 m: s7 e8 x% [ e1 K! g8 `
问题: 9 d- @& M" `" H. M% L9 m6 z
通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管6 {% u* ]) ], B
5 w$ q7 }, X+ p$ S/ s D# z
理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大,
6 \; J. t; G5 P并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法? ) B* r3 H* U0 s$ F" \( L
软、硬件环境:
- s" O1 I! ?" {平台 : na
/ p& }0 j4 {1 g7 {5 R- p
( b; V% \+ m: p g. ?! D9 Z8 qOS : n/a " s9 |" y8 X8 B, b+ P$ a
OS版本: n/a % v) Z4 Z/ D" k" O) B
5 `" a$ b) U1 d9 j* w5 m
应用: 组织 ; h" E0 k+ @! O- x+ }, S
版本: V10.1.0及以上
: J0 A, |6 I. `# A9 ]1 |% b; u8 p. m% ^/ i+ e$ h3 }* {9 D
解决方法: + x3 ^4 Z3 V7 {! c- q# p
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程,
/ ~5 } C I. o6 Q其它语言类似。
+ a; P- K8 Z* I+ _% j$ X
! |: h) U' u6 F% @3 c3 H1.使用下面的语句创建一些组织结构,组和角色 9 \- o& K) c k, r% b
请把正确的infodba密码提供给-p参数。
7 I* p; F" {- t" r* ?% j$ r- f
U, ^6 A3 L, d# }% s1 D/ F5 @3 \make_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01
& ~- B% z7 v% a4 ^$ omake_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01
' b9 ]9 K' ~- K2 K5 W }! z& zmake_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 9 r8 X. r/ Q: q9 e0 `# g* ?
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02 & s/ l+ [- D2 P. x3 d, y" p3 ~6 _
make_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02
) G: D) s/ a# I6 \5 I, Emake_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02 * c0 Z! ^% F- Z( m" S6 S# K0 b
make_user -u=infodba -p=1234567890 -g=dba -role=Tester
# s4 [/ r( W! f1 o' z# Amake_user -u=infodba -p=1234567890 -g=dba -role=QAEng % \; }7 y) q. T4 j- C# r7 a* H
make_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
' k0 l$ O: F/ }8 E+ }% O' {2登录进入TC,查看组织结构
2 U" K! \; B! b
5 o e. R! r7 o' _
& a5 ]8 L, {/ Q9 C3. 在TCDOS窗口中使用下面的命令导出组和角色 : q0 d) a g: Y$ C% M
* H; Z. }& `! t& o% r# V
导出的文件格式是XML文件。
% h6 B0 Q" B5 ~& ~; d
) |' Q) g; ?( l7 \, ]# G* ~6 a1 {请把正确的infodba密码提供给-p参数。 ; r4 X* A& u. e& W7 S
% ^5 O _7 `+ S8 o) ^ U7 r
# Q7 i1 v7 `2 a$ H
4.本地化 7 ?5 e) }/ ], `; X0 X( T0 `
2 ~# l* G; B# I) J8 R- h# G/ d4 r" z复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml,
$ M, q3 F, N2 k1 j- R
- X2 n5 G3 }. H/ Q用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行 ' B4 ~+ h0 m# c
6 |, S. ^. I3 @* Q1 F- |6 ]# I7 I
本地化的目标语言代码。
) r9 B, r: F; S1 |: Z7 ?下面是目标语言的列表 + e; e9 P7 n, N3 S3 t% B
# t0 G3 K- x4 ^" K( `/ h' T1 }: c
目标语言代码目标语言 3 r# \5 L7 @ q& f' [* S! l
5 z. \% U0 P' @. K# S" {1 Rcs_CZ 捷克语 1 E( k# u1 o3 x3 ?8 p
; ^7 \4 P; J( G( O
de_DE 德语 ) G; r. H4 o3 s- h
4 s I* |3 Z' ^% a2 R. N1 een_US 英语 3 h1 g0 N, i" v/ p, K9 {
# K" u* N+ _" des_ES 西班牙语 8 D; \+ @* @$ p8 E. Z' {9 i6 ~" ^
1 n( |. y: H2 \/ I6 o( ~- rfr_FR 法语 8 z& Z8 S2 K. X9 g6 M/ R- |1 w; y
( _1 ]+ O& I: U \/ ]; U7 [$ \# cit_IT 意大利语 : P: z' g; v7 B8 R. d
1 l1 S" s& o: ?; E" Yja_JP 日语 & p. `2 k" w2 ^9 H# d8 ]- u
& W0 j% J, B9 d$ ?ko_KR 韩语
* g5 f$ j' k W' L- W( Q
" u: n/ m8 K# c! u/ y( O4 Tpl_PL 波兰语 5 y8 A! u- p6 B- M1 O- O- Q0 D
9 I* D# C. D% J
pt_BR 巴西葡萄牙语 1 e/ ?, c$ Z$ u
! e6 \' u9 [; M8 q% W# G2 `5 H" r
ru_RU 俄语
0 U* o# Z6 A- q7 s& H7 y: ]5 i
* U) F* [- y0 [2 Ezh_CN 简体中文
- K, j& b d) g0 {- D# d( S' D0 \7 W. F. X" D5 O) e. P, _9 R: t8 ~. y$ y
zh_TW 繁体中文 ~- v p: N% |, Q/ c1 w) H
: l' f' K$ P4 T" E注:
# n; v, `$ ~' P8 C6 X/ b# u- e6 ^! b, f8 d6 T& L
根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后
4 |; R9 q# ?" o. P& I7 s2 d# R. ^, Q$ C% Q" d' J9 _2 }& I
的对应名称在下面的属性对之间进行修改。 ' `' r4 J, k+ Q4 V5 f; d$ I- s
- ~8 F; g# X9 E* ~4 u4 E" g1 w! W
% U! D* G, ~/ y<LocalizedValue> 6 F4 ~; s3 ]+ [! N! R& C
</LocalizedValue> 3 y7 k$ p2 B6 A7 I7 _: z% n
注:
/ ]0 }) P5 V' @6 j5 k2 x' T% [. E5 M8 c) H- o6 E
如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。 1 k; B2 B9 x& w$ B4 ?5 j! t2 h& I
) n4 |8 l+ d4 |- t
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对
' j' x+ h6 }7 b9 N+ a3 @# M# \$ G
0 e9 Q4 T% `! M4 F. G8 f里面的: 1 N- L6 A0 B }7 s) B) D. z
( t& U2 i$ N X% h. w% ?1 y- C% B# d
<ObjectInstance> 7 `3 p( G0 V N% S
</ObjectInstance>
' A! D! N* }3 w, i' z请注意保证XML格式的正确性。7 q. p6 \6 t1 z4 k/ M
组的本地化修改的例子: 4 [, ?" q6 a* U" h$ t) ~. S4 ^. x
, g) B- ]0 Z4 s5 ]1 G6 H8 U
6 v$ J2 V8 v0 L @! ~# J3 [- ~' f' o. O, [1 a* x1 k1 p
<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB"> 6 N v' @8 @3 L& y. V5 P
<Property propertyName="name" masterLocale="en_US"> % P; O( M- @; Q2 N
<Value index="0"> ( l3 N, z V4 \
<MasterValue> $ Q: l0 T5 w$ \& n2 j5 w$ A# I- m4 B
dba
# t5 \/ S( N. m8 R2 q3 F! Y</MasterValue> , |0 R' Y0 ^5 X9 P5 {
<LocalizedValue> ; o9 o, l* i. k+ y2 K* v
dba 7 \( M# J; _2 ]2 O, c, I
</LocalizedValue> ' S% x/ i% N ]; {- r
</Value>
7 G+ `3 y0 ]% X7 }5 D4 e Y4 m) |</Property>
# I: O4 t+ w- k8 E2 |, u9 C: P+ m, _</ObjectInstance>
: F) ^5 j4 [3 X4 B' v<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB">
5 Q {# |5 Z3 g5 b# L<Property propertyName="name" masterLocale="en_US"> 5 ^& m4 H) L* b# j. E. Z
<Value index="0">
! J& g" A% t2 w3 n$ X<MasterValue>
& f4 a9 y8 [0 ~GF02 8 u' \6 ^9 X B3 t7 }
</MasterValue>
2 [/ Q! v5 n5 M0 d* ^* _<LocalizedValue>
- q7 c$ p+ L5 ]0 n3 S3 x: `1 C. M0 ^( ? o( U! R
工艺02
! G. j" r$ C8 G3 l2 ?+ q2 g) j) \ U2 B( s2 H
/ T1 v W7 W* A' F( O9 w: q6 [</LocalizedValue> 0 j- k% q1 u* Y$ a) U/ P, C5 H
</Value>
" X: B/ _4 M5 X6 J" F</Property> * o9 U2 {" f3 e; _) J& M
</ObjectInstance> 9 E" n ]) B- R5 z+ a
. w- a# g0 z# c( K( D# F
角色的本地化修改的例子: 4 C! U5 y7 u" r8 C2 _7 e( I8 Y( T
% n8 @$ t& K& r
; G: _; o& O3 {' Z* [
# j* V. E. w' d5 d/ d6 M# L+ Z6 ^, H$ B6 f2 Z; J
/ e0 [4 B% i8 u# y( N<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB">
5 [: f; U. q+ h2 d3 E7 W<Property propertyName="role_name" masterLocale="en_US"> - U+ C8 ~, N. t+ w# V
<Value index="0"> - n3 M/ Y! ^: U8 D9 g/ y
<MasterValue>
8 y r3 j; }% |% T" [DBA
! t) y3 E# v" d$ ?* @, s, }</MasterValue> / |9 S' ^# Q/ S4 U
<LocalizedValue> 5 b# ]) ]9 m5 m s# t# R
DBA
8 r3 C n" J7 [- z* C</LocalizedValue>
2 _: j6 V9 J k6 e; ~! R$ P</Value> . }6 Q c1 u. z6 s4 P
</Property>
# N, W) i' g2 ^: K3 X! r6 Y. }8 Y</ObjectInstance> 1 c6 Q; a6 W' s* e% U( d |
<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB"> 2 |! T( O+ T' x$ m
<Property propertyName="role_name" masterLocale="en_US">
, V/ S0 f5 z- O<Value index="0"> . ?# z t7 j4 L: X) v
<MasterValue> / |. q# P3 `6 O8 L
Tester
" o+ Q1 X3 G% G: }- [</MasterValue>
1 Y8 N- C0 @, Y0 C<LocalizedValue> , c+ E7 ?, u- W9 l0 a7 }) u
8 R0 m' O5 ]7 O" Y( k5 g: ?' W8 m/ v' w测试员
7 B2 X* C% \9 e) ?. ^" z2 E; `8 m1 {8 M7 d9 B: z
6 A( [5 Y0 [" X* u$ _% [7 K$ ^
5 |$ W# q9 V$ l</LocalizedValue> 6 k. R, W5 H; x- t" `$ v; D
</Value> 1 K7 ?1 g' |. i
</Property>
# P; g3 [3 R4 D# }$ P' h! c</ObjectInstance>5 R2 G% p+ O: G' ~) G# n
2 f3 z' n) X6 @* }- J
C- T. {5 C+ L! p) q9 X9 |
) I' D0 A8 y6 Z6 v, N" W# ?# Q# h; H4 ^3 }: }: X
8 H# a4 u+ \' R( f K
1 A& ^ z y0 t; ]0 C4 N' P+ k4 p- h/ p2 a9 v, `
保存文件. . Q4 k* \$ }/ d. X0 R& U
, i2 E( _; v0 D5.导入本地化
# z- T5 J% g8 x3 w' V
' ^1 i8 u# P, b+ v5 o$ x在 TCDOS窗口中进行导入
: D: t6 P8 F0 w- t( S: ?- r 3 y8 i! W2 v- w% {% u
5 y, a9 B/ q0 h请把正确的infodba密码提供给-p参数。4 y1 o$ b9 g% g5 f; b6 Z" p
6检查
6 f) G5 M4 s8 C i2 d+ C8 L+ `. p1 \2 J: f( M
用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称
4 Y( w/ R: b, H9 Y. ` ^' V
6 L) `; Z! n0 A% h8 e8 E% N# P* o7 h5 E- @5 `! q( Y) ^
7 z3 B8 ~/ K. U6 ]+ z
, H+ n9 ]$ n$ w4 C |