Можно ли поменять большие строки локализации на свои файлы? - PullRequest
4 голосов
/ 17 сентября 2011

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

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

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

Project structure in MonoTouch

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

Мой вопрос:

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

Продолжение решения Димитриса

Основываясь на решении Димитриса , я решил его следующим кодом:

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

helpTextView.LoadHtmlString (text, null);

1 Ответ

6 голосов
/ 17 сентября 2011

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

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

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

...