しばらく更新が止まっていました。
前に ini 言語ファイルとは にも書きましたが
言語ファイルは以下のような構文になっています。
KEY="value"
エクステンションを翻訳中に時々見つけるのが
- コメント行の先頭に ;(セミコロン) 以外の文字が使われている。例: 記号(#) など
- value 文字列に改行が含まれている。 例: JavaScript のコード例などを表現している場合によく使われる
- key 文字列に 記号(#) が含まれている。 例: ナンバーを表現したい?
これらはダメとは言われていますが、現状はうまく処理されているようです。ランゲージデバッグを有効にすると検出されます。
また二重引用符は使えないので "__QQ__"
を使用するように、と公式にも書かれているのですが、皆さんはどう思われますか。
これを採用すると翻訳文字列がどんどん長くなってしまうんですよね。 value 文字列にリンクや CSS など HTML 文が含まれていたりすると、もう読みにくいことこの上ないです。
当サイトの日本語ファイルでは、文字そのものを表しているなど意図して二重引用符が必要な部分以外はすべて一重引用符にしてしまっています。
例えば
WARNING_TEXT="<span class="_QQ_"red"_QQ_">Warning!</span>"
↓
WARNING_TEXT="<span class='red'>Warning!</span>"
このほうがシンプルで見通しがいいと感じます。
あとは実体参照を使った表現です。例えば、アンド記号(&) を &
にしたり &
にしたりすることができます。
ソフトウェアの作りが雑だったら誤作動を起こす原因になったり、悪意を持ったものが不正なコードを埋め込んだりした結果それが実行されてしまうということが・・・起きるかもしれません。ケースバイケースですが、基本的に原文のままにしています。