起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: kevinnu

[结贴] 如何通过在app选择框中选择语言来动态设置APP得国际化?

  [复制链接]

22

主题

62

帖子

320

积分

中级会员

Rank: 3Rank: 3

积分
320
QQ
发表于 2016-2-25 09:34:19 | 显示全部楼层
liangyongfei 发表于 2016-2-25 08:56
那你先使用url参数,就是打包时,首页地址的url后面加上  :  ?language=en_US
也可以先在浏览器上使用 ?l ...

在url后面加&language=en_US,我试了单页面可以,但如果是页面跳转就不行了
回复 支持 反对

使用道具 举报

22

主题

62

帖子

320

积分

中级会员

Rank: 3Rank: 3

积分
320
QQ
发表于 2016-2-25 10:00:04 | 显示全部楼层
本帖最后由 青春败给红颜 于 2016-2-25 10:03 编辑
liangyongfei 发表于 2016-2-25 08:56
那你先使用url参数,就是打包时,首页地址的url后面加上  :  ?language=en_US
也可以先在浏览器上使用 ?l ...

单页面在浏览器中的地址是http://localhost:8080/x5/UI2/v_/ShiKeSweetX5/admin/login.w?device=m,
单页面在url中添加语言后这样的http://localhost:8080/x5/UI2/v_/ShiKeSweetX5/admin/login.w?device=m&language=en_US,页面变成了英语,页面跳转在浏览器中的地址是这样的http://localhost:8080/x5/UI2/v_/ShiKeSweetX5/index.w?device=m#!admin_login,我在地址后面添加语言后是这样的http://localhost:8080/x5/UI2/v_/ShiKeSweetX5/index.w?device=m#!admin_login&language=en_US,按下回车之后直接报错,但是我直接在跳转后的地址的?后面添加语言就可以,是这样的http://localhost:8080/x5/UI2/v_/ShiKeSweetX5/index.w?language=en_US&device=m#!admin_login,要怎么去设置才可以让页面在跳转的时候url变成这种样式啊
回复 支持 反对

使用道具 举报

发表于 2016-2-25 11:17:09 | 显示全部楼层
青春败给红颜 发表于 2016-2-25 10:00
单页面在浏览器中的地址是http://localhost:8080/x5/UI2/v_/ShiKeSweetX5/admin/login.w?device=m,
单页 ...

请问你是如何页面跳转的??请使用shell跳转的方式,应该就没问题的!
http://wex5.com/cn/open-page/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

62

帖子

320

积分

中级会员

Rank: 3Rank: 3

积分
320
QQ
发表于 2016-2-25 15:58:56 | 显示全部楼层
liangyongfei 发表于 2016-2-25 11:17
请问你是如何页面跳转的??请使用shell跳转的方式,应该就没问题的!
http://wex5.com/cn/open-page/ ...

打包app的时候添加language没有用啊,模式1,还有js怎么国际化啊,论坛里的帖子都是迷迷糊糊的
回复 支持 反对

使用道具 举报

发表于 2016-2-25 16:12:43 | 显示全部楼层
青春败给红颜 发表于 2016-2-25 15:58
打包app的时候添加language没有用啊,模式1,还有js怎么国际化啊,论坛里的帖子都是迷迷糊糊的 ...

测试的时候,先使用模式3打包进行测试,
js还需要国际化吗??
js的作用只不过操作dom对象来控制页面显示,只要做好.w的国际化即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

62

帖子

320

积分

中级会员

Rank: 3Rank: 3

积分
320
QQ
发表于 2016-2-25 16:18:17 | 显示全部楼层
liangyongfei 发表于 2016-2-25 16:12
测试的时候,先使用模式3打包进行测试,
js还需要国际化吗??
js的作用只不过操作dom对象来控制页面显示 ...

会动态生成弹框啊,弹框上的内容要国际化啊
回复 支持 反对

使用道具 举报

发表于 2016-2-25 16:32:43 | 显示全部楼层
青春败给红颜 发表于 2016-2-25 16:18
会动态生成弹框啊,弹框上的内容要国际化啊

js中可以使用getLanguage 方法获取语言啊!
获取到进行判断就知道改写什么了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

62

帖子

320

积分

中级会员

Rank: 3Rank: 3

积分
320
QQ
发表于 2016-2-25 17:14:51 | 显示全部楼层
liangyongfei 发表于 2016-2-25 16:32
js中可以使用getLanguage 方法获取语言啊!
获取到进行判断就知道改写什么了! ...

那是要每处有中文的地方都要进行判断么?能不能一个js文件只判断一次整个js文件的中文就可以全改了啊,像w文件那样一个properties文件
回复 支持 反对

使用道具 举报

发表于 2016-2-25 17:19:29 | 显示全部楼层
青春败给红颜 发表于 2016-2-25 17:14
那是要每处有中文的地方都要进行判断么?能不能一个js文件只判断一次整个js文件的中文就可以全改了啊, ...

那你就写一个公共的js类库,你自己定义一系列编码,表示不同的含义,每次根据编码获取对应的文字,获取文字的时候判断一次即可!根据语言返回结果
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

发表于 2016-2-29 10:04:25 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-2-29 14:57 编辑
青春败给红颜 发表于 2016-2-24 18:32
我照着做了,可是没有用啊

楼主您好!通过向专业人员请教,正确的动态设置语言的方法应该是:
var url = new justep.URL(window.location.href);
url.setLanguage(xx);
window.location.href=url.toString()

修改当前Url 然后重新发送请求!
URL.getLanguage 是静态方法,而setLanguage是实例方法,必须要new以后才可以调用的!

另外,多语言暂时只支持模式3打包,模式2和模式1暂时是没有支持的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-19 16:54 , Processed in 0.096788 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表