gpt4 book ai didi

javascript - 如何在不和谐的机器人中制作多语言?

转载 作者:行者123 更新时间:2023-12-05 01:34:59 26 4
gpt4 key购买 nike

我有 en.json 和 ru.json 文件,我在那里按类型使用变量:

levelupmessage: "Congratulations on the new $ {level}"

因为在 json 中你不能放 `` 需要做什么才能不只是一个字符串?

最佳答案

您需要创建一个模块,从 en.jsonru.json 加载所有消息并将它们保存在一个对象中。然后,创建一个函数,在您的对象中查找指定的字符串。此函数还将 %VAR% 替换为您传递给该函数的参数。

看看这个例子:

let strings = {
en: {
// I prefer % for variables
levelUp: "Congratulations on leveling up: %VAR%"
},
ru: {
levelUp: "Поздравляем с новым уровнем: %VAR%"
}
};

// Function to get locales and replace variables
function getLocale(language, string, ...vars) {
let locale = strings[language][string];

let count = 0;
locale = locale.replace(/%VAR%/g, () => vars[count] !== null ? vars[count] : "%VAR%");

return locale;
}

getLocale("en", "levelUp", "10"); // Congratulations on leveling up: 10
getLocale("ru", "levelUp", "10"); // Поздравляем с новым уровнем: 10

这就是许多流行的 Discord 机器人处理国际化的方式。

关于javascript - 如何在不和谐的机器人中制作多语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63376186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com