From f762acca863c69bf01342cf0c25e5b0670da39c6 Mon Sep 17 00:00:00 2001 From: yheuhtozr <84892012+yheuhtozr@users.noreply.github.com> Date: Thu, 28 Oct 2021 01:13:43 +0900 Subject: [PATCH] views/comments i18n (#15059) * views/comments etc i18n * comments PR fixes * PR sync with main * remove ja.yml * Update _comment_header.html.erb * Update index.html.erb * Update _comment_header.html.erb * Update en.yml * Update fr.yml * Update config/locales/views/comments/en.yml Co-authored-by: Michael Kohl * Update _comment_date.erb * Update en.yml * Update fr.yml Co-authored-by: Michael Kohl --- app/views/articles/_comments_actions.html.erb | 4 +- app/views/articles/_single_story.html.erb | 12 +- app/views/articles/_widget_list_item.html.erb | 4 +- app/views/comments/_comment.html.erb | 4 +- app/views/comments/_comment_date.erb | 8 +- app/views/comments/_comment_footer.html.erb | 19 +-- app/views/comments/_comment_header.html.erb | 19 +-- .../comments/_comment_quality_marker.html.erb | 6 +- .../comments/_discussion_lock_reason.html.erb | 2 +- app/views/comments/_form.html.erb | 34 ++-- app/views/comments/delete_confirm.html.erb | 11 +- app/views/comments/edit.html.erb | 2 +- app/views/comments/index.html.erb | 99 ++++++------ app/views/comments/settings.html.erb | 18 +-- .../shared/_comment_box.html.erb | 24 +-- config/locales/en.yml | 4 +- config/locales/fr.yml | 4 +- config/locales/views/comments/en.yml | 146 ++++++++++++++++++ config/locales/views/comments/fr.yml | 145 +++++++++++++++++ 19 files changed, 426 insertions(+), 139 deletions(-) create mode 100644 config/locales/views/comments/en.yml create mode 100644 config/locales/views/comments/fr.yml diff --git a/app/views/articles/_comments_actions.html.erb b/app/views/articles/_comments_actions.html.erb index 8b6cfb13b..5e8232494 100644 --- a/app/views/articles/_comments_actions.html.erb +++ b/app/views/articles/_comments_actions.html.erb @@ -2,14 +2,14 @@ <% if @comments_to_show_count && @article.comments_count > @comments_to_show_count %> <% end %> <% if @article.any_comments_hidden %>

- Some comments have been hidden by the post's author - find out more + <%= t("views.comments.hidden.text_html", info: link_to(t("views.comments.hidden.info"), "/faq")) %>

<% end %> diff --git a/app/views/articles/_single_story.html.erb b/app/views/articles/_single_story.html.erb index 617d5eb5b..48ff2b507 100644 --- a/app/views/articles/_single_story.html.erb +++ b/app/views/articles/_single_story.html.erb @@ -127,14 +127,16 @@ <% end %> <% if story.comments_count > 0 %> - <%= inline_svg_tag("small-comment.svg", aria: true, width: 24, height: 24, class: "crayons-icon", title: "Comments") %> - <%= story.comments_count %> - + <%= inline_svg_tag("small-comment.svg", aria: true, width: 24, height: 24, class: "crayons-icon", title: t("views.comments.summary.title")) %> + <%= t("views.comments.summary.count_html", + count: story.comments_count, + start: tag("span", { class: %w[hidden s:inline] }, true), + end: "".html_safe) %> <% else %> - <%= inline_svg_tag("small-comment.svg", aria: true, width: 24, height: 24, class: "crayons-icon", title: "Comments") %> - + <%= inline_svg_tag("small-comment.svg", aria: true, width: 24, height: 24, class: "crayons-icon", title: t("views.comments.summary.title")) %> + <% end %> diff --git a/app/views/articles/_widget_list_item.html.erb b/app/views/articles/_widget_list_item.html.erb index 6d75a514b..a040b007f 100644 --- a/app/views/articles/_widget_list_item.html.erb +++ b/app/views/articles/_widget_list_item.html.erb @@ -3,9 +3,9 @@ <% if show_comment_count %> <% end %> diff --git a/app/views/comments/_comment.html.erb b/app/views/comments/_comment.html.erb index ca2f59cf0..3e26ba4c7 100644 --- a/app/views/comments/_comment.html.erb +++ b/app/views/comments/_comment.html.erb @@ -3,8 +3,8 @@
- <%= inline_svg_tag("collapse.svg", aria: true, class: "crayons-icon expanded", title: "Collapse") %> - <%= inline_svg_tag("expand.svg", aria: true, class: "crayons-icon collapsed", title: "Expand") %> + <%= inline_svg_tag("collapse.svg", aria: true, class: "crayons-icon expanded", title: t("views.comments.collapse")) %> + <%= inline_svg_tag("expand.svg", aria: true, class: "crayons-icon collapsed", title: t("views.comments.expand")) %> diff --git a/app/views/comments/_comment_date.erb b/app/views/comments/_comment_date.erb index 7c991b794..a16ce71dc 100644 --- a/app/views/comments/_comment_date.erb +++ b/app/views/comments/_comment_date.erb @@ -6,10 +6,8 @@ <% if decorated_comment.edited_at.present? %> - • Edited - + <%= t("views.comments.edited.text_html", + on: tag.span(t("views.comments.edited.on_html", date: tag.time(decorated_comment.edited_at.strftime(t("time.formats.short")), datetime: decorated_comment.edited_timestamp), class: %w[hidden m:inline-block])) + ) %> <% end %> diff --git a/app/views/comments/_comment_footer.html.erb b/app/views/comments/_comment_footer.html.erb index 5879cf6b1..82dd52bd9 100644 --- a/app/views/comments/_comment_footer.html.erb +++ b/app/views/comments/_comment_footer.html.erb @@ -7,14 +7,9 @@ <%= inline_svg_tag("small-heart.svg", aria: true, class: "crayons-icon reaction-icon not-reacted", - title: "Like comment:") %> - <%= inline_svg_tag("small-heart-filled.svg", aria: true, class: "crayons-icon reaction-icon--like reaction-icon reacted", title: "Like comment: ") %> - - <%= comment.public_reactions_count if comment.public_reactions_count.positive? %> - - + title: t("views.comments.footer.heart.icon")) %> + <%= inline_svg_tag("small-heart-filled.svg", aria: true, class: "crayons-icon reaction-icon--like reaction-icon reacted", title: t("views.comments.footer.heart.icon")) %> + <%= t("views.comments.footer.heart.count_html", num: tag.span((comment.public_reactions_count if comment.public_reactions_count.positive?), class: "reactions-count"), likes: tag.span(like_button_text(comment).html_safe, class: "reactions-label hidden m:inline-block")) %> <% unless @discussion_lock %> @@ -25,13 +20,13 @@ data-comment-id="<%= comment.id %>" data-path="<%= commentable.path %>/comments/<%= comment.id_code_generated %>" rel="nofollow"> - <%= inline_svg_tag("small-comment.svg", aria: true, class: "crayons-icon reaction-icon not-reacted", title: "Comment button") %> - + <%= inline_svg_tag("small-comment.svg", aria: true, class: "crayons-icon reaction-icon not-reacted", title: t("views.comments.footer.reply.icon")) %> + <% else %> - <%= inline_svg_tag("small-thread.svg", aria: true, class: "crayons-icon", title: "Thread") %> - Thread + <%= inline_svg_tag("small-thread.svg", aria: true, class: "crayons-icon", title: t("views.comments.footer.thread.icon")) %> + <%= t("views.comments.footer.thread.text") %> <% end %> <% end %> diff --git a/app/views/comments/_comment_header.html.erb b/app/views/comments/_comment_header.html.erb index 77cadc416..3a45142cd 100644 --- a/app/views/comments/_comment_header.html.erb +++ b/app/views/comments/_comment_header.html.erb @@ -22,21 +22,22 @@ <%= render "comments/comment_date", decorated_comment: decorated_comment %>
- diff --git a/app/views/comments/_comment_quality_marker.html.erb b/app/views/comments/_comment_quality_marker.html.erb index 89db500ab..0c81cd930 100644 --- a/app/views/comments/_comment_quality_marker.html.erb +++ b/app/views/comments/_comment_quality_marker.html.erb @@ -1,12 +1,12 @@ <% if decorated_comment.low_quality %>
- Comment marked as low quality/non-constructive by the community. View Code of Conduct + <%= t("views.comments.quality.low") %> <%= t("views.comments.quality.conduct") %>
<% end %> <% if comment.hidden_by_commentable_user %>
- <%= inline_svg_tag("info.svg", aria: true, class: "crayons-icon mr-2", title: "Info") %> - Comment hidden by post author - thread only visible in this permalink + <%= inline_svg_tag("info.svg", aria: true, class: "crayons-icon mr-2", title: t("views.comments.quality.hidden.icon")) %> + <%= t("views.comments.quality.hidden.text") %>
<% end %> diff --git a/app/views/comments/_discussion_lock_reason.html.erb b/app/views/comments/_discussion_lock_reason.html.erb index e93249e25..08628a219 100644 --- a/app/views/comments/_discussion_lock_reason.html.erb +++ b/app/views/comments/_discussion_lock_reason.html.erb @@ -1,5 +1,5 @@
- The discussion has been locked. New comments can't be added. + <%= t("views.comments.locked") %> <% if @discussion_lock&.reason %>
diff --git a/app/views/comments/_form.html.erb b/app/views/comments/_form.html.erb index ba1c823a1..33e3cf25c 100644 --- a/app/views/comments/_form.html.erb +++ b/app/views/comments/_form.html.erb @@ -3,7 +3,7 @@ <% if @comment.errors.any? %> diff --git a/app/views/comments/delete_confirm.html.erb b/app/views/comments/delete_confirm.html.erb index dff02f3fa..1b7a6e6af 100644 --- a/app/views/comments/delete_confirm.html.erb +++ b/app/views/comments/delete_confirm.html.erb @@ -3,16 +3,15 @@ <%= truncate(sanitize(@comment.processed_html, tags: []), length: 200) %>
-

