Можно ли добиться локализации строк внутри статически связанной библиотеки?

Я работаю над созданием SDK, который будет построен как статически связанная библиотека, которую сторонние приложения могут затем добавлять в свои приложения. Внутри этого SDK я искал возможность выполнить некоторую «локализацию». По сути, я хотел бы, чтобы код в моем SDK имел доступ к некоторым файлам «.string» для выполнения некоторых функций поиска строк и языкового перевода. Затем я мог бы распространить эти строки наружу для реализации уровней приложения через мои открытые API. Это вообще возможно? Я думал, что это так, но теперь, когда я действительно пытался, я серьезно сомневаюсь.


person user3696003    schedule 01.06.2014    source источник
comment
К вашему сведению, если вы действительно ориентируетесь на iOS, приложения iOS не поддерживают сторонние фреймворки и поддерживают только статически связанные библиотеки.   -  person BergQuester    schedule 01.06.2014
comment
Из документации Apple: вы можете создавать свои собственные фреймворки для OS X, но сторонние фреймворки не разрешены в iOS. developer.apple.com/library/ios/ документация / общие /   -  person BergQuester    schedule 01.06.2014


Ответы (1)


Вы можете создать специальный API, чтобы локализованные строки передавались в статическую библиотеку. Один из способов добиться этого - определить предопределенную пару «ключ-значение» для всех строк библиотеки и попросить конечного пользователя предоставить локализованные файлы, если требуется поддержка нового языка.

person Naveen Prasad R    schedule 01.06.2014
comment
Не могли бы вы подробнее рассказать об этом? Я немного смущен вашим ответом ... Я новичок в программировании iOS, поэтому, пожалуйста, не расстраивайтесь, просто действительно ищу некоторую помощь, я пытался решить эту проблему весь день. - person user3696003; 01.06.2014
comment
Статическая библиотека также копируется в комплект вашего приложения. Вы можете передать строку в статическую библиотеку так же, как вы локализуете другие строки. Если вы готовы предоставить ключи локализации, попросите конечного пользователя добавить файл локализации при использовании библиотеки. - person Naveen Prasad R; 01.06.2014
comment
Я не хочу, чтобы какой-либо конечный пользователь предоставлял строковые файлы, я хочу, чтобы файлы localized.string находились у нас дома. Просто интересно, как мой код в моей статически связанной библиотеке может получить доступ к этим внутренним ресурсам ... - person user3696003; 01.06.2014
comment
Вы можете иметь разные файлы ресурсов для разных языков и загружать файл в зависимости от языка. Встроенный файл ресурсов в вашу библиотеку. - person Naveen Prasad R; 01.06.2014