为什么当我使用Firefox输入:时?,GET将转换为:
q=%E6%BC%A2&start=0
Run Code Online (Sandbox Code Playgroud)
但是,当我使用IE8并输入相同的中文字符时,GET是:
q=?&start=0
Run Code Online (Sandbox Code Playgroud)
它把它变成了一个问号.
我即将开始将客户的网站翻译成西班牙语和法语,并寻找有关ASP.NET本地化的资源.谷歌有数百万的热门歌曲,几乎所有热门歌曲都可以追溯到2005年和ASP.NET 2.0.在3.5和VS2008中有关于本地化的新东西吗?任何有常见做法的提示或资源都将受到高度赞赏!
我使用Localizable.strings文件并用NSLocalizedString(@"KEY",@"COMMENT")替换我的应用程序中的字符串.
我现在更换了很多字符串,效果很好.我添加了一些字符串,现在我收到以下错误消息:
CopyStringsFile build/Debug-iphoneos/Australia.app/en.lproj/Localizable.strings en.lproj/Localizable.strings cd/Users/regisandre/Desktop/XCode/AUSTRALIAENINT setenv ICONV/usr/bin/iconv setenv PATH"/ Developer /平台/ iPhoneOS.platform/Developer/usr/bin:/ Developer/usr/bin:/ usr/bin:/ bin:/ usr/sbin:/ sbin"/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/目录/资源/ copystrings --validate --inputencoding utf-8 --outputencoding binary en.lproj/Localizable.strings --outdir /Users/regisandre/Desktop/XCode/AUSTRALIAENINT/build/Debug-iphoneos/Australia.app/en .lproj en.lproj/Localizable.strings:字符串转换失败.该字符串为空.en.lproj/Localizable.strings:字符串转换失败.该字符串为空.Command/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.
更新:
你是对的 !这是UTF-8/UTF-16编码的问题.一旦使用genstrings生成文件,就必须避免从其他文件(甚至是Xcode)中复制/粘贴字符串文件,因为它会引起一些编码问题.
一旦使用Xcode生成文件,所有修改都必须通过"直接键入keayboard"直接在文件中完成; 没有复制/粘贴!(除非你确定你复制/粘贴的格式是正确的,但似乎不太容易知道)
localization internationalization localizable.strings nslocalizedstring
我有一个网站,使用代码显示当前日期Datetime.Now.根据我的理解,Datetime.Now应该显示当前时间,因为它将显示在查看器的当前区域设置中.
目前,当我在localhost上测试时,网站正确地确定我的位置(en-nz)并显示正确的日期.但是,当我现场运行网站时,我会得到一个不同的约会日期.
那么系统如何确定查看者的语言环境以及为什么我的网站在本地和现场显示Datetime.Now之间存在差异?
可以编写一个附加组件或一个可以为iPhone,iPad添加新键盘布局的应用程序吗?我在网上找不到任何参考,以表明它是不可能的,或者是可能的.但正因为如此,我的直觉是它不是,但后来我遇到了一个声称在iPad上添加波斯键盘的应用程序:
http://iphone.appmobilize.com/apps/172190/persisch-persian-keyboard-for-the-ipad
和:
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?mt=8&ign-lr=Lockup_r2c1&id=359932063
这是我第一次尝试使用Localizable.strings文件向应用添加一些本地化,我遇到了一个意想不到的问题.为清楚起见,这些是我经历过的步骤.
例如,这是我尝试添加的本地化之一.
"CAMERA_ERROR" = "The device does not have a camera";
Run Code Online (Sandbox Code Playgroud)
我在西班牙语.strings文件中添加了完全相同的字符串,但更改了文本以适合西班牙语.在我的应用程序代码中,我使用以下内容:
NSString *cameraError = NSLocalizedString(@"CAMERA_ERROR", nil);
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切似乎都很好,但这是奇怪的地方,我感到困惑.如果我在我的一个iMac上运行应用程序它工作正常,根据我设置模拟器的语言,它会显示正确的英语或西班牙语字符串.
但是,当我在这台MacBook Pro上运行完全相同的应用程序时,它不显示字符串,而是采用"KEY"标题并显示它.因此,它不会将消息显示为"设备没有摄像头",而是将其显示为"CAMERA_ERROR".代码与从git repo克隆的相同项目完全相同.
任何人都可以对此有所了解吗?MacBook上的任何设置都可能有所不同?
我一直想知道Windows或Mac OS X等操作系统如何只需一次点击即可更改语言,所有消息框,按钮等都会发生变化.
这些机制是如何实施的?
谢谢
在DateTime.ParseExact使用Swedish(sv-SE)文化的方法的情况下,我观察到一些奇怪的行为.
我的计算机文化是,en-US但业务逻辑需要sv-SE文化.所以我先将它设置在当前线程上.
Thread.CurrentThread.CurrentUICulture = new CultureInfo("sv-SE");
Run Code Online (Sandbox Code Playgroud)
然后我执行以下操作来解析DateTime值.我想在这里解析的日期时间是2012年5月27日上午11:57.
DateTime.ParseExact("270512T11:57", "ddMMyyThh:mm", Thread.CurrentThread.CurrentUICulture);
Run Code Online (Sandbox Code Playgroud)
这很好用.
但是当我从晚上开始时,我得到了例外.当我尝试解析2012年5月27日晚上11:57的日期时间戳.
DateTime.ParseExact("270512T23:57", "ddMMyyThh:mm", Thread.CurrentThread.CurrentUICulture);
Run Code Online (Sandbox Code Playgroud)
上面的行给出了FormatException消息字符串未被识别为有效的DateTime..
这里真的有什么不对?
我有一个Res.en.resx在我的Asp.Net Mvc 4项目中命名的资源文件.
在一个视图中,我试图访问它的属性,@MvcApp.Resources.Res.Title但是我收到以下错误:
命名空间"MvcApp"中不存在类型或命名空间名称"Resources"(您是否缺少程序集引用?)
如果我更改资源名称Res.resx一切正常.
为什么会这样?
我目前正在研究包含多语言数据的.net 4.5应用程序.
我是新手,所以我正在寻找解释诸如不同语言编码,全球化,本地化等概念的资源.
关于我应该在哪里寻找这些信息的任何提示?
localization ×10
c# ×3
datetime ×2
ipad ×2
iphone ×2
asp.net ×1
asp.net-mvc ×1
c ×1
cjk ×1
encoding ×1
ios ×1
javascript ×1
keyboard ×1
locale ×1
multilingual ×1
objective-c ×1
resources ×1
unicode ×1
xcode ×1