如何制作一个具有真正多语言字符串的应用程序?

2024-02-18

为不同语言制作字符串的最佳方法应该是什么?我有这个问题,我试图显示“月”、“月”、“年”、“年”等字符串。目前我正在研究我所知道的 3 种语言:西班牙语、英语和波兰语。对于英语和西班牙语来说,这很简单。但例如,在波兰语中,“年”可以变成“lata”(数字 2 - 4 之后)或“lat”(数字 5 之后)。我正在考虑为此添加一个额外的字符串,并在其他语言中将其设置为空。然而,这让我想到了我不知道的其他语言,它们可能有更多的差异。如果我考虑将来添加更多语言,在这种情况下哪种方法应该是最好的方法?


听起来你想要一个ChoiceFormat http://java.sun.com/docs/books/tutorial/i18n/format/choiceFormat.html,或者至少通过 a 使用一个MessageFormat http://java.sun.com/javase/6/docs/api/java/text/MessageFormat.html:

public static void main(String... args) {
    String[] formats = { 
        // NOTE - In a real app, you'd fetch the format strings from a language,
        // file, not hard-code them in your program. Obviously.
        "{0,number} {0,choice,0#years|1#year|1<years}", // english
        "{0,number} {0,choice,0#años|1#año|1<años}", // spanish
        "{0,number} {0,choice,1#[fewer than 2]|2#lata|4<lat}", // polish
        "{0,number} år", // swedish - singular and plural forms look the same!
    };
    int[] years = {0, 1, 2, 3, 4, 5, 6};
    for (int year : years) {
        for (String format : formats) {
            System.out.println(MessageFormat.format(format, year));
        }
        System.out.println();
    }
}

