私は最近、個人的な使用と経験のために道場を学び始めました。これまで、私はさまざまな道場に関するチュートリアルを(彼らのウェブサイトやウェブ上で)行っており、より複雑なアプリケーション(またはグッドプラクティス)のための具体的なインフラストラクチャの実装に「苦労」しています。興味深いプロジェクト(https://github.com/csnover/dojo-boilerplate)と記事(http://www.sitepen.com/blog/2011/05/04/what-is-the-best- )を1つ見つけました。 way-to-start-a-dojo-project /)。これで、私の最初の問題は解決したと思います。私が間違っているなら、私を訂正してください。
i18nのチュートリアルには具体的な実装が欠けているように感じます。たとえば、ボイラープレートプロジェクトのダイアログボックスにi18nを追加したいと思います。
define([ 'dojo/_base/declare', 'dijit/Dialog' ], function (declare, Dialog) {
return declare(Dialog, {
title: 'Hello World',
content: 'Loaded successfully!'
});
});
ここで、私のプロジェクト階層は次のとおりです。
ご覧のとおり、アプリケーション用に独自のnlsフォルダーを作成し、さまざまな(lang-locale)「文字列」を保存します。次に、上記のダイアログコードのタイトルまたはコンテンツにロケールコンテンツを指定するにはどうすればよいですか。私は最近、Ruby on Rails(MVCの概念を使用)でi18nを実行しました。ビューに応じて、この特定のビュー用にローカリゼーション用のファイル(.yml)を作成する必要がありました。RoRとDojoは実際には同じものではありませんが、ウィジェットを実行するため(私のビューと比較できます)、各ウィジェットに独自のローカリゼーションが必要です...最初と2番目の2つのチュートリアルに出くわしました。たぶん、私はそれをすべて間違って読んでいます。
私は今このようなものを持っていますが、それは機能しません..私は何が欠けていますか?
dojo.requireLocalization("app", "dialog");
define([ 'dojo/_base/declare', 'dijit/i18n' 'dijit/Dialog' ], function (declare, Dialog) {
i18n: dojo.i18n.getLocalization("app", "dialog"),
return declare(Dialog, {
title: i18n.title,
content: i18n.content
});
});
ありがとうございました。
編集:
define([ 'dojo/_base/declare', 'dojo/i18n!app/nls/labels', 'dijit/Dialog' ], function (declare, labels, Dialog) {
return declare(Dialog, {
title: labels.title,
content: labels.content
});
});
エラーは発生していませんが、labels.titleが空です...?
EDIT(1):デフォルトのnlsフォルダーにルートを追加するのを忘れました。