And client-side locale messages

This commit is contained in:
Samuel Georges 2015-07-29 19:17:38 +10:00
parent fdbd5d8b3c
commit 3f58cd70fc
28 changed files with 350 additions and 14 deletions

View File

@ -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

View File

@ -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);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -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}}
);

View File

@ -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"}}
);

View File

@ -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"}}
);

View File

@ -1,5 +1,6 @@
<?php namespace System\Console;
use Lang;
use File;
use Config;
use Illuminate\Console\Command;
@ -117,6 +118,57 @@ class OctoberUtil extends Command
$this->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()

View File

@ -0,0 +1,32 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Client-side Language Lines
|--------------------------------------------------------------------------
|
| These are messages made available to the client browser via JavaScript.
| To compile this file run: php artisan october:util compile lang
|
*/
'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',
],
];

View File

@ -1,6 +1,6 @@
<?php
return array(
return [
/*
|--------------------------------------------------------------------------
@ -21,12 +21,12 @@ return array(
"alpha_num" => "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' => [],
);
];