lit 0.3.3 → 0.4.0.pre.alpha
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/README.md +40 -6
- data/app/assets/javascripts/lit/lit_frontend.js +20 -12
- data/app/assets/stylesheets/lit/application.css +3 -0
- data/app/controllers/lit/api/v1/base_controller.rb +1 -1
- data/app/controllers/lit/api/v1/locales_controller.rb +1 -1
- data/app/controllers/lit/api/v1/localization_keys_controller.rb +12 -4
- data/app/controllers/lit/api/v1/localizations_controller.rb +25 -9
- data/app/controllers/lit/application_controller.rb +11 -8
- data/app/controllers/lit/concerns/request_info_store.rb +1 -0
- data/app/controllers/lit/incomming_localizations_controller.rb +22 -15
- data/app/controllers/lit/locales_controller.rb +1 -1
- data/app/controllers/lit/localization_keys_controller.rb +44 -18
- data/app/controllers/lit/localizations_controller.rb +16 -11
- data/app/controllers/lit/sources_controller.rb +9 -13
- data/app/helpers/lit/frontend_helper.rb +28 -16
- data/app/helpers/lit/localizations_helper.rb +2 -1
- data/app/jobs/lit/synchronize_source_job.rb +1 -1
- data/app/models/lit/incomming_localization.rb +71 -41
- data/app/models/lit/locale.rb +11 -13
- data/app/models/lit/localization.rb +26 -24
- data/app/models/lit/localization_key.rb +46 -55
- data/app/models/lit/source.rb +17 -74
- data/app/queries/localization_key_search_query.rb +80 -0
- data/app/services/remote_interactor_service.rb +45 -0
- data/app/services/synchronize_source_service.rb +63 -0
- data/app/views/kaminari/lit/_gap.html.erb +1 -1
- data/app/views/layouts/lit/_navigation.html.erb +1 -1
- data/app/views/lit/dashboard/index.html.erb +2 -2
- data/app/views/lit/incomming_localizations/index.html.erb +10 -6
- data/app/views/lit/localization_keys/_localization_row.html.erb +1 -1
- data/app/views/lit/localization_keys/_localizations_list.html.erb +84 -0
- data/app/views/lit/localization_keys/_sidebar.html.erb +66 -0
- data/app/views/lit/localization_keys/change_completed.js.erb +2 -0
- data/app/views/lit/localization_keys/index.html.erb +3 -121
- data/app/views/lit/localization_keys/not_translated.html.erb +9 -0
- data/app/views/lit/localization_keys/restore_deleted.js.erb +1 -0
- data/app/views/lit/localization_keys/visited_again.html.erb +9 -0
- data/app/views/lit/localizations/_previous_versions_rows.html.erb +2 -2
- data/app/views/lit/localizations/change_completed.js.erb +2 -0
- data/app/views/lit/localizations/update.js.erb +2 -0
- data/app/views/lit/sources/_form.html.erb +1 -1
- data/app/views/lit/sources/index.html.erb +1 -1
- data/config/routes.rb +5 -0
- data/db/migrate/20181017123839_lit_add_is_deleted_to_localization_keys.rb +8 -0
- data/db/migrate/20181018075955_lit_add_localization_key_is_deleted_to_localization_keys.rb +8 -0
- data/db/migrate/20181030111522_lit_add_is_visited_again_to_localization_keys.rb +8 -0
- data/lib/generators/lit/install/templates/initializer.rb +5 -1
- data/lib/lit.rb +1 -0
- data/lib/lit/adapters/redis_storage.rb +1 -1
- data/lib/lit/cache.rb +32 -54
- data/lib/lit/export.rb +80 -0
- data/lib/lit/i18n_backend.rb +12 -9
- data/lib/lit/import.rb +179 -0
- data/lib/lit/loader.rb +2 -0
- data/lib/lit/version.rb +1 -1
- data/lib/tasks/lit_tasks.rake +78 -13
- metadata +21 -6
@@ -9,7 +9,7 @@
|
|
9
9
|
</div>
|
10
10
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
11
11
|
<ul class="nav navbar-nav">
|
12
|
-
<li><%= link_to "Translate!", lit.
|
12
|
+
<li><%= link_to "Translate!", lit.not_translated_localization_keys_path %></li>
|
13
13
|
<li><%= link_to "Synchronize", lit.sources_path %></li>
|
14
14
|
<li class="dropdown">
|
15
15
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<strong>All localization keys</strong> <%= Lit::LocalizationKey.count(:id) %><br/>
|
1
|
+
<strong>All localization keys</strong> <%= Lit::LocalizationKey.active.count(:id) %><br/>
|
2
2
|
<% @locales.each do |l| %>
|
3
|
-
<strong><%= image_tag "lit/famfamfam_flags/#{l.locale[0,2]}.png" %> <%= t("lit.locale_to_languages.#{l.locale}", :default=>l.locale) %>:</strong> <span title="<%= "#{l.
|
3
|
+
<strong><%= image_tag "lit/famfamfam_flags/#{l.locale[0,2]}.png" %> <%= I18n.t("lit.locale_to_languages.#{l.locale}", :default=>l.locale) %>:</strong> <span title="<%= "#{l.changed_localizations_count}/#{l.all_localizations_count}" %>"><%= l.translated_percentage %>%</span><br/>
|
4
4
|
<% end %>
|
5
5
|
|
@@ -5,10 +5,10 @@
|
|
5
5
|
<h4 class="<%= source_loading_class(@source) %>">Synchronization in progress, please wait. The page will refresh automatically when done.</h2>
|
6
6
|
<span class="pull-right">
|
7
7
|
<%= link_to accept_all_source_incomming_localizations_path(@source), :class=>"btn btn-success btn-sm", :data=>{:confirm=>t('lit.common.you_sure', :default=>"Are you sure?")} do %>
|
8
|
-
<%= t('lit.common.accept_all', :default=>"Accept all") %>
|
8
|
+
<%= I18n.t('lit.common.accept_all', :default=>"Accept all") %>
|
9
9
|
<% end %>
|
10
10
|
<%= link_to reject_all_source_incomming_localizations_path(@source), :class=>"btn btn-danger btn-sm", :method=>:post, :data=>{:confirm=>t('lit.common.you_sure', :default=>"Are you sure?")} do %>
|
11
|
-
<%= t('lit.common.reject_all', :default=>"Reject all") %>
|
11
|
+
<%= I18n.t('lit.common.reject_all', :default=>"Reject all") %>
|
12
12
|
<% end %>
|
13
13
|
</span>
|
14
14
|
</div>
|
@@ -19,6 +19,7 @@
|
|
19
19
|
<tr>
|
20
20
|
<th>Current value</th>
|
21
21
|
<th>Imported value</th>
|
22
|
+
<th>Is deleted</th>
|
22
23
|
<th width="200px"></th>
|
23
24
|
</tr>
|
24
25
|
<% @incomming_localizations.each do |il| %>
|
@@ -31,16 +32,19 @@
|
|
31
32
|
<tr data-id="<%= il.id %>">
|
32
33
|
<td>
|
33
34
|
<% if il.localization %>
|
34
|
-
<%= render partial: '/lit/localization_keys/localization_row', locals: {localization: il.localization.
|
35
|
+
<%= render partial: '/lit/localization_keys/localization_row', locals: {localization: il.localization.translation} %>
|
35
36
|
<% end %>
|
36
37
|
</td>
|
37
|
-
<
|
38
|
-
<%= render partial: '/lit/localization_keys/localization_row', locals: {localization: il.
|
38
|
+
<td>
|
39
|
+
<%= render partial: '/lit/localization_keys/localization_row', locals: {localization: il.translation} %>
|
40
|
+
</td>
|
41
|
+
<td>
|
42
|
+
<%= il.localization_key_is_deleted %>
|
39
43
|
</td>
|
40
44
|
<td>
|
41
45
|
<%= link_to accept_source_incomming_localization_path(@source, il, format: :js), class: 'btn btn-success btn-sm', remote: true do %>
|
42
46
|
<%= draw_icon 'check', class: 'icon-white' %>
|
43
|
-
<%= t('lit.common.accept', default: 'Accept') %>
|
47
|
+
<%= I18n.t('lit.common.accept', default: 'Accept') %>
|
44
48
|
<% end %>
|
45
49
|
<%= link_to source_incomming_localization_path(@source, il, format: :js), class: 'btn btn-danger btn-sm', remote: true, method: :delete, data: {confirm: I18n.t('lit.common.you_sure', default: 'Are you sure?')} do %>
|
46
50
|
<%= draw_icon 'times', class: "icon-white" %>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
</ul>
|
7
7
|
<% else %>
|
8
8
|
<% if localization.nil? %>
|
9
|
-
<em title="<%= I18n.t('.value_not_yet_translated', default: 'Value not yet translated') %>">null</em>
|
9
|
+
<em title="<%= I18n.t('lit.value_not_yet_translated', default: 'Value not yet translated') %>">null</em>
|
10
10
|
<% else %>
|
11
11
|
<%= localization %>
|
12
12
|
<% end %>
|
@@ -0,0 +1,84 @@
|
|
1
|
+
<table class="table">
|
2
|
+
<%- @localization_keys.each do |lk| %>
|
3
|
+
<tr class="localization_key_row" data-id="<%= lk.id %>">
|
4
|
+
<td>
|
5
|
+
<strong><%= lk.localization_key %></strong>
|
6
|
+
<span class="badge"><%= Lit.init.cache.get_global_hits_counter(lk.localization_key) %></span>
|
7
|
+
<div class="localization_keys_options">
|
8
|
+
<% if Lit.store_request_info %>
|
9
|
+
<%= link_to '#', class: 'request_info_link title', title: 'Show / hide request' do %>
|
10
|
+
<%= draw_icon 'link' %>
|
11
|
+
<% end %>
|
12
|
+
<% end %>
|
13
|
+
<% if lk.is_deleted? %>
|
14
|
+
<%= link_to lit.restore_deleted_localization_key_path(lk), method: :put, remote: true, class: 'rotate_left_icon title', title: 'Restore translation key' do %>
|
15
|
+
<%= draw_icon 'rotate-left' %>
|
16
|
+
<% end %>
|
17
|
+
<% end %>
|
18
|
+
<% unless lk.is_deleted? %>
|
19
|
+
<%= link_to lit.change_completed_localization_key_path(lk), method: :put, remote: true, class: 'check_icon title', title: 'Complete / incomplete translation key' do %>
|
20
|
+
<%= draw_icon lk.is_starred? ? 'check-circle' : 'check-circle-o' %>
|
21
|
+
<% end %>
|
22
|
+
<%= link_to lit.star_localization_key_path(lk), remote: true, class: 'star_icon title', title: 'Star / unstar translation key' do %>
|
23
|
+
<%= draw_icon lk.is_starred? ? 'star' : 'star-o' %>
|
24
|
+
<% end %>
|
25
|
+
<%= link_to lit.localization_key_path(lk), method: :delete, data: {confirm: I18n.t('lit.common.you_sure', default: "Are you sure?")}, remote: true, title: 'Delete translation key', class: 'title' do %>
|
26
|
+
<%= draw_icon 'trash-o' %>
|
27
|
+
<% end %>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
<div class="detail_wrapper">
|
31
|
+
<table class="table table-bordered table-striped">
|
32
|
+
<tr>
|
33
|
+
<th class="col-md-8">Translation</th>
|
34
|
+
<th class="col-md-2 text-center">Locale</th>
|
35
|
+
<% unless lk.is_deleted? %>
|
36
|
+
<th class="col-md-2 text-center">Completed</th>
|
37
|
+
<% end %>
|
38
|
+
</tr>
|
39
|
+
<%- available_locales.each do |locale| %>
|
40
|
+
<%- localization = localization_for(locale, lk) %>
|
41
|
+
<tr>
|
42
|
+
<td class="localization_row" data-id="<%= localization.id%>" data-edit="<%= edit_localization_key_localization_path(lk, localization, format: :js) %>" data-editing=0 data-content="">
|
43
|
+
<%= render partial: 'localization_row', locals: {localization: Lit.init.cache["#{locale}.#{lk.localization_key}"]} %>
|
44
|
+
</td>
|
45
|
+
<td class="locale_row text-center">
|
46
|
+
<%= image_tag "lit/famfamfam_flags/#{locale[0,2]}.png" %>
|
47
|
+
<%= locale %>
|
48
|
+
<% if localization %>
|
49
|
+
<%= link_to lit.previous_versions_localization_key_localization_path(lk, localization, format: :js), class: "show_prev_versions #{'hidden' unless versions?(localization)}", remote: true do %>
|
50
|
+
<%= draw_icon 'random', title: I18n.t('lit.common.previous_versions', default: 'Previous versions') %>
|
51
|
+
<% end %>
|
52
|
+
<% end %>
|
53
|
+
</td>
|
54
|
+
<% unless lk.is_deleted? %>
|
55
|
+
<td class="text-center">
|
56
|
+
<%= link_to lit.change_completed_localization_key_localization_path(lk, localization), method: :put, remote: true, class: "change_completed_#{localization.id}" do |f| %>
|
57
|
+
<%= check_box_tag :is_changed, localization.is_changed, localization.is_changed %>
|
58
|
+
<% end %>
|
59
|
+
</td>
|
60
|
+
<% end %>
|
61
|
+
</tr>
|
62
|
+
<tr class="hidden localization_versions_row" data-id="<%= localization.id %>">
|
63
|
+
<td colspan="2" class="localization_versions"></td>
|
64
|
+
</tr>
|
65
|
+
<% end %>
|
66
|
+
<% if Lit.store_request_info %>
|
67
|
+
<tr class="hidden request_info_row">
|
68
|
+
<td colspan="2">
|
69
|
+
<strong>Translation key recently displayed on following pages:</strong>
|
70
|
+
<ul>
|
71
|
+
<% Lit.init.cache.get_request_info(lk.localization_key).split(' ').reverse.each do |l| %>
|
72
|
+
<li><%= link_to l, l %></li>
|
73
|
+
<% end %>
|
74
|
+
</ul>
|
75
|
+
<em>Note: you might not have access to those pages!</em>
|
76
|
+
</td>
|
77
|
+
</tr>
|
78
|
+
<% end %>
|
79
|
+
</table>
|
80
|
+
</div>
|
81
|
+
</td>
|
82
|
+
</tr>
|
83
|
+
<% end %>
|
84
|
+
</table>
|
@@ -0,0 +1,66 @@
|
|
1
|
+
<% content_for(:sidebar) do %>
|
2
|
+
<div class="well">
|
3
|
+
<%= form_tag '', :class=>"form-search", :method=>:get do |f| %>
|
4
|
+
<% if @search_options.has_key?(:key_prefix) %>
|
5
|
+
<%= hidden_field_tag :key_prefix, @search_options[:key_prefix] %>
|
6
|
+
<% end %>
|
7
|
+
<div class="input-group">
|
8
|
+
<%= text_field_tag :key, @search_options[:key], :class=>"form-control search-query" %>
|
9
|
+
<div class="input-group-btn">
|
10
|
+
<button type="submit" class="btn btn-default"><%= draw_icon 'search' %></button>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
<ul class="nav nav-pills nav-stacked">
|
15
|
+
<li class="<%= "active" if params[:action]=='not_translated' %>">
|
16
|
+
<%= link_to lit.not_translated_localization_keys_path do -%>
|
17
|
+
<%= draw_icon 'pencil' %>
|
18
|
+
not translated
|
19
|
+
<% end %>
|
20
|
+
</li>
|
21
|
+
<li class="<%= "active" if params[:action]=='index' %>">
|
22
|
+
<%= link_to lit.localization_keys_path do -%>
|
23
|
+
<%= draw_icon 'list' %>
|
24
|
+
all
|
25
|
+
<% end %>
|
26
|
+
</li>
|
27
|
+
<li class="<%= "active" if params[:action]=='starred' %>">
|
28
|
+
<%= link_to lit.starred_localization_keys_path do -%>
|
29
|
+
<%= draw_icon 'star' %>
|
30
|
+
starred
|
31
|
+
<% end %>
|
32
|
+
</li>
|
33
|
+
<li class="<%= "active" if params[:action]=='visited_again' %>">
|
34
|
+
<%= link_to lit.visited_again_localization_keys_path do -%>
|
35
|
+
<%= draw_icon 'undo' %>
|
36
|
+
deleted and visited again
|
37
|
+
<% end %>
|
38
|
+
</li>
|
39
|
+
<li class="nav-header"><%= I18n.t(".order_by", :default => "Order by") %>:</li>
|
40
|
+
<% Lit::LocalizationKey.order_options.each do |order| %>
|
41
|
+
<li class="<%= "active" if order == @search_options[:order] %>">
|
42
|
+
<%= link_to url_for(@search_options.merge(:order => order)) do %>
|
43
|
+
<%= I18n.t("lit.order_options.#{order.gsub(" ", "_")}", :default => order.humanize) %>
|
44
|
+
<% end %>
|
45
|
+
</li>
|
46
|
+
<% end %>
|
47
|
+
<li class="nav-header">Narrow with prefix</li>
|
48
|
+
<% if @search_options[:key_prefix].present? %>
|
49
|
+
<li>
|
50
|
+
<%= link_to url_for(@search_options.merge(:key_prefix=>@parent_prefix.present? ? @parent_prefix : nil)), :title=>(@parent_prefix.present? ? @parent_prefix : 'show all') do %>
|
51
|
+
<%= draw_icon('chevron-left') %>
|
52
|
+
<%= @parent_prefix.present? ? @parent_prefix.split('.').last : 'show all' %>
|
53
|
+
<% end %>
|
54
|
+
</li>
|
55
|
+
<% end %>
|
56
|
+
<% @prefixes.each do |p| %>
|
57
|
+
<li class="key_prefix">
|
58
|
+
<%= link_to url_for(@search_options.merge(:key_prefix=>p)) do %>
|
59
|
+
<%= draw_icon('chevron-right') %>
|
60
|
+
<%= p.split('.').last %>
|
61
|
+
<% end %>
|
62
|
+
</li>
|
63
|
+
<% end %>
|
64
|
+
</ul>
|
65
|
+
</div>
|
66
|
+
<% end %>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
$('tr.localization_key_row[data-id="<%= @localization_key.id %>"] a.check_icon').html("<%= ejs(draw_icon(@localization_key.is_completed? ? 'check-circle' : 'check-circle-o')) %>");
|
2
|
+
$('tr.localization_key_row[data-id="<%= @localization_key.id %>"] input[type=checkbox]').prop("checked", <%= @localization_key.is_completed? %>);
|
@@ -1,127 +1,9 @@
|
|
1
|
-
<h3><%= I18n.t('.header', default: 'Localization keys') %></h3>
|
2
|
-
<% available_locales = I18n.backend.available_locales %>
|
1
|
+
<h3><%= I18n.t('lit.header', default: 'Localization keys') %></h3>
|
3
2
|
|
4
|
-
|
5
|
-
<%- @localization_keys.each do |lk| %>
|
6
|
-
<tr class="localization_key_row" data-id="<%= lk.id %>">
|
7
|
-
<td>
|
8
|
-
<strong><%= lk.localization_key %></strong>
|
9
|
-
<span class="badge"><%= Lit.init.cache.get_global_hits_counter(lk.localization_key) %></span>
|
10
|
-
<div class="localization_keys_options">
|
11
|
-
<% if Lit.store_request_info %>
|
12
|
-
<%= link_to '#', class: 'request_info_link title', title: 'Show / hide request' do %>
|
13
|
-
<%= draw_icon 'link' %>
|
14
|
-
<% end %>
|
15
|
-
<% end %>
|
16
|
-
<%= link_to lit.star_localization_key_path(lk), remote: true, class: 'star_icon title', title: 'Star / unstar translation key' do %>
|
17
|
-
<%= draw_icon lk.is_starred? ? 'star' : 'star-o' %>
|
18
|
-
<% end %>
|
19
|
-
<%= link_to lit.localization_key_path(lk), method: :delete, data: {confirm: t('lit.common.you_sure', default: "Are you sure?")}, remote: true, title: 'Delete translation key', class: 'title' do %>
|
20
|
-
<%= draw_icon 'trash-o' %>
|
21
|
-
<% end %>
|
22
|
-
</div>
|
23
|
-
<div class="detail_wrapper">
|
24
|
-
<table class="table table-bordered table-striped">
|
25
|
-
<%- available_locales.each do |locale| %>
|
26
|
-
<%- localization = localization_for(locale, lk) %>
|
27
|
-
<tr>
|
28
|
-
<td class="localization_row" data-id="<%= localization.id%>" data-edit="<%= edit_localization_key_localization_path(lk, localization, format: :js) %>" data-editing=0 data-content="">
|
29
|
-
<%= render partial: 'localization_row', locals: {localization: Lit.init.cache["#{locale}.#{lk.localization_key}"]} %>
|
30
|
-
</td>
|
31
|
-
<td class="locale_row">
|
32
|
-
<%= image_tag "lit/famfamfam_flags/#{locale[0,2]}.png" %>
|
33
|
-
<%= locale %>
|
34
|
-
<% if localization %>
|
35
|
-
<%= link_to lit.previous_versions_localization_key_localization_path(lk, localization, format: :js), class: "show_prev_versions #{'hidden' unless has_versions?(localization)}", remote: true do %>
|
36
|
-
<%= draw_icon 'random', title: I18n.t('lit.common.previous_versions', default: 'Previous versions') %>
|
37
|
-
<% end %>
|
38
|
-
<% end %>
|
39
|
-
</td>
|
40
|
-
</tr>
|
41
|
-
<tr class="hidden localization_versions_row" data-id="<%= localization.id %>">
|
42
|
-
<td colspan="2" class="localization_versions"></td>
|
43
|
-
</tr>
|
44
|
-
<% end %>
|
45
|
-
<% if Lit.store_request_info %>
|
46
|
-
<tr class="hidden request_info_row">
|
47
|
-
<td colspan="2">
|
48
|
-
<strong>Translation key recently displayed on following pages:</strong>
|
49
|
-
<ul>
|
50
|
-
<% Lit.init.cache.get_request_info(lk.localization_key).split(' ').reverse.each do |l| %>
|
51
|
-
<li><%= link_to l, l %></li>
|
52
|
-
<% end %>
|
53
|
-
</ul>
|
54
|
-
<em>Note: you might not have access to those pages!</em>
|
55
|
-
</td>
|
56
|
-
</tr>
|
57
|
-
<% end %>
|
58
|
-
</table>
|
59
|
-
</div>
|
60
|
-
</td>
|
61
|
-
</tr>
|
62
|
-
<% end %>
|
3
|
+
<%= render 'localizations_list', available_locales: I18n.backend.available_locales %>
|
63
4
|
|
64
|
-
</table>
|
65
5
|
<% if defined?(Kaminari) %>
|
66
6
|
<%= paginate @localization_keys, :theme=>"lit" %>
|
67
7
|
<% end %>
|
68
8
|
|
69
|
-
|
70
|
-
<% content_for(:sidebar) do %>
|
71
|
-
<div class="well">
|
72
|
-
<%= form_tag '', :class=>"form-search", :method=>:get do |f| %>
|
73
|
-
<% if @search_options.has_key?(:key_prefix) %>
|
74
|
-
<%= hidden_field_tag :key_prefix, @search_options[:key_prefix] %>
|
75
|
-
<% end %>
|
76
|
-
<div class="input-group">
|
77
|
-
<%= text_field_tag :key, @search_options[:key], :class=>"form-control search-query" %>
|
78
|
-
<div class="input-group-btn">
|
79
|
-
<button type="submit" class="btn btn-default"><%= draw_icon 'search' %></button>
|
80
|
-
</div>
|
81
|
-
</div>
|
82
|
-
<label class="checkbox">
|
83
|
-
<%= check_box_tag :include_completed, '1', @search_options[:include_completed].to_i==1 %>
|
84
|
-
<%= t('.is_completed', :default=>"Include completed") %>
|
85
|
-
</label>
|
86
|
-
<% end %>
|
87
|
-
<ul class="nav nav-pills nav-stacked">
|
88
|
-
<li class="<%= "active" if params[:action]=='index' %>">
|
89
|
-
<%= link_to lit.localization_keys_path do -%>
|
90
|
-
<%= draw_icon 'list' %>
|
91
|
-
all
|
92
|
-
<% end %>
|
93
|
-
</li>
|
94
|
-
<li class="<%= "active" if params[:action]=='starred' %>">
|
95
|
-
<%= link_to lit.starred_localization_keys_path do -%>
|
96
|
-
<%= draw_icon 'star' %>
|
97
|
-
starred
|
98
|
-
<% end %>
|
99
|
-
</li>
|
100
|
-
<li class="nav-header"><%= t(".order_by", :default => "Order by") %>:</li>
|
101
|
-
<% Lit::LocalizationKey.order_options.each do |order| %>
|
102
|
-
<li class="<%= "active" if order == @search_options[:order] %>">
|
103
|
-
<%= link_to url_for(@search_options.merge(:order => order)) do %>
|
104
|
-
<%= t("lit.order_options.#{order.gsub(" ", "_")}", :default => order.humanize) %>
|
105
|
-
<% end %>
|
106
|
-
</li>
|
107
|
-
<% end %>
|
108
|
-
<li class="nav-header">Narrow with prefix</li>
|
109
|
-
<% if @search_options[:key_prefix].present? %>
|
110
|
-
<li>
|
111
|
-
<%= link_to url_for(@search_options.merge(:key_prefix=>@parent_prefix.present? ? @parent_prefix : nil)), :title=>(@parent_prefix.present? ? @parent_prefix : 'show all') do %>
|
112
|
-
<%= draw_icon('chevron-left') %>
|
113
|
-
<%= @parent_prefix.present? ? @parent_prefix.split('.').last : 'show all' %>
|
114
|
-
<% end %>
|
115
|
-
</li>
|
116
|
-
<% end %>
|
117
|
-
<% @prefixes.each do |p| %>
|
118
|
-
<li class="key_prefix">
|
119
|
-
<%= link_to url_for(@search_options.merge(:key_prefix=>p)) do %>
|
120
|
-
<%= draw_icon('chevron-right') %>
|
121
|
-
<%= p.split('.').last %>
|
122
|
-
<% end %>
|
123
|
-
</li>
|
124
|
-
<% end %>
|
125
|
-
</ul>
|
126
|
-
</div>
|
127
|
-
<% end %>
|
9
|
+
<%= render 'sidebar' %>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<h3><%= I18n.t('lit.not_translated_header', default: 'Not translated localization keys') %></h3>
|
2
|
+
|
3
|
+
<%= render 'localizations_list', available_locales: I18n.backend.available_locales %>
|
4
|
+
|
5
|
+
<% if defined?(Kaminari) %>
|
6
|
+
<%= paginate @localization_keys, :theme=>"lit" %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= render 'sidebar' %>
|
@@ -0,0 +1 @@
|
|
1
|
+
$('tr.localization_key_row[data-id="<%= @localization_key.id %>"]').fadeOut();
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<h3><%= I18n.t('lit.visited_again_header', default: 'Deleted and visited again localization keys') %></h3>
|
2
|
+
|
3
|
+
<%= render 'localizations_list', available_locales: I18n.backend.available_locales %>
|
4
|
+
|
5
|
+
<% if defined?(Kaminari) %>
|
6
|
+
<%= paginate @localization_keys, :theme=>"lit" %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= render 'sidebar' %>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<span class="pull-right"><%= draw_icon 'times', :class=>"close_versions" %></span>
|
2
2
|
<table class="table table-condensed">
|
3
3
|
<tr>
|
4
|
-
<th><%= t('lit.common.previous_versions') %></th>
|
5
|
-
<th width="25%"><%= t('lit.common.changed_at') %></th>
|
4
|
+
<th><%= I18n.t('lit.common.previous_versions') %></th>
|
5
|
+
<th width="25%"><%= I18n.t('lit.common.changed_at') %></th>
|
6
6
|
</tr>
|
7
7
|
<% @versions.each do |v| %>
|
8
8
|
<tr>
|
@@ -2,3 +2,5 @@ var $row = $('td.localization_row[data-id="<%= @localization.id %>"]');
|
|
2
2
|
$row.data('editing', 0);
|
3
3
|
$row.html("<%= ejs render(:partial=>"/lit/localization_keys/localization_row", formats: ['html'], :locals=>{:localization=>@localization.translated_value }) %>");
|
4
4
|
$row.siblings().find('.show_prev_versions').removeClass('hidden');
|
5
|
+
$('a.change_completed_<%= @localization.id %> input[type=checkbox]').prop("checked", true);
|
6
|
+
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<tr>
|
13
13
|
<td><%= link_to source.identifier, lit.source_path(source) %></td>
|
14
14
|
<td><%= source.last_updated_at.to_s(:db) unless source.last_updated_at.nil? %></td>
|
15
|
-
<td><%= source.
|
15
|
+
<td><%= source.last_change %></td>
|
16
16
|
<td>
|
17
17
|
<%= link_to lit.source_incomming_localizations_path(source), :title=>t('lit.common.browse_incomming', :default=>"Browse incomming localizations") do %>
|
18
18
|
<%= draw_icon 'search' %>
|
data/config/routes.rb
CHANGED
@@ -17,13 +17,18 @@ Lit::Engine.routes.draw do
|
|
17
17
|
resources :localization_keys, only: [:index, :destroy] do
|
18
18
|
member do
|
19
19
|
get :star
|
20
|
+
put :change_completed
|
21
|
+
put :restore_deleted
|
20
22
|
end
|
21
23
|
collection do
|
22
24
|
get :starred
|
23
25
|
get :find_localization
|
26
|
+
get :not_translated
|
27
|
+
get :visited_again
|
24
28
|
end
|
25
29
|
resources :localizations, only: [:edit, :update, :show] do
|
26
30
|
member do
|
31
|
+
put :change_completed
|
27
32
|
get :previous_versions
|
28
33
|
end
|
29
34
|
end
|