请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化? " ?. Q. j9 ]7 w# s
3 N% ]( q+ D4 o1 p# |! r
问题:
; B; u; y# `4 O) `通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管3 g+ g2 y% j4 x0 o- D, Z, ^/ ~9 S2 U* \
$ h% p& Z% `8 _9 E
理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大,
) J+ H0 b3 k' R& t1 B0 u并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法?
$ V1 Y) g. J+ \0 [1 \; A4 e' l软、硬件环境:
6 u% s" B. L3 {8 L平台 : na
& I/ r( i; L/ H- r. S* z; X; F: G( L* k9 v
OS : n/a
3 h$ r1 v" |+ W3 NOS版本: n/a 1 J0 U; v( J i0 c p8 b2 S) s9 N
/ ~1 A' i) o) L" \6 `/ q6 |7 C
应用: 组织 # K V7 ~2 C! M8 @5 C: g! U
版本: V10.1.0及以上
5 s* i0 O& S0 T/ N: V8 K: [7 |* }% s9 S
解决方法:
( f! L$ [, s8 V* b Y$ a7 N+ T以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程, ! i" u3 L; B7 a/ c/ d
其它语言类似。 , _0 S1 l% T, j7 g
+ y& N" p3 F" L$ @, Q3 f! t
1.使用下面的语句创建一些组织结构,组和角色
7 w. t1 l, ~5 ?: V请把正确的infodba密码提供给-p参数。
: u' Y X, A5 U7 b L6 {$ G9 ~9 H6 ]8 K
# E$ G0 J9 @2 l% t7 g7 b# [. w3 ^3 D3 Nmake_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01
) M/ A3 `+ g* `; @) D1 a# [' J" S5 Pmake_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01 3 X5 u+ p8 W7 ^4 F4 E% |
make_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01
4 h0 ?6 P% u$ Q. ^make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02 / n) h0 q9 l, k5 ~7 ~8 E# t K' d
make_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02
% s" f. K$ U0 r) G$ v. Wmake_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02 # x! U+ z' g( b0 f0 P
make_user -u=infodba -p=1234567890 -g=dba -role=Tester / y% ]+ f9 _' \
make_user -u=infodba -p=1234567890 -g=dba -role=QAEng 1 H" o; x3 G' F4 M
make_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
: P1 F# @5 q% B" b2登录进入TC,查看组织结构
" B7 h8 `" p9 ~2 G, c& K
# j; F! K' b2 T
; @- H0 c- p# N+ s& M* ^- Z$ ]: I3. 在TCDOS窗口中使用下面的命令导出组和角色
/ V% @: d4 |' Y7 M7 K1 A8 T6 X8 T) ]6 g* P1 Z7 y& X" |' c# P
导出的文件格式是XML文件。
2 f, [) a1 X2 _9 w9 p) b
# u2 k8 V) v/ z( O' H+ ?请把正确的infodba密码提供给-p参数。
+ ?" ~/ N$ \: L$ d' H
: z9 ]+ N+ Z6 k' ]
+ @5 t2 W" E) r1 o( M; h2 e; c4.本地化 " l- C, n7 a- L3 j# [5 {
* m% u* c3 M* m$ L复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml, u9 L% \( c1 a& Y9 X: z
( z8 [1 d1 A4 x2 W' ]用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行
, @) _& j+ g5 u% V% G5 K9 ?
' ^; g$ w E8 I本地化的目标语言代码。; Q( C, M- `1 y( ?8 a
下面是目标语言的列表
4 o$ L/ z( d0 P5 e9 k: q! a$ ]9 _ k4 @. w ?' v- b4 m
目标语言代码目标语言
1 u8 ^/ C3 H% J y
8 Q; _# W! v! M7 R4 o# ccs_CZ 捷克语
3 j6 N+ S$ W& e* k1 e3 o/ S, u5 f0 d0 f) H+ F3 H
de_DE 德语
, f8 D- Y, a- G1 p$ \$ \; j) [; x3 |& n P, t. @' J/ T# {9 U
en_US 英语
3 {) i; R8 ?7 Y1 L, Q2 Z3 T. g4 z1 u; g6 ?* ]
es_ES 西班牙语
% w4 y2 E! a# a0 p# C% d% R5 `* [ b3 P& s; n
fr_FR 法语 ! _9 D4 N) q# G* C% U) W9 m- w
% C) v s, g& U2 o4 zit_IT 意大利语
$ z1 W' r: {0 [; y: b! N# m+ Z; R& p) A7 @) w6 N# V, \
ja_JP 日语 1 P, K9 }! w# I/ Y! r( R9 l' L: ~
1 o: `4 `. Q. R i. Q/ T/ o, U& wko_KR 韩语
! y0 o* F- u6 o& ]5 }3 w
% n/ S7 a3 O. D6 J8 fpl_PL 波兰语 * X( {- S' U% g( R7 e2 X7 u
# C5 {' A: l+ G. F. c. a; c% Y
pt_BR 巴西葡萄牙语 ) c2 F y" F0 ]* B8 Q% O) v9 ~1 I5 N
/ [7 s- I6 S N0 Z
ru_RU 俄语 ; c7 q; Z( r* E4 R5 |* E6 p/ @
P4 z& z, T% B% G0 N( h8 s7 Y
zh_CN 简体中文 - w+ G$ K8 z) h7 x
6 e8 n; x H) T m+ w# Zzh_TW 繁体中文 0 }/ I* H4 D1 e5 P9 l! p0 L
! {$ ~: }8 j2 i% c" ^- W: W
注:
. T. O0 @5 ?0 r
( x7 B5 K% J4 l* m4 k4 U% R根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后 # [9 v7 q( |- g) ~; I
7 p# e5 f# h: y# A0 F
的对应名称在下面的属性对之间进行修改。 5 |% b' I: a2 V z3 t% l9 J
3 U$ z3 w3 d' m/ D
0 }( ?7 M0 V2 _( S) M<LocalizedValue>
! o: o' H4 M2 X8 _0 S3 U0 O% g8 q</LocalizedValue> + A8 a x; m3 v) L+ @* z+ O
注:
* S0 X: V0 Z6 c
9 q( \! k6 H& S+ I如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。 ) l3 D. p" q: \5 h
2 B u* M& Y8 t. d
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对 0 o0 ~' N8 m* w1 u9 |1 `3 Z" w
: ~$ C. Q7 ~3 a: b里面的: " h5 u j! a: l/ f
5 W1 E* |8 s) e: {
% B$ [+ f2 Q$ D3 g$ |: {
<ObjectInstance> 0 {6 I/ o1 `+ F' ~1 U
</ObjectInstance>
% j6 o+ L/ s P# S8 H* a# p! @/ T请注意保证XML格式的正确性。1 Z0 [% e2 }) d# X
组的本地化修改的例子:
- n" g: N& ~9 {1 h) x" d7 k
: s; q* q# c, u; j9 Q
5 V- [6 w5 i% m9 a4 E: u2 v) Q: m# t: [9 v. F& @
<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB"> 2 X: `0 S& X+ u! {; v- S
<Property propertyName="name" masterLocale="en_US">
3 [. `9 P4 |- o" `' p<Value index="0"> ' H9 L2 w/ ]8 d y- Y/ d" ^3 ]
<MasterValue> 8 u& Q5 z5 A7 o4 d
dba
* b7 p! [9 Y9 m. @5 M4 C+ u0 e, r% @# y</MasterValue>
1 R7 c' J! |! ?7 B2 A! M5 ~<LocalizedValue> ( Z6 r1 x1 h' b4 O/ j! E7 V
dba " l& l5 L9 R5 O
</LocalizedValue> Q, Y/ c6 L: C$ P
</Value> ( [: ^" c% C: }2 _6 G/ |; b
</Property> 9 ]3 b* y$ e- L" r
</ObjectInstance> / _2 ^/ w# Z1 _, H" \- |
<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB"> 6 y0 y' h! c; K1 q# s% n
<Property propertyName="name" masterLocale="en_US"> ( X0 _4 X9 E$ u1 N
<Value index="0"> 0 H& B7 M& S. |* Y, m8 ]8 k/ ^
<MasterValue> 5 M& x4 C2 ^. \0 T
GF02
0 ^' F( p: {4 k/ W! }! u</MasterValue> ! z: ]5 p& W% Q" _7 s$ {
<LocalizedValue>
8 j& R8 J! V( y$ E
- y" z8 L' E0 O* P% X! H8 z工艺02
9 j1 V& e4 J+ M9 I8 I- Z( L7 e: n5 j8 e; m
7 w4 E$ S" ]* B7 Z, Z6 Y: D0 q
</LocalizedValue>
: p* Y/ K5 b8 M! E- B9 q/ G</Value>
' c: R* @4 E' T: ~( ~, k7 k</Property> . g. \: v! v' Z8 a3 u
</ObjectInstance> & P3 y* Q; T* K2 L+ K4 C6 Y
2 p) X; [# c& N/ Y角色的本地化修改的例子:
9 n0 h& K4 A g+ ?" ~5 f
, Y- I" E% w0 o1 c& b+ {; u
- E( c, m+ o4 ^' i, A
$ \$ e# W7 U p+ s; B
! N" c, ]) `+ |2 P& J8 k1 g$ a0 K2 L! l: v( X
<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB"> ' l7 @% G, @. O2 x/ t# F2 ^% k- |' M
<Property propertyName="role_name" masterLocale="en_US"> " p! K& D4 I: D2 I' o
<Value index="0"> 6 v% o- [/ m0 W8 {* h- L
<MasterValue>
6 w7 f# O/ @: U3 IDBA
7 h0 {% ] Q( v</MasterValue>
& R7 Z3 s$ z) H* ?5 T/ f<LocalizedValue> % X8 k7 v" D5 V
DBA 4 i& Q7 j2 m! n+ B) L3 e# u
</LocalizedValue>
2 |) P% |$ t( G0 j# c</Value> 8 o A8 Y ^3 p' T; }5 K, w, o. d
</Property> 7 H: w6 H! T4 @# j N
</ObjectInstance>
# [5 x5 A1 F6 U3 j<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB">
9 M; h: r, H1 e9 Q; q1 M7 j& T<Property propertyName="role_name" masterLocale="en_US">
% t. y7 x7 r1 H: Q7 s# @<Value index="0"> $ e! V5 T# \: i! O% G- T
<MasterValue>
3 f4 L7 D4 x& W/ H1 ~" OTester . f5 ~$ L$ v: _- v3 w2 i
</MasterValue> # N4 f( T5 d) i2 P
<LocalizedValue>
0 p# d. }8 X4 D% D3 _* z; [* U
测试员
( t* ?4 ]# V8 P# _. f* q6 L4 k$ j% Y
/ m9 p) ?4 ^9 t
8 v" @4 {2 b& y4 F
</LocalizedValue>
' _" C4 Z# q! ]- ~# c% J</Value>
, p6 `/ N/ M/ S$ r/ g8 m& t</Property>
6 a, ]) U, H4 l; B9 C8 l" h</ObjectInstance>. a* ]' s' _# `8 Q
" b) U# O! W t3 G" K
! j% H3 |; p( V2 Y6 l7 W8 W/ o& h9 E% p
# z6 O/ ?: j) I/ P4 J1 M) E
! y) B5 e) M2 T- S4 m1 ^9 }9 I
' ]* K& E+ z) r$ N, U: q. V3 A1 N; l& N! e# x
保存文件.
3 J7 \& }* ~+ W' R! P# n( @( M. Y' R. _- k8 x: I
5.导入本地化 # X3 L0 D0 V Y0 O- ?6 G
! y" I! D6 r* F4 x在 TCDOS窗口中进行导入
) I5 {4 C6 D: h- v9 e2 _ ; M7 ~, P) u2 a
6 F1 T' ]7 X9 ^% n# R$ [$ Z2 r请把正确的infodba密码提供给-p参数。% s( y- z; I" X$ e$ O! C& X
6检查
" ~* d; x6 N9 H' c$ H7 |3 P" L) r& V0 [ x$ q
用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称9 }$ j; O# G0 b Y" M; {% o
/ ?: I z9 A+ l( M
" I. e. t5 d' Q% @8 N; ~9 z0 G3 e) B: b3 s1 e7 d) ?5 g+ i
9 k7 J1 \' u' z( c0 B/ z" k |