Tôi vừa tạo mô-đun OpenERP tùy chỉnh, giả sử /addons/the_meaning_of_life
. Bây giờ tôi muốn dịch sang ngôn ngữ khác. Tôi hiện đang có một thư mục i18n chứa các tệp .pot
và .po
. Làm thế nào để tôi tạo ra chúng? Nó sẽ là tốt đẹp để có một hướng dẫn từng bước.Làm thế nào để dịch một mô-đun OpenERP?
Trả lời
Ok đây những gì bạn có thể làm là:
- Cài đặt mong muốn của bạn lang trong db của bạn.
- Khi bạn đã hoàn tất việc phát triển mô-đun, hãy cài đặt mô-đun trên máy chủ thử nghiệm, sau đó chuyển đến Trình hướng dẫn theo sau
Setting(or Configuration) > Translation> Import/Export/Export Translation
. Sau đó chọn mô-đunthe_meaning_of_life
và mong muốn lang. và xuất nó ở định dạng .po. - Lưu tệp po đó rồi thêm bản dịch mà bạn muốn vào tệp po. Sau đó, bạn có thể nhập lại tập tin po đó trong cơ sở dữ liệu hoặc thêm nó dưới mô-đun của bạn theo thư mục
/addons/the_meaning_of_life/i18n
và nó có sẵn với mô-đun của bạn. - (chỉ dành cho mô-đun mới), bạn cũng cần có tệp "nồi" trong cùng thư mục i18n, nếu bạn chưa có, bạn có thể tạo một bằng cách lặp lại bước 2 nhưng không chọn bất kỳ ngôn ngữ nào. Điều này làm thế nào bạn có thể làm cho bản dịch có sẵn cho một số lang trong mô-đun của bạn nhưng nếu bạn muốn sử dụng dịch vụ dịch Launchpad sau đó kiểm tra sau url điều này sẽ hướng dẫn bạn sử dụng .pot nhưng cho rằng bạn cần dự án trên lp rõ ràng.
Hy vọng điều này sẽ trả lời bạn, Kính
Dưới đây là một kịch bản bash mà tôi sử dụng cho việc này:
$ cat oerp-i18n-module
#!/bin/bash
#
# usage:
# ./oerp-i18n-module <databasename> <module name>
#
# the script will create or update PO files for en, fr, de and es. You
# will need to update the translations (and don't forget bzr add +
# commit)
dirname=$(find src -name $1 | egrep -v '(src/stable)|(src/server)')
install -d ${dirname}/i18n
for lang in en fr de es
do
python src/server/openerp-server -c config/instance_debug.ini \
--log-level=error --i18n-export=${lang}.po -l ${lang} \
-d $1 --modules=$2 > /dev/null 2>&1
if [ -f ${dirname}/i18n/${lang}.po ]
then
echo merge new translations in ${dirname}/i18n/${lang}.po
msgmerge -vU --backup=simple ${dirname}/i18n/${lang}.po ${lang}.po
rm ${lang}.po
else
echo put file in ${dirname}/i18n/${lang}.po
mv ${lang}.po ${dirname}/i18n/
fi
done
Hope this helps (bạn có thể phải chỉnh sửa một số đường dẫn đó được cụ thể để bố trí của tôi về chi nhánh bzr).
Đó là hữu ích cho công việc nặng nhọc. Cám ơn vì đã chia sẻ. –
Cài đặt ham muốn lang thang trong db của bạn.
Khi bạn đã hoàn thành việc phát triển mô-đun, hãy cài đặt mô-đun trên máy chủ thử nghiệm, sau đó chuyển đến Trình hướng dẫn cài đặt (hoặc Cấu hình)> Dịch> Nhập/Xuất/Xuất bản dịch. Sau đó chọn mô-đun the_meaning_of_life và mong muốn lang. và xuất nó ở định dạng .po.
Lưu tệp po đó rồi thêm bản dịch mà bạn muốn vào tệp po. Sau đó, bạn có thể nhập lại tệp po đó trong cơ sở dữ liệu hoặc thêm nó vào mô đun của bạn trong thư mục/addons/the_meaning_of_life/i18n và nó có sẵn với mô-đun của bạn.
(chỉ dành cho mô-đun mới), bạn cũng cần có tệp "nồi" trong cùng thư mục i18n, nếu bạn chưa có, bạn có thể tạo một bằng cách lặp lại bước 2 nhưng không chọn bất kỳ ngôn ngữ nào. Điều này làm thế nào bạn có thể làm cho dịch có sẵn cho một số lang trong module của bạn nhưng nếu bạn muốn sử dụng dịch vụ dịch Launchpad sau đó kiểm tra url sau đây sẽ hướng dẫn bạn sử dụng .pot nhưng cho rằng bạn cần dự án trên lp rõ ràng.
Điều đó đã làm điều đó, cảm ơn bạn. Một số nhận xét: tệp .po đã tải xuống là ANSI, vì vậy tôi phải lưu nó dưới dạng UTF-8. Sau đó tôi sao chép tệp, 'pt.po', vào thư mục i18n và khởi động lại máy chủ. Các bản dịch được tải trên máy chủ khởi động lại. –
@DReispt có quyền thta là cách hoàn hảo, bạn phải giữ nó trong UTF-8 chỉ –