2010-10-12 19 views
8

Situazione: Sto avviando XCode, creando un nuovo progetto per l'iPhone (visualizza applicazione) e caricando il file XIB nell'IB. Io manipolo la vista (aggiungendo un'etichetta con la stringa "ciao"), salva, costruisci, esegui l'applicazione, tutto va bene. Ora sto localizzando il XIB. Cosa faccio: clic destro sul file xib, aggiungendo la lingua desiderata e dopo, ho due file XIB nel mio XCode. Sembra assolutamente perfetto, proprio come è mostrato nel mio libro di programmazione per iPhone ("il grande ranch dei nerd"). Io cambio l'etichetta in entrambi gli XIB in un'altra stringa, diciamo "buongiorno!".Perché il mio file XIB non è localizzato (iPhone)?

Problema: Ora pulisco e ricostruisco l'applicazione, ma mostra sempre il vecchio file XIB, sempre la stringa "ciao". Anche quando cambio le impostazioni sull'iPhone in altre lingue, ottengo sempre la stringa "ciao" mostrata. Ma l'XIB con "ciao" non esiste nel mio xcode ovunque!

Qualche suggerimento per me? Mi fa impazzire - e spero solo che mi manchi una cosa semplice.

Sto usando XCode 3.2.3 e SDK 4.0

Grazie mille in anticipo!

risposta

7

ci sono aa pochi passi da seguire, tra cui:

  • ibtool --generate-stringhe file Example.strings en.lpoj/Example.xib
  • genstrings -o en.lproj * .m
  • tradurre il file di risorse
  • ibtool --strings file fr.lproj/Example.strings en.lproj/Example.xib -write fr.lproj/Example.xib
  • trascinando il file di risorse tradotti al progetto (in th e il posto giusto esatto).

Dai un'occhiata a questo iPhone localization tutorial per i passaggi completi + schermate.

+0

Grazie per il vostro aiuto. Sfortunatamente non ha risolto il problema. Ma: mi ha aiutato, individuando il problema ancora meglio. Anche quando cancello il file XIB nell'esempio sopra (usando xcode o la buona vecchia riga di comando) - il file XIB è ancora mostrato sul simulatore. Quindi la domanda è: come sbarazzarsi di XIB? Mi aspettavo un errore durante il tempo di compilazione o durante il tempo di esecuzione - ma niente. Ancora mostrando il vecchio XIB? Ma perché? Qualche suggerimento per me? – peace97

+3

Ok: dopo aver pensato per 2-5 minuti, il punto è il seguente: quando non * si elimina l'app * su iPhone-Simulator, il Simulatore sembra contenere il file XIB. Dopo aver eliminato l'applicazione, ottengo l'errore di runtime atteso – peace97

+4

Ok: è così: mi sono perso per eliminare l'app sul simulatore di iPhone. Dopo aver localizzato l'app ho dovuto cancellarlo sul simulatore dell'iPhone, piuttosto che fare una build pulita +, e tutto va bene. – peace97

6

Simulatore iPhone e il dispositivo contengono una cache dei NIB. è facile da cancellare sul simulatore poiché può essere cancellato, ma sto cercando di capire come cancellare quella cache sul dispositivo senza dover cancellare l'app.

+0

Non è possibile farlo, ma durante la ricostruzione dell'applicazione, si ha il tempo di rimuovere l'applicazione dal dispositivo/simulatore. Almeno, funziona per me, perché l'applicazione è abbastanza grande ... – 18446744073709551615

0

Nel mio caso, ho dovuto riavviare xcode oltre a cancellare l'app sul simulatore per farlo funzionare.

2

Prova questo:

  1. Controllare il parametro Localitations Se sono stati aggiunti alla scheda "Info" del file di progetto
  2. Window - Organizzatore - Ha scelto il vostro progetto - Cancellare i dati derivati ​​
  3. Progetto Clean
  4. Elimina l'applicazione dal dispositivo
  5. Esegui di nuovo.
0

Xcode ha un bug quando si tratta di stringhe localizzate in un file xib. Invece di sostituire le stringhe localizzate con le stringhe di Xib effettive, Xcode mantiene le stringhe originali del xib. Tutto quello che devi fare è convertire il file Stringhe localizzabili in un file di Interface Builder. Puoi farlo nella sezione Localization nelle proprietà del file del builder dell'interfaccia.

Spero che questo aiuti!

Problemi correlati