Currently I'm finishing my very first iPhone application with MonoTouch. Localization through the "*.lproj" folders works as expected.

Having an UIWebView that displays some user guidelines, I'm populating this one with the LoadHtmlString() method. (I.e. no internet connection is required).

Since the text is a bit longer, I do not want it to be placed inside the "Localizable.strings" file but being swapped out to a completely separate file (as I'm doing it for Windows .NET applications, too):

Project structure in MonoTouch

In the above screenshot, I would have one "help.html" file inside each language folder and call the LoadHtmlString method to read from the appropriate file in a way that would be similar to NSBundle.MainBundle.LocalizedString.

My question:

Is it possible to have per-language files and access them from within a MonoTouch application?

Follow-up to Dimitris' solution

Based on Dimitris' solution, I solved it by this code:

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

helpTextView.LoadHtmlString (text, null);
有帮助吗?

解决方案

Yes, of course it is possible. You can get the path of the localized file like this:

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

You can use the PathForResource method for various different types of resources (PDFs, images, etc.). The first parameter is the file name and the second one is its extension. Check the other overload of the PathForResource method for more options.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top