Talk:Ja.yml

From OpenStreetMap Wiki
Jump to navigation Jump to search

変更時の注意

コロン(:)の左側がメッセージ名、右側が内容です。翻訳は右側の文字列だけを日本語に変更します。左側を変更すると動作しません。""でくくった文字列は改行を含む物もあります。

文字列には

  • ""(ダブルクオーテーション)でくくられた物
  • (アポストロフィ)でくくられたもの
  • くくられていないもの

の3種類あります。これを変更しないよう注意してください。ひょっとしたら変更しても大丈夫な造りであるかもしれませんが、他言語では変更していないため、型チェックをしているのではないかと思います。(すみません、コードまで読んでません。)

また、メールの本文の文字列もあります。メールの文字列はUTF-8で送られてしまった場合受信できないメールクライアントが普通に存在しており、翻訳すると確認やお知らせのメールを読めない事態が発生してしまいます。_notification:の階層下のメッセージを翻訳する際には、日本語英語併記としてください。併記する際には英語を先に書いてください。送信側(OSMのサイト側)でISO-2022-JP対応がされるまで根本的解決は難しいと思われます。--Mage Whopper 16:47, 19 June 2009 (UTC)

クオート

コードを見ましたが、ruby2.3.2のI18nモジュールをつかっているので、気にしなくていいと思います。

コードのいじり方

$ svn co http://svn.openstreetmap.org/sites/rails_port

してお取り寄せ。


Miurahr 03:58, 20 June 2009 (UTC)

メール送信の多言語対応

内部的には、ActionMailerを使っていますが、latin以外の考慮はされていないようです。 本文にUTF-8を使わないまでいくと、相当手を入れないといけませんが、少なくともタイトルをISO-2022-JPエンコードにして、MIMEエンコードするあたりは実現しないと、使い物になりませんね。

日本語だけではなく、多言語を考えると、*.ymlファイルにて、body_charsetや、subject_charset等、期待する文字コードを与えさせる必要があるとおもいます。その上で、そのcharsetに従って、IconvでコンバートしてMIMEエンコード(BASE64なり, Qencodeなり)かけさせる仕組みですね。

見るべきコードは、/app/models/notifier.rb あたりかとおもいます。

ActionMailerを継承して、期待する言語環境(charsetではない)に合わせた処理をさせるhelperってか、ライブラリを作って、そいつを使うように一層かませないと、本質的解決(DRY原則まもりつつ、多国語に対応…)にならないなぁ。

参考:http://d.hatena.ne.jp/urekat/20070323/1174634890 http://www.pathf.com/blogs/2009/01/actionmailer-callbacks-in-the-spirit-of-actioncontroller-filters/#more-1374 http://wiki.openstreetmap.org/wiki/Website_Internationalization_Ideas_2008

私見では、Strategyデザインパターンをつかって、ActionMailerのフィルターか、アルゴリズム実装を言語によって選択させるけれども、notifier.rbのコードでは言語について特段の意識しなくてもいいよな仕掛けがうれしいと思います。

Miurahr 04:23, 20 June 2009 (UTC)