Domanda

Sto lavorando su Xcode4 e ho creato un Settings.bundle per il mio progetto. Posso modificare il Root.plist file in xcode4 ma non è possibile modificare il Root.strings file. Non è nemmeno visualizzato nell'editor.

enter image description here

Non posso espandere il en.lproj cartella come vedi nella foto.

Ma quando lo faccio Fare clic con il tasto destro, aperto in editor esterno mi dà:

enter image description here

Doppio click Su Root.strings mi da:

enter image description here

L'ho provato più volte, creando un nuovo progetto di applicazione basato su finestre e creando un nuovo Impostazione. Non posso sempre localizzarlo. Qualche idea?

È stato utile?

Soluzione

Modifica: Apple ha risolto, ancora una volta, il bug sbagliato. Il loro cambiamento ha reso inutile la mia soluzione alternativa. Semplicemente non funziona più, non puoi aggiungere file a impostazioni.

Si prega di fare riferimento alla risposta di Javi Per un metodo che sembra funzionare.


Spero che ti piacciano brutte soluzioni alternative.

  1. Fare clic con il tasto destro sul pacchetto Impostazioni nella barra laterale.
  2. Selezionare New File
  3. Scegli il file delle risorse / stringhe
  4. Nominalo root.strings, assicurati che sia posizionato all'interno di impostazioni.
  5. Nella barra laterale il file sarà visibile due volte. Nella sezione "root" e nelle impostazioni. Ma entrambi indicano gli stessi file.
  6. Selezionare il file root.strings nella sezione root. (Afir devi convertirlo in UTF16)
  7. Aggiungi localizzazione, Xcode ti chiederà se si desidera sostituire il file. Sì, lo vuoi.
  8. Aggiungi tutte le localizzazioni che desideri. Dovresti essere in grado di modificare il file nella sezione root della barra laterale.

Spero che questo funzioni per te, per me lo fa.

E se non l'hai fatto, segnala il bug a bugreport.apple.com


Instarò la nuova versione ora, vediamo se questo è risolto. EDIT: non fisso.


EDIT: non so se ho capito correttamente la tua seconda domanda. Ma quando si aggiunge una localizzazione al file che appare al di fuori del pacchetto aggiunge una cartella di localizzazione alle impostazioni.

enter image description here

Dopo aver aggiunto la localizzazione spagnola a Root.strings:

enter image description here

Il file effettivo si trova nella cartella foo.lproj, non li mostra nella barra laterale Xcode. Se controlli la posizione nel file system vedrai che sono all'interno del pacchetto Impostazioni.enter image description here

Ieri ho controllato con un file inglese e tedesco e ha funzionato correttamente nel simulatore. Immagino sia solo un layout della barra laterale sbagliata. Le posizioni sottostanti e la gestione dei file sembrano corrette.

Altri suggerimenti

In Xcode 4.2 devi seguire questi passaggi (solo una modifica di Xcode 3.2.2 e localizzazione di impostazioni.)

  1. Rivela le tue impostazioni.
  2. Fare clic con il tasto destro (o CTRL-CLICK) su di esso e selezionare Mostra contenuto del pacchetto.
  3. Crea una nuova cartella chiamata come lingua desiderata (ad esempio, fr.lproj).
  4. Copia il file root.strings dalla cartella en.lproj e incolla nella cartella Fr.Lproj.

Per me ha funzionato per modificare il tipo di file (nell'ispettore del file) della cartella "en.lproj" da "default / directory" a "directory". Magia.

Xcode 4 sta creando "root.strings" come elenco di proprietà binarie. Quindi quello che dovevo fare è stato impostare il tipo di file su "Elenco delle proprietà (binario)" per essere visualizzato correttamente.

Ho appena smesso di provare a fare qualcosa con root.strings. Invece, ho appena copiato il plist in ciascuno *.lproj e ha funzionato!

Per quanto riguarda la traduzione in inglese e la mia lingua madre, nessun problema.

Quindi ho:

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

La buona notizia è che Root.Prist è UTF8.

Se hai già un file root.strings che è un "elenco di proprietà (binario)" e desideri convertirlo in un file di stringhe basato su testo adeguato, puoi utilizzare plutil nell'applicazione del terminale per convertirlo, ad esempio in formato JSON:

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

NB puoi correre plutil -h per l'aiuto dell'utilizzo.

Tuttavia, dovrai quindi convertire il formato JSON:

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

a quello di un file di stringhe:

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

Questo viene facilmente fatto con alcune operazioni di ricerca/sostituzione in un editor di testo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top