タグ付けされた質問 「internationalization」

国際化(i18n:「国際化」を「i」の後に18文字、「n」の順で表す)は、製品やサービスを計画および実装するプロセスであり、特定の現地の言語や文化に簡単に適合させることができます。ローカリゼーションと呼ばれます。国際化プロセスは、翻訳またはローカリゼーションの有効化と呼ばれることもあります。



16
ResourceBundleのリソースプロパティでUTF-8を使用する方法
Javaを使用してリソースプロパティでUTF-8を使用する必要がありますResourceBundle。プロパティファイルに直接テキストを入力すると、mojibakeと表示されます。 私のアプリはGoogle App Engineで実行されます。 誰かが私に例を挙げることができますか?私はこの仕事を得ることができません。

7
すべてのロケールとその短いコードのリスト?
私が書いているPHPアプリケーションのすべてのロケールとそれらの短いコードのリストを探しています。このデータにはプラットフォーム間で大きなばらつきがありますか? また、国際的なアプリケーションを開発している場合、英語の1つのバージョンのみをサポートできますか、それとも世界中で英語に大きな違いがありますか?

15
ローカリゼーションと国際化、違いは何ですか?
UIで複数の言語をサポートするデスクトップアプリケーションの準備について質問しました。 このトピックに関する既存の質問の検索では、「インターナショナル」という言葉を考えていたので、国際化タグを選択し、一致する質問をいくつか読みました。 最終的に私は、おそらくローカリゼーションとタグ付けされた質問の下を見るべきだと気づきました。しかし、これら2つの用語を混同するのは私だけではないようです。 では、ローカリゼーションと国際化の主な違いは何ですか? また、それらの間の明確な区別は本当に重要ですか?

