В моей компании мне нужно локализовать нашу jni-библиотеку. Наше основное приложение написано на Java, и мы работаем с CEF3
(Я знаю, есть JCEF, но мне нужно решить проблему с CEF3)
Jnilib обрабатывает главное меню, как показано на рисунке
Мне нужно локализовать это меню на английский и немецкий языки.
Что я сделал:
- Добавлен Localizable.strings
- Добавлены строки на вкладке информации в настройках проекта.
- Добавлен Localizable.strings в ресурсы пакета копирования в целевых настройках
- Переименовал Localizable.strings и попробовал NSLocalizedStringFromTable
- Изменена кодировка Localizable.strings на UTF-16.
- И, конечно же, попробовали все другие «решения», размещенные на stackoverflow и других веб-страницах.
- Пробовал этот метод: Локализация статической библиотеки
Но каждый раз я получаю только ключ как значение. Если я распечатаю BundlePath, я получу следующий путь: (домашний каталог jdk)
*/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin*
Если я скопирую en.lproj и de.lproj в каталог bin (в целях тестирования), локализация по-прежнему не используется.
Я не знаю, что делать: /
Я работаю над MacOsX 10.10.3 с Xcode 6.3
Изменить: код обрезан, это тоже не работает.
NSString *path = @"pathtobundle/JNILIB.bundle";
bundle = [[NSBundle bundleWithPath:path] retain];
NSString *tmp = NSLocalizedStringFromTableInBundle(key, nil, bundle, nil);
jnilib.bundle структура:
/JNILIB.bundle
/en.lproj
/Localized.strings
/de.lproj
/Localized.strings