This file is indexed.

/usr/share/doc/po-debconf/manpages.vi/po-debconf.7.html is in po-debconf 1.0.16+nmu2ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TÊN</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>

<body style="background-color: white">


<!-- INDEX BEGIN -->
<div name="index">
<p><a name="__index__"></a></p>
<!--

<ul>

	<li><a href="#t__n">TÊN</a></li>
	<li><a href="#m___t___">MÔ TẢ</a></li>
	<li><a href="#th__m_h____tr____i18n_v__o_t___p_tin_m___u_debconf">THÊM HỔ TRỢ I18N VÀO TẬP TIN MẪU DEBCONF</a></li>
	<li><a href="#c___p_nh___t_m___u">CẬP NHẬT MẪU</a></li>
	<li><a href="#tr___n_b___n_d___ch_v___i_b___n_g___c">TRỘN BẢN DỊCH VỚI BẢN GỐC</a></li>
	<li><a href="#m___u_ch____m___i">MẪU CHỦ MỚI</a></li>
	<ul>

		<li><a href="#x____danh_s__ch_t__y_ch___n">XẺ DANH SÁCH TÙY CHỌN</a></li>
		<li><a href="#ghi_ch___d__nh_cho_ng_____i_d___ch">GHI CHÚ DÀNH CHO NGƯỜI DỊCH</a></li>
		<li><a href="#th__ng_b__o_ng_____i_d___ch_tr_____c_khi_t___i_l__n">THÔNG BÁO NGƯỜI DỊCH TRƯỚC KHI TẢI LÊN</a></li>
	</ul>

	<li><a href="#g____r___i">GỠ RỐI</a></li>
	<li><a href="#c___n_th___n">CẨN THẬN</a></li>
	<li><a href="#trang_web_tr___ng_th__i">TRANG WEB TRẠNG THÁI</a></li>
	<li><a href="#xem_c__ng">XEM CŨNG</a></li>
	<li><a href="#t__c_gi___">TÁC GIẢ</a></li>
</ul>

-->


</div>
<!-- INDEX END -->

<p>
</p>
<hr />
<h1><a name="t__n">TÊN</a></h1>
<p>po-debconf — giới thiệu</p>
<p>
</p>
<hr />
<h1><a name="m___t___">MÔ TẢ</a></h1>
<p>Mục đích của <code>debconf</code> là làm cho tiến trình cấu hình gói là thân thiện với
người dùng. Để đạt được, quan trọng là đảm bảo mỗi người dùng sẽ thấy câu
hỏi bằng ngôn ngữ mẹ đẻ. Người dịch yêu cầu một khuôn khổ để dịch dễ dàng mà
không cần theo dõi tiến trình phát triển gói phần mềm. <code>po-debconf</code> đã được
thiết kế để chạy đúng với các công cụ <code>gettext</code> tiêu chuẩn khi dịch tập tin
mẫu debconf.</p>
<p>
</p>
<hr />
<h1><a name="th__m_h____tr____i18n_v__o_t___p_tin_m___u_debconf">THÊM HỔ TRỢ I18N VÀO TẬP TIN MẪU DEBCONF</a></h1>
<p>Muốn thêm hỗ trợ debconf vào gói thì bạn đã ghi một tập tin mẫu chứa văn bản
tiếng Anh (ngôn ngữ gốc). Để thêm khả năng hỗ trợ tiến trình quốc tế hoá
(i18n) vào gói, bạn cần phải:</p>
<dl>
<dt><strong><a name="t_o_debian_po_potfiles_in" class="item">• Tạo <em class="file">debian/po/POTFILES.in</em></a></strong></dt>

<dd>
<p>Tập tin này chứa danh sách các mẫu chủ. Bình thường nó chứa chỉ một dòng
riêng lẻ:</p>
<pre>
  [type: gettext/rfc822deb] templates</pre>
<p>Đường dẫn tương đối với thư mục cha.</p>
</dd>
<dt><strong><a name="th_m_m_t_d_u_g_ch_d_i_v_o_tr_c_m_i_tr_ng_c_th_d_ch_c_trong_m_i_m_u" class="item">• Thêm một dấu gạch dưới vào trước mọi trường có thể dịch được trong mỗi
mẫu</a></strong></dt>

