自定义语言
大约 3 分钟...
本教程指引你自定义 @waline/client 多语言与显示文字。
简介
@waline/client 提供了 locale 选项,你可以通过它自定义多语言与显示文字。
默认情况下,它会使用内置的多语言文字,并在语言不受支持时,回退到 en-US (英语美国)。
你可以传递一个完成的多语言配置给 locale 选项来新增语言支持,或者设置其中的几项对现有的 UI 文字进行覆盖。
locale 选项
等级相关:
level${number}: number 等级的文字
提示
比如你设置了 6 个等级,你可以这样定义它们:
Waline.init({ locale: { level0: '炼体', level1: '炼气', level2: '筑基', level3: '金丹', level4: '元婴', level5: '化神', }, });反应相关:
reactionTitle: 反应标题reaction0: 反应 1 文字reaction1: 反应 2 文字reaction2: 反应 3 文字reaction3: 反应 4 文字reaction4: 反应 5 文字reaction5: 反应 6 文字reaction6: 反应 7 文字reaction7: 反应 8 文字reaction8: 反应 9 文字
UI 相关:
nick: 昵称mail: 邮箱link: 网址placeholder: 评论框默认文字sofa: 评论区为空时的显示文字submit: 提交按钮文字comment: 评论按钮文字refresh: 刷新按钮文字more: 加载更多按钮文字uploading: 上传时显示文字login: 登录按钮文字admin: 管理员的标签sticky: 置顶文字word: 字anonymous: 匿名用户默认名称optional: 标明可选项的文字gifSearchPlaceholder: 表情包搜索占位文字oldest: 最早的评论latest: 最新的评论hottest: 最热的评论
相关信息
此分类内的文字会显示在页面上。
提示信息相关:
nickError: 昵称不满足条件的错误信息mailError: 邮箱不满足条件的错误信息wordHint: 评论字数的错误提示,其中$0$1$2会被自动替换为字数允许下限、字数允许上限、当前字数。
评论时间相关:
seconds: 秒前minutes: 分钟前hours: 小时前days: 天前now: 刚刚
管理相关:
approved: 审核通过waiting: 等待审核spam: 垃圾评论unsticky: 取消置顶
无障碍相关:
like: 喜欢文字cancelLike: 取消喜欢文字reply: 回复按钮的标签文字cancelReply: 取消回复按钮的标签文字preview: 预览按钮的标签文字emoji: 表情按钮的标签文字gif: 表情包按钮的标签文字uploadImage: 上传图片按钮的标签文字profile: 档案页标签文字logout: 退出登录按钮的标签文字
相关信息
上述文字只用于无障碍服务增强,不会显示在页面中。
例子
// 中文默认
const locale = {
nick: '昵称',
nickError: '昵称不能少于3个字符',
mail: '邮箱',
mailError: '请填写正确的邮件地址',
link: '网址',
optional: '可选',
placeholder: '欢迎评论',
sofa: '来发评论吧~',
submit: '提交',
like: '喜欢',
cancelLike: '取消喜欢',
reply: '回复',
cancelReply: '取消回复',
comment: '评论',
refresh: '刷新',
more: '加载更多...',
preview: '预览',
emoji: '表情',
uploadImage: '上传图片',
seconds: '秒前',
minutes: '分钟前',
hours: '小时前',
days: '天前',
now: '刚刚',
uploading: '正在上传',
login: '登录',
logout: '退出',
admin: '博主',
sticky: '置顶',
word: '字',
wordHint: '评论字数应在 $0 到 $1 字之间!\n当前字数:$2',
anonymous: '匿名',
level0: '潜水',
level1: '冒泡',
level2: '吐槽',
level3: '活跃',
level4: '话痨',
level5: '传说',
gif: '表情包',
gifSearchPlaceholder: '搜索表情包',
profile: '个人资料',
approved: '通过',
waiting: '待审核',
spam: '垃圾',
unsticky: '取消置顶',
oldest: '按倒序',
latest: '按正序',
hottest: '按热度',
reactionTitle: '你认为这篇文章怎么样?',
};
Waline.init({
el: '#waline',
serverURL: 'YOUR_SERVER_URL',
path: location.pathname,
// ...
locale,
});
友情提示:评论区仅作评论展示,如有问题咨询请去 Github Discussion 中提问。






