更新记录
1.0.0(2023-02-09)
新版首发
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:支持 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
KJ-Translate
注意事项
需要下载翻译模型,才能实现离线翻译
使用
<template>
<view class="content">
<button type="primary" @click="init">初始化</button>
<button type="primary" @click="downloadModelIfNeeded">自动翻译模型下载</button>
<textarea auto-height auto-focus="true" placeholder="请输入需要翻译的文字" v-model="text" />
<button type="primary" @click="translate">翻译文本</button>
<view>翻译后结果为:{{translateResult}}</view>
<button type="primary" @click="close">关闭</button>
<view class="title">-------以下方法不需要init,就可以调用------</view>
<button type="primary" @click="getDownloadedModels">获取已下载过的翻译模型</button>
<button type="primary" @click="deleteDownloadedModel">删除已下载的翻译模型</button>
<button type="primary" @click="download">下载翻译模型(提前下载模型)</button>
</view>
</template>
<script>
const KJTranslate = uni.requireNativePlugin('KJ-Translate');
export default {
data() {
return {
title: 'Hello',
text: "欢迎使用我的插件,准备好了吗?\n 我是输入框 \n 点击\“翻译文本\"按钮,即可得到结果",
translateResult: ""
}
},
onLoad() {
this.init();
this.downloadModelIfNeeded();
},
methods: {
init() {
var dic = {
sourceLanguage: "zh",
targetLanguage: "en"
}
KJTranslate.init(dic, (res) => {
console.log("init:" + JSON.stringify(res));
})
},
downloadModelIfNeeded() {
plus.nativeUI.showWaiting("正在下载翻译模型...", {
back: 'none'
});
KJTranslate.downloadModelIfNeeded((res) => {
console.log("downloadModelIfNeeded:" + JSON.stringify(res));
plus.nativeUI.closeWaiting();
if (res.isSuccess == true) {
uni.showToast({
title: '下载成功',
duration: 2000
});
} else {
uni.showToast({
title: res.error,
duration: 2000
});
}
})
},
translate() {
var dic = {
text: this.text,
}
KJTranslate.translate(dic, (res) => {
console.log("translate:" + JSON.stringify(res));
if (res.isSuccess == true) {
this.translateResult = res.result
}
})
},
close() {
KJTranslate.close()
},
getDownloadedModels() {
KJTranslate.getDownloadedModels((res) => {
console.log("getDownloadedModels:" + JSON.stringify(res));
})
},
deleteDownloadedModel() {
var dic = {
language: "zh",
}
KJTranslate.deleteDownloadedModel(dic, (res) => {
console.log("deleteDownloadedModel:" + JSON.stringify(res));
})
},
download() {
plus.nativeUI.showWaiting("正在下载翻译模型...", {
back: 'none'
});
var dic = {
language: "ja",
}
KJTranslate.download(dic, (res) => {
console.log("download:" + JSON.stringify(res));
plus.nativeUI.closeWaiting();
if (res.isSuccess == true) {
uni.showToast({
title: '下载成功',
duration: 2000
});
} else {
uni.showToast({
title: res.error,
duration: 2000
});
}
})
}
}
}
/**
* 支持以下语言之间互译
BCP-47代码 语言
af 南非荷兰语
ar 阿拉伯语
be 白俄罗斯语
bg 保加利亚语
bn 孟加拉语
ca 加泰罗尼亚语
cs 捷克语
cy 威尔士语
da 丹麦语
de 德语
el 希腊语
en 英语
eo 世界语
es 西班牙语
et 爱沙尼亚语
fa 波斯语
fi 芬兰语
fr 法语
ga 爱尔兰语
gl 加利西亚语
gu 古吉拉特语
他 希伯来语
hi 北印度语
小时 克罗地亚语
ht 海地语
hu 匈牙利语
id 印度尼西亚语
: 冰岛语
it 意大利语
ja 日语
ka 格鲁吉亚语
kn 卡纳达语
ko 韩语
lt 立陶宛语
lv 拉脱维亚语
mk 马其顿语
mr 马拉地语
毫秒 马来语
mt 马耳他语
nl 荷兰语
否 挪威语
pl 波兰语
pt 葡萄牙语
ro 罗马尼亚语
ru 俄语
sk 斯洛伐克语
sl 斯洛文尼亚语
sq 阿尔巴尼亚语
sv 瑞典语
sw 斯瓦希里语
ta 泰米尔语
te 泰卢固语
th 泰语
tl 塔加路语
tr 土耳其语
uk 乌克兰语
ur 乌尔都语
vi 越南语
zh 中文
* */
</script>
<style>
.title {
text-align: center;
margin-top: 8px;
margin-bottom: 8px;
}
</style>