forked from TryGhost/Ghost
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Theme translations and blog localisation (TryGhost#8437)
refs TryGhost#5345, refs TryGhost#3801 - Blog localisation - default is `en` (English) - you can change the language code in the admin panel, see TryGhost/Admin#703 - blog behaviour changes depending on the language e.g. date helper format - theme translation get's loaded if available depending on the language setting - falls back to english if not available - Theme translation - complete automatic translation of Ghost's frontend for site visitors (themes, etc.), to quickly deploy a site in a non-English language - added {{t}} and {{lang}} helper - no backend or admin panel translations (!) - easily readable translation keys - very simple translation - server restart required when adding new language files or changing existing files in the theme - no language code validation for now (will be added soon) - a full theme translation requires to translate Ghost core templates (e.g. subscriber form) - when activating a different theme, theme translations are auto re-loaded - when switching language of blog, theme translations are auto re-loaded - Bump gscan to version 1.3.0 to support more known helpers **Documentation can be found at https://themes.ghost.org/v1.20.0/docs/i18n.**
- Loading branch information
Showing
16 changed files
with
369 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
// # lang helper | ||
// {{lang}} gives the current language tag | ||
// Usage example: <html lang="{{lang}}"> | ||
// | ||
// Examples of language tags from RFC 5646: | ||
// de (German) | ||
// fr (French) | ||
// ja (Japanese) | ||
// en-US (English as used in the United States) | ||
// | ||
// Standard: | ||
// Language tags in HTML and XML | ||
// https://www.w3.org/International/articles/language-tags/ | ||
|
||
var proxy = require('./proxy'), | ||
i18n = proxy.i18n, | ||
SafeString = proxy.SafeString; | ||
|
||
module.exports = function lang() { | ||
return new SafeString(i18n.locale()); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
// # t helper | ||
// i18n: Translatable handlebars expressions for templates of the front-end and themes. | ||
// Front-end: .hbs templates in core/server, overridden by copies in themes. Themes: in content/themes. | ||
// | ||
// Usage examples, for example in .hbs theme templates: | ||
// {{t "Get the latest posts delivered right to your inbox"}} | ||
// {{{t "Proudly published with {ghostlink}" ghostlink="<a href=\"https://ghost.org\">Ghost</a>"}}} | ||
// | ||
// To preserve HTML, use {{{t}}}. This helper doesn't use a SafeString object which would prevent escaping, | ||
// because often other helpers need that (t) returns a string to be able to work as subexpression; e.g.: | ||
// {{tags prefix=(t " on ")}} | ||
|
||
var proxy = require('./proxy'), | ||
i18n = proxy.i18n; | ||
|
||
module.exports = function t(text, options) { | ||
var bindings = {}, | ||
prop; | ||
for (prop in options.hash) { | ||
if (options.hash.hasOwnProperty(prop)) { | ||
bindings[prop] = options.hash[prop]; | ||
} | ||
} | ||
bindings.isThemeString = true; | ||
return i18n.t(text, bindings); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.