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 cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng cách đọc kèo bóng đá trang chohiện tạiPhiên bản hoặc cách đọc kèo bóng đá trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

56.2. cách đọc kèo bóng đá#

56.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 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá C.

Thêm hỗ trợ NLS vào chương cách đọc kèo bóng đá

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

    #ifdef enable_nlsTiên lượng", Localedir);Tiên lượng");

    (TheTiên lượngthực sự có thể được chọn tự do.)

  2. Bất cứ nơi nào cách đọc kèo bóng đá thông điệp là ứng cử viên cho dịch được tìm thấy, cách đọc kèo bóng đá 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ó 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. cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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ọiGetTextbên trong tất cả cách đọc kèo bóng đá chuỗi đầu vào.

  3. Thêm tệpnls.mkTrong thư mục với các nguồn chương cách đọc kèo bóng đá. Tệp này sẽ được đọc dưới dạng Makefile.

    catalog_name

    Tên chương cách đọc kèo bóng đá, như được cung cấp trongTextDomain ()cuộc gọi.

    gettext_files

    Danh sách cách đọc kèo bóng đá tệp có chứa cách đọc kèo bóng đá chuỗi có thể dịch, tức là, cách đọc kèo bóng đá 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 cách đọc kèo bóng đá.HồiFILExônglà A+và từ thứ hai là cách đọc kèo bóng đá tệp chứa cách đọc kèo bóng đá tên tệp trên mỗi dòng.

    GetText_Triggers

    cách đọc kèo bóng đá công cụ tạo danh mục tin nhắn cho cách đọc kèo bóng đá dịch giả làm việc cần biết để biết những cuộc gọi chức năng nào chứa cách đọc kèo bóng đá chuỗi có thể dịch. Theo mặc định, chỉgetText ()Cuộc gọi được biết đến. Nếu bạn đã sử dụng_hoặc cách đọc kèo bóng đá đị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ó cách đọc kèo bóng đá 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 cách đọc kèo bóng đá đối số thông điệp số ít và số nhiều).

  4. Thêm tệpPO/Linguas, trong đó sẽ chứa danh sách cách đọc kèo bóng đá bản dịch được cung cấp - ban đầu trống.

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

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

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

  • Không xây dựng cách đọc kèo bóng đá 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 cách đọc kèo bóng đá ngôn ngữ khác. Ngoài ra, ngay cả khi bạn nhớ gọigetText ()Trên mỗi mảnh, các mảnh có thể không dịch riêng biệt. Tốt hơn là sao chép cách đọc kèo bóng đá ít mã để mỗi tin nhắn được dịch là cách đọc kèo bóng đá tổng thể mạch lạc.

  • 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)

    Sau đó thất vọng. cách đọc kèo bóng đá số ngôn ngữ có nhiều hơn hai hình thức, với cách đọc kèo bóng đá số quy tắc đặc biệt.

    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 cách đọc kèo bóng đá thông điệp đa nguyên hợp, có sự hỗ trợ cho 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 cách đọc kèo bóng đá cái gì đó như thế này:

    17710_17812

    Đố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ị điều khiển số nguyên xác định dạng số nhiều sẽ sử dụng. cách đọc kèo bóng đá đố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à cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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.

  • 18988_19185cách đọc kèo bóng đá dịch, ví dụ:

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