在你的程序中,你当然会得到format来自字符串文件的字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何制作一个具有真正多语言字符串的应用程序? 的相关文章

  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • Android 构建发布失败,原因为:java.lang.ArrayIndexOutOfBoundsException:213(pr​​oguard 问题)

    我的项目使用调试构建变体构建得很好 但使用发布变体 Android Studio 会抛出 引起原因 java lang ArrayIndexOutOfBoundsException 213 可能是什么问题 如果我设置minifyEnable
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • OnLongClickListener 不工作

    我有一个ImageView 我需要使用onLongClickListener对于图像视图 当我使用这段代码时 什么也没有发生 Code gallery Gallery findViewById R id gall1 gallery setA
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • Android 如何将总天数准确更改为年、月、日?

    我正在做一个应用程序 该应用程序与根据给定的生日日期输入获取一个人的年龄有关 为此 我从下面的代码中获取从该日期到当前日期的总天数 String strThatDay 1991 05 10 SimpleDateFormat formatte
  • 在 Samsung Galaxy S5 Android 5.0 上使用 MediaPlayer 加载音频流需要超过 10 秒

    由于更新至 Android 5 0 MediaPlayer 在 Samsung Galaxy S5 上无法正常工作 启动音频流后加载时间超过 10 秒 示例代码 MediaPlayer mPlayer new MediaPlayer Str
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 通过电子邮件发送文本文件附件

    我正在尝试附加一个文本文件以便通过电子邮件发送 但每当我打开电子邮件应用程序时 它都会说该文件不存在 请帮助 Intent i new Intent Intent ACTION SEND i setType text plain i put
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • ASP.NET 捕获所有路由和转义正斜杠

    我使用 MVC 的包罗万象的路由来提供应用程序中资源的路径 它看起来像这样 routes MapRoute null Resource resourcePath new controller Resource action Open 动作是
  • Guzzle:处理 400 个错误请求

    我在 Laravel 4 中使用 Guzzle 从另一台服务器返回一些数据 但我无法处理错误 400 错误请求 status code 400 reason phrase Bad Request using client gt get ht
  • Github - 流量 - 奇怪的“Git 克隆”统计数据

    我有一个 Github 存储库 其中包含一些令人困惑的 Git 克隆统计信息 如下所示 该存储库没有大量访问者或 Stars 但在 9 月 29 日显示了相对较多的克隆 GitHub流量帮助页面 https help github com
  • 如何在 SVG / raphael 中的贝塞尔曲线末端绘制箭头?

    我有一条由此生成的曲线 var path M x1 toFixed 3 y1 toFixed 3 L arrow left x arrow left y L arrow right x arrow right y L x1 toFixed
  • Python 错误:io.UnsupportedOperation:fileno

    我正在使用服务器和客户端程序here http www bogotobogo com python python network programming tcp server client chat server chat client s
  • 等待 IO 的可重用测试代码

    我正在尝试在 WCF 公开的方法 服务上使用 async await 一切工作正常 但我想模拟实际等待 IO 的服务方法 以便服务调用将注册到 IO 完成端口 并将线程放回到线程池中 澄清一下 我只是尝试确认 IO 完成端口的使用情况 并更
  • 通过 Wi-Fi 扫描 MFI 产品

    在 iOS 8 中 Apple 允许我们通过 Wifi direct 连接到设备并与其共享 WiFi 网络凭据 我们可以在 wifi 设置页面中执行此操作 也可以在应用程序中执行此操作 我正在尝试启动扫描来查找 wifi MFI 设备 我可
  • 从 aws lambda 函数调用 django 函数视图

    我想在 AWS Lambda 上运行我的 django 视图 为此 我创建了一个 lambda 函数来调用该视图函数 AWS lambda 函数是这样的 gt import app views as v def functionA hand
  • 日语 COBOL 代码:G 文字和标识符的规则?

    我们正在处理IBMEnterprise日语COBOL源代码 准确描述 G 类型文字中允许的内容的规则 标识符的允许范围尚不清楚 IBM 手册指出 G 文字 引号内的第一个字符必须为 SHIFT OUT 以及 SHIFT IN 作为结束引号之
  • 如何在不使用任何第三方库的情况下在C++中反序列化json字符串[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在 vc 创建一个应用程序以 j
  • Jenkins 与 Jest 集成

    有没有办法将 Jenkins 集成到基于 Jasmine 构建的 Javascript Jest 测试框架中 我尝试将 Jest 与茉莉花记者 https github com larrymyers jasmine reporters 但未
  • R 中 LINQ 风格的数据操作

    我感兴趣 R 中是否有一个包支持调用链式数据操作 例如 C LINQ F 我想启用这样的样式 var list new 1 5 10 12 1 var newList list Where x gt x gt 5 GroupBy x gt
  • 在 for 循环内动态创建按钮以在滚动视图中使用

    我在动态创建按钮时遇到问题 我使用了提供的帮助如何在 Android 中动态创建按钮 https stackoverflow com questions 3011092 how can i dynamically create a butt
  • 每两个表行的第 n 个子级

    我需要将表格的每两行设为灰色 如果可能的话 我更愿意使用 nth child 我已经搞乱了Chris Coyier 的第 n 个孩子测试员 http css tricks com examples nth child tester 但仍然无
  • 在 Haskell 中快速更新大状态

    对于 Haskell 中的矢量图形库 我必须携带一个相当大的状态 线条描边参数 颜色 剪辑路径等 我知道有两种方法可以做到这一点 引用来自的评论哈斯克尔咖啡馆 http www mail archive com haskell cafe h
  • Angular 2 JSONP注入脚本没有调用回调错误

    我正在 localhost 3000 上使用 npm 服务器运行应用程序 服务文件 import Injectable from angular core import Jsonp from angular http import rxjs
  • 为什么在 Java 中要在单独的文件中声明枚举?

    为什么这个枚举在它自己的文件中声明 这样做有什么好处吗 另外我如何才能将其放入两个文件之一中 我真的不知道我在做什么 还请用简单的方式解释一下 因为这是教科书示例 而且我对 Java 还很陌生 刻度名称 java enum ScaleNam
  • 如何使用对象数组中的 usestate 更新状态?

    我在使用 React useState 挂钩时遇到了一些问题 我有一个带有复选框按钮的待办事项列表 我想将 完成 属性更新为 true 该属性与 单击 复选框按钮的 id 具有相同的 id 如果我 console log 我的 toggle
  • 如何使用 PowerShell 使用两个 echo 命令在一行上打印数据

    下面是我用来查找用户创建日期和上次登录日期的代码 然后将其写入 csv 文件 users Get ADuser SearchBase OU testou1 dc US dc ITOPS dc COM Filter properties sa
  • 如何制作一个具有真正多语言字符串的应用程序?

    为不同语言制作字符串的最佳方法应该是什么 我有这个问题 我试图显示 月 月 年 年 等字符串 目前我正在研究我所知道的 3 种语言 西班牙语 英语和波兰语 对于英语和西班牙语来说 这很简单 但例如 在波兰语中 年 可以变成 lata 数字