2012-03-26 38 views
8

Tôi đang sử dụng tập hợp các tệp .po được tạo bởi hệ thống dịch thuật công ty (với Pootle, nếu có liên quan). Tôi đang gặp rắc rối chuyển đổi những tập tin này để .mo (các đối tác nhị phân để .po file) bằng cách sử dụng tiện ích msgfmt (với -C điều hành, trong đó kiểm tra định dạng của tập tin), tôi nhận được lỗi sau:Phát hiện lỗi trong tệp .po

$ msgfmt -v -C default.po 
default.po:1:2: syntax error 
msgfmt: found 1 fatal error 

Tôi đã google khá rộng rãi cho một cách để có thêm thông tin về những gì, chính xác, đang gây ra msgfmt để ném lỗi này.

Tôi cũng đã cố gắng xóa hai dòng đầu tiên của tệp (không phải là một phần của danh mục, nhưng chỉ là nhận xét hoặc chuỗi dịch trống).

Tôi có khuynh hướng nghĩ rằng đó là vấn đề về mã hóa tệp, nhưng tôi không xử lý nhiều với loại điều này, vì vậy tôi sẵn sàng thừa nhận rằng đây là lỗi người dùng.

Có ai biết cách tôi có thể chẩn đoán cụ thể hơn lỗi với các tệp này không? Ngoài ra, hành vi tương tự cũng được hiển thị trên tất cả các tệp được bản địa hóa, không chỉ một tệp cụ thể.

Trả lời

7

Nghe có vẻ gần như chắc chắn là vấn đề với BOM, tệp PO không được chứa chúng. Một giải pháp thay thế sẽ là chạy pocompile từ Bộ công cụ Dịch, vì bạn đã sử dụng Pootle pocompile đã được cài đặt trên hệ thống của bạn.

5

Đoán của tôi cũng sẽ là đây là sự cố mã hóa. Vì lỗi đã xuất hiện trong vài ký tự đầu tiên của tệp, thủ phạm có thể là byte order mark, trong đó utf-8 được mã hóa dưới dạng chuỗi byte 0xEF, 0xBB, 0xBF. Cách tốt nhất để kiểm tra điều này là xem tệp bằng trình chỉnh sửa hex hoặc sử dụng trình chỉnh sửa có thể cho bạn biết tệp có chứa dấu thứ tự byte hay không.

Ví dụ: vim, bạn có thể sử dụng set bomb? và nó sẽ cho bạn biết bomb hoặc nobomb.

Chỉnh sửa:Here là mục nhập blog của người nào đó có thông báo lỗi chính xác do tệp được mã hóa utf-8 bắt đầu bằng dấu thứ tự byte.

+1

Người dùng Windows: Đề xuất trong bài viết được liên kết đề xuất sử dụng tùy chọn trình đơn của Notepad ++: Mã hóa> Chuyển đổi thành UTF-8 mà không cần BOM – plusjeff

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