<commit_before><commit_msg>add zh-CN translation for devtools<commit_after># DevTools扩展

为了使调试更容易，Electron原生支持[Chrome DevTools Extension][devtools-extension]。

对于大多数DevTools的扩展，你可以直接下载源码，然后通过`BrowserWindow.addDevToolsExtension`API加载它们。Electron会记住已经加载了哪些扩展，所以你不需要每次创建一个新window时都调用`BrowserWindow.addDevToolsExtension`API。

** 注：React DevTools目前不能直接工作，详情留意[https://github.com/atom/electron/issues/915](https://github.com/atom/electron/issues/915) **

例如，要用[React DevTools Extension](https://github.com/facebook/react-devtools)，你得先下载他的源码：

```bash
$ cd /some-directory
$ git clone --recursive https://github.com/facebook/react-devtools.git
```

参考[`react-devtools/shells/chrome/Readme.md`](https://github.com/facebook/react-devtools/blob/master/shells/chrome/Readme.md)来编译这个扩展源码。

然后你就可以在任意页面的DevTools里加载React DevTools了，通过控制台输入如下命令加载扩展：

```javascript
const BrowserWindow = require('electron').remote.BrowserWindow;
BrowserWindow.addDevToolsExtension('/some-directory/react-devtools/shells/chrome');
```

要卸载扩展，可以调用`BrowserWindow.removeDevToolsExtension`API(扩展名作为参数传入)，该扩展在下次打开DevTools时就不会加载了：

```javascript
BrowserWindow.removeDevToolsExtension('React Developer Tools');
```

## DevTools扩展的格式

理论上，Electron可以加载所有为chrome浏览器编写的DevTools扩展，但它们必须存放在文件夹里。那些以`crx`形式发布的扩展是不能被加载的，除非你把它们解压到一个文件夹里。

## 后台运行(background pages)

Electron目前并不支持chrome扩展里的后台运行(background pages)功能，所以那些依赖此特性的DevTools扩展在Electron里可能无法正常工作。

## `chrome.*` APIs

有些chrome扩展使用了`chrome.*`APIs，而且这些扩展在Electron中需要额外实现一些代码才能使用，所以并不是所有的这类扩展都已经在Electron中实现完毕了。

考虑到并非所有的`chrome.*`APIs都实现完毕，如果DevTools正在使用除了`chrome.devtools.*`之外的其它APIs，这个扩展很可能无法正常工作。你可以通过报告这个扩展的异常信息，这样做方便我们对该扩展的支持。

[devtools-extension]: https://developer.chrome.com/extensions/devtools
{'fraction_non_alphanumeric': 0.1252927400468384, 'fraction_numerical': 0.00351288056206089, 'mean_word_length': 10.317880794701987, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6536759', 'n_tokens_mistral': 848, 'n_tokens_neox': 913, 'n_words': 47}