TTOOMM
TTOOMM
  • 发布:2020-02-08 17:22
  • 更新:2021-05-19 15:33
  • 阅读:2476

【报Bug】chooseimage 的国际化

分类:uni-app

详细问题描述

在手机设置英文的情况下,使用uni.chooseImage 弹出框依旧是中文的
后来自己写了一个弹出框,但是使用uni.chooseImage,参数是album 的时候,选择图片里面是中文的,自己也不能翻译。
能否改成中英文只少是,或者英文,或者是图标的?

另外组件市场目前也没有一个组件可以直接从相册选择。

希望可以有更加强大的国际化功能。

2020-02-08 17:22 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

uni-app 内置国际化方案说明 https://ask.dcloud.net.cn/article/38821

DCloud_UNI_GSQ

DCloud_UNI_GSQ

感谢反馈,后续会处理

  • TTOOMM (作者)

    谢谢,还有Picker的取消和确认

    2020-02-10 15:26

  • 3***@qq.com

    最近项目也遇到选择图片的国际化问题了,希望能尽快处理,或者给出临时解决方案,谢谢。

    2020-03-06 21:25

  • l***@thinmoo.com

    处理好了?被国外用户吐槽,受不了了

    2020-06-30 14:43

  • DCloud_UNI_GSQ

    回复 l***@thinmoo.com: iOS还是安卓,具体哪里?

    2020-07-01 16:51

  • 英盟

    相册选择图片国际化,有解决方案吗?

    2020-08-11 09:47

  • Meaty

    希望早点解决

    2020-12-11 11:48

  • l***@aol.com

    一年了,这个问题处理一下这么难么?就算不能用户自定义,至少根据系统语言切换一下啊?或者你好歹默认个英文行不行?

    2021-02-27 16:12

3***@qq.com

3***@qq.com - 80H

顶一个,希望能尽快解决,项目中使用了,发现n多的坑,有点悔不当初

QiuXc

QiuXc

自己封装的一个实现选择图片弹框国际化的方法,返回的格式与 uni.chooseImage,因此可以把 uni.chooseImage 替换掉,在main.js挂到了Vue原型上:

/** 封装国际化选择图片  
 * @param {Object} self 组件中的 this  
 * @param {Object} params 配置参数  
 */  
Vue.prototype.selectImage = (self, params = {}) => {  
    let count = params.count || 1;                                   // 数量  
    let sizeType = params.sizeType || ['original', 'compressed'];            // 原图和压缩图  
    let sourceType = params.sourceType || ['album', 'camera'];       // 相册和相机  
    let success = params.success || function success(){};            // 成功回调  
    let fail = params.fail || function fail(){};                             // 失败回调  
    let option = {  
        cancel: self.$t('prompt.btn2'),            // i18n取消文字  
        buttons: [{  
                title: self.$t('prompt.imgBtn1') // i18n相机文字    
            },  
            {  
                title: self.$t('prompt.imgBtn2') // i18n相册文字    
            }  
        ]  
    };  
    if(!sourceType.includes('album')) delete option.buttons[0];  
    if(!sourceType.includes('camera')) delete option.buttons[1];  
    plus.nativeUI.actionSheet(option,  
        async (tap) => {  
            if(tap.index === 1) {  
                // 拍照  
                const cmr = plus.camera.getCamera();  
                cmr.captureImage((path) => {  
                    plus.io.getFileInfo({  
                        filePath: path,  
                        success: res => {  
                            let result = {  
                                errMsg: "chooseImage:ok",  
                                tempFilePaths: [path],  
                                tempFiles: [{  
                                    path: path,  
                                    size: res.size  
                                }]  
                            };  
                            success(result);  
                        },  
                        fail: err => fail(err)  
                    });  
                    }, (err) => {fail(err)});  
            } else if (tap.index === 2) {  
                // 从相册选择  
                plus.gallery.pick(  
                (res) => {  
                    let filesList = res.files;  
                    let tempFiles = [];  
                    for (let path of filesList) {  
                        plus.io.getFileInfo({  
                            filePath: path,  
                            success: r => {  
                                console.log(r);  
                                tempFiles.push({  
                                    path: path,  
                                    size: r.size  
                                });  
                                if(tempFiles.length === filesList.length) {  
                                    success({  
                                        errMsg: "chooseImage:ok",  
                                        tempFilePaths: filesList,  
                                        tempFiles  
                                    })  
                                }  
                            },  
                            fail: err => fail(err)  
                        });  
                    }  
                }, (err) => {fail(err)},{  
                    filter: "image",  
                    multiple: true,  
                    maximum: count,  
                    system: false,  
                });  
            }  
        });  
}
  • 远夏

    大佬,我用你这个的话,我要怎么处理选中图片之后的逻辑呢?

    2020-12-22 15:57

刀塔之妖

刀塔之妖

这个有进展吗?
我的天

  • TTOOMM (作者)

    不清楚,我自己写了一个

    2020-09-01 12:34

TTOOMM

TTOOMM (作者)

还有一个webview的国际化问题
帖子如下:
https://ask.dcloud.net.cn/question/103786

l***@aol.com

l***@aol.com

一年了,这个问题处理一下这么难么?就算不能用户自定义,至少根据系统语言切换一下啊?或者你好歹默认个英文行不行?

Sea121

Sea121

我的默认是个英文的,问题是换不回来了,我需要的是中文啊啊啊啊

  • DCloud_UNI_GSQ

    https://ask.dcloud.net.cn/article/38821

    2021-05-19 15:33

1***@qq.com

该问题目前已经被锁定, 无法添加新回复