Cordova插件扩展——ImagePicker中文支持

官网的ionic-native使用的是:

https://github.com/Telerik-Verified-Plugins/ImagePicker

然而该插件不支持中文,那怎么处理?联系作者修改代码?这很难,不知道何年何月,那我们自己动手改造吧!

什么?不懂原生?不会?其实有时候原生不太懂,也不影响你去使用和修改插件的。不信?请看下去:

首先代码是开源,放在github上的,我们先fork过来然后本地修改。

先打开plugin.xml(插件的基本信息和配置都在该文件,关于这文件,我会专门写一篇文章来说明)观察下文件,分别留意android和ios项下的配置:

android项下的配置

ios项下的配置

观察得出,其实src里面的就是对应的语言描述文件,那我们对应的添加中文支持,就是仿照该文件写一份,然后加到配置项就行了。

andriod在android/Library/res创建文件夹values-zh,其下创建文件multiimagechooser_strings_zh.xml,

ios在ios/GMImagePicker创建文件夹zh-Hans.lproj,其下创建文件GMImagePicker.strings,

最终两份文件内容如下:

multiimagechooser_strings_zh.xml

zh-Hans.lproj/GMImagePicker.strings

改完后,我们安装插件时指定安装位置为修改过的项目路径即可,如可以执行这样的命令,然后和官网一样地调用即可:

ionic cordova plugin add 插件路径(本地或远程的)

是不是很简单?就算有时真的要改源码也不一定很难,因为你可能不会写,但是看,然后简单修改应该还是可以的。

同理,当打包ios发布app store时,会询问关于图像、地理位置或者麦克风等相关描述内容,如果没有填写,会审核不通过,所以如果插件没有做处理,每次发布都要手动修改info.plist填写,于是,为了方便,我们可以在plugin.xml加上下面配置内容:

plugin.xml配置

然后就可以类似下面那样在安装插件时使用variable变量设置参数:

ionic cordova plugin add https://github.com/woodstream/ImagePicker.git --variable PHOTO_LIBRARY_USAGE_DESCRIPTION="your usage message" --variable CAMERA_USAGE_DESCRIPTION="your usage message"

修改过的插件已上传到:

https://github.com/woodstream/ImagePicker

当然,此插件可以直接安装,如下:

ionic cordova plugin add https://github.com/woodstream/ImagePicker

最最后,有个恶心的地方我还没动它,调用的时候传入中文title,不然会显示默认英文标题。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏友弟技术工作室

如何在CLI上管理密码

基于密码的认证在网络盛行的今天,你可能需要或者已经使用了某种密码管理工具来跟踪管理你正在使用的所有密码。有各种各样的在线或离线服务或者软件工具用于完成此类事情,...

51611
来自专栏FreeBuf

打造一款属于自己的远程控制软件(一)

本人为了工作中便于管理手中大量的计算机一直在寻找一款合适的远程控制软件。鉴于网上下载的远程控制软件大多都被不同程度地植入后门,于是萌生了自己打造一款远控的想法,...

1.5K8
来自专栏机器学习和数学

[无聊的软件安装] 从零搭建深度学习环境简明教程

前方图片已沦陷,建议后台回复 环境 获取word版,下载到电脑上方便查看。 主要包括以下内容: 1. 安装Ubuntu 16.04 系统 2.安装Ubuntu系...

3639
来自专栏大内老A

谈谈分布式事务之二:基于DTC的分布式事务管理模型[上篇]

通过上一篇的介绍,我们知道了SOA真正需要的是一个能够协调服务操作直接(通过服务自身访问的资源)或者间接(通过被调用服务访问的资源)访问的所有资源的分布式事务管...

1877
来自专栏菩提树下的杨过

spring cloud: 使用consul来替换config server

上一篇提到了,eureka 2.x官方停止更新后,可以用consul来替代,如果采用consul的话,其实config server也没必要继续使用了,cons...

2213
来自专栏大内老A

谈谈分布式事务之二:基于DTC的分布式事务管理模型[上篇]

通过上一篇的介绍,我们知道了SOA真正需要的是一个能够协调服务操作直接(通过服务自身访问的资源)或者间接(通过被调用服务访问的资源)访问的所有资源的分布式事务管...

2027
来自专栏技术博文

linux ss命令使用详解

ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够...

4976
来自专栏网络

强大的开源网络侦查工具:IVRE

IVRE简介 IVRE(又名DRUNK)是一款开源的网络侦查框架工具,IVRE使用Nmap、Zmap进行主动网络探测、使用Bro、P0f等进行网络流量被动分析,...

3757
来自专栏云计算教程系列

使用SmokePing监控你的服务器

SmokePing是一款监控网络状态和稳定性的开源软件(它是rrdtool的作者开发的),通过它可以监控到公司IDC的网络状况,如延时,丢包率,是否BGP多线等...

5665
来自专栏随心DevOps

使用 React 和 Django REST Framework 构建你的网站

在我们最近的工作中,构建网站使用的架构是带有 Django REST Framework(DRF)后端的 React 前端。它们是通过在前端使用 axios(前...

2K7

扫码关注云+社区

领取腾讯云代金券