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

ローカリゼーションとは、製品またはサービスを特定の言語、文化、および望ましいローカルの「ルックアンドフィール」に適合させるプロセスです。

5
一般的にどちらを使用するのが最善ですか— StringComparison.OrdinalIgnoreCaseまたはStringComparison.InvariantCultureIgnoreCase?
私はこのようないくつかのコードを持っています: If key.Equals("search", StringComparison.OrdinalIgnoreCase) Then DoSomething() End If 私はその事件を気にしません。私が使用する必要がありますOrdinalIgnoreCase、InvariantCultureIgnoreCaseまたはCurrentCultureIgnoreCase?

6
リソースのDisplayName属性?
ローカライズされたアプリケーションがありDisplayName、Resourceから特定のモデルプロパティを設定できるかどうか疑問に思っています。 私はこのようなことをしたいと思います: public class MyModel { [Required] [DisplayName(Resources.Resources.labelForName)] public string name{ get; set; } } しかし、コンパイラが言うように、私はそれをすることができません:「属性引数は、定数式、typeof式、または属性パラメーター型の配列作成式でなければなりません」:( 回避策はありますか?ラベルを手動で出力していますが、バリデーターの出力にこれらが必要です!


13
Xcode 9-「固定幅制約によりクリッピングが発生する可能性があります」およびその他のローカリゼーション警告
新しいXcodeをダウンロードしましたが、Interface Builderで次のような警告に関する大量の問題が発生しています。 固定幅の制約によりクリッピングが発生することがある 次のようになります。 私はいくつかの言語のローカライズを行っていますが、別の言語ではラベルのサイズが変わる可能性があるという警告を理解していますが、私のアプリにはこの問題はありません。昨日Xcode 8で実行してテストしましたが、問題ありませんでした。無意味な新しい制約を追加するために何時間も費やしたくありません。 提案された解決策はありますか?

6
文字列比較でアクセント付き文字を無視する
C#で2つの文字列を比較し、アクセント付きの文字をアクセントなしの文字と同じように扱う必要があります。例えば: string s1 = "hello"; string s2 = "héllo"; s1.Equals(s2, StringComparison.InvariantCultureIgnoreCase); s1.Equals(s2, StringComparison.OrdinalIgnoreCase); これら2つの文字列は同じである必要がありますが(私のアプリケーションに関する限り)、これらのステートメントは両方ともfalseと評価されます。これを行う方法はC#にありますか?
141 c#  string  localization 

9
NSLocalizedStringを使用したベストプラクティス
私は(他のすべてと同様に)NSLocalizedStringアプリのローカライズに使用しています。 残念ながら、いくつかの「欠点」があります(必ずしもNSLocalizedString自体の障害ではありません)。 Xcodeの文字列のオートコンプリートはありません。これにより、エラーが発生しやすくなるだけでなく、作業が面倒になります。 同等の文字列がすでに存在することを知らなかっただけで、文字列を再定義してしまう可能性があります(つまり、「パスワードを入力してください」対「最初にパスワードを入力してください」)。 オートコンプリートの問題と同様に、コメント文字列を「記憶」/コピーして貼り付ける必要があります。そうしないgenstringと、1つの文字列に複数のコメントが表示されます。 genstring一部の文字列をローカライズした後で使用する場合は、古いローカライズを失わないように注意する必要があります。 同じ文字列がプロジェクト全体に散らばっています。たとえば、NSLocalizedString(@"Abort", @"Cancel action")どこでも使用している場合NSLocalizedString(@"Cancel", @"Cancel action")、コードの整合性を高めるために、コードレビューで文字列の名前を変更するように求められます。 私が行うこと(そして、SOでのいくつかの検索の後に、多くの人がこれを行うと思った)は、すべてのローカライズコードstrings.hを含む個別のファイルを用意すること#defineです。例えば // In strings.h #define NSLS_COMMON_CANCEL NSLocalizedString(@"Cancel", nil) // Somewhere else NSLog(@"%@", NSLS_COMMON_CANCEL); これは基本的に、コード補完、変数名を変更するための単一の場所(したがってgenstringは不要)、および自動リファクタリングのための一意のキーワードを提供します。ただし、これは、#define本質的に構造化されていない(つまり、LocString.Common.Cancelなどの)ステートメントの集合全体を犠牲にすることになります。 ですから、これはいくらかうまく機能しますが、あなたのプロジェクトでどのようにそれを行うのかと思っていました。NSLocalizedStringの使用を簡略化する他のアプローチはありますか?それをカプセル化するフレームワークさえあるのでしょうか?

10
不正な日付形式のMVC DateTimeバインディング
Asp.net-MVCでは、DateTimeオブジェクトの暗黙的なバインディングが可能になりました。私は次のように行動します public ActionResult DoSomething(DateTime startDate) { ... } これは、ajax呼び出しからの文字列をDateTimeに正常に変換します。ただし、日付形式はdd / MM / yyyyを使用しています。MVCはMM / dd / yyyyに変換しています。たとえば、文字列「09/02/2009」を含むアクションの呼び出しを送信すると、DateTimeは「02/09/2009 00:00:00」、またはローカル設定では9月2日になります。 日付形式のために自分のモデルバインダーをロールバックしたくありません。しかし、MVCがこれを行うことができる場合は、文字列を受け入れるようにアクションを変更してからDateTime.Parseを使用する必要がないようです。 DateTimeのデフォルトモデルバインダーで使用される日付形式を変更する方法はありますか?とにかく、デフォルトのモデルバインダーがローカリゼーション設定を使用するべきではありませんか?

3
文字列とラベルのローカライズとグローバリゼーションのベストプラクティス[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 この質問を改善する 私は20人以上の開発者がいるチームのメンバーです。各開発者は個別のモジュール(10モジュールに近いもの)で作業します。各モジュールには少なくとも50のCRUDフォームがある可能性があります。つまり、現在、500近くの追加ボタン、保存ボタン、編集ボタンなどがあります。 ただし、アプリケーションをグローバル化したいので、アプリケーション内のテキストを翻訳できる必要があります。たとえば、フランス語のユーザーにとっては、どこでも「追加」という単語が重要になります。 これまでに行ったことは、UIまたはプレゼンテーションレイヤーのビューごとに、翻訳のキーと値のペアのディクショナリがあることです。次に、ビューのレンダリング中に、この辞書を使用して必要なテキストと文字列を翻訳します。ただし、このアプローチでは、500の辞書に500 近くの追加ができるようになりました。これは、DRYプリンシパルに違反したことを意味します。 一方、addを1か所に配置するなど、共通の文字列を集中化し、開発者にそれをどこでも使用するように依頼すると、集中化された辞書で文字列がすでに定義されているかどうかわからないという問題が発生します。 他の1つのオプションは、翻訳辞書を持たず、Google翻訳、Bingトランスレータなどのオンライン翻訳サービスを使用することです。 私たちが遭遇したもう1つの問題は、プロジェクトを予定どおりに納品するというストレスの下にいる一部の開発者が翻訳キーを思い出せないことです。たとえば、追加ボタンのテキストの場合、開発者はaddを使用し、別の開発者はnewを使用しています。 アプリケーションの文字列リソースのグローバリゼーションとローカリゼーションのベストプラクティス、または最もよく知られている方法は何ですか?

3
NSLocalizedString()の2番目のパラメーターは何ですか?
次の*commentパラメータは何ですか? NSString *NSLocalizedString(NSString *key, NSString *comment) 私がこれをすると: NSLocalizedString(@"Hello_World_Key", @"Hello World") Localizable.strings(英語とスペイン語)の2つのバージョンがあり、それぞれにエントリが必要ですか。 English.lproj/Localization.strings: @"Hello_World_Key" = @"Hello World"; Spanish.lproj/Localization.strings: @"Hello_World_Key" = @"Hola Mundo"; 英語のものは冗長ではありませんか?

9
ASP.NET MVCアプリケーションをローカライズする方法
ASP.NET MVCアプリケーションをローカライズするためのベストプラクティスは何ですか? 2つの状況について説明します。 複数の言語を処理するIISでの1つのアプリケーション展開 1つの言語/アプリケーションのデプロイメント。 最初の状況では、〜/ View / EN、〜/ View / FI、〜/ View / SWE、または何か別のビューベースのものを使用する必要がありますか? 2番目のケースはどうでしょうか。Web.configを介したアプリケーションベースの構成だけで、これらの異なる言語を異なるURLにポイントしますか?

12
jQuery UI Datepickerをローカライズするにはどうすればよいですか?
ローカライズされたドロップダウンカレンダーが本当に必要です。英語のカレンダーは、ノルウェーのウェブサイトでは卓越性を正確に伝えていません;-) 私はjQuery DatePickerを実験しましたが、彼らのウェブサイトはローカライズできると言っていますが、それはうまくいかないようです。 私はASPNET.MVCを使用していて、本当に1つのJavaScriptライブラリに固執したいと思っています。この場合はjQueryです。 ajaxツールキットカレンダーも、ノルウェー語の名前が表示される場合にのみ使用できます。 アップデート:すごい!言語ファイルが不足しているようですが、それほど細かいことではありません:-)

