Phiên bản được hỗ trợ:hiện tại(17)16/15/14/13
Phiên bản phát triển: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 soi kèo bóng đá truoctran phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang soi kèo bóng đá truoctranhiện tạiPhiên bản hoặc một trong soi kèo bóng đá truoctran phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

54.2.soi kèo bóng đá truoctran

54.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 soi kèo bóng đá truoctran hoặc thư viện là một phần củaPostgreSQLPhân phối. Hiện tại, nó chỉ áp dụng soi kèo bóng đá truoctran các chương trình C.

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

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

    #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 một thông điệp là ứng cử viên soi kèo bóng đá truoctran 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ó 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. soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ả soi kèo bóng đá truoctran chuỗi đầu vào.

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

    catalog_name

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

    13629_13646

    Danh sách soi kèo bóng đá truoctran bản dịch được cung cấp - ban đầu trống.

    gettext_files

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

    GetText_Triggers

    soi kèo bóng đá truoctran công cụ tạo danh mục tin nhắn để soi kèo bóng đá truoctran dịch giả làm việc cần biết những cuộc gọi chức năng nào chứa soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran đị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ó một chức năng hỗ trợ soi kèo bóng đá truoctran tin nhắn đa hóa, mục sẽ trông giống nhưfunc: 1,2(Xác định soi kèo bóng đá truoctran đố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 soi kèo bóng đá truoctran danh mục tin nhắn.

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

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

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

    17365_17467

    Đố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. soi kèo bóng đá truoctran đố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 soi kèo bóng đá truoctran 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à một 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 soi kèo bóng đá truoctran 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.

  • 18643_18840soi kèo bóng đá truoctran dịch, ví dụ:

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