Đôi lời mở đầu
Hỗ trợ viết tiếng Việt trên trang này là một đoạn Script nhỏ. Tuy đã có
nhiều phần mềm rất tốt để gõ tiếng Việt trên máy tính, song hầu hết đều phụ
thuộc vào platform. Người xem trang web dùng máy trong trong trường, công
ty... nhất là ở nước ngoài thường không có điều kiện (hoặc ngại) dùng những
tiện ích đó. Việc dùng tiếng Việt có dấu trên internet bị cản trở đáng kể
bởi lý do này. Đối với các web masters thì đây là một vấn đề đáng để suy
nghĩ.
Khi viết đoạn Script này tôi thấy khá tiếc công vì đã có
nhiều chương trình hay. Lý do mà tôi vẫn viết là vì muốn tìm một giải pháp
có thể tích hợp cho các trang web và không phụ thuộc vào platform, là vì
những rắc rối không đáng khi vào đọc các trang web tiếng Việt, và vì mong
muốn sắp tới chúng ta sẽ có được một sự đồng nhất trên các trang web có
dùng tiếng Việt. Với Unicode việc này đã có đủ điều kiện để xảy ra rất
nhanh. Đoạn code này giúp các bạn xem trang web có thể viết tiếng Việt (kể
cả dùng Unicode) ở mọi nơi có trình duyệt web mới mà không cần nhiều thao
tác và phần mềm đặc biệt, thậm chí không cần cả môi trường Java, nhanh, gọn
nhẹ và dễ qua FireWalls. Nó khá nhỏ và được viết bởi JavaScript (ngôn ngữ
dành riêng cho thiết kế các trang web) vì vậy cả người viết trang web lẫn
người dùng thường sẽ không gặp vấn đề.
Nếu bạn cũng là người đang thiết kế trang web dùng tiếng
Việt và cũng cùng có mong muốn như trên, muốn giúp người xem trang web của
bạn viết tiếng Việt thuận tiện, đương nhiên tôi đồng ý và rất vui lòng để
bạn dùng đoạn Script này:
1- Sơ luợc về cấu trúc
Trong khi một bộ gõ độc lập như VietKey, UniKey... có thể
dùng được cho nhiều trình soạn thảo khác nhau nhưng chỉ trên máy đã cài đặt
nó, thì ngược lại một bộ gõ qua mạng như VietUni chỉ dùng đươc qua trình
duyệt web nhưng ở khắp nơi trên các máy trong mạng, một giải pháp có thể
tích hợp vào các trang web nhận bài viết tiếng Việt. Cái khó của một bộ gõ
qua mạng là ở trạng thái mặc định nó phải thoả mãn được thói quen soạn thảo
văn bản tiếng Việt rất khác nhau của người dùng ở mọi nơi cùng một lúc, đồng
thời nó phải nhỏ gọn vì phải tải qua mạng. Tất cả những yêu cầu này đều được
để ý đến trong vietuni, phiên bản vietuni7 này làm việc tốt trong IE4,5,6 và
với nhiều hạn chế trong NS6 và Mozilla. Dưới đây là những chức năng và đặc
điểm chính (khi chạy trong IE):
- Cung cấp những cách nhập liệu chữ Việt thông dụng nhất: TELEX, VNI,
VIQR
- Tự tìm nguyên âm mang dấu trong từ cho phép gõ dấu ở cuối từ, tự
nhiên, nhanh và đúng chính tả
- Có tính năng gõ lặp để sửa chữ và dấu một cách đảm bảo, mọi lúc mọi
chỗ trong bài, chỉ cần chuyển con trỏ về từ đó và gõ lặp
Đấy là những chức năng cơ bản của bộ gõ nằm trong phần
code chính rất nhỏ và độc lập. Ngoài ra vietuni còn có khả năng tự động nạp
thêm những modules với những tính năng mở rộng khác khi và chỉ khi đươc cần
đến, người dùng không nhất thiết phải tải nó qua mạng nếu không dùng:
-
vuspella.js: Cách gõ TELEX rất phổ biến ở Việt
Nam và cho phép nhập bài Việt rất nhanh, tuy nhiên nó rất khó chịu khi bài
viết có nhiều từ tiếng nước ngoài. Modul vuspella có tính năng tự kiểm tra
lỗi chính tả tiếng Việt cơ bản để khẳng định từ đang được đưa vào có phải
từ Việt không, nếu phạm chính tả cơ bản như "thẻe ảe" (không có trong
tiếng Việt) thì nó sẽ sửa lại thành "there are" như nguyên gốc. Kích hoạt
chức năng này người quen gõ telex sẽ bớt đi rất nhiều thao tác trong những
bài có nhiều từ không Việt. Để ép dấu thì nhấn một nút điều khiển ([CTRL]
hay [ALT]...) rồi nhả ra trước khi gõ dấu ví dụ "voilà": [v] [o] [i] [l]
[a] [CTRL] [f]
-
vuspellb.js: Kiểm tra và sửa những lỗi chính tả
thường gặp. Một ngôn ngữ khác như tiếng Anh thì chuyện dùng javascript để
kiểm tra chính tả là một điều không thể làm được. Riêng tiếng Việt có đặc
điểm là các từ (theo định nghĩa: tách nhau bới kí tự trống hoặc ghạch nối,
dấu ngoặc...) đều là đơn âm và các chữ cái ghép với nhau cũng theo rất
nhiều qui luật, cho phép tự động nhận biết những lỗi gõ nhầm hoặc từ tiếng
nước ngoài (vuspella.js). Những từ có thể là "Việt" nhưng vẫn sai chính tả
thì thường cũng rất hề thống do cách phát âm từng vùng, chẳng hạn người
bắc hay nhầm giữa tr và ch, x và s, d và gi và r; người nam đánh dấu ? và
~ sai, n và ng hay c và t ở cuối từ .v.v. vuspellb dựa trên những đặc điểm
trên để sửa phần nào những lỗi hay mắc phải.
- vuinput.js: các kiểu gõ khác
- vumaps.js: viết tiếng Việt dùng các bảng mã khác unicode,
chuyển đổi...
2- Download
- vietuni0.js R.19.03.01 (12kb) Bảng mã Unicode, cách
gõ Telex, VNI
- vietuni1.js R.23.03.01 (14kb) Bổ xung cách gõ VIQR
(Anh Đức viết)
- vietuni2.js R.24.03.01 (14kb) Bổ xung nút xóa dấu
(TaT)
- vietuni3.js R.28.03.01 (15kb) Bổ xung bảng mã
VNI-Windows
(TaT)
- vietuni4.js R.30.03.01 (18kb) Bổ xung các bảng mã
TCVN3-ABC, VISCII, VPS-Win
Cách đánh dấu mới, đánh ở nguyên âm đọc có dấu: oà, uỳ, oè (...)
- vietuni5.js R.26.04.01 (19kb) Giải vấn đề con trỏ
(caret) cuối bài. (TaT)
- vietuni6.jsR.14.09.01 (12kb) Sửa lỗi sót dấu (TaT),
multi-frames (HaiNam).
- vietuni7.js
R.30.09.01 (14kb)
-
vietuni8.js R.19.10.01 (9kb) The
Extremist
- Cải tiến, gọn và nhanh hơn, không sót dấu
- Chuyển đổi từ VIQR với phỏng đoán dấu '.' và '?' có phải tonmark không,
tránh các dấu trong trường hợp chấm câu, tên files, địa chỉ mạng...
- Tự động nhận dạng mã dùng trong bài và chuyển về dạng server muốn, chẳng
hạn unicode, trước khi gửi form (submit)
- Cho phép sửa chữ cái Việt cả khi con trỏ ở sau từ và cả khi nó đã mang
dấu, ví dụ: "thảng"+[w] -> "thẳng", Duongwdf ->Đường...
- Chuyển code của vumaps.js về dạng "thân thiện" với HTML-docs dùng UTF-8
- vietuni.js
V1.618 - R.11.11.01 (10kb) - Nhát Cắt Vàng
- Sát bọ :-)
- Thêm một số tính năng theo yêu cầu người dùng
- Sửa tự động những lỗi gõ nhầm như khôgn -> không...
- Sửa dấu điền sai chỗ
- Bắc cầu nối với Java
Ngay từ đầu VietUni chỉ có ý định là một đoạn
script nhỏ phục vụ web, không có ý định đụng chạm với các bộ gõ độc lập vì
phạm vi hoạt động và đối tượng phục vụ khác hẳn nhau. Với tư tưởng này
VietUni cũng không hề mang VersionNumber mà chỉ có ReleaseDate và số thứ tự
để phân biệt. Cách gắn số này khá luộm thuộm, hơn nữa VietUni đã bắt đầu
dùng đến cả Java, ít nhất có thể phát triển tiếp theo hướng Toolkit với
trusted applets on local box có truy cập files mà không bị hạn chế về ngôn
ngữ nữa. Vì vậy từ bản này VietUni sẽ có VersionNumber với số khởi đầu: V1.618,
con số này còn đuọc gọi là "Nhát cắt vàng", biểu diễn theo công thức là Phi
= (Sqrt(5)-1)/2. Nó có một điểm giống như các phần mềm điện toán: có thể
chính xác theo công thức nhưng không bao giờ đạt được độ chính xác tuyệt đối
khi thể hiện cụ thể qua số thực, dãy số sau dấu phẩy dài vô tận và càng dài
càng chuẩn hơn. Cũng như vậy VersionNumber của VietUni sẽ dài thêm ra mỗi
lần có một bản mới.
3- Cài đặt bộ gõ vào trang web:
Đưa đoạn code sau đây vào html-document của bạn. Nhớ điền vào tag:
src="vietui.js" tên đúng và path đến nơi bạn đặt cái script trên server của
bạn.
<script language="JavaScript1.2" src="vietuni.js"
type='text/javascript'></script>
<form name="yourForm" method="POST" action="none">
your form elements...
<textarea name="Input" rows="8" cols="50" onkeyup="initTyper(this);">
</textarea><br>
<input type=radio name="switcher" value="OFF" checked onfocus="setTypingMode(0)">
Turn off VietTyping<br>
<input type=radio name="switcher" value="TELEX" onfocus="setTypingMode(1)">
Telex mode<br>
<input type=radio name="switcher" value="VNI" onfocus="setTypingMode(2)">
VNI mode<br>
your form elements...
</form>
Trong cả trang web, chỉ cần một bộ nút tắt mở, chuyển kiểu gõ.
Tất cả các ô nhận bài viết (textfield và textarea), ở mọi Form, mọi vị trí,
đều có thể nhận trợ gõ tiếng Việt, chỉ cần nó được cài tổ xử lí onkeyup:
onkeyup="initTyper(this);"
Hoặc theo cách cũ:
onkeyup="telexngVietUC(this,event);"
Nếu muốn bạn cũng có thể thay cách xử lý lập tức bằng xử lý toàn bộ,
có nghĩa là cứ để viết xong bài rồi mới chuyển sang chữ Việt. Muốn vậy bạn
tạo 1 button như sau:
<input type="button" value="Convert"
onclick="convertAtOnce(document.formName.textAreaName); return false;">
*Cảm ơn sự cộng tác của các bạn!
____________________________________
Hon chuyển tiếng Việt
|