当前位置: 首页 > 知识库问答 >
问题:

不同顺序的Android kotlin字符串格式

宿鹏程
2023-03-14

我有一些本地化的字符串格式,格式参数的顺序不同。例如,我有短语synced 12 files on 6/29/2018,它将显示给用户。其中12和6/29/2018只是占位符。因此我的参考资料中的字符串看起来像

 <string name="n_synced_on_date" formatted="false">"%d files synced on %s"</string>
 <string name="n_synced_on_date" formatted="false">"bla %s bla bla bla %d bla"</string>
 text = String.format(getString(R.string.n_synced_on_date), numberOfFiles, dateString)

对于任何颠倒格式参数的语言,它都将崩溃。

我希望我可以使用Kotlin字符串模板,这样我的资源就可以定义为

<string name="n_synced_on_date" formatted="false">"$NUMBER files synced on $DATESTRING"</string>

这将允许翻译人员将单词按任何顺序排列,但根据这个链接,如何将模板应用于函数返回的字符串,这是不可能的。

共有1个答案

郁和通
2023-03-14

正如这个答案所解释的那样,您可以按照如下方式进行操作,为参数提供一个索引:

<string name="n_synced_on_date" formatted="false">"%1$d files synced on %2$s"</string>
<string name="n_synced_on_date" formatted="false">"bla %2$s bla bla bla %1$d bla"</string>

然后您可以像现在一样运行代码:

String.format(getString(R.string.n_synced_on_date), numberOfFiles, dateString)
 类似资料:
  • 考虑这个例子,从0到10颠倒数字的顺序:<代码> 这以一种双重的方式颠倒了顺序。如果我输入100个从0到10的数字,它包含a 对于字典顺序,我需要同样的东西。我有一根固定长度为10的绳子。如何颠倒字典顺序? 如果它只包含,这将非常简单。但是它也可以包含数字和,并且区分大小写。 有人知道怎么做吗?

  • "给定两个字符串s和t,编写一个函数来检查s是否包含t的所有字符(顺序与字符串t相同)。返回true或false。递归不一定。这是我用java写的代码片段。问题是输入: string1="st3h5irteuyarh!"和string2="shrey"它应该返回TRUE,但它返回FALSE。那是为什么?"

  • 我刚到爪哇。Postgres db包含日期的格式为。我需要转换为。 我已经试过了,但是显示的结果是错误的

  • 请帮助根据顶部数字/分数排序字符串(顺便说一句,根据我们的教练,我们不能使用arrays.sort) } 示例输入是这样的 我想要的输出是这样的 但是发生的是: 请帮忙,我想要一个简单的解释。非常感谢。

  • 问题内容: 我想按字母顺序比较上述两个字符串(在本例中为“ Project”,然后是“ Sunject”,因为“ P”在“ S”之前)。有谁知道如何用Java做到这一点? 问题答案: 可能需要或可能不需要。 如果需要本地化的字符串排序,请查看此链接。

  • 问题内容: 为什么当我使用以下操作对字符求和时,它返回数字而不是字符?它不应该给出相同的结果吗? 下面的代码复制了字符: doubleChar(“ The”)→“ TThhee” 问题答案: 以下表达式的结果 是String连接的结果。Java语言规范说明 字符串串联的结果是对String对象的引用,该对象是两个操作数字符串的串联。在新创建的字符串中,左侧操作数的字符位于右侧操作数的字符之前。 的