请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化? / H' t5 s# X+ E# q* Z
! K8 Y$ z: p# Q3 U
问题:
2 d5 A) d6 O" U& x& o& j通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管0 [8 W1 r2 R" B0 ?9 o
% p" r1 i" S; C+ R3 W6 T$ i# k+ C理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大,
4 g7 ~* Z: G* j1 z8 b并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法?
8 J: V- X$ x& v$ W% M软、硬件环境: / A. n+ c, U0 Y
平台 : na
+ f+ I3 Y! X$ I# a" [8 i( l: Y1 P$ u- Z
OS : n/a : ?) ]4 b& }8 W, m
OS版本: n/a ( T2 e; v+ f y" O* d
! l/ C6 L9 O Y) M
应用: 组织 5 y# [4 {1 p% D. T
版本: V10.1.0及以上
& \1 w) X5 W4 }) `* \+ P$ G! Z) @) o9 b
解决方法: 6 _. a6 a6 ]* U/ ~9 u. @. j
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程,
1 o& @' q" m {: ]3 e k其它语言类似。
2 K! H$ F8 l$ }" j0 s 2 q7 u+ n" M1 ?# a4 `
1.使用下面的语句创建一些组织结构,组和角色 ( H0 W# p$ E! n3 p9 o
请把正确的infodba密码提供给-p参数。
1 c8 t; Z; e. x0 m1 K. Q, M
! G0 `! O$ {1 kmake_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01 7 a. D& `! T, ^6 G9 Y: g
make_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01 - q8 j' ~" g& l8 E5 o
make_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 " C4 v! X4 ]; `( a5 }
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02
" X% G. N1 I" A; c9 K6 ~' m7 t: R% Pmake_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02
6 k# ?! ^, Q. V5 i0 rmake_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02 ) ^0 E" B# p. j( F! I
make_user -u=infodba -p=1234567890 -g=dba -role=Tester
/ J$ ^% B- D, _( `" Hmake_user -u=infodba -p=1234567890 -g=dba -role=QAEng
0 Y; I) k9 N; P# K! Fmake_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
$ n6 N3 `; k( }+ @1 P2登录进入TC,查看组织结构
8 f) O4 b. P# r
, R- P* U; S5 U8 N& }7 m7 f" z9 ^8 p9 K0 C& r8 V. _
3. 在TCDOS窗口中使用下面的命令导出组和角色 % `; Y: _! g1 ^5 a
+ K9 m. K5 F- W# u X2 F
导出的文件格式是XML文件。 % V) T4 W0 E- g. K6 d7 K( `2 f
' Z7 u3 p) ]& r; Q4 X& ~
请把正确的infodba密码提供给-p参数。 $ J9 ?; t* v+ y$ O J2 Y
$ N% n7 P: L( R/ I9 J( [* J5 }/ m) R2 S
4.本地化 & E8 I; a1 f5 j3 o9 ?3 }
9 `+ S1 J Y$ p# M' [复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml,
$ g1 ]$ V% C# o& A" z- k! |( R$ j* G5 x" l* \5 j! U
用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行
0 V; j0 R# @' o; n7 h# Q0 e$ |7 c& X0 k. n6 \& k b! u
本地化的目标语言代码。0 v7 i! T7 L/ w5 `5 G
下面是目标语言的列表
8 z. }. \; ~ B4 I5 l. Y, l/ y# Y1 T" a7 }/ } c# W8 G9 x" X5 z
目标语言代码目标语言
2 _$ T' {4 L/ H( E: y' U! M6 V- M* X4 a% Y$ L, v# I
cs_CZ 捷克语
4 {$ b7 k3 h0 E/ l0 E! g; w
* q3 A/ b j- ade_DE 德语
" U& Y: ^) m7 r1 ?2 L8 T" x: F/ Q) v1 Y: w1 k: c
en_US 英语
5 C/ c& y. e! d! |& Z: h
6 Z5 G4 c2 E0 Z! W" o' ~es_ES 西班牙语 0 [; S2 |, b5 y, p7 ~2 d. |3 N+ |9 ^
% R6 i( ^& }8 ?/ afr_FR 法语
# K3 V. ]0 |, L/ a y" L
8 J! b6 @1 q; A6 fit_IT 意大利语
7 y% y' l- v- E0 N1 X; w- d+ _1 z4 E
ja_JP 日语
' ^6 T2 s+ w; G# T9 D% v2 {$ V5 k, Q5 i
8 b1 U+ J$ X% F2 {- _! yko_KR 韩语 3 [8 D) ?; `2 {3 c0 `) }, z
. {+ I" ]# g/ B4 C/ G3 `; W
pl_PL 波兰语 ) ?. S2 W% o; Q5 s( v6 O
. \. l+ Y1 L3 f1 s+ S. e
pt_BR 巴西葡萄牙语 i5 \# h& l7 b7 M6 y" c. [# }/ E
}* t2 D. h8 F& H; L- e5 `) Fru_RU 俄语
8 n3 Q5 X1 s9 ^. [) j" N( K# o8 b4 d I6 S5 w8 m3 j7 D
zh_CN 简体中文 2 }* y5 l9 S% Q, f. J4 g
\+ h9 }* v) m
zh_TW 繁体中文
# A1 o( x* u9 w5 y
5 q5 v. E; B* }/ T9 s. G注:
, h: I8 b2 I& O& l# K) J7 W
* U6 ^$ A/ i. S( ?/ p y7 T9 d根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后 9 W" W* ^) J) u: ?; n) G
% n; Y; j, f7 W0 W5 Y3 D的对应名称在下面的属性对之间进行修改。
% g. w5 i* h6 F
0 S0 W8 Z, R8 T3 w& v" _! T- A7 v( P* c3 z4 `5 @
<LocalizedValue> ; X j, |5 y8 o) h+ z
</LocalizedValue> 1 [* `& h! {9 d3 n# a; n2 L
注: + B' @1 e2 |' ~% g# b! L: t' D9 d
1 ], B& h# N( J# i. ~" w& P
如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。
+ f; M& _& y( _6 \3 y* `# n9 P. R+ P; s
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对 8 S% ~4 f" D( v X* A
1 T$ v% ^) J/ Y3 @3 D( ?1 |7 ]里面的:
0 G& R" B$ a0 `* U# v9 P. w6 m6 X" I5 [
6 _" Z: ]9 ~% F% s: I7 F8 D( Z0 a<ObjectInstance> / X; l4 S2 w- f0 s0 y. {0 s
</ObjectInstance>
3 s' `) h/ I8 l& i6 U% X# N请注意保证XML格式的正确性。. D7 C! E' d9 a9 d' c' z" h# p
组的本地化修改的例子: & x. ^; e G+ M5 H0 I
1 Q+ [$ r2 f( ^7 _* `9 Z& e$ o
: q% p3 m, d* T8 @5 F* O# W9 u* \% |/ H! q' A; t! h: [
<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB">
' a3 n% q4 ~, A7 p<Property propertyName="name" masterLocale="en_US"> ; K, g' f. w* E# z& l
<Value index="0">
8 U. _: c8 ]% e, f% U# n; N<MasterValue> / N% `" Y' D4 o" C+ I
dba - _0 @# \0 ]6 U8 o: a2 S; D G& |% _
</MasterValue> : \% ?. w; y$ u+ A6 W8 W2 D( u
<LocalizedValue>
0 \) U9 _+ \1 ]; ~! h) Q* F0 J! rdba ; y( [; Z- {+ v( L( L
</LocalizedValue> . g- T+ I1 p2 w+ {8 _
</Value>
& U# M9 ^, E: b</Property> ; D8 j% b. W6 |# X% D
</ObjectInstance>
# N, N ]4 |! s" C8 A X<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB">
* s5 {( G; F( {. S2 [3 h0 C<Property propertyName="name" masterLocale="en_US"> 4 v' p1 R9 U5 `* c* h' X' n8 i
<Value index="0"> % z9 L$ w# w( I( C( v; K
<MasterValue>
( r; X3 s+ b3 ?7 ZGF02 , s8 l7 B* X2 a; f
</MasterValue> * ]+ M* M4 h- q7 V: R9 j
<LocalizedValue>
) z5 i8 t' i! S1 B* g; Q& }
. [ e0 A( `% {2 l! Q; M( U3 H9 ]工艺02
/ P' h% A. R9 Y& V/ w" g! t
$ N. ?3 v; z) o- a7 k+ O- g9 {; u% s) D% K
</LocalizedValue> 0 y2 F. f: p6 f7 Y
</Value>
; w7 P5 i! { g! I& R7 b" T# E, V</Property>
# Z4 N& L4 n4 x* z" W/ j/ b- ]</ObjectInstance>
1 g2 ^* N5 E7 m3 M- d5 m( n {* B; @4 Q8 E( e
角色的本地化修改的例子:
+ _0 }# m; x9 ]
/ k, S+ Y" t8 |, N' f2 l
5 V5 x9 U, e, T$ j: p
6 z" I: h* ~3 s4 c: o+ U4 ~- Q$ N( H' r* e: }' G) [/ @
! J2 k8 g1 ^! f: @ u6 x6 u0 j A<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB">
4 X; G0 W9 ~1 [ Z/ |% {3 C<Property propertyName="role_name" masterLocale="en_US"> / ]1 j; t# k0 V8 s
<Value index="0">
# }0 h& b- M( Y3 W$ X+ O! Z8 R<MasterValue>
! U) n! u' o0 E2 @DBA ' U' q5 }& {- l) Z7 _+ o2 ]2 _, M$ t1 a4 q: z
</MasterValue> " G I: }4 C( C7 l' X) s
<LocalizedValue> $ i% K1 `* |" }# N7 }, r% b
DBA 5 z, @3 {9 X9 Z
</LocalizedValue> : E0 Z) j i- U1 L
</Value>
) H' q k0 |" t! \/ C</Property> : A' A# P* O, z7 x
</ObjectInstance> 8 G" |6 p% J4 S1 q, w7 e
<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB">
) U+ V# S8 f2 k<Property propertyName="role_name" masterLocale="en_US">
, T+ w& |( P- x8 h" T<Value index="0">
- x+ V. Y- J' S* ]4 c3 o0 ?<MasterValue>
6 W$ Y i5 P/ }Tester
4 z; t( h1 Q" W! a% H2 Y3 @</MasterValue> # _( O1 ~9 u6 ?, l( G; _2 o0 Y8 U
<LocalizedValue> - U8 N o" @. M
! j4 g; C% |1 _$ Q! Q测试员
6 g; D) W' i/ t' ? Y% e7 i! k/ d8 }" |8 T$ h, ]7 _$ S
7 C2 F, p+ y$ x0 f @! G7 ]
7 Q1 V+ Q4 ]* X</LocalizedValue>
6 O4 s+ ^" r6 v4 @% C. R</Value>
2 g! y, j' v! g- C0 u) S9 R( `</Property>
1 l6 ?$ f) x, S' @: Y1 W4 h7 c</ObjectInstance>
. R+ D0 k, d4 W# x: z" r! R; G; m4 I1 ~ a- v
7 }' d t: e# Y3 z5 G" y+ f6 D9 F
. T' z" u& M7 A; P! r p* z3 M* f* ]9 A4 @
; _- k% o% D* a6 H7 m. l
' ~# D7 A. `( T \' y! ` P7 g( d: X( E. x7 p
保存文件.
$ M% W" R' a9 x/ C9 b) \7 z9 E' Z
5.导入本地化
0 Q, J% ^, w& j7 Q, q( S2 N. K. Y, D& O
在 TCDOS窗口中进行导入
0 k [0 P, \% |8 |
7 v* }2 C; ^+ M0 Q# N) v# u6 A/ H7 u3 L0 o4 W6 K
请把正确的infodba密码提供给-p参数。% z6 j; ^6 n8 c4 }
6检查
( a: ^! q3 d( O( h: o: y: M1 M: Z2 O h. r5 L
用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称
. m5 m' W' s# R% z8 g. T
( {$ O. K' w. d1 Q+ V
0 \" n4 A# `: ?/ ?' l- W4 X4 y8 ^
% {+ e& m4 L7 p! @/ H0 k
|