Xcode non riesce a generare il file di localizzazione xliff con errore localizzazione non è riuscito a leggere un file di stringhe. Si prega di controllare il registro di sistema per ulteriori dettagli. Qualcuno sa dove trovo questi registri? È Xcode 6.3.2 GM ma ho provato anche la versione 6.3.1. Con 6.3.1. l'errore è su un file specifico ma all'interno di quel file non è nulla di insolito. Inoltre ho provato a rimuovere quel file, ma sto ricevendo lo stesso errore anche se il file non è più lì. Qualcuno ha idea del perché?localizzazione Xcode 6 non è riuscito a leggere un file di stringhe
risposta
Finalmente, ho risolto il problema rimuovendo tutte le macro NSLocalizedString dal codice perché xliff exporter cerca il codice e in base ai risultati cerca file di stringhe. La cosa strana è che analizza anche i commenti, quindi semplicemente commentare le macro NSLocalizedString indesiderate non sarà di aiuto.
Che la scansione del testo commentato non sia poi così strana. Legge solo tutti i file per determinate corrispondenze regolari. La regex è completamente inconsapevole del "codice" o della logica dietro di esso. –
Finalmente! grazie ... non mi aspettavo affatto ... grazie ... così tanto tempo che ci ho dedicato ... Vorrei poter votare 3000 volte – Yitzchak
Does anyone know where do I find these logs?
Aperto Console
app. E cercare le "stringhe" system.log
ad esempio.
Does anyone idea why?
C'è un diversi problemi, che causano questo errore:
- vuoto
Localizable.strings
file.
Soluzione: Basta aggiungere un commento
/** no localizable strings **/
a questo file ed il problema è andato.
- Il problema 2-nd in simbolo di fuga:
\
Soluzione: Rimuoverlo e capire qualcosa con le caratteri speciali. E probabilmente il tuo processo di esportazione si completerà senza errori.
P.S.
- Still reale almeno per
Version 6.4 (6E35b)
- Related openradar bug-report
Il file vuoto era il colpevole per me. Aggiungendo quel commento e facendo di nuovo l'importazione, è stato riparato. – ckbhodge
Ho avuto lo stesso problema quando tenta di utilizzare NSLocalizedString
con la propria NSBundle
specificato. Ho risolto questo semplicemente ridefinendo la funzione NSLocalizedString
così:
public func NSLocalizedString(key: String, tableName: String? = nil, bundle: NSBundle = NSBundle.mainBundle(), value: String = "", comment: String) -> String
{
return yourBundleHere.localizedStringForKey(key, value: value, table: tableName)
}
Sostituire yourBundleHere
con NSBundle.mainBundle()
o quello che volete.
Ho avuto un problema simile. Controllare nel registro di sistema la voce "Xcode: [MT] DVTAssertions". (Applciations-> Utilità-> Console.app)
Ad esempio:
5/13/16 3:08:24.675 PM Xcode[15546]: [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-10188.1/IDEFoundation/Localization/IDELocalizationWork.m:355
Dettagli: Impossibile leggere il file stringhe "Controller/FindMyPhone/fr.lproj/TILMarkPhoneLostMessageViewController.stringhe", errore di fondo:
Commenti uscita parser:
{
"OGQ-Dm-sLB.text" = "Au secours, je suis perdu**U00A0**! Veuillez appeler mon propri\U00e9taire.";
"reH-FM-KQF.text" = "Envoyez un message \U00e0 la personne qui trouve votre t\U00e9l\U00e9phoneU00A0; celui-ci s\U2019affiche sur l\U2019\U00e9cran de verrouillage, accompagn\U00e9 de votre num\U00e9ro de t\U00e9l\U00e9phone. ";
}
non corrisponde:
{
"OGQ-Dm-sLB.text" = "Au secours, je suis perdu\U00a0! Veuillez appeler mon propri\U00e9taire.";
"reH-FM-KQF.text" = "Envoyez un message \U00e0 la personne qui trouve votre t\U00e9l\U00e9phone\U00a0; celui-ci s\U2019affiche sur l\U2019\U00e9cran de verrouillage, accompagn\U00e9 de votre num\U00e9ro de t\U00e9l\U00e9phone. ";
}
Oggetto: Metodo: -work Discussione: {numero = 1, name = principale }
Si prega di segnalare un errore al numero http://bugreport.apple.com con questo messaggio di avviso e qualsiasi informazione utile che è possibile fornire.
Come si può vedere nel mio caso il problema era correlato al carattere unicode "NO-BREAK SPACE" (U + 00A0). Quando esporti per la localizzazione, xcode si aspetta che il codice sia \\U00A0
, ma nel mio file di stringa è \U00A0
(altrimenti l'app mostra i caratteri invece di uno spazio ...). Mi sembra un bug in xcode. Se si desidera una soluzione rapida e sporca, direi cercare in tutto il progetto per \U00A0
e sostituirlo per \\U00A0
solo per l'esportazione (e una volta ottenuto xliff, annullare nuovamente tali modifiche).
registro di sistema:
Questo in realtà non risponde alla domanda. Se hai una domanda diversa, puoi richiederla facendo clic su [Invia domanda] (http://stackoverflow.com/questions/ask). Puoi anche [aggiungere una taglia] (http://stackoverflow.com/help/privileges/set-bounties) per attirare maggiormente l'attenzione su questa domanda una volta che hai abbastanza [reputazione] (http://stackoverflow.com/help/ che cosa è-la reputazione). - [Dalla recensione] (/ recensione/post di bassa qualità/12347964) –
@Wongzigii in realtà spiega come risolvere il problema ... quindi può essere considerato una soluzione (per me ha funzionato ...) – MatterGoal
Escaping la barra ha funzionato per me (quindi due barre, non tre: \\ U00a0). (Inoltre, risponde alla domanda come richiesto, ma questo non era il problema del richiedente, ma i sintomi sono gli stessi, quindi è la domanda che cercheranno gli utenti che hanno il problema di escape del carattere unicode.) – LoriHC
Ho lo stesso problema anche dopo l'aggiornamento a 6.3.2 (6D2105). Questo funzionava molto bene ... – leonard
FYI: Controlla questo https://openradar.appspot.com/21056545 – skywinder