Как локализовать некоторые строки из файла HTML, который отображается в контроллере UIWebView под iOS? - PullRequest
1 голос
/ 09 августа 2011

Я ищу способ, который позволил бы мне локализовать некоторые строки внутри HTML-файла, который отображается в UIWebView под iOS.

Я хочу использовать NSLocalizesString() для выполнения локализации, поэтомуЯ ищу простое решение, которое позволило бы мне сгенерировать локализованный html-файл перед его отображением.

У меня есть полный контроль над HTML-файлом и установка для использования каких-либо заполнителей.

Ответы [ 2 ]

1 голос
/ 09 августа 2011

Затем используйте пользовательский тег, проанализируйте HTML с помощью NSXMLParser и что-нибудь внутри вашего пользовательского тега ... например, <localize>Something</localize> - вы удаляете теги, локализуете строку, а затем передаете этот HTML-кодваш веб-просмотр.

0 голосов
/ 17 ноября 2011

Я попытался реализовать решение этой проблемы, создав набор локализованных строк со встроенным форматированием HTML, и идея состояла в том, чтобы объединить их, чтобы получить единственную строку, которую затем я бы назначил методу loadHTMLString:baseURL: для * 1002.*.

Однако смешивание HTML с обычным текстом в локализованных строках выглядело как кошмар будущего обслуживания, поэтому вместо этого я попробовал следующее:

Я написал простой тестовый файл HTML с английским языком.текст и скопировал его в мой проект XCode.Затем я добавил испанскую локализацию для этого файла.Когда я проверял это в iPhone Simulator, он работал нормально.Строка кода, которую я использовал для чтения содержимого файла HTML и присвоения его UIWebView, выглядит следующим образом:

NSString *path = [[NSBundle mainBundle] pathForResource:@"help" ofType:@"html"];
[myUIWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]]; 

Может потребоваться несколько файлов HTML для обслуживания, но этоТо же самое вы делаете при локализации nib-файлов, и я думаю, что этот подход работает лучше всего, когда мы думаем об отделении этого типа контента от обычных локализованных строк.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...