Are you sure you want to delete this comment?

+

<%= t("views.comments.delete.heading") %>

- You cannot undo this action, perhaps you just want to - Edit instead? + <%= t("views.comments.delete.desc_html", action: link_to(t("views.comments.delete.action"), "#{@comment.path}/edit", data: { no_instant: "" })) %>

<%= form_tag "/comments/#{@comment.id}", method: :delete do %> - - Edit - Dismiss + + <%= t("views.comments.delete.edit") %> + <%= t("views.comments.delete.cancel") %> <% end %>
diff --git a/app/views/comments/edit.html.erb b/app/views/comments/edit.html.erb index c8ce19dda..fd364e061 100644 --- a/app/views/comments/edit.html.erb +++ b/app/views/comments/edit.html.erb @@ -6,7 +6,7 @@ id="comments-container" data-commentable-id="<%= @comment.commentable_id %>" data-commentable-type="<%= @comment.commentable_type %>"> -

Editing comment

+

<%= t("views.comments.edit") %>

<%= render "form", commentable: @commentable, commentable_type: @comment.commentable_type %> diff --git a/app/views/comments/index.html.erb b/app/views/comments/index.html.erb index 90d8bf7fb..6bbd459c4 100644 --- a/app/views/comments/index.html.erb +++ b/app/views/comments/index.html.erb @@ -2,47 +2,47 @@ <% if @root_comment.present? %> <% title(@root_comment.title.to_s) %> <% else %> - <% title("Discussion of #{@commentable.title}") %> + <% title(t("views.comments.meta.title_root", title: @commentable.title)) %> <% end %> <% if @commentable %> - <%= content_for :page_meta do %> - "> - <%= meta_keywords_article %> +<%= content_for :page_meta do %> + "> + <%= meta_keywords_article %> - - - " /> - - - "> - - - "> + + " /> + " /> + + + "> + + + "> - <% if @root_comment.present? %> - - - - - - - <% if @root_comment.score < 0 || @commentable.score < 0 %> - - - <% end %> - <% else %> - " /> - " /> - - - <% if @commentable.class.name == "Article" && @commentable.published %> - - - <% end %> + <% if @root_comment.present? %> + + + " /> + "> + + + <% if @root_comment.score < 0 || @commentable.score < 0 %> + + + <% end %> + <% else %> + " /> + " /> + " /> + "> + <% if @commentable.class.name == "Article" && @commentable.published %> + + <% end %> <% end %> <% end %> +<% end %> <%= javascript_packs_with_chunks_tag "commentDropdowns", "followButtons", defer: true %> @@ -66,8 +66,9 @@ <%= @commentable.title %>