13
ベストプラクティス多言語ウェブサイト
私はこの質問にかなりの数か月間苦労してきましたが、私は以前にすべての可能なオプションを検討する必要があった状況にありませんでした。今は、可能性を知り、自分の個人的な好みを作成して、今後のプロジェクトで使用する時がきたと感じています。 最初に私が探している状況をスケッチしましょう これからずっと使っているコンテンツ管理システムをアップグレード/再開発しようとしています。しかし、私は多言語がこのシステムの大きな改善だと感じています。以前はフレームワークを使用していませんでしたが、次のプロジェクトではLaraval4を使用します。Laravelは、PHPをコーディングするためのよりクリーンな方法の最良の選択のようです。Sidenote: Laraval4 should be no factor in your answer。プラットフォームやフレームワークに依存しない一般的な翻訳方法を探しています。 翻訳すべきもの 私が探しているシステムは、できるだけユーザーフレンドリーである必要があるため、翻訳の管理方法はCMS内にある必要があります。翻訳ファイルやhtml / php解析済みテンプレートを変更するためにFTP接続を開始する必要はないはずです。 さらに、おそらく追加のテーブルを作成する必要なしに、複数のデータベーステーブルを変換する最も簡単な方法を探しています。 何を思いついたの 私はすでに自分で物事を探して、読んで、試しています。私にはいくつかのオプションがあります。しかし、私はまだ自分が本当に求めているもののベストプラクティスの方法に到達したようには感じていません。現在、これは私が思いついたものですが、この方法には副作用もあります。 PHP解析済みテンプレート:テンプレートシステムはPHPで解析する必要があります。このようにして、テンプレートを開いて変更することなく、翻訳されたパラメーターをHTMLに挿入できます。その上、PHPで解析されたテンプレートを使用すると、言語ごとにサブフォルダーを作成する代わりに、Webサイト全体に対して1つのテンプレートを使用できます(以前に使用していた)。このターゲットに到達する方法は、Smarty、TemplatePower、Laravel's Blade、またはその他のテンプレートパーサーのいずれかです。私が言ったように、これは書かれた解決策に依存しないはずです。 データベース駆動:おそらく私はこれについて再度言及する必要はありません。しかし、ソリューションはデータベース主導である必要があります。CMSはオブジェクト指向およびMVCを目的としているため、文字列の論理データ構造について考える必要があります。私のテンプレートは構造化されているので:templates / Controller / View.phpこの構造はおそらく最も理にかなっています:Controller.View.parameter。データベーステーブルには、これらのフィールドとvalueフィールドが含まれます。テンプレート内では、次のような並べ替えメソッドを使用できecho __('Controller.View.welcome', array('name', 'Joshua'))、パラメータにはが含まれますWelcome, :name。したがって、結果は次のとおりWelcome, Joshuaです。:nameなどのパラメーターはエディターが理解しやすいので、これはこれを行うための良い方法のようです。 低データベース負荷:もちろん、これらの文字列が移動中にロードされている場合、上記のシステムはデータベース負荷の負荷を引き起こします。したがって、管理環境で編集/保存されるとすぐに言語ファイルを再レンダリングするキャッシュシステムが必要になります。ファイルが生成されるため、適切なファイルシステムレイアウトも必要です。私たちは一緒に行くことができますねlanguages/en_EN/Controller/View.phpかの.ini、どんなスーツあなたが最高。おそらく、.iniは、最終的にはさらに速く解析されます。これにはのデータが含まれているはずformat parameter=value; です。レンダリングされる各ビューには、独自の言語ファイルが存在する場合はそれを含めることができるため、これがこれを行うための最良の方法だと思います。次に、言語パラメーターをグローバルスコープではなく特定のビューにロードして、パラメーターが互いに上書きされないようにする必要があります。 データベーステーブルの翻訳:これは実際、私が最も心配していることです。ニュース/ページ/その他の翻訳を作成する方法を探しています。できるだけ早く。モジュールごとに2つのテーブル(たとえばNewsおよびNews_translations)を使用することもできますが、優れたシステムを実現するために多くの作業を行うように感じます。私はに基づいていて思いついたことのひとつdata versioning、私が書いたシステムは:1人のデータベーステーブル名がありTranslations、このテーブルはのユニークな組み合わせを持っているlanguage、tablenameとprimarykey。たとえば、en_En / News / 1(ID = 1の英語版のニュースアイテムを参照)。ただし、この方法には2つの大きな欠点があります。まず、このテーブルはデータベースに大量のデータがあるとかなり長くなる傾向があります。次に、この設定を使用してテーブルを検索するのは大変です。たとえば、アイテムのSEOスラッグを検索することは全文検索であり、かなり馬鹿げています。しかし、その一方で、すべてのテーブルで翻訳可能なコンテンツを非常に高速に作成する簡単な方法ですが、このプロが短所を強調しすぎているとは思いません。 フロントエンドの作業:また、フロントエンドについても検討する必要があります。もちろん、利用可能な言語をデータベースに保存し、必要な言語を(非)アクティブにします。このように、スクリプトはドロップダウンを生成して言語を選択でき、バックエンドはCMSを使用してどの翻訳を実行できるかを自動的に決定できます。ビューの言語ファイルを取得するとき、またはWebサイトのコンテンツアイテムの適切な翻訳を取得するときに、選択した言語(en_ENなど)が使用されます。 それで、彼らはそこにいます。これまでの私の考え。日付などのローカリゼーションオプションはまだ含まれていませんが、私のサーバーはPHP5.3.2 +をサポートしているため、http://devzone.zend.com/1500/internationalization-inで説明されているように、intl拡張機能を使用することをお勧めします。-php-53 / -しかし、これはその後の開発スタジアムで使用されます。現時点では、主な問題は、Webサイトのコンテンツの翻訳のベストプラクティスをどのように行うかです。 ここで説明したすべてのことに加えて、まだ決めていないことがまだあります。簡単な質問のように見えますが、実際には頭痛の種となっています。 URL変換?これをするべきかどうか?そしてどのように? つまり、このURLがある場合http://www.domain.com/about-us、英語がデフォルトの言語です。http://www.domain.com/over-ons言語としてオランダ語を選択した場合、このURLを翻訳する必要がありますか?または、簡単な道を進み、に表示されているページのコンテンツを変更するだけ/aboutです。最後のものは、同じURLの複数のバージョンを生成するため、有効なオプションではないように思われます。このコンテンツのインデックス作成は、正しく失敗します。 別のオプションはhttp://www.domain.com/nl/about-us代わりに使用しています。これにより、少なくともコンテンツごとに一意のURLが生成されます。また、別の言語に移動するのも簡単です。たとえばhttp://www.domain.com/en/about-us、提供されるURLは、Googleと人間の両方の訪問者にとって理解しやすくなります。このオプションを使用して、デフォルトの言語をどのように処理しますか?デフォルトの言語で、デフォルトで選択されている言語を削除する必要がありますか?リダイレクトようhttp://www.domain.com/en/about-usにhttp://www.domain.com/about-usCMSが一つだけの言語用のセットアップのときURLで、この言語識別を持ってする必要がないので、私の目には...これは、最適なソリューションです。 …

6
Chromeがページが別の言語であると誤って判断し、翻訳を提案するのはなぜですか?
新しいGoogle Chromeの自動翻訳機能は、いずれかのアプリケーション内の1ページで作動します。この特定のページに移動すると、Chromeはページがデンマーク語であり、翻訳を提案することを通知します。アプリの他のすべてのページと同様に、ページは英語です。この特定のページは、英語のラベルが付いた数十のフォームフィールドを持つ内部テストページです。このページがデンマーク語であるとChromeが判断する理由はわかりません。 この言語検出機能がどのように機能するか、およびChromeでページがデンマーク語であると思われる原因を特定する方法について誰かが洞察を持っていますか?


4
JavaScriptで国際化はどのように機能しますか?
JavaScriptで国際化を処理する方法を知りたいです。私はググったが、私は説得力のある答えを得ていません: JavaScriptは国際化をネイティブでサポートしていますか? JavaScriptのi18nとは何ですか? カレンダー、通貨、日付などの扱い方は? JavaScript内の国際化についてはすでに読みました。


