Rico の翻訳

Rico ライブラリは翻訳オブジェクト(RicoTranslate)を含むので、 複数の言語をサポートするアプリケーションを、 Rico を利用して書く事が出来ます。 翻訳オブジェクトは、異なるデフォルト値を言語ごとに指定する事が出来、 デフォルトの日付および数値フォーマットも保持しています。 Rico ディストリビューションは、デフォルトグリッドメニューと Rico カレンダーを表示するために 必要なフレーズと共に、翻訳オブジェクトをロードする言語ファイルを含みます。

翻訳ステータス

言語ファイルは "src/translations/ricoLocale_xx.js" に保持されており、 xx は 2 文字の言語コードです。 現在、Rico は以下の翻訳と共に配布されています。

言語コードステータス
英語 en ベースライン
フランス語 fr 完了して検査された
スペイン語 es 完了して検査された
日本語 ja 完了して検査された
中国語(単純化された) zh 完了して検査された
韓国語 ko 完了して検査された
ドイツ語 de 完了して検査を必要としている
ポルトガル語 pt 完了して検査を必要としている
イタリア語 it 完了して検査を必要としている
ロシア語 ru 新しい ricoLocale フォーマットへの更新を必要としている
ウクライナ語 ua 新しい ricoLocale フォーマットへの更新を必要としている

複数言語のサポート

Rico が進化するにつれ、翻訳ファイルに追加のフレーズが必要とされます。 英語のフレーズが最初に追加され、そして Rico コミュニティのメンバーが 新しいフレーズを他の翻訳ファイルに加えます。 私達は全ての翻訳を同期し続けようとしますが、 これは必ずしも可能ではありません。 そのため、rico.js がロードされる時、 最初に英語の言語ファイルをロードします。 それから、それはユーザの OS またはブラウザの言語に一致する Rico 翻訳を探します。 見つかったなら、それは次にロードされます。 これは、フレーズが翻訳ファイルやそれらの言語用の翻訳が利用出来ない場合に、 (空白メッセージの代わりに)少なくとも英語でのフレーズを見る事を確実にします。

追加のコーディング無しで、Rico は多くの場合、 ユーザにふさわしいローカライズされたメニューやカレンダーを表示するはずです。 しかし、全ての最新のブラウザは、ユーザに OS の言語をオーバライドする方法を与えます。 例えば、Firefox では ツールメニュー > オプション > 詳細 > 一般タブ > 言語設定ボタン へ進みます。 Internet Explorer では ツールメニュー > インターネットオプション > 全般タブ > 言語ボタン へ進みます この設定は accept language から呼ばれ、javascript を通して直接アクセスする事は出来ません。 しかし、Rico は適切な言語に基づく翻訳ファイルをロードする方法を提供します。 この設定を構成したユーザーにとって、このアプローチを利用して解析される言語は、 彼らの本当の選択により近いかもしれません。 その適切な言語は "Rico.acceptLanguage()" javascript メソッドに、 適切な言語のヘッダを返すサーバサイドスクリプトを持つ事により Rico で解析されます。 これは、ASP と PHP のための LiveGrid フォームプラグインと、 .net のための LiveGrid プラグインを利用する時に、自動的に行われます。 他の状況では、サーバサイドインクルードファイルは Rico ディストリビューションで提供されます。

PHP では。

<? 
// ricoLiveGridForms.php を利用する時は必要ありません
// rico.js をインクルードする行の後に置かれなければなりません

require "chklang2.php";
?>

ASP では。

' ricoLiveGridForms.asp を利用する時は必要ありません
' rico.js をインクルードする行の後に置かれなければなりません

<!-- #INCLUDE FILE = "chklang2.vbs" -->

.net では。

' ricoLiveGridForms.ascx を利用する時は必要ありません
' rico.js をインクルードする行の後に置かれなければなりません

<%@ Register TagPrefix="Rico" TagName="ChkLang" Src="chklang.ascx" %>
<Rico:ChkLang runat='server' id='translation' />

RicoTranslate オブジェクトリファレンス

RicoTranslate オブジェクトは以下のプロパティとメソッドを含みます。

monthNames[]
それぞれの月の翻訳された名前を含む 12 アイテムの配列(1 月はアイテム 0)
dayNames[]
それぞれの曜日の翻訳された名前を含む 7 アイテムの配列(日曜はアイテム 0)
monthAbbr()
月の数字(0-11)を受け取り、月の省略名を返す関数(デフォルトは monthNames[] の始めの 3 文字ですが、翻訳によってオーバーライドされます)
dayAbbr()
曜日の数字(0-6)を受け取り、曜日の省略名を返す関数(デフォルトは dayNames[] の始めの 3 文字ですが、翻訳によってオーバーライドされます)
langCode
現在ロードされた 2 文字の言語コードを含みます(デフォルトは "en")
thouSep
数値をフォーマットする時に千桁区切りのセパレータとして利用する文字を含みます(デフォルトは ",")
decPoint
数値をフォーマットする時に小数点として利用する文字を含みます(デフォルトは ".")
dateFmt
デフォルトの日付フォーマットを含みます(デフォルトは "mm/dd/yyyy")
timeFmt
デフォルトの時間フォーマットを含みます(デフォルトは "hh:nn:ss a/pm")
addPhraseId (phraseId, phrase)
指定されたフレーズを加えて、それを phraseId に割り当てます。フレーズの文字列は、任意の置き換えパラメータの参照を含むかもしれず、$1、$2、等を利用して指定されます。
getPhraseById (phraseId)
phraseId によって指定されたフレーズを返します。任意の置き換えパラメータは phraseId に続くかもしれません。

最新情報の提出

質問と訂正は SourceForge の Open Discussion フォーラム にポストされるかもしれません。 あるいは、 dowdybrown at yahoo dot com に直接送信する事も出来ます。