Tài liệu Việt hóa phần mềm
Trang 1Việt hóa phần mềm
Tác giả: Lương Thiên Khôi (zeromanltk@gmail.com)
-Trong khi bạn đang đọc bài viết này, có thể bạn cho rằng, đây là 1 công việc hết sức nhàm chán, vô nghĩa, “giết” thời gian, thì lại có không ít người đang phải khó khăn, khốn đốn khi mới chập chữnglàm quen với máy tính !!!-Có 1 thực tếmà hẳn không riêng gì tôi, bạn, mà tất cả mọi người đều đồng ý rằng, vẫn còn có rất nhiều người không có điều kiện đểtiếp xúc với Anh ngữ(thời gian, tiền bạc) � họ cảm thấy bởngỡkhi tiếp xúc với máy tính, hoặc có chăng, những gì mà họđã& đanglàm, thao tác trên những phần mềm, đơn thuần giống như1 cỗmáy (do bắt chước người khác, còn về bản chất vấn đềthì lại không nắm rõ)
- Mặc khác, quan niệm của tôi - bạn hoàn toàn khác nhau Với bạn, bạn có thểcho rằng, “mặc nhiên nó nhưthếnào (tiếng
Anh) thì cứđểnhư vậy, hà cớgì phải mất công Việt hóa, phải tạo điều kiện, tập cho mọi người dần dần làm quen với Anh ngữ” Nhưng với tôi, tôi lại mang suy nghĩkhác Đơn giản
vì, tôi muốn làm 1 cái gì đó thật thú vị, thật ngộ, thật
vui (bằng cách đem “văn nói” vào “văn viết”), muốn thử sức mình, & cuối cùng là vì muốn làm những gì mà mình cho là nên làm !
1/ Thiết lập tiếng Việt trên môi trường Windows XP:
-Có thểnói, Windows XP là HĐH hỗtrợTV tốt nhất từtrước đến nay (chỉthua mỗi thằng em của nó là Windows 2003 & Vista sắp ra đời) Với bảng mã Unicode, bạn
có thểlàm được rất nhiều thứmà trước đây tưởng chừng nhưkhông thểlàm được -Tuy nhiên, nói là WinXP hỗtrợ tốt tiếng Việt, nhưng mặc định, XP vẫn chỉ hỗtrợ“cật lực” cho tiếng Anh mà thôi � bạn phải “bật” tính năng hỗtrợtiếng Việt trong WinXP lên mức hết cỡ
1 + Start menu\Settings\Control Panel\Regional & Language Options
2 + Tab Languages �đánh dấu chọn Install file for complex script �OK
3 + Tab Regional Options �chọn Vietnam/Vietnamese
4 + Tab Advanced: chọn Vietnamese
5 + Tab Languages �Details # Tab Settings: bổ sung “kiểu nhập” Vietnamese �chọn làm mặc định
6 + Lưu ý: bạn nên thường xuyên kiểm tra tùy chọn Extend support, nếu tính năng này bịdisable � việc thểhiện tiếng Việt sẽ gặp khó khăn (thấy 1 đằng nhưng lại hiện1 nẻo !!!)
Trang 3# Tab Advanced: chọn extend support
Trang 42/ Dùng bảng mã nào ?
-Nhưđã nói, chỉcó bảng mã Unicode mới có thểgiải quyết được các vấn đề vềt.Việt
mà thôi Tuy nhiên, bảng mã Unicode có 2 loại:
1 + Unicode tổ hợp
2 + Unicode dựng sẵn
- Về cơ bản, cả2 bảng mã này đều có thểgõ t.Việt rất tốt Tuy nhiên, trong 1 sốtrường hợp, Uni.tổ hợp tương thích t.Việt tốt hơn Uni.dựng sẵn (Uni.tổ hợp gõ t.Việt được, còn Uni.dựng sẵn thì không), nhưng vềphần thểhiện t.Việt thì trong hầu hết các trường hợp, Uni.dựng sẵn luôn tốt hơn Uni.tổ hợp -Có 1 bảng mã khác mà ít ai đểý đến, khả năng tương thích t.Việt + thểhiện t.Việt tốt hơn rất nhiều so với Uni.tổ hợp & Uni.dựng sẵn, đó là bảng mã Vietnamese Local CP1258 (VLCP1258)
� khi Việt hóa 1 phần mềm nào đó, bạn nên tuân theo thứ tựưu tiên như sau: VLCP1258 > Uni.tổ hợp > Uni.dựng sẵn
3/ Dùng bộgõ nào ?
-Phổbiến nhất hiện nay chỉcó Vietkey & Unikey -Vietkey: từ năm 2000 đến nay vẫn là phiên bản beta, không được cập nhật/ bổsung tính năng / sửa lỗi -Unikey: tính đến thời điểm bài viết này ra đời, đã có bản (chính thức) 3.63 (& đang có bản beta 4.0)
+ Giao diện đẹp, thân thiện, dễdùng, nhiều tính năng, hỗtrợnhiều bảng mã,
�Unikey là 1 sự lựa chọn sáng suốt
Trang 5+ Bảng mã VLCP1258 chỉcó trong Unikey
� Bạn chỉcó thểchọn Unikey
4/ Windows File Protection (WFP)
Trang 6-Nó là cái gì ? Có liên quan gì đến công việc Việt hóa ??? -WFP có liên quan mật thiết& ảnh hưởng rất lớn đến công việc Việt hóa của bạn Nhưbạn đã biết, WinXP
là 1 HĐH có độ bảo mật cao � mặc định, hầu hết các file hệthống (chủyếu là các file nằm trong C:\Windows\System32\) được sao lưu dựphòng vào C:\Windows\System32\DllCache\
-Khi hệthống gặp sựcố(bạn cài đặt/tháo gỡphần mềm, hoặc 1 lý do nào đó đại loại như vậy), WinXP sẽtựđộng xác định các file hệthống đang trong tình trạng
“hấp hối” & tiến hành phục hồi lại chúng, bằng cách sử dụng lại các file đã dựphòng sẵn trong folder DllCache
+ Trường hợp file này chưa được sao lưu, WinXP sẽyêu cầu bạn đưa CD WinXP vào đểnạp (copy) lại các file này
- Vấn đềđặt ra là, giảsử bạn đang Việt hóa 1 phần mềm nào đó, 1 trong sốcác file của phần mềm này mà bạn đã lên danh sách phải Việt hóa lại nằm trong folder System32 �
mọi việc mà bạn làm đều trởthành công cốc hay sao?
1 + Lấy trình nghe nhạc rất ưphổbiến là Windows Media Player 10 làm ví dụ ĐểViệt hóa WMP10, bạn chỉcần dùng RH thay đổi nội dung file System32\WMPLOC.DLL là xong
2 + Bạn thay đổi nội dung file WMPLOC.DLL (đang nằm trong System32), điều này đồng nghĩa với việc bạn đang thay đổi 1 file (được WinXP coi là) hệthống
�khi bạn sửa đổi nội dung file này, lưu lại, mởWMP10 lên đểxem kết quả�chẳng
có gì thay đổi (bởi tính năng WFP đang hoạt động)
-Đó là khó khăn dành cho người thiết kế(chính là bạn), còn người tiếp nhận sản phẩm của bạn thì sao ? Họ cũng sẽ bịnhưbạn Giảsử bạn Việt hóa WMP10 xong, nói đúng hơn là đã Việt hóa xong file WMPLOC.DLL, bạn đưa cho ai đó file này
�người đó phải copy file này vào C:\WINDOWS\SYSTEM32\ thì mới có thểdùng được WMP10 Tiếng Việt
+ Trên lý thuyết là vậy, nhưng thực tếlà chuyện gì sẽ xảy ra ngay sau khi người
đó copy file WMPLOC.DLL vào System32, thì có lẽkhông cần phải nói, bạn đã biết chuyện gì xảy ra rồi (bởi lẽ, mặc định, tính năng WFP luôn luôn ởtrạng thái enable (ởbất cứmáy nào đang dùng WinXP))
• làm thếnào đểtắt tính năng WFP ???
-Có nhiều cách Tuy nhiên, hầu hết các cách mà bạn biết, tôi đoán là sẽ ít nhiều gặp khó khăn (mất thời gian, khó khăn, phải rất “công phu”, hoặc chỉ tạm thời tắt tính năng WFP này 1 thời gian, thậm chí có trường hợp phải cài lại Win !!!) Có
1 phần mềm chuyện trịWFP mà ít ai ngờđến, hiệu quảcực cao, đơn giản, dễdùng,
đó là XPLite (phiên bản mới nhất là 1.7)
Trang 7-Cách dùng XPLite đểtắt WFP, cũng nhưkhám phá những tính năng cực hay còn lại của XPLite, thiết nghĩcó lẽ không cần thiết, bởi nó quá sức dễdàng & rõ ràng
!
5/ Dùng chương trình nào đểViệt hóa ?
-Có rất nhiều chương trình giúp bạn làm công việc Tuy nhiên, phổbiến nhất là Resource Hacker (gọi tắt là ResHack) -Nói ResHack (RH) phổbiến, bởi lẽnó được nhiều người sử dụng đến (dễdùng), chứkhông hẳn do nó mạnh (đa năng) -Nhìn chung, nếu bạn phải Việt hóa 1 phần mềm “đồ sộ” nào đó / trong 1 sốtrường hợp đặc biệt (thay đổi Setup Bill Board của WinXP chẳng hạn), giả sử bạn chia toàn bộcông việc ra 10 phần, RH chỉchiếm khoảng 5-7 phần mà thôi Còn lại, bạn phải phối hợp với1 sốphần mềm khác (có chức năng tương tựnhưRH, nhưng trội hơn về1 mặt nào đó)
-Bạn có thểhình dung nhưsau: -Trong phạm vi bài viết này, mình chỉcó thểđề cập, hướng dẫn các bạn sử dụng & làm quen với RH
Tên phần mềm Mạnh về
ResHack Thay đổi 1 từ, 1 chuỗi ký tựriêng lẻ
Restorator, ResourceTuner Thay đổi 1 đoạn văn bản
Trang 87/ ThửViệt hóa 1 phần mềm !
- Lấy WMP10 làm ví dụ
-Bạn cần lưu ý: khi Việt hóa 1 phần mềm nào đó, (trong trường hợp này là WMP10) bạn nên mởnó (WMP10) lên (đểlàm bản đối chiếu, xem những gì mà mình cần phải làm / đã làm được những gì), đồng thời, dùng RH đểmởfile cần Việt hóa của phần mềm đó lên (trong trường hợp này là WMPLOC.DLL) -Giảsử bạn muốn Việt hóa dòng menu Help\About Windows Media Player
1 + Chuyển sang RH �menu View\Find Text (Ctrl-F) �gõ từ“about” (không
có cặp dấu “”) Bạn không nhất thiết phải gõ nguyên dòng About Windows Media Player, chỉcần gõ 1 từtrong chuỗi, RH sẽtựđộng tìm & nhảy đến từđó
2 + Nếu kết quảtìm kiếm không nhưý bạn, nhấn F3 đến khi nào kết quảtìm kiếm ưng ý thì thôi
3 + Bạn lưu ý dòng:
Trang 9MENUITEM "&About Windows Media Player", 57664
1 + Cái mà bạn cần quan tâm lúc này là chuỗi About Windows Media Player
� bạn chỉcần thay đổi chuỗi ký tựnày thành t.Việt, còn những cái khác thì không cần quan tâm
2 + Giảsửtôi dịch chuỗi trên thành “Thông tin vềchương trình” (muốn dịch sao là tuỳbạn, miễn sao nghe lọt tai là OK) Đểthay đổi có hiệu lực & có thểxem trước kết quả(thông qua Menu-102 kếbên), bạn phải nhấn nút Compile Script
3 + Bây giờ, đểcó thểthật sựxem thành quả của những gì mình đã làm, hiển nhiên bạn cần lưu lại những thay đổi trong file WMPLOC.DLL Tuy nhiên, bạn phải lưu ý ! Lúc này, bạn đang mởWMP10, đồng thời, bạn cũng đang dùng RH đểthay đổi WMP10 (nói đúng hơn là thay đổi file WMPLOC.DLL) � bạn chưa đóng WMP10 lại mà đã lưu những thay đổi bên trong file WMPLOC �bạn sẽgặp lỗi (RH không cho lưu), hoặc có thểgây lỗi cho WMP10 �phải đóng WMP10 lại rồi mới tiến hành lưu (menu File\Save (Ctrl + S))
4 + MởWMP10 lên & xem kết quả
Trang 10� bạn cảm thấy thếnào ???
8/ Ký tựđại diện
- Nếu bạn thích dùng phím tắt, hẳn bạn đã hiểu tôi đang nói đến cái gì Bạn thấy
đó, thay vì phải rê chuột đến menu Help + nhấp chuột, thì mới có thểliệt kê được những gì có trong menu này Trong khi đó, chỉcần nhấn Alt-H là xong
-Bạn có thắc mắc tại sao dòng &About Windows Media Player (trước khi chuyển thành &Thông tin vềchương trình), lại có dấu “&” phía trước không ? Điều này giúp cho người dùng đơn giản hóa thao tác, nghĩa là, nhấn Alt-H đểvào menu Help, nhấp tiếp chữA đểchọn About Windows Media Player
+ Tương tự, khi đã được Việt hóa, người dùng chỉviệc nhấn T là có thểchọn lệnh Thông tin vềchương trình
-Tóm lại, dấu “&” đặt trước ký tựnào (bên phần thiết kế), thì ký tựđó sẽtrởthành
Trang 11ký tựđại diện
9/ Khi dùng RH đểmở1 file, cụthểlà WMPLOC.DLL, tôi thấy có rất nhiều module (frame bên trái), phải Việt hóa những module nào, hay phải làm toàn bộ??? -Nhìn chung, chỉcần xửlý 3 module MENU, DIALOG, STRING TABLE Hoàn tất3 module này thì có thểcoi nhưbạn đã hoàn tất những gì cần làm trong file đó rồi
10/ Với WMP10, chỉcần Việt hóa mỗi file WMPLOC.DLL � bằng cách nào đểxác định được file này
-Đây chính là khó khăn đầu tiên mà bạn vấp phải Bạn biết đó, 1 chương trình hoàn thiện thì không thểnào chỉcó 1 file, 2 file, 3 file, mà là cảchục file, thậm chí lên đến hàng trăm file (những trường hợp đặc biệt thì tôi không bàn đến, ởđây, tôi xét trường hợp tổng quát) -Thông thường, khi cài đặt 1 phần mềm nào đó, mặc định, gói cài đặt của phần mềm đó sẽgiải nén toàn bộcác file của phần mềm này vào C:\Program Files\<tên phần mềm>\
-Tuy nhiên, 1 sốtrường hợp thì lại khác Vẫn có 1 sốfile “lạc loài” nằm ởđâu đó trong hệthống (WMP10 là 1 ví dụ) �gây khó khăn trong việc xác định chúng -Mặc khác, 1 phần mềm khi được thiết kếra, đểdễdàng trong việc quản lý, xửlý sau này (cập nhật, bổsung tính năng, xác định lỗi), tác giảthường chia phần mềm của mình theo từng module công việc Nghĩa là, phần chương trình chính sẽdo nhóm file này quản lý, phần giao diện thì do nhóm file khác chịu trách nhiệm, v.v
1 + ỞWMP10, bạn gặp may mắn là chỉcần xửlý mỗi file WMPLOC.DLL, nhưng ởnhững chương trình khác, đểViệt hóa được 1 cách triệt để, sốlượng file mà bạn phải xửlý chắc chắn sẽ>= 2 -Nhìn chung, dù có bao nhiêu file đi chăng nữa, thì những file này có chung những đặc điểm như:
2 + Format: DLL, EXE
3 + Kích thước: thường là lớn nhất trong chương trình � bạn chỉviệc vào C:\Program Files\<tên phần mềm>\ � sắp xếp theo Size �nhắm vào những file
có dung lượng lớn (đồng thời có format là DLL/EXE) là ngay “chóc”
Trang 1211/ Thí dụtôi đang ra sức Việt hóa 1 phần mềm X nào đó với phiên bản Y, 1 thời gian sau đó, phần mềmX được cập nhật lên phiên bảnZ � chẳng phải toàn bộnhững gì tôi làm điều vô nghĩa hay sao ???
-Tôi cũng từng lâm vào tình trạng nhưbạn, & cũng đã mang suy nghĩnhưbạn, chịu trận nhưbạn trong suốt 1 thời gian dài Mãi đến thời gian gần đây, tôi mới tìm được phương án giải quyết
-Lấy WMP10 làm ví dụ Đứng ở1 khía cạnh nào đó, có thểnói, việc “lên đời” từphiên bản 9 sang 10 chưa thểđược coi là 1 cuộc “cách mạng” Nhìn chung, nét thay đổi lớn nhất đó là vềphần giao diện Những thành phần như: các menu, tên lệnh, tuỳchọn (option), hầu nhưkhông thay đổi �nếu nhưnhững phần này đã được Việt hóa bên WMP9, bạn vẫn có thể sử dụng lại bên WMP10
- Tất nhiên, không thểphủnhận có nhiều tính năng mới được bổsung ởphiên bản
10 �xửlý những phần chưa được Việt hóa (do không có bên WMP9) bên WMP10
• không thểnào có sựthay đổi 1 cách toàn diện ở1 phần mềm chỉtrong 1 phiên bản cập nhật (v9 lên v10)
-Ý tưởng: bạn xuất ra (export) tất cảnhững gì mình đã làm, sử dụng lại những phần này ởphiên bản sau, bằng cách nhập vào (import) & đè lên những phần tương tựởphiên bản mới
12/ Xuất ra nhưthế nào ?
-RH cho phép bạn xuất / nhập dữliệu ở2 dạng (format):
1 + RC: có thểxem nội dung format này bằng trình soạn thảo văn bản bất kỳ
2 + RES: không thểxem nội dung format này
-Tuy nhiên, bạn chỉđược xuất dữliệu ra ở format RES
1 + Lý do: mặc dù RH hỗtrợxuất dữliệu ra ở2 dạng, nhưng nếu dùng format
RC, khi bạn import dữliệu vào �chẳng có chuyện gì xảy ra hết ! Đây có lẽlà 1
Trang 13trong sốít những lỗi hiện thời của RH -Giả sử, tôi đã Việt hóa xong module Menu\102\1033 của WMP10 �tôi muốn xuất nhánh này ra format RES �thao tác như sau:
2 + Chọn nhánh Menu\102\1033
3 + Menu Action\Save resource as a *.RES file
4 + Chọn nơi lưu& đặt tên
-Gợi ý: đểthuận tiện cho việc quản lý & sử dụng vềsau, bạn nên lưu file theo dạng:
<ký tựđại diện của module>-<tên nhánh>-<tên mục>
trong đó:
Trang 141 + <ký tựđại diện của module>: M (Menu) / D (Dialog) / S (String table)
2 + <tên nhánh> & <tên mục>: là các ký số
-Ví dụ: M-102-1033 (xem hình)
13/ Nhập dữliệu vào thì sao ?
-Có 2 cách:
0 + Nhấn Open file
1 + Chọn 1 file *.RES
2 + Chọn nhánh cần chép đè dữliệu vào (chỉ cần nhấp chọn 1033)
3 + Replace
4 + Chọn file *.RES
Trang 16(bạn thấy có gì khác biệt ởC2 so với C1 không ? C2 cho phép nhập vào mọi loại file �nghĩa là format RC cũng OK tuốt ! Trên lý thuyết là vậy, thực tếthì !!!) + Thông báo cập nhật thành công
Trang 1714/ Tuyệt vời ! Nói như vậy, chỉ cần có RH trong tay, việc Việt hóa mọi người phần sẽtrở nên dễ dàng hơn bao giờ hết đúng không ?
-KHÔNG !
1 + RH chỉchiếm 1 phần lớn trong tổng thểcông việc của bạn (xem lại <mục 5>)
2 + RH vẫn có khuyết điểm (chỉ mạnh về xửlý từ, ký tựriêng lẻ)
3 + RH có khả năng gây hỗng file cao hơn những chương trình (có cùng tính năng) còn lại
4 + 1 sốchương trình bị“miễn nhiễm” với RH (HeroXP, HeroDVD chẳng hạn)
� nếu biết phối hợp RH & những phần mềm còn lại, coi như bạn thành vô địch thiên hạrồi đó (cách sử dụng các phần mềm còn lại, xin hẹn trong bài viết khác)
Thay lời kết:
-Một tập tài liệu nhỏ+ được biên soạn khá gấp �khó tránh khỏi những sai lầm đáng tiếc Hơn nữa, đây cũng chỉlà ý kiến, kinh nghiệm riêng của bản thân tác giả� nếu có chỗnào không phải, chưa chính xác, rất mong được các bạn lượng thứ& bỏqua
- Với tất cảnhững ai đang có ý định nhưtôi, đang ra sức Việt hóa những phần mềm mà mình yêu thích, tôi muốn nói rằng, tôi rất hoan nghênh các bạn, tôi đánh giá cao công việc mà các bạn đã - đang -& sẽlàm “Hãy làm những việc mà người khác cho là phí thì thời, rồi bạn sẽphát hiện ra rằng, có những việc mà nếu không phí thì giờ, thì mãi mãi chẳng bao giờphát hiện ra được.”
1 + Biết đâu, 1 ngày nào đó, chính bạn sẽlà người tạo nên 1 làn sóng “phần mềm Việt”, góp phần thúc đẩy phong trào “người Việt Nam dùng hàng Việt Nam”
?!
2 + Biết đâu, 1 ngày nào đó, mọi người sẽcó cơ hội được dùng 1 bản Windows theo đúng phong cách của người Việt ? Một phong cách giản dị- thoải mái -bình dân !!!
3 + và biết đâu, 1 lúc nào đó, bạn -người đang đọc bài viết này, từng cho rằng đây là 1 công việc hết sức vô nghĩa, sẽ lại đổi ý, sẽ thích & đam mê công việc này như tôi thì sao ?