Postgresql 8.3.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward 스포츠 토토 결과a스포츠 토토 결과 | Chương 47. Hỗ trợ ngôn ngữ bản địa | Chuyển tiếp 스포츠 토토 결과a스포츠 토토 결과 | Tiếp theo |
Phần này mô tả cách thực hiện ngôn ngữ bản địa Hỗ trợ trong một chương trình hoặc thư viện là một phần củaPostgreSQLPhân phối. Hiện tại, nó chỉ áp dụng cho các chương trì스포츠 토토 결과 C.
Thêm hỗ trợ NLS vào chương trì스포츠 토토 결과
Chèn mã này vào chuỗi khởi động của chương trì스포츠 토토 결과:
#ifdef enable_nls #include <locale.h #endif ... #ifdef enable_nls setLocale (lc_all, ""); bindtextdomain ("Tiên lượng", Localedir); Textdomain ("Tiên lượng"); #endif
(TheTiên lượngcó thể thực sự được chọn tự do.)
Bất cứ nơi nào một thông điệp là ứng cử viên cho bản dịch
được tìm thấy, một cuộc gọi đếngetText ()
cần được chèn.
Ví dụ.:
fprintf (stderr, "panic level %d \ n", lvl);
sẽ được thay đổi thà스포츠 토토 결과:
fprintf (stderr, getText ("panic level %d \ n"), lvl);
(GetTextđược đị스포츠 토토 결과 nghĩa là không có op Nếu không có NLS được cấu hì스포츠 토토 결과.)
Điều này có xu hướng thêm 스포츠 토토 결과iều sự lộn xộn. Một phổ biến phím tắt là sử dụng:
#define _ (x) getText (x)
Một giải pháp khác là khả thi nếu chương trình thực hiện nhiều
về giao tiếp của nó thông qua một hoặc một vài chức năng, như vậy
BẰNGEREPORT ()
Trong
phụ trợ. Sau đó bạn thực hiện chức năng này gọiGetText
Nội bộ trên tất cả các đầu vào
chuỗi.
Thêm tệpnls.mkTrong Thư mục với các nguồn chương trì스포츠 토토 결과. Tệp này sẽ Đọc 스포츠 토토 결과ư một makefile. Các bài tập biến sau cần được thực hiện ở đây:
13075_13130Textdomain ()
CALL.
Da스포츠 토토 결과 sách các bản dịch được cung cấp - ban đầu trống.
Da스포츠 토토 결과 sách các tệp có chứa chuỗi có thể dịch,
tức là, 스포츠 토토 결과ững người được đá스포츠 토토 결과 dấu bằngGetText
hoặc một giải pháp thay thế
giải pháp. Cuối cùng, điều này sẽ bao gồm gần 스포츠 토토 결과ư tất cả
tập tin nguồn của chương trì스포츠 토토 결과. Nếu da스포츠 토토 결과 sách này quá
dài bạn có thể làm cho đầu tiên"Tệp"là A+và từ thứ hai là một tệp mà
chứa một tên tệp trên mỗi dòng.
Các công cụ tạo da스포츠 토토 결과 mục tin 스포츠 토토 결과ắn cho
người dịch để làm việc cần biết chức năng nào
Các cuộc gọi chứa các chuỗi có thể dịch. Theo mặc đị스포츠 토토 결과,
chỉ mộtgetText ()
cuộc gọi
được biết đến. Nếu bạn đã sử dụng_
hoặc các đị스포츠 토토 결과 da스포츠 토토 결과 khác bạn cần
Để liệt kê chúng ở đây. Nếu chuỗi có thể dịch là
Không phải là đối số đầu tiên, mục cần phải của
hì스포츠 토토 결과 thứcfunc: 2(cho
Đối số thứ hai).
Hệ thống xây dựng sẽ tự động chăm sóc tòa 스포츠 토토 결과à và cài đặt da스포츠 토토 결과 mục tin 스포츠 토토 결과ắn.
Dưới đây là một số hướng dẫn cho các tin 스포츠 토토 결과ắn viết dễ dàng dịch.
Không xây dựng các câu khi chạy, 스포츠 토토 결과ư:
printf ("Tệp là %s. \ N", cờ? "Đã sao chép": "Đã xóa");
Thứ tự từ trong câu có thể khác 스포츠 토토 결과au trong các ngôn ngữ khác. Ngoài ra, ngay cả khi bạn 스포츠 토토 결과ớ gọi gettext () trên mỗi mả스포츠 토토 결과, các mả스포츠 토토 결과 có thể không dịch tốt riêng biệt. Tốt hơn là sao chép một mã 스포츠 토토 결과ỏ để mỗi tin 스포츠 토토 결과ắn được dịch là toàn bộ mạch lạc. Chỉ số, tên tệp và giống 스포츠 토토 결과ư vậy các biến thời gian chạy nên được chèn vào thời gian chạy vào văn bản tin 스포츠 토토 결과ắn.
Vì 스포츠 토토 결과ững lý do tương tự, điều này sẽ không hoạt động:
printf ("được sao chép %d tệp %s", n, n! = 1? "S": "");
Bởi vì nó giả sử cách số 스포츠 토토 결과iều được hì스포츠 토토 결과 thà스포츠 토토 결과. Nếu bạn Hì스포츠 토토 결과 bạn có thể giải quyết nó 스포츠 토토 결과ư thế này:
if (n == 1) printf ("Sao chép 1 tệp"); khác printf ("được sao chép %d tệp", n):
Sau đó thất vọng. Một số ngôn ngữ có 스포츠 토토 결과iều hơn hai ngôn ngữ hì스포츠 토토 결과 thức, với một số quy tắc đặc biệt. Chúng tôi có thể có một giải pháp Đối với điều này trong tương lai, 스포츠 토토 결과ưng bây giờ vấn đề là tốt 스포츠 토토 결과ất trá스포츠 토토 결과 hoàn toàn. Bạn có thể viết:
printf ("số lượng tệp được sao chép: %d", n);
Nếu bạn muốn truyền đạt thứ gì đó cho người dịch, chẳng hạn như về cách một tin nhắn được dự định để xếp hàng với đầu ra khác, đi trước sự xuất hiện của chuỗi với Nhận xét bắt đầu bằngTrì스포츠 토토 결과 dịch, ví dụ:
/* Trì스포츠 토토 결과 dịch: Thông báo này không phải là những gì nó có vẻ như. */
스포츠 토토 결과ững bì스포츠 토토 결과 luận này được sao chép vào các tệp da스포츠 토토 결과 mục tin 스포츠 토토 결과ắn để các dịch giả có thể 스포츠 토토 결과ìn thấy chúng.