Nghiên cứu ứng dụng Gettext trong đa ngữ hóa phần mềm

26 211 0
Nghiên cứu ứng dụng Gettext trong đa ngữ hóa phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Header Page of 126 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG HỒ NGỌC LAN PHƯƠNG NGHIÊN CỨU ỨNG DỤNG GETTEXT TRONG ĐA NGỮ HÓA PHẦN MỀM Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng – Năm 2013 Footer Page of 126 Header Page of 126 Công trình hoàn thành ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: PGS.TS Võ Trung Hùng Phản biện 1: TS Nguyễn Tấn Khôi Phản biện 2: PGS TS Trương Công Tuấn Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật họp Đại học Đà Nẵng vào ngày 23 tháng 02 năm 2013 Có thể tìm hiểu luận văn tại: - Trung tâm Thông tin – Học liệu, Đại học Đà Nẵng - Trung tâm Học liệu, Đại học Đà Nẵng Footer Page of 126 Header Page of 126 MỞ ĐẦU Lý chọn đề tài Thông thường, hầu hết phần mềm viết tiếng Anh, kể phần mềm quyền miễn phí Mặc dù nhiều người sử dụng tiếng Anh, thích làm việc phần mềm ngôn ngữ mẹ đẻ Chính vậy, phần mềm tốt hơn, thu hút nhiều người dùng cung cấp giao diện hỗ trợ nhiều ngôn ngữ khác sử dụng người dùng chọn ngôn ngữ theo sở thích Đặc biệt, bối cảnh toàn cầu hóa xu hướng phát triển phần mềm môi trường Internet nay, yêu cầu đặt ngành công nghiệp phần mềm sản phẩm tạo sử dụng môi trường đa ngữ Ở nước ta, tiếng Anh xem ngoại ngữ, số người sử dụng thành thạo tiếng Anh không nhiều nên việc phát triển phần mềm mà người dùng làm việc tiếng Anh tiếng Việt cần thiết Ngoài ra, nhu cầu “bản địa hóa” phần mềm (Software Localization) để chuyển đổi phần mềm có sẵn (chỉ hỗ trợ ngôn ngữ đó) sang hỗ trợ thêm ngôn ngữ khác cần thiết Bản thân giáo viên tin học nên mong muốn kết hợp vấn đề lý thuyết mang tính thời với việc rèn luyện kỹ thực hành học dành cho học sinh Vấn đề đặt làm để em dễ dàng tiếp cận với phần mềm thực hành nội dung lý thuyết học, hầu hết phần mềm nước ngoài, khả sử dụng ngoại ngữ em hạn chế Để giải vấn đề này, cần giúp em làm việc với sản phẩm phần mềm học tập Footer Page of 126 Header Page of 126 địa hóa, học sinh trường phổ thông có điều kiện tiếp cận sử dụng có hiệu phần mềm hỗ trợ học tập Để phục vụ việc địa hóa đa ngữ hóa phần mềm, GETTEXT công cụ cung cấp dạng mã nguồn mở sử dụng rộng rãi giới Tuy nhiên, đến chưa có nghiên cứu mang tính hệ thống sử dụng rộng rãi GETTEXT nước ta Vì vậy, việc nghiên cứu ứng dụng GETTEXT đa ngữ hóa phần mềm vấn đề cấp thiết Mục đích Mục đích đề tài nghiên cứu ứng dụng GETTEXT để tăng hiệu việc toàn cầu hóa địa hóa phần mềm Đề tài tập trung nghiên cứu, trình bày lại cách hệ thống cách cài đặt, qui trình sử dụng minh họa qua số phần mềm trợ giúp học sinh phổ thông Ý nghĩa Ý nghĩa đề tài cung cấp thông tin GETTEXT cách hệ thống đầy đủ để phục vụ cho việc phát triển ứng dụng đa ngữ hóa phần mềm, góp phần thúc đẩy việc ứng dụng GETTEXT lập trình ứng dụng Việt Nam Đồng thời giúp em học sinh trường phổ thông dễ dàng tiếp cận với phần mềm mã nguồn mở địa hóa nhằm phục vụ cho mục đích học tập em Đối tượng phương pháp nghiên cứu Đối tượng nghiên cứu đề tài phần mềm đa ngữ, thông điệp đa ngữ, phần mềm mã nguồn mở hỗ trợ đa ngữ hóa phần mềm qui trình đa ngữ hóa phần mềm Tuy nghiên, giới hạn phạm vi nghiên cứu GETTEXT sử dụng mã nguồn ngôn ngữ lập trình Footer Page of 126 Header Page of 126 C/C++ Khi thực đề tài, kết hợp phương pháp nghiên cứu lý thuyết phương pháp nghiên cứu thực nghiệm Về mặt lý thuyết, tiến hành nghiên cứu tài liệu liên quan đến đa ngữ hóa, toàn cầu hóa phần mềm; tài liệu liên quan đến số mã nguồn mở phục vụ đa ngữ hóa Catgets, Gettext, GetAMsg, Về mặt thực nghiệm, tiếng hành thử nghiệm công cụ Gettext ứng dụng dụng số toán tiêu biểu dành cho học sinh phổ thông Bố cục luận văn Báo cáo luận văn tốt nghiệp tổ chức thành chương Trong chương 1, trình bày kết nghiên cứu tổng quan đa ngữ hóa gồm: khái niệm đa ngữ hoá phần mềm, mô hình tổ chức quản lý thông điệp, số công cụ hỗ trợ đa ngữ hoá số quy tắc địa hóa Chương trình bày cách hệ thống GETTEXT, tiêu chuẩn, công cụ đwọc sử dụng phổ biến Trong chương cuối, nêu số ví dụ cách sử dụng GETTEXT số phần mềm địa hóa Footer Page of 126 Header Page of 126 Chương NGHIÊN CỨU TỔNG QUAN Chương trình bày vấn liên quan đến khái niệm đa ngữ hóa phần mềm, mô hình tổ chức quản lý thông điệp, số công cụ hỗ trợ đa ngữ hóa 1.1 ĐA NGỮ HÓA PHẦN MỀM Trong thời đại hội nhập kinh tế giới nay, trao đổi công ty dù lớn hay nhỏ với phần lớn sử dụng nhiều ngôn ngữ khác nên việc trao đổi thông tin dân tộc, nhiều cộng đồng giới với gặp phải khó khăn, trở ngại Hai thuật ngữ hay dùng đa ngữ hóa phần mềm quốc tế hoá, tiếng Anh Internationalization – viết tắt i18n địa hoá, tiếng Anh Localization – viết tắt l10n - Internationalization: Là điều khoản khả tự thích nghi chương trình máy tính để đáp ứng nhu cầu ngôn ngữ địa khác nhau, phong tục địa phương tập ký tự mã - Localization: Là trình thiết lập thông tin hệ thống máy tính riêng lẻ để đáp ứng thao tác ngôn ngữ địa, phong tục địa phương tập ký tự mã - Globalization: Là phương pháp phát triển sản phẩm đảm bảo sản phẩm phần mềm sử dụng thị trường giới thông qua kết hợp internationalization với localization - Coded character set (tập ký tự mã): Là tập quy tắc quán để thiết lập bảng ký tự mối quan hệ 1-1 ký tự tập với biểu diễn bit Footer Page of 126 Header Page of 126 - Local customs (phong tục địa phương): Là quy ước vùng lãnh thổ địa lý khuôn dạng ngày, giờ, tiền tệ, - Locale: Ðịnh nghĩa tập tập biến môi trường người dùng (user) phụ thuộc vào ngôn ngữ quy ước văn hoá 1.2 CÁC MÔ HÌNH TỔ CHỨC QUẢN LÝ CÁC THÔNG ĐIỆP Có mô hình tổ chức phần mềm đa ngữ thường sử dụng là: Mô hình 1: Phương pháp truyền thống thông điệp viết gắn liền mã nguồn chương trình Hình 1.2 Mô hình tổ chức phần mềm đa ngữ phương pháp truyền thống Mô hình 2: Phương pháp tách rời mã nguồn chương trình với liệu ngôn ngữ Hình 1.3 Mô hình sử dụng tài nguyên chung cho tất ngôn ngữ Mô hình 3: sử dụng phương pháp tách rời mã nguồn với liệu ngôn ngữ liệu ngôn ngữ lưu trữ riêng biệt cho ngôn ngữ Footer Page of 126 Header Page of 126 Hình 1.4 Mô hình tách rời mã nguồn liệu cho ngôn ngữ 1.3 MỘT SỐ CÔNG CỤ HỖ TRỢ ĐA NGỮ HÓA 1.3.1 Công cụ Gettext Gettext phần mềm mã nguồn mở phục vụ địa hóa phần mềm dùng cho số ngôn ngữ thông dụng Gettext cung cấp cho lập trình viên, nhà dịch thuật người sử dụng tích hợp công cụ tài liệu hướng dẫn Gettext giảm đến tối thiểu tác động việc “quốc tế hóa” lên chương trình nguồn 1.3.2 Công cụ Catsget Catgets phần mềm mã nguồn mở phục vụ cho việc địa hóa phần mềm Giao diện catgets bao gồm chức tương ứng với việc truy cập sau: catopen để mở danh mục, catgets để truy cập vào bảng thông điệp, catclose để đóng sau hoàn thành công việc Giao diện Catgets sử dụng cách hợp lý việc xây dựng danh mục thông điệp vấn đề Lý nằm đối số thứ catgets: Thông điệp ID 1.4 MỘT SỐ QUY TẮC BẢN ĐỊA HÓA 1.4.1 Quy ước bỏ dấu tiếng Việt Chỉ dùng cách bỏ dấu kiểu cũ hay gọi kiểu mỹ thuật Vì kiểu bỏ dấu trông đẹp mắt, cân đối hài hòa, báo chí sách Việt Nam sử dụng Đặc biệt, sách giáo khoa từ mẫu giáo đại học theo chuẩn Footer Page of 126 Header Page of 126 Ví dụ: Đúng Sai hòa hoà hủy huỷ Trong TCVN 6909:2001, phần 5.1.6 quy định 15 dấu câu tiếng Việt sau: SP ! ( ) , : ; ? [ ] { } “ ” Không dùng khoảng trắng trước dấu câu mà dùng đằng sau, ngoại trừ dấu ( [ { “ ngược lại Giữa hai dấu câu khoảng trắng, trừ chúng thuộc hai câu khác Luật ưu tiên luật Dấu thập phân: bắt buộc dấu phẩy Ví dụ: Chuỗi gốc: "50.5 KB/s" Dịch sai: "50.5 KB/giây" Dịch đúng: "50,5 KB/giây" Dấu đơn vị số: số từ hàng nghìn trở lên (trừ số năm lịch), có hai lựa chọn dùngdấu chấm khoảng trắng dính để chia nhóm ba số hai bên dấu thập phân Ví dụ: Viết 1.000 000, không viết 1000; Viết 15.693 15 693, không viết 15693; 1.4.2 Quy ước dịch phần mềm Dạng số nhiều Tiếng Việt không phân biệt dạng số nhiều (PluralRule=0) Ví dụ 1: Chuỗi gốc: #1 minute;#2 minutes Dịch: Footer Page of 126 Header Page 10 of 126 #1 phút;#2 phút Ví dụ 2: Chuỗi gốc: msgstr[0] %d hour msgstr[1] %d hours Dịch: msgstr[0] %d msgstr[1] %d Thông thường, dấu gạch ("_Tập tin"), dấu ("Chỉnh &sửa") dấu ngã ("~Công cụ") dùng để xác định phím tắt cho từ Không xóa dấu Chú ý tránh làm cho danh mục bị trùng phím tắt Nếu trình đơn, nhiều mục dùng phím tắt phải ấn nhiều lần chọn mục mà muốn Tốt nên sử dụng thử phần mềm đó, ghi danh sách phím tắt dùng cho tiếng Việt bắt đầu dịch Lưu ý: Chỉ chọn phím tắt kí tự ASCII, máy tính Việt Nam dùng bàn phím US Không nên dịch tên thư mục tên tập tin mặc định, dịch dùng tiếng Việt không dấu 1.5 PHẦN MỀM MÃ NGUỒN MỞ Phần mềm Nguồn Mở (OpenSource Software) tương đương với phần mềm Tự (Free Software) Phần mềm nguồn mở đa số miễn phí, phần mềm miễn phí không phần mềm nguồn mở Linux phần mềm mã nguồn mở cung cấp cho mã nguồn chương trình Rất nhiều số chương trình viết lập trình viên nhiều kinh nghiệm cộng đồng mã nguồn mở toàn giới kiểm thử Vì mã Footer Page 10 of 126 10 Header Page 12 of 126 Chương BỘ CÔNG CỤ GETTEXT Chương trình bày kết nghiên cứu việc sử dụng Gettext Phần đầu giới thiệu tổng quan Gettext phần sử dụng để mô tả cách chi tiết Gettext 2.1 GIỚI THIỆU 2.1.1 Mục đích Thường chương trình viết tiếng anh, sử dụng tiếng Anh để tương tác với người sử dụng Điều với không phần mềm GNU mà với hầu hết phần mềm độc quyền miễn phí khác GNU Gettext bước quan trọng dự án dịch (Translation Project); từ bước xây dựng thêm nhiều bước khác Gói cung cấp cho lập trình viên, biên dịch viên người dùng tích hợp công cụ tài liệu hướng dẫn 2.1.2 Lịch sử phát triển Bản phát hành Gettext, bao gồm mode PO vào tháng năm 1995 đánh số 0.7 Năm 1997, Ulrich Drepper phát hành GNU libc 2.0, bao gồm hàm gettext, textdomain bindtextdomain Năm 2001, Ulrich phát hành phiên 2.2.x libc GNU, lần thư viện C miễn phí hỗ trợ quốc tế hóa đầy đủ 2.1.3 Tổng quan Gettext Ðối với việc địa hoá phần mềm, cần phải dùng số tiện ích giao diện dòng lệnh xgettext, msgmerge, msgfmt, gettext, để soạn thảo file PO(T) dùng công cụ giao diện đồ hoạ chạy KDE KBABEL POEDIT 2.2 QUY TRÌNH XỬ LÝ TRONG GETTEXT Quy trình đa ngữ hóa có file: Footer Page 12 of 126 Header Page 13 of 126 11 - POT (Portable Object Template) files: bước file tạo dùng phần mềm hay script để quét mã nguồn dựa vào marked function bên Mục đích lấy language mặc định mã nguồn - PO (Portable Object) files: bước ta dịch toàn language quét bước sang ngôn ngữ mà muốn - MO (Machine Object) files: bước cuối dịch file PO sang mã máy để tối ưu cho việc sử dụng 2.2.1 Tạo tập tin mẫu PO Sau chuẩn bị xong nguồn, tiến hành tạo tập tin mẫu PO, phần giải thích cách sử dụng xgettext cho mục đích Xgettext tạo tập tin có tên domainname.po, ta nên đổi tên thành domainname.pot Gọi chương trình xgettext: xgettext [option] [inputfile] Sau thực lệnh này, Xgettext trích chuỗi dịch từ tập tin đầu vào Vị trí tập tin đầu vào: ‘inputfile ’ [tập tin đầu vào] ‘-f file’ ‘ files-from=file’ [Đọc tên tập tin đầu vào thay nhận chúng từ dòng lệnh] ‘-D directory’ ‘ directory=directory’ [Thêm thư mục directory, tập tin nguồn tìm liên kết Footer Page 13 of 126 Header Page 14 of 126 12 đến danh sách thư mục, kết tập tin po ghi vào thư mục tại] Vị trí tập tin đầu ra: ‘-d name’ ‘ default-domain=name’ [Sử dụng tên name.po cho đầu (thay tên messages.po)] ‘-o file’ ‘ output=file’ ‘-p dir’ ‘ output-dir=dir’ Tập tin đầu thay thư mục dir Nếu tập tin đầu file ‘-’ ‘-/dev/stdout’ đầu ghi theo chuẩn đầu Chọn ngôn ngữ đầu vào: ‘-L name’ ‘ language=name’ [Chỉ định ngôn ngữ cho tập tin đầu vào, ngôn ngữ hỗ trợ là: C, C++, ObjectiveC, PO, Python, Lisp, EmacsLisp, librep, S cheme, Smalltalk, Java, JavaProperties, C#, awk, YCP,Tcl, Perl, PH P, GCC-source, NXStringTable, RST, Glade ‘-C’ ‘ c++’ [Đây cách viết tắt cho ngôn ngữ language=C++] Theo mặc định ngôn ngữ đoán dựa phần mở rộng tập tin đầu vào Tùy chọn ngôn ngữ: Footer Page 14 of 126 Header Page 15 of 126 13 ‘-a’ ‘ extract-all’ [Trích xuất tất cả] Tùy chọn có tác dụng với hầu hết ngôn ngữ, cụ thể C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Java, C#, awk, Tcl, Perl, PHP, GCC-source, Glade ‘-k[keywordspec]’ ‘ keyword[=keywordspec]’ Chỉ định keywordspec từ khóa bổ sung cho việc tìm kiếm Không có keywordspec, tùy chọn có nghĩa không sử dụng từ khóa mặc định Để vô hiệu hóa định mặc định từ khóa, ta thêm tùy chọn ‘-k’ ‘—keyword’ ‘—keyword=’ Chi tiết đầu ra: ‘ color’ ‘ color=when’ ‘ style=style_file’ [Xác định tập tin CSS để sử dụng cho –color ‘ force-po’ [Luôn ghi tập tin đầu kể thông điệp định nghĩa] ‘-i’ ‘ indent’ [Viết po theo phong cách “thụt vào”] ‘-n’ ‘ add-location’ [Tạo ‘#: filename:line’ dòng (mặc định)] Footer Page 15 of 126 Header Page 16 of 126 14 2.2.2 Tạo tập tin PO a Gọi chương trình msginit b Điền mục tiêu đề 2.2.3 Cập nhật tập tin PO Gọi chương trình msgmerge msgmerge [option] def.po ref.pot Vị trí tập tin vào: ‘def.po’ Bản dịch tham chiếu đến nguồn cũ ‘ref.pot’ Tham chiếu đến nguồn ‘-D directory’ ‘ directory=directory’ Thêm thư mục directory vào danh sách thư mục Tập tin nguồn tìm kiếm danh sách thư mục này, kết tập tin po ghi vào thư mục hành 2.2.4 Tạo tập tin MO 2.3 ĐỊNH VỊ TẬP TIN DANH MỤC THÔNG ĐIỆP Chúng ta phải lưu trữ nhiều gói khác cho ngôn ngữ khác nhau, nên ta có số cách để thêm thông tin vào tập tin danh mục thông điệp Tên thư mục gán cho đối số thứ hai bindtextdomains (hoặc thư mục mặc định), tên miền địa phương, tên miền kết nối: dir_name/locale/LC_category/domain_name.mo Dir_name giá trị mặc định hệ thống, gói tuân theo quy tắc nằm /usr/local/share/locale Footer Page 16 of 126 15 Header Page 17 of 126 Locale tên miền địa phương định LC_category Đối với gettext dgettext LC_category LC_MESSAGES Gettext không ý tới danh mục thông điệp dịch, chuyển đổi dịch để xuất tập ký tự mong muốn 2.4 XỬ LÝ GIAO DIỆN Ví dụ chương trình sử dụng giao diện với menu sau: + + + + | File | Printer | | + + + -+ | Open | | Select | | New | | Open | + + | Connect | + + Hình 2.3 Giao diện chương trình đơn giản 2.5 TỐI ƯU HÓA CÁC CHỨC NĂNG *GETTEXT Một số người cho chương trình quốc tế hóa hoạt động hiệu số chuỗi dịch vòng lặp bên Trong điều tránh khỏi chuỗi thay đổi từ vòng lặp đến vòng lặp khác gây lãng phí thời gian chuỗi giống 2.6 CÀI ĐẶT Bộ công cụ gettext sử dụng rộng rãi để địa hóa phần mềm gettext: v Để cài đặt cấu hình Gettext, tham khảo trang Web http://www.gnu.org/software/gettext/manual/gettext.html Footer Page 17 of 126 Header Page 18 of 126 16 2.7 THỬ NGHIỆM 2.7.1 Mô tả toán Phát triển chương trình Hello World hệ điều hành Ubuntu 9.10 để in cụm từ: “Xin chào người!'', ngôn ngữ hệ điều hành tiếng Việt; “Hello World !”; ngôn ngữ hệ điều hành tiếng Anh 2.7.2 Vận dụng Gettext #include #include #include #include int main(void) { setlocale( LC_ALL, "" ); bindtextdomain( "hello", "/usr/share/locale" ); textdomain( "hello" ); 10 printf( gettext( "Hello, world!\n" ) ); 11 exit(0); 12 } Trích chuỗi dịch xgettext -d hello –s -o hello.pot hello.c Tập tin pot gốc để dịch thông điệp chương trình ngôn ngữ khác Để bắt đầu dịch, ta đơn giản chép hello.pot sang vietnamese.po Tuy nhiên, tốt sử dụng lệnh msginit msginit -l vi_VN -o vietnamese.po -i hello.pot Footer Page 18 of 126 Header Page 19 of 126 17 Sau dịch xong tập tin vietnamese.po, ta phải biên dịch sang dạng nhị phân(.mo) Để làm điều sử dụng lệnh: msgfmt -c -v -o hello.mo vietnamese.po Trộn dịch cũ Trích xuất chuỗi dịch từ hello.c sang file pot mới, hello-new.pot, sử dụng xgettext xgettext -d hello -s -o hello-new.pot hello.c Sử dụng lệnh msgmerge để trộn file po có với file mẫu mới, msgmerge -s -U vietnamese.po hello-new.pot Biên dịch file vietnamese.po sang file mo, cài đặt vị trí thích hợp, msgfmt -c -v -o hello.mo vietnamese.po mkdir -p /usr/share/locale/vi_VN/LC_MESSAGES cp hello.mo /usr/share/locale/vi_VN/LC_MESSAGES Footer Page 19 of 126 Header Page 20 of 126 Chương 18 NGHIÊN CỨU ỨNG DỤNG GETTEXT Chương tập trung nghiên cứu quy trình vận dụng Gettext ứng dụng vào số phần mềm hỗ trợ việc học tập học sinh Để sử dụng Gettext cần cài đặt công cụ hỗ trợ biên dịch tạo tập tin liên quan 3.1 CÀI ĐẶT CÁC ỨNG DỤNG Hiện có nhiều ứng dụng hỗ trợ xử lý cho Gettext, nhiên thử nghiệm cài đặt công cụ sau: 3.1.1 MinGw MinGw, viết tắt “Minimalist GNU for Windows”, môi trường phát triển nhỏ cho ứng dụng Windows MinGw cấp mã nguồn mở công cụ hỗ trợ cho việc phát triển ứng dụng Windows không phụ thuộc vào CRuntime DLLs (nó phụ thuộc vào số DLL cung cấp Microsoft) Chúng ta tải MinGw địa sau: https://sourceforge.net/projects/mingw/files/Installer/ , sau lựa chọn Mingw-get mingw-get-inst 3.1.2 Poedit Tập tin po sử dụng rộng rãi để dịch ứng dụng sang nhiều ngôn ngữ khác Chúng ta tải poedit http://www.poedit.net/ 3.1.3 Dev-C++ Dev-C++ môi trường phát triển tích hợp (IDE) đầy đủ tính dành cho ngôn ngữ lập trình C/C++ Nó sử dụng MinGW GCC (GNU Compiler Collection) làm trình biên Footer Page 20 of 126 Header Page 21 of 126 19 dịch tập tin chương trình Dev-C++ sử dụng kết hợp với Cygwin hay trình biên dịch GCC khác 3.2 ỨNG DỤNG THỬ NGHIỆM 3.2.1 Bản địa hóa phần mềm Tuxpaint a Phát biểu toán Bản địa hóa phần mềm vẽ mã nguồn mở dành cho học sinh tiểu học trung học sở Tuxpaint Đây phần mềm giúp em học sinh thỏa sức thể khả tưởng tượng sáng tạo Ngoài ra, chương trình có ưu điểm phù hợp với tâm lý trẻ em: hiệu ứng âm vui nhộn, giao diện thân thiện, dễ sử dụng b Các bước triển khai Để triển khai ứng dụng Gettext, trước hết ta phải chuẩn bị mã nguồn phần mềm Tuxpaint Chúng ta tải gói mã nguồn địa https://launchpad.net/ubuntu/oneiric/+source/tuxpaint xgettext -d tuxpaint –s -o vi.pot tuxpaint.c msginit -l vi_VN -o vi.po -i vi.pot msgfmt -c -v -o vi.mo vi.po Bắt đầu sử dụng chương trình Poedit để dịch thông điệp Sau dịch xong vi.po, ta phải biên dịch sang dạng nhị phân (.mo) Ta sử dụng lệnh: msgfmt -c -v -o vi.mo vi.po Chú ý tên tập tin đầu phải giống với tham số bindtextdomain textdomain chương trình nguồn Tập tin vi.mo lưu giữ vị trí thư mục theo tham số thứ hai hàm bindtextdomain Footer Page 21 of 126 Header Page 22 of 126 20 Hình 3.3 Giao diện tiếng Anh Tuxpaint Hình 3.4 Giao diện Tuxpaint tiếng Việt sau địa hóa Footer Page 22 of 126 Header Page 23 of 126 3.2.2 21 Bản địa hóa phần mềm Stellarium a Phát biểu toán Bản địa hóa phần mềm Stellarium, phần mềm giả lập bầu trời giúp xem bầu trời thu nhỏ hình máy tính Không có sao, chương trình mô hình dạng chòm sao, tinh vân, thiên hà b Các bước triển khai Để triển khai ứng dụng Gettext, trước hết ta phải chuẩn bị mã nguồn phần mềm Stellarium Hình 3.5 Giao diện tiếng Anh Stellarium Sau có mã nguồn, bắt đầu chỉnh sửa file nguồn tạo tập tin po_stellarium_stellarium-vi.pot Footer Page 23 of 126 Header Page 24 of 126 22 # Vietnamese translation for stellarium # This file is distributed under the same license as the stellarium package # FIRST AUTHOR , 2006 msgid "" msgstr "" "Project-Id-Version: stellarium\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-01-18 23:15+0700\n" "PO-Revision-Date: 2013-01-27 12:28+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-01-28 08:32+0000\n" "X-Generator: Launchpad (build 16451)\n" #: src/core/modules/GridLinesMgr.cpp:564 src/ui_viewDialog.h:1168 msgid "Meridian" msgstr "Kinh tuyến" #: src/core/modules/GridLinesMgr.cpp:568 src/ui_viewDialog.h:1176 msgid "Ecliptic" msgstr "Đường hoàng đạo" #: src/core/modules/GridLinesMgr.cpp:572 src/ui_viewDialog.h:1164 msgid "Equator" msgstr "Xích đạo" #: src/core/modules/GridLinesMgr.cpp:576 src/ui_viewDialog.h:1172 Footer Page 24 of 126 23 Header Page 25 of 126 KẾT LUẬN Hiện nay, chương trình tiểu học trung học sở đưa môn tin học vào giảng dạy Đa số phần mềm dùng sách giáo khoa phần mềm nguồn mở, nhiên lại gặp trở ngại lớn giao diện chủ yếu tiếng Anh, gây khó khăn cho em việc tiếp cận thực hành phần lý thuyết học Ứng dụng Gettext ngữ hóa phần mềm cách để tăng hiệu việc toàn cầu hóa địa hóa phần mềm thay phải viết mã nguồn riêng cho ngôn ngữ Qua trình tìm hiểu nghiên cứu ứng dụng Gettext đa ngữ hóa phần mềm cho thấy kết tương đối tốt Công cụ cho thấy ưu điểm, tiện lợi, có khả ứng dụng thực tiễn Việt Nam Đồng thời, với công cụ này, học sinh, sinh viên trường có điều kiện tiếp cận sử dụng có hiệu phần mềm ứng dụng khác Gettext có chức đa ngữ hóa phần mềm, hỗ trợ hầu hết ngôn ngữ Việc cho phép tiết kiệm nhiều thời gian giảm đến tối thiểu tác động việc “quốc tế hóa” lên chương trình nguồn Gettext dừng mức độ đa ngữ hóa thông điệp mà chưa hỗ trợ quản lý biến đổi bên yếu tố văn hóa, biến đổi đặc trừng cho ngôn ngữ Ngoài ra, thời gian thực đề tài hạn chế nên ứng dụng số toán tiêu biểu chương trình phổ thông không triển khai hệ thống lớn Footer Page 25 of 126 Header Page 26 of 126 24 Trong tương lai, tiếp tục nghiên cứu để bổ sung vào Gettext số hàm phục vụ xử lý ngôn ngữ dò lỗi tả, xếp, tìm kiếm tùy biến người dùng màu sắc, hình ảnh,… Như vậy, sau thời gian tiến hành nghiên cứu, tác giả hoàn thành nội dung mà đề cương đề tài đạt Sản phẩm đề tài ứng dụng tốt việc tìm hiểu, nghiên cứu triển khai lập trình ứng dụng đặc biệt dạy học bậc phổ thông đại học Footer Page 26 of 126 ... có nghiên cứu mang tính hệ thống sử dụng rộng rãi GETTEXT nước ta Vì vậy, việc nghiên cứu ứng dụng GETTEXT đa ngữ hóa phần mềm vấn đề cấp thiết Mục đích Mục đích đề tài nghiên cứu ứng dụng GETTEXT. .. Gettext ngữ hóa phần mềm cách để tăng hiệu việc toàn cầu hóa địa hóa phần mềm thay phải viết mã nguồn riêng cho ngôn ngữ Qua trình tìm hiểu nghiên cứu ứng dụng Gettext đa ngữ hóa phần mềm cho thấy... đa ngữ, phần mềm mã nguồn mở hỗ trợ đa ngữ hóa phần mềm qui trình đa ngữ hóa phần mềm Tuy nghiên, giới hạn phạm vi nghiên cứu GETTEXT sử dụng mã nguồn ngôn ngữ lập trình Footer Page of 126 Header

Ngày đăng: 06/05/2017, 12:01

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan