From 3f58cd70fc1ee873bd6b89e685910c4fe3d68e84 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Wed, 29 Jul 2015 19:17:38 +1000 Subject: [PATCH] And client-side locale messages --- modules/backend/assets/js/october.js | 3 +- modules/backend/assets/js/october.lang.js | 46 ++++++++++++++++++ modules/system/assets/js/lang/lang.de.js | 9 ++++ modules/system/assets/js/lang/lang.el.js | 9 ++++ modules/system/assets/js/lang/lang.en.js | 9 ++++ modules/system/assets/js/lang/lang.es-ar.js | 9 ++++ modules/system/assets/js/lang/lang.es.js | 9 ++++ modules/system/assets/js/lang/lang.fa.js | 9 ++++ modules/system/assets/js/lang/lang.fr.js | 9 ++++ modules/system/assets/js/lang/lang.hu.js | 9 ++++ modules/system/assets/js/lang/lang.id.js | 9 ++++ modules/system/assets/js/lang/lang.it.js | 9 ++++ modules/system/assets/js/lang/lang.ja.js | 9 ++++ modules/system/assets/js/lang/lang.lv.js | 9 ++++ modules/system/assets/js/lang/lang.nb-no.js | 9 ++++ modules/system/assets/js/lang/lang.nl.js | 9 ++++ modules/system/assets/js/lang/lang.pl.js | 9 ++++ modules/system/assets/js/lang/lang.pt-br.js | 9 ++++ modules/system/assets/js/lang/lang.ro.js | 9 ++++ modules/system/assets/js/lang/lang.ru.js | 9 ++++ modules/system/assets/js/lang/lang.se.js | 9 ++++ modules/system/assets/js/lang/lang.sk.js | 9 ++++ modules/system/assets/js/lang/lang.stub | 9 ++++ modules/system/assets/js/lang/lang.tr.js | 9 ++++ modules/system/assets/js/lang/lang.zh-cn.js | 9 ++++ modules/system/console/OctoberUtil.php | 52 +++++++++++++++++++++ modules/system/lang/en/client.php | 32 +++++++++++++ modules/system/lang/en/validation.php | 24 +++++----- 28 files changed, 350 insertions(+), 14 deletions(-) create mode 100644 modules/backend/assets/js/october.lang.js create mode 100644 modules/system/assets/js/lang/lang.de.js create mode 100644 modules/system/assets/js/lang/lang.el.js create mode 100644 modules/system/assets/js/lang/lang.en.js create mode 100644 modules/system/assets/js/lang/lang.es-ar.js create mode 100644 modules/system/assets/js/lang/lang.es.js create mode 100644 modules/system/assets/js/lang/lang.fa.js create mode 100644 modules/system/assets/js/lang/lang.fr.js create mode 100644 modules/system/assets/js/lang/lang.hu.js create mode 100644 modules/system/assets/js/lang/lang.id.js create mode 100644 modules/system/assets/js/lang/lang.it.js create mode 100644 modules/system/assets/js/lang/lang.ja.js create mode 100644 modules/system/assets/js/lang/lang.lv.js create mode 100644 modules/system/assets/js/lang/lang.nb-no.js create mode 100644 modules/system/assets/js/lang/lang.nl.js create mode 100644 modules/system/assets/js/lang/lang.pl.js create mode 100644 modules/system/assets/js/lang/lang.pt-br.js create mode 100644 modules/system/assets/js/lang/lang.ro.js create mode 100644 modules/system/assets/js/lang/lang.ru.js create mode 100644 modules/system/assets/js/lang/lang.se.js create mode 100644 modules/system/assets/js/lang/lang.sk.js create mode 100644 modules/system/assets/js/lang/lang.stub create mode 100644 modules/system/assets/js/lang/lang.tr.js create mode 100644 modules/system/assets/js/lang/lang.zh-cn.js create mode 100644 modules/system/lang/en/client.php diff --git a/modules/backend/assets/js/october.js b/modules/backend/assets/js/october.js index 116a72fb5..01ddf2987 100644 --- a/modules/backend/assets/js/october.js +++ b/modules/backend/assets/js/october.js @@ -16,8 +16,7 @@ =require ../vendor/sweet-alert/sweet-alert.js =require ../vendor/jcrop/js/jquery.Jcrop.js -=require ../../../system/assets/ui/storm.js - +=require october.lang.js =require october.scrollpad.js =require october.verticalmenu.js =require october.navbar.js diff --git a/modules/backend/assets/js/october.lang.js b/modules/backend/assets/js/october.lang.js new file mode 100644 index 000000000..0042890f8 --- /dev/null +++ b/modules/backend/assets/js/october.lang.js @@ -0,0 +1,46 @@ +/* + * Client side translations + */ + +if ($.oc === undefined) + $.oc = {} + +if ($.oc.langMessages === undefined) + $.oc.langMessages = {} + +$.oc.lang = (function(lang, messages) { + + lang.load = function(locale) { + if (messages[locale] === undefined) { + messages[locale] = {} + } + + lang.loadedMessages = messages[locale] + } + + lang.get = function(name, defaultValue) { + var result = lang.loadedMessages + + $.each(name.split('.'), function(index, value) { + if (result[value] === undefined) { + result = defaultValue + return false + } + + result = result[value] + }) + + return result + } + + if (lang.locale === undefined) { + lang.locale = 'en' + } + + if (lang.loadedMessages === undefined) { + lang.load(lang.locale) + } + + return lang + +})($.oc.lang || {}, $.oc.langMessages); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.de.js b/modules/system/assets/js/lang/lang.de.js new file mode 100644 index 000000000..0106cccf4 --- /dev/null +++ b/modules/system/assets/js/lang/lang.de.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/de/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['de'] = $.extend( + $.oc.langMessages['de'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.el.js b/modules/system/assets/js/lang/lang.el.js new file mode 100644 index 000000000..dfc3436ba --- /dev/null +++ b/modules/system/assets/js/lang/lang.el.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/el/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['el'] = $.extend( + $.oc.langMessages['el'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.en.js b/modules/system/assets/js/lang/lang.en.js new file mode 100644 index 000000000..078d6bb22 --- /dev/null +++ b/modules/system/assets/js/lang/lang.en.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/en/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['en'] = $.extend( + $.oc.langMessages['en'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.es-ar.js b/modules/system/assets/js/lang/lang.es-ar.js new file mode 100644 index 000000000..2568cebdc --- /dev/null +++ b/modules/system/assets/js/lang/lang.es-ar.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/es-ar/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['es-ar'] = $.extend( + $.oc.langMessages['es-ar'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.es.js b/modules/system/assets/js/lang/lang.es.js new file mode 100644 index 000000000..7ace54d5e --- /dev/null +++ b/modules/system/assets/js/lang/lang.es.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/es/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['es'] = $.extend( + $.oc.langMessages['es'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.fa.js b/modules/system/assets/js/lang/lang.fa.js new file mode 100644 index 000000000..f277cdd69 --- /dev/null +++ b/modules/system/assets/js/lang/lang.fa.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/fa/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['fa'] = $.extend( + $.oc.langMessages['fa'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.fr.js b/modules/system/assets/js/lang/lang.fr.js new file mode 100644 index 000000000..edeb090cb --- /dev/null +++ b/modules/system/assets/js/lang/lang.fr.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/fr/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['fr'] = $.extend( + $.oc.langMessages['fr'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.hu.js b/modules/system/assets/js/lang/lang.hu.js new file mode 100644 index 000000000..45c3b98c2 --- /dev/null +++ b/modules/system/assets/js/lang/lang.hu.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/hu/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['hu'] = $.extend( + $.oc.langMessages['hu'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.id.js b/modules/system/assets/js/lang/lang.id.js new file mode 100644 index 000000000..42625f2dc --- /dev/null +++ b/modules/system/assets/js/lang/lang.id.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/id/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['id'] = $.extend( + $.oc.langMessages['id'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.it.js b/modules/system/assets/js/lang/lang.it.js new file mode 100644 index 000000000..2063a5f27 --- /dev/null +++ b/modules/system/assets/js/lang/lang.it.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/it/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['it'] = $.extend( + $.oc.langMessages['it'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.ja.js b/modules/system/assets/js/lang/lang.ja.js new file mode 100644 index 000000000..a445dc568 --- /dev/null +++ b/modules/system/assets/js/lang/lang.ja.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/ja/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['ja'] = $.extend( + $.oc.langMessages['ja'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.lv.js b/modules/system/assets/js/lang/lang.lv.js new file mode 100644 index 000000000..b8cda2c35 --- /dev/null +++ b/modules/system/assets/js/lang/lang.lv.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/lv/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['lv'] = $.extend( + $.oc.langMessages['lv'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.nb-no.js b/modules/system/assets/js/lang/lang.nb-no.js new file mode 100644 index 000000000..32f19372d --- /dev/null +++ b/modules/system/assets/js/lang/lang.nb-no.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/nb-no/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['nb-no'] = $.extend( + $.oc.langMessages['nb-no'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.nl.js b/modules/system/assets/js/lang/lang.nl.js new file mode 100644 index 000000000..26bc57856 --- /dev/null +++ b/modules/system/assets/js/lang/lang.nl.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/nl/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['nl'] = $.extend( + $.oc.langMessages['nl'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.pl.js b/modules/system/assets/js/lang/lang.pl.js new file mode 100644 index 000000000..4225d298f --- /dev/null +++ b/modules/system/assets/js/lang/lang.pl.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/pl/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['pl'] = $.extend( + $.oc.langMessages['pl'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.pt-br.js b/modules/system/assets/js/lang/lang.pt-br.js new file mode 100644 index 000000000..85ab12fb7 --- /dev/null +++ b/modules/system/assets/js/lang/lang.pt-br.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/pt-br/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['pt-br'] = $.extend( + $.oc.langMessages['pt-br'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.ro.js b/modules/system/assets/js/lang/lang.ro.js new file mode 100644 index 000000000..ff48b3e2b --- /dev/null +++ b/modules/system/assets/js/lang/lang.ro.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/ro/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['ro'] = $.extend( + $.oc.langMessages['ro'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.ru.js b/modules/system/assets/js/lang/lang.ru.js new file mode 100644 index 000000000..a21ece223 --- /dev/null +++ b/modules/system/assets/js/lang/lang.ru.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/ru/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['ru'] = $.extend( + $.oc.langMessages['ru'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.se.js b/modules/system/assets/js/lang/lang.se.js new file mode 100644 index 000000000..f385179c4 --- /dev/null +++ b/modules/system/assets/js/lang/lang.se.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/se/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['se'] = $.extend( + $.oc.langMessages['se'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.sk.js b/modules/system/assets/js/lang/lang.sk.js new file mode 100644 index 000000000..ae9d07a60 --- /dev/null +++ b/modules/system/assets/js/lang/lang.sk.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/sk/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['sk'] = $.extend( + $.oc.langMessages['sk'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.stub b/modules/system/assets/js/lang/lang.stub new file mode 100644 index 000000000..2baddceb7 --- /dev/null +++ b/modules/system/assets/js/lang/lang.stub @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/{{locale}}/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['{{locale}}'] = $.extend( + $.oc.langMessages['{{locale}}'] || {}, + {{messages}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.tr.js b/modules/system/assets/js/lang/lang.tr.js new file mode 100644 index 000000000..35d937bf2 --- /dev/null +++ b/modules/system/assets/js/lang/lang.tr.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/tr/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['tr'] = $.extend( + $.oc.langMessages['tr'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/assets/js/lang/lang.zh-cn.js b/modules/system/assets/js/lang/lang.zh-cn.js new file mode 100644 index 000000000..0da029483 --- /dev/null +++ b/modules/system/assets/js/lang/lang.zh-cn.js @@ -0,0 +1,9 @@ +/* + * This file has been compiled from: /modules/system/lang/zh-cn/client.php + */ +if ($.oc === undefined) $.oc = {} +if ($.oc.langMessages === undefined) $.oc.langMessages = {} +$.oc.langMessages['zh-cn'] = $.extend( + $.oc.langMessages['zh-cn'] || {}, + {"markdowneditor":{"formatting":"Formatting","quote":"Quote","code":"Code","header1":"Header 1","header2":"Header 2","header3":"Header 3","header4":"Header 4","header5":"Header 5","bold":"Bold","italic":"Italic","unorderedlist":"Unordered List","orderedlist":"Ordered List","link":"Link","horizontalrule":"Insert Horizontal Rule"}} +); \ No newline at end of file diff --git a/modules/system/console/OctoberUtil.php b/modules/system/console/OctoberUtil.php index bd6ce1a58..e7775e882 100644 --- a/modules/system/console/OctoberUtil.php +++ b/modules/system/console/OctoberUtil.php @@ -1,5 +1,6 @@ comment(sprintf(' -> %s', $publicDest)); } } + + if ($type === null) { + $this->utilCompileLang(); + } + } + + protected function utilCompileLang() + { + if (!$locales = Lang::get('system::lang.locale')) { + return; + } + + $this->comment('Compiling client-side language files...'); + + $locales = array_keys($locales); + $stub = base_path() . '/modules/system/assets/js/lang/lang.stub'; + + foreach ($locales as $locale) { + + /* + * Generate messages + */ + $fallbackPath = base_path() . '/modules/system/lang/en/client.php'; + $srcPath = base_path() . '/modules/system/lang/'.$locale.'/client.php'; + + $messages = require $fallbackPath; + if (File::isFile($srcPath) && $fallbackPath != $srcPath) { + $messages = array_replace_recursive($messages, require $srcPath); + } + + /* + * Compile from stub and save file + */ + $destPath = base_path() . '/modules/system/assets/js/lang/lang.'.$locale.'.js'; + + $contents = str_replace( + ['{{locale}}', '{{messages}}'], + [$locale, json_encode($messages)], + File::get($stub) + ); + + File::put($destPath, $contents); + + /* + * Output notes + */ + $publicDest = File::localToPublic(realpath(dirname($destPath))) . '/' . basename($destPath); + + $this->comment($locale.'/'.basename($srcPath)); + $this->comment(sprintf(' -> %s', $publicDest)); + } } protected function utilPurgeThumbs() diff --git a/modules/system/lang/en/client.php b/modules/system/lang/en/client.php new file mode 100644 index 000000000..f9e8f950d --- /dev/null +++ b/modules/system/lang/en/client.php @@ -0,0 +1,32 @@ + [ + 'formatting' => 'Formatting', + 'quote' => 'Quote', + 'code' => 'Code', + 'header1' => 'Header 1', + 'header2' => 'Header 2', + 'header3' => 'Header 3', + 'header4' => 'Header 4', + 'header5' => 'Header 5', + 'bold' => 'Bold', + 'italic' => 'Italic', + 'unorderedlist' => 'Unordered List', + 'orderedlist' => 'Ordered List', + 'link' => 'Link', + 'horizontalrule' => 'Insert Horizontal Rule', + ], + +]; diff --git a/modules/system/lang/en/validation.php b/modules/system/lang/en/validation.php index fa4ad367e..b730c3580 100644 --- a/modules/system/lang/en/validation.php +++ b/modules/system/lang/en/validation.php @@ -1,6 +1,6 @@ "The :attribute may only contain letters and numbers.", "array" => "The :attribute must be an array.", "before" => "The :attribute must be a date before :date.", - "between" => array( + "between" => [ "numeric" => "The :attribute must be between :min - :max.", "file" => "The :attribute must be between :min - :max kilobytes.", "string" => "The :attribute must be between :min - :max characters.", "array" => "The :attribute must have between :min - :max items.", - ), + ], "confirmed" => "The :attribute confirmation does not match.", "date" => "The :attribute is not a valid date.", "date_format" => "The :attribute does not match the format :format.", @@ -39,20 +39,20 @@ return array( "in" => "The selected :attribute is invalid.", "integer" => "The :attribute must be an integer.", "ip" => "The :attribute must be a valid IP address.", - "max" => array( + "max" => [ "numeric" => "The :attribute may not be greater than :max.", "file" => "The :attribute may not be greater than :max kilobytes.", "string" => "The :attribute may not be greater than :max characters.", "array" => "The :attribute may not have more than :max items.", - ), + ], "mimes" => "The :attribute must be a file of type: :values.", "extensions" => "The :attribute must have an extension of: :values.", - "min" => array( + "min" => [ "numeric" => "The :attribute must be at least :min.", "file" => "The :attribute must be at least :min kilobytes.", "string" => "The :attribute must be at least :min characters.", "array" => "The :attribute must have at least :min items.", - ), + ], "not_in" => "The selected :attribute is invalid.", "numeric" => "The :attribute must be a number.", "regex" => "The :attribute format is invalid.", @@ -61,12 +61,12 @@ return array( "required_with" => "The :attribute field is required when :values is present.", "required_without" => "The :attribute field is required when :values is not present.", "same" => "The :attribute and :other must match.", - "size" => array( + "size" => [ "numeric" => "The :attribute must be :size.", "file" => "The :attribute must be :size kilobytes.", "string" => "The :attribute must be :size characters.", "array" => "The :attribute must contain :size items.", - ), + ], "unique" => "The :attribute has already been taken.", "url" => "The :attribute format is invalid.", @@ -81,7 +81,7 @@ return array( | */ - 'custom' => array(), + 'custom' => [], /* |-------------------------------------------------------------------------- @@ -94,6 +94,6 @@ return array( | */ - 'attributes' => array(), + 'attributes' => [], -); +];