我有几千行的Web应用程序源代码,最初是在美国开发系统上编写的,用于维护.它大量使用SQL语句字符串,这些字符串是动态组合的,例如
string SQL = "select * from table where double_value = " + Math.Round(double_value, 2);
Run Code Online (Sandbox Code Playgroud)
不要评论糟糕的编程风格,在这种情况下这对我没有帮助:)
症结:我的系统使用德语语言环境,这反过来会导致错误的SQL语句,如下所示:
"select * from table where double_value = 15,5"
Run Code Online (Sandbox Code Playgroud)
(注意逗号为小数分隔符而不是点).
问题:为了防止被迫更改和检查每一行代码,在这种情况下将Web应用程序的区域设置更改为美国或英国的"最优雅"方式是什么?.NET 3.5不是一个选项(会让我有机会ToString()在扩展类中覆盖.)
我正在寻找用于Switserland的PHP语言环境,以满足需要瑞士法郎支持的客户.
我似乎找不到Switserland的正确语言环境.有谁知道我可以使用哪一个?
我需要它的格式如下:nl_NL,en_US,en_GB
谢谢你的帮助!
你如何将新的语言环境添加到 android. 我正在寻找一种安装日语的方法,以便手机将 JAPAN 或 JAPANESE 报告为语言环境。我发现像 simeji 这样的应用程序增加了日语键盘支持。但无法弄清楚如何为特定语言安装新的语言包。
我在项目中使用Grails 2.0.3。我想对我的应用程序实施国际化。据本文档了解,Grails对国际化提供了现成的支持。但是,我想覆盖浏览器Accept-Header设置,并希望设置用户的语言偏好。
首先,我创建了一个过滤器以捕获请求并检查语言首选项。但这没有帮助。在过滤器中,我可以获取本地化消息,但是在呈现页面时,我正在获取英文页面。这是我用于设置语言环境的代码。
def locale = new Locale("es", "ES")
java.util.Locale.setDefault(locale)
Run Code Online (Sandbox Code Playgroud)
然后,我创建了自定义,LocaleResolver并将其注入到spring配置中localeResolver。再次在过滤器中我可以看到本地化的消息,但是在页面中还是没有运气吗?
有没有一种方法可以覆盖或绕过Grails i18n支持中的浏览器设置?
如何在不使用语法的情况下访问"locale"和"global"
using namespace std
Run Code Online (Sandbox Code Playgroud)
它有以下语法我有问题
#include <locale>
locale::global(locale("swedish"));
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我对此遇到了麻烦,因为我有 3 位数代码(美元、欧元、COP 等)的货币。
如果你去使用函数 setlocale 你需要做这样的事情:
setlocale(LC_MONETARY, 'en_US');
看看你传递的是“en_US”而不是“USD”。我怎样才能知道用户选择的每种货币的 LC_MONETARY 的相应语言环境,以便与 setlocale 一起使用。
此外,在我的网站中,货币与语言无关,例如,您的网站是西班牙语,但您可以看到美元的货币。这将导致像这样的语言环境:es_US ???? 我相信它不支持。
谢谢。
以下程序用于setlocale()从环境变量中获取语言环境设置和打印时间。
locale_test.c :
// locale test
#include <stdio.h>
#include <locale.h>
#include <time.h>
// locale test
void locale_test() {
// use environment variable to get locale setting,
setlocale(LC_ALL, "");
char buf[26];
time_t now = time(NULL);
ctime_r(&now, buf);
printf("time: %s", buf);
char *time_locale = setlocale(LC_TIME, NULL);
printf("current LC_TIME locale: %s\n", time_locale);
}
int main(int argc, char *argv[]) {
locale_test();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
执行:
LC_ALL=fr_FR LC_TIME=fr_FR ./a.out,输出为:
时间:2015 年 10 月 14 日星期三 13:16:35
当前 LC_TIME 语言环境:C
LC_ALL=en_US LC_TIME=en_US ./a.out …
我有一个Android应用程序,它自己处理区域设置更改.当我离开应用程序并更改语言环境时,调用"Application-> onConfigurationChanged"(NOT Activity-> onConfigurationChanged),当我恢复应用程序时,活动将被销毁并重新启动.
我已经放入android:configChanges="orientation|keyboardHidden|screenSize|locale"清单中的活动部分.
如何在区域设置更改后停止在简历上重新创建活动?
我是 Java Android 新手。
我想在区域设置中使用国家/地区代码(参考ISO 3166-1 数字)获取国家/地区名称(字符串)
试图做这样的事情(其中 [...].getCountry() 返回 int 826):
Locale countryName = new Locale("", String.valueOf(profile.getPersonnalInformation().getAddress().getCountry()));
Run Code Online (Sandbox Code Playgroud)
并使用此获取国家/地区名称: countryName.getDisplayCountry()
它通常应该返回“英国”,但不幸的是我有 826。
我怎样才能做到这一点 ?
在此先感谢您的帮助,
我目前使用6.0 version的的hybris。我们的项目完全基于Backoffice。之前我们为印度尼西亚语言环境配置了in_ID(languageISOcode_countryISOcode),并且工作正常,但是现在客户已要求像id_ID印度尼西亚语言环境一样进行语言环境设置。
请注意,in languageISOcode已弃用,而id是languageISOcode印度尼西亚的更新。
以下是我们的hybris中的代码片段:
final Locale locale = cockpitLocaleService.getCurrentLocale();
LOG.info("locale : " + locale); //Here I'm getting in_ID value of locale in all scenario
Run Code Online (Sandbox Code Playgroud)
它正在调用Java的Locale.class文件,如果我通过了,id_ID那么convertOldISOCodesmethod(inside Locale.class)也将转换id_ID为in_ID。
参见下面的代码:
import java.util.Locale;
Locale localeIndonesia = new Locale("id", "ID");
System.out.println(localeIndonesia); //printed in_ID
Run Code Online (Sandbox Code Playgroud)
您能否帮助我获得id_ID印度尼西亚的语言环境。
要么
如果这是Java中的错误,那么有没有办法在hybri中获取id_ID?
locale ×10
android ×3
java ×2
php ×2
backoffice ×1
c ×1
c# ×1
c++ ×1
currency ×1
double ×1
grails ×1
grails-2.0 ×1
hybris ×1
localization ×1
money-format ×1
namespaces ×1
setlocale ×1