请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化?
, E, ~: L$ H+ M. v0 F) t/ `/ n9 }: S8 B3 C$ P8 H& e
问题:
6 C- B$ g$ v- u- v3 L% r通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管1 B- }+ }9 H% \1 F/ Q" ]3 k
" B! Q, C- J. l4 g9 m: n
理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大,
3 h A8 N3 t) \2 e; N并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法? ; d9 \. ?& _8 ~! u
软、硬件环境: , H, n U* ^/ {$ y; F
平台 : na
) Q9 i9 D) ?$ s F4 W/ b1 h* F$ m" _( C
OS : n/a 5 Q2 \6 F2 Z$ {# T" K0 i% H
OS版本: n/a
+ d% z9 r, o; H ?
2 q) @) {! \ W+ S L应用: 组织
' b4 ~& F3 M0 E U版本: V10.1.0及以上
5 D7 t! G! I! v0 r; T2 J9 ^& e: c8 F% j2 \ r9 k* c3 \2 `. K: r$ S
解决方法: 3 ~9 R+ e& V8 c5 i# ~
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程,
. g5 f9 U* K" u其它语言类似。
% H- e; u- E5 G3 w1 P. K8 ? - m2 I. E- L$ d# y& E
1.使用下面的语句创建一些组织结构,组和角色
6 P+ U2 l( e K# k8 S, r5 ~& v请把正确的infodba密码提供给-p参数。 5 ^2 [3 b3 z" l% a; |
& H3 k- y1 V) n' @5 T; fmake_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01
2 \( P$ N5 X$ |make_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01 # `* f( z% n5 Q) e* s
make_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 . C C$ @; d U+ U
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02 & f5 t5 o$ Y: p% L
make_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02 ' q+ w( v$ h9 l e1 E
make_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02 7 G( M% r8 ?8 y6 S8 s! A+ y
make_user -u=infodba -p=1234567890 -g=dba -role=Tester " x# ~- q: F1 n1 z+ |; |
make_user -u=infodba -p=1234567890 -g=dba -role=QAEng ; u8 I( A9 e9 e Q+ l4 q
make_user -u=infodba -p=1234567890 -g=dba -role=ProdEng. `: t3 K# @ U4 S
2登录进入TC,查看组织结构
4 x0 e7 N4 U# W9 g2 j; y
/ M# q- O- X, W/ P7 N- X7 E+ }6 l; l7 R0 h7 U3 Z3 k1 K' C
3. 在TCDOS窗口中使用下面的命令导出组和角色
; q- x+ q( R8 h. a7 I2 w( m: s
3 Z: `9 \# U' W4 X/ h# \导出的文件格式是XML文件。
" u( T/ F) }/ R0 F0 O
. q: h. g7 M6 S! Y请把正确的infodba密码提供给-p参数。 8 {7 b; P( i& s2 Q# U2 Q% `, Z
g& o& _! E: X9 W4 f* V4 E8 }8 A
. z6 k8 z) m0 j3 p3 Z6 N" Y3 R4.本地化 / A. Z+ k) R- S
4 \5 B5 _9 f2 u7 d) a: _
复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml,
7 }/ q3 h; H; D9 l1 b* J+ |5 y+ j% r( ~, \( J0 r' K
用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行 # I9 t9 O- c7 o& F/ P
* D9 `" c* k4 W5 [! d$ O/ Z本地化的目标语言代码。# U1 ~1 z( q1 c
下面是目标语言的列表 % w: U* A3 B: p) g0 y) y
/ A+ u' I: q& P ]4 u目标语言代码目标语言
7 |. y. _# R- {: O8 j* }8 f) Q9 p/ [1 k5 ]% g
cs_CZ 捷克语
8 J- M, G5 q8 c9 G0 B/ q2 C3 m1 {# Q8 {* O
de_DE 德语
8 h3 _/ [0 ]5 w8 Q0 S [7 Y k5 h! n! i4 ?3 O, j6 u. f
en_US 英语
8 c: u4 v; o, m& b
" s- _7 i4 A$ m6 O2 ?% f; N9 @# |es_ES 西班牙语 ) n8 W- n& |: F) |
/ _. t: l# X" j' r5 D: a3 s4 Q6 @fr_FR 法语 ; @& Q' {# x, [+ W$ h9 g# s- {
' `5 ~& ~. R& \7 n" i9 Tit_IT 意大利语
4 l5 h$ _) D3 D3 f- @1 k( P
# q1 }( i* Q8 M! i" g' |% E! _ja_JP 日语 " a: |: N4 H: L) N8 G
/ N+ p0 }5 M* ~- Z$ Q
ko_KR 韩语
t$ {: q* T# H# p7 [, Y8 p6 Z1 j% _
2 b1 T& B2 ^) x: @pl_PL 波兰语
# P1 i0 N8 y' A' P+ O
" T# p4 a: \' ]1 J M% e; G; npt_BR 巴西葡萄牙语 ' S2 H. Y3 x8 S; z8 m; J
. }1 F9 J, I7 x# |/ c! i( d
ru_RU 俄语 8 `- `1 z9 N! W
9 }' o0 Q6 J; D6 q5 i k
zh_CN 简体中文 , y' J. W" C. c5 S8 Q
7 z6 ]& C: P0 t' ?* b9 Z# ^zh_TW 繁体中文
* [6 a1 M2 u8 `4 b
$ X z% J Y/ e& [% E9 o注:
1 s; h T, ?6 `/ D0 P
) h% I' j4 M* p) i* j! t( G1 y根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后 4 `" r8 ?! b' z) m
e. W. x7 R" l3 c8 D& e的对应名称在下面的属性对之间进行修改。
" G6 k+ I5 Z* P. N& a4 {9 v) T( B! [. ^" X8 z/ r7 p: j
i; n9 i5 E+ ?6 d! M<LocalizedValue>
. [+ H5 ?- D9 m" P1 R</LocalizedValue>
. g6 A! w2 Q5 ~! q0 l注:
4 i- H1 [/ {0 ?. C3 U: R' A5 b1 l' B/ ^ t
如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。 2 _, Y9 I) x9 c* x
, D4 u, ~$ V# ~2 m0 f# E3 o! M% F8 _对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对 & `- I; z$ C2 K+ y
* H# l. l" F2 W$ E* b, s& a8 b里面的: " ?. W! n2 Z' m2 S
3 u8 s7 h4 I% f- J" ^
0 V# G* q6 N5 ^2 D2 O) f0 [& `<ObjectInstance>
7 ]8 z( U) n" t0 P7 ~6 B! K</ObjectInstance> 1 a: {1 E5 [4 v+ k
请注意保证XML格式的正确性。
3 p7 ^2 ]. {; N4 ]0 N& a: g, z组的本地化修改的例子:
) D' o# v: f5 P ] e9 f6 M) ?
# D1 k) E4 v0 ^- O
0 ?' B- H% a# r- Y% W# B0 E<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB"> , q8 l: [$ l3 h# R# ?8 c2 N
<Property propertyName="name" masterLocale="en_US">
' \1 m- e% q G* |<Value index="0">
F" q }* u4 H1 @# W<MasterValue> " y" y& s) U' e. Z3 t/ y4 a6 |
dba 0 K' C# r5 U* u6 B$ H
</MasterValue>
& R1 u2 l6 F3 s c: e! e( v1 z; U8 j# @<LocalizedValue> : W0 \; Q1 K$ J2 w
dba
$ V# Y ~6 V7 Z4 p8 v1 u</LocalizedValue> 4 X; n9 j6 O7 K5 Z ^
</Value> & f! C& U/ r) N
</Property> x/ V( T8 x6 n6 G- O B7 g
</ObjectInstance> v# ?; G3 R2 v2 N$ E
<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB"> + F# J* I/ a1 d7 C- z8 ?1 r
<Property propertyName="name" masterLocale="en_US"> & m5 E E- w/ V3 p4 A/ a, [% e: y/ [
<Value index="0">
, T, C, ~8 n4 r5 ?2 C<MasterValue>
- Q" A; q) l7 [ IGF02 , q' W+ ]7 w$ c5 Y& w! y/ I, t
</MasterValue> ( n/ C+ P+ s/ Z$ `' a8 i
<LocalizedValue>
0 r: A! A& [- g: F$ O5 u/ R# c7 q$ w* U) \' q C. ?& Z7 g8 a/ U: H
工艺02
) G) w% G* A8 X1 b9 Y1 O9 ?" Q; v, \4 N2 T' e9 |
2 s+ j" O' o; H* V/ m3 f' `+ K
</LocalizedValue> 1 H8 x8 m, l1 j2 i
</Value> 2 @+ O4 \2 v( Y* i# D
</Property> 7 P5 r+ T' z3 ^& q& C, r* o% b
</ObjectInstance> 4 A3 _& Y% [: t A
& z& W) D; {6 D+ ]1 n& C角色的本地化修改的例子: / Y! z. ]9 F. g B
: F7 w; q- b6 ~5 L 3 A( |" e C* E1 y% i4 Q6 G
* i5 u3 N, O; P* [
* J9 Y% x9 T. d! E7 x* L q
! P6 b0 Y- }" B+ ?<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB"> 1 Y9 k/ K# }+ l" A% a0 v
<Property propertyName="role_name" masterLocale="en_US"> 9 C+ d! u' h9 W( T2 y
<Value index="0"> / j4 x7 n8 |/ M9 ]3 D; s
<MasterValue>
4 t4 @. x4 d1 O7 C8 q$ QDBA $ Z& G5 Q& h. H
</MasterValue> ) s; H6 T" x. c M, l
<LocalizedValue>
; v: F; ?) r4 a0 m4 bDBA
/ r6 {8 J. z3 o# I# j</LocalizedValue> - ~* Z' F. `8 Q, C' Q; z! i2 g1 n
</Value> * F! T0 e, u: B: z
</Property> # ~6 b7 X2 h0 d: h/ h7 |& b
</ObjectInstance>
1 x" V6 i8 C/ g2 S* l. ?% U<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB">
* [. e, w+ D/ v( d/ N<Property propertyName="role_name" masterLocale="en_US"> $ s6 }5 y* P% ?: N
<Value index="0">
" f8 F8 b, Z$ m6 a+ G9 O<MasterValue>
. U* j: y S3 g3 ZTester
# i& M1 r. _$ @% a- s! v/ }& [</MasterValue> 9 w7 t6 q$ k* x. e2 A6 F! B/ d
<LocalizedValue> " A0 p2 a6 Q g; c+ s' e1 j' D3 s
: Y1 u! A/ }1 Z$ v0 `测试员
9 n9 V t. X/ `6 T* e) t& w
( O4 j7 ~" r+ h+ M9 ~9 d* v
' q4 ~! f4 j; x1 q- `6 Z" x
; i1 w1 c7 V* ?2 u" k, N6 |5 z</LocalizedValue>
: \, I3 d3 t$ W7 ]* d</Value>
3 k5 K* w9 g+ ]; ^</Property>
/ t5 h. F9 U% l; ?</ObjectInstance> p% m" a O6 C
! C( @4 Q2 t; b: M' Z
+ r( L9 T# t/ b7 f$ g: o
3 c d- p" V! J/ ?
2 ^) {- w& _0 G3 F; o: X
. M( R$ e$ m& I6 w* s7 L/ `9 ~. K
9 |6 a n" l# @5 |1 k3 }
+ V0 T' u1 V# d* y# C4 k: I保存文件.
7 g& I, Z4 \- P% {3 A' F3 X3 w
* f5 W& V3 A2 n2 g. f& {5.导入本地化 b" P3 A& Y. K& I* N. `
: X: b4 ]1 Z% |) P, z在 TCDOS窗口中进行导入
7 @! T9 k3 v9 Q& y N" t) H0 t7 B 5 ?& x3 H Q0 n
0 s$ X/ N4 v8 {. U. g" [ b+ {
请把正确的infodba密码提供给-p参数。
# o3 q; }' K) {6检查 ( X6 m$ z! }0 x% {
9 w1 ~6 a2 V: t0 J
用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称
1 p- w" Z9 p0 X* o
# ~3 d/ @* n9 u4 Z9 E @* O$ d( A4 c+ v! f7 F1 r
2 M) ]+ V* L5 W3 R
4 {+ j2 E/ m5 Z7 G6 q |