返回列表 发帖

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

评分人数

  • jfjj007

作者不领情,那也就算了。

这个快捷键扩展设计思路和用户界面都好,
就是实现的还不太理想,bug目前也较多。
代码量是很大,不过大部分都是没必要的。

希望BZ能推荐更多的好东东。

TOP

可以是可以多语言的   主要的这个扩展的代码量巨大  看得我眼睛都肿了

不过你的意见我会考虑下  可能下个版本更新了 我会把简中发给开发作者

其实很多扩展我很早就联系过作者了  只是同意加入中文的寥寥无几  有些都不回复我的邮件 我也很无助

TOP

返回列表