diff --git a/app/messages/added_to_conversation.email.erb b/app/messages/added_to_conversation.email.erb index 46e8b725458..2386d3f55f9 100644 --- a/app/messages/added_to_conversation.email.erb +++ b/app/messages/added_to_conversation.email.erb @@ -7,6 +7,9 @@ <% define_content :subject do %> <%= t :subject, "%{user_name} just added you to a conversation in Canvas.", :user_name => content(:user_name) %> <% end %> -<%= t :body, "%{user_name} just added you to a conversation in Canvas. To view the conversation, click the link below:", :user_name => content(:user_name) %> - -<%= content :link %> +<%= + t("%{user_name} just added you to a conversation in Canvas. To view the conversation, click this link: %{link}.", { + :user_name => content(:user_name), + :link => content(:link) + }) +%> diff --git a/app/messages/announcement_reply.email.erb b/app/messages/announcement_reply.email.erb index 58fcd5b5715..ad8c146bafe 100644 --- a/app/messages/announcement_reply.email.erb +++ b/app/messages/announcement_reply.email.erb @@ -10,5 +10,4 @@ <%= html_to_text(asset.message, :base_url => dashboard_url) %> -<%= t :discussion_entry_reply_message, "Join the conversation using the link below, or comment by replying to this message." %> -<%= content :link %> +<%= t("Comment by replying to this message, or join the conversation using this link: %{link}.", link: content(:link)) %> diff --git a/app/messages/conversation_created.email.erb b/app/messages/conversation_created.email.erb index 86abdc115f1..0a51486a810 100644 --- a/app/messages/conversation_created.email.erb +++ b/app/messages/conversation_created.email.erb @@ -24,13 +24,11 @@ <%= asset.body %> <% if asset.has_media_objects? %> -<%= t :audio_comment, "This message includes media comments. To listen or reply, click the link below:" %> + <%= t("This message includes media comments. To listen or reply, click this link: %{link}.", link: content(:link)) %> <% else %> -<%= t :reply_to_conversation_message, "You can reply to this message in Canvas by replying directly to this email." %> + <%= t("You can reply to this message in Canvas by replying directly to this email, or by clicking this link: %{link}.", link: content(:link)) %> <% end %> -<%= content :link %> - <% unless asset.attachments.empty? %> <%= t :attached_files, "Attached Files:" %> <% asset.attachments.each do |attachment| %> diff --git a/app/messages/conversation_message.email.erb b/app/messages/conversation_message.email.erb index 55a192ec898..e20b44f8d1c 100644 --- a/app/messages/conversation_message.email.erb +++ b/app/messages/conversation_message.email.erb @@ -24,13 +24,11 @@ <%= asset.body %> <% if asset.has_media_objects? %> -<%= t :audio_comment, "This message includes media comments. To listen or reply, click the link below:" %> + <%= t("This message includes media comments. To listen or reply, click this link: %{link}.", link: content(:link)) %> <% else %> -<%= t :reply_to_conversation_message, "You can reply to this message in Canvas by replying directly to this email." %> + <%= t("You can reply to this message in Canvas by replying directly to this email, or by clicking this link: %{link}.", link: content(:link)) %> <% end %> -<%= content :link %> - <% unless asset.attachments.empty? %> <%= t :attached_files, "Attached Files:" %> <% asset.attachments.each do |attachment| %> diff --git a/app/messages/group_membership_accepted.email.erb b/app/messages/group_membership_accepted.email.erb index 34303acfb94..aec24032b5a 100644 --- a/app/messages/group_membership_accepted.email.erb +++ b/app/messages/group_membership_accepted.email.erb @@ -12,5 +12,4 @@ <%= t('course_group', "Your request to join the group %{group_name} for the course %{course_name} has been accepted.", :group_name => asset.group.name, :course_name => asset.group.context.name) %> <% end %> -<%= before_label('click_below', 'You can check out the group by clicking the link below') %> -<%= content :link %> +<%= t('You can check out the group by clicking this link: %{link}.', link: content(:link)) %> diff --git a/app/messages/group_membership_rejected.email.erb b/app/messages/group_membership_rejected.email.erb index 7037093beea..a132d0485dc 100644 --- a/app/messages/group_membership_rejected.email.erb +++ b/app/messages/group_membership_rejected.email.erb @@ -12,5 +12,4 @@ <%= t('course_group', "Your request to join the group %{group_name} for the course %{course_name} has been rejected.", :group_name => asset.group.name, :course_name => asset.group.context.name) %> <% end %> -<%= before_label('click_below', 'You can check out other groups by clicking the link below') %> -<%= content :link %> +<%= t('You can check out other groups by clicking this link: %{link}', link: content(:link)) %> diff --git a/app/messages/new_context_group_membership.email.erb b/app/messages/new_context_group_membership.email.erb index 36c5d63c0e2..da18a0cfeaa 100644 --- a/app/messages/new_context_group_membership.email.erb +++ b/app/messages/new_context_group_membership.email.erb @@ -19,9 +19,8 @@ <%= case asset.group.context_type when 'Account' - t :details_account, "You can see which groups you're a part of for this account by clicking the link below:" + t("You can see which groups you're a part of for this account by clicking this link: %{link}.", link: content(:link)) else - t :details_account, "You can see which groups you're a part of for this account by clicking the link below:" + t("You can see which groups you're a part of for this course by clicking this link: %{link}.", link: content(:link)) end %> -<%= content :link %> diff --git a/app/messages/new_context_group_membership_invitation.email.erb b/app/messages/new_context_group_membership_invitation.email.erb index fcba99731ed..2e7772214ef 100644 --- a/app/messages/new_context_group_membership_invitation.email.erb +++ b/app/messages/new_context_group_membership_invitation.email.erb @@ -16,5 +16,4 @@ end %> -<%= t :details, "You can check out the group by clicking the link below:" %> -<%= content :link %> +<%= t("You can check out the group by clicking this link: %{link}.", link: content(:link)) %> diff --git a/app/messages/new_discussion_entry.email.erb b/app/messages/new_discussion_entry.email.erb index 65c441e9931..5c42928f467 100644 --- a/app/messages/new_discussion_entry.email.erb +++ b/app/messages/new_discussion_entry.email.erb @@ -10,5 +10,4 @@ <%= html_to_text(asset.message, :base_url => dashboard_url) %> -<%= t :discussion_entry_reply_message, "Join the conversation using the link below, or comment by replying to this message." %> -<%= content :link %> +<%= t("Comment by replying to this message, or join the conversation using this link: %{link}.", link: content(:link)) %> diff --git a/app/messages/new_student_organized_group.email.erb b/app/messages/new_student_organized_group.email.erb index c1d43605556..935b488bfae 100644 --- a/app/messages/new_student_organized_group.email.erb +++ b/app/messages/new_student_organized_group.email.erb @@ -16,5 +16,4 @@ end %> -<%= t :details, "You can see details for this group by clicking the link below:" %> -<%= content :link %> +<%= t("You can see details for this group by clicking this link: %{link}.", link: content(:link)) %> diff --git a/app/messages/peer_review_invitation.email.erb b/app/messages/peer_review_invitation.email.erb index cd257108284..5ed25d3ea12 100644 --- a/app/messages/peer_review_invitation.email.erb +++ b/app/messages/peer_review_invitation.email.erb @@ -6,6 +6,9 @@ <%= t('#messages.peer_review_invitation.email.subject', "Assigned peer review for %{reviewee}", :reviewee => reviewee_name(asset, user))%> <% end %> -<%= t('#messages.peer_review_invitation.email.body', "You've been invited to peer review %{reviewee}. Follow the link below to review them!", :reviewee => reviewee_name(asset, user))%> - -<%= content :link %> +<%= + t("You've been invited to peer review %{reviewee}. Follow this link to review them: %{link}.", { + reviewee: reviewee_name(asset, user), + link: content(:link) + }) +%> diff --git a/app/messages/peer_review_invitation.sms.erb b/app/messages/peer_review_invitation.sms.erb index 31ca5d01305..e7298f018f2 100644 --- a/app/messages/peer_review_invitation.sms.erb +++ b/app/messages/peer_review_invitation.sms.erb @@ -1,4 +1,3 @@ - -<%= t('#messages.peer_review_invitation.summary.body', "You've been invited to peer review %{reviewee}. Follow the link below to review them!", :reviewee => reviewee_name(asset, user))%> +<%= t("You've been invited to peer review %{reviewee}.", reviewee: reviewee_name(asset, user)) %> <%= t :more_info, "More info at %{url}", :url => HostUrl.context_host(asset.context) %> diff --git a/app/messages/peer_review_invitation.summary.erb b/app/messages/peer_review_invitation.summary.erb index 5b69c459258..5ed25d3ea12 100644 --- a/app/messages/peer_review_invitation.summary.erb +++ b/app/messages/peer_review_invitation.summary.erb @@ -6,4 +6,9 @@ <%= t('#messages.peer_review_invitation.email.subject', "Assigned peer review for %{reviewee}", :reviewee => reviewee_name(asset, user))%> <% end %> -<%= t('#messages.peer_review_invitation.email.body', "You've been invited to peer review %{reviewee}. Follow the link below to review them!", :reviewee => reviewee_name(asset, user))%> +<%= + t("You've been invited to peer review %{reviewee}. Follow this link to review them: %{link}.", { + reviewee: reviewee_name(asset, user), + link: content(:link) + }) +%> diff --git a/app/messages/submission_comment.email.erb b/app/messages/submission_comment.email.erb index b0a1d14e235..862fe48dd44 100644 --- a/app/messages/submission_comment.email.erb +++ b/app/messages/submission_comment.email.erb @@ -17,17 +17,15 @@ <%= asset.comment %> <% if asset.media_comment? %> -<%= t "#messages.conversation_message.email.audio_comment", "This message includes media comments. To listen or reply, click the link below:" %> + <%= t("This message includes media comments. To listen or reply, click this link: %{link}.", link: content(:link)) %> <% else %> -<%= t :link_message, "You can review the submission details here:" %> + <%= t("You can review the submission details by clicking this link: %{link}.", link: content(:link)) %> <% end %> -<%= content :link %> - <% unless asset.attachments.empty? %> -<%= t "#messages.conversation_message.email.attached_files", "Attached Files:" %> -<% asset.attachments.each do |attachment| %> -<%= attachment.display_name %> - <%= attachment.readable_size %> -<%= file_download_url(attachment) %> -<% end %> + <%= t "#messages.conversation_message.email.attached_files", "Attached Files:" %> + <% asset.attachments.each do |attachment| %> + <%= attachment.display_name %> - <%= attachment.readable_size %> + <%= file_download_url(attachment) %> + <% end %> <% end %> diff --git a/app/messages/submission_comment_for_teacher.email.erb b/app/messages/submission_comment_for_teacher.email.erb index b08e5e48d18..bfe1378a399 100644 --- a/app/messages/submission_comment_for_teacher.email.erb +++ b/app/messages/submission_comment_for_teacher.email.erb @@ -11,17 +11,15 @@ <%= asset.comment %> <% if asset.media_comment? %> -<%= t "#messages.conversation_message.email.audio_comment", "This message includes media comments. To listen or reply, click the link below:" %> + <%= t("This message includes media comments. To listen or reply, click this link: %{link}.", link: content(:link)) %> <% else %> -<%= t :submission_comment_link_message, "You can review the submission details using the link below, or can reply to this comment by responding to this message." %> + <%= t("You can reply to this comment by responding to this message, or review the submission details using this link: %{link}.", link: content(:link)) %> <% end %> -<%= content :link %> - <% unless asset.attachments.empty? %> -<%= t "#messages.conversation_message.email.attached_files", "Attached Files:" %> -<% asset.attachments.each do |attachment| %> -<%= attachment.display_name %> - <%= attachment.readable_size %> -<%= file_download_url(attachment) %> -<% end %> + <%= t "#messages.conversation_message.email.attached_files", "Attached Files:" %> + <% asset.attachments.each do |attachment| %> + <%= attachment.display_name %> - <%= attachment.readable_size %> + <%= file_download_url(attachment) %> + <% end %> <% end %> diff --git a/app/models/message.rb b/app/models/message.rb index fd25e208ff9..36c25e3718d 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -651,13 +651,15 @@ class Message < ActiveRecord::Base # options - An options hash passed to translate (default: {}). # # Returns a translated string. - def translate(key, default, options={}) + def translate(*args) + key, options = I18nliner::CallHelpers.infer_arguments(args) + # Add scope if it's present in the model and missing from the key. - if @i18n_scope && key !~ /\A#/ + if !options[:i18nliner_inferred_key] && @i18n_scope && key !~ /\A#/ key = "##{@i18n_scope}.#{key}" end - super(key, default, options) + super(key, options) end alias :t :translate diff --git a/spec/models/message_spec.rb b/spec/models/message_spec.rb index af93c96a635..1dd76d0ad21 100644 --- a/spec/models/message_spec.rb +++ b/spec/models/message_spec.rb @@ -453,6 +453,22 @@ describe Message do end end + + describe "#translate" do + it "should work with an explicit key" do + message = message_model + message.get_template("new_discussion_entry.email.erb") # populate @i18n_scope + message = message.translate(:key, "value %{link}", link: 'hi') + expect(message).to eq "value hi" + end + + it "should work with an implicit key" do + message = message_model + message.get_template("new_discussion_entry.email.erb") # populate @i18n_scope + message = message.translate("value %{link}", link: 'hi') + expect(message).to eq "value hi" + end + end end describe '.context_type' do