2006年01月18日

taskselとdebconf

taskselのタスクチェックをしていたところ、debconfの各タスク翻訳が使われなくなっていることに気付いた。#278186のパッチで消されちゃったようだ。

過去のものではChoices: ${CHOICES}で作っており、SUBSTによってCHOICESに翻訳「済み」のテキストが挿入されていた。debconfデータベースにも翻訳済みのものが入るために、preseedでも言語を知った上でその言語の翻訳済みのテキストを入れる必要があった。これは確かに良くない。いずれにせよ、この状態だとLANGを変えたとたんにdebconfデータベースと整合性が合わなくなってしまうので、はなはだ問題ではある。

が、しかし、英文文字列からだいたい推測できるラテン系ならともかく、これではかなり嬉しくない言語圏は多そうだ。多言語化したときのSUBST処理ができないというのはdebconf-i18nのかなり大きな問題で、またしてもこれに頭を悩ますことになりそうだ。

ん、待てよ。_Choices "${ORIGCHOICES}"として、poのほうではmsgid "${ORIGCHOICES}"に対してmsgstr "${CHOICES}"とすればいいんじゃないのか? なんとなくこれでよさそうな気がする。