Non c'è davvero una soluzione facile qui. I NIB devono essere disposti individualmente per ogni lingua. In una certa misura, ciò migliora l'interfaccia utente generale, poiché in realtà lingue diverse spesso richiedono layout diversi per apparire al meglio. Il russo e il tedesco sono lingue molto più "grandi" in ambito immobiliare rispetto all'inglese. I cinesi possono essere spesso molto più piccoli e un layout diverso sembra migliore con i caratteri cinesi. L'arabo e l'ebraico sono da destra a sinistra e potrebbero richiedere modifiche radicali al layout. Il layout automatizzato è semplice, ma ciò si ottiene variando i livelli di brutto in tutte le lingue. Quando viene data la scelta tra facile per lo sviluppatore e brutto contro difficile per lo sviluppatore e bello, Apple sceglie quasi sempre quest'ultimo. Detto questo, Apple non ha ancora reso il tutto più semplice che potevano.
Quindi la prima lezione qui è quella di mantenere i vostri NIB semplici. Questo è più facile su iPhone che su Mac perché iPhone non ha binding e le NIB per iPhone sono in genere più semplici. È inoltre possibile utilizzare l'iniezione di testo per i NIB che hanno una quantità di testo molto ridotta (come un titolo). "Iniezione di testo" è un modo elegante per dire "usa una presa per l'etichetta e impostala sul testo localizzato quando carichi la vista".
ibtool è in grado di estrarre le stringhe dai NIB e anche inserirle nuovamente, il che può essere utile. Ho usato iLocalize, che è utile per lavorare con i localizzatori di contratti, ma in realtà non aiuta il problema di cui stai parlando.
Ho provato a sbarazzarsi di NIB e ad usare semplicemente il codice, pensando che avrebbe reso le cose più semplici, ma in realtà non è stato così. È stato più facile definire ogni lingua nella NIB piuttosto che elaborare una logica di layout che risultasse valida in tutte le lingue (vedere il primo paragrafo). L'iniezione di testo era utile solo in una manciata di posti. Se riesci a dividere i tuoi NIB in quelli che devono essere localizzati e quelli che non lo fanno, può essere utile. Sull'iPhone, ho scoperto che meno della metà dei miei NIB aveva effettivamente testo o immagini localizzate al loro interno.
Ovviamente si dovrebbe leggere Internationalization Programming Topics, ma mi dispiace dire che non c'è davvero una risposta facile al tuo problema. Spedizione prodotti localizzati in 19 lingue, sento il tuo dolore.
fonte
2009-05-22 15:27:01