请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化? $ {6 n. k8 |& u, i6 L( U
$ _' A7 S6 O7 U. t( Q& `
问题:
# P: E* q' I! r C$ K通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管
$ @2 M/ a- G! s/ [7 y3 z9 M9 e+ t6 @6 g+ l
理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大,
5 C, Y# s, n% D9 a: C/ J2 C& t8 r并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法? % {8 A/ ]9 Z5 G! C3 O* }; G( m
软、硬件环境:
. u; R4 H7 |+ w: N4 t9 a平台 : na 4 p# j& g$ U; ~. Q+ C
1 a1 e+ n/ b+ f, L# l- t6 k
OS : n/a
. N2 S4 T* \1 i; D1 T0 }/ BOS版本: n/a 3 ^4 l) a1 l2 d2 r0 m
% d, h# {, E$ P/ _& g1 f+ R
应用: 组织
( ]5 R2 v7 n& O9 {版本: V10.1.0及以上 # T! q0 M8 J; r; ^8 ^: O( m8 C" M) ]4 r
) [) h8 v: ~8 T6 {7 I解决方法: % p p; |; c+ l
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程, 6 B+ H- _0 T8 _* r! a
其它语言类似。
9 O/ o" @4 _; G
( G' I% t6 o5 _; v, K) }1.使用下面的语句创建一些组织结构,组和角色 4 {2 J2 R2 c1 t: W' {, t: Z! ?: C
请把正确的infodba密码提供给-p参数。 * @1 {" j {) U2 X; _( x" @
4 v" x5 a/ A: z3 Q% |, \make_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01
" f. D, y4 F/ b5 Imake_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01 5 E9 |% |. Q7 |' K# [
make_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 5 }, ?; e4 t; J4 b: o
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02 ' |/ }- S/ h. \
make_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02 8 O8 c8 G+ [: g, D1 q
make_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02
o1 Q2 x0 Q! omake_user -u=infodba -p=1234567890 -g=dba -role=Tester
) ^4 \0 L) L4 @' S. m; Q0 smake_user -u=infodba -p=1234567890 -g=dba -role=QAEng
% S E& L; l9 A" s' ^8 a( j; i vmake_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
$ n9 Q% h4 n" l$ y: [4 x( O( B# O2登录进入TC,查看组织结构4 r x9 n$ ~0 v7 N- ]# L
- z# a- {3 V5 N$ X
' g; N @4 `8 s- f3. 在TCDOS窗口中使用下面的命令导出组和角色 " T5 Z2 N6 G9 B( ]* H! O
7 m( D5 Z4 G4 B2 v. D8 }& m) y* \; j! S导出的文件格式是XML文件。 : a5 P- x& S7 L9 O( k U* O
" q; {# b q( D
请把正确的infodba密码提供给-p参数。
h0 @ I* Y6 c1 D0 r/ S 5 u) g( [' r& U' d7 w1 ^+ r1 H
" x/ @4 k L- }% e( [
4.本地化
/ k0 f( P4 k" c0 ~2 p& |% ]. m& b5 P1 E6 |
复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml,
. ?/ R6 l+ z! ]7 I. z8 T: X+ w7 U; o8 h# D' ~
用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行
4 ~- U+ O9 F& S. _' ^6 {% r; K4 Y" a4 @0 o
本地化的目标语言代码。0 h) D0 k) d, O- ]5 @7 e; ?
下面是目标语言的列表 X- Q; N: G9 Y: U7 O
0 ]; _( P$ N/ z; V. V. i: q, J& z目标语言代码目标语言
( v8 e6 A" L B; q( Y+ O) T) Q
2 l3 {5 [" G4 e" h* ocs_CZ 捷克语 6 L2 W, U: }' k. t. y4 V# ^( _
! Y- d" V. b5 u* [" u4 D- p0 B2 C. a
de_DE 德语 8 ?$ }% t) w* O* j6 ~- x
: w8 G& B4 M n. J* B* e
en_US 英语
( F7 o9 O: |3 b) S+ p
- _& k& M9 ]$ t2 r; zes_ES 西班牙语
. ^" M, r5 a8 U; R7 B
$ U2 I% u1 h* J [( Dfr_FR 法语 5 L3 W6 o e5 j. j& H3 o; M* I
2 {1 d" u+ J$ Q+ G
it_IT 意大利语 + Q8 l: g; U$ J, p1 ~# b; s
8 |0 T$ A O8 k6 p6 T! ^ja_JP 日语 5 H% z6 e% a% T
+ j) b4 L; ^* k( K2 B+ E4 L5 |ko_KR 韩语
4 n* b6 }7 {& J1 J: e4 J7 e% w% t0 t0 n) s6 x
pl_PL 波兰语
2 B* S; W Y) {1 X; o3 t- c9 T3 P5 l. Z# T% _5 Y) R7 C7 Q
pt_BR 巴西葡萄牙语
0 O$ B) V1 o/ P( B; z% V6 r7 e3 t
ru_RU 俄语
7 |# S9 i/ j/ h0 |! Y( H0 _, n4 g- D; s0 I. ^) z% Y6 U
zh_CN 简体中文
- C9 w5 J9 z6 m2 P9 @/ h2 V
4 r, d/ w# m* @) U8 N* Kzh_TW 繁体中文 $ f1 a, {' C2 z$ I! R
' | C: ?7 C O" I, a8 z/ m: v: E注:
& Z8 c B; f' w& q
g, y9 ]$ S$ e; P+ J2 @根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后 3 l0 }/ i$ ^3 _9 V- e+ t( C/ H
( N7 M; q8 t0 ^0 g2 v* J: H. T
的对应名称在下面的属性对之间进行修改。
~( {$ Y% V2 c. @0 o, w/ p! e8 w) q9 D; F) }8 \
1 |8 T6 V. I( N. A2 A<LocalizedValue>
$ L5 t3 ?1 d4 {: o5 n5 [</LocalizedValue>
8 l5 m3 d/ P O$ q" t8 s5 |! |注:
8 d% _' M, ~( `6 ?& K# L. A/ l U- }
4 ~! h3 f" e8 X* w0 R8 o6 u9 O5 k如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。 " ?! n T9 P+ }' G: ^/ {# Y% p5 Z
* r# A4 F5 _& i. m% t, a5 h对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对 - A8 W1 B' Q& O6 ~: Y! y9 O
0 i5 T v3 E# B+ o6 K6 S9 Q里面的: . J0 ~ R- }5 ?* _* r0 w' `
( s. q2 U1 B8 j3 v0 Q8 H. ]% n1 @ n# A
<ObjectInstance> 3 Y$ R& f' X" o# n' S' P9 t p
</ObjectInstance>
) I9 R0 k7 C' G5 m; v请注意保证XML格式的正确性。! i! Y; y' B& I o
组的本地化修改的例子: 7 ~$ f/ r. {4 [: m9 p
" n* ~. ]. {7 A9 o" V, b, V' P+ o
" L. E+ ]2 v9 {
/ M% d9 p( x, B0 Z, {5 {<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB">
' z0 K( E+ z# ~: e: o<Property propertyName="name" masterLocale="en_US"> " K* U2 r# \, P/ Z
<Value index="0"> # b G! s; W; G y8 k
<MasterValue>
" W; l; {4 g0 t5 I+ t7 Ndba ! ~8 L. P; f' h" {$ G$ z7 b8 H. J
</MasterValue>
' V% I% O, m2 b: F4 n& D( X; ^- f<LocalizedValue> ' c; t. q3 h$ k3 Y/ _, F; ^
dba
% ^/ D7 P- D3 a4 k; j4 A5 A( S8 d</LocalizedValue> ! ~$ |- A; J6 `# o8 `8 T
</Value> # T$ x- E! ~( M b
</Property>
5 s6 w& x1 O6 o! G3 h4 s</ObjectInstance> 6 y! Q! g2 y: i
<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB">
1 x+ L8 `9 h, {" E<Property propertyName="name" masterLocale="en_US"> : A1 h$ ?) F [ i: n9 l
<Value index="0"> 2 x- K; \4 o3 r, Q) D$ K
<MasterValue>
1 p* ~% E; W2 t% o* ]+ @5 `GF02 ! h O1 e- `" D3 W. }- l, w# Q
</MasterValue> % y1 w; N9 |# c' k/ h* Z3 c# Q
<LocalizedValue>
y) |9 e8 u. p( N; k7 I, S: F9 o* J( b* ]; w5 g2 P: I$ w
工艺02 & R/ d9 X' L* ?0 x( K: }
2 f6 r5 R; e+ s/ @# `) [" o, a$ d
8 L* u a h4 N2 s2 w! i8 ]</LocalizedValue>
7 @7 q; Z0 h2 t4 ~+ m1 u' F</Value> ; t& d) l F Q
</Property> 7 x, D3 m H1 W* l7 N
</ObjectInstance>
9 F8 Y% c6 X4 X f
/ B5 _; ~7 L! \3 P$ v$ {角色的本地化修改的例子:
( \( Q& s9 p. Q3 W7 D. ~" s
# { z) c' J9 N+ L. Y" r' ^7 u
" w/ _4 g! o7 o0 S( }
4 A9 X" u3 L) @3 Z6 [7 C8 \5 ]5 d6 Q/ l% E/ J- `& K. e: M
; k. W P7 { I<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB"> 8 }# l0 g: F2 b" v2 `
<Property propertyName="role_name" masterLocale="en_US"> / @: D) S5 h& o0 o; ?; }* K/ V5 x! v. t
<Value index="0"> 7 D; _7 h0 L9 n/ x
<MasterValue> ' u# }% [9 n: A* e: E5 B0 v
DBA
. _/ h0 q/ l5 j `6 K' I</MasterValue> ! R/ _$ \$ q$ n1 f+ v; N
<LocalizedValue> ; {) U( _( j0 ~5 f8 N
DBA , ^5 P1 R4 W' k. z9 O" H
</LocalizedValue>
) A( d; G, z+ P7 k+ y k! c</Value>
! O S3 w" L4 ^6 A( t1 v</Property>
. J: {9 L6 C: @4 {9 i# T</ObjectInstance>
6 C% z5 b( z0 a' r& c3 M<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB">
2 l* J; v- l; h% Y& V5 E<Property propertyName="role_name" masterLocale="en_US">
4 @; N/ y2 e3 ]9 c- f- L<Value index="0">
7 d8 J6 u# Z4 W! O& F6 F) f<MasterValue> * b8 b n( q9 V! C0 O
Tester
' p! J0 j, z! P; F; b/ v</MasterValue>
R6 }2 T! `' S* J! G<LocalizedValue> 0 a* O0 S- i+ ~) v+ C' F
% f- F) J2 ^6 U1 O# L( H3 r. T测试员
/ ?, a8 c; d$ X: k- c' n" P: ~9 L- x' `5 g" e
/ c. |2 g( c e) G0 \' w3 K. m! o2 W# p" Z) k1 ]6 g
</LocalizedValue> $ C- ]- ?% M" ]: ^
</Value> / O# A; r, k+ r( X5 _0 d! T+ d" F
</Property> 7 V6 r9 D2 |2 f3 v# u
</ObjectInstance>! t& l5 m' F0 P' P
/ b4 g/ y' p- w8 ?' a' u
' R! c' k2 x- ?: Y7 G* h% G3 Z4 O
/ E1 b5 N0 u+ F0 G4 g s4 } l3 F) s+ U3 F* c+ w9 V3 ?
: W4 _. F& `% u- [% X
7 G0 T. B& r. U2 L3 c' O2 o
F: w& P" B$ o F# M+ |保存文件.
$ s2 }6 P% E9 ?. l7 x y( b( O+ u9 Z# N% U7 ~1 ]# n$ I
5.导入本地化 # a( J3 D( X+ a* ?3 d! E, ]
% v7 p" r5 j$ f6 h6 i' U- l( B在 TCDOS窗口中进行导入 ! k' {2 v0 `0 q/ P9 U9 \
& t+ W1 k1 c# y& @
# c5 v8 g6 q" H- K) @1 ^3 ]
请把正确的infodba密码提供给-p参数。1 k7 u. Y7 G- k
6检查
4 V& y. O0 Y1 u/ h. a0 C- h
: a* q. D; T/ w2 j) C0 @: f用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称: {1 T$ U+ K% V8 ~+ l
1 f8 l( D* g; R3 |- b0 f* A
4 v* M: f. y) l9 a- c) u5 R
- J+ F! h O2 c* [( B2 u* W- ?/ o( f
|