请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化? ; F( N5 t# E% k# L: m- G
+ f( j3 j I# X% a* c& v问题: . n' }# Y. @9 O4 Q
通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管. e8 @6 _; F! T* I7 u g% q
) F; j( e. h/ m: [理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大, 8 {- K Z$ f' n( _7 d7 B
并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法?
2 {# r; C/ Q6 O软、硬件环境:
5 @2 t/ E( X* x! u' N) q平台 : na & Z8 j3 @& D5 {% T R
. ^- z: S2 @4 y/ O
OS : n/a 8 V! ?4 {6 X; D r- U* \4 L
OS版本: n/a
/ L! s+ ?+ E, x8 _& e
6 E5 h! Z$ z O/ P" {) b应用: 组织 ! B. ~6 S6 _; q3 {
版本: V10.1.0及以上 % q+ {3 A c ?( _ ?
+ G- l' v/ `7 Z8 n S" }
解决方法:
/ \8 y9 x( g: q. ]4 t以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程, " F9 x% B- ?$ G, q
其它语言类似。 $ M3 @4 D- R* z& A) j' T6 Q
6 _. H. Z; }5 L; k) t# Q% m6 v% I1.使用下面的语句创建一些组织结构,组和角色
: l) H2 U: I$ v# R" ]请把正确的infodba密码提供给-p参数。
1 p* Z( G. b4 ~% @9 m4 m$ X/ n1 y9 O4 o0 O/ ?
make_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01
8 [, q. i, Z2 bmake_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01 $ n( Z" g0 v) u1 `/ p" ^1 y0 X
make_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 \7 D( n3 _- o) m& h, _
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02 , ]2 L* C N5 k8 ~! {/ t$ f# X
make_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02 , O3 i+ ?; ]0 ]2 ?# e W# X
make_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02
3 x) ^: r+ M! D. g4 s( Jmake_user -u=infodba -p=1234567890 -g=dba -role=Tester ( N) S! v; w2 h: f
make_user -u=infodba -p=1234567890 -g=dba -role=QAEng 7 ^! g4 Z3 [2 Y
make_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
1 N: G& z* } I5 c2登录进入TC,查看组织结构
! S8 R/ l6 Q3 A$ k# Q2 h) n: H
+ ~5 b, L* d- j5 G/ P3 ]1 h$ V/ X4 J, j4 K: m6 N
3. 在TCDOS窗口中使用下面的命令导出组和角色 6 T, c; j2 E4 H& ^/ L6 F
3 o$ y6 j7 F: J( S
导出的文件格式是XML文件。
/ k7 [9 T, g; K* b* v
, } ^1 J. ^5 I( K) ~请把正确的infodba密码提供给-p参数。 # E# b) W& ~5 \# I" A
3 F+ C* ]- S! X1 W' z' d
: F; ]$ `1 J% e5 K0 Z) p4 B4.本地化
. w& d! ^5 J) u) c9 d0 s
4 K1 l! V: P$ o; H+ T复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml,
) i) S/ j' M' j& ?0 q& d* Y
+ F# e* k h# h' K8 o! D用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行 7 Q z2 G2 ~/ @& \6 c* E
$ j, X8 j% ^* t" d3 x% o
本地化的目标语言代码。& H Y8 [9 q$ K
下面是目标语言的列表 # G; u5 M; S# U4 k9 o c0 j( F2 R3 x2 F
- x" A4 ]/ ?) y8 K
目标语言代码目标语言
( w6 A9 n$ [% T/ d/ j: @5 Z9 X( N" w: ]6 Z% P$ H! I
cs_CZ 捷克语 $ }; ^: K+ @" t+ M G9 K
* S& {& C' i6 Ude_DE 德语 3 V. {; Z* R: D
3 K3 Y# ^# D8 X& p5 X# hen_US 英语 5 b; `& S f+ y0 ~0 F. M9 K1 s9 ~3 B8 E
* [# h% J! P" v$ _' a
es_ES 西班牙语
" Q2 G" Y. a% e
# j2 b' S) w- v) t) W$ \fr_FR 法语 4 N4 V7 Q* X0 P9 H; n8 y
$ l X! c2 v0 j$ Q3 F7 V: Pit_IT 意大利语
4 a! n4 m4 @% m0 q }: t
: u. m3 ]. u- v; m! {4 ]9 ?6 ^ja_JP 日语
# U5 x( V/ d& w/ n" L: B4 a3 n4 a: z( H' X6 E# S
ko_KR 韩语
. s6 u! P! [2 p. P7 C
& q1 v, O7 _8 |, d; E1 D3 {& Q+ Hpl_PL 波兰语
5 I. o1 Z9 b/ e4 }0 \' J2 J" m4 x6 [. q0 u9 P* j
pt_BR 巴西葡萄牙语
- O7 `, `9 I+ V% D9 i/ j& z$ [$ u( c" v! P# n% K9 q
ru_RU 俄语
+ {9 b" r: [' F8 J: h& l8 t: o& y8 n/ ^+ E$ _( A0 l, e
zh_CN 简体中文 8 F q+ A B( A8 x8 h
; s* E8 F2 _7 `& g
zh_TW 繁体中文
$ y" T- s( F. I) I
" T; y$ ~: s: c9 I& k$ |注: 3 ?# [+ n G) N1 K" X) V4 N& {
9 l/ G' J. m# I' I2 G$ ~6 B' U0 Q根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后 6 `% V# l S9 \- ~
) s& U& E' M/ f% s! U6 ?4 h的对应名称在下面的属性对之间进行修改。 ' J$ G0 a. J$ H* _' `, o
* n! ^0 g+ C3 ?0 F- w! \
: ]/ D) j" x7 `7 w<LocalizedValue>
0 A& @6 J0 R& H3 i/ }: p</LocalizedValue>
1 N9 _; x3 [/ y- p; Y6 ]; p注: + @0 V2 Z7 T* F# A5 ~1 Y
% Y& r, ?0 Q" k4 S6 k- }* O
如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。 4 {& o4 j) Z+ X
: [9 |) y+ p( n0 H对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对
3 u/ K# s# @/ g4 l' O9 x' j, @3 S, p+ n1 Y, y
里面的: ; G: p( E9 ~! Y6 M
& W! r% p( K* k x3 p) d7 N0 z- @+ I: S8 W; f9 L
<ObjectInstance>
" e: R. J& C# ^ E</ObjectInstance>
8 u8 `# {. [* R' r请注意保证XML格式的正确性。* g9 _7 ]& }3 W6 x O' }
组的本地化修改的例子:
* f# p- n4 }, |3 q2 \9 i- J& s* c" o( Z& _/ T
, k; q6 P K0 P/ a# ?4 j, @% ~ Y$ X, k3 ^3 J, S
<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB">
0 \5 @. O5 o8 G& G$ _+ {# C<Property propertyName="name" masterLocale="en_US"> 8 r6 h* D9 n1 s P: A$ P3 G
<Value index="0">
& @! P% H0 i$ \<MasterValue> 8 G# k( o! o$ A4 z+ @; ] ] z
dba
: [; T/ {7 E0 R2 T2 l9 Z- }</MasterValue>
& J6 I1 _/ `1 a! x- N' U" ^2 L<LocalizedValue>
* E/ k1 x0 V! L: m6 ^$ o$ m( [, u6 `dba
( r* H% C2 p7 t% k</LocalizedValue> 6 P1 t. V: l5 V' S- E: B- `
</Value> 8 [0 }( i! [5 U( q5 K
</Property>
$ u4 m1 g8 _& ?0 U' p7 @; u F& n</ObjectInstance> - z1 @+ \. N+ w/ f+ o1 I5 Z
<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB">
$ h& e" y/ U+ Q+ j4 r0 E<Property propertyName="name" masterLocale="en_US">
) ^# u* U- U% l2 ]: D* u- \<Value index="0">
) H9 X$ z8 s. E- j<MasterValue> 8 n* }% O: A% c- R
GF02
7 [: H7 c. a1 t( }+ h; J9 w& E) u</MasterValue>
9 b, P* G9 E( _* ?% B' m% i) c<LocalizedValue>
% I3 h: G% Z! B- w5 ~- [! u1 \
( B3 |7 o# J D+ ], g工艺02 1 s" [4 ?$ d; \6 @9 P
+ w& x" R$ _2 O& S% O6 m2 ~+ V
+ j0 D2 {6 c# g6 H$ c' M9 i</LocalizedValue>
3 ?4 V$ m: P# p# z$ A</Value> 0 A# C8 U3 S# L W4 W8 [% }
</Property> 0 K5 x) v e- o/ [. |7 \
</ObjectInstance> 1 W2 W" y9 H, c. W% h9 g9 `
! m0 z n5 t# ]: c$ G8 |$ r. _角色的本地化修改的例子: - X; T6 p& ~0 i$ H9 f
T: K4 A/ T- z
" f0 J/ ]) b: v7 }- D
( H7 l4 W; f% n9 o8 q9 B: N }
/ ?8 l# y, ]; f: K$ \( y/ k2 a. L
2 a" k* ~, O% W+ B$ N<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB"> ; }5 s, b: J: g# h1 K _- p
<Property propertyName="role_name" masterLocale="en_US">
( ~' w- p* p1 A$ y" B$ {3 R& y; d<Value index="0"> / A) I! _, c1 j
<MasterValue> p4 J( |! d& f: \& r
DBA
4 T+ a5 K% l5 P5 C6 S. T, E</MasterValue> - M7 b$ z h9 c
<LocalizedValue>
# @0 T3 |: R9 W+ s! j2 ^DBA
, S2 i5 g/ S1 W# P. Z7 n</LocalizedValue>
/ r3 N* J% E% i3 J' d( h* N- r</Value> % E' _& I! ~, a3 B7 s8 P
</Property>
+ P& T& m$ D$ Y</ObjectInstance>
0 Z, G9 y5 b: d# F7 Q- ]% h8 u<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB">
! J- U- U: E9 x8 _<Property propertyName="role_name" masterLocale="en_US">
- f2 g8 ~6 F# k# K0 t. |<Value index="0">
. K* V& s m" [<MasterValue> . v/ E6 R5 f: Q, w7 L. M
Tester
+ Z1 D1 v4 c* p( Q" i* [</MasterValue>
8 ~3 ]. @+ ?3 k+ z<LocalizedValue>
8 o! v; y" D% f3 e/ K- \1 j% {) E7 I$ J# ^
测试员 $ o: z: N) V5 j3 n8 T( Z, ^
9 l- f! @$ ?. K; t
0 Z' z5 x7 C. R
* w1 A% [& c) o% b; M* |) }7 k6 U8 Z</LocalizedValue> 2 \3 y7 w9 H" A& n$ L
</Value> # d& `" D7 w: @
</Property>
! m0 t1 n4 j( f: s4 u8 u1 S</ObjectInstance>+ K$ ~7 p6 G+ C- N" b7 ^
, Z: m9 [2 L- \* C8 \: H
* T5 \4 r- c m, n
h$ }& v" H0 T8 J s9 r- o6 h$ v& f2 r% \& D; L8 b
5 B8 ?' X# J% l5 S! B3 A+ y6 o1 r2 t) s
S, z; v5 H$ e! H: F8 G" O+ G保存文件. 4 _+ E. e- P" U8 _+ e& ^! z
- K5 S7 e2 T% X; \2 U5.导入本地化
' T7 q5 p1 g' x4 _/ N4 c
- y& T2 p2 o2 x在 TCDOS窗口中进行导入
& v# Q9 U* W) `
8 V( L$ j" Z" J8 J) H: a2 n s9 _4 f8 q" S8 h' j7 p3 A% P
请把正确的infodba密码提供给-p参数。/ a+ _# }$ a; O
6检查 ) t% o$ h& w, J p2 w& A
/ |$ A% v# P& h- Y3 W用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称
3 ]7 c% o7 Z. x: ]0 P' q
& T' K2 w% [" Z
$ r- W! e6 R5 ]+ \. B/ j6 o" L e( l* l' f+ U7 Y" i
' i7 y; T& m; H( A
|