<dd>
<p>Bình thường có thể dịch được các trường kiểu <code>Description</code>, <code>Choices</code> và
đôi khi <code>Default</code>.</p>
</dd>
<dt><strong><a name="ch_y_debconf_updatepo" class="item">• Chạy <strong>debconf-updatepo</strong></a></strong></dt>

<dd>
<p>Tiến trình này sẽ tạo tập tin <em class="file">debian/po/templates.pot</em> mà người dịch sẽ
dịch sang ngôn ngữ khác.</p>
</dd>
<dt><strong><a name="th_m_v_o_debian_control_m_t_quan_h_ph_thu_c_x_y_d_ng_v_o_po_debconf" class="item">• Thêm vào <em class="file">debian/control</em> một quan hệ phụ thuộc xây dựng vào
<code>po-debconf</code>.</a></strong></dt>

</dl>
<p>
</p>
<hr />
<h1><a name="c___p_nh___t_m___u">CẬP NHẬT MẪU</a></h1>
<p>Để giúp đỡ người dịch thì bạn nên bảo tồn một gói phần mềm có các tập tin PO
hiện thời. (Không thì người dịch hoài phí thì giờ vì dịch chuỗi vô ích.) Để
cứ cập nhật các tập tin PO, hãy gọi câu lệnh theo đây (không có đối số):</p>
<pre>
  $ debconf-updatepo</pre>
<p>Để duy trì các tập tin PO hiện thời, bạn nên chạy lệnh này mỗi lần thay đổi
chuỗi tiếng Anh trong mẫu. Cũng nên chạy nó khi bạn nhận bản dịch mới hay
bản dịch đã cập nhật, vì người dịch có thể đã dịch tập tin PO cũ.</p>
<p>Nếu bạn thay tên, thêm hay gỡ bỏ bất kỳ tập tin mẫu, cũng nhớ để chỉnh sửa
tập tin <em class="file">debian/po/POTFILES.in</em> một cách tương ứng. Không thì một số chuỗi
tiếng Anh bị thiếu trong tập tin PO; các chuỗi tiếng Anh này sẽ được hiển
thị cho người dùng xem, thậm chí nếu các tập tin PO đã được dịch hoàn toàn.</p>
<p>Chương trình <strong>debconf-updatepo</strong> là luỹ đẳng: nó sửa đổi tập tin PO chỉ nếu
nội dung bị cập nhật. Vì vậy phương pháp tốt nhất cung cấp các tập tin PO
hiện thời trong gói mã nguồn là gọi câu lệnh này từ đích <code>clean</code> của tập
tin <em class="file">debian/rules</em>.</p>
<p>Ghi chú rằng bạn cần phải chạy <strong>debconf-updatepo</strong> thậm chí nếu bạn sử dụng
<strong>dh_installdebconf</strong>. Hàm thứ hai này gọi <strong>po2debconf</strong> mà từng gọi
<strong>debconf-updatepo</strong> nếu phát hiện tập tin bị lỗi thời, nhưng không còn là
trường hợp lại vì hai lý do :</p>
<ol>
<li>
<p><strong>po2debconf</strong> nhờ nhãn giờ để phát hiện tập tin bị lỗi thời, và có thể không
chạy đúng khi dùng <code>pbuilder</code> hoặc nếu bản dịch cũ đã được lưu vào đĩa sau
khi mẫu bị sửa đổi.</p>
</li>
<li>
<p><strong>dh_installdebconf</strong> được gọi đã lâu sau khi tạo ra tập tin <code>.diff.gz</code>.</p>
</li>
</ol>
<p>
</p>
<hr />
<h1><a name="tr___n_b___n_d___ch_v___i_b___n_g___c">TRỘN BẢN DỊCH VỚI BẢN GỐC</a></h1>
<p>Bạn cần phải kiểm tra các bản dịch được hợp nhất trong gói đã xây dựng khi
nó được biên dịch. Bạn có thể tự kiểm tra, hoặc tự động kiểm tra bằng cách
sử dụng văn lệnh <strong>dh_installdebconf</strong> (hãy đảm bảo có một quan hệ phụ thuộc
xây dựng đặt phiên bản với <code>debhelper (&gt;= 4.1.16)</code>).</p>
<p>Để tự kiểm tra, bạn cần phải trộn các mẫu với các bản dịch vào lúc biên dịch
(và đặt quan hệ phụ thuộc xây dựng với <code>po-debconf</code>) như thế:</p>
<pre>
  $ po2debconf debian/templates &gt; debian/tmp/DEBIAN/templates</pre>
