@title = t ".in_language_title", :language => Language.find(params[:language]).english_name
entries = entries.where(:language_code => params[:language])
else
+ candidate_codes = preferred_languages.flat_map(&:candidates).uniq.map(&:to_s)
+ @languages = Language.where(:code => candidate_codes).in_order_of(:code, candidate_codes)
@title = t ".title"
end
end
<ul class="clearfix">
<% unless params[:friends] or params[:nearby] -%>
<li><%= rss_link_to :action => "rss", :language => params[:language] %></li>
- <% end -%>
+ <% end -%>
- <% if @user && @user == current_user || !@user && current_user %>
- <li><%= link_to image_tag("new.png", :class => "small_icon") + t(".new"), new_diary_entry_path, :title => t(".new_title") %></li>
- <% end %>
+ <% @languages&.each do |language| %>
+ <li><%= link_to t(".in_language_title", :language => language.name), :action => "index", :language => language.code %></li>
+ <% end %>
- <% if !@user && current_user %>
- <li><%= link_to t(".my_diary"), :controller => "diary_entries", :action => "index", :display_name => current_user.display_name %></li>
- <% end %>
+ <% if !@user && current_user %>
+ <li><%= link_to t(".my_diary"), :controller => "diary_entries", :action => "index", :display_name => current_user.display_name %></li>
+ <% end %>
+
+ <% if @user && @user == current_user || !@user && current_user %>
+ <li><%= link_to image_tag("new.png", :class => "small_icon") + t(".new"), new_diary_entry_path, :title => t(".new_title") %></li>
+ <% end %>
</ul>
</nav>
</div>
class DiaryEntrySystemTest < ApplicationSystemTestCase
def setup
create(:language, :code => "en")
+ create(:language, :code => "pt", :english_name => "Portuguese", :native_name => "Português")
+ create(:language, :code => "pt-BR", :english_name => "Brazilian Portuguese", :native_name => "Português do Brasil")
+ create(:language, :code => "ru", :english_name => "Russian", :native_name => "Русский")
@diary_entry = create(:diary_entry)
end
assert_content @deleted_comment.body
end
+
+ test "should have links to preferred languages" do
+ sign_in_as(create(:user, :languages => %w[en-US pt-BR]))
+ visit diary_entries_path
+
+ assert_link "Diary Entries in English", :href => "/diary/en"
+ assert_link "Diary Entries in Brazilian Portuguese", :href => "/diary/pt-BR"
+ assert_link "Diary Entries in Portuguese", :href => "/diary/pt"
+ assert_no_link "Diary Entries in Russian"
+ end
end