- <%= @commentable.is_a?(PodcastEpisode) ? @commentable.podcast.name : @commentable.user.name %> - <%= "on #{@commentable.published_at.strftime('%B %d, %Y')}" if @commentable.published_at %> + <%= t("views.comments.parent.metadata_html", + name: @commentable.is_a?(PodcastEpisode) ? @commentable.podcast.name : @commentable.user.name, + on: tag.span(@commentable.published_at ? t("views.comments.parent.date", date: @commentable.published_at.strftime(t("time.formats.comment"))) : "", class: %w[published-at])) %>

@@ -80,8 +81,7 @@ <% else %> <%= truncate(sanitize(@commentable.processed_html, tags: []), length: 150) %> + <%= t("views.comments.parent.read") %> <% end %> @@ -92,15 +92,17 @@ <%= javascript_packs_with_chunks_tag "responseTemplates", "commentsDisplay", defer: true %>
<% if @commentable %> -

- Discussion on: - <%= @commentable.title %> -

- +

+ <%= t("views.comments.parent.subtitle_html", + start: tag("span", { class: %w[fw-normal color-base-60] }, true), + end: "".html_safe, + title: tag.span(@commentable.title)) %> +

+ <% else %> - [Comment from a deleted post] + <%= t("views.comments.orphan.deleted") %> <% end %>
<% end %> @@ -109,7 +111,10 @@ @@ -143,7 +148,7 @@ <% if @commentable&.any_comments_hidden %>

