75楼#
发布于:2004-12-23 01:37
最新的Forecasrfox0.7.1汉化(续)
第4~6部分: |
|
76楼#
发布于:2004-12-23 01:37
最新的Forecasrfox0.7.1汉化(续完)
第7~9部分:
----------------- 把全部9个文件放在同一个目录下 forecastfox-0.7.1.part01.rar forecastfox-0.7.1.part02.rar forecastfox-0.7.1.part03.rar forecastfox-0.7.1.part04.rar forecastfox-0.7.1.part05.rar forecastfox-0.7.1.part06.rar forecastfox-0.7.1.part07.rar forecastfox-0.7.1.part08.rar forecastfox-0.7.1.part09.rar 用rar解压,就得到forecastfox-0.7.1.xpi |
|
77楼#
发布于:2004-12-23 01:37
说说firefox插件的汉化(以forecastfox为例)
firefox(mozilla)的插件文件后缀是xpi,如果你把这个后缀改为zip的话,你会发现它其实就是个zip的压缩文件,可以用winzip/winrar解压缩。
由于后面还要用到rar,所以建议大家不妨装一个winrar先。 比方说,我拿到了forecastfox的最新版文件“forecastfox-0.7.1-fx+mz.xpi”,改后缀解压后发现它的目录结构是: ┌─[chrome]───────────forecastfox.jar │ ├─[components]───────nsForecastfox.js │ ├─[defaults]─────────[preferences]─────────forecastfox.js │ ├─install.js │ └─install.rdf 很快遍历一遍,哈,那个“forecastfox.jar”文件果然大有玄机。jar是java打包文件,也是压缩的,可以用rar解开,所以再次把这个文件解压缩,发现里面的目录结构是: ┌─about.js ┌─[content]─────[forecastfox]───┼─forecastfox.js │ ├─forecastfox.xul │ └─... │ │ ┌─[bg-BG] ├─[locale]────┼─[en-US] ┌─contents.rdf │ ├─[zh-CN]───[forecastfox]──┼─forecastfox.dtd │ └─... └─forecastfox.properties │ └─[skin] 其中,locale目录中包含了众多子目录,如“de-DE”(德语)、“en-US”(美式英语)、“zh-CN”(简体中文)等,正是要找的东东耶。首先把不相干的都删掉,只保留“en-US”和“zh-CN”目录就好了。 再来看看官方提供的zh-CN目录下都有些什么?注意看里面有个“forecastfox.properties”文件,不少条目都已经翻译好了,从提供的信息来看,汉语翻译者应该是AXB或者Jose Sun,真要多多感谢了! 不过你会发现官方的这个版本只是做了菜单界面的翻译,至于天气和城市信息等则还是显示英文;还有一点就是,这个插件会自动根据firefox的版本语言选择不同的语言包,比如说,如果你装的是英文版的firefox,则天气插件的界面就是英文的——不爽! 下面我们就来解决上面两个问题。 (一) 汉化时间、天气和城市信息 其实人家早就可以汉化这些信息,只不过因为weather.com禁止修改它发布的信息,所以这些内容只好不翻译,大家看到的都是英文(具体见http://forecastfox.mozdev.org/faq.html),官方网站能提供的就是这么多了,剩下就看咱自己能怎么鼓捣。这里要大大地感谢jackytj兄,他把没有汉化的那些字符串全加进“forecastfox.properties”里了,如: day = 白天 night = 夜间 ESE = 东南偏东 SSW = 西南偏南 WNW = 西北偏西 NNE = 东北偏北 SSE = 东南偏南 WSW = 西南偏西 NNW = 西北偏北 ENE = 东北偏东 SE = 东南 SW = 西南 NW = 西北 NE = 东北 E = 东 S = 南 W = 西 N = 北 Sunday = 周日 Monday = 周一 Tuesday = 周二 Wednesday = 周三 Thursday = 周四 Friday = 周五 Saturday = 周六 Sunny = 晴 Sun = 太阳 Clear = 晴 Haze = 霾 MostlyCloudy = 多云间晴 PartlyCloudy = 晴间多云 Clouds = 云 Scattered = 局部 Mostly = 主要为 Thunderstorms = 雷雨 WintryMix = 冻雨 Fog = 雾 Smoke = 烟雾 Mist = 薄雾 Showers = 阵雨 Fair = 晴 Rain = 雨 Drizzle = 毛毛雨 Snow = 雪 SnowShowers = 阵雪 Flurries = 小雪 Cloudy = 多云 Light = 小 AbagQiChina = 中国阿巴嘎 AchengChina = 中国阿城 AihuiChina = 中国爱辉 BeijingChina = 中国北京 等等。 把这些条目加到“forecastfox.properties”里面之后,还需要用转码工具装成ASCII字符形式表达的unicode,比如“中国北京”转完之后就是“\u4E2D\u56FD\u5317\u4EAC”。在Java开发包(JDK)里可以找到这样的工具,叫“native2ascii.exe”,执行“native2ascii.exe forecastfox.properties”就好了,记得之前把“forecastfox.properties”做个备份。下面是转好后的样子: day = \u767D\u5929 night = \u591C\u95F4 ESE = \u4E1C\u5357\u504F\u4E1C SSW = \u897F\u5357\u504F\u5357 WNW = \u897F\u5317\u504F\u897F NNE = \u897F\u5317\u504F\u897F SSE = \u4E1C\u5357\u504F\u5357 WSW = \u897F\u5357\u504F\u897F NNW = \u897F\u5317\u504F\u5317 ENE = \u4E1C\u5317\u504F\u4E1C SE = \u4E1C\u5357 SW = \u897F\u5357 NW = \u897F\u5317 NE = \u4E1C\u5317 E = \u4E1C S = \u5357 W = \u897F N = \u5317 Sunday = \u5468\u65E5 Monday = \u5468\u4E00 Tuesday = \u5468\u4E8C Wednesday = \u5468\u4E09 Thursday = \u5468\u56DB Friday = \u5468\u4E94 Saturday = \u5468\u516D Sunny = \u6674 Sun = \u592A\u9633 Clear = \u6674 Haze = \u973E MostlyCloudy = \u591A\u4E91\u95F4\u6674 PartlyCloudy = \u6674\u95F4\u591A\u4E91 Clouds = \u4E91 Scattered = \u5C40\u90E8 Mostly = \u4E3B\u8981\u4E3A Thunderstorms = \u96F7\u96E8 WintryMix = \u51BB\u96E8 Fog = \u96FE Smoke = \u70DF\u96FE Mist = \u8584\u96FE Showers = \u9635\u96E8 Fair = \u6674 Rain = \u96E8 Drizzle = \u6BDB\u6BDB\u96E8 Snow = \u96EA SnowShowers = \u9635\u96EA Flurries = \u5C0F\u96EA Cloudy = \u591A\u4E91 Light = \u5C0F AbagQiChina = \u4E2D\u56FD\u963F\u5DF4\u560E AchengChina = \u4E2D\u56FD\u963F\u57CE AihuiChina = \u4E2D\u56FD\u7231\u8F89 BeijingChina = \u4E2D\u56FD\u5317\u4EAC 为了让插件能够读取这些新加的字串,还需要对两个“js”文件做些改动,这两个文件分别是[chrome] -> forecastfox.jar -> [content] -> [forecastfox]目录下的“forecastfox.js”,以及[components]目录下的“nsForecastfox.js”。大概是在“setLabel: function(...)”这个函数里,加上 “ var weather_words = [ [/Sunday/g, strings.getString('Sunday')], [/Monday/g, strings.getString('Monday')], ... ]; for (var x = 0; x < weather_words.length; x++) { text = text.replace(weather_words[x][0], weather_words[x][1]); } ”之类的字符串替换功能。所幸jackytj兄已经改好了,再次感谢!(以后如果要添加你自己的条目,记得依样画葫芦就是了,呵呵。。。) 改完之后,请记得把从jar包中释放出来并且改动了的文件重新打包进“forecastfox.jar”里面,最省事的办法就是用winrar,用鼠标直接拖进去就成了。 (二) 在非简体中文版FF中让天气插件显示汉字 这个问题其实比较简单,还记得开始解开的目录里有叫“install.js”和“install.rdf”的文件吗? 打开install.js这个文件会发现里面有一项“LOCALE_LIST”,列了N多的语言:["en-US", "ca-AD", "el-GR", "es-ES", "fr-FR", "it-IT", "nl-NL", "pt-BR", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "tr-TR", "zh-CN", "zh-TW", "pl-PL", "de-DE", "cs-CZ", "ko-KR", "bg-BG", "da-DK"]! 看来咱是用不了那么多了,其它统统删掉,就保留"zh-CN"好了。改好的样子如下: const LOCALE_LIST = ["zh-CN"]; 打开install.rdf,找到 <em:file> -> <Description> 里的<em:locale>项,会看到许多语言;删除其余的<em:locale>项,只保留 <em:locale>locale/zh-CN/forecastfox/</em:locale> 这一条。 是不是很轻松就解决了在英文版ff里天气插件显示汉字的问题?! (三) 其它小的修改 比如,在[defaults] -> [preferences]下的forecastfox.js,里面定义的缺省单位是美制: pref("forecastfox.general.units", 1); //1=american,2=english,3=metric 而中国人使用习惯是公制,可以把“1”改为“3”: pref("forecastfox.general.units", 3); //1=american,2=english,3=metric 接下来需要把改好的jar文件连同其它改动的文件放回forecastfox.xpi文件里,同样是用winrar。怎么样,一个最新的汉化版出来了吧! |
|
78楼#
发布于:2004-12-23 01:37
谢谢了 drekar
|
|
79楼#
发布于:2004-12-23 01:37
我在LINUX下RAR文件不好搞呀,楼主你把XPI文件给我.我上传到空间里然后公布地址给大家下载吧.
<!-- e --><a href="mailto:admin.liu@gmail.com">admin.liu@gmail.com</a><!-- e --> |
|
80楼#
发布于:2004-12-23 01:37
|
|
81楼#
发布于:2004-12-23 01:37
使用了,感觉很不错
|
|
|
上一页
下一页