問題タブ [localization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
12 に答える
106721 参照

database-design - 多言語データベースのスキーマ

多言語ソフトウェアを開発しています。アプリケーションコードに関する限り、ローカライズ可能性は問題ではありません。言語固有のリソースを使用して、それらとうまく機能するあらゆる種類のツールを用意できます。

しかし、多言語データベーススキーマを定義するための最良のアプローチは何ですか?多数のテーブル(100以上)があり、各テーブルにローカライズ可能な複数の列を含めることができるとします(nvarchar列のほとんどはローカライズ可能である必要があります)。たとえば、テーブルの1つに製品情報が含まれている場合があります。

NAME列とDESCRIPTION列で多言語テキストをサポートするための3つのアプローチを考えることができます。

  1. 言語ごとに個別の列

    システムに新しい言語を追加するときは、次のように、翻訳されたテキストを保存するための追加の列を作成する必要があります。

    /li>
  2. 各言語の列を含む翻訳テーブル

    翻訳されたテキストを保存する代わりに、翻訳テーブルへの外部キーのみが保存されます。翻訳テーブルには、各言語の列が含まれています。

    /li>
  3. 各言語の行を含む翻訳テーブル

    翻訳されたテキストを保存する代わりに、翻訳テーブルへの外部キーのみが保存されます。翻訳テーブルにはキーのみが含まれ、別のテーブルには言語への各翻訳の行が含まれます。

    /li>

各ソリューションには長所と短所があります。これらのアプローチでの経験、推奨事項、および多言語データベーススキーマの設計について教えてください。

0 投票する
1 に答える
536 参照

asp.net - ローカライズされたファイルを見つける

私のasp.netアプリでは、ユーザーは(ボタンの)いくつかのローカライズされた画像をアップロードできます。たとえば、「send.gif」、「send.fr.gif」、「send.en-UK,gif」をアップロードします。等..

訪問者が自分のページにアクセスするとき、訪問者のロケールに基づいて適切なファイルを選択する必要があります。

ロケールに基づいて最適な画像を見つけるための API (または簡単な方法) はありますか?たとえば、訪問者がフランスからの場合、API は「send.fr.gif」を返します。訪問者がオーストラリアからの場合、API は「send.en.gif」などを返す...

ロジックは、基本的に ASP.NET が適切なローカライズされたリソース ファイルを選択するのと同じである必要があります。

ありがとう。

0 投票する
1 に答える
468 参照

java - ApachebeehiveとDataGridのローカライズデフォルトページャー

ApacheBeehiveとnetuiのデフォルトのポケットベルによって作成された文字列をローカライズしようとしています。

この出力の言語を翻訳したいと思います。

私の.jspコードは次のようになります

翻訳に使用する必要のあるキーはすでに見つかりましたが、ポケットベルが使用する必要のあるメッセージプロパティファイルを構成するにはどうすればよいですか?

0 投票する
2 に答える
2534 参照

c++ - ワイド文字列をブースト日付に変換する

ワイド文字列として保存されている数百万の日付をブースト日付に変換する必要があります

次のコードが機能します。ただし、これは恐ろしいコンパイラ警告を生成し、効率的ではないようです。

より良い方法はありますか?


より良い方法は、ファセットのコレクションである標準 C++ ライブラリlocaleを使用することです。ファセットとは、ストリーム オペレータが日付や時刻の表現などの特定の選択を処理できるようにするサービスです。それぞれが独自の側面で処理される、さまざまなことに関するすべての選択肢が、1 つのロケールにまとめられています。

このソリューションは、litb から指摘されました。litb は、本番コードでファセットを使用するのに十分な助けをしてくれて、コードをより簡潔かつ高速にしました。ありがとう。

ファセットを設計した Nathan Myers によるロケールとファセットに関する優れたチュートリアルがあります。彼はチュートリアルを読みやすくする軽いスタイルを持っていますが、これは高度な内容であり、最初に読んだ後に脳が痛む可能性があります. 今すぐそこに行くことをお勧めします。ワイド文字列をブースト日付に変換する実用性だけを求める人のために、この投稿の残りの部分では、それを機能させるために最低限必要なことについて説明します。


litb は、コンパイラの警告を削除する次の簡単なソリューションを最初に提供しました。(解決策は、私が受け入れる前に編集されました。)これは、ワイド文字を 1 つずつ変換して同じことを行うように見えますが、一時文字列をいじるのを避けるため、はるかに明確だと思います。コンパイラの警告がなくなったことを本当に気に入っています。


litb は、私がこれまで聞いたことのない「ファセット」の使用を提案しました。彼らは、ロケールが設定されているプロローグを犠牲にして、ループ内で信じられないほど簡潔なコードを生成して、仕事をしているようです。

これもより効率的であることが判明しました。

次の出力が生成されます。

OK、これは現在、製品コードに含まれており、回帰テストに合格しています。次のようになります。

これについて最後に 1 つ質問があります。ロケールにファセットを追加するには、ロケール コピー コンストラクターを 2 回呼び出す必要があるようです

add( facet* ) メソッドがないのはなぜですか? ( _Addfac() は複雑で、文書化されておらず、推奨されていません)

0 投票する
5 に答える
2602 参照

asp.net - ASP.NET での画像のローカライズ

数年前、グラフィック デザイナーにウェブサイトの刷新を依頼しました。彼の結果は素晴らしいように見えましたが、残念なことに、彼は Web ブラウザーでサポートされていない新しいフォントを導入しました。

最初は、「えっ!?!」と思っていました... 私たちのコンテンツのほとんどは動的であり、すべての画像を事前に作成する実際の方法がなかったからです。複数の言語の問題もありました (スペイン語が間近に迫っていることを知っていたため)。

とにかく、いくつかのクラスを作成して GDI+ 経由で画像を自動生成し、必要に応じてプログラムでキャッシュすることにしました。これにより、当初の問題のほとんどが解決されました。しかし、負荷が劇的に増加したため、UI サーバーに負荷がかかりました。

ここで質問です...動的GDI +画像のほとんどを標準のWebブラウザーフォントに置き換えようとしています。レンダリングされた GDI+ イメージの一部を保持して resx ファイルに入れることを考えていますが、それらのほとんどを asp:Labels を介して Tahoma または Arial フォントに置き換える予定です。

ローカライズされた画像ソリューションとして優れているのはどれですか?

  • resx への画像の埋め込み
  • 画像の URL のみを resx に追加する
  • 他の解決策

私の主な関心事は、UI サーバーでの処理を制限することです。その場合、実際に画像を resx に埋め込むよりも、画像の URL を resx に追加する方が良い解決策でしょうか?

0 投票する
6 に答える
874 参照

language-agnostic - ToUpper() の再実装

ToUpper() が存在しない場合、どのように記述しますか? i18n および L10n のボーナス ポイント

これによって引き起こされた好奇心: http://thedailywtf.com/Articles/The-Long-Way-toUpper.aspx

0 投票する
1 に答える
676 参照

vb6 - VB6 で GNU gettext を使用するにはどうすればよいですか?

私はいくつかのプライベート プロジェクトで gettext を使用してきましたが、現在は gettext を使用して Visual Basic 6 アプリケーションの文字列を翻訳したいと考えています。

GNU gettext パッケージをチェックしたところ、VB6 で動作させるには定型コードをかなり書かなければならないようで、上司がそれを許可しないのではないかと心配しています。

  • VB6 用のすぐに使えるパッケージはありますか? (dxgettext のようなものは夢です!)
  • 似たようなことをしたことがありますか?
  • それは可能ですか?
  • どこから始めればよいですか?
0 投票する
1 に答える
1455 参照

asp.net - asp.net、javascript、silverlight の共有ローカリゼーション?

ASP.NET + JavaScript + Silverlight をどのようにローカライズしますか?

asp.net ページ、ページ上の JavaScript、およびページ上の Silverlight オブジェクトに同じテキストを異なる言語で含めることができるようにしたいと考えています。

私は次の方法で試しましたが、実際に使用した経験はありません.それまたは代替案についてあなたの意見を聞きたいです:

1) クラス ライブラリ ( ) を作成し、いくつかの文字列 ( ) とローカライズされたバージョン ( ) をResourcesTest含むリソース ファイル ( ) を追加します。Phrases.resxHello='Hello'Phrases.da.resx: Hello='Hej'

