功能分两块:1、获取页面上要翻译的内容;
2、将内容从自定义的资源包中匹配;
我的网站翻译就是在创建html页面的时候,重写其中的一个方法,
第一步:获取页面上要翻译的内容:
在MVC中由这么一个类:System.Web.Mvc.WebViewPage,他负责将我们在Razor中写的方法或属性呈现。我将这个WebViewPage类重写里面一个方法,WriteLiteral()这个方法排除视图中定义的方法和属性,将html遍历(内容长度不固定),到这一步,可以就可以从写遍历的内容了,我在这一步将html的标签里的内容获取出来,然后将内容进行分词翻译
将标签的内容查找出的方式有多种,像用正则、html解析、将内容ToChar后解析,我想到是这三种(大家还有什么办法)。
资源包,也就是纯手工翻译。我知道可以调用网上的翻译接口,或将百度翻译的接口`取下来`用。不过不建议这么做。有提供的收费接口,但我不是要经常用。我的资源包是仿造微软的资源包。定义成XML文件。因为微软的资源包一个包只能放一种语言,如果我要用十个国家的语言,我就要创建十个文件,我感觉是很不方便,所以我想了用这种方法。人工翻译的时候编译成excel文件,服务器使用xml文件
需要尽量将内容分成最小的词语,就是防止匹配问题
这是我第一次写博客,写的不好,还请见谅。