2012-11-30 11 views
5

Ho aggiunto diverse localizzazioni in un progetto OSX per Mac App Store, ho inviato l'app, ma è stato riconosciuto solo l'inglese (Localizzazioni: ("inglese"), tratto da ITC Dettagli binari). Il prodotto è in diretta su iTunes, dove l'inglese è l'unica lingua visualizzata.Localizzazioni in CFBundleLocalizations non riconosciute da iTunesConnect (OSX)

Le stringhe localizzate vengono gestite utilizzando un sistema personalizzato, quindi non sono necessarie cartelle aggiuntive come English.lproj. Al fine di localizzare l'applicazione, ho appena aggiunto tutti identificatori di lingua all'interno Info.plist del progetto, sotto le CFBundleLocalizations chiave, come suggerisce Apple https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPInternational/Articles/ChoosingLocalizations.html

Un'applicazione può comunicare al sistema che supporta le localizzazioni aggiuntive attraverso la sua elenco delle proprietà delle informazioni (file Info.plist). Per specificare le localizzazioni non incluse nelle directory .lproj del pacchetto, aggiungere la chiave CFBundleLocalizations a questo file. Il valore per la chiave è un array di stringhe, ciascuna delle quali contiene un designatore linguaggio ISO come descritto nel

La parte del file plist che designa localizzazioni è “Linguaggio e Locale Denominazioni.”:

<key>CFBundleLocalizations</key> 
<array> 
    <string>en</string> 
    <string>de</string> 
    <string>fr</string> 
    <string>it</string> 
    <string>es</string> 
    <string>pt</string> 
    <string>nl</string> 
    <string>se</string> 
</array> 

Ho usato lo stesso identico metodo su 2 app iOS in passato, ed entrambi funzionavano bene. Non capisco perché questa volta abbiamo un comportamento diverso. qualche idea?

Grazie.

risposta

4

Ho finalmente capito.

Nella mia interrogazione avevo dichiarato:

Le stringhe localizzate sono gestite tramite un sistema personalizzato, quindi non abbiamo bisogno di extra, come le cartelle Italian.lproj.

Si scopre che questo è esattamente come ho risolto questo. Sono andato alla scheda Progetto> Informazioni, in Localizzazioni e ho aggiunto una voce per ogni lingua supportata dall'app. Ciò ha creato una cartella per ciascuna, ad es. es.lproj, fr.lproj ecc ho presentato l'applicazione e in iTunesConnect ho visto che le localizzazioni sono stati riconosciuti:

Localizzazioni: ("de", "inglese", "es", "fr", " it "," nl "," pt "," sv ")

L'aggiornamento non è ancora terminato, ma credo che sarà ok.

Ho ricontrollato una vecchia app iOS che conteneva 3 localizzazioni correttamente riconosciute. In quella app non avevo creato nessuna cartella .lproj in più con la procedura sopra indicata. Tutto ciò che avevo fatto era includere gli identificatori di localizzazione nel file plist, sotto CFBundleLocalizations. Non so se ci sia qualcosa di intrinsecamente diverso tra le app iOS e OSX a questo riguardo. Se qualcuno ha commenti su questo, sarei felice di sapere perché quello che ho fatto qui in realtà ha risolto il problema.

+0

Mi hai appena reso un uomo molto felice !!! Avevo i file che vengono aggiunti automaticamente ma che utilizzavano JSON per leggere nelle lingue in base alle impostazioni di localizzazione. Stavano lavorando sporadicamente. Aggiungendo questi al plist li ha fatti funzionare! GRAZIE. Per quanto riguarda ciò che effettivamente lo ha risolto, penso che renderli disponibili nell'ambiente sia il trucco, in combinazione con le cartelle. –

1

Anche a me è successo, ma poiché appirater aveva tutte le cartelle di lproj, non ho capito perché tutte le lingue non compaiono nella descrizione di iTunes.

Si scopre che anche se si visualizzano tutte le cartelle lproj nel proprio navigatore di progetto, non sono incluse nel pacchetto A MENO CHE non si aggiungano le lingue effettivamente supportate in Progetto -> Informazioni.

Problemi correlati