- Some comments have been hidden by the post's author - find out more + <%= t("views.comments.hidden.text_html", info: link_to(t("views.comments.hidden.info"), "/faq#what-does-comment-hidden-by-post-author-mean")) %>

<% end %> diff --git a/app/views/comments/settings.html.erb b/app/views/comments/settings.html.erb index d9641a10a..70c85124d 100644 --- a/app/views/comments/settings.html.erb +++ b/app/views/comments/settings.html.erb @@ -1,30 +1,30 @@ -<% title "Comment Settings" %> +<% title t("views.comments.settings.meta.title") %>
-

Comment Settings

+

<%= t("views.comments.settings.heading") %>

<% if @notification_subscription.persisted? %> -

Showing thread notifications

-

You will receive all notifications for this comment and any of your comments in this chain.

+

<%= t("views.comments.settings.state.show.subtitle") %>

+

<%= t("views.comments.settings.state.show.desc") %>

<% else %> -

Muting thread notifications

-

All notifications for this comment and any of your comments in the thread are currently muted.

+

<%= t("views.comments.settings.state.mute.subtitle") %>

+

<%= t("views.comments.settings.state.mute.desc") %>

<% end %>
<%= form_for(@notification_subscription, url: "/notification_subscriptions/Comment/#{@comment.id}", method: "post", html: { class: "mute-form shrink-0" }) do |f| %> "> - <%= f.submit @notification_subscription.persisted? ? "Mute notifications" : "Unmute notifications", class: "crayons-btn crayons-btn--secondary #{@notification_subscription.persisted? ? 'mute' : 'unmute'}" %> + <%= f.submit t("views.comments.settings.subscribe.#{@notification_subscription.persisted? ? 'mute' : 'unmute'}"), class: "crayons-btn crayons-btn--secondary #{@notification_subscription.persisted? ? 'mute' : 'unmute'}" %> <% end %>
<% if NotificationSubscription.where(user_id: current_user, notifiable_type: "Article", notifiable_id: @comment.commentable_id, config: "all_comments").any? %>
-

Subscription

-

You are still subscribed to all comments in the broader thread, which will mean you will still receive notifications for replies to this comment.

+

<%= t("views.comments.settings.subscribe.subtitle") %>

+

<%= t("views.comments.settings.subscribe.desc") %>

<%= form_for(@notification_subscription, url: "/notification_subscriptions/Article/#{@comment.commentable_id}", method: "post", html: { class: "mute-form" }) do |f| %> diff --git a/app/views/notifications/shared/_comment_box.html.erb b/app/views/notifications/shared/_comment_box.html.erb index e5101f8e3..7795d0b94 100644 --- a/app/views/notifications/shared/_comment_box.html.erb +++ b/app/views/notifications/shared/_comment_box.html.erb @@ -3,7 +3,7 @@ <% if json_data["comment"]["depth"] && json_data["comment"]["depth"] > 0 %>

" class="crayons-link notification__reply-title"> - Re: <%= json_data["comment"]["ancestors"].last["title"] %> + <%= t("views.comments.re.text_html", re: tag.span(t("views.comments.re.re"), class: "fw-normal opacity-50"), title: json_data["comment"]["ancestors"].last["title"]) %>

