x-spreadsheet
x-spreadsheet copied to clipboard
中文如何设置
我搞后端的,不是很懂JS,试着用CDN,按照着写,不对啊
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>x-spreadsheet</title>
</head>
<body onload='load()'>
<div id="xspreadsheet"></div>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/xspreadsheet.css">
<script src="https://unpkg.com/[email protected]/dist/xspreadsheet.js"></script>
<script type="text/javascript" src="https://unpkg.com/[email protected]/dist/locale/zh-cn.js"></script>
<script>
function load() {
x_spreadsheet.locale('zh-cn');
var xs = x_spreadsheet('#xspreadsheet');
}
</script>
</body>
</html>
然后试着去改x-spreadsheet-master\dist的index.html 然后设置中文,去掉里面的这几行注释,然后又报错~
...
x_spreadsheet.locale('zh-cn');
...
<script type="text/javascript" src="locale/zh-cn.js"></script>
...
请引用1.1.0版本
引用 1.1.0 也没有成功。 求指导。
找到原因了。
将位置调整一下。
同样的问题,最后把zh-cn.js里面语言数据直接写到项目代码上才解决
window&&window.x_spreadsheet&&(window.x_spreadsheet.$messages=window.x_spreadsheet.$messages||{},window.x_spreadsheet.$messages["zh-cn"]={toolbar:{undo:"撤销",redo:"恢复",print:"打印",paintformat:"格式刷",clearformat:"清除格式",format:"数据格式",fontName:"字体",fontSize:"字号",fontBold:"加粗",fontItalic:"倾斜",underline:"下划线",strike:"删除线",color:"字体颜色",bgcolor:"填充颜色",border:"边框",merge:"合并单元格",align:"水平对齐",valign:"垂直对齐",textwrap:"自动换行",freeze:"冻结",autofilter:"自动筛选",formula:"函数",more:"更多"},contextmenu:{copy:"复制",cut:"剪切",paste:"粘贴",pasteValue:"粘贴数据",pasteFormat:"粘贴格式",hide:"隐藏",insertRow:"插入行",insertColumn:"插入列",deleteSheet:"删除",deleteRow:"删除行",deleteColumn:"删除列",deleteCell:"删除",deleteCellText:"删除数据",validation:"数据验证",cellprintable:"可打印",cellnonprintable:"不可打印",celleditable:"可编辑",cellnoneditable:"不可编辑"},print:{size:"纸张大小",orientation:"方向",orientations:["横向","纵向"]},format:{normal:"正常",text:"文本",number:"数值",percent:"百分比",rmb:"人民币",usd:"美元",eur:"欧元",date:"短日期",time:"时间",datetime:"长日期",duration:"持续时间"},formula:{sum:"求和",average:"求平均值",max:"求最大值",min:"求最小值",concat:"字符拼接",_if:"条件判断",and:"和",or:"或"},validation:{required:"此值必填",notMatch:"此值不匹配验证规则",between:"此值应在 {} 和 {} 之间",notBetween:"此值不应在 {} 和 {} 之间",notIn:"此值不在列表中",equal:"此值应该等于 {}",notEqual:"此值不应该等于 {}",lessThan:"此值应该小于 {}",lessThanEqual:"此值应该小于等于 {}",greaterThan:"此值应该大于 {}",greaterThanEqual:"此值应该大于等于 {}"},error:{pasteForMergedCell:"无法对合并的单元格执行此操作"},calendar:{weeks:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},button:{next:"下一步",cancel:"取消",remove:"删除",save:"保存",ok:"确认"},sort:{desc:"降序",asc:"升序"},filter:{empty:"空白"},dataValidation:{mode:"模式",range:"单元区间",criteria:"条件",modeType:{cell:"单元格",column:"列模式",row:"行模式"},type:{list:"列表",number:"数字",date:"日期",phone:"手机号",email:"电子邮件"},operator:{be:"在区间",nbe:"不在区间",lt:"小于",lte:"小于等于",gt:"大于",gte:"大于等于",eq:"等于",neq:"不等于"}}});
x_spreadsheet.locale('zh-cn');
找到原因了。
将位置调整一下。
试过了没用,很明显是引用的 zh-cn.js 根本没执行到最后就退出了,搞不懂为什么简单的逻辑写这么复杂
文档提供的引用方式不对,应该是:
import 'x-data-spreadsheet/dist/locale/zh-cn';
Spreadsheet.locale('zh-cn');
感谢@noirlyrik, 文档会更新
import 'x-data-spreadsheet/dist/locale/zh-cn'
Spreadsheet.locale('zh-cn', (window.x_spreadsheet as any).$messages['zh-cn'])
这样可以了
import 'x-data-spreadsheet/dist/locale/zh-cn' Spreadsheet.locale('zh-cn', (window.x_spreadsheet as any).$messages['zh-cn'])
这样可以了
vue3 这样,才编过: Spreadsheet.locale('zh-cn', (window.x_spreadsheet).$messages['zh-cn'])
vue2+npm import zhCN from 'x-data-spreadsheet/src/locale/zh-cn'; 就可以了
vue3 + vite 这样成功了
// 引入src下的依赖
import zhCN from 'x-data-spreadsheet/src/locale/zh-cn';
import Spreadsheet from 'x-data-spreadsheet';
// 设置中文
Spreadsheet.locale('zh-cn', zhCN);
vue2+npm直接这样就行啦 import 'x-data-spreadsheet/dist/locale/zh-cn' Spreadsheet.locale('zh-cn', (window.x_spreadsheet).$messages['zh-cn'])亲测!!!