请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化?
" Z" C4 p) q& K+ z. W) T3 {. I% x- k/ d
问题:
, z# u3 h$ A: `# ? [ Y0 j9 K通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管
w6 x2 I' F4 i V# l" h6 w8 y; X, d. E
理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大, - R8 l6 f7 {; |0 R# n9 S
并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法?
4 y$ J. q" L$ }7 b0 N5 z! O* I' _软、硬件环境:
2 C* }) @4 F8 i+ ?平台 : na 6 c K1 [1 L! l3 O- T5 C
2 f# j5 M- f+ c6 b" ~OS : n/a ' ]0 `. C/ A4 _0 n4 l* s$ T/ m
OS版本: n/a
5 M! U' K5 y$ X+ I- a
& l$ W5 n" t" c& D# m, |+ z: P应用: 组织
- i5 F" S* `# {版本: V10.1.0及以上 ! H9 J; W8 S5 }6 M" |
7 R$ w) I6 N7 s1 z8 z8 T解决方法:
% A9 f5 [$ k4 O3 u+ p+ K! H, W以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程,
" G4 r- C9 b3 l$ O其它语言类似。 # E4 E& Z0 m0 d' j
# U- [! E. F0 N3 {1 y% ]4 E
1.使用下面的语句创建一些组织结构,组和角色 ; R, A) `, V* M2 R2 _/ T' j
请把正确的infodba密码提供给-p参数。 9 p" W. R, E R6 D; w+ V0 [, Q
' I, a3 {) ~4 y4 j
make_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01
* `& l3 f4 A' M3 `4 W) ^make_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01
( L! l7 e' u9 S1 ~- pmake_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01
7 b% k9 M2 D8 Imake_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02
8 K# h7 i" c0 imake_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02
0 C# M' o z3 _% Y: `make_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02 4 B* d# Y: ]/ W( M3 l6 I/ i* r
make_user -u=infodba -p=1234567890 -g=dba -role=Tester 2 S- V: M% U+ C& j0 M% Y* v
make_user -u=infodba -p=1234567890 -g=dba -role=QAEng
( K7 i, T2 Z; G2 Y" `make_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
0 g; ` Z7 t7 B m* S6 J; a2登录进入TC,查看组织结构. h0 [' ]% j( j" D3 o0 ^5 d- s1 `
7 x/ S! Q7 w. ?+ x" t% e) \* H/ \( H
% E3 _' u# l. i' r3. 在TCDOS窗口中使用下面的命令导出组和角色
" N S: R9 E6 d0 H" ]2 s- T0 \: M& \
导出的文件格式是XML文件。 ) V3 U+ w% z+ S6 m2 B* s* P* | E
! ]; H) O4 r, Q. v. J" m( s) X请把正确的infodba密码提供给-p参数。
5 T3 S. O- b& D4 |! r * z N5 I, e% t/ N3 S# a
* v: z+ K4 F& J& ?& i! {+ B
4.本地化
/ T0 J6 J$ x) Q n. z/ f
9 N9 d4 |. t/ C+ e# J" @( L- c9 }复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml, & }' N/ B* q2 _! r/ {3 j! M
8 K1 a7 |) A R9 z! k0 F1 H$ d: w用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行
6 f) g5 p- C0 E: C- p: o' Q7 o/ b& r- P) o6 z) k: K# W7 I. A- E
本地化的目标语言代码。5 {7 H# W9 L F* h
下面是目标语言的列表 2 p6 Q# ^' k+ r( T3 h# E
% R+ _ x* t6 ~ o0 K
目标语言代码目标语言
8 X3 N9 g& o# D/ R8 s8 t) [& @0 _" f
cs_CZ 捷克语 2 f. a5 H" \- {& s- x6 _
+ }' \' B) D6 _1 c6 p0 w) u
de_DE 德语
; s4 M5 a4 M4 z& @
; u( w: V. |2 _* [ H' _en_US 英语 1 \/ X: [$ F! z! W/ @
( ?5 P) n6 p6 ?8 P/ h0 t
es_ES 西班牙语
# N+ L" w* B# @% [) Y2 W; h5 D, R! F7 A" {* l1 ^$ H6 r
fr_FR 法语 6 y7 }2 t' s9 x4 a v6 [6 I
6 V7 z6 B# ^9 `+ g. Oit_IT 意大利语
, r: e5 f, y3 L i4 a' h4 K7 [
0 c" U0 E0 Y, |3 e9 ~" Vja_JP 日语 ( Z. E1 s) c! T
1 V3 M! V5 d+ H2 m/ N8 T" iko_KR 韩语 3 y: Q/ J2 s; N. N
) k7 l/ z1 e' p$ h/ i3 H
pl_PL 波兰语
4 c" B% ?3 e) W) b }! ~$ p. b+ ~! n* y. }
pt_BR 巴西葡萄牙语
: ]2 [; }# f4 p% x: K/ T; x
, k4 F6 z. J; I) q1 r" q1 l& mru_RU 俄语 1 V( L5 Y5 u$ W% N
9 u+ b* D+ ~! Z. i3 _0 t$ mzh_CN 简体中文
" C; u" c$ e( H( e6 F! o' v a. a& z0 `0 g: i" S- @
zh_TW 繁体中文 7 K/ E8 u& s# a6 L- N/ h9 t$ ]. T
C! Z4 T( x7 q注: / }2 W; f$ y3 N6 h, x! h4 Y
$ r; G$ T" k- E I1 }
根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后 / |) z0 k2 O/ v: f
! j5 H* @: j6 x4 Q: ~! D7 R, w) o
的对应名称在下面的属性对之间进行修改。
' i3 Y0 F9 k' q- B- ]
! s) O! k: X5 I( H3 I
; C7 n# u# `' S# k. I: _- F; V+ \<LocalizedValue>
' J' E2 F9 g) u: \6 E</LocalizedValue>
# s# b" J7 | y# f1 ~& g1 @注:
9 f/ E- m. C& s+ ?- ^. o* G+ f" U7 W. H- \( D! ~% Q& P% K- N4 S" y
如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。
5 m; W' b: ~) t3 c& A' o/ F. b3 h8 N
5 A9 d9 `1 K. y9 r( D对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对
- B1 ?0 c' |" A9 j$ `4 O/ K% G2 o# g7 N" r
里面的:
/ E" D# f1 ]- a- e3 B* ?7 Q
2 h0 Z7 Z+ O% _, M! F$ G$ W8 W- Y$ H
<ObjectInstance> . g2 y7 t% E9 h5 P$ T8 N3 x
</ObjectInstance> ! P7 n3 N, n+ P: a! X4 B) |
请注意保证XML格式的正确性。( o7 o. G8 b# |! v& z: ?
组的本地化修改的例子:
! X5 p, o" e/ G0 g% e
' w$ w0 K6 `; b9 W) U! K
+ e* D) V( I. n( |2 N$ k8 g2 C
8 ^3 g/ @* }# g+ T; p7 H<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB">
8 k0 `- U( q: S$ Q<Property propertyName="name" masterLocale="en_US"> ' F+ d5 x5 f8 `# \1 A; |9 M9 I
<Value index="0">
( O# q d$ X7 j y<MasterValue> ; S& t x8 a* U! j* `/ {# k3 H0 x
dba * a( K* L; l1 l" I
</MasterValue>
/ E) p6 x3 w# g- S2 o<LocalizedValue>
H6 D- y- k8 a9 o3 Cdba
8 W) i0 y" m3 _- D</LocalizedValue>
5 z% z. K% a) E! H0 E</Value>
, k: U6 s E4 h C</Property> ( `! p/ G5 m4 G: G
</ObjectInstance>
9 y" j7 J0 X8 r0 w) w1 M8 ?7 g<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB"> ) V+ `# K7 U: w
<Property propertyName="name" masterLocale="en_US"> 5 N6 T- q1 C* D8 Y U5 G, {
<Value index="0"> 3 y2 r, i3 T- @- k
<MasterValue> c- h) s* X5 T( X) J& \
GF02
Q W- w; s6 S: y% Z! `) j</MasterValue> . @# m# H# y @: I) q* f. Z+ S
<LocalizedValue> ! {/ P! X- J: n/ T% |
; Z' g6 b* b6 a' i, w" B2 r工艺02
1 W7 Z3 |* q7 ~$ L0 K" E
% [2 ?# i8 j9 r& H% P! `9 `9 A4 u& q" }; ?) F* Z) H( q
</LocalizedValue>
# N5 U! I# L( R- Z</Value>
b9 t- L+ F9 N- q; x0 F- b/ Y; c</Property>
% k0 T1 {2 V( I) E1 t0 u S</ObjectInstance> $ G/ t# S+ x9 p i# R" `4 M
1 }0 B: u8 R+ b$ i4 T. }
角色的本地化修改的例子: 9 O; f, b! G# X
- x) c2 O/ w* R; N+ q
+ l! I+ v( l; F' T |( H6 z$ c& D
2 }+ O, K+ k9 p' X; d% \% D$ k; f. k
+ e6 k6 D7 K7 b8 F: N2 U& ?1 X8 ?( G<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB"> 9 m; B8 h+ s+ [7 }
<Property propertyName="role_name" masterLocale="en_US">
8 Q+ D: U4 E5 j* W9 m8 |<Value index="0"> $ O* P" ^: p& Y1 v+ K; W& N
<MasterValue> # s6 @, j9 v4 s" R& s
DBA
% ~8 i4 v8 y7 J4 z1 u; v</MasterValue> 5 C7 a2 O& b1 I9 W
<LocalizedValue> & B4 ~" v( a1 H% H: B
DBA
1 y9 e5 s- N% n0 q</LocalizedValue>
, f0 q$ u( R+ c/ j</Value>
/ j! P/ e5 c: f' m7 o7 K8 |, q1 t' n</Property>
3 O$ d3 [6 n4 t8 K' _</ObjectInstance> , g, g9 J( M4 R) _
<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB"> " r2 E) y$ B! L& {
<Property propertyName="role_name" masterLocale="en_US">
4 R1 X3 ^% v( Z. y5 ]<Value index="0">
; [! H2 S, D8 f5 j' T. F<MasterValue> ; Z: Y4 [( M: K* N
Tester
1 r2 j# {% C/ k</MasterValue> 9 e- ]! c4 A( J; g- D
<LocalizedValue> 4 ]5 M/ N, {# r2 C7 t
8 P- T* a3 Y, c5 z/ x" W测试员
3 W( [/ H9 \( F% m3 n5 ?. U: e0 } P: |7 O' Q) w
& L2 u. ?0 R3 q+ E1 ^/ {( w) _
" e5 m/ y4 |7 g6 P# e* [</LocalizedValue> 5 |+ ?- i9 Y8 i6 I" b: l1 V2 z/ w# n
</Value>
" P6 S3 z# }* J& E2 Q</Property>
& O4 v' h0 `* F/ j</ObjectInstance>
) \4 Z5 L7 E5 G6 R
/ a2 \% ?: |* V* `& w3 ^" ^
. k8 Z5 k n' |$ ?. }) o; S1 b5 r& ~% D
) ?6 t8 Z" m; A
* ?0 s1 Y9 a+ {6 }& w7 E5 E! k6 L" A' M
* @* z3 U5 M$ e, k a0 a
保存文件. ) S: O! L) ]* k' F
; ]# e% n+ `6 c/ T" j5.导入本地化 + Z* B4 {% W1 q$ D5 D# C1 ]
9 X3 A, Q8 O& l* S* u' @
在 TCDOS窗口中进行导入 + G( w) o, y" E, _
1 V% i5 @; z+ O2 G2 c
' j5 J f$ l. ^请把正确的infodba密码提供给-p参数。
0 I+ M2 S7 `1 I* V6检查
+ Q8 a2 N8 S6 H3 w( j+ g2 A7 X+ q4 G/ s" J, X* l) |
用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称
$ C1 k- ~5 O+ E
. s0 m6 v+ {7 R; P3 r: g% v/ U7 \1 i. x3 h& D
! v" a# b- O, L8 P% S! u$ t9 t
* b, ~. r, C% x* H5 m* S) Q/ h
|