Можно ли заменить большие строки локализации на собственные файлы?

В настоящее время я заканчиваю свое самое первое приложение для iPhone с MonoTouch. Локализация через папки "*.lproj" работает как положено.

Наличие UIWebView, отображающего некоторые рекомендации для пользователей, я заполняю это методом LoadHtmlString(). (т.е. подключение к интернету не требуется).

Поскольку текст немного длиннее, я не хочу, чтобы он помещался в файл "Localizable.strings", а выгружался в совершенно отдельный файл (как я делаю это и для приложений Windows .NET):

Структура проекта в MonoTouch

На приведенном выше снимке экрана у меня будет один файл «help.html» внутри каждой языковой папки, и я вызову метод LoadHtmlString для чтения из соответствующего файла способом, аналогичным NSBundle.MainBundle.LocalizedString.

Мой вопрос:

Можно ли иметь файлы для каждого языка и получать к ним доступ из приложения MonoTouch?

Доработка решения Димитриса

На основе Решение Димитриса, я решил его с помощью этого кода:

var localizedHtmlFile = NSBundle.MainBundle.PathForResource("help", "html");
var text = File.ReadAllText(localizedHtmlFile);

helpTextView.LoadHtmlString (text, null);

person Uwe Keim    schedule 17.09.2011    source источник


Ответы (1)


Да, конечно, это возможно. Вы можете получить путь к локализованному файлу следующим образом:

string localizedHtmlFile = NSBundle.MainBundle.PathForResource("help", "html");

Вы можете использовать метод PathForResource для различных типов ресурсов (PDF, изображения и т. д.). Первый параметр — это имя файла, а второй — его расширение. Дополнительные параметры см. в другой перегрузке метода PathForResource.

person Dimitris Tavlikos    schedule 17.09.2011