10
DisplayNameAttributeのローカライズ
PropertyGridに表示されるプロパティ名をローカライズする方法を探しています。プロパティの名前は、DisplayNameAttribute属性を使用して「オーバーライド」できます。残念ながら、属性には非定数式を含めることはできません。そのため、次のような強く型付けされたリソースを使用できません。 class Foo { [DisplayAttribute(Resources.MyPropertyNameLocalized)] // do not compile string MyProperty {get; set;} } 私は周りを見回して、リソースを使用できるようにDisplayNameAttributeから継承するいくつかの提案を見つけました。私は次のようなコードになるでしょう: class Foo { [MyLocalizedDisplayAttribute("MyPropertyNameLocalized")] // not strongly typed string MyProperty {get; set;} } ただし、強く型付けされたリソースの利点は失われますが、これは間違いなく良いことではありません。次に、DisplayNameResourceAttributeに遭遇しました。これは、私が探しているものかもしれません。しかし、それはMicrosoft.VisualStudio.Modeling.Design名前空間にあるはずであり、この名前空間に追加するはずの参照を見つけることができません。 DisplayNameのローカリゼーションをより簡単に実現する簡単な方法があるかどうかは誰でも知っていますか?またはMicrosoftがVisual Studioに使用しているように見えるものを使用する方法がある場合はどうなりますか?

10
WPFでのStringFormatローカリゼーションの問題
WPF 3.5SP1では、DataBindingsで最後の機能StringFormatを使用します。 <TextBlock Text="{Binding Path=Model.SelectedNoteBook.OriginalDate, StringFormat='f'}" FontSize="20" TextTrimming="CharacterEllipsis" /> 私が直面している問題は、日付が常に英語でフォーマットされていることです...私のシステムはフランス語ですが?日付をシステム日付に強制するにはどうすればよいですか?

25
ユーザーメッセージの複数
多くの場合、ユーザーに表示するメッセージを生成するとき、メッセージには、お客様に知らせたいいくつかの情報が含まれます。 例を挙げましょう。顧客は1以上の数のアイテムを選択し、[削除]をクリックしました。ここで、お客様に確認メッセージを表示したいと思います。選択したアイテムの数について言及します。アイテムの束を選択し、1つだけを削除したい場合に[削除]をクリックすることで、間違いを最小限に抑えることができます。それら。 1つの方法は、次のような一般的なメッセージを作成することです。 int noofitemsselected = SomeFunction(); string message = "You have selected " + noofitemsselected + " item(s). Are you sure you want to delete it/them?"; ここでの「問題」はがnoofitemselected1 の場合で、itemsとそれらの代わりにitemとそれを書く必要があります。 私の通常の解決策はこのようなものになります int noofitemsselected = SomeFunction(); string message = "You have selected " + noofitemsselected + " " + (noofitemsselected==1?"item" : "items") …

6
ユーザーが言語を選択したときにアプリの言語を変更するにはどうすればよいですか?
アプリでスペイン語、ポルトガル語、英語の3つの言語をサポートする必要があります。アプリで言語を選択するオプションを提供します。 1)3つの描画可能なフォルダーdrawable-es、drawable-pt、drawable。 2)言語に従って3つの値のフォルダーvalues-es、values-pt、values.Change String.xml値。 言語を選択するためのimageViewがあります。クリックすると、英語、スペイン語、ポルトガル語のオプションで構成されるメニューが開きます。 このコードによるオプション選択でアプリ内のロケールを設定しました public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.en: Locale locale = new Locale("en"); Locale.setDefault(locale); Configuration config = new Configuration(); config.locale = locale; getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); Toast.makeText(this, "Locale in English !", Toast.LENGTH_LONG).show(); break; case R.id.pt: Locale locale2 = new Locale("pt"); Locale.setDefault(locale2); Configuration config2 = …

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