2) 空の JavaScript ファイル ( ) を追加しますPhrasesHandler.js

3) AssemblyInfo.cs でこれを実行して、javascript/Silverlight でテキストを使用できるようにします。

p>

4) ASP.NET コード ビハインド ( ResourcesTest.Phrases.Hello) からリソースを参照するか、Web ページに埋め込まれた JavaScript リソースを含めます。

次に、javascript からテキストにアクセスするPhrases.Helloか (例: )、javascript を介して Silverlight からテキストにアクセスします ( HtmlPage.Window.Eval("Phrases.Hello"))。

この方法はかなり複雑で、そのようなシステムの取り扱いについて心配していますが、ASP.NET、javascript、および Silverlight 間でローカライズされた/多言語リソースを共有する他の方法は見つかりませんでした。

ありますか?ASP.NET + JavaScript + Silverlight をどのようにローカライズしますか?

0 投票する
2 に答える
959 参照

.net - Asp:TextBox と VNI-Times、ベトナム語のテキストの問題

ユーザーがベトナム語のテキストをテキスト ボックスに入力できるようにする必要があります。

私は VNI-Times を使用するように指示され、ベトナム語のテキストを含むサンプルの Word ドキュメントを提供しました。

サンプル ドキュメントのテキストをテキスト ボックスに貼り付けると、正しくエンコードされません。マシンとサーバーの両方にフォント (VNI-Times) をインストールし、ブラウザのエンコーディングを変更しようとしましたが、すべて役に立ちませんでした。この問題は、ブラウザだけでなくメモ帳にも発生します。

これまでのところ、WYSIWYG エディターをページに配置する 1 つの解決策を見つけましたが、asp:TextBox コントロールを使用したいと考えています。

テキストがユーザーによって送信されると、サーバーによって生成された画像として表示されますが、これらの画像も正しく生成されていません。

0 投票する
1 に答える
1742 参照

localization - Struts 2 の検証メッセージを翻訳するにはどうすればよいですか?

Struts 2 の使い方を学びたいので、見つけたチュートリアルに従って簡単なアプリケーションを作成しました。

ファイルを作成しましたが<MyActionClass>-validation.xml、検証メッセージを複数の言語に翻訳するにはどうすればよいでしょうか?

ローカライズされた .properties ファイルからメッセージを取得できますか、それとも他の種類の検証を使用する必要がありますか?