2015-08-24 13 views
13

Tôi có một chương trình python nhỏ cho thấy cách thực hiện các bản dịch của GUI GTK (pygobject) cho Linux và Windows. Mọi thứ hoạt động trong Linux, nhưng trong các ký hiệu không phải ASCII của Windows không được hiển thị trong bản dịch.Ký hiệu không phải ASCII trong bản dịch của GTK-GUI trong Windows không hoạt động?

Tôi giả định rằng cả hai file Glade và các tập tin * .mo được giải mã một cách chính xác bởi vì:

  • Giao diện tiếng Anh cho thấy những biểu tượng phi ASCII tốt
  • Cả tiếng Anh và bản dịch hiển thị phi ASCII nhân vật trong in báo cáo

đây là những gì giao diện trông giống như trong bản gốc tiếng Anh:

enter image description here

Và bản dịch tiếng Đức không sử dụng biến môi trường hoặc PANGOCAIRO_BACKEND=win32:

enter image description here

Bản dịch của Đức sử dụng các biến môi trường PANGOCAIRO_BACKEND=fontconfig (PANGOCAIRO_BACKEND=fc). Nhãn đầu tiên được đặt để sử dụng Calibri sử dụng Pango. Và đó chắc chắn là một phông chữ có "ö", "ä" và "ü" trên Windows.

enter image description here

Trong giao diện điều khiển cảnh báo này xuất hiện cho bản dịch: Pango-Warning **: Invalid UTF-8 string passed to pango_layout_set_text().

Một số chi tiết về việc nhận bản dịch với công việc đã được thảo luận ở đây:

Các kho:

Các trình cài đặt cho Windows:

Có thể rằng builder.set_translation_domain("pygibank") đẩy dịch với mã hóa sai? Có thể gỡ lỗi này hay không ai biết cách sửa lỗi này?

Trả lời

-2

Tôi giải quyết vấn đề này bằng cách tạo tất cả chuỗi chuỗi Unicode. Để tạo chuỗi Unicode, hãy thực hiện điều này: u'Unicode string with fünky charàcters'.

+0

Chuỗi GUI nằm trong tệp XML. Bạn đã thêm mã đó vào mã XML chưa? – tobias47n9e

Các vấn đề liên quan