javascript - 使用 Javascript 处理复数值的不同方法是什么?如何支持本地化?

标签 javascript json api localization

//来自 API 的示例响应

“期间”:{ "periodIn": "天", “周期值”:10

因此,在前端它会导致 10 天。//但是,如果 periodValue 为 1,那么我的结果将是 1 days,这是不正确的。

我知道后端没有正确处理数据,但我认为应该有办法在前端处理这种情况。

我想知道处理这种情况的正确方法是什么。我目前不使用任何本地化库,但我有自己的 JSON 文件,我将所有数据存储为从响应中获得的占位符。

期待收到你们的来信。

最佳答案

例如,您可以存储各种单词及其单数和复数类型,并为单词 anpther 获取用于获取格式化字符串的函数。

如果您有不同的格式,您可以将格式与单词一起存储。

function getPlural(number, word) {
    return number === 1 ? word.one : word.other;
}

function getValue(v, word) {
    return `${v} ${getPlural(v, words[word])}`;
}

var words = {
        day: { one: 'day', other: 'days' }
    };

console.log(getValue(1, 'day'));
console.log(getValue(7, 'day'));
console.log(getValue(0, 'day'));

关于javascript - 使用 Javascript 处理复数值的不同方法是什么?如何支持本地化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58387515/

相关文章:

javascript - JQuery $.post 响应包含错误

javascript - 无法使用 JavaScript 控制台调用按钮类

Android 数据库设计,使用 SQLite 或直接使用 mySQL 和 JSON

api - 谷歌图书搜索 API 的替代品?

.net - 如何通过 Google AdWords API v201309 检索每日费用?

javascript - 如何在Rails路由器之上使用React Router(不使用react-rails gem)?

javascript - javascript 中的 FLT_EPSILON 如何翻译这段代码?

javascript - 如何使用 jQuery 在选择框中显示 JSON 数据?

javascript - Base64 编码 url 涉及的安全漏洞

iphone - 在 iPhone 应用程序中生成 KML 文件