問題タブ [nslocalizedstring]
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.
objective-c - iOS アプリのローカライズが機能しない
シミュレーターでアプリを起動すると、ローカリゼーションが正常に機能します。
シミュレーターでは、Localizable.strings ファイルで定義した正しいテキストが表示されます。
ただし、デバイスでは、テキストの代わりにHEADのみを出力します。
問題はどこだ?何か案は?
iphone - NSLocalizedString()で「実際の」キーを使用するのは安全ですか?保証されたフォールバック言語はありますか?
私は多くの開発者がこのようにそれをしていることを知っています:彼らは英語で彼らのアプリを開発し始め、そしてNSLoclaizedString(@"Tap this to do that!", @"Telling what to do...")
単にの代わりに置き@"Tap this to do that!"
ます。
次に、genstrings
これらすべての文字列を抽出することにより、何らかの方法でLocalizable.stringsファイルを作成する実行を行います。厄介な部分:コードで使用される長いテキストが鍵になります。できます。ある日、コードにすばやくアクセスして英語の文字列を変更し、ローカリゼーションを忘れて、それがすべてのLocalizable.stringsファイルのキーとして機能するまで。
そのため、文字列と混同しない「実際の」キーを使用する傾向があります。簡単なテストのために、英語とフランス語にローカライズされたプロジェクトを作成しました。次に、シミュレータ言語をドイツ語に設定しました。なぜなら、ユーザーがのようなキーを見るとしたら、それはひどくひどいことになるからですTTTDT
。
そこで、英語とドイツ語だけを用意して、デモアプリを起動しました。そして、私が得たのは、EnglishLocalizable.stringsファイルからの英語のテキストでした。
結論: OS言語がアプリでカバーされていない場合、NSLocalizedStringは英語ファイルにフォールバックするようです。
質問:常にLocalizable.strings (English)
ファイルがあり、キーが適切にフォーマットされた値とともにファイル内にあると仮定します。NSLocalizedStringが失敗し、キーを直接表示する状況はありますか?
objective-c - iOSストーリーボードをローカライズする方法
いくつかのビューを備えたiPhoneストーリーボードがあります。たとえば、ナビゲーションアイテムのタイトルにはNews
、他の言語に翻訳する必要があるという名前が付けられています。
ストーリーボードに新しいローカリゼーションを追加すると、新しい言語用に現在のストーリーボードの複製が作成されました。ここでナビゲーションアイテムのタイトルを変更できますが、私にはあまり役に立ちません。ストーリーボードに100のビューが含まれていて、10の言語をサポートする必要がある場合はどうなりますか?元のストーリーボードで何かを変更する必要がある場合は、すべての言語で同じ変更を行う必要があります。それは非常に奇妙に思えます。これはどのような状況で役立ちますか?
代わりに何ができますか?英語のストーリーボードのみを用意し、ViewControllerの各要素を手動で翻訳する必要がありNSLocalizedString
ますか?
xcode - NSLocalizedString から変換された値を配列に挿入します
辞書の配列を含む plist があります。
例:
NSLocalizedString を使用して、ラベルが翻訳されます。
このコードでは、すべてを辞書に入れ、その後配列に入れます。
ただし、キーではなく、直接変換された値を配列に配置するにはどうすればよいですか?
ありがとうございます!
iphone - ローカライズ文字列ファイルのエンコード
アプリのローカライズを開始しようとしています。テストアプリを実行して、すべてが機能することを確認しましたが、幸いなことに機能します。文字列ファイルは iOS システムでは UTF16 エンコーディングである必要があると読みましたが、iPhone 4S でテストしたところ、UTF16 またはデフォルトの UTF8 で動作します。
UTF16を使用する必要があるかどうかを誰かが確認または拒否できますか?
ただし、展開ターゲットは 4.1 です。
どうもありがとう!
iphone - ローカリゼーションのためにデフォルトの英語を変更することはできますか?
私のアプリは英語、ドイツ語、イタリア語をサポートしています。フランスのインターフェース言語でロードアプリを使用する場合、アプリは英語のインターフェースになります。デフォルトの言語を変更することは可能ですか?ドイツ語をデフォルト言語にしたい。
iphone - iPhoneで特定の言い回しをローカライズする方法は?
iPhoneには、いくつかの言語のさまざまな論理ブロックに翻訳されるフレーズがいくつかあります。たとえば、英語では次のようになります。
フランス語ではどこになりますか
要素の数、要素のタイプ(この例ではラクダ)、場所が可変であることを考えると、これを解決する方法がよくわかりません。この例では、英語やその他の単語のように多重度をマークするために末尾に「S」を追加するだけでは不十分なため、意図的にラクダを選択しました。それがボトルだった場合、私たちは話していました:
誰かアイデアがありますか?X、S、またはその他の言語の多重度のマークを追加するかどうかを決定するために、文法システムを実装する必要があるとは思いません...
NSLocalizedStringは現在、フォームのNSStringWithFormat内で使用されて@"%@ %d %@ %@ %@"
おり、2番目と最後%@
は適切な言語データベースからオンザフライで構築され、最初と3番目%@
はローカリゼーション文字列ファイルから取得されていることを明確にする必要があります。また、@ rckoenesの回答を詳しく説明するために、彼が提案したことはすでに実装されていますが、説明したように、それは問題ではありません:Dに問題があります
iphone - 特定のローカリゼーションに従ってオンザフライで XIB を切り替える
私はこれらの方法を使用します
実行時 (ユーザーがこれらのメソッドを呼び出すボタンをタップしたとき) にアプリのローカリゼーションを強制的に変更すると、完全に機能しますが、これらのメソッドは XIB 全体を新しい言語に切り替えるのに十分ではありません (これは私の言語にあります)。ケース、アラビア語)、HomeViewController.xib
XCode のディレクトリとして開く名前の XIB が 1 つあるとします。これは、2 つのファイルのディレクトリです。HomeViewController.xib (English)
各 HomeViewController.xib (Arabic)
ファイルには、言語に応じて独自のレイアウトがあります (たとえば、アラビア語の xib には右から左へのコントロール layout があります。 .)、私はremoveFromSuperView
現在のコントローラーのすべてのコントロールを呼び出してからコントロールを呼び出そうとしましaddSubView
たが、何も変更されていません。アプリはまだ英語の XIB を表示しています。
その言語ボタンがタップされたときに、実行時にアプリで XIB を正しいローカライズされたものに変更するにはどうすればよいですか。
ps システム設定でシミュレーター全体のローカライズを変更すると、アプリは期待どおりに動作します。つまり、正しいローカライズされた XIB が表示されます。
cocoa - localizable.strings - コードから文字列を翻訳する
ココアアプリを設定する可能性はありNSString
ますNSLocalizedString
か?
手伝ってくれてありがとう !