lalala 4.0.0.dev.219 → 4.0.0.dev.224
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/images/lalala/overlay-logo.png +0 -0
- data/app/assets/javascripts/lalala/modules/helpers.module.js +40 -0
- data/app/assets/javascripts/lalala/modules/init.module.js +4 -2
- data/app/assets/javascripts/lalala/modules/locale_chooser.module.js +4 -0
- data/app/assets/javascripts/lalala/modules/login.module.js +66 -0
- data/app/assets/stylesheets/lalala/base/_mixins.css.scss +19 -0
- data/app/assets/stylesheets/lalala/modules/_login.css.scss +153 -31
- data/app/assets/stylesheets/lalala/modules/_title-bar.css.scss +25 -2
- data/app/views/active_admin/devise/sessions/new.html.erb +43 -0
- data/config/locales/en.yml +512 -0
- data/lib/lalala/ext_i18n.rb +1 -0
- data/lib/lalala/ext_i18n/name_for_locale.rb +9 -0
- data/lib/lalala/version.rb +1 -1
- data/lib/lalala/views/title_bar.rb +2 -2
- data/test/dummy/app/models/article.rb +5 -2
- data/test/dummy/config/application.rb +2 -1
- data/test/dummy/config/locales/en.yml +0 -3
- data/test/dummy/config/locales/nl.yml +2 -0
- data/test/dummy/db/migrate/20131121092946_make_articles_translatable.rb +19 -0
- data/test/dummy/db/schema.rb +12 -2
- data/test/integration/aricles_test.rb +3 -3
- metadata +13 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7314e8f7a9befcc525c6329eeba49e2b2086ac9
|
4
|
+
data.tar.gz: 8e22778b81fc3a18e08931add4f53da8a11aa6d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 511a431c0045a716b6cd1a1814e36045dfb00262246c32dcc09c4d9fb8d003f915198322f56b3a9299f57a8a24a12a56de43d045aa96f4ea872e3480c8d9c297
|
7
|
+
data.tar.gz: 408a133d383a8c593b37e12389237d7318f8a18c5fd3afa6ae359e34009978dec815e9ff1f055e42a72aa9cdc78ec576da3b3696812e10591cf84f3ce7758030
|
Binary file
|
@@ -0,0 +1,40 @@
|
|
1
|
+
//
|
2
|
+
// Debounce (from underscore.js)
|
3
|
+
//
|
4
|
+
exports.debounce = function(func, wait, immediate) {
|
5
|
+
var timeout, args, context, timestamp, result;
|
6
|
+
|
7
|
+
// get time helper
|
8
|
+
var getTime = (Date.now || function() {
|
9
|
+
return new Date().getTime();
|
10
|
+
});
|
11
|
+
|
12
|
+
// debounce
|
13
|
+
return function() {
|
14
|
+
context = this;
|
15
|
+
args = arguments;
|
16
|
+
timestamp = getTime();
|
17
|
+
var later = function() {
|
18
|
+
var last = getTime() - timestamp;
|
19
|
+
if (last < wait) {
|
20
|
+
timeout = setTimeout(later, wait - last);
|
21
|
+
} else {
|
22
|
+
timeout = null;
|
23
|
+
if (!immediate) {
|
24
|
+
result = func.apply(context, args);
|
25
|
+
context = args = null;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
};
|
29
|
+
var callNow = immediate && !timeout;
|
30
|
+
if (!timeout) {
|
31
|
+
timeout = setTimeout(later, wait);
|
32
|
+
}
|
33
|
+
if (callNow) {
|
34
|
+
result = func.apply(context, args);
|
35
|
+
context = args = null;
|
36
|
+
}
|
37
|
+
|
38
|
+
return result;
|
39
|
+
};
|
40
|
+
};
|
@@ -3,9 +3,11 @@ var console = require('browser/console'),
|
|
3
3
|
editor = require('lalala/modules/editor'),
|
4
4
|
grid = require('lalala/modules/grid'),
|
5
5
|
locale_chooser = require("lalala/modules/locale_chooser"),
|
6
|
-
sorted_pages_tree = require("lalala/modules/sorted_pages_tree")
|
6
|
+
sorted_pages_tree = require("lalala/modules/sorted_pages_tree"),
|
7
|
+
login = require("lalala/modules/login");
|
7
8
|
|
8
|
-
$(function(){
|
9
|
+
$(function() {
|
10
|
+
login.init();
|
9
11
|
locale_chooser.init();
|
10
12
|
editor.init();
|
11
13
|
calendar.init();
|
@@ -1,6 +1,7 @@
|
|
1
1
|
var storage = require("lalala/modules/storage"),
|
2
2
|
$chooser;
|
3
3
|
|
4
|
+
|
4
5
|
exports.init = function(){
|
5
6
|
$chooser = $('.locale_chooser select').first();
|
6
7
|
|
@@ -9,6 +10,7 @@ exports.init = function(){
|
|
9
10
|
}
|
10
11
|
};
|
11
12
|
|
13
|
+
|
12
14
|
function setup() {
|
13
15
|
var locale = storage.locale,
|
14
16
|
default_locale;
|
@@ -35,10 +37,12 @@ function setup() {
|
|
35
37
|
$chooser.on('change', on_switch_locale);
|
36
38
|
}
|
37
39
|
|
40
|
+
|
38
41
|
function on_switch_locale(e) {
|
39
42
|
switch_locale($(this).val());
|
40
43
|
}
|
41
44
|
|
45
|
+
|
42
46
|
function switch_locale(locale) {
|
43
47
|
var translated = $(".translated[data-locale]"),
|
44
48
|
current = translated.filter("*[data-locale="+locale+"]"),
|
@@ -0,0 +1,66 @@
|
|
1
|
+
var Helpers = require("./helpers");
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
function Login(el) {
|
6
|
+
this.$el = $(el);
|
7
|
+
this.$tryout = this.$el.find(".text.tryout");
|
8
|
+
|
9
|
+
this.bind_events();
|
10
|
+
this.$el.find("input").trigger("change");
|
11
|
+
}
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
//
|
16
|
+
// Events
|
17
|
+
//
|
18
|
+
Login.prototype.bind_events = function() {
|
19
|
+
this.$el.on("change", "input", $.proxy(this.input_change_handler, this));
|
20
|
+
this.$el.on("keyup", "input", Helpers.debounce($.proxy(this.input_keyup_handler, this), 250));
|
21
|
+
};
|
22
|
+
|
23
|
+
|
24
|
+
Login.prototype.input_change_handler = function(e) {
|
25
|
+
var $trgt, text, width;
|
26
|
+
|
27
|
+
// input element
|
28
|
+
$trgt = $(e.currentTarget);
|
29
|
+
|
30
|
+
// text
|
31
|
+
text = $trgt.val();
|
32
|
+
|
33
|
+
if ($trgt.attr("type") == "password") {
|
34
|
+
text = new Array(text.length + 1).join("⦁");
|
35
|
+
}
|
36
|
+
|
37
|
+
this.$tryout.text(text);
|
38
|
+
|
39
|
+
// width
|
40
|
+
if (!e.currentTarget.original_width) {
|
41
|
+
e.currentTarget.original_width = $trgt.width();
|
42
|
+
}
|
43
|
+
|
44
|
+
width = this.$tryout.width();
|
45
|
+
if (width < e.currentTarget.original_width) {
|
46
|
+
width = e.currentTarget.original_width;
|
47
|
+
}
|
48
|
+
|
49
|
+
$trgt.width(width);
|
50
|
+
};
|
51
|
+
|
52
|
+
|
53
|
+
Login.prototype.input_keyup_handler = function(e) {
|
54
|
+
$(e.currentTarget).trigger("change");
|
55
|
+
};
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
//
|
60
|
+
// Exports
|
61
|
+
//
|
62
|
+
exports.init = function() {
|
63
|
+
$(".mod-login").each(function() {
|
64
|
+
new Login(this);
|
65
|
+
});
|
66
|
+
};
|
@@ -55,3 +55,22 @@
|
|
55
55
|
right: $offset;
|
56
56
|
top: $offset;
|
57
57
|
}
|
58
|
+
|
59
|
+
|
60
|
+
//
|
61
|
+
// PLACEHOLDER STYLES (mixin)
|
62
|
+
// ----------------------
|
63
|
+
//
|
64
|
+
// Apply styles to the placeholder
|
65
|
+
//
|
66
|
+
// Usage:
|
67
|
+
// input, textarea {
|
68
|
+
// @include placeholder-styles { color: #aaa; }
|
69
|
+
// }
|
70
|
+
//
|
71
|
+
@mixin placeholder-styles {
|
72
|
+
&::-webkit-input-placeholder { @content }
|
73
|
+
&:-moz-placeholder { @content }
|
74
|
+
&::-moz-placeholder { @content }
|
75
|
+
&:-ms-input-placeholder { @content }
|
76
|
+
}
|
@@ -1,61 +1,183 @@
|
|
1
1
|
.active_admin.logged_out.new {
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
position: absolute;
|
9
|
-
top: 50%;
|
10
|
-
width: 400px;
|
3
|
+
//
|
4
|
+
// Containers
|
5
|
+
//
|
6
|
+
#wrapper, #content_wrapper, #active_admin_content {
|
7
|
+
@include spiderman;
|
11
8
|
}
|
12
9
|
|
13
10
|
#active_admin_content {
|
14
11
|
background-color: transparent;
|
15
12
|
padding: 0;
|
13
|
+
text-align: center;
|
16
14
|
width: auto;
|
17
15
|
}
|
18
16
|
|
19
|
-
|
20
|
-
|
17
|
+
#active_admin_content:before {
|
18
|
+
content: '';
|
19
|
+
display: inline-block;
|
20
|
+
height: 100%;
|
21
|
+
vertical-align: middle;
|
22
|
+
margin-right: -0.25em; /* Adjusts for spacing */
|
23
|
+
}
|
24
|
+
|
25
|
+
.mod-login {
|
26
|
+
display: inline-block;
|
27
|
+
text-align: left;
|
28
|
+
vertical-align: middle;
|
29
|
+
width: 650px;
|
30
|
+
}
|
31
|
+
|
32
|
+
|
33
|
+
//
|
34
|
+
// Text
|
35
|
+
//
|
36
|
+
.text {
|
21
37
|
color: white;
|
22
|
-
font-size:
|
38
|
+
font-size: 50px;
|
23
39
|
font-weight: bold;
|
40
|
+
line-height: 52px;
|
41
|
+
margin-bottom: 10px;
|
42
|
+
text-shadow: 1px 1px rgba(black, .325);
|
24
43
|
}
|
25
44
|
|
26
|
-
|
27
|
-
|
45
|
+
span.text {
|
46
|
+
display: inline-block;
|
47
|
+
}
|
48
|
+
|
49
|
+
.text.tryout {
|
50
|
+
left: 0;
|
51
|
+
position: fixed;
|
52
|
+
top: 99%;
|
53
|
+
top: -moz-calc(100% - 1px);
|
54
|
+
top: -webkit-calc(100% - 1px);
|
55
|
+
top: calc(100% - 1px);
|
56
|
+
visibility: hidden;
|
57
|
+
width: auto;
|
58
|
+
}
|
59
|
+
|
60
|
+
label,
|
61
|
+
.flash {
|
62
|
+
display: none;
|
63
|
+
}
|
64
|
+
|
65
|
+
//
|
66
|
+
// Input fields
|
67
|
+
//
|
68
|
+
.input {
|
69
|
+
margin: -4px 0 0;
|
70
|
+
}
|
71
|
+
|
72
|
+
.inputs {
|
73
|
+
margin: 14px 0 0;
|
74
|
+
white-space: nowrap;
|
75
|
+
}
|
76
|
+
|
77
|
+
.inputs > ol > li {
|
78
|
+
display: inline-block;
|
79
|
+
margin-right: 13px;
|
80
|
+
}
|
81
|
+
|
82
|
+
.inputs .text {
|
83
|
+
position: relative;
|
84
|
+
top: -2px;
|
28
85
|
}
|
29
86
|
|
30
|
-
input[type=email],
|
31
|
-
input[type=password] {
|
32
|
-
@include
|
33
|
-
background-color
|
34
|
-
|
87
|
+
input[type="email"],
|
88
|
+
input[type="password"] {
|
89
|
+
@include box-sizing(border-box);
|
90
|
+
@include transition(background-color 600ms, border-color 600ms);
|
91
|
+
|
92
|
+
background: none;
|
93
|
+
border: 0;
|
94
|
+
border-bottom: 2px solid rgba($blue, .5);
|
95
|
+
border-radius: 0;
|
96
|
+
box-shadow: none;
|
97
|
+
color: lighten($blue, 10);
|
98
|
+
display: inline-block;
|
99
|
+
font-size: 50px;
|
35
100
|
font-weight: bold;
|
36
|
-
|
101
|
+
height: 66px;
|
102
|
+
line-height: 56px;
|
103
|
+
padding: 0;
|
104
|
+
position: relative;
|
105
|
+
top: -2px;
|
106
|
+
width: 120px;
|
37
107
|
|
38
|
-
|
39
|
-
|
40
|
-
color:
|
108
|
+
@include placeholder-styles {
|
109
|
+
@include transition(color 600ms, text-shadow 600ms);
|
110
|
+
color: white;
|
111
|
+
text-shadow: 1px 1px rgba(black, .325);
|
112
|
+
text-transform: lowercase;
|
41
113
|
}
|
114
|
+
}
|
42
115
|
|
116
|
+
input[type="password"] {
|
117
|
+
width: 233px;
|
43
118
|
}
|
44
119
|
|
45
|
-
|
46
|
-
|
120
|
+
input[type="email"],
|
121
|
+
input[type="password"] { &:focus {
|
122
|
+
@include placeholder-styles {
|
123
|
+
color: rgba(white, .75);
|
124
|
+
text-shadow: 1px 1px rgba(black, .05);
|
125
|
+
}
|
126
|
+
}}
|
127
|
+
|
128
|
+
//
|
129
|
+
// Actions
|
130
|
+
//
|
131
|
+
.actions {
|
132
|
+
margin: 90px 0 0 -50px;
|
133
|
+
position: relative;
|
134
|
+
|
135
|
+
button, .version {
|
136
|
+
@include transition(background-color 600ms);
|
137
|
+
}
|
47
138
|
}
|
48
139
|
|
49
|
-
|
50
|
-
background
|
51
|
-
|
52
|
-
|
53
|
-
|
140
|
+
.actions button {
|
141
|
+
background: #bbb image-url("lalala/overlay-logo.png") 0 0;
|
142
|
+
border: 0;
|
143
|
+
border-radius: 10px;
|
144
|
+
cursor: pointer;
|
145
|
+
display: block;
|
146
|
+
height: 90px;
|
147
|
+
outline: none;
|
148
|
+
text-indent: -9999px;
|
149
|
+
width: 280px;
|
54
150
|
}
|
55
151
|
|
56
|
-
.
|
152
|
+
.actions button.error {
|
153
|
+
&, & + .version { background-color: $button_red; }
|
154
|
+
}
|
155
|
+
|
156
|
+
.actions button.glow,
|
157
|
+
.actions button:focus,
|
158
|
+
.actions button:hover { &, & + .version {
|
159
|
+
background-color: rgba($blue, .5);
|
160
|
+
}}
|
161
|
+
|
162
|
+
.actions .version {
|
163
|
+
@include background-image(
|
164
|
+
linear-gradient(rgba(black, 0), rgba(black, .125))
|
165
|
+
);
|
166
|
+
|
167
|
+
background-color: #bbb;
|
168
|
+
border-bottom: 1px solid rgba(black, .25);
|
169
|
+
border-radius: 10px;
|
170
|
+
color: white;
|
171
|
+
display: inline-block;
|
172
|
+
font-size: 10px;
|
173
|
+
font-weight: bold;
|
174
|
+
height: 16px;
|
175
|
+
left: 235px;
|
176
|
+
line-height: 16px;
|
177
|
+
padding: 1px 9px 0;
|
57
178
|
position: absolute;
|
58
|
-
|
179
|
+
text-shadow: 1px 1px rgba(black, .3);
|
180
|
+
top: -19px;
|
59
181
|
}
|
60
182
|
|
61
183
|
}
|
@@ -30,8 +30,31 @@
|
|
30
30
|
}
|
31
31
|
|
32
32
|
.locale_chooser {
|
33
|
+
border-left: 1px solid #dcdcdc;
|
33
34
|
float: right;
|
34
|
-
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
//
|
39
|
+
// Locale chooser
|
40
|
+
//
|
41
|
+
.locale_chooser select {
|
42
|
+
@include appearance(none);
|
43
|
+
|
44
|
+
border: 0;
|
45
|
+
border-radius: 0;
|
46
|
+
color: black;
|
47
|
+
cursor: pointer;
|
48
|
+
display: inline-block;
|
49
|
+
font-weight: bold;
|
50
|
+
height: $top_nav_height;
|
51
|
+
line-height: $top_nav_height + 2;
|
52
|
+
padding: 0 24px;
|
53
|
+
vertical-align: top;
|
54
|
+
|
55
|
+
&:focus {
|
56
|
+
border: none;
|
57
|
+
box-shadow: none;
|
35
58
|
}
|
36
59
|
}
|
37
60
|
|
@@ -59,7 +82,7 @@
|
|
59
82
|
}
|
60
83
|
|
61
84
|
//
|
62
|
-
//
|
85
|
+
// Current page title
|
63
86
|
//
|
64
87
|
h2 {
|
65
88
|
color: gray(211);
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<div class="mod-login">
|
2
|
+
<% scope = Devise::Mapping.find_scope!(resource_name) %>
|
3
|
+
<%= active_admin_form_for(resource, :as => resource_name, :url => send(:"#{scope}_session_path"), :html => { :id => "session_new" }) do |f|
|
4
|
+
alert = flash.now[:alert]
|
5
|
+
button_css_class = (alert && alert.to_s.downcase.include?("invalid")) ? "error" : ""
|
6
|
+
|
7
|
+
f.form_buffers.last << raw(<<-EOS
|
8
|
+
<div class="text">
|
9
|
+
#{ t("login.a") }
|
10
|
+
</div>
|
11
|
+
EOS
|
12
|
+
)
|
13
|
+
|
14
|
+
f.inputs do
|
15
|
+
resource.class.authentication_keys.each { |key|
|
16
|
+
f.input key, input_html: {
|
17
|
+
placeholder: t('active_admin.devise.login.title'),
|
18
|
+
autofocus: true
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
f.form_buffers.last << raw("<span class=\"text\">#{ t("login.b") }</span>")
|
23
|
+
f.form_buffers.last << raw("<br>")
|
24
|
+
|
25
|
+
f.input :password, input_html: {
|
26
|
+
placeholder: "Password"
|
27
|
+
}
|
28
|
+
|
29
|
+
f.form_buffers.last << raw("<span class=\"text\">#{ t("login.c") }</span>")
|
30
|
+
end
|
31
|
+
|
32
|
+
f.form_buffers.last << raw(<<-EOS
|
33
|
+
<fieldset class="actions">
|
34
|
+
<button type="submit" class="#{ button_css_class }">#{ t('active_admin.devise.login.submit') }</button>
|
35
|
+
<span class="version">VERSION #{ Lalala::BUILD_VERSION }</span>
|
36
|
+
</fieldset>
|
37
|
+
EOS
|
38
|
+
)
|
39
|
+
end
|
40
|
+
%>
|
41
|
+
|
42
|
+
<div class="text tryout"></div>
|
43
|
+
</div>
|
@@ -0,0 +1,512 @@
|
|
1
|
+
en:
|
2
|
+
login:
|
3
|
+
a: "Hello you,<br> can I have your"
|
4
|
+
b: "and"
|
5
|
+
c: "?"
|
6
|
+
|
7
|
+
i18n:
|
8
|
+
languages:
|
9
|
+
ab: "Abkhazian"
|
10
|
+
ace: "Achinese"
|
11
|
+
ach: "Acoli"
|
12
|
+
ada: "Adangme"
|
13
|
+
ady: "Adyghe"
|
14
|
+
ae: "Avestan"
|
15
|
+
af: "Afrikaans"
|
16
|
+
afa: "Afro-Asiatic Language"
|
17
|
+
afh: "Afrihili"
|
18
|
+
ain: "Ainu"
|
19
|
+
ak: "Akan"
|
20
|
+
akk: "Akkadian"
|
21
|
+
ale: "Aleut"
|
22
|
+
alg: "Algonquian Language"
|
23
|
+
alt: "Southern Altai"
|
24
|
+
am: "Amharic"
|
25
|
+
an: "Aragonese"
|
26
|
+
ang: "Old English"
|
27
|
+
anp: "Angika"
|
28
|
+
apa: "Apache Language"
|
29
|
+
ar: "Arabic"
|
30
|
+
arc: "Aramaic"
|
31
|
+
arn: "Araucanian"
|
32
|
+
arp: "Arapaho"
|
33
|
+
art: "Artificial Language"
|
34
|
+
arw: "Arawak"
|
35
|
+
as: "Assamese"
|
36
|
+
ast: "Asturian"
|
37
|
+
ath: "Athapascan Language"
|
38
|
+
aus: "Australian Language"
|
39
|
+
av: "Avaric"
|
40
|
+
awa: "Awadhi"
|
41
|
+
ay: "Aymara"
|
42
|
+
az: "Azerbaijani"
|
43
|
+
ba: "Bashkir"
|
44
|
+
bad: "Banda"
|
45
|
+
bai: "Bamileke Language"
|
46
|
+
bal: "Baluchi"
|
47
|
+
ban: "Balinese"
|
48
|
+
bas: "Basa"
|
49
|
+
bat: "Baltic Language"
|
50
|
+
be: "Belarusian"
|
51
|
+
bej: "Beja"
|
52
|
+
bem: "Bemba"
|
53
|
+
ber: "Berber"
|
54
|
+
bg: "Bulgarian"
|
55
|
+
bh: "Bihari"
|
56
|
+
bho: "Bhojpuri"
|
57
|
+
bi: "Bislama"
|
58
|
+
bik: "Bikol"
|
59
|
+
bin: "Bini"
|
60
|
+
bla: "Siksika"
|
61
|
+
bm: "Bambara"
|
62
|
+
bn: "Bengali"
|
63
|
+
bnt: "Bantu"
|
64
|
+
bo: "Tibetan"
|
65
|
+
br: "Breton"
|
66
|
+
bra: "Braj"
|
67
|
+
bs: "Bosnian"
|
68
|
+
btk: "Batak"
|
69
|
+
bua: "Buriat"
|
70
|
+
bug: "Buginese"
|
71
|
+
byn: "Blin"
|
72
|
+
ca: "Catalan"
|
73
|
+
cad: "Caddo"
|
74
|
+
cai: "Central American Indian Language"
|
75
|
+
car: "Carib"
|
76
|
+
cau: "Caucasian Language"
|
77
|
+
cch: "Atsam"
|
78
|
+
ce: "Chechen"
|
79
|
+
ceb: "Cebuano"
|
80
|
+
cel: "Celtic Language"
|
81
|
+
ch: "Chamorro"
|
82
|
+
chb: "Chibcha"
|
83
|
+
chg: "Chagatai"
|
84
|
+
chk: "Chuukese"
|
85
|
+
chm: "Mari"
|
86
|
+
chn: "Chinook Jargon"
|
87
|
+
cho: "Choctaw"
|
88
|
+
chp: "Chipewyan"
|
89
|
+
chr: "Cherokee"
|
90
|
+
chy: "Cheyenne"
|
91
|
+
cmc: "Chamic Language"
|
92
|
+
co: "Corsican"
|
93
|
+
cop: "Coptic"
|
94
|
+
cpe: "English-based Creole or Pidgin"
|
95
|
+
cpf: "French-based Creole or Pidgin"
|
96
|
+
cpp: "Portuguese-based Creole or Pidgin"
|
97
|
+
cr: "Cree"
|
98
|
+
crh: "Crimean Turkish"
|
99
|
+
crp: "Creole or Pidgin"
|
100
|
+
cs: "Czech"
|
101
|
+
csb: "Kashubian"
|
102
|
+
cu: "Church Slavic"
|
103
|
+
cus: "Cushitic Language"
|
104
|
+
cv: "Chuvash"
|
105
|
+
cy: "Welsh"
|
106
|
+
da: "Danish"
|
107
|
+
dak: "Dakota"
|
108
|
+
dar: "Dargwa"
|
109
|
+
day: "Dayak"
|
110
|
+
de: "German"
|
111
|
+
"de-AT": "Austrian German"
|
112
|
+
"de-CH": "Swiss High German"
|
113
|
+
del: "Delaware"
|
114
|
+
den: "Slave"
|
115
|
+
dgr: "Dogrib"
|
116
|
+
din: "Dinka"
|
117
|
+
doi: "Dogri"
|
118
|
+
dra: "Dravidian Language"
|
119
|
+
dsb: "Lower Sorbian"
|
120
|
+
dua: "Duala"
|
121
|
+
dum: "Middle Dutch"
|
122
|
+
dv: "Divehi"
|
123
|
+
dyu: "Dyula"
|
124
|
+
dz: "Dzongkha"
|
125
|
+
ee: "Ewe"
|
126
|
+
efi: "Efik"
|
127
|
+
egy: "Ancient Egyptian"
|
128
|
+
eka: "Ekajuk"
|
129
|
+
el: "Greek"
|
130
|
+
elx: "Elamite"
|
131
|
+
en: "English"
|
132
|
+
"en-AU": "Australian English"
|
133
|
+
"en-CA": "Canadian English"
|
134
|
+
"en-GB": "British English"
|
135
|
+
"en-US": "U.S. English"
|
136
|
+
enm: "Middle English"
|
137
|
+
eo: "Esperanto"
|
138
|
+
es: "Spanish"
|
139
|
+
"es-ES": "Iberian Spanish"
|
140
|
+
et: "Estonian"
|
141
|
+
eu: "Basque"
|
142
|
+
ewo: "Ewondo"
|
143
|
+
fa: "Persian"
|
144
|
+
fan: "Fang"
|
145
|
+
fat: "Fanti"
|
146
|
+
ff: "Fulah"
|
147
|
+
fi: "Finnish"
|
148
|
+
fil: "Filipino"
|
149
|
+
fiu: "Finno-Ugrian Language"
|
150
|
+
fj: "Fijian"
|
151
|
+
fo: "Faroese"
|
152
|
+
fon: "Fon"
|
153
|
+
fr: "French"
|
154
|
+
"fr-CA": "Canadian French"
|
155
|
+
"fr-CH": "Swiss French"
|
156
|
+
frm: "Middle French"
|
157
|
+
fro: "Old French"
|
158
|
+
frr: "Northern Frisian"
|
159
|
+
frs: "Eastern Frisian"
|
160
|
+
fur: "Friulian"
|
161
|
+
fy: "Western Frisian"
|
162
|
+
ga: "Irish"
|
163
|
+
gaa: "Ga"
|
164
|
+
gay: "Gayo"
|
165
|
+
gba: "Gbaya"
|
166
|
+
gd: "Scottish Gaelic"
|
167
|
+
gem: "Germanic Language"
|
168
|
+
gez: "Geez"
|
169
|
+
gil: "Gilbertese"
|
170
|
+
gl: "Galician"
|
171
|
+
gmh: "Middle High German"
|
172
|
+
gn: "Guarani"
|
173
|
+
goh: "Old High German"
|
174
|
+
gon: "Gondi"
|
175
|
+
gor: "Gorontalo"
|
176
|
+
got: "Gothic"
|
177
|
+
grb: "Grebo"
|
178
|
+
grc: "Ancient Greek"
|
179
|
+
gsw: "Swiss German"
|
180
|
+
gu: "Gujarati"
|
181
|
+
gv: "Manx"
|
182
|
+
gwi: "Gwichʼin"
|
183
|
+
ha: "Hausa"
|
184
|
+
hai: "Haida"
|
185
|
+
haw: "Hawaiian"
|
186
|
+
he: "Hebrew"
|
187
|
+
hi: "Hindi"
|
188
|
+
hil: "Hiligaynon"
|
189
|
+
him: "Himachali"
|
190
|
+
hit: "Hittite"
|
191
|
+
hmn: "Hmong"
|
192
|
+
ho: "Hiri Motu"
|
193
|
+
hr: "Croatian"
|
194
|
+
hsb: "Upper Sorbian"
|
195
|
+
ht: "Haitian"
|
196
|
+
hu: "Hungarian"
|
197
|
+
hup: "Hupa"
|
198
|
+
hy: "Armenian"
|
199
|
+
hz: "Herero"
|
200
|
+
ia: "Interlingua"
|
201
|
+
iba: "Iban"
|
202
|
+
id: "Indonesian"
|
203
|
+
ie: "Interlingue"
|
204
|
+
ig: "Igbo"
|
205
|
+
ii: "Sichuan Yi"
|
206
|
+
ijo: "Ijo"
|
207
|
+
ik: "Inupiaq"
|
208
|
+
ilo: "Iloko"
|
209
|
+
inc: "Indic Language"
|
210
|
+
ine: "Indo-European Language"
|
211
|
+
inh: "Ingush"
|
212
|
+
io: "Ido"
|
213
|
+
ira: "Iranian Language"
|
214
|
+
iro: "Iroquoian Language"
|
215
|
+
is: "Icelandic"
|
216
|
+
it: "Italian"
|
217
|
+
iu: "Inuktitut"
|
218
|
+
ja: "Japanese"
|
219
|
+
jbo: "Lojban"
|
220
|
+
jpr: "Judeo-Persian"
|
221
|
+
jrb: "Judeo-Arabic"
|
222
|
+
jv: "Javanese"
|
223
|
+
ka: "Georgian"
|
224
|
+
kaa: "Kara-Kalpak"
|
225
|
+
kab: "Kabyle"
|
226
|
+
kac: "Kachin"
|
227
|
+
kaj: "Jju"
|
228
|
+
kam: "Kamba"
|
229
|
+
kar: "Karen"
|
230
|
+
kaw: "Kawi"
|
231
|
+
kbd: "Kabardian"
|
232
|
+
kcg: "Tyap"
|
233
|
+
kfo: "Koro"
|
234
|
+
kg: "Kongo"
|
235
|
+
kha: "Khasi"
|
236
|
+
khi: "Khoisan Language"
|
237
|
+
kho: "Khotanese"
|
238
|
+
ki: "Kikuyu"
|
239
|
+
kj: "Kuanyama"
|
240
|
+
kk: "Kazakh"
|
241
|
+
kl: "Kalaallisut"
|
242
|
+
km: "Khmer"
|
243
|
+
kmb: "Kimbundu"
|
244
|
+
kn: "Kannada"
|
245
|
+
ko: "Korean"
|
246
|
+
kok: "Konkani"
|
247
|
+
kos: "Kosraean"
|
248
|
+
kpe: "Kpelle"
|
249
|
+
kr: "Kanuri"
|
250
|
+
krc: "Karachay-Balkar"
|
251
|
+
krl: "Karelian"
|
252
|
+
kro: "Kru"
|
253
|
+
kru: "Kurukh"
|
254
|
+
ks: "Kashmiri"
|
255
|
+
ku: "Kurdish"
|
256
|
+
kum: "Kumyk"
|
257
|
+
kut: "Kutenai"
|
258
|
+
kv: "Komi"
|
259
|
+
kw: "Cornish"
|
260
|
+
ky: "Kirghiz"
|
261
|
+
la: "Latin"
|
262
|
+
lad: "Ladino"
|
263
|
+
lah: "Lahnda"
|
264
|
+
lam: "Lamba"
|
265
|
+
lb: "Luxembourgish"
|
266
|
+
lez: "Lezghian"
|
267
|
+
lg: "Ganda"
|
268
|
+
li: "Limburgish"
|
269
|
+
ln: "Lingala"
|
270
|
+
lo: "Lao"
|
271
|
+
lol: "Mongo"
|
272
|
+
loz: "Lozi"
|
273
|
+
lt: "Lithuanian"
|
274
|
+
lu: "Luba-Katanga"
|
275
|
+
lua: "Luba-Lulua"
|
276
|
+
lui: "Luiseno"
|
277
|
+
lun: "Lunda"
|
278
|
+
luo: "Luo"
|
279
|
+
lus: "Lushai"
|
280
|
+
lv: "Latvian"
|
281
|
+
mad: "Madurese"
|
282
|
+
mag: "Magahi"
|
283
|
+
mai: "Maithili"
|
284
|
+
mak: "Makasar"
|
285
|
+
man: "Mandingo"
|
286
|
+
map: "Austronesian Language"
|
287
|
+
mas: "Masai"
|
288
|
+
mdf: "Moksha"
|
289
|
+
mdr: "Mandar"
|
290
|
+
men: "Mende"
|
291
|
+
mg: "Malagasy"
|
292
|
+
mga: "Middle Irish"
|
293
|
+
mh: "Marshallese"
|
294
|
+
mi: "Maori"
|
295
|
+
mic: "Micmac"
|
296
|
+
min: "Minangkabau"
|
297
|
+
mis: "Miscellaneous Language"
|
298
|
+
mk: "Macedonian"
|
299
|
+
mkh: "Mon-Khmer Language"
|
300
|
+
ml: "Malayalam"
|
301
|
+
mn: "Mongolian"
|
302
|
+
mnc: "Manchu"
|
303
|
+
mni: "Manipuri"
|
304
|
+
mno: "Manobo Language"
|
305
|
+
mo: "Moldavian"
|
306
|
+
moh: "Mohawk"
|
307
|
+
mos: "Mossi"
|
308
|
+
mr: "Marathi"
|
309
|
+
ms: "Malay"
|
310
|
+
mt: "Maltese"
|
311
|
+
mul: "Multiple Languages"
|
312
|
+
mun: "Munda Language"
|
313
|
+
mus: "Creek"
|
314
|
+
mwl: "Mirandese"
|
315
|
+
mwr: "Marwari"
|
316
|
+
my: "Burmese"
|
317
|
+
myn: "Mayan Language"
|
318
|
+
myv: "Erzya"
|
319
|
+
na: "Nauru"
|
320
|
+
nah: "Nahuatl"
|
321
|
+
nai: "North American Indian Language"
|
322
|
+
nap: "Neapolitan"
|
323
|
+
nb: "Norwegian Bokmål"
|
324
|
+
nd: "North Ndebele"
|
325
|
+
nds: "Low German"
|
326
|
+
ne: "Nepali"
|
327
|
+
new: "Newari"
|
328
|
+
ng: "Ndonga"
|
329
|
+
nia: "Nias"
|
330
|
+
nic: "Niger-Kordofanian Language"
|
331
|
+
niu: "Niuean"
|
332
|
+
nl: "Dutch"
|
333
|
+
"nl-BE": "Flemish"
|
334
|
+
nn: "Norwegian Nynorsk"
|
335
|
+
no: "Norwegian"
|
336
|
+
nog: "Nogai"
|
337
|
+
non: "Old Norse"
|
338
|
+
nqo: "N’Ko"
|
339
|
+
nr: "South Ndebele"
|
340
|
+
nso: "Northern Sotho"
|
341
|
+
nub: "Nubian Language"
|
342
|
+
nv: "Navajo"
|
343
|
+
nwc: "Classical Newari"
|
344
|
+
ny: "Nyanja"
|
345
|
+
nym: "Nyamwezi"
|
346
|
+
nyn: "Nyankole"
|
347
|
+
nyo: "Nyoro"
|
348
|
+
nzi: "Nzima"
|
349
|
+
oc: "Occitan"
|
350
|
+
oj: "Ojibwa"
|
351
|
+
om: "Oromo"
|
352
|
+
or: "Oriya"
|
353
|
+
os: "Ossetic"
|
354
|
+
osa: "Osage"
|
355
|
+
ota: "Ottoman Turkish"
|
356
|
+
oto: "Otomian Language"
|
357
|
+
pa: "Punjabi"
|
358
|
+
paa: "Papuan Language"
|
359
|
+
pag: "Pangasinan"
|
360
|
+
pal: "Pahlavi"
|
361
|
+
pam: "Pampanga"
|
362
|
+
pap: "Papiamento"
|
363
|
+
pau: "Palauan"
|
364
|
+
peo: "Old Persian"
|
365
|
+
phi: "Philippine Language"
|
366
|
+
phn: "Phoenician"
|
367
|
+
pi: "Pali"
|
368
|
+
pl: "Polish"
|
369
|
+
pon: "Pohnpeian"
|
370
|
+
pra: "Prakrit Language"
|
371
|
+
pro: "Old Provençal"
|
372
|
+
ps: "Pashto"
|
373
|
+
pt: "Portuguese"
|
374
|
+
"pt-BR": "Brazilian Portuguese"
|
375
|
+
"pt-PT": "Iberian Portuguese"
|
376
|
+
qu: "Quechua"
|
377
|
+
raj: "Rajasthani"
|
378
|
+
rap: "Rapanui"
|
379
|
+
rar: "Rarotongan"
|
380
|
+
rm: "Rhaeto-Romance"
|
381
|
+
rn: "Rundi"
|
382
|
+
ro: "Romanian"
|
383
|
+
roa: "Romance Language"
|
384
|
+
rom: "Romany"
|
385
|
+
ru: "Russian"
|
386
|
+
rup: "Aromanian"
|
387
|
+
rw: "Kinyarwanda"
|
388
|
+
sa: "Sanskrit"
|
389
|
+
sad: "Sandawe"
|
390
|
+
sah: "Yakut"
|
391
|
+
sai: "South American Indian Language"
|
392
|
+
sal: "Salishan Language"
|
393
|
+
sam: "Samaritan Aramaic"
|
394
|
+
sas: "Sasak"
|
395
|
+
sat: "Santali"
|
396
|
+
sc: "Sardinian"
|
397
|
+
scn: "Sicilian"
|
398
|
+
sco: "Scots"
|
399
|
+
sd: "Sindhi"
|
400
|
+
se: "Northern Sami"
|
401
|
+
sel: "Selkup"
|
402
|
+
sem: "Semitic Language"
|
403
|
+
sg: "Sango"
|
404
|
+
sga: "Old Irish"
|
405
|
+
sgn: "Sign Language"
|
406
|
+
sh: "Serbo-Croatian"
|
407
|
+
shn: "Shan"
|
408
|
+
si: "Sinhala"
|
409
|
+
sid: "Sidamo"
|
410
|
+
sio: "Siouan Language"
|
411
|
+
sit: "Sino-Tibetan Language"
|
412
|
+
sk: "Slovak"
|
413
|
+
sl: "Slovenian"
|
414
|
+
sla: "Slavic Language"
|
415
|
+
sm: "Samoan"
|
416
|
+
sma: "Southern Sami"
|
417
|
+
smi: "Sami Language"
|
418
|
+
smj: "Lule Sami"
|
419
|
+
smn: "Inari Sami"
|
420
|
+
sms: "Skolt Sami"
|
421
|
+
sn: "Shona"
|
422
|
+
snk: "Soninke"
|
423
|
+
so: "Somali"
|
424
|
+
sog: "Sogdien"
|
425
|
+
son: "Songhai"
|
426
|
+
sq: "Albanian"
|
427
|
+
sr: "Serbian"
|
428
|
+
srn: "Sranan Tongo"
|
429
|
+
srr: "Serer"
|
430
|
+
ss: "Swati"
|
431
|
+
ssa: "Nilo-Saharan Language"
|
432
|
+
st: "Southern Sotho"
|
433
|
+
su: "Sundanese"
|
434
|
+
suk: "Sukuma"
|
435
|
+
sus: "Susu"
|
436
|
+
sux: "Sumerian"
|
437
|
+
sv: "Swedish"
|
438
|
+
sw: "Swahili"
|
439
|
+
syc: "Classical Syriac"
|
440
|
+
syr: "Syriac"
|
441
|
+
ta: "Tamil"
|
442
|
+
tai: "Tai Language"
|
443
|
+
te: "Telugu"
|
444
|
+
tem: "Timne"
|
445
|
+
ter: "Tereno"
|
446
|
+
tet: "Tetum"
|
447
|
+
tg: "Tajik"
|
448
|
+
th: "Thai"
|
449
|
+
ti: "Tigrinya"
|
450
|
+
tig: "Tigre"
|
451
|
+
tiv: "Tiv"
|
452
|
+
tk: "Turkmen"
|
453
|
+
tkl: "Tokelau"
|
454
|
+
tl: "Tagalog"
|
455
|
+
tlh: "Klingon"
|
456
|
+
tli: "Tlingit"
|
457
|
+
tmh: "Tamashek"
|
458
|
+
tn: "Tswana"
|
459
|
+
to: "Tonga"
|
460
|
+
tog: "Nyasa Tonga"
|
461
|
+
tpi: "Tok Pisin"
|
462
|
+
tr: "Turkish"
|
463
|
+
trv: "Taroko"
|
464
|
+
ts: "Tsonga"
|
465
|
+
tsi: "Tsimshian"
|
466
|
+
tt: "Tatar"
|
467
|
+
tum: "Tumbuka"
|
468
|
+
tup: "Tupi Language"
|
469
|
+
tut: "Altaic Language"
|
470
|
+
tvl: "Tuvalu"
|
471
|
+
tw: "Twi"
|
472
|
+
ty: "Tahitian"
|
473
|
+
tyv: "Tuvinian"
|
474
|
+
udm: "Udmurt"
|
475
|
+
ug: "Uighur"
|
476
|
+
uga: "Ugaritic"
|
477
|
+
uk: "Ukrainian"
|
478
|
+
umb: "Umbundu"
|
479
|
+
und: "Unknown or Invalid Language"
|
480
|
+
ur: "Urdu"
|
481
|
+
uz: "Uzbek"
|
482
|
+
vai: "Vai"
|
483
|
+
ve: "Venda"
|
484
|
+
vi: "Vietnamese"
|
485
|
+
vo: "Volapük"
|
486
|
+
vot: "Votic"
|
487
|
+
wa: "Walloon"
|
488
|
+
wak: "Wakashan Language"
|
489
|
+
wal: "Walamo"
|
490
|
+
war: "Waray"
|
491
|
+
was: "Washo"
|
492
|
+
wen: "Sorbian Language"
|
493
|
+
wo: "Wolof"
|
494
|
+
xal: "Kalmyk"
|
495
|
+
xh: "Xhosa"
|
496
|
+
yao: "Yao"
|
497
|
+
yap: "Yapese"
|
498
|
+
yi: "Yiddish"
|
499
|
+
yo: "Yoruba"
|
500
|
+
ypk: "Yupik Language"
|
501
|
+
za: "Zhuang"
|
502
|
+
zap: "Zapotec"
|
503
|
+
zbl: "Blissymbols"
|
504
|
+
zen: "Zenaga"
|
505
|
+
zh: "Chinese"
|
506
|
+
zh-Hans: "Simplified Chinese"
|
507
|
+
zh-Hant: "Traditional Chinese"
|
508
|
+
znd: "Zande"
|
509
|
+
zu: "Zulu"
|
510
|
+
zun: "Zuni"
|
511
|
+
zxx: "No linguistic content"
|
512
|
+
zza: "Zaza"
|
data/lib/lalala/ext_i18n.rb
CHANGED
data/lib/lalala/version.rb
CHANGED
@@ -14,14 +14,14 @@ class Lalala::Views::TitleBar < ActiveAdmin::Views::TitleBar
|
|
14
14
|
locales.sort!
|
15
15
|
|
16
16
|
div :class => "locale_chooser" do
|
17
|
-
select do
|
17
|
+
select(class: "bypass-chosen") do
|
18
18
|
|
19
19
|
locales.each do |locale|
|
20
20
|
opts = { :value => locale.to_s }
|
21
21
|
opts[:'data-default'] = "true" if I18n.default_locale == locale
|
22
22
|
opts[:'data-current'] = "true" if I18n.locale == locale
|
23
23
|
option opts do
|
24
|
-
text_node locale
|
24
|
+
text_node Lalala::ExtI18n::NameForLocale.name_for_locale(locale)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -27,7 +27,8 @@ module Dummy
|
|
27
27
|
|
28
28
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
29
29
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
30
|
-
|
30
|
+
config.i18n.default_locale = :en
|
31
|
+
config.i18n.available_locales = [:en, :nl]
|
31
32
|
|
32
33
|
# Configure the default encoding used in templates for Ruby 1.9.
|
33
34
|
config.encoding = "utf-8"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class MakeArticlesTranslatable < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
change_table :articles do |t|
|
4
|
+
t.remove :title
|
5
|
+
t.remove :body
|
6
|
+
end
|
7
|
+
|
8
|
+
Article.create_translation_table!(title: :string, body: :text)
|
9
|
+
end
|
10
|
+
|
11
|
+
def down
|
12
|
+
change_table :articles do |t|
|
13
|
+
t.string :title
|
14
|
+
t.text :body
|
15
|
+
end
|
16
|
+
|
17
|
+
drop_table :article_translations
|
18
|
+
end
|
19
|
+
end
|
data/test/dummy/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended to check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(:version =>
|
14
|
+
ActiveRecord::Schema.define(:version => 20131121092946) do
|
15
15
|
|
16
16
|
create_table "active_admin_comments", :force => true do |t|
|
17
17
|
t.string "resource_id", :null => false
|
@@ -47,11 +47,21 @@ ActiveRecord::Schema.define(:version => 20131113134503) do
|
|
47
47
|
add_index "admin_users", ["email"], :name => "index_admin_users_on_email", :unique => true
|
48
48
|
add_index "admin_users", ["reset_password_token"], :name => "index_admin_users_on_reset_password_token", :unique => true
|
49
49
|
|
50
|
-
create_table "
|
50
|
+
create_table "article_translations", :force => true do |t|
|
51
|
+
t.integer "article_id"
|
52
|
+
t.string "locale"
|
51
53
|
t.string "title"
|
52
54
|
t.text "body"
|
53
55
|
t.datetime "created_at", :null => false
|
54
56
|
t.datetime "updated_at", :null => false
|
57
|
+
end
|
58
|
+
|
59
|
+
add_index "article_translations", ["article_id"], :name => "index_article_translations_on_article_id"
|
60
|
+
add_index "article_translations", ["locale"], :name => "index_article_translations_on_locale"
|
61
|
+
|
62
|
+
create_table "articles", :force => true do |t|
|
63
|
+
t.datetime "created_at", :null => false
|
64
|
+
t.datetime "updated_at", :null => false
|
55
65
|
t.string "category"
|
56
66
|
end
|
57
67
|
|
@@ -7,11 +7,11 @@ class ArticlesTest < ActionDispatch::IntegrationTest
|
|
7
7
|
end
|
8
8
|
|
9
9
|
test 'list articles' do
|
10
|
-
Article.create!(title: "Hello World")
|
10
|
+
article = Article.create!(title: "Hello World")
|
11
11
|
|
12
12
|
click_on('Articles')
|
13
13
|
assert_equal 200, page.status_code
|
14
|
-
assert page.
|
14
|
+
assert page.assert_selector('a.resource_id_link', text: article.id.to_s)
|
15
15
|
end
|
16
16
|
|
17
17
|
test 'create article' do
|
@@ -19,7 +19,7 @@ class ArticlesTest < ActionDispatch::IntegrationTest
|
|
19
19
|
click_on('New Article')
|
20
20
|
assert_equal('/lalala/articles/new', current_path)
|
21
21
|
|
22
|
-
|
22
|
+
first('input[name="article[translations_writer][en][title]"]').set('My Article')
|
23
23
|
attach_file('Image', File.expand_path('../../fixtures/files/image.png', __FILE__))
|
24
24
|
click_on('Create Article')
|
25
25
|
page.save_page
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lalala
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.0.dev.
|
4
|
+
version: 4.0.0.dev.224
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Menke
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2013-11-
|
16
|
+
date: 2013-11-21 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: activeadmin
|
@@ -1294,6 +1294,7 @@ files:
|
|
1294
1294
|
- app/assets/images/lalala/icons/zoom.png
|
1295
1295
|
- app/assets/images/lalala/icons/zoom_in.png
|
1296
1296
|
- app/assets/images/lalala/icons/zoom_out.png
|
1297
|
+
- app/assets/images/lalala/overlay-logo.png
|
1297
1298
|
- app/assets/images/lalala/users/default.jpg
|
1298
1299
|
- app/assets/javascripts/browser/console.module.js
|
1299
1300
|
- app/assets/javascripts/browser/document.module.js
|
@@ -1311,8 +1312,10 @@ files:
|
|
1311
1312
|
- app/assets/javascripts/lalala/modules/calendar.module.js
|
1312
1313
|
- app/assets/javascripts/lalala/modules/editor.module.js
|
1313
1314
|
- app/assets/javascripts/lalala/modules/grid.module.js
|
1315
|
+
- app/assets/javascripts/lalala/modules/helpers.module.js
|
1314
1316
|
- app/assets/javascripts/lalala/modules/init.module.js
|
1315
1317
|
- app/assets/javascripts/lalala/modules/locale_chooser.module.js
|
1318
|
+
- app/assets/javascripts/lalala/modules/login.module.js
|
1316
1319
|
- app/assets/javascripts/lalala/modules/sorted_pages_tree.module.js
|
1317
1320
|
- app/assets/javascripts/lalala/modules/storage.module.js
|
1318
1321
|
- app/assets/stylesheets/lalala/_base.css.scss
|
@@ -1354,6 +1357,7 @@ files:
|
|
1354
1357
|
- app/models/lalala/file_asset.rb
|
1355
1358
|
- app/models/lalala/image_asset.rb
|
1356
1359
|
- app/models/lalala/page.rb
|
1360
|
+
- app/views/active_admin/devise/sessions/new.html.erb
|
1357
1361
|
- app/views/lalala/markdown/cheatsheet.html.erb
|
1358
1362
|
- app/views/lalala/markdown/preview.html.erb
|
1359
1363
|
- app/views/lalala/public/errors/internal_server_error.html.erb
|
@@ -1365,6 +1369,7 @@ files:
|
|
1365
1369
|
- config/initializers/carrierwave.rb
|
1366
1370
|
- config/initializers/database.rb
|
1367
1371
|
- config/initializers/devise.rb
|
1372
|
+
- config/locales/en.yml
|
1368
1373
|
- config/routes.rb
|
1369
1374
|
- db/migrate/20130321140345_devise_create_admin_users.rb
|
1370
1375
|
- db/migrate/20130321140351_create_admin_notes.rb
|
@@ -1421,6 +1426,7 @@ files:
|
|
1421
1426
|
- lib/lalala/ext_i18n.rb
|
1422
1427
|
- lib/lalala/ext_i18n/input_helper.rb
|
1423
1428
|
- lib/lalala/ext_i18n/locale_source.rb
|
1429
|
+
- lib/lalala/ext_i18n/name_for_locale.rb
|
1424
1430
|
- lib/lalala/ext_i18n/negotiation_adapter.rb
|
1425
1431
|
- lib/lalala/ext_i18n/test_negotiation_adapter.rb
|
1426
1432
|
- lib/lalala/ext_rack.rb
|
@@ -1501,11 +1507,13 @@ files:
|
|
1501
1507
|
- test/dummy/config/initializers/session_store.rb
|
1502
1508
|
- test/dummy/config/initializers/wrap_parameters.rb
|
1503
1509
|
- test/dummy/config/locales/en.yml
|
1510
|
+
- test/dummy/config/locales/nl.yml
|
1504
1511
|
- test/dummy/config/routes.rb
|
1505
1512
|
- test/dummy/db/.gitkeep
|
1506
1513
|
- test/dummy/db/migrate/20130528092721_create_articles.rb
|
1507
1514
|
- test/dummy/db/migrate/20130729125648_create_home_page.rb
|
1508
1515
|
- test/dummy/db/migrate/20131113134503_add_category_to_articles.rb
|
1516
|
+
- test/dummy/db/migrate/20131121092946_make_articles_translatable.rb
|
1509
1517
|
- test/dummy/db/schema.rb
|
1510
1518
|
- test/dummy/lib/assets/.gitkeep
|
1511
1519
|
- test/dummy/log/.gitkeep
|
@@ -1544,7 +1552,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1544
1552
|
version: 1.3.1
|
1545
1553
|
requirements: []
|
1546
1554
|
rubyforge_project:
|
1547
|
-
rubygems_version: 2.
|
1555
|
+
rubygems_version: 2.1.11
|
1548
1556
|
signing_key:
|
1549
1557
|
specification_version: 4
|
1550
1558
|
summary: 'Lalala: Probably the best CMS in the world.'
|
@@ -1592,11 +1600,13 @@ test_files:
|
|
1592
1600
|
- test/dummy/config/initializers/session_store.rb
|
1593
1601
|
- test/dummy/config/initializers/wrap_parameters.rb
|
1594
1602
|
- test/dummy/config/locales/en.yml
|
1603
|
+
- test/dummy/config/locales/nl.yml
|
1595
1604
|
- test/dummy/config/routes.rb
|
1596
1605
|
- test/dummy/db/.gitkeep
|
1597
1606
|
- test/dummy/db/migrate/20130528092721_create_articles.rb
|
1598
1607
|
- test/dummy/db/migrate/20130729125648_create_home_page.rb
|
1599
1608
|
- test/dummy/db/migrate/20131113134503_add_category_to_articles.rb
|
1609
|
+
- test/dummy/db/migrate/20131121092946_make_articles_translatable.rb
|
1600
1610
|
- test/dummy/db/schema.rb
|
1601
1611
|
- test/dummy/lib/assets/.gitkeep
|
1602
1612
|
- test/dummy/log/.gitkeep
|