请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化?
, l5 ?& z% S' S5 H
6 G* ?9 Q; F- a5 \2 N' W" c+ ?问题: : G# ]$ h9 z, @5 m- {8 Y
通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管
5 w& O$ a1 t: @; {$ e' b8 K5 l
% _) b* r" Q* s; p& b7 q7 N理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大,
. r, Q& U, X7 Q$ A6 r2 Z并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法? : G* l S! S4 [: K3 k) {& i* i9 r
软、硬件环境:
+ x- @/ {4 l& @& U5 q$ N& l8 @* n1 r平台 : na
% q2 D Z1 S- F4 e8 p# t$ D% A0 f5 M2 T# m9 W z
OS : n/a ' {8 J# x7 A! R& M" {
OS版本: n/a , I% ^4 E+ p/ [2 Y5 g$ }; `1 d
( f' r' N7 z- D9 ?2 a
应用: 组织
/ q' H4 h; O2 W+ v9 x. e3 P8 Y版本: V10.1.0及以上
/ j- B7 r. N& g) B" m( Y1 ?6 C5 s" R( z
解决方法: ; o/ ^9 z" _ n0 b* X( g4 Y
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程, ; N# m9 l) [- n# `+ ~; v
其它语言类似。 2 s5 u' F0 l9 v. D" p& S7 ] `+ R
8 M! w! R* I: I3 ^) m. w, ?1.使用下面的语句创建一些组织结构,组和角色
, }1 W9 E/ p# I7 |7 m' g请把正确的infodba密码提供给-p参数。 / ]' x$ n" k/ A; }
0 @; o/ y- ]- M. U3 e
make_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01 / I7 B: i2 a3 ?, m
make_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01
( q d: y6 ^( S" lmake_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 2 B/ d. t' f0 F' o1 n! a6 b/ I+ ?
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02
2 S! x4 J# a4 u( W5 Smake_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02 , C# Y1 M: @$ O' Y& Z
make_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02 0 K! h) D6 ^3 r! c: I$ w- e1 D
make_user -u=infodba -p=1234567890 -g=dba -role=Tester 6 [; i, x- B* m
make_user -u=infodba -p=1234567890 -g=dba -role=QAEng
$ t1 _" N! w' N7 t& |make_user -u=infodba -p=1234567890 -g=dba -role=ProdEng. N D7 L' H0 G1 c
2登录进入TC,查看组织结构. d; r t/ `$ l7 J. r
" P* l3 E2 F8 T K! @
* Y( D% E1 b/ y! o; x! T
3. 在TCDOS窗口中使用下面的命令导出组和角色
* l$ ~; P9 |4 l7 q4 s( \' t8 C D* f7 E+ v1 F
导出的文件格式是XML文件。
( m/ f6 {4 t$ P1 B$ e$ T. t1 @0 \( z* J! m+ T
请把正确的infodba密码提供给-p参数。
' o% L: t" n: i6 `8 e! ]3 {
1 d+ k" {5 a9 y3 d ~/ A8 p" f. ?/ ]' w
4.本地化 / W$ Q( O" L+ Z2 _3 J5 q
- \4 W: S7 |1 }, O6 M* ?复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml, : { k; P# J5 |
" e1 H& c/ W; N' ~" ^' P _5 c$ K用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行 ; l2 B* I! f% F' ]) l) p
7 R( U& m( d% \* D: r本地化的目标语言代码。$ i3 A& Q) ]2 T& T! w0 e
下面是目标语言的列表
( ^' _+ J, }% G7 r/ ?( P L* k+ y2 b8 D* i' r- B3 t
目标语言代码目标语言 + m- }1 m6 o! x$ K/ Q
9 J& D8 U3 i& z/ E4 wcs_CZ 捷克语
7 W |7 O, ^4 k2 @' w( Y
/ q' u( h& d4 _8 W; J4 x7 Ede_DE 德语 + c: q9 v' `. D
7 I) [- ], v$ n4 U" F3 gen_US 英语
; z. I) F# w8 I) t. l5 Y( s' y ]
* e& `( I$ D$ F3 Res_ES 西班牙语 3 U% F2 ~- @; r7 O# G
! f, A* M! i$ a( l/ z
fr_FR 法语
- R* t4 U" f; ^; @' T
- A8 f2 [0 [0 X+ ~& ^7 g( Lit_IT 意大利语
& G, j2 I( m9 d
8 N0 j& o) s1 W& l; Gja_JP 日语
/ M1 D) t5 v g$ c# `: Z4 C8 t' k4 q& P5 H' W: A4 J$ j. t4 p3 `. i
ko_KR 韩语 7 Z1 t% V# E o
% x8 R. Y- i$ g3 @: }5 n; P3 y& Bpl_PL 波兰语
. S, [7 g+ y+ n( G' @
; O# c* b3 l6 S- Q6 z4 R8 J( |pt_BR 巴西葡萄牙语
/ E" A( s4 U) H* J: J# Q( h3 _0 J) l
2 i* N' l0 P% B$ f5 Q! jru_RU 俄语 2 U4 g( U% Y- T) e2 S" u
5 k8 k8 N4 K+ o; p% hzh_CN 简体中文 0 Z1 @% |. h3 o3 ^4 ?/ t2 ~
" K/ o: z8 {$ t/ ^2 P' {3 t
zh_TW 繁体中文 3 d2 S2 v* ~0 A. K" S9 B3 g
) V" x* k4 E2 B% h4 v$ C注: % t( W: W4 \& I* h. _5 x
7 I' Q+ K: ^, P; n( Z, x8 {0 s% [
根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后
* h8 y9 k% j; l j
" }9 D @7 h/ ^: N$ ^的对应名称在下面的属性对之间进行修改。
5 m: J3 ^+ R" I/ F
0 U3 M5 B0 y2 p) W
$ {$ J& b; u5 y( T1 N4 [<LocalizedValue> # ]; [' T+ S0 Z6 q# _$ E
</LocalizedValue> 3 S2 ~! O5 i; ^9 k! Z
注:
1 [3 M- M# D% i1 U1 n: ~* M6 L/ D
7 j% A, b) S s) {如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。
! Y! y+ r' A% \$ F8 V8 P; C6 }. ^( f5 P
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对
4 u' p8 E6 G/ h. g
! M2 x4 z+ C% @! N6 {1 ]# b% u/ A里面的:
" P' t3 l" ]7 [0 [3 P
9 L9 C. Z( ^& }6 n1 {7 Z, U \0 n$ y' O x+ R) t9 ^/ w
<ObjectInstance> ! w; z4 C0 X# L8 X% S. `5 D3 H
</ObjectInstance>
. T+ n1 |7 Q; i% Q6 ]7 m* ^请注意保证XML格式的正确性。
) O7 E+ J2 I- A& j3 k o组的本地化修改的例子: $ ?3 t2 H+ T7 c/ ?
, ^3 o5 v9 n7 H
3 Y- X) S3 e! a8 f0 ?, d: m1 R
c8 j: I; P( E. N! |: s/ i<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB">
, j" b" |) P1 i' w" {<Property propertyName="name" masterLocale="en_US">
& q: z' S5 b7 S1 X6 }' ?% F<Value index="0">
" g4 x7 l* R5 r9 X4 L! M* K<MasterValue> ( S$ R: Z& `6 B7 c; G' l# k
dba
7 Z& f- c* C7 @* s. L</MasterValue> r1 g* E; p# S% c& r8 C
<LocalizedValue> 2 a, a! z! S. f, M- G* k& p
dba ( N, a8 u" I& l0 M% B4 g9 ]
</LocalizedValue>
/ ?) n/ c9 |8 o' Z' q% A</Value> % c. O# d. N( s. o! C
</Property>
7 |: i9 V4 c" l0 M( Z9 K5 K' t</ObjectInstance>
- Q, F* d4 Z" r& y<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB">
8 ]5 T% v; f8 _$ {6 p5 [<Property propertyName="name" masterLocale="en_US"> 2 b5 [, [3 c- b G0 b% }/ J- h& A
<Value index="0"> + ~& u$ R6 T) t
<MasterValue> 9 d! W( p5 d$ e
GF02 . `' e/ P/ g: A9 h+ Y# [ c; e
</MasterValue> * p: X& P0 I$ |
<LocalizedValue>
c5 m0 k: V0 B# ]) y
* C8 }9 `8 n3 G3 M" [( }- c工艺02
, S8 @1 Y8 I! O& [. I+ U* |% v0 ]. [- }; N$ n8 r! |
: G: r3 [; o6 ^</LocalizedValue>
8 l( S) r0 S. j</Value>
3 b8 k0 ^8 D) I3 K$ D. m0 r* f9 A</Property>
9 ^. z/ A" Z# i) A</ObjectInstance> 9 h" T1 N4 [) y* i
: r4 k1 F% {9 o0 j7 K
角色的本地化修改的例子: - ~' ?2 X' b, ~: D$ c9 |
6 A4 ]2 k; U$ @8 J& d, H
) @4 n! t# [1 V. v
( J: ^: l, f. N1 i6 k' m' Z
' ^ } ?# K+ n9 t* N
0 p4 m- l6 e, ]* E6 q<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB">
# H( }8 O1 ]+ b* d* v& N' Y( Y<Property propertyName="role_name" masterLocale="en_US">
- O. T9 J+ |1 s+ f4 T<Value index="0"> & H0 J! L8 p( Z/ C/ r: b* m
<MasterValue> ; j/ s) t6 x' t" k+ i/ E* x* Z: T
DBA
% L8 l7 N; T, r) \2 m0 I</MasterValue>
: i. J- G, [8 s: }9 ]% T$ V<LocalizedValue> " r# C8 b( f/ K: {; D( t
DBA
A! y* n5 D: U# F& |) V</LocalizedValue> + {/ G+ | G: g+ E
</Value> 5 E- B( G6 K1 G, K; P
</Property> ; {5 J2 g) V' V# Q0 C- ? a" Q
</ObjectInstance>
: l; s2 V" g0 p, ]! O<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB"> . s; M4 B/ b* z; | U, k$ ]
<Property propertyName="role_name" masterLocale="en_US">
" y7 L1 e( d0 W% X) G; P<Value index="0">
" z! m1 l& Y- {" W, r<MasterValue>
( j/ s6 @3 B# @- U: F" _+ S" F8 aTester % X- C3 Q0 C' K0 N& I4 l
</MasterValue>
" J: P, ~5 |9 [1 A2 l( P8 X2 ?<LocalizedValue> 4 L; v4 Y6 F( }) ]' l: l U7 ?
4 ~8 e% F c- E. h4 ^; l测试员 % i) ]( [4 `& ]
, S% q, S/ H3 I6 q7 N: y. B8 J
1 x- r+ m& C) ~8 E8 v p' d
# A8 w# k: x" O% k# H! a
</LocalizedValue>
" m% c6 T2 `; M) O! ]1 E</Value>
: g# N1 n1 U3 a. D' [8 [1 G1 @</Property>
+ `4 r, \7 x% B. Y7 _</ObjectInstance>1 m- [& w7 b( V) P
3 r/ V/ U- J1 O3 l( |8 M' S
0 f! n I7 x7 p" U4 g( s- o5 S* J3 k7 q5 S/ K& g" i* y7 H' p8 [
# |8 @0 v4 h+ p4 J7 G1 a$ W; H1 h! p0 f# Z4 k
- b& T8 Q3 z) }' a
5 y y! T. }. @ u" z; J; D
保存文件.
. |3 ^" e" i3 C# c4 A' F. H; Y5 t' z
5.导入本地化 ! y5 W7 g2 q3 y
7 Z: u3 b6 d& C5 Y+ W5 o
在 TCDOS窗口中进行导入
" |' X' s. N4 V7 c+ ~/ ]
+ e# X* @( ]- O6 v' R8 ~
; d1 Z8 h. s) z7 ] C请把正确的infodba密码提供给-p参数。
0 ]& s O( h3 [( V: ~& j6检查 ) T8 g9 S8 I1 O9 b: u/ W9 z& i
F) P# T8 M" l0 e, f1 x# b8 ?用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称
) _ j C- l# s0 o9 P
5 M. ^9 a- m2 S2 l- B9 N7 j: K* O
5 m7 x/ a+ G# R
/ }0 L& B- U p4 \; G* Q6 i$ S' r: x* i& o
|