У нас тут несколько проблем.Во-первых, когда вы делаете NSLocalizedString("Hello World", comment: "")
, на самом деле происходит попытка извлечь локализованную строку с ключом Hello World
, и поскольку XCode не может найти этот ключ, он возвращает сам ключ, который вы установили для метки.Так что, для лучшей практики, рассмотрите возможность использования ключа, который не содержит пробелов на нем.Может быть, что-то вроде hello-world-label
.Тогда это будет:
NSLocalizedString("hello-world-label", comment: "")
После экспорта для локализации будет сгенерировано следующее:
<trans-unit id="hello-world-label">
<source>hello-world-label</source>
<note>No comment provided by engineer.</note>
</trans-unit>
И теперь вам нужно добавить тег <target>
, чтобы указать фактический перевод,Поэтому:
<trans-unit id="hello-world-label">
<source>hello-world-label</source>
<target>Hola Mundo</target>
<note>No comment provided by engineer.</note>
</trans-unit>
Затем просто импортируйте обратно локализации, и все будет в порядке.
РЕДАКТИРОВАТЬ
После этого, Localizable.strings
файл должен был быть сгенерирован.Нажмите на него и посмотрите на File Inspector
на правой стороне Xcode в разделе Localization
.Вы убедитесь, что файл локализован только для Spanish
.Итак, продолжайте и установите флажок English
.Затем ваш Localizable.strings
будет доступен для редактирования на английском и испанском языках, как вы можете видеть на рисунке ниже:
Теперь вы редактируете английскийверсия этого файла для использования обоих языков в вашем приложении.