请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
123.怎样批量进行组织结构的本地化? 4 G! p, U/ d, v! }
+ Z* ?$ y( I1 |& o6 G) {# E$ E: q, ]
问题:
1 \4 t S1 h: \8 T/ Q4 s通常情况下,为了更好地实现国际化,我们在定义组织结构的时候是用英文来定义的,例 如:组和角色的名称。很多本地的使用人员,还是希望看到本地化后的组织结构。系统管
1 P2 ^$ Q& M1 y0 u2 Q
. }" M. e. \; u2 B( ~/ w理员可以通过在胖客户端的组织应用程序去进行相关的本地化操作。这样工作量有点大,
2 H2 n" [" g7 O% D2 L并且在测试系统里面的数据不容易移植到生产环境。是否有批量进行本地化的方法? 6 ?6 c9 R d/ q9 E0 e5 | B/ e6 k
软、硬件环境: $ p' K1 b$ w; v) W
平台 : na
3 R8 H# X3 G1 H# i. ?9 I3 M
, X# Y+ r' }" g( }, n2 n5 ?OS : n/a
( @+ B7 x( |5 z. ROS版本: n/a
( A4 |: m6 u3 d6 q* o# `" _) b3 f5 g' A0 |
应用: 组织
5 E# Z8 j, u4 ~) m. F: u版本: V10.1.0及以上
$ {% A q: z& D! ?) |0 b- ?; F' S4 g
解决方法:
% Q2 G9 M3 G6 r3 d/ ?9 u ~2 l# w8 M以下面在英文为主语言的环境下创建的组、角色为例,进行批量简体中文本地化的过程, 0 ]1 f: @4 x0 E4 s3 F( ?. R; o6 P
其它语言类似。
0 g r8 Z7 X1 \) \8 _% s; ~- a3 p% g E k- W- S* w
1.使用下面的语句创建一些组织结构,组和角色
3 ?. Z; n5 K5 u) t, L2 F: U请把正确的infodba密码提供给-p参数。 + G# h- j' k3 s9 a( Q2 {
. Y( _/ j- d9 W4 G* Y0 c/ `make_user -u=infodba -p=1234567890 -g=dba -group=BC01.GF01 2 R, v% J0 C' t' C e6 `7 D0 f* e& ]
make_user -u=infodba -p=1234567890 -g=dba -group=BC02.GF01 4 d: U. ^3 Q: N' i% D- w7 k
make_user -u=infodba -p=1234567890 -g=dba -group=BC03.GF01 - L0 ]' P$ n* V9 X$ ]
make_user -u=infodba -p=1234567890 -g=dba -group=BF01.GF02 ) I; v8 p5 q& H/ c k
make_user -u=infodba -p=1234567890 -g=dba -group=BF02.GF02 , M0 x8 |. c8 b
make_user -u=infodba -p=1234567890 -g=dba -group=BF03.GF02 3 d6 k1 a5 X+ M# B
make_user -u=infodba -p=1234567890 -g=dba -role=Tester 4 d1 L% F, S& D# n% x
make_user -u=infodba -p=1234567890 -g=dba -role=QAEng 4 G, `0 q, q& c7 n4 L+ j% \
make_user -u=infodba -p=1234567890 -g=dba -role=ProdEng
* m9 g# m2 N7 d+ H7 l2登录进入TC,查看组织结构
: R; C" F( R2 j! s9 ?# W) i6 P' r
; X8 P0 |% M5 g- m& {; y
) {4 X. x x# w) s7 ^: {6 @3. 在TCDOS窗口中使用下面的命令导出组和角色 ( X$ w q* u$ l5 N
, w4 T+ i* c' @
导出的文件格式是XML文件。 9 q% [1 g Z6 L( |/ |
8 E+ n- U3 S) k( |& [( o$ w
请把正确的infodba密码提供给-p参数。
( A. X8 L! [, O
! J* p m( ]0 Q4 u; }$ r: Q; I- b5 I/ L
4.本地化
3 I1 N! F8 y" S( _; |1 F0 \% B% B/ \1 e
复制一份文件后面加上zh_CN,例如groups_zh_CN.xml, roles_zh_CN.xml, * Y4 u1 }& B" D
: t- ]0 w$ m- D8 B; x$ X0 o用文本编辑器打开,把第二行修改为<L10N locale="zh_CN">,其中zh_CN是需要进行 1 L8 _6 m- b! Y9 r9 p5 _, l
& T# b! G3 Q" n* S) A+ \; F
本地化的目标语言代码。
6 M% j2 |% J8 o$ f( e9 p下面是目标语言的列表
7 K1 G) R+ n ~! o. h
1 {+ R5 A* [( s" Z目标语言代码目标语言
2 E6 a; ^; m* j" b, b/ y5 ^3 i P5 \+ q& p$ _) a) H! j
cs_CZ 捷克语
* F- ^+ L6 o# Y C8 l2 v2 H' X
- V9 d* ~( J; \) Rde_DE 德语
7 D8 b3 e' `8 z$ ^# D" t+ H. u" l. ~; U
en_US 英语 # G- ~5 Y5 r' c. w
" A; m' z7 ] C' O% ces_ES 西班牙语 / h, V$ F8 I/ W4 s
. P3 H, K! w: g8 {( `' @fr_FR 法语
2 D5 l# n7 v9 p L# ]
- R8 G7 C5 k" `1 N+ d" B. O$ yit_IT 意大利语
+ L i4 I- W% Y- v7 w" z5 e
4 a1 p, L: f0 q) ~9 s7 \. [ ?' nja_JP 日语 $ H s7 P$ g1 H0 v i4 A) l0 d8 X" K
8 Y. @7 f* h, r2 D6 z+ T, I# U$ Yko_KR 韩语 4 ?; ~7 b8 T# n7 e) J. `% O- f; J
# g3 @$ b! H. `: K1 V5 H6 x9 x
pl_PL 波兰语
" B- [1 R% \; S! ^; p+ Y
& E1 X# b+ T4 v8 }8 I, X0 Xpt_BR 巴西葡萄牙语 9 O. G6 T. t* n Z+ A9 O
! \, x( _* ~: X6 b
ru_RU 俄语
6 ]- m/ y, u" m) l. H
, I4 t8 [3 @8 `. p# Y2 Mzh_CN 简体中文
& l! I& b/ X9 M+ `
& X a/ q2 i& b3 L! k6 `zh_TW 繁体中文
6 m- p! R4 b8 Z2 [ J) i$ z0 K9 G8 h( n
注: ! I) U9 G2 X/ n) J$ H/ ~
% P. \/ i! y. I
根据不同的本地化需要进行相关的第二行的修改,例如,繁体中文使用zh_TW本地化后 ( H) O' v$ h1 @! m, t5 E8 V: L/ b
; s6 g$ y! n! f i" {, u
的对应名称在下面的属性对之间进行修改。 , _& ` k6 w9 z
! x9 c7 L) K( T$ b+ ]
. y5 h" d+ Y* H<LocalizedValue> : M- g* f1 C4 g x1 s5 j4 q
</LocalizedValue> ; A. F* z$ I& D; N: h; M0 x
注:
. ]% F( Z$ t1 O' f
i" X& i- f! M* @ V* b如果是与原来一样的,也需要添加相关的属性,否则将会被显示为空。
# m' N+ Q7 k0 x A/ x/ s2 E4 G5 k6 Q4 r
对于不需要进行本地化的内容可以从XML文件里面删除,注意他们是包含在新的标签对 - n x; A: ^/ C8 Q" m4 I
" m, Q8 @! w/ V9 A; D/ V/ ^6 Y% w里面的: + K `) C- |. ?0 L! v: X5 |) ?
( ~: i- {/ w0 i H# B! c
; R$ b% Z9 C4 }+ v<ObjectInstance> 7 w/ [6 H' r* ?& A1 Z X
</ObjectInstance> 6 g# [$ D( z% }: A7 ^
请注意保证XML格式的正确性。
- X. G& v5 ]" }0 V6 J9 `组的本地化修改的例子: ; w8 I0 h |3 \' t; q9 u* d, u
, _3 ^9 A5 F. _4 }0 D
3 j/ u- v) {& u) B
+ M3 _! A8 x7 P& J2 V5 N0 K<ObjectInstance typeName="Group" displayName="dba" uidValue="AYdVPKfhouMCcB">
n. ^2 W" S, }% H& `9 V<Property propertyName="name" masterLocale="en_US">
' e! m; _0 }: r1 L8 ^<Value index="0"> $ ~& d4 P+ E% ^, s2 `
<MasterValue> 9 B e4 [3 W S) Y0 X0 t7 h$ L6 Z
dba
3 s' ?$ P$ W; |, D- `</MasterValue> ( e9 @( W- F; H: d9 m
<LocalizedValue> - v# T& L& s1 R5 C
dba * r* X* j+ K4 @# j# p: m
</LocalizedValue> ! j, o% j% w# v* `6 k
</Value> , O8 N7 j1 U! i+ {8 S2 i
</Property> * o, H5 b. g P( S6 M
</ObjectInstance>
( d& h& R/ G1 I& N& e1 y# X<ObjectInstance typeName="Group" displayName="GF02" uidValue="g0bhka8EouMCcB">
9 x" x7 y5 ^; Q; O, F' m6 Z<Property propertyName="name" masterLocale="en_US">
3 m% w' h5 m. i! Q# F5 l: N<Value index="0"> 5 Y1 y' d1 G! V4 T$ p$ x$ k
<MasterValue>
! I3 y/ J! Q5 I2 TGF02
: W0 R6 @7 I. Q</MasterValue> , B' |0 R% ^) ?- H
<LocalizedValue>
" i0 }% C- v6 J8 J9 s5 u
0 e3 l& U1 R0 @工艺02
" \/ j" w0 m/ E
+ x3 U8 y' `( y6 n7 {5 a6 c0 s, D" g# h# l
</LocalizedValue>
' o' F( ?2 |) j: ?! B2 p4 n/ x</Value>
0 J# d3 i) J6 P% F8 h6 j* M</Property> ; }/ w( N i7 r
</ObjectInstance> 2 t( L0 k7 Z. ?8 _ q" v2 C G S
R" _) Y E Q' d- \6 f/ y) T7 v) [7 z
角色的本地化修改的例子:
# Q' Q* s5 Z% H6 g4 e
; R9 B6 r' G. _
* l# A* y$ C. e. J$ T/ Y$ o
3 G# Q8 f% g, s2 R1 ]( [& i+ U# s" `4 q' T9 n6 C; @
5 g' o/ J* B1 t. i9 J5 W) s<ObjectInstance typeName="Role" displayName="DBA" uidValue="AUeVPKfhouMCcB">
@( }3 C( M' }7 F) x. Y- J) v<Property propertyName="role_name" masterLocale="en_US"> - T, M. K; Y `" E
<Value index="0">
$ O% d* v7 {/ J* o/ c, @" r<MasterValue> ' K1 b% @9 [3 Z: \: V1 ?7 g
DBA
5 T% ~# c, Z/ f9 @; J: ]</MasterValue>
3 q) E6 L% r; Q<LocalizedValue>
0 P/ A2 W8 r- t, W& a6 i( ~' uDBA
7 ^* o- @( ]2 e6 b7 ?</LocalizedValue> _- \9 |' c8 O/ Q8 U4 }
</Value> & v% R/ {0 T7 n8 x+ Y
</Property> $ J- M3 t/ |% h- j6 M
</ObjectInstance> ' j$ Q: u- Y# z' W8 ?
<ObjectInstance typeName="Role" displayName="Tester" uidValue="g0bhka8YouMCcB"> 4 C& x- X$ {$ U2 [9 }$ W3 G
<Property propertyName="role_name" masterLocale="en_US">
+ Z8 M- p4 f/ W7 E<Value index="0"> $ q- m4 \3 T! v/ Z: Y; W v5 \9 A0 P1 q3 n
<MasterValue>
+ O, u y6 o; E0 kTester 7 h6 o: N4 d9 G( J
</MasterValue> + w* r/ {- A4 t- O
<LocalizedValue> n3 U5 t& n% U
* Z' I& O' X2 O0 G- m/ f测试员
m- f. n f9 a5 q8 k9 x7 V, K2 _% P" n8 R! H' Z) ~+ C
1 b; S' i; p1 b j0 D6 J" L2 L. D5 q! I8 A1 v2 @. U
</LocalizedValue>
6 {9 I {* \8 i3 `" Z4 p</Value>
& p4 r* f( M/ V% p' }</Property>
0 S s h8 e: N" F! g" `</ObjectInstance>; T9 i r5 C" F, l0 f# k* { ?
' t7 |8 i- [+ E* K8 |; n+ i
4 J; q5 y& [5 t9 T* U/ ~9 x& C# y( o% B6 O5 P
4 V% s1 t0 S d' R" g% _ v- |3 d/ j( I* l! z
7 J2 V6 o8 t1 Z
- d; y( m& q; ]/ }$ Z% }+ f. u保存文件.
! x0 v1 R9 E; ]
7 j3 j0 m% {. A# Q0 _5.导入本地化
0 |1 D7 h* F9 n8 j$ ?) b5 S) A W# h9 D* G, O
在 TCDOS窗口中进行导入 ) i) I4 \+ \1 _. \8 m7 w# P
" f; ]1 ?* B8 b( H. q
* M" y# l3 W6 F- Y+ _! P* \. k+ R, Q请把正确的infodba密码提供给-p参数。2 v. r w1 s+ s! O
6检查 9 S2 n9 k7 R. Y- ~4 d
$ X$ d, f7 a8 K8 O/ {7 B E3 h$ [
用对应的本地化语言界面登录,进行检查,同时还可以检查对应的英文名称! I, K J3 f0 f6 u# o3 P
8 ?- e% d, V& f) I) i' q$ ^/ A5 s& d3 o5 S6 i+ N, q$ k, e: \3 N
. a( Q4 f w4 o! q. n0 f& w$ Z$ J7 I0 n$ M/ e5 O' H+ W& I
|