我正在设计一个本地化的网络应用.我倾向于自动检测浏览器语言设置.但我注意到许多可敬的网站要求用户选择一种语言.是否有任何可用性问题(来自实际经验)只有自动检测用户语言?
谢谢.
locale localization web-applications cultureinfo browser-detection
默认情况下,android系统的默认位置是US,语言是en.但我想将默认位置设置为其他国家/地区.因此,用户在第一次启动android时会看到他们的母语.
我试图修改代码(/dalvik/libcore/luni/src/main/java/java/util/Locale.java
),更改了语言环境的默认值.但没有效果.
你能告诉我如何设置默认位置吗?
*我想制作一个android图像,然后将其刻录到设备,当android第一次启动时,我想它的os语言不是英语而是其他语言.
我使用setlocale()函数设置了语言环境,让我们说"en_US".
现在我正在尝试格式化货币而没有像这样的千位分隔符:
$ currency = number_format($ value,2,'.','');
这有效,但有时我有其他货币,我希望number_format根据使用区域设置使用正确的小数分隔符.
有没有办法根据已设置的区域设置以某种方式获取当前的小数分隔符?
我需要根据语言环境设置值.我会得到语言环境en_US
或fr_FR
String locale = object.getLocale(); //
Run Code Online (Sandbox Code Playgroud)
然后根据我需要定义货币的区域设置.我需要的货币格式定义如下.
Language Example Notes
Canadian French 123.456.789,99 $ symbol is a suffix,'comma' for decimal
Canadian English $123,456,789.99 symbol is a prefix,'dot' for decimal
Run Code Online (Sandbox Code Playgroud)
目前我有表单属性,我直接在我的java类中设置值.
...
Form form = new Form();
// Stub data for generating a graph.
formBean.setCurrOne("123.54");
formBean.setCurrTwo("456.33");
....//before I set those attributes I need to place a check
// for locale and format the currency accordingly.
Run Code Online (Sandbox Code Playgroud)
你能帮我解决这个格式吗?也有是的差异,
和.
货币格式.
我需要一种方法来根据用户的区域设置自动格式化Date和Number对象.
到目前为止,我一直在使用toLocaleString()
日期功能.对于数字,toLocaleString()
也可以使用,但正如您在我准备的jsFiddle中所看到的,浏览器之间的结果差异很大.在我的Windows机器上使用英语(美国)语言环境,我得到了这个:
在Chrome中,似乎toLocaleString()
对数字根本不起作用.除了这种方法,我还尝试过:
localeFormat()
函数,但无论我在PC上设置哪个区域(通过使用"区域和语言"对话框),日期和数字仍然以美国格式编码.因此,总结一下:如何自动设置数字和日期格式以尊重用户浏览网页的区域设置,以适用于所有主流浏览器(IE,Firefox,Chrome)的方式?
我正在使用java.util.Locale生成一个语言环境列表并打印出本地显示语言(即打印出ja_JP作为日本语).我注意到zh_CN(简体中文)和zh_TW(繁体中文)本地化为中文而不是简体中文和繁体中文.有没有办法让这些语言环境包含简化和传统的前缀字符而不用硬编码zh_CN应该是简体中文和zh_TW应该是繁体中文?我知道我可以打印出语言+国家(即中文),但这并不完全相同.
这是一个java片段,证明它们是相同的:
import java.util.Locale;
public final class test {
public static void main(String[] args) {
Locale locale1 = new Locale("zh", "cn");
System.out.println( locale1.getDisplayLanguage(locale1));
System.out.println( locale1.getDisplayLanguage(Locale.TRADITIONAL_CHINESE));
System.out.println( locale1.getDisplayLanguage(Locale.SIMPLIFIED_CHINESE));
System.out.println( locale1.getDisplayCountry(locale1));
System.out.println( "");
Locale locale2 = new Locale("zh", "tw");
System.out.println( locale2.getDisplayLanguage(locale2));
System.out.println( locale2.getDisplayLanguage(Locale.TRADITIONAL_CHINESE));
System.out.println( locale2.getDisplayLanguage(Locale.SIMPLIFIED_CHINESE));
System.out.println( locale2.getDisplayCountry(locale2));
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用表示当前区域设置的子域来设置路由系统.路由是通过@Routing
注释设置的,如下所示:
/**
* @Route(
* "/",
* name="homepage",
* host="{locale}.{domain}",
* defaults={"locale" = "en", "domain" = "%domain%"},
* requirements={"locale" = "en|de|fr", "domain" = "%domain%"}
* )
*/
Run Code Online (Sandbox Code Playgroud)
适用于URL的类似en.somedomain.com
或de.somedomain.com
,但无法找到正确的路由somedomain.com
,没有区域设置.
我理解,因为host
参数,设置为表示确切的locale.domain模式,但我找不到告诉Symfony路由系统可能有额外的默认方式host
.
周围搜索了这一点,但没有发现什么特别的.非常感谢任何帮助!
UPDATE
实际上有一种方法可以通过@Route
在注释中添加另一个而不使用host
参数来实现:
/**
* @Route(
* "/",
* name="homepage_default",
* defaults={"locale" = "en"}
* )
*/
Run Code Online (Sandbox Code Playgroud)
但那看起来有点脏,而且我没有%domain%
在那里使用参数,这对我很重要 - 比方说,如果我需要另一个子域用于移动版本.
我想将 String 与 Java 中的“C”语言环境进行比较,但是 Locale.class 中没有预定义的“C”语言环境。我应该使用哪一个?区域设置.ROOT?
尝试从 StackOverflow 编译一些代码,基本上是这些行:
std::wifstream wif(filename);
wif.imbue(std::locale(std::locale::empty(), new std::codecvt_utf8<wchar_t>));
Run Code Online (Sandbox Code Playgroud)
海湾合作委员会版本:gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0
我收到编译错误:
“空”不是“std::locale”的成员
我同意编译器的观点,并检查了cppreference等文档- 没有关于此类事情的信息。头文件也没有显示任何内容。
我想知道,这只是我的问题还是另一个主题的示例代码......
它可以是 MSVC 功能吗?(我使用的示例代码来自与Windows相关的问题)
我可以使用CentOS映像设置语言环境
FROM centos
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
但这似乎不适用于Alpine图片。如何设置Alpine图片的语言环境?
locale ×10
java ×3
localization ×2
php ×2
alpine-linux ×1
android ×1
annotations ×1
c++ ×1
c++11 ×1
centos ×1
cultureinfo ×1
default ×1
docker ×1
dollar-sign ×1
javascript ×1
routing ×1
symfony ×1