chinese-translate
v1.0.2
Published
根据本地繁体字库,实现监听页面文字变动,实时简繁体自动转换。vue和react都实测可以。
Downloads
5
Readme
#########使用说明############
##简繁体转换
####只测过谷歌浏览器,理论上都行####
###安装###
npm i chinese-translate
###测试 test.html 服务启动(live server)###; ###########方法引入###########
import {
chineseTranslateAll,
chineseAjaxTranslate,
chineseStringTranslate,
} from "chinese-translate";
或者分别调用 chineseTranslate,
chineseObserverTranslate,
chineseTagNameTranslate,自己配置
import {
chineseTranslate,
chineseObserverTranslate,
chineseTagNameTranslate,
chineseAjaxTranslate,
chineseStringTranslate,
} from "chinese-translate";
#########根据本地存储,转繁还是转简体,默认;转简体######
localStorage.setItem('zh-language',"zh-mo") 转繁体;
不设或者localStorage.setItem('zh-language',"zh-cn") 转简体;
############dom 加载完成后,比如 vue 的 mounted 里调用,固定执行方法#########
chineseTranslateAll();
一步到位
//标签外文字,转译
chineseTranslate();
//标签属性文字,转译
chineseTagNameTranslate({
tagNames: ["input"],
attributes: ["placeholder"],
});
############@chineseTranslate(obj)也可传参数#########
@chineseTranslate({id:"domId",type:"zh-cn"})
@标签 id 为空时,默认 document
@字体 type 为空时,默认转简体"zh-cn"。转繁体"zh-mo"
@id 可换为 ele 元素,nodes 元素组
chineseTranslate({ ele: ele, });
############@chineseTagNameTranslate(obj)也可传参数#########
@chineseTagNameTranslate({
id,//ele
tagNames:["input","span"],
attributes:["placeholder","data-content"],
type,
})
@标签 id 为空时,默认 document
@obj.equalVal 默认 false ,true 直接赋值,
@tagNames 标签类型,为空,所有标签,document.getElementsByTagName('*')
@attributes,标签属性,必传。为空,不执行
@字体 type 为空时,默认简体
###变动区域文字@chineseObserverTranslate(obj)###
@chineseObserverTranslate({ id,type, childList,characterData,attributes,attributeFilter, callback,callbackContent,callbackAttribute })
@childList 默认 true;characterData、attributes 默认 false;
@obj.callback callback 若没有默认翻译 html, 标签需手动加上 callback(nodes){ chineseTranslate({nodes:nodes,type:obj.type}); }
@obj.callbackContent,characterData 为 true 生效,也可不写
callbackContent(item){ chineseTagNameTranslate({ id:"info_table_prev", tagNames:["div"], attributes:["title"], }) chineseTranslate({ //id:"info_table_prev", ele:ele, }) }
@obj.callbackAttribute,attributes 为 true 生效,也可不写.
@attributeFilter 一个属性名数组 attributeFilter:["value"],
callbackAttribute:function(ele){
console.log(33)
console.log(ele)
chineseTagNameTranslate({
ele:ele,
type:"zh-mo",
tagNames:["input"],
attributes:["value"],
})
},
######实例######
chineseObserverTranslate({
childList: true, //that.state.isChildList,
characterData: true,
callback: function (ele) {
//console.log("1",ele)
chineseTagNameTranslate({
ele: ele,
tagNames: ["div", "input", "select"],
attributes: ["title", "placeholder"],
});
chineseTranslate({
ele: ele,
});
// that.setState({
// isChildList:false
// })
},
callbackContent: function (ele) {
// console.log("2",ele)
chineseTagNameTranslate({
ele: ele,
tagNames: ["div", "input", "select"],
attributes: ["title", "placeholder"],
});
chineseTranslate({
ele: ele,
});
},
});
###@chineseAjaxTranslate(obj)json 或者对象数据转译###
@chineseAjaxTranslate({value,type,lei:"OBJECT"})
@value 为空时,返回空对象
@字体 type 为空时,默认简体
@传入返回否 JSON 或者 OBJECT,lei 为空时,默认 OBJECT
###@chineseStringTranslate(obj)字符串转译###
@chineseStringTranslate({value:"澳门国际"})
@obj 必传,否则返回空字符串
@obj.value 为空时,返回空字符串 也可为字符串 chineseStringTranslate("")
@chineseStringTranslate("澳门国际")