You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Photo by midnightglory 多言語対応のサイトを作っていると問題になるのが、メッセージの切り替えです。PHPやRailsを使っている場合は、HTTP_ACCEPT_LANGUAGEを見てメッセージ生成を切り替えれば良いのですが、静的ファイルの場合は、そうは行きません。 そこで、今回はJavascriptだけでブラウザの言語を取得する方法を調べてみました。 ググっていると、ブラウザ依存ですが取得する方法が見つかったので、各ブラウザで検証した所、navigator.browserLanguage、navigator.language、navigator.userLanguageのいずれかで取得できることが分りました。 ただ、この値はブラウザのデフォルト言語環境のなので、HTTP_ACCEPT_LANGUAGEとは違う値が返ってきます。たとえば、日本語OSに英語版のFirefo
Globalize A JavaScript library for internationalization and localization that leverage the official Unicode CLDR JSON data. The library works both for the browser and as a Node.js module. About Globalize Why globalization? Why Globalize? Migrating from Globalize 0.x Where to use it? Where does the data come from? Only load and use what you need Browser support Getting started Requirements Installa
やり方だけは何度か聞いたことがあったけれど、意外と実際にやってみたことがない対応、国際化(私だけかもしれない)。 いろんな言語でそれぞれやり方あるけれど、JavaScriptで国際化って、あまり聞いたことがない気がします。 最近ちょっと調べてみる機会に恵まれたので、メモがてらまとめてみようかと思います。 国際化とは? マルチロケールとか、多言語対応とか、英語化とか、いろんな人がいろんな言葉で説明してくれているけれど、概念的には、「国際化」と「地域化」という二つの言葉でくくるのが正しいようです。 国際化は、UI上の表示やなんかを複数の文化(言語・度量衡含め)に対応できる仕組みを作ることで、地域化はその仕組みに乗っかって、その国や地域の言語や表記に翻訳・変換すること。 世の中の英語化対応と言われているものは、国際化→地域化の二つの作業のコンボを指していることが多いみたいですね。 ちなみに、国際
<!–:ja–>JavaScript 国際化プログラミング<!–:–><!–:en–>JavaScript Internationalization Programming<!–:–> JavaScriptはブラウザによって実行されるクライアント向けスクリプト言語ですが、その国際化の標準的な仕様はありません。 ここでは、一般的なポイント、および主要なライブラリを使った国際化について説明します。 ※jQueyを使わないJSONを使った国際化については、こちらを参照してください。 ロケール、書式、タイムゾーン JavaScriptの一般的なプログラミングでの国際化のポイントを以下に挙げます。 .NET Ajaxライブラリ
i18nのためのjqueryプラグインを使いました。 jQuery.i18n.properties まず、リソースファイルを準備します。 Messages.properties # This line is ignored by the plugin MSG_HELLO = Hello MSG_COMPLEX = Hey, {0} Messages_ja.properties # This line is ignored by the plugin MSG_HELLO = こんにちわ MSG_COMPLEX = やあ、{0} リソースファイルは /i18n/におきました。 HTMLのヘッダに、これをお忘れなく。 <script src="/js/jquery-1.5.1.min.js" type="text/javascript"></script> <script src="/js/jq
ぼんやりとJavaScriptでの多言語対応について。 実装方法は色々あって、メリット・デメリットがそれぞれあるので、思いつくままにさらさら書きます。 基本方針 メッセージ系は、定数としてオブジェクトにまとめておきます。 var messages = {}; message.loading = 'ロード中'; message.error = 'エラーが発生しました。'; 小文字だと分かりづらかったら、大文字にしておくというのも手。 var M = {}; M.LOADING = 'ロード中'; M.ERROR = 'エラーが発生しました。'; で、使うときに、 alert(messages.error); こんな感じで使います。 で、この messages オブジェクトに、どうやってそのときの言語を設定するのかという話。 1.サーバ側(動的に生成されるページのロジック)でメッセージを管理
hiWikiMini(http://d.hatena.ne.jp/dot_h2o2/20100407/p1)の機能拡張で悩んでいるのが、アプリケーションの多言語化。 通常のアプリやRails等で開発したWebアプリであればGettextを使うという手が思いつく。 ただ、HTML&Javascriptでシンプルを目指すhiWikiMiniでは、外部ライブラリの利用は難しそう。 そんな環境だけど調べてみると手はいくつかありそう gettext-js*1 localizer.js*2 自作(フルスクラッチ) せっかくなのでJavascriptだけで実現できる、簡易法を研究してみた。 <html> <script> // Define Table var messages = {}; messages.ja = {}; messages.en = {}; var messgae ={}; func
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く