<% end %> @@ -41,28 +41,28 @@ data-category="like" data-reactable-type="Comment" title="heart"> - <%= inline_svg_tag("small-heart.svg", aria: true, class: "crayons-icon reaction-icon not-reacted", title: "Favorite heart outline button") %> - <%= inline_svg_tag("small-heart-filled.svg", aria: true, class: "crayons-icon reaction-icon--like reaction-icon reacted", title: "Favorite heart outline button") %> - + <%= inline_svg_tag("small-heart.svg", aria: true, class: "crayons-icon reaction-icon not-reacted", title: t("views.comments.footer.heart.icon")) %> + <%= inline_svg_tag("small-heart-filled.svg", aria: true, class: "crayons-icon reaction-icon--like reaction-icon reacted", title: t("views.comments.footer.heart.icon")) %> + <% cache "comment-box-comment-reply-#{@last_user_comment}-#{json_data['comment']['updated_at']}-#{json_data['comment']['id']}" do %> <% reply = Comment.select(:id, :user_id, :ancestry).find_by(id: json_data["comment"]["id"])&.children&.find_by(user_id: current_user.id) %> <% if reply %> - <%= inline_svg_tag("small-comment-filled.svg", aria: true, class: "crayons-icon reaction-icon--comment reaction-icon reacted", title: "Comment button") %> - + <%= inline_svg_tag("small-comment-filled.svg", aria: true, class: "crayons-icon reaction-icon--comment reaction-icon reacted", title: t("views.comments.footer.reply.icon")) %> + <% else %> " href="#<%= json_data["comment"]["path"] %>"> - <%= inline_svg_tag("small-comment.svg", aria: true, class: "crayons-icon reaction-icon not-reacted", title: "Comment button") %> - <%= inline_svg_tag("small-comment-filled.svg", aria: true, class: "crayons-icon reaction-icon--comment reaction-icon reacted", title: "Comment button") %> - + <%= inline_svg_tag("small-comment.svg", aria: true, class: "crayons-icon reaction-icon not-reacted", title: t("views.comments.footer.reply.icon")) %> + <%= inline_svg_tag("small-comment-filled.svg", aria: true, class: "crayons-icon reaction-icon--comment reaction-icon reacted", title: t("views.comments.footer.reply.icon")) %> + <% end %> <% end %> " class="crayons-btn crayons-btn--ghost crayons-btn--icon-left crayons-btn--s inline-flex"> - <%= inline_svg_tag("small-link.svg", aria: true, class: "crayons-icon", title: "View button") %> + <%= inline_svg_tag("small-link.svg", aria: true, class: "crayons-icon", title: t("views.comments.footer.view.icon")) %>
@@ -74,9 +74,9 @@ <%= f.hidden_field :commentable_type, value: json_data["comment"]["commentable"]["class"]["name"] %> <%= f.hidden_field :parent_id, value: json_data["comment"]["id"] %> - <%= f.text_area :body_markdown, id: "comment-textarea-for-#{json_data['comment']['id']}", class: "crayons-textfield mb-2 resize-y", placeholder: "Reply...", "aria-label": "Reply to a comment...", onfocus: "handleFocus(event)" %> + <%= f.text_area :body_markdown, id: "comment-textarea-for-#{json_data['comment']['id']}", class: "crayons-textfield mb-2 resize-y", placeholder: t("views.comments.footer.reply.placeholder"), "aria-label": t("views.comments.footer.reply.aria_label"), onfocus: "handleFocus(event)" %>
- +
<% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index e1eae6fc6..2c408021e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -14,7 +14,6 @@ en: create_account: Create account create_post: Create Post dashboard: Dashboard - discussion: Discussion edit_profile: Edit profile feed: Feed follow: Follow @@ -22,7 +21,6 @@ en: follower: Follower followers: Followers following: Following - full: Full home: Home infinity: Infinity joined: Joined @@ -59,7 +57,6 @@ en: settings: Settings sign_out: Sign Out trending_on: Trending on - view: View week: Week year: Year dashboard: @@ -230,6 +227,7 @@ en: profile: Profile time: formats: + comment: "%B %d, %Y" short: "%b %-e" short_with_year: "%b %-e, %Y" stackexchange: "%b %e '%y" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index d1b09aee2..abe723c8d 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -14,7 +14,6 @@ fr: create_account: Créer un profil create_post: Créer une publication dashboard: Tableau de bord - discussion: Discussion edit_profile: Editer le profil feed: Fil follow: Suivre @@ -22,7 +21,6 @@ fr: follower: Suiveur followers: Suiveurs following: Abonné - full: Complet home: Page D'Accueil infinity: Infini joined: Rejoint @@ -59,7 +57,6 @@ fr: settings: Paramètres sign_out: Se déconnecter trending_on: Populaire sur - view: Vue week: Semaine year: Année dashboard: @@ -253,6 +250,7 @@ fr: profile: Profil time: formats: + comment: "%B %d, %Y" short: "%-e %b" short_with_year: "%-e %b, %Y" stackexchange: "%b %e '%y" diff --git a/config/locales/views/comments/en.yml b/config/locales/views/comments/en.yml new file mode 100644 index 000000000..ee0b5c7ca --- /dev/null +++ b/config/locales/views/comments/en.yml @@ -0,0 +1,146 @@ +--- +en: + views: + comments: + meta: + title_root: Discussion of %{title} + description: An article from the community + og: + title: Discussion of %{title} + title_rel: "%{root} — %{site}" + title_root: "[Discussion] %{title} — %{site}" + description: "%{site} Comment" + messages: + create: + success: created + failure: comment already exists + markdown: 'There was an error in your markdown: %{error}' + markdown_html: "

