很多时候,当生成要向用户显示的消息时,该消息将包含一些我想要通知客户的内容.
我举一个例子:客户从1开始选择了多个项目,并点击了删除.现在我想给客户一个确认信息,我想提一下他选择的项目数量,以便通过选择一堆项目并在他只想删除其中一项时单击删除来最大限度地减少他犯错误的可能性.他们.
一种方法是制作如下通用消息:
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " item(s). Are you sure you want to delete it/them?";
Run Code Online (Sandbox Code Playgroud)
"问题"这里是哪里的情况下noofitemselected是1,我们必须编写项目和它,而不是项目和它们.
我的正常解决方案将是这样的
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " " + (noofitemsselected==1?"item" : "items") + ". Are you sure you want to delete " + (noofitemsselected==1?"it" : "them") + "?";
Run Code Online (Sandbox Code Playgroud)
如果代码中有许多对数字的引用,并且实际的消息难以阅读,那么这会非常长且非常讨厌.
所以我的问题很简单.有没有更好的方法来生成这样的消息?
编辑 …
这是我一直想知道的事情,我在网上任何地方都找不到它.当一家商店(比如日本)写代码时,我能用英文阅读吗?或者语言,如C,PHP,什么,有他们写的日语翻译?
我想我所问的是,世界上每一位编码人员都知道足够的英语使用我所用的完全相同的保留字吗?
这段代码是:
If (i < size){
switch
case 1:
print "hi there"
default:
print "no, thank you"
} else {
print "yes, thank you"
}
Run Code Online (Sandbox Code Playgroud)
显示与我现在用英语看到的完全相同,或者其他非英语人士会看到"if","switch","case","default","print"和" "用他们的母语?
编辑 - 是的,这很严重.我不知道语言的不同本地化是否有不同的关键字.或者如果甚至有不同的本地化.
我想在我的Linux安装中更改git(到英语)的语言,而不更改其他程序的语言,也无法找到设置.怎么做?
我一直在研究在C#中创建适用于多种语言的应用程序,因为我需要处理一个小项目,在这种情况下.我发现基本上有两种方法可以做到这一点:
将表单的Localizable属性设置为true,设置语言属性,填充所有标签等,然后您就完成了.我在这里看到的主要缺点是:如何制作不属于多种语言的表单的其他内容(例如弹出窗口,日志文件或窗口等).
创建一个资源文件,例如'Lang.en-us.resx'和每种语言一个,例如'Lang.nl-nl.resx'并用字符串填充它.IDE似乎自动为我生成一个类,所以在代码中我可以使用Lang.SomeText.我在这里看到的最大缺点是:对于每个表单,我需要在代码中自己设置所有标签和其他标题(并且似乎数据绑定不适用于这些资源).
不过,我确信还有其他方法可以做到这一点.
那么,最佳做法是什么?对于小型应用程序(一些形式,数据库连接等)以及哪种规模最适合大型应用程序,最简单的是什么?
我希望我的应用程序支持三种语言西班牙语,葡萄牙语和英语.并选择在app中选择语言.我已经做了
1)3个可绘制的文件夹drawable-es,drawable-pt,drawable.
2)3个值文件夹值-es,values-pt,values.根据语言更改String.xml值.
我有imageView来选择语言.当点击它打开菜单包括选项英语,西班牙语,葡萄牙语.
我通过此代码在选项选择中在应用程序内设置Locale
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.en:
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Toast.makeText(this, "Locale in English !", Toast.LENGTH_LONG).show();
break;
case R.id.pt:
Locale locale2 = new Locale("pt");
Locale.setDefault(locale2);
Configuration config2 = new Configuration();
config2.locale = locale2;
getBaseContext().getResources().updateConfiguration(config2, getBaseContext().getResources().getDisplayMetrics());
Toast.makeText(this, "Locale in Portugal !", Toast.LENGTH_LONG).show();
break;
case R.id.es:
Locale locale3 = new Locale("es");
Locale.setDefault(locale3);
Configuration config3 = new Configuration();
config3.locale = locale3;
getBaseContext().getResources().updateConfiguration(config3, …Run Code Online (Sandbox Code Playgroud) 在Microsoft SQL Server中,可以指定"重音不敏感"排序规则(对于数据库,表或列),这意味着可以进行类似的查询
SELECT * FROM users WHERE name LIKE 'João'
Run Code Online (Sandbox Code Playgroud)
找到一个带有Joao名字的行.
我知道可以使用unaccent_string contrib函数从PostgreSQL中删除字符串中的重音符号,但我想知道PostgreSQL是否支持这些"重音不敏感"排序规则,以便SELECT上述方法可行.
在ASP.net MVC应用程序中设置Culture/UI Culture的最佳位置是什么
目前我有一个CultureController类,如下所示:
public class CultureController : Controller
{
public ActionResult SetSpanishCulture()
{
HttpContext.Session["culture"] = "es-ES";
return RedirectToAction("Index", "Home");
}
public ActionResult SetFrenchCulture()
{
HttpContext.Session["culture"] = "fr-FR";
return RedirectToAction("Index", "Home");
}
}
Run Code Online (Sandbox Code Playgroud)
以及主页上每种语言的超链接,其链接如下:
<li><%= Html.ActionLink("French", "SetFrenchCulture", "Culture")%></li>
<li><%= Html.ActionLink("Spanish", "SetSpanishCulture", "Culture")%></li>
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但我认为有一个更合适的方法来做到这一点.
我正在使用以下ActionFilter http://www.iansuttle.com/blog/post/ASPNET-MVC-Action-Filter-for-Localized-Sites.aspx阅读文化 .我有点像MVC菜鸟,所以我不相信我会把它设置在正确的位置.我不想在web.config级别这样做,它必须基于用户的选择.我也不想检查他们的http-header以从他们的浏览器设置中获取文化.
编辑:
只是要明确 - 我不是要决定是否使用会话.我对此感到高兴.我想要解决的是,如果最好在文化控制器中执行此操作,该控制器具有要设置的每个文化的操作方法,或者在MVC管道中是否有更好的位置来执行此操作?
何时以及如何使用<resource-bundle>和<message-bundle>标记本地化faces-config.xml?这两者之间的差异对我来说不是很清楚.
我正在尝试以区域设置感知的方式对字符串列表进行排序.我已经将Babel库用于其他与i18n相关的任务,但它不支持排序.Python的locale模块提供了一个strcoll函数,但需要将进程的语言环境设置为我想要使用的语言环境.有点痛,但我可以忍受它.
问题是我似乎无法实际设置区域设置.该文件的locale模块给出了这样的例子:
import locale
locale.setlocale(locale.LC_ALL, 'de_DE')
Run Code Online (Sandbox Code Playgroud)
当我运行时,我得到了这个:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python26\Lib\locale.py", line 494, in setlocale
locale.Error: unsupported locale setting
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
如果我将iOS 8.1模拟器上的语言更改为任何内容并尝试从代码中检测到这一点
NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"Language: %@", language);
Run Code Online (Sandbox Code Playgroud)
我得到了"恩".我已经尝试重置导航器等.我已经尝试使用iOS 7.1运行时(在Xcode 5.1.1中),它工作正常.有没有人设法找到解决此问题的方法?