请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化?
# E, z6 M0 y# {- }# Z0 L" R5 o- q A% k
问题:
) e; [! w- `: \4 U' ]7 x5 D通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管
$ ^& L+ M" m2 _6 j: [5 }4 {( _* Q }* x! L: Z
理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大, # I$ r0 ?& w& j6 i
并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法? & { j g$ U/ q3 d1 Z/ k
软、硬件环境: , D* r$ H/ z- d3 z4 O U2 i/ N8 ?
平台 : na 3 |8 d0 Y- f% r& n
" H/ K; [8 I& ]' g( I1 F5 R
OS : n/a
`) @; }& ~& m4 ~$ s$ X/ t* {/ YOS版本: n/a
( U1 ~( y6 [) D8 `" b% e
, [2 g9 A. n, y3 q应用: 组织 8 t8 R9 C: ` P; [/ A& n- \
版本: V10.1.0及以上 & g/ Z3 l1 o+ W
" G. }! w* ] K0 t5 M解决方法: 9 s7 J6 }+ D1 X( e$ c
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程,
6 N: x9 L( w0 s+ \, @( S; `其它语言类似。 0 O% x$ D7 Q0 L, C
- {; z; G" q. }! o* z( Y1.使用下面的语句创建一些组织结构,组和角色
* s5 [/ X. ~/ A+ b( z请把正确的infodba密码提供给-p参数。 ! V# B6 ?# f7 f# K, X1 h, @
6 L {3 ?, d' q9 Fmake_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01 B* j" @1 F3 c/ z
make_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01 & F4 Q6 i7 P1 J0 N
make_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 6 t' D& K$ ^( @/ q- b. p5 S
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02
+ I! h4 g6 G/ j# c. \ l& n! {make_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02 5 ~) j7 l# ]/ a
make_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02 ; m2 \" ^/ a7 Z0 L5 o u
make_user -u=infodba -p=1234567890 -g=dba -role=Tester
0 D2 q8 W X$ Q$ b- nmake_user -u=infodba -p=1234567890 -g=dba -role=QAEng 5 Q9 J2 d7 }/ r l0 p2 w
make_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
6 |4 G1 x {3 n% {2登录进入TC,查看组织结构/ X8 C$ ^; @8 u2 w6 y. d
3 O1 H* L0 L# m1 W
+ e7 q0 M9 ^) h1 C7 g. c7 n3. 在TCDOS窗口中使用下面的命令导出组和角色
+ P9 ]& O8 Q# v. o
% O. V8 L( T. @2 ?1 u" m0 A导出的文件格式是XML文件。
0 {( {9 V! w+ G8 g6 \* w9 u9 [
5 K9 m3 O! ~+ R! p" S' D请把正确的infodba密码提供给-p参数。 0 A8 M( k. W9 f( c6 a7 f
`! a& M5 W$ E5 d' u# J, y/ V' W* H$ {* J$ T% h6 W
4.本地化
, Y& k2 ]) A* u+ U2 z
9 v: b8 e8 u, b% s7 Z8 M1 b) T复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml, ) Y7 Q' F0 Y6 X; P6 ?1 x! D+ V
0 f. U% z; i$ E4 Q5 }$ U
用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行 " }0 p- f8 h$ ?0 d
4 ^ l* `' }& _' _
本地化的目标语言代码。& o; P5 }. S- j( A5 f+ B$ q3 ~1 |1 p
下面是目标语言的列表 7 N+ w+ W8 \6 d7 l, R- N+ t8 W$ Z
% r4 b1 g% _% l# O5 s: y( j
目标语言代码目标语言 3 s# e9 M( p* j3 s. ?
$ g& q# h. D* c7 j1 G6 G c1 ecs_CZ 捷克语
. ^4 A7 O0 {& R6 W) D7 D4 H [ }
de_DE 德语 , _/ Q/ [" C' Y* n) t0 b
/ n0 A9 e9 |9 G5 _1 q. ^" t2 {
en_US 英语 * t' }5 W2 N8 y- _
W9 k5 {8 d. d' [7 aes_ES 西班牙语
, S7 ^7 ~3 [9 |9 V' Q1 o# T7 @1 L: T: l' S( i+ h7 n
fr_FR 法语 : |" J4 w' q: [8 ~& }
8 y# i8 c3 A9 }, sit_IT 意大利语
' v! S, s; l& T5 c K
6 `: p/ O ]: T+ h: P; ^! sja_JP 日语
@2 i! D0 O9 D" H% z' N( Q0 L3 o' q( B4 ?) J, i, v2 v
ko_KR 韩语 ) L, _+ n4 M$ ]- v& T
8 v0 [1 U3 R/ h* f. Ypl_PL 波兰语 ; F0 o) L/ V+ Q7 E- ?7 m8 L& E# C
* S2 t, m; h# F ~pt_BR 巴西葡萄牙语 4 S+ @' G' j/ O1 `
R" y. I; ?4 \- e/ h8 ]. o9 O
ru_RU 俄语
* E6 Q+ v( \# |: F) ?4 Z
: n. C, A; M6 f9 @% i5 pzh_CN 简体中文 ( \0 I' e! y1 {4 y2 m( o$ `: r' T
8 }: v3 e2 a3 G) r) b7 E
zh_TW 繁体中文
6 y8 T/ i! R! I1 {+ R6 `. n
: u$ M* M0 l! v+ H2 p8 j: b4 ]注:
4 t, a/ `' l6 \$ V6 c$ u/ {* b* h0 V5 `! A1 x; t
根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后
; Z I+ L9 [& N" [- T1 H% D; z
, _' a* X, i; K1 n- `的对应名称在下面的属性对之间进行修改。
9 J( p5 L, Q& w K9 q& ^3 T. `
% j# W' h g& x/ ^9 `- [5 U1 a- M% i
<LocalizedValue>
" `) j$ E4 v; q</LocalizedValue> ) `, M+ J4 A. Z% B. e
注:
. @- s3 M4 _) W! O
/ Y) v# }, A5 g7 \. Z) r如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。 ! i# a/ U. j, S- N: d
7 N% E1 e5 E- z
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对
k! K+ X: L2 [- F4 S. h. B; T: W8 _8 _% R% V
里面的: . q9 m% K9 b1 ^: A* [
3 B4 g/ P- o3 H5 _: k( L. |
# g2 k* n8 W2 Z9 v" t( [, L' Z) R, A
<ObjectInstance>
- m' p: n1 t# T! r</ObjectInstance>
& _% D; D4 Q0 q# R) j请注意保证XML格式的正确性。
4 X; S2 M9 O$ A+ z组的本地化修改的例子:
* g6 I/ {2 n, ~2 _; @, s
: I; f* E* i' {+ o& e( I5 i. y6 L* D, C, P! J. T/ q
* k% }7 H* g2 P/ r# D' F' K
<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB"> " W& Q4 _9 o, [: z
<Property propertyName="name" masterLocale="en_US">
9 w6 |0 T+ k: y2 I4 z0 j2 F! C<Value index="0"> 2 h+ k0 k/ t" O7 F9 s& E' \
<MasterValue> ; W: z0 b( m/ Q# r6 J" X: G
dba ; T& Y+ X6 y/ G
</MasterValue>
# \ [7 o M- a, u<LocalizedValue>
9 R' B9 ^9 u& S! [ Q8 \8 J! gdba
5 e! D. b. p" R7 C</LocalizedValue> 3 \3 U, |4 L( F$ q& u/ l/ y$ z
</Value>
: Z' ~* f( {" {5 A- ~2 n; ?3 W</Property>
* k# g% E2 A: Z1 L' W! P</ObjectInstance> 8 ^' k' B- O' P& s2 x, a
<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB"> 5 T! g1 z( ~" |1 J( y
<Property propertyName="name" masterLocale="en_US">
) }& r, J1 s1 `) N( b/ i; O8 [<Value index="0">
9 j% k/ t# j5 I<MasterValue>
J' T! d1 h3 K4 ~5 C2 rGF02
$ E1 O9 [0 a$ H3 @- g9 |, k</MasterValue> % D4 V; s/ O' d2 M) o
<LocalizedValue> # I1 t0 L( T% e5 [& `( B. v
. H' ? U- ]5 ]/ }' g I工艺02
6 R9 [$ A4 k4 t
7 D9 w2 |7 Q2 ]8 c4 ?9 z- I2 K! F4 a. h6 E; f5 G. j9 |; U
</LocalizedValue> - ]9 Z0 F; ]/ g# a
</Value>
1 U' M9 p# q% `( ~</Property> - x! r4 t- K/ Q# G4 E% o
</ObjectInstance>
* ~% A; z9 X4 h1 e* S/ y; Y7 z& @0 c5 n4 _4 @4 w
角色的本地化修改的例子:
7 E8 h/ z. S7 t; h! t1 S7 b
, E( h5 a1 U( _/ X( @$ C$ ? 2 o: J. S7 ]) N& L
& r% I5 `0 o' z! Q0 ?# y( C4 @4 Z3 _, A6 h2 a9 D8 J- M
; s) u+ P( J; |4 S& B3 |, Q5 _<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB">
$ ~6 Z" b9 n3 a<Property propertyName="role_name" masterLocale="en_US"> 4 Z8 H( m2 W- K# x' P6 n# W2 Y
<Value index="0">
' q2 k: q3 K) O( X8 @3 p<MasterValue> 9 Y% G$ q7 [0 Z8 \5 n/ u
DBA # y' h! K0 k. Q
</MasterValue>
$ b/ h/ K0 q, g, R- i( E7 g<LocalizedValue>
8 o5 a7 i. o7 L4 X; iDBA
" R1 `" X1 L+ A</LocalizedValue>
4 c$ ]6 y' H; Q' G F</Value> ) w3 `0 ^7 G1 Y2 C
</Property>
" l4 I% o! F% M5 V</ObjectInstance>
1 n( u8 t/ c6 W9 |9 s<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB"> 5 E. E6 A: A2 P q2 r
<Property propertyName="role_name" masterLocale="en_US"> . l5 G. g! u% a& z. f, R1 P
<Value index="0">
+ k0 |( @2 E: N<MasterValue> 1 d7 S5 ?, O7 `2 Q7 J0 O! y- ~: W
Tester
/ f3 F) `6 c2 b* Y" o8 R4 i7 x</MasterValue> 5 I! {$ l3 [1 G* D
<LocalizedValue>
$ A$ Y6 u$ a. r% G3 b* a. b3 y( v" _7 N, ` H( [
测试员
( G/ w5 w1 [; ~4 o: _, n2 ~6 n5 a
( q3 E1 \$ k: H& ]9 P( R
. ~3 w+ ?" W1 O2 T: _</LocalizedValue> ) @4 G. ]& f5 A+ e* R0 G X
</Value> / X# h9 W1 U3 z* O5 ~/ H! V
</Property> $ O1 H- _7 \2 s: s" v2 ^3 R, ?
</ObjectInstance>' s2 k' D7 o, u* v2 S; a
, Y: _0 s7 ^' x+ Y! _2 a4 [
& e9 A2 C5 M# t3 b* |' v' L' P
# q1 ~- f5 C. g( j i
4 y: _8 e" y% ^, h/ q/ S* |
% a# E& ]! M% b: S3 \5 d( x6 k5 O7 Q6 ~+ ~# T
' @0 G0 S3 d4 G* ]9 x
保存文件.
, L5 ~2 {0 H$ j. {" a" w
& }" M D# x$ Y" E2 C. f1 d5.导入本地化
# G! J, p: B1 o7 R0 o1 D& n- D! V3 U: y& P8 Y8 i( i* }
在 TCDOS窗口中进行导入
: Z9 n* q% W: Q5 z, ^
' P1 w& S7 c5 d' n4 K" S8 G% z* ?- o5 @+ s% Z
请把正确的infodba密码提供给-p参数。/ R% C+ J: E, }
6检查 $ p1 Z8 V/ D! h Y
! P: i0 c+ n1 t' s7 W$ D用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称2 z# P. V, P6 q3 R
9 z+ @, q! O1 d1 n
3 b F: ]/ d, J. p0 M$ U5 D
F- g. a3 m9 g5 A4 [' {: _0 a8 @5 K: {" r$ m- B
|