[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Translate]dsa-281.wml - dsa-284.wml
久保田です。
From: KISE Hiroshi <fuyuneko@xxxxxxxxxxxx>
Subject: Re: [Translate]dsa-281.wml - dsa-284.wml
Date: Sun, 13 Apr 2003 03:06:41 +0900
> > 読めませんでした (;_;)
>
> “Knud Erik Hojgaard”さんの名前の後ろから7番目の文字を
> ISO-8859-1なコードで直接書いたからでしょうね。UTF-8に
> なったようです。僕の環境でも読めませんでした。
おそらく、emacs を使っていて、日本語 (JIS X 0208) と
ISO-8859-1 な文字の両方が現れたので、両方を同時に表現できる
コードということで自動的に UTF-8 でセーブされたのだと思います。
が、dsa-281.wml を見ると、日本語部分はすべて、U+FFFD (REPLACEMENT
CHARACTER) となってしまっています。これは、emacs は、そのままでは
Unicode の漢字を扱うことができないのが原因です。
mule-ucs をインストールすると emacs で Unicode 漢字を扱う
ことができるようになりますが、いまのところ、日本語の wml
ファイルは ISO-2022-JP または EUC-JP で書くことになっているので、
これでは解決になりません。
# たぶん郷田さん自身、ご自分の訳された日本語が失われてしまった
# のではないでしょうか?
そこで、EUC-JP や ISO-2022-jp で扱えない文字を表現するために、
「実体参照」や「文字参照」といった方法を使います。
たとえば今回は、斜線つきの o ですが、
> 実体参照にするとよいはずなんですが、どう書くのでしたっけ?
> HTMLだと、ø なはず。
というふうに、「ø」と書きます。この表現自身は ASCII で
書かれているので、EUC-JP や ISO-2022-JP ファイル中に書くことが
できます。どんな文字がどんな名前になっているかは、
http://east.portland.ne.jp/~sigekazu/html/entities.htm
などを参照してください。
一方、文字参照の場合は、「&#文字コード;」と書きます。文字コードは
Unicode です。
入力を ISO-8859-1 とみなし、文字参照に変換するスクリプトを添付します。
これを使うと、ISO-8859-1 の除去作業が自動化できます。
$ ./latin1_to_entity.pl <webwml/english/foo/bar.wml >hoge.wml
$ emacs hoge.wml (翻訳作業をする)
といった流れになります。
すみませんが、これでもういちど翻訳作業してもらえないでしょうか > 郷田さん
---
久保田智広 Tomohiro KUBOTA <kubota@debian.org>
http://www.debian.or.jp/~kubota/
#!/usr/bin/perl
# Assume input stream as ISO-8859-1 text and convert it into SGML entity.
while (<>) {
for ($i=128; $i<256; $i++) {
$c = chr($i);
s/$c/&#$i;/g;
}
print;
}