目前我正在使用MonoTouch完成我的第一个iPhone应用程序.通过"*.lproj"文件夹进行本地化按预期工作.
有一个UIWebView显示一些用户指南,我用这个LoadHtmlString()方法填充这个.(即不需要互联网连接).
由于文本有点长,我不希望它被放在"Localizable.strings"文件中,而是被换成一个完全独立的文件(因为我也是为Windows .NET应用程序做的):

在上面的屏幕截图中,我将在每个语言文件夹中包含一个"help.html"文件,并调用该LoadHtmlString方法以相似的方式从相应的文件中读取NSBundle.MainBundle.LocalizedString.
我的问题:
是否可以使用每种语言文件并从MonoTouch应用程序中访问它们?
Dimitris解决方案的后续行动
基于Dimitris的解决方案,我通过以下代码解决了它:
var localizedHtmlFile = NSBundle.MainBundle.PathForResource("help", "html");
var text = File.ReadAllText(localizedHtmlFile);
helpTextView.LoadHtmlString (text, null);
Run Code Online (Sandbox Code Playgroud) 如何在我的语言文件中添加换行符以供使用MFMailComposeViewController?在\n我doesent工作.使用返回键上的正常klick中断具有相同的结果,没有换行符!
我的档案:
"Body_eMail"= "Hello, here is some text.\n\nLorem ipsum alsu.\n\nAnd some text, more...";
Run Code Online (Sandbox Code Playgroud)
我想要:
你好,
这是一些文字.Lorem ipsum alsu.
还有一些文字,更多......
本作的UILabel工作正常(如@lawicko下文提到),但加入到时MFMailComposeViewController的\n字符内置显示,如下图所示:
Hello, here is some text.\n\nLorem ipsum alsu.\n\nAnd some text, more...
什么是正确的方法?
xcode line-breaks localizable.strings ios mfmailcomposeviewcontroller
我为应用程序的本地化创建了多个.strings文件。每个对应于一个语言环境。现在,我想获取应用程序中所有可用语言环境的列表。有什么功能可以帮助我做到这一点吗?
例如,如果我的应用仅支持英语,中文,法语,则该函数可以返回[en,zh,fr]
有时,该应用程序包含大量文本,而 Localizable.strings 似乎充斥着过多的字符串,这让我很难找到要编辑的正确字符串(即使我为这些字符串添加了注释)。
我想创建多个 .strings 并将每个 .strings 文件设置为应用程序的相应功能或故事板集。
我尝试将 Localizable.strings 的文件名更改为 TestOnly.strings 等其他名称,但 Xcode 似乎并没有读取每个可用的 .strings 文件,而且我在构建设置下找不到告诉 Xcode 读取字符串的单个设置Localizable.strings。这是默认的且不可更改的吗?
请注意,我不是在问如何本地化字符串以支持不同的语言。我想要的是例如我的 Localizable.strings 包含
"test_string" = "这是一个测试"; "test_string2" = "另一个测试";
然后我希望将“test_string2”放置在另一个 .strings 文件中,例如 OtherLocalizable.strings 仍然可以被 Xcode 识别。
我希望你们明白我的意思。
是否可以使用NSLocalizedString基础结构(基于localizable.strings)和自定义的"本地化"?
问题是,有些语言对男性和女性有不同的措辞.我想在首次启动时询问用户的性别,然后使用相应的短语.当然,两者都基于相同的语言.我可以使用自己的代码来完成它,但如果可能的话,我宁愿这么做.
iphone xcode localization localizable.strings nslocalizedstring
我正在阅读有关本地化和国际化的文档,但对我来说并不是很清楚:你能解释一下.lproj文件和/或Localizable.strings文件(如果已连接)之间的联系吗?
或者通过任何机会,如果你知道我在哪里可以看到/下载使用本地化文本的应用程序示例?
我已经看到了带有示例代码'NavBar'的Localizable.strings文件(来自doc),但还没有关于使用.lproj文件的示例代码.
谢谢你的帮助
localization objective-c internationalization localizable.strings
我正在尝试使我的localizable.strings正常工作,但我无法弄清楚如何.我的故事板也是可本地化的,并且可以工作:所有按钮和视图控制器都以两种语言正确显示.
但是以编程方式加载的NSLocalizedStrings只是以英文显示.我检查了我的Localizable.strings,它有两种语言:英语和巴西葡萄牙语(pt-BR),我没有发现任何问题.
我该如何解决?
提前致谢!
xcode localization localizable.strings nslocalizedstring ios
我不能够获得values用于keys从InfoPlist.
label.text = NSLocalizedStringFromTableInBundle(@"keyone",
nil,
AppDelegateObj.langBundle, nil));
Run Code Online (Sandbox Code Playgroud)
在InfoPlist.strings这里有一个价值
"keyone" = "value one";
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,它显示UILabel值为keyone
为什么?
我正在尝试使用,NSLocalizedStringFromTable但没有结果.我已经创建了Profile.strings文件,点击了本地化,在项目设置中我添加了波兰语和英语,所以我的文件里面有2个"文件",我输入了相同的字符串和其他值但是当我切换语言并重新启动应用程序时仍然有一个使用本地化(波兰语).
Xcode中的Profile.strings:
Profile.strings
Profile.strings (Polish)
Profile.strings (English)
Run Code Online (Sandbox Code Playgroud)
抛光:
"fullName.placeholder" = "Imie i nazwisko";
"emailAddress.placeholder" = "Adres email";
"phoneNumber.placeholder" = "Numer telefonu";
Run Code Online (Sandbox Code Playgroud)
英语:
"fullName.placeholder" = "Full name";
"emailAddress.placeholder" = "Email address";
"phoneNumber.placeholder" = "Phone number";
Run Code Online (Sandbox Code Playgroud)
为了获得价值我打电话:
NSLocalizedStringFromTable(@"fullName.placeholder", @"Profile", @"");
Run Code Online (Sandbox Code Playgroud)
每当我打电话给我,我都有价值 Profile.strings (Polish)
我做错了什么?
xcode localization localizable.strings nslocalizedstring ios
我知道有一些pod用于更改本地化的字符串文件而无需重新启动..就像iOS-CustomLocalisator 但我的问题是我的项目严重依赖于xibs并且它试图依赖于服务器本地化而不是设备本地化.
希望有办法解决这个问题.
ios ×8
localization ×6
xcode ×5
iphone ×3
objective-c ×2
c# ×1
line-breaks ×1
mfmailcomposeviewcontroller ×1
xamarin.ios ×1