请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化?
7 h& J) F' h8 M. ~+ `9 Q; C
/ J: s" K* Z- d( K4 B5 C. l问题:
$ e. n" Y; R1 D: [" O6 W通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管1 Y6 `7 _- [$ S& b& R
2 @4 Z4 S, |# j0 a9 O; x
理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大,
7 P' F9 Q/ J$ t' S2 A6 t' B并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法?
% X) D1 P* v# S7 F2 K9 z软、硬件环境: $ H; J$ U5 ^3 z9 e9 Z: G# _
平台 : na 7 b9 g6 H [" u* s9 D1 c
1 q0 d' u2 e, e9 y1 ]OS : n/a & U2 j; o; B0 U3 ] H
OS版本: n/a
4 ]. `0 r0 \" q4 F
: e' ?+ \: C! B应用: 组织 * }& P' H3 y/ ]# L# \
版本: V10.1.0及以上
( l2 W9 M9 |5 D# n# i t& K# P1 T& i: O L# ?1 X9 | [
解决方法: / @: q( F% D* l K
以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程,
9 A3 u6 o: R- \/ u% q其它语言类似。
0 I5 U* `( R/ E+ [" {: Y1 i 6 M( o0 l; c7 I1 Y8 h" v( a; D: F
1.使用下面的语句创建一些组织结构,组和角色 . R) O5 m' o+ J9 {( U' Y
请把正确的infodba密码提供给-p参数。
# k. a! o7 a. D9 M# w
7 K4 S2 k( j9 Z" `2 |5 M/ i qmake_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01
- S/ w4 c: z) m; v I2 C% Gmake_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01 . M% P% b5 H1 ~7 {
make_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 " P( R6 t& K) ?* q
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02
8 [1 D/ |& N9 L, K+ U2 N Cmake_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02
) F( o2 k7 K3 Q. N" d% V( mmake_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02
7 j% ]2 U) q: D2 nmake_user -u=infodba -p=1234567890 -g=dba -role=Tester
' b# g9 q# C5 |! _# a6 T3 ?! `' Ymake_user -u=infodba -p=1234567890 -g=dba -role=QAEng
" @: r; Q3 m: J7 @, Emake_user -u=infodba -p=1234567890 -g=dba -role=ProdEng9 g6 T' R% E/ H1 l
2登录进入TC,查看组织结构
( U% P+ [! m5 z9 V
: O$ r: i; `6 [: ?% f5 Q
. F; {% V5 |+ S3 |7 a
3. 在TCDOS窗口中使用下面的命令导出组和角色
* [' w8 M# D6 P6 T' h- l* |8 y3 b% V
导出的文件格式是XML文件。 l" W9 @- _# V0 [3 N
, e4 m8 o4 s* f; l
请把正确的infodba密码提供给-p参数。
* T/ x2 C9 o1 C7 b1 V + V+ T4 f9 M' M2 y7 P2 Q
9 g0 }+ F" w6 Q& I
4.本地化 - z! m/ d w+ F. k, C: H: g% O/ y: }
) Y0 g6 C$ ]3 \2 p3 Y
复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml,
1 z, z8 g, G& [7 g, ^! e O
, G& @% N' c( d1 ^' _% C用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行
9 @7 b2 z' ^. O, ?% B5 m
( ^! ]; f/ |" Q9 Y; A( L+ C本地化的目标语言代码。: N' J& K& u4 X# z2 ]
下面是目标语言的列表
% ?/ }" x, a. j4 F0 ?
4 r0 p. Y! B$ i1 q目标语言代码目标语言
! d' U4 g0 { |6 ]% p% E1 I0 o1 T6 R* k1 x3 ^2 P# S5 V# R7 L
cs_CZ 捷克语 3 O: x& d! I( F% ]
* u! V3 w5 J+ w' ^( i* T9 U/ gde_DE 德语 + [/ P* }5 f; X- m- b
0 F+ y& s+ c1 Aen_US 英语 " M& k" f) e+ F- D8 x7 Y% x
1 ~( p ]9 Z( }( K: p6 w* a: B6 e% Des_ES 西班牙语
& r% n" U2 l! `" k8 P9 \; r4 ?0 e! z: _ o! P5 |
fr_FR 法语
0 u/ {/ }& h- {. h8 s) x0 D
- u! C0 l% f- J1 E! eit_IT 意大利语
1 \) K4 b* W, x: \2 m' G9 o( p
ja_JP 日语 0 F9 t; |6 @6 O& N0 y, J
% S! @! O& O7 `4 Qko_KR 韩语 ~% }- \1 {( e
1 S! ?) c8 z0 I/ ypl_PL 波兰语
+ B+ Q" I; X5 @. |' e2 j, a2 D% y4 ^0 d U% |
pt_BR 巴西葡萄牙语 `$ \- K: d7 a' J0 H/ G
0 Q7 _; v8 g# Q# a" A$ m
ru_RU 俄语 & l( }8 C q# g8 ?9 }. K
/ N" c3 L8 I( z6 Mzh_CN 简体中文 ' L1 t# Y% r6 k* b
) m6 S1 h) z7 w0 n+ t8 v4 C- k
zh_TW 繁体中文 6 C( _" i9 {& u l/ J) W% I
% r% O5 [* `6 P% b# B0 g注:
5 w- l1 k5 i$ O" V! s. M+ }, |( t+ l: k1 a3 w
根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后
& N! D) V0 I8 x' L' K0 E& n, T$ f0 a( _! z1 _- i
的对应名称在下面的属性对之间进行修改。 % N/ e( H2 C* \8 K. @- x1 q# m
* O8 I" }. h* a" H/ D
6 h( v' i8 e. p3 d! e<LocalizedValue>
+ S. u/ f5 D2 b ~5 k</LocalizedValue>
1 o% a+ B0 U' ]& Q' g注: 6 B* ?9 B# t( K9 m- `% z/ k
1 [6 {9 k* D. Y' L- r' \( t
如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。 & ~1 A! h" j. R
6 [7 b0 g9 G' K' c6 p+ }. q
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对 * l' R- K, K6 Z4 b1 ~* n8 F2 U8 Z" a! h
- E) M: K) Y' h! z
里面的:
: Z0 C3 D7 d% y/ ~5 N. Y9 ~
, T% A# _; a. U8 K) g# o/ R, r: \! U. A3 x) f# H+ v( N
<ObjectInstance> 7 j4 W3 g4 e7 Q* v4 V4 t
</ObjectInstance>
0 h; x/ N5 g5 Z3 ]" d, A请注意保证XML格式的正确性。7 c4 H" I7 M0 g" V( Y: \- j
组的本地化修改的例子:
( Y) u4 I' g8 p1 b( P3 a' K0 H% B F& E4 I9 X$ B2 z! S
( y2 \/ G, A, u( b( ^1 \9 L& r/ @" V3 D
<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB">
9 w% x B; P) s% b# [& `4 b<Property propertyName="name" masterLocale="en_US"> - S+ e: v% d& p% ~" v- z$ R
<Value index="0"> / T& j c6 n6 C C+ e( ^
<MasterValue> * L8 M- Z: |# S X) e
dba $ R/ G; j% c% A4 ^" T. R
</MasterValue> * E9 @- O7 O, f1 @7 u
<LocalizedValue>
9 w7 r% E! `6 Y9 a* u" Y# Gdba & p! x/ g" T% I# ^3 t8 `
</LocalizedValue> % K1 Y2 w9 z& u2 Z
</Value> ; D2 |2 `5 f- w7 |
</Property>
1 a( |3 v+ d) l$ ^</ObjectInstance>
! _ H) d0 |! @/ }. s0 \<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB"> 0 Y2 O8 g3 P; D# A0 {' p3 @, G
<Property propertyName="name" masterLocale="en_US"> 3 Q' r+ d0 L( n$ e
<Value index="0"> - I' N9 n# l/ P. e# A+ E$ _' f
<MasterValue>
E# Q3 r5 L7 wGF02 o6 R/ M* i2 Q( Z- l
</MasterValue> 3 B6 ~( ~' B. `0 \! E+ n# ~
<LocalizedValue>
( W$ {- c/ X; T2 P( n' f0 l
: M& ~) ~; k4 ~工艺02 + q) @: {' Y6 ]# c: \$ o* N0 ^
" F) w# g; b; y
$ Z2 C! Q1 K! F7 @3 c
</LocalizedValue> " @+ y/ m) T" J$ T. W* D$ n) H
</Value> 5 s8 `0 p5 u* m. s/ Y ~7 x# F2 o
</Property> * _# \! K/ J% d M0 W X. h8 N
</ObjectInstance> 2 l$ Y8 R6 Q8 e- G( O
2 W3 h& G( O. {5 M- b8 N角色的本地化修改的例子:
6 U3 ^5 h0 j1 ^) L) [3 Z
* k Y) D: j0 m
+ F, D$ n+ ]2 ~( k, H; u% P. {
$ e- q- @2 k2 A# F
; m1 K7 s+ c) N
9 I- Q/ [0 ]7 u' Z7 f<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB">
1 G3 D7 A$ w! o' r6 V<Property propertyName="role_name" masterLocale="en_US"> ( [* W8 G% Y! e
<Value index="0">
' @; j/ I: r- r% A$ W<MasterValue> ' s, f6 d* e% a G& j v) D/ E
DBA
7 P" |7 D+ p) T) w3 v</MasterValue> 9 d+ F" ]) K( ?( {1 L+ @
<LocalizedValue>
: T: t$ p# A5 I' J7 O- d# F* i0 _. yDBA
0 V H, Q$ e! _; ~</LocalizedValue> 8 N) q6 ^1 t) W; `2 j( W
</Value>
, ?0 n7 l8 m2 ?" W$ Q+ i</Property>
; W. J( b- R+ s6 Y; K) h, V</ObjectInstance>
. ~' W' I( M* k$ U, X+ K<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB">
' {0 C% c7 M) L) z0 e O<Property propertyName="role_name" masterLocale="en_US"> ' s. M/ d9 Q6 I. {+ w( `
<Value index="0"> 1 r+ T2 d5 ]" i6 g C+ W
<MasterValue> 3 t! K' k& f' w V
Tester
; g" @& P9 N% P8 Z</MasterValue> . y' w9 \- y3 y0 L% ]
<LocalizedValue> 4 G) e5 A$ z% F
& L5 o1 ^8 o9 _测试员
( g0 H% ?. g$ E( l0 }( o) d$ O6 D( r' k q5 A
' e3 l5 m+ t% N4 e& ?( q2 u5 V k; T" o* ~/ R; X
</LocalizedValue>
( K6 K2 p8 k2 H7 @( ?$ @1 G, _) \: R# `</Value>
X" H) Z" R3 |# o5 s8 P</Property> & W( f5 Y( `8 _- F( v
</ObjectInstance>, l( U* u2 Z2 ?/ ?! t5 H! ?
# a) S$ ] Z' Q* ~0 o
+ Q" }% a' U8 h4 A# W: x* s2 M% r7 k( A8 b& ] c
5 w+ _1 a5 {7 y: x" u$ ?. C
9 |9 ^' X7 M l9 K; Y2 W3 M& r% k; B: s, n2 f$ o, z
+ i% x9 `( h* F' j" L保存文件. . r5 \( y0 E" Q9 N
8 y" V2 N1 K$ ~) M J
5.导入本地化 % Q, B' E1 {) Z9 R# a
5 c' q- I2 z0 m8 e
在 TCDOS窗口中进行导入
, Y \+ T# `* _1 T0 D 3 |# g: F/ T* G1 x% p7 N
* ?3 J) E( o8 Z3 R! I" ^; I5 a请把正确的infodba密码提供给-p参数。( j! P, u i4 r( K. z4 R# e7 Y
6检查 % ?7 W/ y" Y$ v% u/ m$ C
0 F _9 V, w0 Z) h, E用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称 X! x r2 { u
: l; o0 W8 ]# N- m/ Y
3 F1 K% @8 N% }6 o8 s: y
) N3 \) A2 H& I7 E5 i& K) X K p
8 y$ p+ A' g+ i; D& _ |