localizer_rails 0.1.0
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 +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +191 -0
- data/Rakefile +34 -0
- data/app/assets/images/flags/ad.png +0 -0
- data/app/assets/images/flags/ae.png +0 -0
- data/app/assets/images/flags/af.png +0 -0
- data/app/assets/images/flags/ag.png +0 -0
- data/app/assets/images/flags/ai.png +0 -0
- data/app/assets/images/flags/al.png +0 -0
- data/app/assets/images/flags/am.png +0 -0
- data/app/assets/images/flags/an.png +0 -0
- data/app/assets/images/flags/ao.png +0 -0
- data/app/assets/images/flags/ar.png +0 -0
- data/app/assets/images/flags/as.png +0 -0
- data/app/assets/images/flags/at.png +0 -0
- data/app/assets/images/flags/au.png +0 -0
- data/app/assets/images/flags/aw.png +0 -0
- data/app/assets/images/flags/ax.png +0 -0
- data/app/assets/images/flags/az.png +0 -0
- data/app/assets/images/flags/ba.png +0 -0
- data/app/assets/images/flags/bb.png +0 -0
- data/app/assets/images/flags/bd.png +0 -0
- data/app/assets/images/flags/be.png +0 -0
- data/app/assets/images/flags/bf.png +0 -0
- data/app/assets/images/flags/bg.png +0 -0
- data/app/assets/images/flags/bh.png +0 -0
- data/app/assets/images/flags/bi.png +0 -0
- data/app/assets/images/flags/bj.png +0 -0
- data/app/assets/images/flags/bm.png +0 -0
- data/app/assets/images/flags/bn.png +0 -0
- data/app/assets/images/flags/bo.png +0 -0
- data/app/assets/images/flags/br.png +0 -0
- data/app/assets/images/flags/bs.png +0 -0
- data/app/assets/images/flags/bt.png +0 -0
- data/app/assets/images/flags/bv.png +0 -0
- data/app/assets/images/flags/bw.png +0 -0
- data/app/assets/images/flags/by.png +0 -0
- data/app/assets/images/flags/bz.png +0 -0
- data/app/assets/images/flags/ca.png +0 -0
- data/app/assets/images/flags/cc.png +0 -0
- data/app/assets/images/flags/cd.png +0 -0
- data/app/assets/images/flags/cf.png +0 -0
- data/app/assets/images/flags/cg.png +0 -0
- data/app/assets/images/flags/ch.png +0 -0
- data/app/assets/images/flags/ci.png +0 -0
- data/app/assets/images/flags/ck.png +0 -0
- data/app/assets/images/flags/cl.png +0 -0
- data/app/assets/images/flags/cm.png +0 -0
- data/app/assets/images/flags/cn.png +0 -0
- data/app/assets/images/flags/co.png +0 -0
- data/app/assets/images/flags/cr.png +0 -0
- data/app/assets/images/flags/cs.png +0 -0
- data/app/assets/images/flags/cu.png +0 -0
- data/app/assets/images/flags/cv.png +0 -0
- data/app/assets/images/flags/cx.png +0 -0
- data/app/assets/images/flags/cy.png +0 -0
- data/app/assets/images/flags/cz.png +0 -0
- data/app/assets/images/flags/de.png +0 -0
- data/app/assets/images/flags/dj.png +0 -0
- data/app/assets/images/flags/dk.png +0 -0
- data/app/assets/images/flags/dm.png +0 -0
- data/app/assets/images/flags/do.png +0 -0
- data/app/assets/images/flags/dz.png +0 -0
- data/app/assets/images/flags/ec.png +0 -0
- data/app/assets/images/flags/ee.png +0 -0
- data/app/assets/images/flags/eg.png +0 -0
- data/app/assets/images/flags/eh.png +0 -0
- data/app/assets/images/flags/en.png +0 -0
- data/app/assets/images/flags/er.png +0 -0
- data/app/assets/images/flags/es.png +0 -0
- data/app/assets/images/flags/et.png +0 -0
- data/app/assets/images/flags/fam.png +0 -0
- data/app/assets/images/flags/fi.png +0 -0
- data/app/assets/images/flags/fj.png +0 -0
- data/app/assets/images/flags/fk.png +0 -0
- data/app/assets/images/flags/fm.png +0 -0
- data/app/assets/images/flags/fo.png +0 -0
- data/app/assets/images/flags/fr.png +0 -0
- data/app/assets/images/flags/ga.png +0 -0
- data/app/assets/images/flags/gb.png +0 -0
- data/app/assets/images/flags/gd.png +0 -0
- data/app/assets/images/flags/ge.png +0 -0
- data/app/assets/images/flags/gh.png +0 -0
- data/app/assets/images/flags/gi.png +0 -0
- data/app/assets/images/flags/gl.png +0 -0
- data/app/assets/images/flags/gm.png +0 -0
- data/app/assets/images/flags/gn.png +0 -0
- data/app/assets/images/flags/gp.png +0 -0
- data/app/assets/images/flags/gq.png +0 -0
- data/app/assets/images/flags/gr.png +0 -0
- data/app/assets/images/flags/gs.png +0 -0
- data/app/assets/images/flags/gt.png +0 -0
- data/app/assets/images/flags/gu.png +0 -0
- data/app/assets/images/flags/gw.png +0 -0
- data/app/assets/images/flags/gy.png +0 -0
- data/app/assets/images/flags/hk.png +0 -0
- data/app/assets/images/flags/hn.png +0 -0
- data/app/assets/images/flags/hr.png +0 -0
- data/app/assets/images/flags/ht.png +0 -0
- data/app/assets/images/flags/hu.png +0 -0
- data/app/assets/images/flags/id.png +0 -0
- data/app/assets/images/flags/ie.png +0 -0
- data/app/assets/images/flags/il.png +0 -0
- data/app/assets/images/flags/in.png +0 -0
- data/app/assets/images/flags/io.png +0 -0
- data/app/assets/images/flags/iq.png +0 -0
- data/app/assets/images/flags/ir.png +0 -0
- data/app/assets/images/flags/is.png +0 -0
- data/app/assets/images/flags/it.png +0 -0
- data/app/assets/images/flags/jm.png +0 -0
- data/app/assets/images/flags/jo.png +0 -0
- data/app/assets/images/flags/jp.png +0 -0
- data/app/assets/images/flags/ke.png +0 -0
- data/app/assets/images/flags/kg.png +0 -0
- data/app/assets/images/flags/kh.png +0 -0
- data/app/assets/images/flags/ki.png +0 -0
- data/app/assets/images/flags/km.png +0 -0
- data/app/assets/images/flags/kn.png +0 -0
- data/app/assets/images/flags/kp.png +0 -0
- data/app/assets/images/flags/kr.png +0 -0
- data/app/assets/images/flags/kw.png +0 -0
- data/app/assets/images/flags/ky.png +0 -0
- data/app/assets/images/flags/kz.png +0 -0
- data/app/assets/images/flags/la.png +0 -0
- data/app/assets/images/flags/lb.png +0 -0
- data/app/assets/images/flags/lc.png +0 -0
- data/app/assets/images/flags/li.png +0 -0
- data/app/assets/images/flags/lk.png +0 -0
- data/app/assets/images/flags/lr.png +0 -0
- data/app/assets/images/flags/ls.png +0 -0
- data/app/assets/images/flags/lt.png +0 -0
- data/app/assets/images/flags/lu.png +0 -0
- data/app/assets/images/flags/lv.png +0 -0
- data/app/assets/images/flags/ly.png +0 -0
- data/app/assets/images/flags/ma.png +0 -0
- data/app/assets/images/flags/mc.png +0 -0
- data/app/assets/images/flags/md.png +0 -0
- data/app/assets/images/flags/mg.png +0 -0
- data/app/assets/images/flags/mh.png +0 -0
- data/app/assets/images/flags/mk.png +0 -0
- data/app/assets/images/flags/ml.png +0 -0
- data/app/assets/images/flags/mm.png +0 -0
- data/app/assets/images/flags/mn.png +0 -0
- data/app/assets/images/flags/mo.png +0 -0
- data/app/assets/images/flags/mp.png +0 -0
- data/app/assets/images/flags/mq.png +0 -0
- data/app/assets/images/flags/mr.png +0 -0
- data/app/assets/images/flags/ms.png +0 -0
- data/app/assets/images/flags/mt.png +0 -0
- data/app/assets/images/flags/mu.png +0 -0
- data/app/assets/images/flags/mv.png +0 -0
- data/app/assets/images/flags/mw.png +0 -0
- data/app/assets/images/flags/mx.png +0 -0
- data/app/assets/images/flags/my.png +0 -0
- data/app/assets/images/flags/mz.png +0 -0
- data/app/assets/images/flags/na.png +0 -0
- data/app/assets/images/flags/nc.png +0 -0
- data/app/assets/images/flags/ne.png +0 -0
- data/app/assets/images/flags/nf.png +0 -0
- data/app/assets/images/flags/ng.png +0 -0
- data/app/assets/images/flags/ni.png +0 -0
- data/app/assets/images/flags/nl.png +0 -0
- data/app/assets/images/flags/no.png +0 -0
- data/app/assets/images/flags/np.png +0 -0
- data/app/assets/images/flags/nr.png +0 -0
- data/app/assets/images/flags/nu.png +0 -0
- data/app/assets/images/flags/nz.png +0 -0
- data/app/assets/images/flags/om.png +0 -0
- data/app/assets/images/flags/pa.png +0 -0
- data/app/assets/images/flags/pe.png +0 -0
- data/app/assets/images/flags/pf.png +0 -0
- data/app/assets/images/flags/pg.png +0 -0
- data/app/assets/images/flags/ph.png +0 -0
- data/app/assets/images/flags/pk.png +0 -0
- data/app/assets/images/flags/pl.png +0 -0
- data/app/assets/images/flags/pm.png +0 -0
- data/app/assets/images/flags/pn.png +0 -0
- data/app/assets/images/flags/pr.png +0 -0
- data/app/assets/images/flags/ps.png +0 -0
- data/app/assets/images/flags/pt.png +0 -0
- data/app/assets/images/flags/pw.png +0 -0
- data/app/assets/images/flags/py.png +0 -0
- data/app/assets/images/flags/qa.png +0 -0
- data/app/assets/images/flags/ro.png +0 -0
- data/app/assets/images/flags/ru.png +0 -0
- data/app/assets/images/flags/rw.png +0 -0
- data/app/assets/images/flags/sa.png +0 -0
- data/app/assets/images/flags/sb.png +0 -0
- data/app/assets/images/flags/sc.png +0 -0
- data/app/assets/images/flags/sd.png +0 -0
- data/app/assets/images/flags/se.png +0 -0
- data/app/assets/images/flags/sg.png +0 -0
- data/app/assets/images/flags/sh.png +0 -0
- data/app/assets/images/flags/si.png +0 -0
- data/app/assets/images/flags/sk.png +0 -0
- data/app/assets/images/flags/sl.png +0 -0
- data/app/assets/images/flags/sm.png +0 -0
- data/app/assets/images/flags/sn.png +0 -0
- data/app/assets/images/flags/so.png +0 -0
- data/app/assets/images/flags/sr.png +0 -0
- data/app/assets/images/flags/st.png +0 -0
- data/app/assets/images/flags/sv.png +0 -0
- data/app/assets/images/flags/sy.png +0 -0
- data/app/assets/images/flags/sz.png +0 -0
- data/app/assets/images/flags/tc.png +0 -0
- data/app/assets/images/flags/td.png +0 -0
- data/app/assets/images/flags/tf.png +0 -0
- data/app/assets/images/flags/tg.png +0 -0
- data/app/assets/images/flags/th.png +0 -0
- data/app/assets/images/flags/tj.png +0 -0
- data/app/assets/images/flags/tk.png +0 -0
- data/app/assets/images/flags/tl.png +0 -0
- data/app/assets/images/flags/tm.png +0 -0
- data/app/assets/images/flags/tn.png +0 -0
- data/app/assets/images/flags/to.png +0 -0
- data/app/assets/images/flags/tr.png +0 -0
- data/app/assets/images/flags/tt.png +0 -0
- data/app/assets/images/flags/tv.png +0 -0
- data/app/assets/images/flags/tw.png +0 -0
- data/app/assets/images/flags/tz.png +0 -0
- data/app/assets/images/flags/ua.png +0 -0
- data/app/assets/images/flags/ug.png +0 -0
- data/app/assets/images/flags/um.png +0 -0
- data/app/assets/images/flags/us.png +0 -0
- data/app/assets/images/flags/uy.png +0 -0
- data/app/assets/images/flags/uz.png +0 -0
- data/app/assets/images/flags/va.png +0 -0
- data/app/assets/images/flags/vc.png +0 -0
- data/app/assets/images/flags/ve.png +0 -0
- data/app/assets/images/flags/vg.png +0 -0
- data/app/assets/images/flags/vi.png +0 -0
- data/app/assets/images/flags/vn.png +0 -0
- data/app/assets/images/flags/vu.png +0 -0
- data/app/assets/images/flags/wales.png +0 -0
- data/app/assets/images/flags/wf.png +0 -0
- data/app/assets/images/flags/ws.png +0 -0
- data/app/assets/images/flags/ye.png +0 -0
- data/app/assets/images/flags/yt.png +0 -0
- data/app/assets/images/flags/za.png +0 -0
- data/app/assets/images/flags/zm.png +0 -0
- data/app/assets/images/flags/zw.png +0 -0
- data/app/assets/stylesheets/localizer_rails/localizer_rails.css.scss +74 -0
- data/app/assets/stylesheets/localizer_rails.css +8 -0
- data/app/helpers/localizer_rails/localizer_rails_helper.rb +29 -0
- data/app/views/localizer_rails/_elements.html.erb +4 -0
- data/app/views/localizer_rails/_item.bootstrap.html.erb +18 -0
- data/app/views/localizer_rails/_item.html.erb +18 -0
- data/app/views/localizer_rails/_language_menu.html.erb +8 -0
- data/config/localizer_rails/lang_countries.yml +1018 -0
- data/lib/generators/localizer_rails/localizer_rails_generator.rb +119 -0
- data/lib/generators/localizer_rails/templates/_header.html.erb +33 -0
- data/lib/generators/localizer_rails/templates/kaminari_action_view_extension.rb +30 -0
- data/lib/generators/localizer_rails/templates/localizer_rails_prefs.rb +22 -0
- data/lib/localizer_rails/engine.rb +15 -0
- data/lib/localizer_rails/set_locale.rb +9 -0
- data/lib/localizer_rails/version.rb +3 -0
- data/lib/localizer_rails.rb +126 -0
- data/lib/tasks/localizer_tasks.rake +4 -0
- metadata +331 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
.dropdown-menu.locale_menu > li > a span ~ span,
|
|
2
|
+
.dropdown-menu.locale_menu > li > span.loc_menu_active span ~ span {
|
|
3
|
+
margin-left: 4px;
|
|
4
|
+
}
|
|
5
|
+
.dropdown-menu.locale_menu > li {
|
|
6
|
+
white-space: nowrap;
|
|
7
|
+
&.active {
|
|
8
|
+
pointer-events: none;
|
|
9
|
+
& > a {
|
|
10
|
+
pointer-events: none;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
& .menu_flag img {
|
|
14
|
+
vertical-align: baseline;
|
|
15
|
+
border: 1px solid white;
|
|
16
|
+
}
|
|
17
|
+
& > a.loc_menu, & .loc_menu_active {
|
|
18
|
+
padding: 3px 20px;
|
|
19
|
+
}
|
|
20
|
+
& span.loc_menu_active {
|
|
21
|
+
display: block;
|
|
22
|
+
font-style: italic;
|
|
23
|
+
cursor: default;
|
|
24
|
+
&:before {
|
|
25
|
+
content: '\2022';
|
|
26
|
+
color: red;
|
|
27
|
+
font-weight: 800;
|
|
28
|
+
position: relative;
|
|
29
|
+
line-height: 0;
|
|
30
|
+
padding-right: 4px;
|
|
31
|
+
margin-left: -12px;
|
|
32
|
+
width: 26px;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
& span.loc_menu.disabled {
|
|
36
|
+
color: gray;
|
|
37
|
+
}
|
|
38
|
+
& > a.loc_menu {
|
|
39
|
+
&:before {
|
|
40
|
+
content: '\2022';
|
|
41
|
+
visibility: hidden;
|
|
42
|
+
font-weight: 800;
|
|
43
|
+
position: relative;
|
|
44
|
+
padding-right: 4px;
|
|
45
|
+
margin-left: -12px;
|
|
46
|
+
width: 26px;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@media (max-width: 767px) {
|
|
52
|
+
.dropdown-menu.locale_menu > li {
|
|
53
|
+
& > span.loc_menu.disabled {
|
|
54
|
+
padding: 5px 15px 5px 25px;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
.navbar-inverse .navbar-nav .open .dropdown-menu > li > span.disabled {
|
|
58
|
+
color: #ccc;
|
|
59
|
+
}
|
|
60
|
+
.navbar-default .navbar-nav .open .dropdown-menu > li > span.disabled {
|
|
61
|
+
color: #bbb;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
ul.scroll-menu {
|
|
66
|
+
overflow: auto;
|
|
67
|
+
-webkit-overflow-scrolling: touch;
|
|
68
|
+
-moz-overflow-scrolling: touch;
|
|
69
|
+
-ms-overflow-scrolling: touch;
|
|
70
|
+
-o-overflow-scrolling: touch;
|
|
71
|
+
overflow-scrolling: touch;
|
|
72
|
+
height: auto;
|
|
73
|
+
max-height: 400px;
|
|
74
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module LocalizerRails
|
|
2
|
+
module LocalizerRailsHelper
|
|
3
|
+
|
|
4
|
+
def country_or_lang_code(code_sym, lang_name)
|
|
5
|
+
# FLAG images
|
|
6
|
+
lang_name[:country_code].blank? ? code_sym.to_s : lang_name[:country_code].downcase
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def get_lang_name(lang_name)
|
|
10
|
+
which_lang = LocalizerRails::Conf.display_local_language ? :lang_local : :lang_default
|
|
11
|
+
lang_name[which_lang].split(',').first
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def country_code(lang_name, enclose = [])
|
|
15
|
+
# ex: enclose = ['(',')']
|
|
16
|
+
country_code = lang_name[:country_code].upcase
|
|
17
|
+
enclose_string_within(country_code, enclose)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def render_elements(code_sym, lang_name)
|
|
21
|
+
render :partial => 'localizer_rails/elements', :locals => { :code_sym => code_sym, :lang_name => lang_name }
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def enclose_string_within(str, arr)
|
|
25
|
+
str.blank? || arr.blank? || (arr.count != 2) ? str : "#{arr[0]}#{str}#{arr[1]}"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<span class="menu_flag"><%= image_tag("flags/#{country_or_lang_code(code_sym, lang_name)}.png", :alt => '') %></span>
|
|
2
|
+
<span class="lang_name"><%= get_lang_name(lang_name) %></span>
|
|
3
|
+
<%# remove second argument (array) if ISO code is not to be encased: %>
|
|
4
|
+
<span class="country_code"><%= country_code(lang_name,['[ ',' ]']) %></span>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<% if current_page?(page_url) %>
|
|
2
|
+
|
|
3
|
+
<li class="active">
|
|
4
|
+
<a href="<%= page_url %>" disabled="disabled" >
|
|
5
|
+
<%= render_elements(code_sym, lang_name) %>
|
|
6
|
+
</a>
|
|
7
|
+
</li>
|
|
8
|
+
|
|
9
|
+
<% else %>
|
|
10
|
+
|
|
11
|
+
<li>
|
|
12
|
+
<a href="<%= page_url %>" >
|
|
13
|
+
<%= render_elements(code_sym, lang_name) %>
|
|
14
|
+
</a>
|
|
15
|
+
</li>
|
|
16
|
+
|
|
17
|
+
<% end %>
|
|
18
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<% if current_page?(page_url) %>
|
|
2
|
+
|
|
3
|
+
<li class="loc_menu_active">
|
|
4
|
+
<span class="loc_menu_active disabled">
|
|
5
|
+
<%= render_elements(code_sym, lang_name) %>
|
|
6
|
+
</span>
|
|
7
|
+
</li>
|
|
8
|
+
|
|
9
|
+
<% else %>
|
|
10
|
+
|
|
11
|
+
<li>
|
|
12
|
+
<a href="<%= page_url %>" class="loc_menu" >
|
|
13
|
+
<%= render_elements(code_sym, lang_name) %>
|
|
14
|
+
</a>
|
|
15
|
+
</li>
|
|
16
|
+
|
|
17
|
+
<% end %>
|
|
18
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<% bootstrap = '.bootstrap' unless LocalizerRails.use_bootstrap.blank? %>
|
|
2
|
+
|
|
3
|
+
<% LocalizerRails.active_locales_map.each do |code_sym, lang_name| %>
|
|
4
|
+
|
|
5
|
+
<%= render :partial => "localizer_rails/item#{bootstrap}",
|
|
6
|
+
:locals => { :code_sym => code_sym, :lang_name => lang_name, :page_url => url_for(:locale => code_sym) } %>
|
|
7
|
+
|
|
8
|
+
<% end %>
|