Fix i18n issues reported on Crowdin (#13191)
* Pluralize `js.topics.bulk.dismiss_new_with_selected` This fixes https://discourse.crowdin.com/translate/f3230e7607a36bb0a2f97fd90605a44e/246/en-fr#57320 * Pluralize `js.topics.bulk.dismiss_read_with_selected` This fixes https://discourse.crowdin.com/translate/f3230e7607a36bb0a2f97fd90605a44e/246/en-fr#57316 * Pluralize `js.topics.bulk.dismiss_button_with_selected` * Replaces concatenated string used by `js.topic.suggest_create_topic` This fixes https://discourse.crowdin.com/translate/f3230e7607a36bb0a2f97fd90605a44e/246/en-fr#41834 * Less confusing `admin_js.admin.watched_words.test.modal_title` This fixes https://discourse.crowdin.com/translate/f3230e7607a36bb0a2f97fd90605a44e/246/en-sv#44992 * Delete unused `backup.location.*` keys This fixes https://discourse.crowdin.com/translate/f3230e7607a36bb0a2f97fd90605a44e/248/en-fr#46330 * Replace "reviewable" with "reviewable items" This fixes https://discourse.crowdin.com/translate/f3230e7607a36bb0a2f97fd90605a44e/248/en-fr#56952 * Remove "ago" from `emails.incoming.missing_attachment` This fixes https://discourse.crowdin.com/translate/f3230e7607a36bb0a2f97fd90605a44e/248/en-sv#46038 * Remove "/Posts" from `js.keyboard_shortcuts_help.application.dismiss_new_posts` Because the shortcut doesn't do anything to posts anymore. This fixes https://discourse.crowdin.com/translate/f3230e7607a36bb0a2f97fd90605a44e/246/en-de#43180 * Pluralize `user.cannot_delete_has_posts` This fixes https://discourse.crowdin.com/translate/f3230e7607a36bb0a2f97fd90605a44e/248/en-he#57490
This commit is contained in:
parent
5efed91128
commit
fa470cf6fe
|
@ -114,7 +114,7 @@ export default Controller.extend(ModalFunctionality, {
|
|||
keysDelimiter: PLUS,
|
||||
}),
|
||||
help: buildShortcut("application.help", { keys1: ["?"] }),
|
||||
dismiss_new_posts: buildShortcut("application.dismiss_new_posts", {
|
||||
dismiss_new: buildShortcut("application.dismiss_new", {
|
||||
keys1: ["x", "r"],
|
||||
}),
|
||||
dismiss_topics: buildShortcut("application.dismiss_topics", {
|
||||
|
|
|
@ -77,8 +77,7 @@ model=model showResetNew=showResetNew showDismissRead=showDismissRead resetNew=(
|
|||
{{#footer-message education=footerEducation message=footerMessage}}
|
||||
{{#if latest}}
|
||||
{{#if canCreateTopicOnCategory}}
|
||||
{{i18n "topics.none.ready_to_create"}}
|
||||
<a href {{action "createTopic"}}>{{i18n "topic.suggest_create_topic"}}</a>
|
||||
{{discourse-linked-text action=(route-action "createTopic") text="topic.suggest_create_topic"}}
|
||||
{{/if}}
|
||||
{{else if top}}
|
||||
{{#link-to "discovery.categories"}}{{i18n "topic.browse_all_categories"}}{{/link-to}}, {{#link-to "discovery.latest"}}{{i18n "topic.view_latest_topics"}}{{/link-to}} {{i18n "or"}} {{i18n "filters.top.other_periods"}}
|
||||
|
|
|
@ -38,7 +38,9 @@ model=model showResetNew=showResetNew showDismissRead=showDismissRead resetNew=(
|
|||
|
||||
{{#footer-message education=footerEducation message=footerMessage}}
|
||||
{{#if latest}}
|
||||
{{#if canCreateTopicOnCategory}}<a href {{action "createTopic"}}>{{i18n "topic.suggest_create_topic"}}</a>{{/if}}
|
||||
{{#if canCreateTopicOnCategory}}
|
||||
{{discourse-linked-text action=(route-action "createTopic") text="topic.suggest_create_topic"}}
|
||||
{{/if}}
|
||||
{{else if top}}
|
||||
{{#link-to "discovery.categories"}}{{i18n "topic.browse_all_categories"}}{{/link-to}}, {{#link-to "discovery.latest"}}{{i18n "topic.view_latest_topics"}}{{/link-to}} {{i18n "or"}} {{i18n "filters.top.other_periods"}}
|
||||
{{top-period-buttons period=period action=(action "changePeriod")}}
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<li>{{html-safe shortcuts.application.show_incoming_updated_topics}}</li>
|
||||
<li>{{html-safe shortcuts.application.search}}</li>
|
||||
<li>{{html-safe shortcuts.application.help}}</li>
|
||||
<li>{{html-safe shortcuts.application.dismiss_new_posts}}</li>
|
||||
<li>{{html-safe shortcuts.application.dismiss_new}}</li>
|
||||
<li>{{html-safe shortcuts.application.dismiss_topics}}</li>
|
||||
<li>{{html-safe shortcuts.application.log_out}}</li>
|
||||
</ul>
|
||||
|
|
|
@ -420,7 +420,7 @@ class Admin::UsersController < Admin::AdminController
|
|||
rescue UserDestroyer::PostsExistError
|
||||
render json: {
|
||||
deleted: false,
|
||||
message: I18n.t("user.cannot_delete_has_posts", username: user.username, post_count: user.posts.joins(:topic).count),
|
||||
message: I18n.t("user.cannot_delete_has_posts", username: user.username, count: user.posts.joins(:topic).count),
|
||||
}, status: 403
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2364,13 +2364,19 @@ en:
|
|||
delete: "Delete Topics"
|
||||
dismiss: "Dismiss"
|
||||
dismiss_read: "Dismiss all unread"
|
||||
dismiss_read_with_selected: "Dismiss %{count} unread"
|
||||
dismiss_read_with_selected:
|
||||
one: "Dismiss %{count} unread"
|
||||
other: "Dismiss %{count} unread"
|
||||
dismiss_button: "Dismiss…"
|
||||
dismiss_button_with_selected: "Dismiss (%{count})…"
|
||||
dismiss_button_with_selected:
|
||||
one: "Dismiss (%{count})…"
|
||||
other: "Dismiss (%{count})…"
|
||||
dismiss_tooltip: "Dismiss just new posts or stop tracking topics"
|
||||
also_dismiss_topics: "Stop tracking these topics so they never show up as unread for me again"
|
||||
dismiss_new: "Dismiss New"
|
||||
dismiss_new_with_selected: "Dismiss New (%{count})"
|
||||
dismiss_new_with_selected:
|
||||
one: "Dismiss New (%{count})"
|
||||
other: "Dismiss New (%{count})"
|
||||
toggle: "toggle bulk selection of topics"
|
||||
actions: "Bulk Actions"
|
||||
change_category: "Set Category"
|
||||
|
@ -2401,7 +2407,6 @@ en:
|
|||
new: "You have no new topics."
|
||||
read: "You haven't read any topics yet."
|
||||
posted: "You haven't posted in any topics yet."
|
||||
ready_to_create: "Ready to "
|
||||
latest: "You're all caught up!"
|
||||
bookmarks: "You have no bookmarked topics yet."
|
||||
category: "There are no %{category} topics."
|
||||
|
@ -2511,7 +2516,7 @@ en:
|
|||
browse_all_tags: Browse all tags
|
||||
|
||||
view_latest_topics: view latest topics
|
||||
suggest_create_topic: start a new conversation?
|
||||
suggest_create_topic: Ready to <a href>start a new conversation?</a>
|
||||
jump_reply_up: jump to earlier reply
|
||||
jump_reply_down: jump to later reply
|
||||
deleted: "The topic has been deleted"
|
||||
|
@ -3550,7 +3555,7 @@ en:
|
|||
show_incoming_updated_topics: "%{shortcut} Show updated topics"
|
||||
search: "%{shortcut} Search"
|
||||
help: "%{shortcut} Open keyboard help"
|
||||
dismiss_new_posts: "%{shortcut} Dismiss New/Posts"
|
||||
dismiss_new: "%{shortcut} Dismiss New"
|
||||
dismiss_topics: "%{shortcut} Dismiss Topics"
|
||||
log_out: "%{shortcut} Log Out"
|
||||
composing:
|
||||
|
@ -4790,7 +4795,7 @@ en:
|
|||
upload_successful: "Upload successful. Words have been added."
|
||||
test:
|
||||
button_label: "Test"
|
||||
modal_title: "Test %{action} Watched Words"
|
||||
modal_title: "%{action}: Test Watched Words"
|
||||
description: "Enter text below to check for matches with watched words"
|
||||
found_matches: "Found matches:"
|
||||
no_matches: "No matches found"
|
||||
|
|
|
@ -111,7 +111,7 @@ en:
|
|||
maximum_staged_user_per_email_reached: "Reached maximum number of staged users created per email."
|
||||
no_subject: "(no subject)"
|
||||
no_body: "(no body)"
|
||||
missing_attachment: "(Attachment %{filename} is missing) ago."
|
||||
missing_attachment: "(Attachment %{filename} is missing)"
|
||||
continuing_old_discussion:
|
||||
one: "Continuing the discussion from [%{title}](%{url}), because it was created more than %{count} day ago."
|
||||
other: "Continuing the discussion from [%{title}](%{url}), because it was created more than %{count} days ago."
|
||||
|
@ -279,9 +279,6 @@ en:
|
|||
not_enough_space_on_disk: "There is not enough space on disk to upload this backup."
|
||||
invalid_filename: "The backup filename contains invalid characters. Valid characters are a-z 0-9 . - _."
|
||||
file_exists: "The file you are trying to upload already exists."
|
||||
location:
|
||||
local: "Local"
|
||||
s3: "Amazon S3"
|
||||
|
||||
invalid_params: "You supplied invalid parameters to the request: %{message}"
|
||||
not_logged_in: "You need to be logged in to do that."
|
||||
|
@ -1973,7 +1970,7 @@ en:
|
|||
reviewable_claiming: "Does reviewable content need to be claimed before it can be acted upon?"
|
||||
reviewable_default_topics: "Show reviewable content grouped by topic by default"
|
||||
reviewable_default_visibility: "Don't show reviewable items unless they meet this priority"
|
||||
reviewable_low_priority_threshold: "The priority filter hides reviewable that doesn't meet this score unless the '(any)' filter is used."
|
||||
reviewable_low_priority_threshold: "The priority filter hides reviewable items that don't meet this score unless the '(any)' filter is used."
|
||||
high_trust_flaggers_auto_hide_posts: "New user posts are automatically hidden after being flagged as spam by a TL3+ user"
|
||||
cooldown_hours_until_reflag: "How much time users will have to wait until they are able to reflag a post"
|
||||
|
||||
|
@ -2597,7 +2594,9 @@ en:
|
|||
email_in_spam_header: "User's first email was flagged as spam"
|
||||
already_silenced: "User was already silenced by %{staff} %{time_ago}."
|
||||
already_suspended: "User was already suspended by %{staff} %{time_ago}."
|
||||
cannot_delete_has_posts: "User %{username} has %{post_count} posts(s), either public posts or personal messages, so they can't be deleted."
|
||||
cannot_delete_has_posts:
|
||||
one: "User %{username} has %{count} post in a public topic or personal message, so they can't be deleted."
|
||||
other: "User %{username} has %{count} posts in public topics or personal messages, so they can't be deleted."
|
||||
|
||||
reviewables_reminder:
|
||||
submitted:
|
||||
|
|
|
@ -635,7 +635,7 @@ RSpec.describe Admin::UsersController do
|
|||
expect(response.status).to eq(403)
|
||||
json = response.parsed_body
|
||||
expect(json['deleted']).to eq(false)
|
||||
expect(json['message']).to eq(I18n.t("user.cannot_delete_has_posts", username: delete_me.username, post_count: post_count))
|
||||
expect(json['message']).to eq(I18n.t("user.cannot_delete_has_posts", username: delete_me.username, count: post_count))
|
||||
end
|
||||
|
||||
it "doesn't return an error if delete_posts == true" do
|
||||
|
|
Loading…
Reference in New Issue