如何为Android与iOS共用的Lokalise字符串添加emoji?
Lokalise平台插入emoji兼容Android、iOS双端的操作方案
直接存符合Unicode标准的原生emoji字符即可,不需要做平台专属的转义处理,两个端都能原生识别渲染,具体操作和避坑点如下:
- 编辑Lokalise字符串时,直接用系统输入法输入emoji,或者从公开标准emoji库复制原生emoji字符粘贴到编辑框就行,不要加任何额外转义符、不要套自定义代码。Lokalise导出Android的
strings.xml、iOS的Localizable.strings文件时,会自动把emoji处理成对应平台兼容的格式,不需要人工做额外适配。 - 以下几种写法会导致兼容问题,绝对不要用:
- 不要手动写Android专属的
\uXXXX格式Unicode转义符,iOS无法正常解析这类转义 - 不要手动写iOS专属的
\u{1FXXX}格式Unicode转义符,Android无法识别这类写法 - 不要插入图片形式的伪emoji,不要绑定第三方自定义emoji字体替换原生字符
- 不要手动写Android专属的
- 校验方式:编辑完字符串后,直接在Lokalise内置的预览面板切换Android、iOS视图查看效果,只要预览里emoji显示正常,导出到项目里双端就不会出渲染问题,不需要每次都本地编译包验证。
- 低版本兼容说明:如果个别发布时间较新的emoji在低版本移动系统上显示为空白方块,这是系统自带的emoji字体库版本过低导致的,和Lokalise的字符串配置无关,不需要修改字符串内容,可根据产品需求选择是否加低版本兜底展示逻辑。
内容的提问来源于stack exchange,提问作者Inliner
相关产品推荐
相关产品推荐

