Pergunta

Meu arquivo localizável.strings foi corrompido e eu não sei como restaurá -lo.

Se eu o abrir como um arquivo de texto sem formatação, ele começa com caracteres estranhos que não posso copiar aqui.

Se eu deixar o arquivo ser o aplicativo criado. Se eu fizer alguma alteração, os valores não são interpretados corretamente ou recebo um erro no horário de compilação.

Localizable.strings: Conversion of string failed. The string is empty.
Command /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings failed with exit code 1

Eu suspeito que esse seja um problema de codificação, mas não sei como aconteceu (talvez o SVN seja o culpado?) Nem como resolvê -lo. Quaisquer dicas serão muito mais apreciadas.

Foi útil?

Solução

Tenho problemas com o mesmo arquivo que parecem muito semelhantes aos seus. O que acontece para mim é que o Xcode não conhece a formação de arquivo correta. Costumo entender isso ao reorganizar o projeto e removo e re-adquiri esse arquivo para o projeto Xcode. Quando eu adicionei o arquivo, sua codificação é definida para algo como o Western Roman, que parece não conseguir renderizar nada além do ASCII.

Aqui está o que eu faço para resolver o problema:

  • No Xcode, selecione o arquivo localizable.stings no painel Grupos e Arquivos.

  • Faça uma informação Get nesse arquivo.

  • No painel de informações, selecione a guia Geral.

  • Nessa guia, vá para o arquivo que codifica e altere seu valor.

O último passo é onde está o truque, pois agora você precisa adivinhar a codificação certa. Acho que para a maioria dos idiomas europeus que "Unicode (UTF-8)" trabalha. E para os idiomas asiáticos, acho que "Unicode (UTF-16/32)" são os que tentam.

Outras dicas

Acabei de ter esse erro porque esqueci um semicolon. Demorei um pouco para descobrir. Parece um erro realmente ambíguo do compilador, mas a correção foi simples.

Certifique-se de que, nas informações de get-get, que o UTF-16 esteja selecionado. Se estiver definido como nenhum ou UTF-8 como codificação, você precisará alterá-lo. Se seus personagens tiverem espaços entre eles, você optar por "reinterpretar" o arquivo como UTF-16. Se houver caracteres estranhos no arquivo, você precisará removê -los.

Executar o problema do UTF-8, às vezes você ainda precisa verificar o conteúdo, caso haja alguns problemas de sintaxe.

Use a seguinte expressão regular para verificar sua linha de texto por linha, se houver alguma linha não correspondida, deve haver um problema.

"(.+?)"="(.+?)";

Você pode usar o plutil ferramenta de linha de comando. Sem opções ou com o -lint Opção, ele verifica a sintaxe do arquivo fornecido como argumento. Ele lhe dirá mais precisamente onde está o erro.

Isso acontece comigo quando há uma cotação ausente ou algo que não está certo com o arquivo. Geralmente, como meus arquivos de idioma são feitos por outro membro da equipe, ele tende a esquecer uma cotação ou algo assim. Normalmente, o Xcode mostra um erro nessa linha, às vezes ele não e apenas lança o erro de "dados corrompidos".

Verifique duas vezes se todas as suas cordas estão devidamente fechadas em cotações

Abra o arquivo no Xcode.

Clique com o botão direito do mouse no Project Navigator.

Selecione Aberto como -> Lista de propriedades ASCII

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top