😔 There was an error in your markdown


%{error}

" + parent: + subtitle_html: "%{start}Discussion on: %{end}%{title}" + metadata_html: "%{name}%{on}" + date: " on %{date}" + full: Full discussion + read: Read full post + view: View post + view_full: + one: View full discussion (%{count} comment) + other: View full discussion (%{count} comments) + reply_html: "%{start}Replies for:%{end} %{title}" + delete: + heading: Are you sure you want to delete this comment? + desc_html: You cannot undo this action, perhaps you just want to %{action} instead? + action: Edit + error: Something went wrong; Comment NOT deleted. + notice: Comment was successfully deleted. + submit: Delete + edit: Edit + cancel: Dismiss + collapse: Collapse + edit: Editing comment + edited: + text_html: "• Edited %{on}" + on_html: on %{date} + expand: Expand + hidden: + text_html: Some comments have been hidden by the post's author - %{info} + info: find out more + locked: The discussion has been locked. New comments can't be added. + orphan: + deleted: "[Comment from a deleted post]" + re: + text_html: "%{re}%{title}" + re: 'Re: ' + settings: + meta: + title: Comment Settings + heading: Comment Settings + state: + show: + subtitle: Showing thread notifications + desc: You will receive all notifications for this comment and any of your comments in this chain. + mute: + subtitle: Muting thread notifications + desc: All notifications for this comment and any of your comments in the thread are currently muted. + subscribe: + subtitle: Subscription + desc: You are still subscribed to all comments in the broader thread, which will mean you will still receive notifications for replies to this comment. + mute: Mute notifications + unmute: Unmute notifications + quality: + low: Comment marked as low quality/non-constructive by the community. + conduct: View Code of Conduct + hidden: + icon: Info + text: Comment hidden by post author - thread only visible in this permalink + write: + errors: + one: '1 error prohibited this comment from being saved:' + other: "%{count} errors prohibited this comment from being saved:" + field: + aria_label: Add a comment to the discussion + placeholder: Add to the discussion + submit: Upload + templates: Templates + upload: Upload image + use: Use a response template + guide: + title: Markdown Guide + icon: Editor guide + template: + article: This post comes with a comment template + create: + subtitle: Create template + desc: Templates let you quickly answer FAQs or store snippets for re-use. + moderator: Moderator + personal: Personal + submit: Submit + preview: Preview + cancel: Dismiss + menu: + aria_label: Toggle dropdown menu + icon: Dropdown menu + copy: + aria_label: Copy link to %{user}'s comment + text: Copy link + settings: + aria_label: Go to %{user}'s comment settings + action: + aria_label: "%{action} %{user}'s comment" + hide: Hide + unhide: Unhide + hide_text: Hide + unhide_text: Unhide + moderate: + aria_label: Moderate %{user}'s comment + report: + aria_label: Report %{user}'s comment as abusive or violating our code of conduct and/or terms and conditions + footer: + heart: + title: heart + icon: 'Like comment: ' + count_html: "%{num}%{likes}" + text: Like + reply: + aria_label: Reply to a comment... + icon: Comment button + done: Replied + text: Reply + placeholder: Reply... + thread: + icon: Thread + text: Thread + view: + icon: View button + text: View + count: + one: "%{count} comment" + other: "%{count} comments" + empty: New + add: "Add\_Comment" + summary: + count_html: + one: "%{count}%{start}\_comment%{end}" + other: "%{count}%{start}\_comments%{end}" + title: Comments + diff --git a/config/locales/views/comments/fr.yml b/config/locales/views/comments/fr.yml new file mode 100644 index 000000000..57cfbdfe4 --- /dev/null +++ b/config/locales/views/comments/fr.yml @@ -0,0 +1,145 @@ +--- +fr: + views: + comments: + meta: + title_root: Discussion of %{title} + description: An article from the community + og: + title: Discussion of %{title} + title_rel: "%{root} — %{site}" + title_root: "[Discussion] %{title} — %{site}" + description: "%{site} Comment" + messages: + create: + success: created + failure: comment already exists + markdown: 'There was an error in your markdown: %{error}' + markdown_html: "