6
React / Reduxと多言語(国際化)アプリ-アーキテクチャ
複数の言語とロケールで利用できるようにする必要があるアプリを作成しています。 私の質問は、純粋に技術的なものではなく、アーキテクチャと、人々がこの問題を解決するために実際に本番で使用しているパターンについてです。そのための「クックブック」はどこにも見つからなかったので、お気に入りのQ / A Webサイトに移動します:) ここに私の要件があります(それらは本当に「標準」です): ユーザーは言語を選択できます(簡単です) 言語を変更すると、インターフェースは自動的に新しく選択された言語に翻訳されます 現時点では、数値や日付などのフォーマットについてあまり心配していません。文字列を翻訳するだけの簡単な解決策が欲しいのですが ここに私が考えることができる可能な解決策があります: 各コンポーネントは個別に翻訳を処理します つまり、各コンポーネントには、翻訳された文字列と一緒に、たとえばen.json、fr.jsonなどの一連のファイルがあります。また、選択した言語に応じて値を読み取るのに役立つヘルパー関数。 プロ:Reactの哲学を尊重し、各コンポーネントは「スタンドアロン」です 短所:すべての翻訳をファイルに一元化することはできません(たとえば、誰かに新しい言語を追加させるため) 短所:すべての流血のコンポーネントとその子供に、現在の言語を小道具として渡す必要があります 各コンポーネントは、小道具を介して翻訳を受け取ります したがって、彼らは現在の言語を認識していません。たまたま現在の言語と一致する小道具として文字列のリストを取得します プロ:これらの文字列は「上から」来るため、どこかに集中させることができます 短所:各コンポーネントが翻訳システムに関連付けられているため、コンポーネントを再利用するだけではなく、毎回正しい文字列を指定する必要があります。 小道具を少しバイパスし、おそらくコンテキストの事を使用して現在の言語を伝えます プロ:それはほとんど透過的で、現在の言語や翻訳をプロップを介して常に渡す必要はありません 短所:使用するのが面倒に見える 他にアイデアがあれば、言ってください! どうやってやるの?

9
rails i18n-内部にリンクがあるテキストの翻訳
次のようなテキストをi18nにしたい: すでにサインアップしていますか?ログインする! テキストにリンクがあることに注意してください。この例では、それはgoogleを指しています-実際にはそれは私のアプリのものを指していlog_in_pathます。 私はこれを行う2つの方法を見つけましたが、どれも「正しく」見えません。 私が知っている最初の方法はこれを私のものにすることen.ymlです: log_in_message: "Already signed up? <a href='{{url}}'>Log in!</a>" そして私の見解では: <p> <%= t('log_in_message', :url => login_path) %> </p> これは機能しますが、<a href=...</a>一部を使用することen.ymlは私にはあまりきれいに見えません。 私が知っているもう1つのオプションは、ローカライズされたビューを使用することです- login.en.html.erbおよびlogin.es.html.erb。 これはまた、上記の1行だけが異なるため、正しくありません。残りのビュー(〜30行)はすべてのビューで繰り返されます。あまり乾燥しないでしょう。 「ローカライズされたパーシャル」を使用できると思いますが、それは面倒すぎるようです。私は、非常に多くの小さなビューファイルを持つよりも、最初のオプションを好むと思います。 だから私の質問は:これを実装するための「適切な」方法はありますか?

11
PythonでUnicode文字列をアルファベット順に並べ替える方法を教えてください。
Pythonはデフォルトでバイト値でソートします。これは、éがzおよびその他の同様に面白いものの後に来ることを意味します。Pythonでアルファベット順に並べ替える最良の方法は何ですか? このためのライブラリはありますか?何も見つかりませんでした。スウェーデン語ではåäöをzの後にソートする必要があるが、üはuなどでソートする必要があることを理解できるように、ソートには言語サポートが必要です。そのため、Unicodeサポートはほとんど要件です。 そのためのライブラリがない場合、これを行うための最良の方法は何ですか?文字から整数値へのマッピングを作成し、それを使って文字列を整数リストにマッピングしますか?

3
C#/ WinFormsで多言語アプリケーションを作成するためのベストプラクティス?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 これが当てはまる小さなプロジェクトに取り組む必要があるため、C#で複数の言語に適したアプリケーションを作成することを検討してきました。これを行うには、基本的に2つの方法があります。 フォームのLocalizableプロパティをtrueに設定し、Languageプロパティを設定して、すべてのラベルなどを入力すると、「完了」します。これで私が目にする主な欠点は、フォームの一部ではない他のものを複数の言語に対応させる方法です(ポップアップウィンドウ、ログファイル、ウィンドウなど)。 「Lang.en-us.resx」などのリソースファイルを作成し、「Lang.nl-nl.resx」などの言語ごとに1つ作成して、文字列で埋めます。IDEは自動的にクラスを生成するようですので、コードではLang.SomeTextを使用できます。これで私が目にする最大の欠点は、すべてのフォームですべてのラベルと他のキャプションをコードで自分で設定する必要があることです(そして、データバインディングがこれらのリソースで機能していないようです)。 ただし、これを行う方法は他にもあると思います。 それで、ベストプラクティスは何ですか?小さなアプリケーション(いくつかのフォーム、データベース接続など)に最も簡単なものは何ですか?また、大きなアプリケーションに最適なものは何ですか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.