<p><strong>BE CAREFUL</strong>: hai tập tin tên <em class="file">templates</em> không phải trùng nhau. Tập tin
thứ nhất chứa chỉ văn bản gốc (thường là tiếng Anh), và đánh dấu một số
trường cần dịch, còn tập tin thứ hai chứa tất cả các ngôn ngữ. Vì vậy bạn
KHÔNG thể giữ chỉ những mẫu đã trộn: có giữ thì bạn không thể xử lý mỗi bản
dịch được đệ trình.</p>
<p>
</p>
<hr />
<h1><a name="m___u_ch____m___i">MẪU CHỦ MỚI</a></h1>
<p>Định dạng nguồn tập tin mẫu mới là gần trùng với một của những tập tin mẫu
đã phát hành, nhưng mỗi trường có thể dịch được có dấu gạch dưới nằm
trước. Thí dụ :</p>
<pre>
  Template: debconf/frontend
  Type: select
  _Choices: Dialog, Readline, Gnome, Editor, Noninteractive
  Default: Dialog
  _Description: Interface to use for configuring packages:
   Packages that use debconf for configuration share a common look and
   feel.  You can select the type of user interface they use.
   .
   The dialog frontend is a full-screen, character based interface,
   while the readline frontend uses a more traditional plain text
   interface, and the gnome frontend is a modern X interface.  The
   editor frontend lets you configure things using your favorite text
   editor. The noninteractive frontend never asks you any questions.</pre>
<p>
</p>
<h2><a name="x____danh_s__ch_t__y_ch___n">XẺ DANH SÁCH TÙY CHỌN</a></h2>
<p>Kể từ <code>po-debconf</code> 0.6.0, trường đã địa phương hoá có thể chứa hai dấu gạch
dưới đi trước. Trong trường hợp này, giá trị trường nên là một danh sách các
giá trị định giới bằng dấu phẩy, mỗi chuỗi msgid thì chứa một giá trị. Do
đó, nếu mẫu ví dụ trước chứa</p>
<pre>
  __Choices: Dialog, Readline, Gnome, Editor, Noninteractive</pre>
<p>thì tạo 5 chuỗi msgid khác nhau. Ghi chú rằng dấu cách nằm sau dấu phẩy
không có nghĩa.</p>
<p>Có một danh sách sự chọn không bao giờ biến đổi thì <code>_Choices</code> là đúng. Tuy
nhiên, chia tách danh sách như vậy có thể giúp tránh lỗi thường gặp trong
bản dịch (v.d. bỏ sót một sự chọn, sử dụng dấu phẩy không tiêu chuẩn). Vì lý
do này, rất khuyên bạn sử dụng <code>__Choices</code> để thay thế.</p>
<p>Tiếc là nếu bạn chuyển đổi từ <code>_Choices</code> sang <code>__Choices</code> thì cũng làm cho
mọi chuỗi dịch là dịch mờ (fuzzy). Tuy nhiên, có một phương pháp chuyển đổi
như thế mà không mất trạng thái về chuỗi dịch (phương pháp này yêu cầu
<code>po-debconf</code> &gt;= 1.0). Muốn chuyển đổi mẫu ví dụ trước sang
<code>__Choices</code>: trước tiên cần sao chép tập tin <em class="file">templates</em> vào một tập tin
tạm thời.</p>
<pre>
  $ cp debian/templates debian/foo</pre>
<p>Sửa <em class="file">debian/foo</em>, giữ chỉ những trường <code>Template</code>, <code>Type</code><code>_Choices</code>
mà nằm trong thí dụ này.</p>
<pre>
  Template: debconf/frontend
  Type: select
  _Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive</pre>
<p>Chạy <strong>debconf-gettextize</strong> với hai cờ <code>--merge</code><code>--choices</code> để xây dựng
các tập tin PO như thể là <code>__Choices</code> đã được ghi, và trộn các tập tin PO
này với các tập tin đã tồn tại:</p>
<pre>
  $ debconf-gettextize --merge --choices debian/foo</pre>
