debconf-gettextize — trích ra tập tin PO bản
dịch của mẫu debconf
debconf-gettextize [
-v] [
-h]
[
--podir=THƯ_MỤC ]
[
--choices] [
--merge]
chủ [
chủ ...]
Các tập tin
/var/lib/dpkg/info/*.templates
được debconf đọc thì chứa
cả văn bản tiếng Anh lẫn bản
dịch đều trong cùng tập tin. Tuy
nhiên, trong gói mã nguồn các bản
dịch được quản lý trong tập
tin riêng để giúp người dịch.
Trong bản thực hiện đầu tiên,
một tập tin
templates chủ chỉ chứa
văn bản tiếng Anh, còn tập tin
templates. xx chứa các chuỗi
cả hai gốc và được dịch cho
ngôn ngữ
xx. Chương trình
debconf-mergetemplate đã trộn các
tập tin mẫu chủ và được
dịch.
Bản thực hiện mới với "po-debconf"
dựa vào "gettext". Nhà duy trì
đánh dấu mỗi trường có
thể dịch được bằng cách
thêm dấu gạch dưới vào
trước; các chuỗi tiếng Anh
được trích tự động ra
một tập tin POT; người dịch làm
việc với tập tin PO chuẩn; và
po2debconf tạo ra một tập tin mẫu
đã trộn có cùng cấu trúc.
Chương trình
debconf-gettextize đã
được thiết kế ban đầu
để giúp nâng cấp lên bản
thức hiện mới.
- •
- Nó đọc một danh sách
các tập tin chủ và các bản
dịch tương ứng, rồi tạo ra
các tập tin po/*.po cho mỗi ngôn
ngữ sang đó chuỗi đã
được dịch.
- •
- Mỗi tập tin nhập vào có
tên mới với hậu tố ".old"
(cũ), và một tập tin chủ mới ghi
đè lên tập tin cũ; nó
trùng với tập tin chủ trước,
trừ có một dấu gạch dưới
đằng trước mỗi trường
có thể dịch được. Nhà
phát triển thì có thể chọn
những trường cần dịch, và
những trường cần bỏ qua vì
không chứa giá trị phụ thuộc
vào miền địa phương.
- •
- Tập tin po/POTFILES.in cũng
được tạo. Nó chứa danh
sách các tập tin templates nên
được debconf-updatepo xử
lý.
Bình thường chương trình
debconf-gettextize nên được chạy
chỉ một lần khi chuyển dạng từ
bản thực hiện thứ nhất sang
định dạng "po-debconf", nhưng nó
cũng có thể được dùng
về sau để chuyển dạng một
trường "_Choices" sang "__Choices" (hay
ngược lại) mà không mất bản
dịch, khi dùng cờ "--merge" (cùng
với "--choices" hay không). Mẫu
đã muốn mà chứa các
trường "_Choices" hay "__Choices" cần
sửa đổi thì phải được
sao chép vào một tập tin mẫu tạm
thời, mà được gửi qua cho
debconf-gettextize dưới dạng một
đối số. Sau đó thì làm
các bước sau :
- 1.
-
po2debconf được chạy
trên tập tin mẫu này để
tạo ra một tập tin mẫu đã
dịch.
- 2.
- Tập tin mẫu đã dịch
thì được xử lý như
nói trên, và các tập tin PO
được tạo ra.
- 3.
- Tập tin PO mới tạo
được trộn với tập tin PO
đã tồn tại.
Trộn các tập tin PO thì mỗi
trường kiểu "_Choices" phải bị
thay thế bằng kiểu"__Choices" (hay
ngược lại) trong tập tin mẫu gốc
trước khi chạy
debconf-updatepo, không
thì các bản dịch mới bị
đánh dấu « dịch mờ ».
-
-h, --help
- Hiển thị bản tóm tắt
cách sử dụng chương trình, sau
đó thoát.
-
-v, --verbose
- Xử lý ở chế độ
chi tiết (xuất nhiều dữ liệu
diễn tả tiến trình, hữu ích
để gỡ lỗi).
-
--podir=THƯ_MỤC
- Đặt thư mục chứa
các tập tin PO. Mặc định là
tìm các tập tin PO trong thư mục con
po bên dưới vị trí của
tập tin chủ thứ nhất.
- --choices
- Mặc định là
debconf-gettextize thay thế các trường
kiểu "Choices" bằng kiểu
"_Choices". Bật cờ này thì ghi
trường kiểu "__Choices" thay vào
đó.
- --merge
- Bật cờ này thì các
chuỗi được trộn với các
tập tin PO đã tồn tại. Không
sửa đổi tập tin mẫu hay
po/POTFILES.in.
Trường "Default" là đặc biệt
khi mẫu có kiểu "Select" hay
"Multiselect", vì phải chọn một
giá trị trong danh sách các tùy chọn
English, ngay cả đối với giá
trị đã địa phương hoá.
Bình thường không cho phép thay
đổi trường này, nhưng trong
rất ít trường hợp, giá trị
đã địa phương hoá vẫn
có ý nghĩa (v.d. để chọn ngôn
ngữ mặc định của ứng dụng).
Để cho người dịch biết
trường "Default" đã địa
phương hoá cũng là đặc
biệt, theo quy ước bạn cần phải
gọi nó "_DefaultChoice" thay cho "_Default".
debconf-updatepo(1),
po2debconf(1),
debconf-devel(7),
po-debconf(7).
Denis Barbier <[email protected]>
Martin Quinson <[email protected]>