- UID
- 267023
- 帖子
- 29
- 精华
- 0
- 贡献
- 0
- 推广
- 0
- 有效BUG
- 0
- 注册时间
- 2010-2-22
|
to jfjj007:利用内置多语言支持功能翻译快捷键扩展(Shortcut Manager)的方法
安装了斑竹翻译的快捷键扩展,非常好用。特别是BZ的翻译,很棒。
翻了一下代码,发现这个扩展本身是支持多语言的,
不过默认的语言只有英文和日文,但是可以直接增加中文的翻译,具体步骤:
(1)打开"i18n.js"文件,里面有:
i18n.TRANSLATIONS = {
// browser_actions.js
'Tab Actions': {
'ja': '\u30bf\u30d6\u64cd\u4f5c'
},
'Open my favorite page in a new tab': {
'ja': '\u65b0\u3057\u3044\u30bf\u30d6\u3067\u597d\u304d\u306a\u30da\u30fc\u30b8\u3092\u958b\u304f'
},
'Open "$1" in a new tab': {
'ja': '"$1" \u3092\u65b0\u3057\u3044\u30bf\u30d6\u3067\u958b\u304f'
},
.......
}
在这段代码中直接加上中文翻译即可:例如上面的一小段,可变成:
i18n.TRANSLATIONS = {
// browser_actions.js
'Tab Actions': {
'ja': '\u30bf\u30d6\u64cd\u4f5c',
'zh-CN': '标签操作'
},
'Open my favorite page in a new tab': {
'ja': '\u65b0\u3057\u3044\u30bf\u30d6\u3067\u597d\u304d\u306a\u30da\u30fc\u30b8\u3092\u958b\u304f',
'zh-CN': '在新标签中打开常用的网页'
},
'Open "$1" in a new tab': {
'ja': '"$1" \u3092\u65b0\u3057\u3044\u30bf\u30d6\u3067\u958b\u304f',
'zh-CN': '在新标签中打开 $1'
/*注:$1会自动替换成输入的网址*/
},
.......
}
这样,就不用直接去替换网页文字了,更方便升级。
(2)如果想同时使用多种语言界面,最好再改一下这个(也是i18n.js中,只加一句):
i18n.addLanguagePreferenceToSelect = function(sel) {
var lang = localStorage.getItem('lang');
chrome.i18n.getAcceptLanguages(
function(langs) {
langs=['zh-CN','zh-TW','en-US','ja'];
/*加上上面这句,hack一下,很丑但管用。*/
for (var i = 0; i < langs.length; ++i) {
var option = document.createElement('option');
option.value = option.text = langs[i];
sel.appendChild(option);
if (lang == langs[i]) {
sel.selectedIndex = sel.options.length - 1;
}
}
sel.addEventListener(
'change',
function() {
localStorage.setItem('lang', this.value);
window.location.reload();
},
false
);
}
);
},
这样就可以同时使用多种语言了。
以版主的翻译水准,完全可以把翻译的文件提交给那个扩展的作者,
帮他加个语种,还可随扩展一起发布,想来作者不会有意见吧。
因为正在使用BZ翻译的N种扩展,十分感谢,特意过来狂顶。
如果BZ已经知道上面的方法,就算班门弄斧了,随便交流一下,呵呵。 |
-
1
评分人数
-
|