Thông tin chung

  English

  Đề tài NC khoa học
  Bài báo, báo cáo khoa học
  Hướng dẫn Sau đại học
  Sách và giáo trình
  Các học phần và môn giảng dạy
  Giải thưởng khoa học, Phát minh, sáng chế
  Khen thưởng
  Thông tin khác

  Tài liệu tham khảo

  Hiệu chỉnh

 
Số người truy cập: 107,063,142

 Nghiên cứu ứng dụng Automate hữu hạn vào xử lý các biến đổi của thông điệp theo ngôn ngữ khi phát triển các phần mềm đa ngữ
Chủ nhiệm:  Võ Trung Hùng; Thành viên:  TS. Võ Trung Hùng
GS. TSKH. Bùi Văn Ga
PGS. TSKH. Trần Quốc Chiến
GS. TSKH. Christian Boitet
TS. Nguyễn Thanh Bình
Số: 2 024 06 ; Năm hoàn thành: 2008; Đề tài cấp Nhà nước; Lĩnh vực: Công nghệ thông tin
Trong những chương trình máy tính, chúng ta thường gặp những thông điệp (message) có chứa những biến nhớ (variable). Những biến nhớ này kéo theo những biến đổi bên trong thông điệp, nguyên nhân tạo ra  những biến đổi này là do sự tương hợp về giống, số, cách, mức độ lịch sự và vị trí của các biến…. Ví dụ, khi chúng ta viết trong chương trình một thông điệp “$n tập tin đã được xóa” thì trong tiếng Pháp ta phải phân ra hai trường hợp “$n fichier supprimé” ($n=1), “$n fichiers supprimés” ($n=2, 3, …) hoặc trong tiếng Anh “$n file deleted” ($n=1), “$n files deleted” ($n=2, 3, …). Trong trường hợp trên, đối với tiếng Anh và tiếng Pháp việc sử dụng hậu tố -s phụ thuộc vào giá trị của biến n (1, 2, 3…).
Việc xử lý những biến thể như vậy luôn luôn là một vấn đề rất khó khăn trong những hệ thống đa ngữ bởi vì các kiểu biến đổi là rất khác nhau giữa các ngôn ngữ. Ví dụ, tiếng Nga có 3 dạng thức số nhiều của danh từ giống đực : những biến thể của файл (tập tin) là файл, файла, файлов : nếu những số có chữ số cuối là 1 và không phải là 11 thì dùng файл, nếu số cuối bằng 2, 3, 4 và không phải là số 12, 13, 14 thì dùng файла, những trường hợp còn lại thì dùng файлов. Đa số các ngôn ngữ châu Á chỉ sử dụng một dạng thức dành cho danh từ. Dành cho số từ, tiếng Pháp và tiếng Nga có hai biến thể, còn tiếng Anh có 4 biến thể (-st, -nd, -rd, -th).
Những hệ thống như gettext và catgets cho phép “bản địa hóa” (localisation) dễ dàng những tập tin thông điệp nhưng chúng chưa thể xử lý những biến đổi ngôn ngữ bên trong những thông điệp. Một phương pháp thông dụng hiện nay là người ta sử dụng một thông điệp đơn giản “$n fichier(s) supprimé(s) hoặc thay đổi chương trình xử lý cho từng ngôn ngữ, ví dụ dành cho tiếng Pháp :
if (n<2)printf(“%d fichier supprimé”, n);
else      printf(“%d fichiers supprimés”, n);
và dành cho tiếng Nga :
if (n<2) ||((n%10 =1) && (n>20))
          printf(“%d файл извлекал”, n);
else if (n>=2 && n<=4) ||(n>20 && n%10>2 && n%10<=4)
                  printf(“%d файлa извлекали”, n);
            else
                  printf(“%d файлoв извлекали”, n);
Trongphầnlớncáckỹthuậtlậptrìnhhiệnnay, ngườitahàilòngvớiviệcthaythếnhữngbiếncủachươngtrìnhbởigiá trịcủachúngmà khôngxửlý nhữngbiếnnàyvà nhữngbiếnthểtạorabởichúng.
Trongđềtàinày, mụctiêucủachúngtôilà nghiêncứuđềxuấtmộtgiảiphápđểquảnlý tấtcảcácthôngđiệpvớicácbiếnthể(có thểcó) trêncácngônngữkhácnhaumà chỉsửdụngmộtmã chươngtrình(codesource) duynhất. Tiếpđến, dựatrênphươngphápnày, chúngtôipháttriểnmộtphầnmềm(dướidạngOpenSource) đểhỗtrợchongườilậptrìnhkhipháttriểncácphầnmềmđangữ.
Kỹthuậtmà chúngtôiđềxuấtđượcthựchiệnnhư sau. Trướchết, chúngtôibiểudiễntấtcảcácbiếnthểcủamộtthôngđiệp(luônlà mộttậphữuhạn) trongmộtôtômathữuhạncó thểđiềukhiểnđược. Tiếptheo, đểdịchmộtthôngđiệpMtrongngônngữL1 sangngônngữL2, chúngtôiphátsinhtrongL1 mộtxâuký tự(địnhdạng) củamỗibiếnthểcủaMtươngứngcáctrườnghợpcó thểởL2. Tiếpđến, dịchchúngsangL2 và sảnsinhtrongL2 mộtôtômatcủathôngđiệpnày.
© Đại học Đà Nẵng
 
 
Địa chỉ: 41 Lê Duẩn Thành phố Đà Nẵng
Điện thoại: (84) 0236 3822 041 ; Email: dhdn@ac.udn.vn