diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-04-01 22:17:12 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-04-01 22:17:12 +0200 |
commit | 4b206855621b71263d5521851b5b7fbfa7d28ac7 (patch) | |
tree | a0a724426c31f163c5ab5e4f7977f84528f1c016 | |
parent | fff7c5cc3ac9191765e0957fecf994e813923225 (diff) | |
download | gitbook-4b206855621b71263d5521851b5b7fbfa7d28ac7.zip gitbook-4b206855621b71263d5521851b5b7fbfa7d28ac7.tar.gz gitbook-4b206855621b71263d5521851b5b7fbfa7d28ac7.tar.bz2 |
Use i18n node module for template translation
-rw-r--r-- | lib/book.js | 12 | ||||
-rw-r--r-- | lib/configuration.js | 3 | ||||
-rw-r--r-- | lib/generators/website.js | 11 | ||||
-rw-r--r-- | lib/utils/i18n.js | 67 | ||||
-rw-r--r-- | package.json | 2 | ||||
-rw-r--r-- | theme/i18n/ar.json | 2 | ||||
-rw-r--r-- | theme/i18n/bn.json | 2 | ||||
-rw-r--r-- | theme/i18n/de.json | 2 | ||||
-rw-r--r-- | theme/i18n/en.json | 2 | ||||
-rw-r--r-- | theme/i18n/es.json | 2 | ||||
-rw-r--r-- | theme/i18n/fa.json | 2 | ||||
-rw-r--r-- | theme/i18n/fr.json | 2 | ||||
-rw-r--r-- | theme/i18n/it.json | 2 | ||||
-rw-r--r-- | theme/i18n/no.json | 2 | ||||
-rw-r--r-- | theme/i18n/pl.json | 2 | ||||
-rw-r--r-- | theme/i18n/pt.json | 2 | ||||
-rw-r--r-- | theme/i18n/ru.json | 2 | ||||
-rw-r--r-- | theme/i18n/zh-cn.json | 2 | ||||
-rw-r--r-- | theme/i18n/zh-tw.json | 2 | ||||
-rw-r--r-- | theme/templates/ebook/glossary.html | 6 | ||||
-rw-r--r-- | theme/templates/ebook/summary.html | 8 | ||||
-rw-r--r-- | theme/templates/website/glossary.html | 2 | ||||
-rw-r--r-- | theme/templates/website/includes/font-settings.html | 10 | ||||
-rw-r--r-- | theme/templates/website/includes/header.html | 30 | ||||
-rw-r--r-- | theme/templates/website/includes/summary.html | 8 | ||||
-rwxr-xr-x | theme/templates/website/langs.html | 4 | ||||
-rw-r--r-- | theme/templates/website/page.html | 2 |
27 files changed, 106 insertions, 87 deletions
diff --git a/lib/book.js b/lib/book.js index 42e2c23..e357ad8 100644 --- a/lib/book.js +++ b/lib/book.js @@ -2,9 +2,9 @@ var Q = require("q"); var _ = require("lodash"); var path = require("path"); var util = require("util"); -var lunr = require('lunr'); +var lunr = require("lunr"); var parsers = require("gitbook-parsers"); -var color = require('bash-color'); +var color = require("bash-color"); var fs = require("./utils/fs"); var parseNavigation = require("./utils/navigation"); @@ -12,6 +12,7 @@ var parseProgress = require("./utils/progress"); var pageUtil = require("./utils/page"); var batch = require("./utils/batch"); var links = require("./utils/links"); +var i18n = require("./utils/i18n"); var logger = require("./utils/logger"); var Configuration = require("./configuration"); @@ -425,7 +426,7 @@ Book.prototype.parseSummary = function() { .then(function(content) { return summary.parser.summary(content, { entryPoint: that.readmeFile, - entryPointTitle: "", + entryPointTitle: that.i18n('SUMMARY_INTRODUCTION'), files: that.files }); }); @@ -727,6 +728,11 @@ Book.prototype.setOutput = function(p) { }); }; +// Translate a strign according to the book language +Book.prototype.i18n = function(phrase) { + var args = Array.prototype.slice.call(arguments); + return i18n.__.apply({}, [this.config.normalizeLanguage()].concat(args)); +}; // Init and return a book Book.init = function(root) { diff --git a/lib/configuration.js b/lib/configuration.js index 70b2eb5..3f8c822 100644 --- a/lib/configuration.js +++ b/lib/configuration.js @@ -60,7 +60,6 @@ function normalizePluginsNames(plugins) { return _.pluck(normalizePluginsList(plugins), "name"); }; - var Configuration = function(book, options) { var that = this; @@ -125,7 +124,7 @@ Configuration.prototype.load = function() { // Default value for text direction (from language) if (!that.options.direction) { - var lang = i18n.getByLanguage(that.options.language); + var lang = i18n.getCatalog(that.options.language); if (lang) that.options.direction = lang.direction; } diff --git a/lib/generators/website.js b/lib/generators/website.js index 9405a1c..fbf0a8d 100644 --- a/lib/generators/website.js +++ b/lib/generators/website.js @@ -6,7 +6,6 @@ var _ = require("lodash"); var nunjucks = require("nunjucks"); var AutoEscapeExtension = require("nunjucks-autoescape"); var FilterExtension = require("nunjucks-filter"); -var I18nExtension = require("nunjucks-i18n"); var fs = require("../utils/fs"); var BaseGenerator = require("../generator"); @@ -79,8 +78,8 @@ Generator.prototype.prepareTemplateEngine = function() { .then(function() { var language = that.book.config.normalizeLanguage(); - if (!i18n.getByLanguage(language) && language != "en") { - that.book.log.warn.ln("Language '"+language+"' is not available as a layout locales (en, "+i18n.getLanguages().join(", ")+")"); + if (!i18n.hasLocale(language)) { + that.book.log.warn.ln("Language '"+language+"' is not available as a layout locales (en, "+i18n.getLocales().join(", ")+")"); } var folders = _.chain(that.templates) @@ -101,15 +100,11 @@ Generator.prototype.prepareTemplateEngine = function() { that.env.addFilter('lvl', function(lvl) { return lvl.split(".").length; }); + that.env.addGlobal('__', that.book.i18n.bind(that.book)); // Add extension that.env.addExtension('AutoEscapeExtension', new AutoEscapeExtension(that.env)); that.env.addExtension('FilterExtension', new FilterExtension(that.env)); - that.env.addExtension('I18nExtension', new I18nExtension({ - env: that.env, - translations: i18n.getLocales(), - locale: "language" - })); }); }; diff --git a/lib/utils/i18n.js b/lib/utils/i18n.js index 449fccb..d504e9a 100644 --- a/lib/utils/i18n.js +++ b/lib/utils/i18n.js @@ -2,32 +2,19 @@ var _ = require("lodash"); var path = require("path"); var fs = require("fs"); -var I18N_PATH = path.resolve(__dirname, "../../theme/i18n/") +var i18n = require("i18n"); -var getLocales = _.memoize(function() { - var locales = fs.readdirSync(I18N_PATH); - return _.chain(locales) - .map(function(local) { - local = path.basename(local, ".json"); - return [local, _.extend({ - direction: "ltr" - }, require(path.join(I18N_PATH, local)), { - id: local - })]; - }) - .object() - .value(); +var I18N_PATH = path.resolve(__dirname, "../../theme/i18n/") +var DEFAULT_LANGUAGE = "en"; +var LOCALES = _.map(fs.readdirSync(I18N_PATH), function(lang) { + return path.basename(lang, ".json"); }); -var getLanguages = function() { - return _.keys(getLocales()); -}; - -var getByLanguage = function(lang) { - lang = normalizeLanguage(lang); - var locales = getLocales(); - return locales[lang]; -}; +i18n.configure({ + locales: LOCALES, + directory: I18N_PATH, + defaultLocale: DEFAULT_LANGUAGE +}); var compareLocales = function(lang, locale) { var langMain = _.first(lang.split("-")); @@ -43,12 +30,9 @@ var compareLocales = function(lang, locale) { }; var normalizeLanguage = _.memoize(function(lang) { - var locales = getLocales(); - var language = _.chain(locales) + var language = _.chain(LOCALES) .values() .map(function(locale) { - locale = locale.id; - return { locale: locale, score: compareLocales(lang, locale) @@ -64,9 +48,32 @@ var normalizeLanguage = _.memoize(function(lang) { return language || lang; }); +var translate = function(locale, phrase) { + var args = Array.prototype.slice.call(arguments, 2); + + return i18n.__.apply({}, [{ + locale: locale, + phrase: phrase + }].concat(args)); +}; + +var getCatalog = function(locale) { + locale = normalizeLanguage(locale); + return i18n.getCatalog(locale); +}; + +var getLocales = function() { + return LOCALES; +}; + +var hasLocale = function(locale) { + return _.contains(LOCALES, locale); +} + module.exports = { + __: translate, + normalizeLanguage: normalizeLanguage, + getCatalog: getCatalog, getLocales: getLocales, - getLanguages: getLanguages, - getByLanguage: getByLanguage, - normalizeLanguage: normalizeLanguage + hasLocale: hasLocale }; diff --git a/package.json b/package.json index 633700e..44221a9 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "nunjucks": "git+https://github.com/mozilla/nunjucks.git#0f8b21b8df7e8e852b2e1889388653b7075f0d09", "nunjucks-autoescape": "0.1.1", "nunjucks-filter": "0.1.0", - "nunjucks-i18n": "1.0.0", + "i18n": "0.5.0", "semver": "2.2.1", "npmi": "0.1.1", "cheerio": "0.19.0", diff --git a/theme/i18n/ar.json b/theme/i18n/ar.json index a0d7f30..a0e7e56 100644 --- a/theme/i18n/ar.json +++ b/theme/i18n/ar.json @@ -12,7 +12,7 @@ "SEARCH_PLACEHOLDER": "اكتب للبحث", "FONTSETTINGS_TOGGLE": "إعدادات الخط", "SHARE_TOGGLE": "حصة", - "SHARE_ON": "على __platform__ حصة", + "SHARE_ON": "على {{platform}} حصة", "FONTSETTINGS_WHITE": "أبيض", "FONTSETTINGS_SEPIA": "بني داكن", "FONTSETTINGS_NIGHT": "ليل", diff --git a/theme/i18n/bn.json b/theme/i18n/bn.json index 4c672ed..24baec3 100644 --- a/theme/i18n/bn.json +++ b/theme/i18n/bn.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "অনুসন্ধান", "FONTSETTINGS_TOGGLE": "ফন্ট সেটিংস", "SHARE_TOGGLE": "শেয়ার", - "SHARE_ON": "__platform__-এ শেয়ার", + "SHARE_ON": "{{platform}}-এ শেয়ার", "FONTSETTINGS_WHITE": "সাদা", "FONTSETTINGS_SEPIA": "সেপিয়া", "FONTSETTINGS_NIGHT": "রাত", diff --git a/theme/i18n/de.json b/theme/i18n/de.json index 73a998e..b51732e 100644 --- a/theme/i18n/de.json +++ b/theme/i18n/de.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "Suchbegriff eingeben", "FONTSETTINGS_TOGGLE": "Schrifteinstellungen", "SHARE_TOGGLE": "Teilen", - "SHARE_ON": "Auf __platform__ teilen", + "SHARE_ON": "Auf {{platform}} teilen", "FONTSETTINGS_WHITE": "Hell", "FONTSETTINGS_SEPIA": "Sepia", "FONTSETTINGS_NIGHT": "Nacht", diff --git a/theme/i18n/en.json b/theme/i18n/en.json index 1596558..fb4485e 100644 --- a/theme/i18n/en.json +++ b/theme/i18n/en.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "Type to search", "FONTSETTINGS_TOGGLE": "Font Settings", "SHARE_TOGGLE": "Share", - "SHARE_ON": "Share on __platform__", + "SHARE_ON": "Share on {{platform}}", "FONTSETTINGS_WHITE": "White", "FONTSETTINGS_SEPIA": "Sepia", "FONTSETTINGS_NIGHT": "Night", diff --git a/theme/i18n/es.json b/theme/i18n/es.json index a00595f..132cb77 100644 --- a/theme/i18n/es.json +++ b/theme/i18n/es.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "Escribe para buscar", "FONTSETTINGS_TOGGLE": "Configuración de fuente", "SHARE_TOGGLE": "Comparte", - "SHARE_ON": "Comparte en __platform__", + "SHARE_ON": "Comparte en {{platform}}", "FONTSETTINGS_WHITE": "Claro", "FONTSETTINGS_SEPIA": "Sépia", "FONTSETTINGS_NIGHT": "Noche", diff --git a/theme/i18n/fa.json b/theme/i18n/fa.json index 258c612..44445c1 100644 --- a/theme/i18n/fa.json +++ b/theme/i18n/fa.json @@ -12,7 +12,7 @@ "SEARCH_PLACEHOLDER": "چیزی برای جستجو بنویسید", "FONTSETTINGS_TOGGLE": "تنظیمات فونت", "SHARE_TOGGLE": "اشتراک", - "SHARE_ON": "در __platform__ به اشتراک بگذارید", + "SHARE_ON": "در {{platform}} به اشتراک بگذارید", "FONTSETTINGS_WHITE": "سفید", "FONTSETTINGS_SEPIA": "سپیا", "FONTSETTINGS_NIGHT": "شب", diff --git a/theme/i18n/fr.json b/theme/i18n/fr.json index 9262c2e..8cc10e2 100644 --- a/theme/i18n/fr.json +++ b/theme/i18n/fr.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "Tapez pour rechercher", "FONTSETTINGS_TOGGLE": "Paramètres de Police", "SHARE_TOGGLE": "Partage", - "SHARE_ON": "Partager sur __platform__", + "SHARE_ON": "Partager sur {{platform}}", "FONTSETTINGS_WHITE": "Clair", "FONTSETTINGS_SEPIA": "Sépia", "FONTSETTINGS_NIGHT": "Nuit", diff --git a/theme/i18n/it.json b/theme/i18n/it.json index e856d7e..3f5e95d 100644 --- a/theme/i18n/it.json +++ b/theme/i18n/it.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "Scrivi per cercare", "FONTSETTINGS_TOGGLE": "Impostazioni dei caratteri", "SHARE_TOGGLE": "Condividi", - "SHARE_ON": "Condividi su __platform__", + "SHARE_ON": "Condividi su {{platform}}", "FONTSETTINGS_WHITE": "Bianco", "FONTSETTINGS_SEPIA": "Seppia", "FONTSETTINGS_NIGHT": "Notte", diff --git a/theme/i18n/no.json b/theme/i18n/no.json index 70f9b33..1ed6236 100644 --- a/theme/i18n/no.json +++ b/theme/i18n/no.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "Skriv inn søkeord", "FONTSETTINGS_TOGGLE": "Tekstinnstillinger", "SHARE_TOGGLE": "Del", - "SHARE_ON": "Del på __platform__", + "SHARE_ON": "Del på {{platform}}", "FONTSETTINGS_WHITE": "Lys", "FONTSETTINGS_SEPIA": "Sepia", "FONTSETTINGS_NIGHT": "Mørk", diff --git a/theme/i18n/pl.json b/theme/i18n/pl.json index 7c0cdf4..4f009fc 100644 --- a/theme/i18n/pl.json +++ b/theme/i18n/pl.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "Wpisz szukaną frazę", "FONTSETTINGS_TOGGLE": "Ustawienia czcionki", "SHARE_TOGGLE": "Udostępnij", - "SHARE_ON": "Udostępnij na __platform__", + "SHARE_ON": "Udostępnij na {{platform}}", "FONTSETTINGS_WHITE": "Jasny", "FONTSETTINGS_SEPIA": "Sepia", "FONTSETTINGS_NIGHT": "Noc", diff --git a/theme/i18n/pt.json b/theme/i18n/pt.json index 5413a48..9d6bde0 100644 --- a/theme/i18n/pt.json +++ b/theme/i18n/pt.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "Escreva para pesquisar", "FONTSETTINGS_TOGGLE": "Configurações de fonte", "SHARE_TOGGLE": "Compartilhar", - "SHARE_ON": "Compartilhar no __platform__", + "SHARE_ON": "Compartilhar no {{platform}}", "FONTSETTINGS_WHITE": "Claro", "FONTSETTINGS_SEPIA": "Sépia", "FONTSETTINGS_NIGHT": "Noite", diff --git a/theme/i18n/ru.json b/theme/i18n/ru.json index 1a70f07..9e6b9dd 100644 --- a/theme/i18n/ru.json +++ b/theme/i18n/ru.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "Введите условия поиска", "FONTSETTINGS_TOGGLE": "Шрифт", "SHARE_TOGGLE": "Поделиться", - "SHARE_ON": "Поделиться в __platform__", + "SHARE_ON": "Поделиться в {{platform}}", "FONTSETTINGS_WHITE": "Светлый", "FONTSETTINGS_SEPIA": "Сепия", "FONTSETTINGS_NIGHT": "Тёмный", diff --git a/theme/i18n/zh-cn.json b/theme/i18n/zh-cn.json index dfeb2b8..8aa372c 100644 --- a/theme/i18n/zh-cn.json +++ b/theme/i18n/zh-cn.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "输入并搜索", "FONTSETTINGS_TOGGLE": "字体设置", "SHARE_TOGGLE": "分享", - "SHARE_ON": "分享到 __platform__", + "SHARE_ON": "分享到 {{platform}}", "FONTSETTINGS_WHITE": "白色", "FONTSETTINGS_SEPIA": "棕褐色", "FONTSETTINGS_NIGHT": "夜间", diff --git a/theme/i18n/zh-tw.json b/theme/i18n/zh-tw.json index 6ae26aa..d5ff1ad 100644 --- a/theme/i18n/zh-tw.json +++ b/theme/i18n/zh-tw.json @@ -11,7 +11,7 @@ "SEARCH_PLACEHOLDER": "輸入並搜尋", "FONTSETTINGS_TOGGLE": "字型設定", "SHARE_TOGGLE": "分享", - "SHARE_ON": "分享到 __platform__", + "SHARE_ON": "分享到 {{platform}}", "FONTSETTINGS_WHITE": "白色", "FONTSETTINGS_SEPIA": "棕褐色", "FONTSETTINGS_NIGHT": "夜間", diff --git a/theme/templates/ebook/glossary.html b/theme/templates/ebook/glossary.html index d4d46f2..1266f27 100644 --- a/theme/templates/ebook/glossary.html +++ b/theme/templates/ebook/glossary.html @@ -1,11 +1,11 @@ {% extends "./page.html" %} -{% block title %}{% i18n "GLOSSARY" %}Glossary{% endi18n %} | {{ title }}{% endblock %} +{% block title %}{{ __("GLOSSARY") }} | {{ title }}{% endblock %} {% block content %} <div class="page page-toc"> - <h1 class="book-chapter book-chapter-1">{% i18n "GLOSSARY" %}Glossary{% endi18n %}</h1> - <h1>{% i18n "GLOSSARY" %}Glossary{% endi18n %}</h1> + <h1 class="book-chapter book-chapter-1">{{ __("GLOSSARY") }}</h1> + <h1>{{ __("GLOSSARY") }}</h1> {% for item in glossary %} <section class="normal glossary" id="{{ item.id }}"> <h2><a href="#{{ item.id }}">{{ item.name }}</a></h2> diff --git a/theme/templates/ebook/summary.html b/theme/templates/ebook/summary.html index c0d6d1e..fa79a98 100644 --- a/theme/templates/ebook/summary.html +++ b/theme/templates/ebook/summary.html @@ -1,13 +1,13 @@ {% extends "./page.html" %} -{% block title %}{% i18n "SUMMARY" %}Table of Contents{% endi18n %} | {{ title }}{% endblock %} +{% block title %}{{ __("SUMMARY") }} | {{ title }}{% endblock %} {% macro articles(_articles) %} {% for item in _articles %} <li> {% if item.path and item.exists %} {% if not item.external %} - <a href="{{ basePath }}/{{ item.path|contentLink }}">{% if item.introduction %}{% i18n "SUMMARY_INTRODUCTION" %}Introduction{% endi18n %}{% else %}{{ item.title }}{% endif %}</a> + <a href="{{ basePath }}/{{ item.path|contentLink }}">{{ item.title }}</a> {% else %} <a target="_blank" href="{{ item.path }}">{{ item.title }}</a> {% endif %} @@ -25,12 +25,12 @@ {% block content %} <div class="page page-toc"> - <h1>{% i18n "SUMMARY" %}Table of Contents{% endi18n %}</h1> + <h1>{{ __("SUMMARY") }}</h1> <ol> {{ articles(summary.chapters) }} {% if glossary.length > 0 %} - <li><a href="{{ basePath }}/GLOSSARY.html">{% i18n "GLOSSARY" %}Glossary{% endi18n %}</a></li> + <li><a href="{{ basePath }}/GLOSSARY.html">{{ __("GLOSSARY") }}</a></li> {% endif %} </ol> </div> diff --git a/theme/templates/website/glossary.html b/theme/templates/website/glossary.html index 1a78c76..dd3f719 100644 --- a/theme/templates/website/glossary.html +++ b/theme/templates/website/glossary.html @@ -1,6 +1,6 @@ {% extends "page.html" %} -{% block title %}{% i18n "GLOSSARY" %}Glossary{% endi18n %} | {{ title }}{% endblock %} +{% block title %}{{ __("GLOSSARY") }} | {{ title }}{% endblock %} {% block page_inner %} {% for item in glossary %} diff --git a/theme/templates/website/includes/font-settings.html b/theme/templates/website/includes/font-settings.html index 6a54334..2d5024b 100644 --- a/theme/templates/website/includes/font-settings.html +++ b/theme/templates/website/includes/font-settings.html @@ -10,13 +10,13 @@ </div> <div class="buttons font-family-list"> - <button type="button" data-font="0" class="button">{% i18n "FONTSETTINGS_SERIF" %}Serif{% endi18n %}</button> - <button type="button" data-font="1" class="button">{% i18n "FONTSETTINGS_SANS" %}Sans{% endi18n %}</button> + <button type="button" data-font="0" class="button">{{ __("FONTSETTINGS_SERIF") }}</button> + <button type="button" data-font="1" class="button">{{ __("FONTSETTINGS_SANS") }}</button> </div> <div class="buttons color-theme-list"> - <button type="button" id="color-theme-preview-0" class="button size-3" data-theme="0">{% i18n "FONTSETTINGS_WHITE" %}White{% endi18n %}</button> - <button type="button" id="color-theme-preview-1" class="button size-3" data-theme="1">{% i18n "FONTSETTINGS_SEPIA" %}Sepia{% endi18n %}</button> - <button type="button" id="color-theme-preview-2" class="button size-3" data-theme="2">{% i18n "FONTSETTINGS_NIGHT" %}Night{% endi18n %}</button> + <button type="button" id="color-theme-preview-0" class="button size-3" data-theme="0">{{ __("FONTSETTINGS_WHITE") }}</button> + <button type="button" id="color-theme-preview-1" class="button size-3" data-theme="1">{{ __("FONTSETTINGS_SEPIA") }}</button> + <button type="button" id="color-theme-preview-2" class="button size-3" data-theme="2">{{ __("FONTSETTINGS_NIGHT") }}</button> </div> </div> diff --git a/theme/templates/website/includes/header.html b/theme/templates/website/includes/header.html index 119dd62..7a987b0 100644 --- a/theme/templates/website/includes/header.html +++ b/theme/templates/website/includes/header.html @@ -1,12 +1,12 @@ <div class="book-header"> <!-- Actions Left --> - <a href="#" class="btn pull-left toggle-summary" aria-label="{% i18n "SUMMARY_TOGGLE" %}Table of Contents{% endi18n %}"><i class="fa fa-align-justify"></i></a> - <a href="#" class="btn pull-left toggle-search" aria-label="{% i18n "SEARCH_TOGGLE" %}Search{% endi18n %}"><i class="fa fa-search"></i></a> + <a href="#" class="btn pull-left toggle-summary" aria-label="{{ __("SUMMARY_TOGGLE") }}"><i class="fa fa-align-justify"></i></a> + <a href="#" class="btn pull-left toggle-search" aria-label="{{ __("SEARCH_TOGGLE") }}"><i class="fa fa-search"></i></a> {% if glossary.length > 0 %} - <a href="{{ basePath }}/GLOSSARY.html" class="btn pull-left" aria-label="{% i18n "GLOSSARY_OPEN" %}Glossary{% endi18n %}"><i class="fa fa-sort-alpha-asc"></i></a> + <a href="{{ basePath }}/GLOSSARY.html" class="btn pull-left" aria-label="{{ __("GLOSSARY_OPEN") }}"><i class="fa fa-sort-alpha-asc"></i></a> {% endif %} <div id="font-settings-wrapper" class="dropdown pull-left"> - <a href="#" class="btn toggle-dropdown" aria-label="{% i18n "FONTSETTINGS_TOGGLE" %}Font Settings{% endi18n %}"><i class="fa fa-font"></i> + <a href="#" class="btn toggle-dropdown" aria-label="{{ __("FONTSETTINGS_TOGGLE") }}"><i class="fa fa-font"></i> </a> {% include "./font-settings.html" %} </div> @@ -14,7 +14,7 @@ <!-- Actions Right --> {% if options.links.sharing.all != false %} <div class="dropdown pull-right"> - <a href="#" class="btn toggle-dropdown" aria-label="{% i18n "SHARE_TOGGLE" %}Share{% endi18n %}"><i class="fa fa-share-alt"></i> + <a href="#" class="btn toggle-dropdown" aria-label="{{ __("SHARE_TOGGLE") }}"><i class="fa fa-share-alt"></i> </a> <div class="dropdown-menu font-settings dropdown-left"> <div class="dropdown-caret"> @@ -22,11 +22,21 @@ <span class="caret-inner"></span> </div> <div class="buttons"> - <button type="button" data-sharing="twitter" class="button">{% i18n "SHARE_ON", __platform__="Twitter" %}Share on __platform__{% endi18n %}</button> - <button type="button" data-sharing="google-plus" class="button">{% i18n "SHARE_ON", __platform__="Google" %}Share on __platform__{% endi18n %}</button> - <button type="button" data-sharing="facebook" class="button">{% i18n "SHARE_ON", __platform__="Facebook" %}Share on __platform__{% endi18n %}</button> - <button type="button" data-sharing="weibo" class="button">{% i18n "SHARE_ON", __platform__="Weibo" %}Share on __platform__{% endi18n %}</button> - <button type="button" data-sharing="instapaper" class="button">{% i18n "SHARE_ON", __platform__="Instapaper" %}Share on __platform__{% endi18n %}</button> + <button type="button" data-sharing="twitter" class="button"> + {{ __("SHARE_ON", platform="Twitter") }} + </button> + <button type="button" data-sharing="google-plus" class="button"> + {{ __("SHARE_ON", platform="Google") }} + </button> + <button type="button" data-sharing="facebook" class="button"> + {{ __("SHARE_ON", platform="Facebook") }} + </button> + <button type="button" data-sharing="weibo" class="button"> + {{ __("SHARE_ON", platform="Weibo") }} + </button> + <button type="button" data-sharing="instapaper" class="button"> + {{ __("SHARE_ON", platform="Instapaper") }} + </button> </div> </div> </div> diff --git a/theme/templates/website/includes/summary.html b/theme/templates/website/includes/summary.html index e016024..312fc2d 100644 --- a/theme/templates/website/includes/summary.html +++ b/theme/templates/website/includes/summary.html @@ -8,7 +8,7 @@ {% if item.level != "0" %} <b>{{ item.level }}.</b> {% endif %} - {% if item.introduction and not item.title %}{% i18n "SUMMARY_INTRODUCTION" %}Introduction{% endi18n %}{% else %}{{ item.title }}{% endif %} + {{ item.title }} </a> {% else %} <a target="_blank" href="{{ item.path }}"> @@ -33,7 +33,7 @@ <div class="book-summary"> <div class="book-search"> - <input type="text" placeholder="{% i18n "SEARCH_PLACEHOLDER" %}Type to search{% endi18n %}" class="form-control" /> + <input type="text" placeholder="{{ __("SEARCH_PLACEHOLDER") }}" class="form-control" /> </div> <ul class="summary"> {% set _divider = false %} @@ -55,7 +55,9 @@ {% if options.links.gitbook != false %} <li class="divider"></li> <li> - <a href="https://www.gitbook.com" target="blank" class="gitbook-link">{% i18n "GITBOOK_LINK" %}Published using GitBook{% endi18n %}</a> + <a href="https://www.gitbook.com" target="blank" class="gitbook-link"> + {{ __("GITBOOK_LINK") }} + </a> </li> {% endif %} </ul> diff --git a/theme/templates/website/langs.html b/theme/templates/website/langs.html index 89a075e..6005cbb 100755 --- a/theme/templates/website/langs.html +++ b/theme/templates/website/langs.html @@ -9,7 +9,7 @@ {% block content %} <div class="book-langs-index"> <div class="inner"> - <h3>{% i18n "LANGS_CHOOSE" %}Choose a language{% endi18n %}</h3> + <h3>{{ __("LANGS_CHOOSE") }}</h3> <ul class="languages"> {% for lang in langs %} @@ -22,4 +22,4 @@ </div> {% endblock %} -{% block javascript %}{% endblock %}
\ No newline at end of file +{% block javascript %}{% endblock %} diff --git a/theme/templates/website/page.html b/theme/templates/website/page.html index d4b5e0b..37fc9dd 100644 --- a/theme/templates/website/page.html +++ b/theme/templates/website/page.html @@ -10,7 +10,7 @@ {% endif %} {% endblock %} -{% block title %}{% if progress.current.introduction and not progress.current.title %}{% i18n "SUMMARY_INTRODUCTION" %}Introduction{% endi18n %}{% else %}{{ progress.current.title }}{% endif %} | {{ title }}{% endblock %} +{% block title %}{{ progress.current.title }} | {{ title }}{% endblock %} {% block description %}{% if progress.current.level == "0" %}{{ description }}{% endif %}{% endblock %} {% block content %} |