pystring - это небольшая библиотека, которая реализует набор строковых функций Python, включая метод split:
#include
#include
#include "pystring.h"
std::vector chunks;
pystring::split("this string", chunks);
// also can specify a separator
pystring::split("this-string", chunks, "-");
Одно из решений - создать несколько локализованных файлов пера. Это, вероятно, работает лучше всего, если ваши потребности в локализации очень просты и вы просто передаете свои ресурсы опытным локализаторам программного обеспечения в конце разработки.
Если вы локализируете в процессе разработки, а пользовательский интерфейс быстро меняется , дублирование файлов пера может быть большой проблемой, поскольку каждая настройка пользовательского интерфейса должна дублироваться в каждой локальной версии пера. Чтобы избежать этого, вам нужно написать некоторый код в ваших контроллерах представления для обработки установки локализованных строк, обычно в методе -viewDidLoad
контроллера представления. Убедитесь, что каждый элемент управления с локализованным текстом является IBOutlet
, и подключите их к вашему контроллеру представления в IB. Тогда ваш контроллер представления ' s -viewDidLoad
будет выглядеть примерно так:
- (void)viewDidLoad {
[super viewDidLoad];
hello.text = NSLocalizedString(@"Hello", @"Hello label");
world.text = NSLocalizedString(@"world", @"world label");
// ... etc
}
Этот тип настройки представления выполняется в -viewDidLoad
, поскольку объекты в вашем пере не будут полностью созданы до после запускается ваш метод -init
. -viewDidLoad
запускается после -init
, но до того, как ваше представление станет видимым.
This is a large and complex topic. A good starting place is Introduction to Internationalization Programming Topics and there is also Preparing Your Nib Files for Localization
Вы можете создать несколько версий файла. файл пера для каждой локали. Есть также инструменты, позволяющие легко редактировать в них строки. У Apple есть неплохая документация по этому поводу.