summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-plugin-theme-default/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook-plugin-theme-default/src')
-rw-r--r--packages/gitbook-plugin-theme-default/src/actions/sidebar.js13
-rw-r--r--packages/gitbook-plugin-theme-default/src/actions/types.js4
-rw-r--r--packages/gitbook-plugin-theme-default/src/components/Body.js121
-rw-r--r--packages/gitbook-plugin-theme-default/src/components/LoadingBar.js124
-rw-r--r--packages/gitbook-plugin-theme-default/src/components/Page.js30
-rw-r--r--packages/gitbook-plugin-theme-default/src/components/Sidebar.js25
-rw-r--r--packages/gitbook-plugin-theme-default/src/components/Summary.js111
-rw-r--r--packages/gitbook-plugin-theme-default/src/components/Theme.js57
-rw-r--r--packages/gitbook-plugin-theme-default/src/components/Toolbar.js43
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/ar.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/bn.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/ca.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/cs.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/de.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/el.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/en.json21
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/es.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/fa.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/fi.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/fr.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/he.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/index.js30
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/it.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/ja.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/ko.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/nl.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/no.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/pl.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/pt.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/ro.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/ru.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/sv.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/tr.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/uk.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/vi.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/zh-hans.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/i18n/zh-tw.json20
-rw-r--r--packages/gitbook-plugin-theme-default/src/index.js14
-rw-r--r--packages/gitbook-plugin-theme-default/src/reducers/index.js5
-rw-r--r--packages/gitbook-plugin-theme-default/src/reducers/sidebar.js18
40 files changed, 1136 insertions, 0 deletions
diff --git a/packages/gitbook-plugin-theme-default/src/actions/sidebar.js b/packages/gitbook-plugin-theme-default/src/actions/sidebar.js
new file mode 100644
index 0000000..52f8422
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/actions/sidebar.js
@@ -0,0 +1,13 @@
+const ActionTypes = require('./types');
+
+/**
+ * Toggle the sidebar
+ * @return {Action}
+ */
+function toggle() {
+ return { type: ActionTypes.TOGGLE_SIDEBAR };
+}
+
+module.exports = {
+ toggle
+};
diff --git a/packages/gitbook-plugin-theme-default/src/actions/types.js b/packages/gitbook-plugin-theme-default/src/actions/types.js
new file mode 100644
index 0000000..9f8a80f
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/actions/types.js
@@ -0,0 +1,4 @@
+
+module.exports = {
+ TOGGLE_SIDEBAR: 'theme-default/sidebar/toggle'
+};
diff --git a/packages/gitbook-plugin-theme-default/src/components/Body.js b/packages/gitbook-plugin-theme-default/src/components/Body.js
new file mode 100644
index 0000000..c61a2f3
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/components/Body.js
@@ -0,0 +1,121 @@
+const debounce = require('debounce');
+const GitBook = require('gitbook-core');
+const { React } = GitBook;
+
+const Page = require('./Page');
+const Toolbar = require('./Toolbar');
+
+const HEADINGS_SELECTOR = 'h1[id],h2[id],h3[id],h4[id]';
+
+/**
+ * Get offset of an element relative to a parent container.
+ * @param {DOMElement} container
+ * @param {DOMElement} element
+ * @return {Number} offset
+ */
+function getOffset(container, element, type = 'Top') {
+ const parent = element.parentElement;
+ let base = 0;
+
+ if (parent != container) {
+ base = getOffset(container, parent, type);
+ }
+
+ return base + element[`offset${type}`];
+}
+
+/**
+ * Find the current heading anchor for a scroll position.
+ * @param {DOMElement} container
+ * @param {Number} top
+ * @return {String}
+ */
+function getHeadingID(container, top) {
+ let id;
+ const headings = container.querySelectorAll(HEADINGS_SELECTOR);
+
+ headings.forEach(heading => {
+ if (id) {
+ return;
+ }
+
+ const offset = getOffset(container, heading);
+
+ if (offset > top) {
+ id = heading.getAttribute('id');
+ }
+ });
+
+ return id;
+}
+
+const Body = React.createClass({
+ propTypes: {
+ page: GitBook.PropTypes.Page,
+ readme: GitBook.PropTypes.Readme,
+ history: GitBook.PropTypes.History,
+ updateURI: React.PropTypes.func
+ },
+
+ getInitialState() {
+ this.debouncedOnScroll = debounce(this.onScroll, 300);
+ return {};
+ },
+
+ /**
+ * User is scrolling the page, update the location with current section's ID.
+ */
+ onScroll() {
+ const { scrollContainer } = this;
+ const { history, updateURI } = this.props;
+ const { location } = history;
+
+ // Find the id matching the current scroll position
+ const hash = getHeadingID(scrollContainer, scrollContainer.scrollTop);
+
+ // Update url if changed
+ if (hash !== location.hash) {
+ updateURI(location.merge({ hash }));
+ }
+ },
+
+ /**
+ * Component has been updated with a new location,
+ * scroll to the right anchor.
+ */
+ componentDidUpdate() {
+
+ },
+
+ render() {
+ const { page, readme } = this.props;
+
+ return (
+ <GitBook.InjectedComponent matching={{ role: 'body:wrapper' }}>
+ <div
+ className="Body page-wrapper"
+ onScroll={this.debouncedOnScroll}
+ ref={div => this.scrollContainer = div}
+ >
+ <GitBook.InjectedComponent matching={{ role: 'toolbar:wrapper' }}>
+ <Toolbar title={page.title} readme={readme} />
+ </GitBook.InjectedComponent>
+ <GitBook.InjectedComponent matching={{ role: 'page:wrapper' }}>
+ <Page page={page} />
+ </GitBook.InjectedComponent>
+ </div>
+ </GitBook.InjectedComponent>
+ );
+ }
+});
+
+module.exports = GitBook.connect(Body,
+ () => {
+ return {};
+ },
+ ({ History }, dispatch) => {
+ return {
+ updateURI: (location) => dispatch(History.replace(location))
+ };
+ }
+);
diff --git a/packages/gitbook-plugin-theme-default/src/components/LoadingBar.js b/packages/gitbook-plugin-theme-default/src/components/LoadingBar.js
new file mode 100644
index 0000000..11e1ddb
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/components/LoadingBar.js
@@ -0,0 +1,124 @@
+const GitBook = require('gitbook-core');
+const { React } = GitBook;
+
+/**
+ * Displays a progress bar (YouTube-like) at the top of container
+ * Based on https://github.com/lonelyclick/react-loading-bar/blob/master/src/Loading.jsx
+ */
+const LoadingBar = React.createClass({
+ propTypes: {
+ show: React.PropTypes.bool
+ },
+
+ getDefaultProps() {
+ return {
+ show: false
+ };
+ },
+
+ getInitialState() {
+ return {
+ size: 0,
+ disappearDelayHide: false, // when dispappear, first transition then display none
+ percent: 0,
+ appearDelayWidth: 0 // when appear, first display block then transition width
+ };
+ },
+
+ componentWillReceiveProps(nextProps) {
+ const { show } = nextProps;
+
+ if (show) {
+ this.show();
+ } else {
+ this.hide();
+ }
+ },
+
+ shouldComponentUpdate(nextProps, nextState) {
+ return true; // !shallowEqual(nextState, this.state)
+ },
+
+ show() {
+ let { size, percent } = this.state;
+
+ const appearDelayWidth = size === 0;
+ percent = calculatePercent(percent);
+
+ this.setState({
+ size: ++size,
+ appearDelayWidth,
+ percent
+ });
+
+ if (appearDelayWidth) {
+ setTimeout(() => {
+ this.setState({
+ appearDelayWidth: false
+ });
+ });
+ }
+ },
+
+ hide() {
+ let { size } = this.state;
+
+ if (--size < 0) {
+ this.setState({ size: 0 });
+ return;
+ }
+
+ this.setState({
+ size: 0,
+ disappearDelayHide: true,
+ percent: 1
+ });
+
+ setTimeout(() => {
+ this.setState({
+ disappearDelayHide: false,
+ percent: 0
+ });
+ }, 500);
+ },
+
+ getBarStyle() {
+ const { disappearDelayHide, appearDelayWidth, percent } = this.state;
+
+ return {
+ width: appearDelayWidth ? 0 : percent * 100 + '%',
+ display: disappearDelayHide || percent > 0 ? 'block' : 'none'
+ };
+ },
+
+ getShadowStyle() {
+ const { percent, disappearDelayHide } = this.state;
+
+ return {
+ display: disappearDelayHide || percent > 0 ? 'block' : 'none'
+ };
+ },
+
+ render() {
+ return (
+ <div className="LoadingBar">
+ <div className="LoadingBar-Bar" style={this.getBarStyle()}>
+ <div className="LoadingBar-Shadow"
+ style={this.getShadowStyle()}>
+ </div>
+ </div>
+ </div>
+ );
+ }
+});
+
+function calculatePercent(percent) {
+ percent = percent || 0;
+
+ // How much of remaining bar we advance
+ const progress = 0.1 + Math.random() * 0.3;
+
+ return percent + progress * (1 - percent);
+}
+
+module.exports = LoadingBar;
diff --git a/packages/gitbook-plugin-theme-default/src/components/Page.js b/packages/gitbook-plugin-theme-default/src/components/Page.js
new file mode 100644
index 0000000..cbce704
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/components/Page.js
@@ -0,0 +1,30 @@
+const GitBook = require('gitbook-core');
+const { React } = GitBook;
+
+const Page = React.createClass({
+ propTypes: {
+ page: GitBook.PropTypes.Page
+ },
+
+ render() {
+ const { page } = this.props;
+
+ return (
+ <div className="PageContainer">
+ <GitBook.InjectedComponent matching={{ role: 'search:container:results' }} props={this.props}>
+ <div className="Page">
+ <GitBook.InjectedComponentSet matching={{ role: 'page:header' }} props={this.props} />
+
+ <GitBook.InjectedComponent matching={{ role: 'page:container' }} props={this.props}>
+ <GitBook.HTMLContent html={page.content} />
+ </GitBook.InjectedComponent>
+
+ <GitBook.InjectedComponentSet matching={{ role: 'page:footer' }} props={this.props} />
+ </div>
+ </GitBook.InjectedComponent>
+ </div>
+ );
+ }
+});
+
+module.exports = Page;
diff --git a/packages/gitbook-plugin-theme-default/src/components/Sidebar.js b/packages/gitbook-plugin-theme-default/src/components/Sidebar.js
new file mode 100644
index 0000000..ab628df
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/components/Sidebar.js
@@ -0,0 +1,25 @@
+const GitBook = require('gitbook-core');
+const { React } = GitBook;
+
+const Summary = require('./Summary');
+
+const Sidebar = React.createClass({
+ propTypes: {
+ summary: GitBook.PropTypes.Summary
+ },
+
+ render() {
+ const { summary } = this.props;
+
+ return (
+ <div className="Sidebar-Flex">
+ <div className="Sidebar book-summary">
+ <GitBook.InjectedComponent matching={{ role: 'search:container:input' }} />
+ <Summary summary={summary} />
+ </div>
+ </div>
+ );
+ }
+});
+
+module.exports = Sidebar;
diff --git a/packages/gitbook-plugin-theme-default/src/components/Summary.js b/packages/gitbook-plugin-theme-default/src/components/Summary.js
new file mode 100644
index 0000000..ef6ab3f
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/components/Summary.js
@@ -0,0 +1,111 @@
+const classNames = require('classnames');
+const GitBook = require('gitbook-core');
+const { React } = GitBook;
+
+let SummaryArticle = React.createClass({
+ propTypes: {
+ active: React.PropTypes.bool,
+ article: GitBook.PropTypes.SummaryArticle
+ },
+
+ render() {
+ const { article, active } = this.props;
+ const className = classNames('SummaryArticle', {
+ active
+ });
+
+ return (
+ <GitBook.InjectedComponent matching={{ role: 'summary:article' }} props={this.props}>
+ <li className={className}>
+ {article.ref ?
+ <GitBook.Link to={article}>{article.title}</GitBook.Link>
+ : <span>{article.title}</span>}
+ </li>
+ </GitBook.InjectedComponent>
+ );
+ }
+});
+SummaryArticle = GitBook.connect(SummaryArticle, ({page}, {article}) => {
+ return {
+ active: page.level === article.level
+ };
+});
+
+const SummaryArticles = React.createClass({
+ propTypes: {
+ articles: GitBook.PropTypes.listOf(GitBook.PropTypes.SummaryArticle)
+ },
+
+ render() {
+ const { articles } = this.props;
+
+ return (
+ <GitBook.InjectedComponent matching={{ role: 'summary:articles' }} props={this.props}>
+ <ul className="SummaryArticles">
+ {articles.map(article => <SummaryArticle key={article.level} article={article} />)}
+ </ul>
+ </GitBook.InjectedComponent>
+ );
+ }
+});
+
+const SummaryPart = React.createClass({
+ propTypes: {
+ part: GitBook.PropTypes.SummaryPart
+ },
+
+ render() {
+ const { part } = this.props;
+ const { title, articles } = part;
+
+ const titleEL = title ? <h2 className="SummaryPart-Title">{title}</h2> : null;
+
+ return (
+ <GitBook.InjectedComponent matching={{ role: 'summary:part' }} props={this.props}>
+ <div className="SummaryPart">
+ {titleEL}
+ <SummaryArticles articles={articles} />
+ </div>
+ </GitBook.InjectedComponent>
+ );
+ }
+});
+
+const SummaryParts = React.createClass({
+ propTypes: {
+ parts: GitBook.PropTypes.listOf(GitBook.PropTypes.SummaryPart)
+ },
+
+ render() {
+ const { parts } = this.props;
+
+ return (
+ <GitBook.InjectedComponent matching={{ role: 'summary:parts' }} props={this.props}>
+ <div className="SummaryParts">
+ {parts.map((part, i) => <SummaryPart key={i} part={part} />)}
+ </div>
+ </GitBook.InjectedComponent>
+ );
+ }
+});
+
+const Summary = React.createClass({
+ propTypes: {
+ summary: GitBook.PropTypes.Summary
+ },
+
+ render() {
+ const { summary } = this.props;
+ const { parts } = summary;
+
+ return (
+ <GitBook.InjectedComponent matching={{ role: 'summary:container' }} props={this.props}>
+ <div className="Summary book-summary">
+ <SummaryParts parts={parts} />
+ </div>
+ </GitBook.InjectedComponent>
+ );
+ }
+});
+
+module.exports = Summary;
diff --git a/packages/gitbook-plugin-theme-default/src/components/Theme.js b/packages/gitbook-plugin-theme-default/src/components/Theme.js
new file mode 100644
index 0000000..b323fc4
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/components/Theme.js
@@ -0,0 +1,57 @@
+const GitBook = require('gitbook-core');
+const { React, ReactCSSTransitionGroup } = GitBook;
+
+const Sidebar = require('./Sidebar');
+const Body = require('./Body');
+const LoadingBar = require('./LoadingBar');
+
+const Theme = React.createClass({
+ propTypes: {
+ // State
+ page: GitBook.PropTypes.Page,
+ summary: GitBook.PropTypes.Summary,
+ readme: GitBook.PropTypes.Readme,
+ history: GitBook.PropTypes.History,
+ sidebar: React.PropTypes.object,
+ // Other props
+ children: React.PropTypes.node
+ },
+
+ render() {
+ const { page, summary, children, sidebar, readme, history } = this.props;
+
+ return (
+ <GitBook.FlexLayout column className="GitBook book">
+ <LoadingBar show={history.loading} />
+ <GitBook.Head
+ title={page.title}
+ titleTemplate="%s - GitBook" />
+ <GitBook.ImportCSS href="gitbook/theme-default/theme.css" />
+
+ <GitBook.FlexBox>
+ <ReactCSSTransitionGroup
+ component={GitBook.FlexLayout}
+ transitionName="Layout"
+ transitionEnterTimeout={300}
+ transitionLeaveTimeout={300}>
+ {sidebar.open ? (
+ <Sidebar key={0} summary={summary} />
+ ) : null}
+ <div key={1} className="Body-Flex">
+ <Body
+ page={page}
+ readme={readme}
+ history={history}
+ />
+ </div>
+ </ReactCSSTransitionGroup>
+ </GitBook.FlexBox>
+ {children}
+ </GitBook.FlexLayout>
+ );
+ }
+});
+
+module.exports = GitBook.connect(Theme, ({page, summary, sidebar, readme, history}) => {
+ return { page, summary, sidebar, readme, history };
+});
diff --git a/packages/gitbook-plugin-theme-default/src/components/Toolbar.js b/packages/gitbook-plugin-theme-default/src/components/Toolbar.js
new file mode 100644
index 0000000..d426a40
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/components/Toolbar.js
@@ -0,0 +1,43 @@
+const GitBook = require('gitbook-core');
+const { React } = GitBook;
+
+const sidebar = require('../actions/sidebar');
+
+const Toolbar = React.createClass({
+ propTypes: {
+ title: React.PropTypes.string.isRequired,
+ dispatch: React.PropTypes.func,
+ readme: GitBook.PropTypes.Readme
+ },
+
+ onToggle() {
+ const { dispatch } = this.props;
+ dispatch(sidebar.toggle());
+ },
+
+ render() {
+ const { title, readme } = this.props;
+
+ return (
+ <GitBook.FlexLayout className="Toolbar">
+ <GitBook.FlexBox className="Toolbar-left">
+ <GitBook.InjectedComponentSet align="flex-end" matching={{ role: 'toolbar:buttons:left' }}>
+ <GitBook.Button onClick={this.onToggle}>
+ <GitBook.Icon id="align-justify" />
+ </GitBook.Button>
+ </GitBook.InjectedComponentSet>
+ </GitBook.FlexBox>
+ <GitBook.FlexBox auto>
+ <h1 className="Toolbar-Title">
+ <GitBook.Link to={readme.file}>{title}</GitBook.Link>
+ </h1>
+ </GitBook.FlexBox>
+ <GitBook.FlexBox className="Toolbar-right">
+ <GitBook.InjectedComponentSet align="flex-end" matching={{ role: 'toolbar:buttons:right' }} />
+ </GitBook.FlexBox>
+ </GitBook.FlexLayout>
+ );
+ }
+});
+
+module.exports = GitBook.connect(Toolbar);
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/ar.json b/packages/gitbook-plugin-theme-default/src/i18n/ar.json
new file mode 100644
index 0000000..f652c1a
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/ar.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "اختيار اللغة",
+ "GLOSSARY": "قاموس مصطلحات",
+ "GLOSSARY_INDEX": "مؤشر المصطلحات",
+ "GLOSSARY_OPEN": "قاموس مصطلحات",
+ "GITBOOK_LINK": "نشرت مع GitBook",
+ "SUMMARY": "جدول المحتويات",
+ "SUMMARY_INTRODUCTION": "مقدمة",
+ "SUMMARY_TOGGLE": "جدول المحتويات",
+ "SEARCH_TOGGLE": "بحث",
+ "SEARCH_PLACEHOLDER": "اكتب للبحث",
+ "FONTSETTINGS_TOGGLE": "إعدادات الخط",
+ "SHARE_TOGGLE": "حصة",
+ "SHARE_ON": "على {{platform}} حصة",
+ "FONTSETTINGS_WHITE": "أبيض",
+ "FONTSETTINGS_SEPIA": "بني داكن",
+ "FONTSETTINGS_NIGHT": "ليل",
+ "FONTSETTINGS_SANS": "بلا",
+ "FONTSETTINGS_SERIF": "الرقيق"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/bn.json b/packages/gitbook-plugin-theme-default/src/i18n/bn.json
new file mode 100644
index 0000000..24baec3
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/bn.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "ভাষা নির্বাচন করুন",
+ "GLOSSARY": "গ্লোসারি",
+ "GLOSSARY_INDEX": "ইন্ডেক্স",
+ "GLOSSARY_OPEN": "গ্লোসারি",
+ "GITBOOK_LINK": "গিটবুকের মাধ্যমে প্রকাশিত",
+ "SUMMARY": "সূচিপত্র",
+ "SUMMARY_INTRODUCTION": "সূচনা",
+ "SUMMARY_TOGGLE": "সূচিপত্র",
+ "SEARCH_TOGGLE": "অনুসন্ধান",
+ "SEARCH_PLACEHOLDER": "অনুসন্ধান",
+ "FONTSETTINGS_TOGGLE": "ফন্ট সেটিংস",
+ "SHARE_TOGGLE": "শেয়ার",
+ "SHARE_ON": "{{platform}}-এ শেয়ার",
+ "FONTSETTINGS_WHITE": "সাদা",
+ "FONTSETTINGS_SEPIA": "সেপিয়া",
+ "FONTSETTINGS_NIGHT": "রাত",
+ "FONTSETTINGS_SANS": "স্যান্স",
+ "FONTSETTINGS_SERIF": "শেরিফ"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/ca.json b/packages/gitbook-plugin-theme-default/src/i18n/ca.json
new file mode 100644
index 0000000..d26edb6
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/ca.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Selecciona un idioma",
+ "GLOSSARY": "Glossari",
+ "GLOSSARY_INDEX": "Índex",
+ "GLOSSARY_OPEN": "Glossari",
+ "GITBOOK_LINK": "Publicat amb GitBook",
+ "SUMMARY": "Taula de contingut",
+ "SUMMARY_INTRODUCTION": "Introducció",
+ "SUMMARY_TOGGLE": "Taula de contingut",
+ "SEARCH_TOGGLE": "Cercar",
+ "SEARCH_PLACEHOLDER": "Escriu per cercar",
+ "FONTSETTINGS_TOGGLE": "Configuració de font",
+ "SHARE_TOGGLE": "Compartir",
+ "SHARE_ON": "Compartir en {{platform}}",
+ "FONTSETTINGS_WHITE": "Clar",
+ "FONTSETTINGS_SEPIA": "Sèpia",
+ "FONTSETTINGS_NIGHT": "Nit",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/cs.json b/packages/gitbook-plugin-theme-default/src/i18n/cs.json
new file mode 100644
index 0000000..b2e19c0
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/cs.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Zvolte jazyk",
+ "GLOSSARY": "Slovníček",
+ "GLOSSARY_INDEX": "Rejstřík",
+ "GLOSSARY_OPEN": "Slovníček",
+ "GITBOOK_LINK": "Publikováno pomocí GitBook",
+ "SUMMARY": "Obsah",
+ "SUMMARY_INTRODUCTION": "Úvod",
+ "SUMMARY_TOGGLE": "Obsah",
+ "SEARCH_TOGGLE": "Hledání",
+ "SEARCH_PLACEHOLDER": "Vyhledat",
+ "FONTSETTINGS_TOGGLE": "Nastavení písma",
+ "SHARE_TOGGLE": "Sdílet",
+ "SHARE_ON": "Sdílet na {{platform}}",
+ "FONTSETTINGS_WHITE": "Bílá",
+ "FONTSETTINGS_SEPIA": "Sépie",
+ "FONTSETTINGS_NIGHT": "Noc",
+ "FONTSETTINGS_SANS": "Bezpatkové",
+ "FONTSETTINGS_SERIF": "Patkové"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/de.json b/packages/gitbook-plugin-theme-default/src/i18n/de.json
new file mode 100644
index 0000000..b51732e
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/de.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Sprache auswählen",
+ "GLOSSARY": "Glossar",
+ "GLOSSARY_INDEX": "Index",
+ "GLOSSARY_OPEN": "Glossar",
+ "GITBOOK_LINK": "Veröffentlicht mit GitBook",
+ "SUMMARY": "Inhaltsverzeichnis",
+ "SUMMARY_INTRODUCTION": "Einleitung",
+ "SUMMARY_TOGGLE": "Inhaltsverzeichnis",
+ "SEARCH_TOGGLE": "Suche",
+ "SEARCH_PLACEHOLDER": "Suchbegriff eingeben",
+ "FONTSETTINGS_TOGGLE": "Schrifteinstellungen",
+ "SHARE_TOGGLE": "Teilen",
+ "SHARE_ON": "Auf {{platform}} teilen",
+ "FONTSETTINGS_WHITE": "Hell",
+ "FONTSETTINGS_SEPIA": "Sepia",
+ "FONTSETTINGS_NIGHT": "Nacht",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+} \ No newline at end of file
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/el.json b/packages/gitbook-plugin-theme-default/src/i18n/el.json
new file mode 100644
index 0000000..5198e60
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/el.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Επιλογή γλώσσας",
+ "GLOSSARY": "Γλωσσάρι",
+ "GLOSSARY_INDEX": "Ευρετήριο",
+ "GLOSSARY_OPEN": "Γλωσσάρι",
+ "GITBOOK_LINK": "Δημοσιεύτηκε με το GitBook",
+ "SUMMARY": "Πίνακας Περιεχομένων",
+ "SUMMARY_INTRODUCTION": "Εισαγωγή",
+ "SUMMARY_TOGGLE": "Πίνακας Περιεχομένων",
+ "SEARCH_TOGGLE": "Αναζήτηση",
+ "SEARCH_PLACEHOLDER": "Αναζήτηση για ...",
+ "FONTSETTINGS_TOGGLE": "Επιλογές γραμματοσειράς",
+ "SHARE_TOGGLE": "Κοινοποίηση",
+ "SHARE_ON": "Κοινοποίηση σε {{platform}}",
+ "FONTSETTINGS_WHITE": "Λευκό",
+ "FONTSETTINGS_SEPIA": "Καστανόχρους",
+ "FONTSETTINGS_NIGHT": "Βραδινό",
+ "FONTSETTINGS_SANS": "Χωρίς πατούρες",
+ "FONTSETTINGS_SERIF": "Με πατούρες"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/en.json b/packages/gitbook-plugin-theme-default/src/i18n/en.json
new file mode 100644
index 0000000..b6504d3
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/en.json
@@ -0,0 +1,21 @@
+{
+ "LANGS_CHOOSE": "Choose a language",
+ "GLOSSARY": "Glossary",
+ "GLOSSARY_INDEX": "Index",
+ "GLOSSARY_OPEN": "Glossary",
+ "GITBOOK_LINK": "Published with GitBook",
+ "SUMMARY": "Table of Contents",
+ "SUMMARY_INTRODUCTION": "Introduction",
+ "SUMMARY_TOGGLE": "Table of Contents",
+ "SEARCH_TOGGLE": "Search",
+ "SEARCH_PLACEHOLDER": "Type to search",
+ "SEARCH_RESULTS_TITLE": "{count, plural, =0 {No results} one {1 result} other {{count} results}} matching \"{query}\"",
+ "FONTSETTINGS_TOGGLE": "Font Settings",
+ "SHARE_TOGGLE": "Share",
+ "SHARE_ON": "Share on {{platform}}",
+ "FONTSETTINGS_WHITE": "White",
+ "FONTSETTINGS_SEPIA": "Sepia",
+ "FONTSETTINGS_NIGHT": "Night",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/es.json b/packages/gitbook-plugin-theme-default/src/i18n/es.json
new file mode 100644
index 0000000..36159be
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/es.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Selecciona un idioma",
+ "GLOSSARY": "Glosario",
+ "GLOSSARY_INDEX": "Índice",
+ "GLOSSARY_OPEN": "Glosario",
+ "GITBOOK_LINK": "Publicado con GitBook",
+ "SUMMARY": "Tabla de contenido",
+ "SUMMARY_INTRODUCTION": "Introducción",
+ "SUMMARY_TOGGLE": "Tabla de contenido",
+ "SEARCH_TOGGLE": "Buscar",
+ "SEARCH_PLACEHOLDER": "Escribe para buscar",
+ "FONTSETTINGS_TOGGLE": "Configuración de fuente",
+ "SHARE_TOGGLE": "Compartir",
+ "SHARE_ON": "Compartir en {{platform}}",
+ "FONTSETTINGS_WHITE": "Claro",
+ "FONTSETTINGS_SEPIA": "Sépia",
+ "FONTSETTINGS_NIGHT": "Noche",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/fa.json b/packages/gitbook-plugin-theme-default/src/i18n/fa.json
new file mode 100644
index 0000000..56ded4f
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/fa.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "انتخاب زبان",
+ "GLOSSARY": "واژه‌نامه",
+ "GLOSSARY_INDEX": "فهرست واژه‌ها",
+ "GLOSSARY_OPEN": "واژه‌نامه",
+ "GITBOOK_LINK": "انتشار یافته توسط GitBook",
+ "SUMMARY": "فهرست مطالب",
+ "SUMMARY_INTRODUCTION": "مقدمه",
+ "SUMMARY_TOGGLE": "فهرست مطالب",
+ "SEARCH_TOGGLE": "جستجو",
+ "SEARCH_PLACEHOLDER": "چیزی برای جستجو بنویسید",
+ "FONTSETTINGS_TOGGLE": "تنظیمات فونت",
+ "SHARE_TOGGLE": "اشتراک",
+ "SHARE_ON": "در {{platform}} به اشتراک بگذارید",
+ "FONTSETTINGS_WHITE": "سفید",
+ "FONTSETTINGS_SEPIA": "سپیا",
+ "FONTSETTINGS_NIGHT": "شب",
+ "FONTSETTINGS_SANS": "سنس",
+ "FONTSETTINGS_SERIF": "سریف"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/fi.json b/packages/gitbook-plugin-theme-default/src/i18n/fi.json
new file mode 100644
index 0000000..a8476ca
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/fi.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Valitse kieli",
+ "GLOSSARY": "Sanasto",
+ "GLOSSARY_INDEX": "Hakemisto",
+ "GLOSSARY_OPEN": "Sanasto",
+ "GITBOOK_LINK": "Julkaistu GitBookilla",
+ "SUMMARY": "Sisällysluettelo",
+ "SUMMARY_INTRODUCTION": "Johdanto",
+ "SUMMARY_TOGGLE": "Sisällysluettelu",
+ "SEARCH_TOGGLE": "Etsi",
+ "SEARCH_PLACEHOLDER": "Kirjoita hakusana",
+ "FONTSETTINGS_TOGGLE": "Fonttivalinnat",
+ "SHARE_TOGGLE": "Jaa",
+ "SHARE_ON": "Jaa {{platform}}ssa",
+ "FONTSETTINGS_WHITE": "Valkoinen",
+ "FONTSETTINGS_SEPIA": "Seepia",
+ "FONTSETTINGS_NIGHT": "Yö",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/fr.json b/packages/gitbook-plugin-theme-default/src/i18n/fr.json
new file mode 100644
index 0000000..8cc10e2
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/fr.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Choisissez une langue",
+ "GLOSSARY": "Glossaire",
+ "GLOSSARY_INDEX": "Index",
+ "GLOSSARY_OPEN": "Glossaire",
+ "GITBOOK_LINK": "Publié avec GitBook",
+ "SUMMARY": "Table des matières",
+ "SUMMARY_INTRODUCTION": "Introduction",
+ "SUMMARY_TOGGLE": "Table des matières",
+ "SEARCH_TOGGLE": "Recherche",
+ "SEARCH_PLACEHOLDER": "Tapez pour rechercher",
+ "FONTSETTINGS_TOGGLE": "Paramètres de Police",
+ "SHARE_TOGGLE": "Partage",
+ "SHARE_ON": "Partager sur {{platform}}",
+ "FONTSETTINGS_WHITE": "Clair",
+ "FONTSETTINGS_SEPIA": "Sépia",
+ "FONTSETTINGS_NIGHT": "Nuit",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+} \ No newline at end of file
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/he.json b/packages/gitbook-plugin-theme-default/src/i18n/he.json
new file mode 100644
index 0000000..353d3b5
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/he.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "בחר שפה",
+ "GLOSSARY": "מונחים",
+ "GLOSSARY_INDEX": "מפתח",
+ "GLOSSARY_OPEN": "מונחים",
+ "GITBOOK_LINK": "הוצאה לאור באמצעות גיט-בוק GITBOOK",
+ "SUMMARY": "תוכן העניינים",
+ "SUMMARY_INTRODUCTION": "הוראות",
+ "SUMMARY_TOGGLE": "תקציר",
+ "SEARCH_TOGGLE": "חיפוש",
+ "SEARCH_PLACEHOLDER": "סוג החיפוש",
+ "FONTSETTINGS_TOGGLE": "הגדרת אותיות",
+ "SHARE_TOGGLE": "שתף",
+ "SHARE_ON": "{{platform}} שתף ב",
+ "FONTSETTINGS_WHITE": "בהיר",
+ "FONTSETTINGS_SEPIA": "חום כהה",
+ "FONTSETTINGS_NIGHT": "מצב לילה",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/index.js b/packages/gitbook-plugin-theme-default/src/i18n/index.js
new file mode 100644
index 0000000..d09de1b
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/index.js
@@ -0,0 +1,30 @@
+
+module.exports = {
+ ar: require('./ar'),
+ bn: require('./bn'),
+ ca: require('./ca'),
+ cs: require('./cs'),
+ de: require('./de'),
+ el: require('./el'),
+ en: require('./en'),
+ es: require('./es'),
+ fa: require('./fa'),
+ fi: require('./fi'),
+ fr: require('./fr'),
+ he: require('./he'),
+ it: require('./it'),
+ ja: require('./ja'),
+ ko: require('./ko'),
+ nl: require('./nl'),
+ no: require('./no'),
+ pl: require('./pl'),
+ pt: require('./pt'),
+ ro: require('./ro'),
+ ru: require('./ru'),
+ sv: require('./sv'),
+ tr: require('./tr'),
+ uk: require('./uk'),
+ vi: require('./vi'),
+ 'zh-hans': require('./zh-hans'),
+ 'zh-tw': require('./zh-tw'),
+};
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/it.json b/packages/gitbook-plugin-theme-default/src/i18n/it.json
new file mode 100644
index 0000000..3f5e95d
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/it.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Scegli una lingua",
+ "GLOSSARY": "Glossario",
+ "GLOSSARY_INDEX": "Indice",
+ "GLOSSARY_OPEN": "Glossario",
+ "GITBOOK_LINK": "Pubblicato con GitBook",
+ "SUMMARY": "Sommario",
+ "SUMMARY_INTRODUCTION": "Introduzione",
+ "SUMMARY_TOGGLE": "Sommario",
+ "SEARCH_TOGGLE": "Cerca",
+ "SEARCH_PLACEHOLDER": "Scrivi per cercare",
+ "FONTSETTINGS_TOGGLE": "Impostazioni dei caratteri",
+ "SHARE_TOGGLE": "Condividi",
+ "SHARE_ON": "Condividi su {{platform}}",
+ "FONTSETTINGS_WHITE": "Bianco",
+ "FONTSETTINGS_SEPIA": "Seppia",
+ "FONTSETTINGS_NIGHT": "Notte",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+} \ No newline at end of file
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/ja.json b/packages/gitbook-plugin-theme-default/src/i18n/ja.json
new file mode 100644
index 0000000..b1afd02
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/ja.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "言語を選択",
+ "GLOSSARY": "用語集",
+ "GLOSSARY_INDEX": "索引",
+ "GLOSSARY_OPEN": "用語集",
+ "GITBOOK_LINK": "GitBookで公開 ",
+ "SUMMARY": "目次",
+ "SUMMARY_INTRODUCTION": "はじめに",
+ "SUMMARY_TOGGLE": "目次",
+ "SEARCH_TOGGLE": "検索",
+ "SEARCH_PLACEHOLDER": "検索すると入力",
+ "FONTSETTINGS_TOGGLE": "フォント設定",
+ "SHARE_TOGGLE": "シェア",
+ "SHARE_ON": "{{platform}}でシェア",
+ "FONTSETTINGS_WHITE": "白",
+ "FONTSETTINGS_SEPIA": "セピア",
+ "FONTSETTINGS_NIGHT": "夜",
+ "FONTSETTINGS_SANS": "ゴシック体",
+ "FONTSETTINGS_SERIF": "明朝体"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/ko.json b/packages/gitbook-plugin-theme-default/src/i18n/ko.json
new file mode 100644
index 0000000..5015a93
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/ko.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "언어를 선택하세요",
+ "GLOSSARY": "어휘",
+ "GLOSSARY_INDEX": "색인",
+ "GLOSSARY_OPEN": "어휘",
+ "GITBOOK_LINK": "GitBook에 게시",
+ "SUMMARY": "차례",
+ "SUMMARY_INTRODUCTION": "소개",
+ "SUMMARY_TOGGLE": "차례",
+ "SEARCH_TOGGLE": "검색",
+ "SEARCH_PLACEHOLDER": "검색어 입력",
+ "FONTSETTINGS_TOGGLE": "글꼴 설정",
+ "SHARE_TOGGLE": "공유",
+ "SHARE_ON": "{{platform}}에 공유",
+ "FONTSETTINGS_WHITE": "화이트",
+ "FONTSETTINGS_SEPIA": "세피아",
+ "FONTSETTINGS_NIGHT": "나이트",
+ "FONTSETTINGS_SANS": "고딕",
+ "FONTSETTINGS_SERIF": "명조"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/nl.json b/packages/gitbook-plugin-theme-default/src/i18n/nl.json
new file mode 100644
index 0000000..da4f59e
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/nl.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Kies een taal",
+ "GLOSSARY": "Begrippenlijst",
+ "GLOSSARY_INDEX": "Index",
+ "GLOSSARY_OPEN": "Begrippenlijst",
+ "GITBOOK_LINK": "Gepubliceerd met GitBook",
+ "SUMMARY": "Inhoudsopgave",
+ "SUMMARY_INTRODUCTION": "Inleiding",
+ "SUMMARY_TOGGLE": "Inhoudsopgave",
+ "SEARCH_TOGGLE": "Zoeken",
+ "SEARCH_PLACEHOLDER": "Zoeken",
+ "FONTSETTINGS_TOGGLE": "Lettertype instellingen",
+ "SHARE_TOGGLE": "Delen",
+ "SHARE_ON": "Delen op {{platform}}",
+ "FONTSETTINGS_WHITE": "Wit",
+ "FONTSETTINGS_SEPIA": "Sepia",
+ "FONTSETTINGS_NIGHT": "Zwart",
+ "FONTSETTINGS_SANS": "Schreefloos",
+ "FONTSETTINGS_SERIF": "Schreef"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/no.json b/packages/gitbook-plugin-theme-default/src/i18n/no.json
new file mode 100644
index 0000000..1ed6236
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/no.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Velg språk",
+ "GLOSSARY": "Register",
+ "GLOSSARY_INDEX": "Indeks",
+ "GLOSSARY_OPEN": "Register",
+ "GITBOOK_LINK": "Publisert med GitBook",
+ "SUMMARY": "Innholdsfortegnelse",
+ "SUMMARY_INTRODUCTION": "Innledning",
+ "SUMMARY_TOGGLE": "Innholdsfortegnelse",
+ "SEARCH_TOGGLE": "Søk",
+ "SEARCH_PLACEHOLDER": "Skriv inn søkeord",
+ "FONTSETTINGS_TOGGLE": "Tekstinnstillinger",
+ "SHARE_TOGGLE": "Del",
+ "SHARE_ON": "Del på {{platform}}",
+ "FONTSETTINGS_WHITE": "Lys",
+ "FONTSETTINGS_SEPIA": "Sepia",
+ "FONTSETTINGS_NIGHT": "Mørk",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/pl.json b/packages/gitbook-plugin-theme-default/src/i18n/pl.json
new file mode 100644
index 0000000..4f009fc
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/pl.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Wybierz język",
+ "GLOSSARY": "Glosariusz",
+ "GLOSSARY_INDEX": "Indeks",
+ "GLOSSARY_OPEN": "Glosariusz",
+ "GITBOOK_LINK": "Opublikowano dzięki GitBook",
+ "SUMMARY": "Spis treści",
+ "SUMMARY_INTRODUCTION": "Wstęp",
+ "SUMMARY_TOGGLE": "Spis treści",
+ "SEARCH_TOGGLE": "Szukaj",
+ "SEARCH_PLACEHOLDER": "Wpisz szukaną frazę",
+ "FONTSETTINGS_TOGGLE": "Ustawienia czcionki",
+ "SHARE_TOGGLE": "Udostępnij",
+ "SHARE_ON": "Udostępnij na {{platform}}",
+ "FONTSETTINGS_WHITE": "Jasny",
+ "FONTSETTINGS_SEPIA": "Sepia",
+ "FONTSETTINGS_NIGHT": "Noc",
+ "FONTSETTINGS_SANS": "Bezszeryfowa",
+ "FONTSETTINGS_SERIF": "Szeryfowa"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/pt.json b/packages/gitbook-plugin-theme-default/src/i18n/pt.json
new file mode 100644
index 0000000..9d6bde0
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/pt.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Escolher sua língua",
+ "GLOSSARY": "Glossário",
+ "GLOSSARY_INDEX": "Índice",
+ "GLOSSARY_OPEN": "Glossário",
+ "GITBOOK_LINK": "Publicado com GitBook",
+ "SUMMARY": "Tabela de conteúdos",
+ "SUMMARY_INTRODUCTION": "Introdução",
+ "SUMMARY_TOGGLE": "Tabela de conteúdos",
+ "SEARCH_TOGGLE": "Pesquise",
+ "SEARCH_PLACEHOLDER": "Escreva para pesquisar",
+ "FONTSETTINGS_TOGGLE": "Configurações de fonte",
+ "SHARE_TOGGLE": "Compartilhar",
+ "SHARE_ON": "Compartilhar no {{platform}}",
+ "FONTSETTINGS_WHITE": "Claro",
+ "FONTSETTINGS_SEPIA": "Sépia",
+ "FONTSETTINGS_NIGHT": "Noite",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/ro.json b/packages/gitbook-plugin-theme-default/src/i18n/ro.json
new file mode 100644
index 0000000..24295a4
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/ro.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Alege o limba",
+ "GLOSSARY": "Glosar",
+ "GLOSSARY_INDEX": "Index",
+ "GLOSSARY_OPEN": "Glosar",
+ "GITBOOK_LINK": "Publicata cu GitBook",
+ "SUMMARY": "Cuprins",
+ "SUMMARY_INTRODUCTION": "Introducere",
+ "SUMMARY_TOGGLE": "Cuprins",
+ "SEARCH_TOGGLE": "Cauta",
+ "SEARCH_PLACEHOLDER": "Ce cauti",
+ "FONTSETTINGS_TOGGLE": "Setari de font",
+ "SHARE_TOGGLE": "Distribuie",
+ "SHARE_ON": "Distribuie pe {{platform}}",
+ "FONTSETTINGS_WHITE": "Alb",
+ "FONTSETTINGS_SEPIA": "Sepia",
+ "FONTSETTINGS_NIGHT": "Noapte",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/ru.json b/packages/gitbook-plugin-theme-default/src/i18n/ru.json
new file mode 100644
index 0000000..9e6b9dd
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/ru.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Выберите язык",
+ "GLOSSARY": "Алфавитный указатель",
+ "GLOSSARY_INDEX": "Алфавитный указатель",
+ "GLOSSARY_OPEN": "Алфавитный указатель",
+ "GITBOOK_LINK": "Опубликовано с помощью GitBook",
+ "SUMMARY": "Содержание",
+ "SUMMARY_INTRODUCTION": "Введение",
+ "SUMMARY_TOGGLE": "Содержание",
+ "SEARCH_TOGGLE": "Поиск",
+ "SEARCH_PLACEHOLDER": "Введите условия поиска",
+ "FONTSETTINGS_TOGGLE": "Шрифт",
+ "SHARE_TOGGLE": "Поделиться",
+ "SHARE_ON": "Поделиться в {{platform}}",
+ "FONTSETTINGS_WHITE": "Светлый",
+ "FONTSETTINGS_SEPIA": "Сепия",
+ "FONTSETTINGS_NIGHT": "Тёмный",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+} \ No newline at end of file
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/sv.json b/packages/gitbook-plugin-theme-default/src/i18n/sv.json
new file mode 100644
index 0000000..2e2f6ac
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/sv.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Välj språk",
+ "GLOSSARY": "Gloslista",
+ "GLOSSARY_INDEX": "Index",
+ "GLOSSARY_OPEN": "Gloslista",
+ "GITBOOK_LINK": "Publicera med GitBook",
+ "SUMMARY": "Innehållsförteckning",
+ "SUMMARY_INTRODUCTION": "Inledning",
+ "SUMMARY_TOGGLE": "Innehållsförteckning",
+ "SEARCH_TOGGLE": "Sök",
+ "SEARCH_PLACEHOLDER": "Skriv sökord",
+ "FONTSETTINGS_TOGGLE": "Textinställningar",
+ "SHARE_TOGGLE": "Dela",
+ "SHARE_ON": "Dela på {{platform}}",
+ "FONTSETTINGS_WHITE": "Ljus",
+ "FONTSETTINGS_SEPIA": "Sepia",
+ "FONTSETTINGS_NIGHT": "Mörk",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/tr.json b/packages/gitbook-plugin-theme-default/src/i18n/tr.json
new file mode 100644
index 0000000..d92d5a2
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/tr.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Dil seçimi",
+ "GLOSSARY": "Sözlük",
+ "GLOSSARY_INDEX": "Dizin",
+ "GLOSSARY_OPEN": "Sözlük",
+ "GITBOOK_LINK": "GitBook ile yayınla",
+ "SUMMARY": "İçindekiler",
+ "SUMMARY_INTRODUCTION": "Giriş",
+ "SUMMARY_TOGGLE": "İçindekiler",
+ "SEARCH_TOGGLE": "Arama",
+ "SEARCH_PLACEHOLDER": "Aramak istediğiniz",
+ "FONTSETTINGS_TOGGLE": "Font Ayarları",
+ "SHARE_TOGGLE": "Paylaş",
+ "SHARE_ON": "{{platform}} ile paylaş",
+ "FONTSETTINGS_WHITE": "Beyaz",
+ "FONTSETTINGS_SEPIA": "Sepya",
+ "FONTSETTINGS_NIGHT": "Karanlık",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/uk.json b/packages/gitbook-plugin-theme-default/src/i18n/uk.json
new file mode 100644
index 0000000..a582d6c
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/uk.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Виберіть мову",
+ "GLOSSARY": "Алфавітний покажчик",
+ "GLOSSARY_INDEX": "Алфавітний покажчик",
+ "GLOSSARY_OPEN": "Алфавітний покажчик",
+ "GITBOOK_LINK": "Опубліковано за допомогою GitBook",
+ "SUMMARY": "Зміст",
+ "SUMMARY_INTRODUCTION": "Вступ",
+ "SUMMARY_TOGGLE": "Зміст",
+ "SEARCH_TOGGLE": "Пошук",
+ "SEARCH_PLACEHOLDER": "Введіть для пошуку",
+ "FONTSETTINGS_TOGGLE": "Шрифт",
+ "SHARE_TOGGLE": "Поділитися",
+ "SHARE_ON": "Поділитися в {{platform}}",
+ "FONTSETTINGS_WHITE": "Світлий",
+ "FONTSETTINGS_SEPIA": "Сепія",
+ "FONTSETTINGS_NIGHT": "Темний",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+} \ No newline at end of file
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/vi.json b/packages/gitbook-plugin-theme-default/src/i18n/vi.json
new file mode 100644
index 0000000..0addb8e
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/vi.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "Lựa chọn ngôn ngữ",
+ "GLOSSARY": "Chú giải",
+ "GLOSSARY_INDEX": "Chỉ mục",
+ "GLOSSARY_OPEN": "Chú giải",
+ "GITBOOK_LINK": "Xuất bản với GitBook",
+ "SUMMARY": "Mục Lục",
+ "SUMMARY_INTRODUCTION": "Giới thiệu",
+ "SUMMARY_TOGGLE": "Mục Lục",
+ "SEARCH_TOGGLE": "Tìm kiếm",
+ "SEARCH_PLACEHOLDER": "Nhập thông tin cần tìm",
+ "FONTSETTINGS_TOGGLE": "Tùy chỉnh phông chữ",
+ "SHARE_TOGGLE": "Chia sẻ",
+ "SHARE_ON": "Chia sẻ trên {{platform}}",
+ "FONTSETTINGS_WHITE": "Sáng",
+ "FONTSETTINGS_SEPIA": "Vàng nâu",
+ "FONTSETTINGS_NIGHT": "Tối",
+ "FONTSETTINGS_SANS": "Sans",
+ "FONTSETTINGS_SERIF": "Serif"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/zh-hans.json b/packages/gitbook-plugin-theme-default/src/i18n/zh-hans.json
new file mode 100644
index 0000000..8aa372c
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/zh-hans.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "选择一种语言",
+ "GLOSSARY": "术语表",
+ "GLOSSARY_INDEX": "索引",
+ "GLOSSARY_OPEN": "术语表",
+ "GITBOOK_LINK": "本书使用 GitBook 发布",
+ "SUMMARY": "目录",
+ "SUMMARY_INTRODUCTION": "介绍",
+ "SUMMARY_TOGGLE": "目录",
+ "SEARCH_TOGGLE": "搜索",
+ "SEARCH_PLACEHOLDER": "输入并搜索",
+ "FONTSETTINGS_TOGGLE": "字体设置",
+ "SHARE_TOGGLE": "分享",
+ "SHARE_ON": "分享到 {{platform}}",
+ "FONTSETTINGS_WHITE": "白色",
+ "FONTSETTINGS_SEPIA": "棕褐色",
+ "FONTSETTINGS_NIGHT": "夜间",
+ "FONTSETTINGS_SANS": "无衬线体",
+ "FONTSETTINGS_SERIF": "衬线体"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/i18n/zh-tw.json b/packages/gitbook-plugin-theme-default/src/i18n/zh-tw.json
new file mode 100644
index 0000000..d5ff1ad
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/i18n/zh-tw.json
@@ -0,0 +1,20 @@
+{
+ "LANGS_CHOOSE": "選擇一種語言",
+ "GLOSSARY": "術語表",
+ "GLOSSARY_INDEX": "索引",
+ "GLOSSARY_OPEN": "術語表",
+ "GITBOOK_LINK": "本書使用 GitBook 釋出",
+ "SUMMARY": "目錄",
+ "SUMMARY_INTRODUCTION": "介紹",
+ "SUMMARY_TOGGLE": "目錄",
+ "SEARCH_TOGGLE": "搜尋",
+ "SEARCH_PLACEHOLDER": "輸入並搜尋",
+ "FONTSETTINGS_TOGGLE": "字型設定",
+ "SHARE_TOGGLE": "分享",
+ "SHARE_ON": "分享到 {{platform}}",
+ "FONTSETTINGS_WHITE": "白色",
+ "FONTSETTINGS_SEPIA": "棕褐色",
+ "FONTSETTINGS_NIGHT": "夜間",
+ "FONTSETTINGS_SANS": "無襯線體",
+ "FONTSETTINGS_SERIF": "襯線體"
+}
diff --git a/packages/gitbook-plugin-theme-default/src/index.js b/packages/gitbook-plugin-theme-default/src/index.js
new file mode 100644
index 0000000..ad96175
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/index.js
@@ -0,0 +1,14 @@
+const GitBook = require('gitbook-core');
+
+const Theme = require('./components/Theme');
+const reduceState = require('./reducers');
+const locales = require('./i18n');
+
+
+module.exports = GitBook.createPlugin({
+ activate: (dispatch, state, { Components, I18n }) => {
+ dispatch(Components.registerComponent(Theme, { role: 'website:body' }));
+ dispatch(I18n.registerLocales(locales));
+ },
+ reduce: reduceState
+});
diff --git a/packages/gitbook-plugin-theme-default/src/reducers/index.js b/packages/gitbook-plugin-theme-default/src/reducers/index.js
new file mode 100644
index 0000000..ac53d3a
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/reducers/index.js
@@ -0,0 +1,5 @@
+const GitBook = require('gitbook-core');
+
+module.exports = GitBook.composeReducer(
+ GitBook.createReducer('sidebar', require('./sidebar'))
+);
diff --git a/packages/gitbook-plugin-theme-default/src/reducers/sidebar.js b/packages/gitbook-plugin-theme-default/src/reducers/sidebar.js
new file mode 100644
index 0000000..eef68d4
--- /dev/null
+++ b/packages/gitbook-plugin-theme-default/src/reducers/sidebar.js
@@ -0,0 +1,18 @@
+const GitBook = require('gitbook-core');
+const { Record } = GitBook.Immutable;
+const ActionTypes = require('../actions/types');
+
+const SidebarState = Record({
+ open: true
+});
+
+function reduceSidebar(state = SidebarState(), action) {
+ switch (action.type) {
+ case ActionTypes.TOGGLE_SIDEBAR:
+ return state.set('open', !state.get('open'));
+ default:
+ return state;
+ }
+}
+
+module.exports = reduceSidebar;