Có thể sử dụng một cái gì đó như gettext để dịch một tập lệnh R hay không. Nếu vậy, làm thế nào? Nếu không, tôi có những lựa chọn nào khác?Bản dịch của tập lệnh R sử dụng gettext
Trả lời
Bạn có thể sử dụng các công cụ cơ bản :: gettext/ngettext, base :: bindtextdomain và tools :: xgettext2pot.
Ví dụ:
myFunction <- function()
{
bindtextdomain("R-myProgram","/my/translation/dir")
gettext("Hello",domain="R-myProgram")
}
Sau đó, giả như chức năng này là bên trong một file có đường dẫn là "/my/dir/R/myfile.R" sử dụng: tools::xgettext2pot("/my/dir", "/my/translation/dir/pot/R-myProgram.pot")
sau đó sử dụng msginit, msgfmt, vv để tạo ra một .mo tập tin /my/translation/dir/fr/LC_MESSAGES/R-myProgram.mo
. myFunction() bây giờ sẽ in "Bonjour" thay vì "Hello" nếu ngôn ngữ của bạn là tiếng Pháp.
Một vài điểm khác:
- Nó có vẻ như xgettext2pot giả định dự án của bạn là một gói R tiêu chuẩn và trông chỉ cho * .R file bên trong R/thư mục con.
- Các
domain
lập luận có vẻ là theo mặc định không gian tên của hàm gọi gettext() - stop(), tin nhắn(), cảnh báo() và packupStartupMessage() cũng được phát hiện bởi xgettext2pot. Ngoài ra còn có một hàm gettextf() có sẵn như là một biến thể giống như sprintf của gettext().
- Vì tiện ích xgettext chuẩn dường như không hỗ trợ cú pháp R, và vì công cụ này phải sử dụng các công cụ :: xgettext2pot, một vài điều sẽ bỏ lỡ từ cách tiếp cận chuẩn, chẳng hạn như ngữ cảnh tin nhắn (pgettext()), cờ chỉ ra các chuỗi giống như printf và khả năng viết các chú thích trong mã cho các dịch giả (được trích bởi xgettext -c) mà không cần sửa đổi tệp .pot bằng tay.
Nếu tôi đặt ngôn ngữ của mình bằng 'sys.getlocale (" LC_All "," fr ")' sang tiếng Pháp I chỉ cần không nhận được dịch 'msstr' trở lại. vẫn còn xin chào. Tại sao vậy? –
- 1. Sử dụng settings.LANGUAGES với tên dịch đúng bằng gettext()
- 2. Lập lịch biểu tập lệnh R sử dụng cron
- 3. Python: gettext không tải bản dịch trên Windows
- 4. Thêm một hộp văn bản bật lên trong tập lệnh R bằng cách sử dụng tcltk
- 5. Gettext không có hệ thống tập tin
- 6. Dịch mô hình Django: lưu trữ bản dịch trong cơ sở dữ liệu hoặc sử dụng gettext?
- 7. Biên dịch tập lệnh R thành tệp .exe độc lập?
- 8. R tập lệnh từ dòng lệnh
- 9. Chạy tập lệnh bash từ tập lệnh R
- 10. ghi đè các tập tin gettext .mo
- 11. Giao diện GUI cho tập lệnh R
- 12. Cách tốt nhất để sử dụng tập lệnh R trên dòng lệnh (terminal) là gì?
- 13. Dịch vụ dịch của Google cho các tập tin GNU gettext PO hỗ trợ các định dạng phong cách ngettext
- 14. Truy xuất tập lệnh văn bản thuần túy từ tập lệnh bash được biên dịch
- 15. Bao gồm tập lệnh dòng lệnh với gói R
- 16. Ưu điểm và nhược điểm của việc sử dụng gettext thay vì QObject.tr() để bản địa hóa ứng dụng PyQt4?
- 17. Chạy tập lệnh R từ VBA
- 18. Tìm kiếm tập lệnh R qua HTTPS
- 19. Biên dịch tập lệnh ruby thành exe?
- 20. Chạy nhiều tập lệnh/phiên R
- 21. Chạy Tập lệnh R với Lô
- 22. Cách sử dụng tập lệnh gốc của tôi (Tamil) trong điều khiển hộp văn bản wpf
- 23. Hạn chế sử dụng bộ nhớ của tập lệnh Lua?
- 24. Sử dụng lệnh passwd từ trong tập lệnh shell
- 25. Kịch bản lệnh InAppBrowser (sử dụng executeScript)
- 26. Tập lệnh Ruby làm dịch vụ
- 27. Flask-Babel làm thế nào để sử dụng dịch tại Jinja mẫu tập tin
- 28. Biên dịch tập lệnh PHP trong Linux
- 29. Hiệu suất hoạt động của việc sử dụng các câu lệnh in trong tập lệnh Python
- 30. Sử dụng Máy tự động của Apple để chuyển tên tập tin vào tập lệnh shell
Bạn có ý nghĩa gì khi "dịch"? – Subs
Tôi có nghĩa là tôi có dây trong đó, viết bằng tiếng Anh. Tôi cần phải đánh dấu chúng bằng cách nào đó, trích xuất để tách tập tin, dịch chúng sang tiếng Nga. Và bằng cách chạy tập lệnh với một tham số - nó sẽ hiển thị các thông điệp bằng tiếng Anh và với các thông điệp khác của Nga. Giống như gettext hoạt động :) – Shark
Hãy xem '? Gettext' – Andrie