+ gitbook_learn
- cover.jpg => book cover
- cover_small.jpg => book cover small
- book.json => book info config for common use
- LANGS.md => multiple languages definition
- README.md => README.md for Github
+ en => folder for books content in English
- book.json => book info config for this language only
- README.md
- SUMMARY.md
+ zh-hans => folder for books content in Chinese
- book.json => book info config for this language only
- README.md
- SUMMARY.md
+ ja => folder for books content in Japanese
- book.json => book info config for this language only
- README.md
- SUMMARY.md
+ node_modules => all gitbook plugins are here
+ _book => generated books
For the plugins field, we need to list all the plugins since its a array filed and the plugins list in the common book.json will be overwritten.
For the pluginsConfig field, we only need to add or change the config that is different from in the common book.json since its a dict field .
It seems like gitbook build will copy all the plugins needed to each language folder (under gitbook/plugins) so now plugin advanced-emoji for example will have 4 copies -- 3 for languages zhenja and one for the root folder.
Conclusion
We add all the plugins in the root/book.json and install them only once.
For each language, we list all the plugins we need (or remove using -) and overwrite pluginsConfig if any.