<p>Cuối cùng bạn cần phải gỡ bỏ <em class="file">foo</em> và tự chỉnh sửa <em class="file">debian/templates</em> để
thay thế <code>_Choices</code> bằng <code>__Choices</code> trước khi chạy <strong>debconf-updatepo</strong>.</p>
<p>
</p>
<h2><a name="ghi_ch___d__nh_cho_ng_____i_d___ch">GHI CHÚ DÀNH CHO NGƯỜI DỊCH</a></h2>
<p>Các nhà duy trì <code>Dpkg</code> đã quyết định rằng theo quy ước mỗi dòng bắt đầu với
dấu thăng (<code>#</code>) là chú thích trong tập tin <em class="file">debian/control</em>: <code>po-debconf</code>
cũng theo quy ước này. Kể từ <code>po-debconf</code> 0.8.0, các chú thích như vậy được
ghi vào tập tin PO, và có thể chứa thông tin hữu ích cho người dịch. Hơn
nữa, các phiên bản <code>po-debconf</code> trước bỏ qua mọi dòng không chứa dấu hai
chấm, vì vậy nếu chú thích không chứa dấu hai chấm thì không cần thêm quan
hệ phụ thuộc xây dựng lập phiên bản đối với <code>po-debconf</code>. Thí dụ :</p>
<pre>
  Template: debconf/button-yes
  Type: text
  # Translators, this text will appear on a button, so KEEP IT SHORT
  _Description: Yes</pre>
<p>Chú thích đặc biệt đã được giới thiệu trong <code>po-debconf</code> 1.0 để quản lý
chuỗi chứa vài mục khác nhau (như trong trường <em>Choices</em>) hay vài đoạn văn
khác nhau (như <em>Description</em>). Hai chỉ thị này cho nhà phát triển điều
khiển hữu ích hơn thông tin được hiển thị cho người dịch. Chú thích này theo
dạng <code>#flag:directive</code>; các chỉ thị được diễn tả bên dưới.</p>
<dl>
<dt><strong><a name="translate_spec_translate_spec" class="item"><strong>translate:</strong><em>spec</em>, <strong>translate!:</strong><em>spec</em></a></strong></dt>

<dd>
<p>Đánh dấu chỉ một số mục là « có thể dịch được »; <em>spec</em> là danh sách con số
định giới bằng dấu phẩy, nó xác định những chuỗi nào sẽ được in ra tập tin
PO. Cũng có thể xác định phạm vi bằng dấu trừ (v.d. <code>2-6</code>), và dấu sao
(<code>*</code>) có nghĩa « mọi chuỗi ». Chẳng hạn, đối với</p>
<pre>
  Template: partman-basicfilesystems/fat_mountpoint
  Type: select
  #flag:translate:3,4
  __Choices: /dos, /windows, Enter manually, Do not mount it
  _Description: Mount point for this partition:</pre>
<p>Hai mục <code>Enter manually</code><code>Do not mount it</code> sẽ xuất hiện trong tập tin
PO, nhưngkhông phải hai mục <code>/dos</code><code>/windows</code>. Có dấu chấm than nằm sau
từ khoá <strong>translate</strong> thì <em>spec</em> xác định những chuỗi nào sẽ bị hủy ra tập
tin PO: các chuỗi khác được in ra. Thí dụ trước tương tự với</p>
<pre>
  Template: partman-basicfilesystems/fat_mountpoint
  Type: select
  #flag:translate!:1,2
  __Choices: /dos, /windows, Enter manually, Do not mount it
  _Description: Mount point for this partition:</pre>
<p>Có thể áp dụng cùng từ khoá cho trường <em>Description</em> để đảm bảo một số
chuỗi riêng sẽ không được dịch.</p>
<pre>
  Template: partman-crypto/options_missing
  Type: error
  #flag:translate!:3
  _Description: Required encryption options missing
   The encryption options for ${DEVICE} are incomplete. Please
   return to the partition menu and select all required options.
   .
   ${ITEMS}</pre>
<p>Nhưng mà trường hợp này nguy hiểm, vì ngữ cảnh có thể bị hủy ra tập tin PO:
hãy ghi chú để cho người dịch thông tin cần thiết.</p>
</dd>
<dt><strong><a name="comment_spec_comment_spec" class="item"><strong>comment:</strong><em>spec</em>, <strong>comment!:</strong><em>spec</em></a></strong></dt>

<dd>
<p>Ghi chú đúng bên dưới chỉ thị này áp dụng cho những chuỗi được ghi rõ bởi
<em>spec</em>, mà được xác định bên trên. Mặc định là ghi chú được ghi vào đằng
trước một trường có thể dịch được thì được in ra cùng với tất cả các chuỗi
thuộc về trường đó. (Ghi chú : dùng <code>po-debconf</code> &lt; 1.0, ghi chú được
ghi chỉ với chuỗi thứ nhất.)</p>
<pre>
  Template: arcboot-installer/prom-variables
  Type: note
  # Translators, the 4th string of this description has been dropped
  # from PO files.  It contains shell commands and should not be
  # translated.
  #flag:comment:3
  # &quot;Stop for Maintenance&quot; should be left in English
  #flag:translate!:4
  _Description: Setting PROM variables for Arcboot
   If this is the first Linux installation on this machine, or if the
   hard drives have been repartitioned, some variables need to be set
   in the PROM before the system is able to boot normally.
   .
   At the end of this installation stage, the system will reboot.
   After this, enter the command monitor from the &quot;Stop for
   Maintenance&quot; option, and enter the following commands:
   .
      setenv OSLoader arcboot
      setenv OSLoadFilename Linux
   .
   You will only need to do this once.  Afterwards, enter the &quot;boot&quot;
   command or reboot the system to proceed to the next stage of the
   installation.</pre>
<p>Thí dụ bên trên có một ghi chú mà không dùng chỉ thị <code>#flag:comment</code>, vào
đó một <code>#flag:comment:*</code> ngầm được thêm. Ghi chú này xuất hiện với mọi
chuỗi, nhưng lời về <em>Stop for Maintenance</em> được in ra chỉ đằng trước chuỗi
thích hợp.</p>
</dd>
<dt><strong><a name="partial" class="item"><strong>partial</strong></a></strong></dt>

<dd>
<p>Từ khoá này báo <strong>po2debconf</strong> nên giữ lại các chuỗi đã dịch, thậm chí nếu
chưa dịch mọi chuỗi. Hãy sử dụng cẩn thận: từ khoá này đã được giới thiệu
nhằm mục đích chính xác.</p>
</dd>
</dl>
<p>
</p>
<h2><a name="th__ng_b__o_ng_____i_d___ch_tr_____c_khi_t___i_l__n">THÔNG BÁO NGƯỜI DỊCH TRƯỚC KHI TẢI LÊN</a></h2>
<p>Dù người dịch có thể thấy bản dịch cũ trên các trang Web trạng thái (xem
dưới), và gửi đắp vá để bao gồm trong bản tải lên về sau, người dịch (giống
như nhà phát triển) có ít thời gian rảnh. Để tiết kiệm thời gian cho cả hai
nhà phát triển và người dịch, và cải tiến tiến trình liên lạc giữa cả hai,
Dự án Debian cung cấp một công cụ chuyên dụng, <strong>podebconf-report-po</strong>. Dùng
công cụ này, bạn có thể yêu cầu người dịch trước cập nhật bản dịch (v.d. 2
tuần đằng trước ngày tải lên), cuối cùng nhận nhiều bản dịch được cập nhật
hơn. Rất khuyên nhà phát triển sử dụng công cụ này.</p>
<p>
</p>
<hr />
<h1><a name="g____r___i">GỠ RỐI</a></h1>
<p><strong>debconf-loadtemplate</strong> không chấp nhận tập tin mẫu có mã đánh dấu quốc tế
hoá. Tuy nhiên, nó có phải chấp nhận một tập tin hoà trộn, thì nếu bạn từng
gỡ rối thiết lập debconf như thế</p>
<pre>
  rm /tmp/{config,templates}.dat{,-old}
  debconf-loadtemplate debian/templates
  DEBIAN_PRIORITY=low debconf -freadline debian/config configure 28.0</pre>
<p>bây giờ bạn cần phải sử dụng (v.d.):</p>
<pre>
  po2debconf debian/templates &gt; debian/tmp/DEBIAN/templates
  rm /tmp/{config,templates}.dat{,-old}
  debconf-loadtemplate debian/tmp/DEBIAN/templates
  DEBIAN_PRIORITY=low debconf -freadline debian/config configure 28.0</pre>
<p>
</p>
<hr />
<h1><a name="c___n_th___n">CẨN THẬN</a></h1>
<ul>
<li>
<p><code>Debconf</code> 1.2.0 nhận ra trường theo dạng <em>Name</em>-<em>lang</em>.<em>encoding</em>, v.d.
<code>Description-de.ISO-8859-1</code> hay <code>Choices-vi.UTF-8</code>.  Mặc định là
<strong>po2debconf</strong> ghi các tập tin mẫu theo định dạng mới đó. <code>debconf</code> cũ sẽ bỏ
qua các trường này, chỉ hiển thị văn bản gốc (thường là tiếng Anh). Xem
<em>po2debconf(1)</em> để biết cách thay đổi bảng mã và định dạng kết xuất.</p>
</li>
<li>
<p>Một chuỗi tiếng Anh đưa ra có thể nhận bằng mỗi ngôn ngữ chỉ một bản dịch
duy nhất. Không thể cung cấp được hai bản dịch khác nhau phụ thuộc vào ngữ
cảnh. Để giải quyết vấn đề này, bạn cần phải đánh dấu đặc biệt các lần gặp
chuỗi khác nhau, để tạo nhiều chuỗi riêng. (Dấu này chỉ hiển thị cho người
dịch: nó bị gỡ bỏ ra chuỗi trước khi người dùng xem.)</p>
<p>Dấu như vậy phải được phụ thêm vào chuỗi cần dịch: nó phải bắt đầu với <code>[ </code>
(dấu ngoặc mở có dấu cách theo sau) và kết thúc với <code>]</code> (dấu ngoặc đóng),
và có thể chứa bất cứ ký tự nào trừ dấu ngoặc hay ký tự dòng mới. Chẳng hạn,
<code>[ bi_bô]</code> là dấu hợp lệ, còn <code>[ bi[bô]bi]</code> không phải. Các dấu này bị gỡ
bỏ bằng biểu thức chính quy này:</p>
<pre>
  $msg =~ s/\[\s[^\[\]]*\]$//s;</pre>
</li>
<li>
<p>Khoảng cách không phải được xử lý một cách trùng bởi <code>po-debconf</code><code>debconf-utils</code>; hàm thứ hai định dạng lại các đoạn văn khi cập nhật và
trộn các bản dịch, vì vậy <code>debconf-utils</code> rất khéo, dấu cách không phải
được xử lý là một phần của chuỗi khi quyết định chuỗi nào được dịch mờ
(fuzzy: chuỗi có bản dịch cần chỉnh sửa vì chuỗi gốc bị thay đổi).</p>
<p>Mặt khác, <code>po-debconf</code> nhờ <code>gettext</code> phát hiện chuỗi dịch mờ, và nó không
xử lý dấu cách như ký tự đặc biệt. Vì vậy, các dấu cách thừa phải bị gỡ bỏ
ra kết thúc dòng trong mỗi mẫu chủ, để tránh xuất hiện trong các tập tin PO
va POT.</p>
<p>Vì lý do tương tự, <strong>debconf-gettextize</strong> có khả năng đánh dấu chuỗi là «
dịch mờ » do các ký tự khoảng cách khác nhau, thì người dịch cần phải tự
chỉnh sửa mỗi chuỗi như vậy. Trường hợp này chỉ xảy ra một lần khi chuyển
đổi mẫu sang định dạng <code>po-debconf</code>, trừ bạn thay đổi khoảng cách một cách
ngẫu nhiên trong tập tin chủ, mà làm phiền các người dịch.</p>
</li>
<li>
<p>Bình thường không nên dịch trường <em>Default:</em> khi mẫu có kiểu <strong>Select</strong> hay
<strong>Multiselect</strong>. Trong rất ít trường hợp (v.d. khi chọn ngôn ngữ mặc định cho
ứng dụng), giá trị đã địa phương hoá cũng có ích.</p>
<p>Không nên dịch giá trị đã địa phương hoá: nên chọn nó trong những giá trị
tiếng Anh được liệt kê trong trường <em>Choices</em>. Phương pháp tốt nhất để làm
như thế là ghi chú vào tập tin mẫu : chú thích này sẽ cũng được sao chép vào
các tập tin PO.</p>
<pre>
  Template: geneweb/lang
  Type: select
  __Choices: Danish (da), Dutch (nl), English (en), Esperanto (eo)
  #  You must NOT translate this string, but you can change its value.
  #  The comment between brackets is used to distinguish this msgid
  #  from the one in the Choices list; you do not have to worry about
  #  them, and have to simply choose a msgstr among the English values
  #  listed in the Choices field above, e.g. msgstr &quot;Dutch (nl)&quot;
  _Default: English (en)[ default language]
  _Description: Geneweb default language</pre>
<p>Giá trị mặc định cũng xuất hiện trong trường <em>Choices</em>, và mỗi giá trị có
bản dịch riêng: giá trị thứ nhất là giá trị chưa được dịch mà được chọn
trong các giá trị <em>Choices</em>, còn giá trị thứ hai là bản dịch chuẩn. Vì
<code>gettext</code> không thể chứa hai bản dịch khác nhau cho cùng một <em>msgid</em>, mỗi
<em>msgids</em> phải được khác biệt bằng chú thích nằm trong dấu ngoặc, như diễn
tả trong phần con trên.</p>
<p>Trước <code>po-debconf</code> 0.8.0, không có khả năng ghi chú như vậy nên nhà duy trì
phải thay thế trường <em>_Default:</em> bằng <em>_DefaultChoice:</em> để phân biệt
trường riêng trong tập tin PO:</p>
<pre>
  #. DefaultChoice
  msgid &quot;&quot;
  &quot;English[ default: do not translate bracketed material, put your &quot;
  &quot;own language here but UNTRANSLATED.  If it is not in the list, &quot;
  &quot;put English (without bracketed material)]&quot;
  msgstr &quot;&quot;
  &quot;Swedish&quot;</pre>
<p>Chú thích chuẩn trong tập tin mẫu ít bị lỗi hơn thì khuyến khích.</p>
</li>
</ul>
<p>
</p>
<hr />
<h1><a name="trang_web_tr___ng_th__i">TRANG WEB TRẠNG THÁI</a></h1>
<p>Thống kê về bản dịch <code>po-debconf</code> sẵn sàng ở
<a href="http://www.debian.org/intl/l10n/po-debconf/">http://www.debian.org/intl/l10n/po-debconf/</a> (hoặc từ máy nhân bản); tất
cả được tự động cập nhật khi gói mới được tải lên. Chỉ gói có sẵn tập tin
<em class="file">debian/po/templates.pot</em><em class="file">debian/po/POTFILES.in</em> được xử lý, vì vậy
bạn nên kiểm tra gói mã nguồn chứa các tập tin này.</p>
<p>Người dịch có thể lấy tập tin PO và POT từ trang trạng thái, nhưng cũng nên
liên lạc với người dịch trước (địa chỉ thư điện tử nằm trong phần đầu của
tập tin PO) và/hay nhóm dịch trong hộp thư chung
debian-l10n-<em>&lt;language&gt;</em>@lists.debian.org (nếu có : một số nhóm
dịch dùng hộp thư chung bên ngoài) để kiểm tra không có người dịch khác đảm
nhận cùng bản dịch, và đọc các báo cáo lỗi hiện thời về gói đó để kiểm tra
bản dịch đã được đệ trình chưa.</p>
<p>Sau khi dịch tập tin thì người dịch nên đệ trình bản dịch cho nhà duy trì
bằng cách gửi một báo cáo lỗi có mức quan trọng <strong>wishlist</strong> và thẻ <strong>patch</strong>.</p>
<p>
</p>
<hr />
<h1><a name="xem_c__ng">XEM CŨNG</a></h1>
<p><em>debconf-gettextize(1)</em>, <em>debconf-updatepo(1)</em>, <em>dh_installdebconf(1)</em>,
<em>podebconf-report-po(1)</em>, <em>po2debconf(1)</em>, <em>debconf-devel(7)</em>.</p>
<p>
</p>
<hr />
<h1><a name="t__c_gi___">TÁC GIẢ</a></h1>
<pre>
  Martin Quinson &lt;Martin.Quinson@ens-lyon.fr&gt;
  Denis Barbier &lt;barbier@linuxfr.org&gt;</pre>

</body>

</html>