请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化?
2 D" Q, t8 v1 O
" p$ i J" k# n, ~, H9 B问题: . i. ?' w2 |9 |: u
通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管3 m7 {- ?& k0 |& L
/ G1 j% y6 ~6 `: F# ^% y4 W2 ]7 {
理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大, ' j9 q8 E h* q9 T; {% r) z, F
并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法? . j( h6 W# p: [2 T
软、硬件环境: 6 y+ U; d2 @4 F( h. o' Q+ A! O
平台 : na , v+ X" X( b$ m0 @" Y. Q: Z( G2 P
, j- z9 c/ y( z( BOS : n/a # k# @7 G0 {- w8 @
OS版本: n/a
4 V: l/ u0 `: t! m
$ n. O4 O V( _/ X应用: 组织
0 x2 ~( w% G: V3 U' o9 \版本: V10.1.0及以上
. {6 X( D M1 j1 e6 \. p; _
. a# D+ W7 O5 R, M0 h解决方法: 5 `+ _ e8 k' R+ r0 p- b5 z
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程, : ~( S. y4 z9 T" j% l
其它语言类似。
: N0 k7 W8 c' |! z) T. j( r9 z & E( }! r. [# r( S$ n1 o) S) X- X
1.使用下面的语句创建一些组织结构,组和角色
( ]( ]% \" A. T3 E; y请把正确的infodba密码提供给-p参数。
5 n7 w2 g; F% P( v& d/ A" W a% E! L) K% \0 v# O9 G
make_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01 . d' a0 v9 l! @% y0 t# F+ \
make_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01 & r" Q: O& c9 V9 Z3 e- t' t
make_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01
" ]! S0 q2 W u; Y( Fmake_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02
' u7 H8 q; d" }; Y4 Y7 smake_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02 % Y x& s- B) X" }2 B3 I
make_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02
6 P8 h5 |$ [# j, V7 ]6 P# k0 lmake_user -u=infodba -p=1234567890 -g=dba -role=Tester
7 a2 z K; C4 e! o1 y; m5 Wmake_user -u=infodba -p=1234567890 -g=dba -role=QAEng n+ {3 _/ o% S! a2 O& r; g' k& g; ^
make_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
/ W" Z9 a, G7 c6 q3 h' P+ J; n2登录进入TC,查看组织结构
7 K4 T3 M/ L1 H" F# y
! D+ _) _' s1 M3 @3 I, D
# u# V* J3 s7 ^/ p" X3. 在TCDOS窗口中使用下面的命令导出组和角色
0 m7 P) b* [& t0 P, E' W
8 M# A, s: R5 T: z' r导出的文件格式是XML文件。
" R. p/ p# F: q! I% d# B+ |! k+ M- O7 v5 h4 X
请把正确的infodba密码提供给-p参数。
% i: ~* |/ ?7 ^9 ?7 D
2 u6 G" K6 d0 i$ q" J% u! ]5 H- v, f) R
4.本地化
& S( d! n7 }0 y9 r0 r
- A" W; h% [4 L6 T复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml,
4 P7 t" W) n2 a- O" m: z3 ~* g- I9 c/ O
用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行
4 b5 H( \! X0 j* Q8 S% c* o
8 _7 g2 k) }3 E ]本地化的目标语言代码。* y U+ D- [5 s" f3 O2 ]; y+ l, o
下面是目标语言的列表
: `3 [+ r: a' [& e5 r' d& `
) b- o+ ?+ I5 }. ~ K e; f* ~目标语言代码目标语言 5 I4 u' G, G( Z4 r/ a
3 T0 U2 p+ H* y. {# i; ?4 ]$ r
cs_CZ 捷克语
$ R3 Z2 O5 r2 Z7 }
( |7 U9 j/ \4 q" Hde_DE 德语 & a5 W1 k" L2 x
- ~$ W" N5 S; _4 _en_US 英语 / E2 Q& A+ F9 u6 J
& I: G4 b+ K* h
es_ES 西班牙语
# c+ n w& J8 p* Q& t# d# @% u( w K* @. H+ k
fr_FR 法语
4 g5 m }3 n/ B4 P& ]5 b1 K: A
4 r# f. X5 S% O' z$ P" |! U5 P" Wit_IT 意大利语
( N: [, F5 V. R# D2 K/ v, y
1 `$ w; c* e( ]2 [7 ija_JP 日语
7 h- v( L4 u8 o) A% l2 Y$ M
; Y- G2 t* Z2 q0 O8 v2 c% _ko_KR 韩语 , B+ N& j; e2 M5 B
+ I% X" D9 Y8 m! A7 A. R# f$ T
pl_PL 波兰语 9 ~" p8 g' L+ N2 a# n. k- ]
7 S/ I- O6 E2 p* g; O/ y1 W J
pt_BR 巴西葡萄牙语 ! @7 {! v% j) I- n( Y, |8 p. G& [
/ w+ Z0 ~7 c: N& m' d
ru_RU 俄语
, j! A2 s0 x1 L. H" D4 ^) V5 G h" c& H3 @: Z4 Z, }$ R' _
zh_CN 简体中文 8 z# D7 x4 H* ?- h2 v4 V
1 F5 v& X5 e; b. ~zh_TW 繁体中文 & F7 r0 \: _, f& s% y* T% Y
/ [" }) |- q: x1 T5 k8 o1 H注: , Z3 j$ q5 f0 W& o z
) w! t. ]. t# u& o0 Z% k* ~/ O
根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后
" b6 M3 s: C3 a/ S5 d) \, b) f. g8 l+ {0 V/ Q7 D
的对应名称在下面的属性对之间进行修改。 $ @3 f1 J+ u" k7 i6 B5 i5 }5 M
3 g$ T9 n7 S8 l0 X, s1 H# [! c& ?' B' N! \, h" U& z( q+ N
<LocalizedValue>
. X0 f! |' M" [</LocalizedValue>
) G# V* y8 M+ S* Y% u4 b" F' M注: $ x5 L, u+ A8 @$ e4 w' u. @
% z: ], @4 w1 I" ^; z如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。 1 Z' {8 w0 U. s( a; @% ~ l1 A
: y1 j; G" F6 ^3 _* f
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对
8 l# ]( G, ?2 _0 f: P! }
' F* b% Z9 W. e# }* c2 B里面的: 0 ? J, U: l/ u9 x
2 i: H; \5 N7 w0 |8 D5 ?
5 D. t4 ~& i! G<ObjectInstance> y1 j0 h. G% x1 B' ?
</ObjectInstance>
) a c( j: a" E4 T请注意保证XML格式的正确性。- L* o2 h, M" N' q
组的本地化修改的例子:
( Q$ ^" Z+ c# L: R5 X) @9 n: \3 x
" n9 B3 f! r: ]( f5 G, o! D" s, u
9 U' V9 ~! ?0 k) [7 M, t<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB">
( w- p$ q% W$ T: p) P5 v8 {<Property propertyName="name" masterLocale="en_US">
5 K% @0 E- ]1 o& X" W<Value index="0">
& @2 q0 U8 }0 m h( V5 j) T. o: Y<MasterValue> . J7 h! |6 Y& q& L9 I
dba 9 n# n, e* @! Q! W6 ?/ D
</MasterValue> # `* A3 {% |* {
<LocalizedValue>
1 x# J$ M# }2 J7 Ydba " ], t! h8 ]) z& B# ^
</LocalizedValue> + x9 o7 A. w, j6 G
</Value> ; d7 M3 j, j2 l8 v; q9 \& }; d
</Property> 6 v1 a! h$ Z% F9 B6 `& n
</ObjectInstance> * X, m ?: i* Y6 u7 r1 K" P
<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB">
. V1 _; x2 ^2 b: r! o<Property propertyName="name" masterLocale="en_US">
, i- d+ G' z# _<Value index="0">
6 ?% T3 s- n/ d# m0 T<MasterValue>
5 u8 }& b" [7 N, W; Z2 `1 QGF02
3 Z3 w9 Z& D8 ~7 a1 t</MasterValue>
; b0 h7 f, G6 Y, d/ U: H! J<LocalizedValue> 3 i: }9 U. h% H5 b# b- E. d
8 I& m5 x. J' w' l
工艺02 $ {4 x+ l* k5 b+ Q
) Y6 c0 Y/ ~% Z7 E* I
: h& L( G B8 Y% Q# w8 a; T( U" C H$ k
</LocalizedValue>
. }/ B4 u% x: O3 ^ }1 P</Value> ' P/ X n! I( k2 \
</Property> , D3 ]+ `5 Z2 |/ g! e
</ObjectInstance>
8 H0 M" h5 T# V$ l4 R A! G4 V# ?9 d) N! X- q0 x
角色的本地化修改的例子:
7 p9 z4 j3 b0 b7 ^. R$ X
. y2 ?6 h6 a1 g
6 z. r* d: {. R
& _4 ~. Q' z% X5 _ Q0 w) L g! l) ^
- ?, S% B2 P/ a( r2 P4 ^# L6 Z, L
<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB">
* _& y( j) d; ^$ c7 S<Property propertyName="role_name" masterLocale="en_US"> 2 Q& r+ |: @" u% V) |: f5 @
<Value index="0"> : ?% M- f* @- V4 Q
<MasterValue>
9 m$ R( x2 S) ODBA
7 C! u5 H# E; u: k</MasterValue>
2 a, M0 O4 K% s% `<LocalizedValue>
% i. ~4 z' w' G# Z$ U+ XDBA
: N3 t( M+ @1 E# e</LocalizedValue> 6 g5 F0 X1 L, F
</Value> 0 N( W+ I9 Z* _7 G" o1 b( [5 q
</Property>
, B9 L3 Z! D9 X- b6 |7 d</ObjectInstance> 0 q5 I4 J' x4 G3 Q
<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB">
O. S& ^) ~$ r5 r3 G" p' h% P* U<Property propertyName="role_name" masterLocale="en_US">
2 s Z( Z P. ~8 [0 H. O<Value index="0"> 5 f/ g: z& J+ z! ^; j
<MasterValue> : {, X0 a! Y! ^$ e7 u1 j1 {9 Y4 ~
Tester 5 k" P* d; y( r c& q# i M
</MasterValue>
; D$ c8 k* n! u) y<LocalizedValue> , ?- _( }2 o; N+ ~. p- O9 Y( o8 A
. g* v6 D: @/ G/ l' ]0 P测试员
" \: x. Q9 I6 e$ B7 p
2 Y! T: Q, C6 F+ {) D6 x& }
+ [; r8 L! P1 [( \. t( k' u ]
, i; h9 y1 A7 D4 f! F3 W</LocalizedValue>
; ^$ Y; h! |; ^</Value>
t3 O7 {0 x' X B* K4 o</Property>
& A' Y% q @ H3 M/ v( X3 h</ObjectInstance>2 P) p4 @+ ^: _- V
7 ^; a7 G: C1 O+ u x1 I7 I
; X/ n# b/ J0 t# i$ M' V" P( j/ y
8 D5 b! t5 X* F& q% k
2 E& P7 m5 u" d3 ?! @
0 g, `! d# |! Q# g
6 t/ C. n0 c j! q# p5 L/ V- u6 d6 V2 x( `
保存文件.
, E- Q0 U/ X. Q( P- ]
" }9 O0 t% R8 v2 ~5.导入本地化 P7 W% H. ]5 [0 e* k, U# A" v9 N
5 o* E6 o, I6 e! _# p6 w6 a在 TCDOS窗口中进行导入
- h7 E" G0 X; O$ _ , T; [# k: q2 f& a+ s5 Y9 T) N
- G. A& z1 R9 i5 P/ r* w! h b请把正确的infodba密码提供给-p参数。2 @6 e: y+ ~* N$ z
6检查
5 {& P$ s. r1 j/ }) ]
% g* ?' L% S2 x' f, p1 }+ a2 ?用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称; ?. Y* |, q' s; l+ [
T7 q$ z- i$ c4 I
! M- g% c0 u1 c2 P
, ^5 Y d5 @9 W* H0 \
! I# J7 u1 g7 v) `+ f4 p0 C |