找回密码
 立即注册

QQ登录

只需一步,快速开始

newAll

中级会员

74

主题

196

帖子

784

积分

中级会员

积分
784
newAll
中级会员   /  发表于:2022-11-14 13:59  /   查看:2906  /  回复:17
1金币
想要设置为繁体,然后需要我们自己翻译。但是需要翻译的源文件在哪里能获取?我看这里面https://demo.grapecity.com.cn/sp ... stomLocalization.js也不对啊

最佳答案

查看完整内容

“有一套你们完整的中文文件。然后我们把你们文件翻译成相应的语言”这里我们没有完整的中文文件。 你上面看的文件,只是我们为了demo好演示,将修改的内容统一存到了一个js文件中。这个文件并非官方产出。 所以,可以按照我上面说的自己去改写其中的对应属性。需改写的内容就是GC.Spread.Common.CultureManager.getResources("zh-cn")获取的resource对象中的所有属性。 上述是SpreadJS更改国际化的方式,如果是在线表格编 ...

17 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-14 13:59:19
来自 5#
本帖最后由 Clark.Pan 于 2022-11-30 10:51 编辑

“有一套你们完整的中文文件。然后我们把你们文件翻译成相应的语言”这里我们没有完整的中文文件。
你上面看的文件,只是我们为了demo好演示,将修改的内容统一存到了一个js文件中。这个文件并非官方产出。

所以,可以按照我上面说的自己去改写其中的对应属性。需改写的内容就是GC.Spread.Common.CultureManager.getResources("zh-cn")获取的resource对象中的所有属性。
image.png288558348.png
上述是SpreadJS更改国际化的方式,如果是在线表格编辑器,需要通过下面的方式获取deisgner的额外部分进行修改。
这个是designer专门的resource内容,里面是在SpreadJS基础上额外designer的一部分资源
https://demo.grapecity.com.cn/sp ... signer#getresources
这部分内容不支持culture切换,可以自己写一个判断,判断一下浏览器的当前语言,根据语言去做对应的自定制。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-14 14:18:23
2#
本帖最后由 Clark.Pan 于 2022-11-14 14:21 编辑

大致思路就像demo中所示的那样
通过getResources获取目前的resource对象,然后逐一修改替换里面的属性内容。
最后通过addCultureInfo添加成新的resource,供API进行切换。
image.png926160888.png
修改内容只是举了一个例子,起一个抛砖引玉的效果,真实要修改的肯定比上面的多得多,你看一下里面有哪些属性,逐一鉴别一下是否需要修改。

例如,函数注解这里只改了SUM,NOW,IF。但是实际SpreadJS支持480+函数。如果要彻底替换,这些都需要您自行改写。
回复 使用道具 举报
newAll
中级会员   /  发表于:2022-11-14 14:32:05
3#
Clark.Pan 发表于 2022-11-14 14:18
大致思路就像demo中所示的那样
通过getResources获取目前的resource对象,然后逐一修改替换里面的属性内容 ...

不是有两种方式吗
image.png427052001.png
我按图片这种方式,把源文件中文内容翻译成繁体就行了。源文件在哪能获取?
回复 使用道具 举报
newAll
中级会员   /  发表于:2022-11-14 14:46:21
4#
newAll 发表于 2022-11-14 14:32
不是有两种方式吗

我按图片这种方式,把源文件中文内容翻译成繁体就行了。源文件在哪能获取?

我的理解思路就是,有一套你们完整的中文文件。然后我们把你们文件翻译成相应的语言,然后通过
GC.Spread.Common.CultureManager.addCultureInfo("XXXX", null, lang);  
GC.Spread.Common.CultureManager.culture("XXXXX") ,这样设置就行。不知道我理解的有差错没
回复 使用道具 举报
newAll
中级会员   /  发表于:2022-11-14 16:05:00
6#
Clark.Pan 发表于 2022-11-14 15:56
“有一套你们完整的中文文件。然后我们把你们文件翻译成相应的语言”这里我们没有完整的中文文件。
你上面 ...

首先一个个改属性就不现实,有没有其他方式?比如我把你这resource对象内容全都粘出来,不就是全中文内容了么。然后按照四楼我说的方式直接配置可行否?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-14 16:15:01
7#
4楼就是为了写demo自己整理的,你按照上面的方式自己整理一个也行,接口都是有的,内容也是有的。自己做一个整理,整理成一个对象就行了。
回复 使用道具 举报
newAll
中级会员   /  发表于:2022-11-14 16:17:33
8#
Clark.Pan 发表于 2022-11-14 16:15
4楼就是为了写demo自己整理的,你按照上面的方式自己整理一个也行,接口都是有的,内容也是有的。自己做一 ...

好 我试试
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-14 17:52:00
9#
回复 使用道具 举报
newAll
中级会员   /  发表于:2022-11-14 20:47:33
10#

我使用GC.Spread.Common.CultureManager.getResources("zh-cn")获取数据并用此数据手动创建一个文件,然后修改其中部分文字(假装是翻译的),然后用GC.Spread.Common.CultureManager.addCultureInfo("XXXX", null, lang);  
GC.Spread.Common.CultureManager.culture("XXXXX")这两个方法是可以的(非设计器模式)。
设计器模式,用上面步骤不管用。
所以我使用了其他方式,先用另一个方法获取数据GC.Spread.Sheets.Designer.getResources(),然后创建新文件并改其中部分文字(同样算是假装翻译),最后使用GC.Spread.Sheets.Designer.setResources(修改后的数据),设置上了。无法使用culture进行国际化设置呢?使用setResources满足目前我的需求了,但是会不会导致其他的问题出现?或者有没有更好的办法?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部