我正在设计一个本地化的网络应用.我倾向于自动检测浏览器语言设置.但我注意到许多可敬的网站要求用户选择一种语言.是否有任何可用性问题(来自实际经验)只有自动检测用户语言?
谢谢.
locale localization web-applications cultureinfo browser-detection
默认情况下,android系统的默认位置是US,语言是en.但我想将默认位置设置为其他国家/地区.因此,用户在第一次启动android时会看到他们的母语.
我试图修改代码(/dalvik/libcore/luni/src/main/java/java/util/Locale.java
),更改了语言环境的默认值.但没有效果.
你能告诉我如何设置默认位置吗?
*我想制作一个android图像,然后将其刻录到设备,当android第一次启动时,我想它的os语言不是英语而是其他语言.
如何在Windows下更改命令文档的语言,通过以下命令打印:svn help checkout
我在设置和运行特定数据库时遇到问题.我正在尝试恢复我从其他人那里获得的postgreSQL转储.我试过几种方法都无济于事.
直接来自pg_restore
pg_restore -C -d postgres --exit-on-error maggie_prod_20111221.dump.sql
首先创建数据库和表空间
createdb -T template0 maggieprod -E LATIN1
SQL: CREATE TABLESPACE magdat OWNER maggie LOCATION '/somewhere/magdat';
pg_restore -v -d template1 maggie_prod_20110121.dump.sql
使用第一种方法,我得到以下内容:
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 2308; 1262 16386 DATABASE maggieprod postgres
pg_restore: [archiver (db)] could not execute query: ERROR: encoding LATIN1 does not match locale en_CA.utf8
DETAIL: The chosen LC_CTYPE setting requires encoding UTF8.
Command was: CREATE DATABASE maggieprod WITH TEMPLATE = …
我需要翻译其他语言的程序,实际上我有3种语言的相同程序(英语,西班牙语,葡萄牙语),但我翻译,重新编译,我有3个单独的可执行文件.并添加更多语言,保持链接,添加新功能让我发疯.
所以现在我决定保留一个可执行文件和一个外部语言文件,所以添加新语言不需要重新编译,只需用文本编辑器编辑语言文件,一切正常.
我想将所有语言保存在一个外部文件中.喜欢international.lang
[portuguese]
greeting="Bem-vindo"
[spanish]
greeting="Ben venido"
Run Code Online (Sandbox Code Playgroud)
如果文件international.lang
不存在,或者您的语言不在文件中,默认情况下程序将以英文启动,没有错误.就像大多数基于资源的多语言程序一样.
那么问题是,如何在delphi中检测Windows语言?对我的方法有什么想法吗?有没有办法以编程方式替换对话框上的所有字幕?
ps:我正在使用delphi7,我找不到任何好的免费组件.
我需要根据语言环境设置值.我会得到语言环境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%
在那里使用参数,这对我很重要 - 比方说,如果我需要另一个子域用于移动版本.
locale ×10
java ×2
php ×2
android ×1
annotations ×1
ascii ×1
cultureinfo ×1
database ×1
default ×1
delphi ×1
dollar-sign ×1
javascript ×1
latin1 ×1
localization ×1
multilingual ×1
postgresql ×1
routing ×1
string ×1
svn ×1
symfony ×1
translation ×1
windows ×1