Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2
Tài liệu này dành tỷ lệ kèo bóng đá tối nay phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang tỷ lệ kèo bóng đá tối nayhiện tạiPhiên bản hoặc tỷ lệ kèo bóng đá tối nay trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

52.2. Cho tỷ lệ kèo bóng đá tối nay

52.2.1. Cơ học

Phần này mô tả cách thực hiện hỗ trợ ngôn ngữ bản địa trong một chương tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay C.

Thêm hỗ trợ NLS vào chương tỷ lệ kèo bóng đá tối nay

  1. Chèn mã này vào chuỗi khởi động của chương tỷ lệ kèo bóng đá tối nay:

    #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ượng11331_11365

  2. Bất cứ nơi nào một thông điệp là ứng cử viên tỷ lệ kèo bóng đá tối nay dịch được tìm thấy, một cuộc gọi đến11493_1150411509_11539

    fprintf (stderr, "mức độ hoảng loạn %d \ n", lvl);

    sẽ được thay đổi thành:

    11674_11726

    (GetTextđược định nghĩa là không có hỗ trợ NLS nếu không được cấu hình.)

    Điều này có xu hướng thêm nhiều sự lộn xộn. tỷ lệ kèo bóng đá tối nay phím tắt phổ biến là sử dụng:

    #define _ (x) getText (x)

    Một giải pháp khác là khả thi nếu chương tỷ lệ kèo bóng đá tối nay thực hiện nhiều giao tiếp thông qua một hoặc một vài chức năng, chẳng hạn nhưereport ()Trong phần phụ trợ. Sau đó bạn thực hiện chức năng này gọiGetTextnội bộ trên tất cả tỷ lệ kèo bóng đá tối nay chuỗi đầu vào.

  3. Thêm tệpnls.mkTrong thư mục với các nguồn chương tỷ lệ kèo bóng đá tối nay. Tệp này sẽ được đọc dưới dạng Makefile. Các bài tập biến sau cần được thực hiện tại đây:

    catalog_name

    Tên chương tỷ lệ kèo bóng đá tối nay, như được cung cấp trongTextdomain ()cuộc gọi.

    Danh sách tỷ lệ kèo bóng đá tối nay bản dịch được cung cấp - ban đầu trống.

    gettext_files

    Danh sách tỷ lệ kèo bóng đá tối nay tệp có chứa chuỗi có thể dịch, tức là, tỷ lệ kèo bóng đá tối nay tệp được đánh dấu bằngGetTexthoặc một giải pháp thay thế. Cuối cùng, điều này sẽ bao gồm gần như tất cả các tệp nguồn của chương tỷ lệ kèo bóng đá tối nay. Nếu danh sách này quá dài, bạn có thể thực hiện đầu tiên"Tệp"là A+và từ thứ hai là tỷ lệ kèo bóng đá tối nay tệp chứa tỷ lệ kèo bóng đá tối nay tên tệp trên mỗi dòng.

    GetText_Triggers

    13273_13427getText ()Cuộc gọi được biết đến. Nếu bạn đã sử dụng_hoặc tỷ lệ kèo bóng đá tối nay định danh khác mà bạn cần liệt kê chúng ở đây. Nếu chuỗi có thể dịch không phải là đối số đầu tiên, mục này cần phải ở dạngfunc: 2(Đối với đối số thứ hai). Nếu bạn có tỷ lệ kèo bóng đá tối nay chức năng hỗ trợ các tin nhắn đa hóa, mục sẽ trông giống nhưfunc: 1,2(Xác định tỷ lệ kèo bóng đá tối nay đối số thông điệp số ít và số nhiều).

Hệ thống xây dựng sẽ tự động chăm sóc việc xây dựng và cài đặt tỷ lệ kèo bóng đá tối nay danh mục tin nhắn.

52.2.2. Hướng dẫn viết thông điệp

Dưới đây là một số hướng dẫn tỷ lệ kèo bóng đá tối nay các tin nhắn viết dễ dàng dịch.

  • Không xây dựng tỷ lệ kèo bóng đá tối nay câu khi chạy, như:

    printf ("Tệp là %s. \ N", cờ? "Đã sao chép": "Đã xóa");

    Thứ tự từ trong câu có thể khác nhau trong tỷ lệ kèo bóng đá tối nay ngôn ngữ khác. Ngoài ra, ngay cả khi bạn nhớ gọigetText ()Trên mỗi mảnh, các đoạn có thể không dịch riêng biệt. Tốt hơn là sao chép tỷ lệ kèo bóng đá tối nay ít mã để mỗi tin nhắn được dịch là tỷ lệ kèo bóng đá tối nay tổng thể mạch lạc. Chỉ các số, tên tệp và các biến thời gian chạy giống như vậy phải được chèn vào thời gian chạy vào tỷ lệ kèo bóng đá tối nay 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 ("được 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 dung 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. tỷ lệ kèo bóng đá tối nay số ngôn ngữ có nhiều hơn hai hình thức, với tỷ lệ kèo bóng đá tối nay số quy tắc đặc biệt. Tốt nhất là thiết kế thông điệp để tránh vấn đề hoàn toàn, ví dụ như thế này:

    printf ("số lượng tệp được sao chép: %d", n);

    Nếu bạn thực sự muốn xây dựng một thông điệp đa nguyên hợp, có sự hỗ trợ tỷ lệ kèo bóng đá tối nay việc này, nhưng nó hơi khó xử. Khi tạo thông báo lỗi chính hoặc chi tiết trongEREPORT (), bạn có thể viết tỷ lệ kèo bóng đá tối nay cái gì đó như thế này:

    15734_15834

    Đối số đầu tiên là chuỗi định dạng phù hợp với dạng số ít tiếng Anh, thứ hai là chuỗi định dạng phù hợp với dạng số nhiều tiếng Anh và thứ ba là giá trị kiểm soát số nguyên xác định dạng số nhiều sẽ sử dụng. tỷ lệ kèo bóng đá tối nay đối số tiếp theo được định dạng trên mỗi chuỗi định dạng như bình thường. .nlà 1 hoặc không 1, nhưng trong các ngôn ngữ khác có thể có nhiều dạng số nhiều khác nhau. Người dịch coi hai biểu mẫu tiếng Anh là tỷ lệ kèo bóng đá tối nay nhóm và có cơ hội cung cấp nhiều chuỗi thay thế, với hình thức thích hợp được chọn dựa trên giá trị thời gian chạy củan.

    Nếu bạn cần đa hóa tỷ lệ kèo bóng đá tối nay thông điệp không trực tiếp đếnerrmsghoặcerrdetailBáo cáo, bạn phải sử dụng hàm cơ bảnngetText. Xem tài liệu GetText.

  • 16927_17124tỷ lệ kèo bóng đá tối nay dịch, ví dụ:

    /* tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối nay tệp danh mục tin nhắn để tỷ lệ kèo bóng đá tối nay dịch giả có thể nhìn thấy chúng.