11

私はxcode4に取り組んでおりSettings.bundle、プロジェクト用に作成しました。Root.plistxcode4 でファイルを編集できますが、ファイルを編集することはできませんRoot.strings。エディタにも表示されません。

ここに画像の説明を入力

en.lproj写真のようにフォルダを展開できません。

しかし、右クリックして外部エディターで開くと、次のようになります。

ここに画像の説明を入力

ダブルクリックすると、次のようになりRoot.stringsます。

ここに画像の説明を入力

新しいウィンドウベースのアプリケーション プロジェクトを作成し、新しい Settings.bundle を作成して、何度か試しました。私はいつもそれをローカライズできません。何か案は?

4

6 に答える 6

21

XCode 4.2 では、この手順に従う必要があります ( Xcode 3.2.2 の変更と Settings.bundle のローカライズのみ) 。

  1. Finder で Settings.bundle を表示します。
  2. それを右クリック (または Ctrl キーを押しながらクリック) し、[パッケージの内容を表示] を選択します。
  3. 目的の言語 (fr.lproj など) と呼ばれる新しいフォルダーを作成します。
  4. en.lproj フォルダーから Root.strings ファイルをコピーし、fr.lproj フォルダーに貼り付けます。
于 2011-11-22T00:53:19.070 に答える
13

編集: Apple は、もう一度、間違ったバグを修正しました。彼らの変更により、私の回避策は役に立たなくなりました。もう機能しません。Settings.bundle にファイルを追加することはできません。

うまくいきそうな方法はJaviさんの回答を参考にしてください。


醜い回避策を気に入っていただければ幸いです。

  1. サイドバーの設定バンドルを右クリックします。
  2. 選択するNew File
  3. リソース/文字列ファイルを選択
  4. Root.strings という名前を付け、settings.bundle 内に配置されていることを確認します。
  5. サイドバーでは、ファイルが 2 回表示されます。「ルート」セクションと Settings.bundle にあります。しかし、どちらも同じファイルを指しています。
  6. ルート セクションで Root.strings ファイルを選択します。(AFAIRはUTF16に変換する必要があります)
  7. ローカリゼーションを追加すると、xcode はファイルを置き換えるかどうかを尋ねます。はい、あなたはこれが欲しいです。
  8. 必要なだけローカライズを追加します。サイドバーのルート セクションでファイルを編集できるはずです。

これがあなたにとってうまくいくことを願っています、私にとってはそうです。

まだ行っていない場合は、bugreport.apple.comでバグを報告してください。


今すぐ新しいリリースをインストールします。これが修正されるかどうか見てみましょう。編集:修正されていません。


編集: 2 番目の質問を正しく理解できたかどうかはわかりません。ただし、バンドルの外に表示されるファイルにローカライズを追加すると、ローカライズ フォルダーが settings.bundle に追加されます。

ここに画像の説明を入力

にスペイン語のローカライズを追加した後Root.strings:

ここに画像の説明を入力

実際のファイルは foo.lproj フォルダーにありますが、xcode サイドバーには表示されません。ファイル システムの場所を確認すると、それらが設定バンドル内にあることがわかります。 ここに画像の説明を入力

昨日、英語とドイツ語のファイルをチェックしたところ、シミュレーターで正しく動作しました。サイドバーのレイアウトが間違っているだけだと思います。基になる場所とファイルの処理は正しいようです。

于 2011-03-26T23:18:59.057 に答える
7

私の場合、フォルダ「en.lproj」のファイルタイプ(ファイルインスペクタ内)を「デフォルト/ディレクトリ」から「ディレクトリ」に変更することができました。魔法。

于 2011-03-27T19:45:05.087 に答える
2

Root.strings で何かをしようとするのをあきらめました。代わりに、plist を各 *.lproj にコピーしたところ、うまくいきました。

これが英語と私の母国語への翻訳に関する限り、問題ありません。

ので、私は持っています:

Settings.bundle
|- en.lproj
|  |- Root.plist
|  `- Root.strings -- nothing useful there
|
`- zz.proj
   `- Root.plist

良いニュースは、Root.plist が utf8 であることです。

于 2011-11-19T19:44:51.773 に答える
2

Xcode 4 は、「Root.strings」をバイナリ プロパティ リストとして作成しています。そのため、正しく表示するには、ファイルの種類を「プロパティ リスト (バイナリ)」に設定する必要がありました。

于 2011-06-17T13:31:33.750 に答える
0

「プロパティ リスト (バイナリ)」である Root.strings ファイルが既にあり、それを適切なテキストベースの文字列ファイルに変換したい場合plutilは、ターミナル アプリケーションで使用して、たとえば JSON 形式に変換できます。 :

> plutil -convert json /path/to/Settings.bundle/en.lproj/Root.strings

NBplutil -h使用方法のヘルプを実行できます。

ただし、JSON 形式を変換する必要があります。

{"key1":"value1","key2":"value2"}

文字列ファイルのそれに:

"key1" = "value1";
"key2" = "value2";

これは、テキスト エディターでいくつかの検索/置換操作を行うだけで簡単に実行できます。

于 2013-05-15T21:44:44.633 に答える