草庐IT

Localization

全部标签

java - 对于没有占位符的本地化消息,我应该使用 java.text.MessageFormat 吗?

我们正在本地化运行在Java5上的Web应用程序的用户界面文本,并且对于我们如何输出属性文件中定义的消息(java.util.Properties使用的那种)存在两难选择。.一些消息包含一个占位符,将使用java.text.MessageFormat填充.例如:search.summary=Yoursearchfor{0}found{1}items.MessageFormat很烦人,因为单引号是一个特殊字符,尽管它在英文文本中很常见。您必须键入两个字面单引号:warning.item=Thisitem''s{0}isnotvalid.但是,应用程序的1000条左右消息中有四分之三不包含

java - 如何让java输出英文错误而不是其他语言?

我的系统是中文的,当我的java程序出现错误时,可能会输出非英文的错误信息,无法阅读:Causedby:java.io.IOException:CreateProcesserror=2,系统脮也禄碌陆指露或者:IOExceptionoccured:Cannotrunprogram"cmd/Ctschello.ts":CreateProcesserror=2,ϵͳÕҲ»µ½ָ¶是否可以让java一直输出英文错误信息? 最佳答案 答案分为两部分。Java根据默认语言环境显示错误消息。定义默认语言环境的三个系统属性:user.langua

java - 如何使用 DateTimeFormatter 解析非标准月份名称

我需要解析以下形式的(德语)日期:10.Jan.18:148.Feb.19:021.Mär.19:404.Apr.18:552.Mai21:555.Juni08:255.Juli20:091.Aug.13:42[...]如您所见,如果月份超过4个字符,月份名称将被截断。更奇怪的是,不要问我为什么,三月缩写为Mär.,尽管整个名称是März。我如何用java.time解析它?(日期的格式基于创建日期列表的Android设备的本地化。但是,我没有在Android上解析它)我的方法是像这样创建一个DateTimeFormatter:DateTimeFormatter.ofPattern("d

java - 正确的俄语月份字符串翻译 Java

我想将日期转换为俄语并使用下面的代码SimpleDateFormat.getDateInstance(SimpleDateFormat.LONG,locale).format(date);其中locale是Locale类型问题是没有正确解析月份。一月来了“январь”应该是“января”二月来了“февраль”应该是“февраля”等等……一个想法是根据我的逻辑将不正确的月份转换为正确的月份Java有没有自动执行此操作的方法?谢谢 最佳答案 在我的JDK-6安装上我可以重现您的问题:Datejud=newSimpleDate

java 字符串格式 : numbers with localization

是否可以像NumberFormat.format一样在String.format调用中本地化数字?我希望它只是简单地使用String.format(locale,"%d",number)但这不会返回与NumberFormat相同的结果。例如:String.format(Locale.GERMAN,"%d",1234567890)给出:“1234567890”,而NumberFormat.getNumberInstance(Locale.GERMAN).format(1234567890)给出:“1.234.567.890”如果无法完成,有什么推荐的本地化文本(包括数字)的方法?

java.lang.NoClassDefFoundError : com/sun/istack/localization/Localizable? 错误

我尝试通过tomcat7运行我的项目。在jaxwsmaven插件生成我的web服务的wsdl文件后(它成功生成)但试图在浏览器中查看wsdl文件但没有结果。我试图通过tomcat7服务器运行我的项目,但出现了这个错误,我没有解决这个问题的任何方法这是我的错误:août06,201312:08:09PMorg.apache.catalina.core.AprLifecycleListenerinitINFO:TheAPRbasedApacheTomcatNativelibrarywhichallowsoptimalperformanceinproductionenvironmentswa

java - 在哪里可以找到一组特定的字符串相等性比较规则?

我们都知道使用String的equals()方法进行相等比较会失败得很惨。相反,应该使用Collator,像这样://weneedtodetectUserInterfacelocalesomehowLocaleuiLocale=Locale.forLanguageTag("da-DK");//SettingupcollatorobjectCollatorcollator=Collator.getInstance(uiLocale);collator.setStrength(Collator.SECONDARY);collator.setDecomposition(Collator.CA

Java 的 equalsIgnoreCase 失败,德语字母表中使用 ß ("Sharp S")

我的第一个问题:-)尽最大努力阅读规则并搜索之前是否已经提出过这个问题。下面的代码String[]strings={"cAsE","\u00df"};for(Stringstr:strings){System.out.println(str.equalsIgnoreCase(str.toLowerCase()));System.out.println(str.equalsIgnoreCase(str.toUpperCase()));}输出true3次(cAsE=case;cAsE=CASE;ß=ß)但也有1个错误(ß!=SS)。尝试使用toLowerCase(Locale)但没有帮助。

java - 调用 String#toLowerCase 时应该指定哪个区域设置?

在Java中,String#toLowerCase方法使用默认系统Locale来确定如何处理小写。如果我将一些ASCII文本小写,并希望确保按预期进行处理,我应该使用哪个语言环境?编辑:我主要关心编程标识符,例如模式中的表名和列名。因此,我希望应用英文小写字母。Locale.ROOT声明它是区域设置敏感操作的语言/国家/地区中性区域设置Locale.ENGLISH大概也是一个安全的选择。 最佳答案 是的,Locale.ENGLISH是编程语言标识符和URL部分等大小写操作的安全选择,因为它不涉及任何特殊的大小写规则和所有7位ASCI

Java 本地化最佳实践

我有一个带有服务器和Swing客户端的Java应用程序。现在我需要本地化用户界面,并且可能还需要一些数据是特定于区域设置的。有几件事我想听听您的具体意见。我应该如何将UI的本地化字符串分发到属性文件中?在我的应用程序中有几个View,每个View都有几个面板。我应该为每个面板或View的每种语言准备一个本地化文件,还是应该将一种语言的所有翻译保存在同一个文件中?我目前倾向于每个View和语言一个文件,但我不确定我应该如何处理出现在许多地方的一些特定领域的术语。对多个文件进行相同的翻译听起来不太好。服务器抛出一些异常,其中包含应向用户显示的消息。我可以从session中获取选定的语言环境