Postgresql 8.2.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 46. Hỗ trợ ngôn ngữ bản địa | Chuyển tiếp nhanh | 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 kèo chấp bóng đá hôm nay hoặc thư viện là một phần của10890_10902Phân phối. Hiện tại, nó chỉ áp dụng cho các chương kèo chấp bóng đá hôm nay C.
Thêm hỗ trợ NLS vào chương kèo chấp bóng đá hôm nay
Chèn mã này vào chuỗi khởi động của chương kèo chấp bóng đá hôm nay:
11229_11346Tiê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 kèo chấp bóng đá hôm nay 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ành
fprintf (stderr, getText ("panic level %d \ n"), lvl);
(GetTextđược định nghĩa là không có op Nếu không có NLS được cấu hình.)
Điều này có thể có xu hướng thêm nhiều sự lộn xộn. kèo chấp bóng đá hôm nay 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 kèo chấp bóng đá hôm nay 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ả kèo chấp bóng đá hôm nay đầu vào
chuỗi.
Thêm tệpnls.mkTrong Thư mục với các nguồn chương kèo chấp bóng đá hôm nay. Tệp này sẽ Đọc như một makefile. Các bài tập biến sau cần được thực hiện ở đây:
Tên chương kèo chấp bóng đá hôm nay, như được cung cấp trongTextDomain ()
cuộc gọi.
Danh sách kèo chấp bóng đá hôm nay bản dịch được cung cấp - ban đầu trống.
Danh sách kèo chấp bóng đá hôm nay tệp có chứa chuỗi có thể dịch,
tức là, những người được đánh 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 như tất cả
tập tin nguồn của chương kèo chấp bóng đá hôm nay. Nếu danh 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à kèo chấp bóng đá hôm nay tệp mà
chứa kèo chấp bóng đá hôm nay tên tệp trên mỗi dòng.
Các công cụ tạo danh mục tin nhắn kèo chấp bóng đá hôm nay
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 định,
chỉ mộtgetText ()
cuộc gọi
được biết đến. Nếu bạn đã sử dụng_
hoặc kèo chấp bóng đá hôm nay định danh 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ình thứcfunc: 2(kèo chấp bóng đá hôm nay
Đối số thứ hai).
Hệ thống xây dựng sẽ tự động chăm sóc tòa nhà và cài đặt danh mục tin nhắn.
Dưới đây là một số hướng dẫn kèo chấp bóng đá hôm nay các thông điệp viết dễ dàng dịch.
Không xây dựng kèo chấp bóng đá hôm nay câu khi chạy, như
15323_15383
Thứ tự từ trong câu có thể khác nhau trong các ngôn ngữ khác. Ngoài ra, ngay cả khi bạn nhớ gọi gettext () trên mỗi mảnh, các mảnh có thể không dịch Vâng riêng biệt. Tốt hơn là sao chép kèo chấp bóng đá hôm nay ít mã nên Rằng mỗi thông điệp được dịch là kèo chấp bóng đá hôm nay tổng thể mạch lạc. Chỉ số, tên tệp và các biến thời gian chạy giống như vậy nên được chèn vào thời gian chạy vào văn bản tin nhắn.
Vì những lý do tương tự, điều này sẽ không hoạt động:
printf ("Sao chép %d tệp %s", n, n! = 1? "S": "");
Bởi vì nó giả sử cách số nhiều được hình thành. Nếu bạn Hình bạn có thể giải quyết nó như 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ó nhiều hơn hai ngôn ngữ hình 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 kèo chấp bóng đá hôm nay điều này trong tương lai, nhưng bây giờ vấn đề là tốt nhất nên tránh toàn bộ. Bạn có thể viết:
printf ("Số lượng tệp được sao chép: %d", n);
16613_16834kèo chấp bóng đá hôm nay dịch, ví dụ:
/* kèo chấp bóng đá hôm nay dịch: Thông báo này không phải là những gì nó có vẻ như. */
Những bình luận này được sao chép vào kèo chấp bóng đá hôm nay tệp danh mục tin nhắn để kèo chấp bóng đá hôm nay dịch giả có thể nhìn thấy chúng.