😔 There was an error in your markdown


%{error}

" + parent: + subtitle_html: "%{start}Discussion on: %{end}%{title}" + metadata_html: "%{name}%{on}" + date: " on %{date}" + full: Full discussion + read: Read full post + view: Voir la publication + view_full: + one: Voir la discussion complète (%{count} commentaires) + other: Voir la discussion complète (%{count} commentaires) + reply_html: "%{start}Replies for:%{end} %{title}" + delete: + heading: Are you sure you want to delete this comment? + desc_html: You cannot undo this action, perhaps you just want to %{action} instead? + action: Edit + error: Something went wrong; Comment NOT deleted. + notice: Comment was successfully deleted. + submit: Delete + edit: Edit + cancel: Dismiss + collapse: Collapse + edit: Editing comment + edited: + text_html: "• Edited %{on}" + on_html: on %{date} + expand: Expand + hidden: + text_html: Some comments have been hidden by the post's author - %{info} + info: find out more + locked: The discussion has been locked. New comments can't be added. + orphan: + deleted: "[Comment from a deleted post]" + re: + text_html: "%{re}%{title}" + re: 'Re: ' + settings: + meta: + title: Comment Settings + heading: Comment Settings + state: + show: + subtitle: Showing thread notifications + desc: You will receive all notifications for this comment and any of your comments in this chain. + mute: + subtitle: Muting thread notifications + desc: All notifications for this comment and any of your comments in the thread are currently muted. + subscribe: + subtitle: Subscription + desc: You are still subscribed to all comments in the broader thread, which will mean you will still receive notifications for replies to this comment. + mute: Mute notifications + unmute: Unmute notifications + quality: + low: Comment marked as low quality/non-constructive by the community. + conduct: View Code of Conduct + hidden: + icon: Info + text: Comment hidden by post author - thread only visible in this permalink + write: + errors: + one: '1 error prohibited this comment from being saved:' + other: "%{count} errors prohibited this comment from being saved:" + field: + aria_label: Add a comment to the discussion + placeholder: Add to the discussion + submit: Upload + templates: Templates + upload: Upload image + use: Use a response template + guide: + title: Markdown Guide + icon: Editor guide + template: + article: This post comes with a comment template + create: + subtitle: Create template + desc: Templates let you quickly answer FAQs or store snippets for re-use. + moderator: Moderator + personal: Personal + submit: Submit + preview: Preview + cancel: Dismiss + menu: + aria_label: Toggle dropdown menu + icon: Dropdown menu + copy: + aria_label: Copy link to %{user}'s comment + text: Copier le lien + settings: + aria_label: Go to %{user}'s comment settings + action: + aria_label: "%{action} %{user}'s comment" + hide: Hide + unhide: Unhide + hide_text: Hide + unhide_text: Unhide + moderate: + aria_label: Moderate %{user}'s comment + report: + aria_label: Report %{user}'s comment as abusive or violating our code of conduct and/or terms and conditions + footer: + heart: + title: heart + icon: 'Like comment: ' + count_html: "%{num}%{likes}" + text: Like + reply: + aria_label: Reply to a comment... + icon: Comment button + done: Replied + text: Répondre + placeholder: Reply... + thread: + icon: Thread + text: Thread + view: + icon: View button + text: View + count: + one: "%{count} comment" + other: "%{count} comments" + empty: New + add: "Ajouter un commentaire" + summary: + count_html: + one: "%{count}%{start}\_commentaire%{end}" + other: "%{count}%{start}\_commentaires%{end}" + title: Comments