Đô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  


 

Hosted by www.Geocities.ws