Translation Table

<%= @total_entries %> entries
<% preferred_language_code = @language_code.presence || "fi" %> <% preferred_language = @display_languages.find { |language| language.code == preferred_language_code } %> <% table_languages = @display_languages.reject { |language| language.code == preferred_language_code } %> <% if preferred_language_code != "en" %> <% english_language, other_languages = table_languages.partition { |language| language.code == "en" } %> <% table_languages = english_language + other_languages %> <% end %> <% table_languages.each do |language| %> <% end %> <% if @entries.empty? %> <% else %> <% @entries.each do |entry| %> <% translation_values = table_languages.map { |language| entry.public_send(language.code) } %> <% missing_any = translation_values.any?(&:blank?) %> <% table_languages.each do |language| %> <% translation = entry.public_send(language.code) %> <% end %> <% end %> <% end %>
<%= preferred_language&.name || "Finnish" %> <%= preferred_language_code.upcase %>
Category / Status
<%= language.name %> <%= language.code.upcase %>
<%= @language_completion.fetch(language, 0) %>% complete
No entries matched your filters.
<% primary_text = entry.public_send(preferred_language_code).presence || "Untitled" %>
<%= primary_text %>
<%= format_entry_category(entry) %> <% if entry.verified? %> Verified <% else %> Unverified <% end %> <%= link_to "View", entry_path(entry), class: "text-indigo-600 font-semibold hover:underline" %>
<% if translation.present? %> <%= translation %> <% else %> <% end %>
Page <%= @page %> of <%= [@total_pages, 1].max %>
<% previous_page = @page > 1 ? @page - 1 : nil %> <% next_page = @page < @total_pages ? @page + 1 : nil %> <% pagination_params = { q: @query.presence, category: @category.presence, language: @language_code.presence, starts_with: @starts_with.presence }.compact %> <%= link_to "Previous", previous_page ? entries_path(pagination_params.merge(page: previous_page)) : "#", class: "px-3 py-1.5 rounded-md border border-slate-200 #{previous_page ? 'hover:border-indigo-300' : 'text-slate-300 cursor-not-allowed'}", data: { turbo_stream: true } %> <%= link_to "Next", next_page ? entries_path(pagination_params.merge(page: next_page)) : "#", class: "px-3 py-1.5 rounded-md border border-slate-200 #{next_page ? 'hover:border-indigo-300' : 'text-slate-300 cursor-not-allowed'}", data: { turbo_stream: true } %>