diff --git a/config/locales/backend/backend.cs.yml b/config/locales/backend/backend.cs.yml new file mode 100644 index 00000000..c8e964f7 --- /dev/null +++ b/config/locales/backend/backend.cs.yml @@ -0,0 +1,164 @@ +cs: + errors: + unknown: 'An unknown error occurred' + unauthorized: 'You are not authorized' + not_logged_in: 'You must be logged in to access this page' + not_enough_privileges: 'You do not have the privilegies to access this page' + user_blocked_or_deleted: 'You cannot access your account because it has been blocked or deleted.' + o_auth_login_error: 'There was an error logging in with %{name}. Please contact the site administrator or try a different provider.' + board: + update_order: 'There was an error in reordering boards' + post_status: + update_order: 'There was an error in reordering statuses' + defaults: + user_full_name: 'Anonymous User' + deleted_user_full_name: 'Deleted User' + mailers: + devise: + welcome_greeting: 'Welcome to %{site_name}, %{email}!' + opening_greeting: 'Hello %{email}!' + confirmation_instructions: + body: 'You can confirm your account email through the link below:' + action: 'Confirm my account' + email_changed: + body: "We're contacting you to notify you that your email is being changed to %{email}." + body2: "We're contacting you to notify you that your email has been changed to %{email}." + password_change: + body: "We're contacting you to notify you that your password has been changed." + reset_password: + body: 'Someone has requested a link to change your password. You can do this through the link below.' + body2: "If you didn't request this, please ignore this email." + body3: "Your password won't change until you access the link above and create a new one." + action: 'Change my password' + user: + opening_greeting: 'Hello %{name}!' + closing_greeting: 'Have a great day!' + learn_more: 'Click here to learn more' + unsubscribe_from_post_html: 'Annoyed? You can turn off notifications for this post %{href}' + unsubscribe_from_site_html: 'Annoyed? You can turn off all notifications %{href}' + unsubscribe_link: 'here' + notify_post_owner: + subject: '[%{site_name}] New comment on "%{post}"' + body_html: 'There is a new comment by %{user} on your post %{post}' + notify_comment_owner: + subject: '[%{site_name}] New reply on your comment on post "%{post}"' + body_html: 'There is a new reply by %{user} to your comment on post %{post}' + notify_follower_of_post_update: + subject: '[%{site_name}] New update for post "%{post}"' + body_html: 'There is a new update on the post you are following %{post}' + notify_follower_of_post_status_change: + subject: '[%{site_name}] Status change on post "%{post}"' + body_html: 'There is a status update on the post you are following %{post}' + activerecord: + models: + board: + one: 'Board' + few: 'Boards' + many: 'Boards' + other: 'Boards' + comment: + one: 'Comment' + few: 'Comments' + many: 'Comments' + other: 'Comments' + like: + one: 'Vote' + few: 'Votes' + many: 'Votes' + other: 'Votes' + o_auth: + one: 'OAuth' + few: 'OAuths' + many: 'OAuths' + other: 'OAuths' + post_status: + one: 'Status' + few: 'Statuses' + many: 'Statuses' + other: 'Statuses' + post: + one: 'Post' + few: 'Posts' + many: 'Posts' + other: 'Posts' + user: + one: 'User' + few: 'Users' + many: 'Users' + other: 'Users' + attributes: + board: + name: 'Name' + description: 'Description' + order: 'Order' + comment: + body: 'Body' + is_post_update: 'Post update' + user_id: 'Author' + post_id: 'Post' + parent_id: 'Parent comment' + follow: + user_id: 'User' + post_id: 'Post' + like: + user_id: 'User' + post_id: 'Post' + o_auth: + name: 'Name' + logo: 'Logo' + is_enabled: 'Enabled' + client_id: 'Client ID' + client_secret: 'Client secret' + authorize_url: 'Authorize URL' + token_url: 'Token URL' + profile_url: 'Profile URL' + scope: 'Scope' + json_user_name_path: 'JSON path to user name' + json_user_email_path: 'JSON path to user email' + post_status: + name: 'Name' + color: 'Color' + order: 'Order' + show_in_roadmap: 'Show in roadmap' + post: + title: 'Title' + description: 'Description' + approval_status: 'Approval status' + approval_status_approved: 'Approved' + approval_status_pending: 'Pending approval' + approval_status_rejected: 'Rejected' + board_id: 'Post board' + user_id: 'Post author' + post_status_id: 'Post status' + tenant: + site_name: 'Site name' + site_logo: 'Site logo' + subdomain: 'Subdomain' + locale: 'Language' + custom_domain: 'Custom domain' + tenant_setting: + brand_display: 'Display' + allow_anonymous_feedback: 'Allow anonymous feedback' + feedback_approval_policy: 'Feedback approval policy' + show_vote_count: 'Show vote count to users' + show_vote_button_in_board: 'Show vote buttons in board page' + show_powered_by: 'Show "Powered by Astuto"' + root_board_id: 'Root page' + show_roadmap_in_header: 'Show roadmap link in header' + collapse_boards_in_header: 'Collapse boards in header' + custom_css: 'Custom CSS' + user: + email: 'Email' + full_name: 'Full name' + password: 'Password' + password_confirmation: 'Password confirmation' + role: 'Role' + notifications_enabled: 'Notifications enabled' + errors: + messages: + invalid: 'is invalid' + required: 'is mandatory' + blank: 'cannot be blank' + taken: 'is already in use' + too_short: 'is too short (minimum %{count} characters)' + too_long: 'is too long (maximum %{count} characters)' diff --git a/config/locales/backend/backend.sr.yml b/config/locales/backend/backend.sr.yml new file mode 100644 index 00000000..fe2a5195 --- /dev/null +++ b/config/locales/backend/backend.sr.yml @@ -0,0 +1,157 @@ +sr: + errors: + unknown: 'An unknown error occurred' + unauthorized: 'You are not authorized' + not_logged_in: 'You must be logged in to access this page' + not_enough_privileges: 'You do not have the privilegies to access this page' + user_blocked_or_deleted: 'You cannot access your account because it has been blocked or deleted.' + o_auth_login_error: 'There was an error logging in with %{name}. Please contact the site administrator or try a different provider.' + board: + update_order: 'There was an error in reordering boards' + post_status: + update_order: 'There was an error in reordering statuses' + defaults: + user_full_name: 'Anonymous User' + deleted_user_full_name: 'Deleted User' + mailers: + devise: + welcome_greeting: 'Welcome to %{site_name}, %{email}!' + opening_greeting: 'Hello %{email}!' + confirmation_instructions: + body: 'You can confirm your account email through the link below:' + action: 'Confirm my account' + email_changed: + body: "We're contacting you to notify you that your email is being changed to %{email}." + body2: "We're contacting you to notify you that your email has been changed to %{email}." + password_change: + body: "We're contacting you to notify you that your password has been changed." + reset_password: + body: 'Someone has requested a link to change your password. You can do this through the link below.' + body2: "If you didn't request this, please ignore this email." + body3: "Your password won't change until you access the link above and create a new one." + action: 'Change my password' + user: + opening_greeting: 'Hello %{name}!' + closing_greeting: 'Have a great day!' + learn_more: 'Click here to learn more' + unsubscribe_from_post_html: 'Annoyed? You can turn off notifications for this post %{href}' + unsubscribe_from_site_html: 'Annoyed? You can turn off all notifications %{href}' + unsubscribe_link: 'here' + notify_post_owner: + subject: '[%{site_name}] New comment on "%{post}"' + body_html: 'There is a new comment by %{user} on your post %{post}' + notify_comment_owner: + subject: '[%{site_name}] New reply on your comment on post "%{post}"' + body_html: 'There is a new reply by %{user} to your comment on post %{post}' + notify_follower_of_post_update: + subject: '[%{site_name}] New update for post "%{post}"' + body_html: 'There is a new update on the post you are following %{post}' + notify_follower_of_post_status_change: + subject: '[%{site_name}] Status change on post "%{post}"' + body_html: 'There is a status update on the post you are following %{post}' + activerecord: + models: + board: + one: 'Board' + few: 'Boards' + other: 'Boards' + comment: + one: 'Comment' + few: 'Comments' + other: 'Comments' + like: + one: 'Vote' + few: 'Votes' + other: 'Votes' + o_auth: + one: 'OAuth' + few: 'OAuths' + other: 'OAuths' + post_status: + one: 'Status' + few: 'Statuses' + other: 'Statuses' + post: + one: 'Post' + few: 'Posts' + other: 'Posts' + user: + one: 'User' + few: 'Users' + other: 'Users' + attributes: + board: + name: 'Name' + description: 'Description' + order: 'Order' + comment: + body: 'Body' + is_post_update: 'Post update' + user_id: 'Author' + post_id: 'Post' + parent_id: 'Parent comment' + follow: + user_id: 'User' + post_id: 'Post' + like: + user_id: 'User' + post_id: 'Post' + o_auth: + name: 'Name' + logo: 'Logo' + is_enabled: 'Enabled' + client_id: 'Client ID' + client_secret: 'Client secret' + authorize_url: 'Authorize URL' + token_url: 'Token URL' + profile_url: 'Profile URL' + scope: 'Scope' + json_user_name_path: 'JSON path to user name' + json_user_email_path: 'JSON path to user email' + post_status: + name: 'Name' + color: 'Color' + order: 'Order' + show_in_roadmap: 'Show in roadmap' + post: + title: 'Title' + description: 'Description' + approval_status: 'Approval status' + approval_status_approved: 'Approved' + approval_status_pending: 'Pending approval' + approval_status_rejected: 'Rejected' + board_id: 'Post board' + user_id: 'Post author' + post_status_id: 'Post status' + tenant: + site_name: 'Site name' + site_logo: 'Site logo' + subdomain: 'Subdomain' + locale: 'Language' + custom_domain: 'Custom domain' + tenant_setting: + brand_display: 'Display' + allow_anonymous_feedback: 'Allow anonymous feedback' + feedback_approval_policy: 'Feedback approval policy' + show_vote_count: 'Show vote count to users' + show_vote_button_in_board: 'Show vote buttons in board page' + show_powered_by: 'Show "Powered by Astuto"' + root_board_id: 'Root page' + show_roadmap_in_header: 'Show roadmap link in header' + collapse_boards_in_header: 'Collapse boards in header' + custom_css: 'Custom CSS' + user: + email: 'Email' + full_name: 'Full name' + password: 'Password' + password_confirmation: 'Password confirmation' + role: 'Role' + notifications_enabled: 'Notifications enabled' + errors: + messages: + invalid: 'is invalid' + required: 'is mandatory' + blank: 'cannot be blank' + taken: 'is already in use' + too_short: 'is too short (minimum %{count} characters)' + too_long: 'is too long (maximum %{count} characters)' diff --git a/config/locales/cs.yml b/config/locales/cs.yml new file mode 100644 index 00000000..f6ef0224 --- /dev/null +++ b/config/locales/cs.yml @@ -0,0 +1,273 @@ +cs: + common: + words: + or: 'or' + errors: + unknown: 'An unknown error occurred, please try again' + validations: + required: '%{attribute} is required' + email: 'Invalid email' + url: 'Invalid URL' + password: 'Password must have at least %{n} characters' + password_mismatch: 'Password and password confirmation must match' + forms: + auth: + email: 'Email' + full_name: 'Full name' + password: 'Password' + password_confirmation: 'Password confirmation' + new_password: 'New password' + new_password_confirmation: 'New password confirmation' + current_password: 'Current password' + notifications_enabled: 'Notifications enabled' + notifications_enabled_help: "if disabled, you won't receive any notification" + waiting_confirmation: 'Currently waiting confirmation for %{email}' + no_password_set: 'You must set a password to update your profile' + set_password: 'Set password' + password_leave_blank_help: "leave blank if you don't want to change your password" + current_password_required_help: 'we need your current password to confirm your changes' + remember_me: 'Remember me' + log_in: 'Log in' + sign_up: 'Sign up' + log_in_with: 'Log in with %{o_auth}' + sign_up_with: 'Sign up with %{o_auth}' + profile_settings: 'Profile settings' + update_profile: 'Update profile' + cancel_account: 'Cancel account' + forgot_password: 'Forgot your password?' + confirmation_instructions_not_received: "Didn't receive confirmation instructions?" + unlock_instructions_not_received: "Didn't receive unlock instructions?" + send_reset_password_instructions: 'Send me reset password instructions' + resend_confirmation_instructions: 'Resend confirmation instructions' + resend_unlock_instructions: 'Resend unlock instructions' + change_password: 'Change password' + password_help: '%{count} characters minimum' + comments_number: + one: '1 comment' + few: '%{count} comments' + many: '%{count} comments' + other: '%{count} comments' + no_status: 'No status' + loading: 'Loading...' + confirmation: 'Are you sure?' + confirmation_board_delete: 'Warning: if there are feedback posts inside this board, then ALL these posts will be deleted as well. This action cannot be undone.' + unsaved_changes: 'Unsaved changes will be lost if you leave the page.' + edited: 'Edited' + enabled: 'Enabled' + disabled: 'Disabled' + copied: 'Copied!' + user_staff: 'Staff' + powered_by: 'Powered by' + buttons: + new: 'New' + edit: 'Edit' + delete: 'Delete' + cancel: 'Cancel' + create: 'Create' + update: 'Save' + confirm: 'Confirm' + back: 'Back' + test: 'Test' + clear: 'Clear' + approve: 'Approve' + reject: 'Reject' + datetime: + now: 'just now' + minutes: + one: '1 minute ago' + few: '%{count} minutes ago' + many: '%{count} minutes ago' + other: '%{count} minutes ago' + hours: + one: '1 hour ago' + few: '%{count} hours ago' + many: '%{count} hours ago' + other: '%{count} hours ago' + days: + one: '1 day ago' + few: '%{count} days ago' + many: '%{count} days ago' + other: '%{count} days ago' + months: + one: '1 month ago' + few: '%{count} months ago' + many: '%{count} months ago' + other: '%{count} months ago' + years: + one: '1 year ago' + few: '%{count} years ago' + many: '%{count} years ago' + other: '%{count} years ago' + header: + menu: + administration_header: 'Administration' + site_settings: 'Site settings' + moderation: 'Moderation' + profile_header: 'Profile' + profile_settings: 'Profile settings' + help_header: 'Help' + tour: 'Tour' + docs: 'Documentation' + support: 'Support' + sign_out: 'Sign out' + log_in: 'Log in / Sign up' + roadmap: + title: 'Roadmap' + billing: + title: 'Billing' + blocked_tenant: + title: 'This feedback space has been blocked' + board: + new_post: + submit_button: 'Submit feedback' + submit_anonymous_button: 'Submit anonymously' + cancel_button: 'Cancel' + login_button: 'Log in / Sign up' + title: 'Title' + description: 'Description (optional)' + no_title: 'Title field is mandatory' + anonymous_submission_help: 'You are posting anonymously' + non_anonymous_submission_help: 'You are posting as %{name}' + submit_success: 'Feedback published! You will be redirected soon...' + submit_pending: 'Your feedback has been submitted and is now pending moderator approval!' + search_box: + title: 'Search' + filter_box: + title: 'Filter by status' + sort_by_box: + title: 'Sort by' + trending: 'Trending' + newest: 'Newest' + most_voted: 'Most voted' + oldest: 'Oldest' + filter_by_date_box: + title: 'Filter by date' + from_label: 'From' + to_label: 'To' + posts_list: + empty: 'There are no posts' + post: + edit_button: 'Edit' + published_by: 'Published by' + published_anonymously: 'Published anonymously' + post_status_select: + no_post_status: 'None' + updates_box: + title: 'Updates' + empty: 'There are no updates yet' + status_change: 'changed status to' + likes_box: + title: 'Likes' + empty: 'There are no likes yet' + action_box: + title: 'Actions' + follow_button: 'Follow post' + following_description: "you're receiving notifications about new updates on this post" + not_following_description: "you won't receive notifications about this post" + comments: + title: 'Activity' + post_update_badge: 'Update' + reply_button: 'Reply' + new_comment: + body_placeholder: 'Leave a comment' + submit_button: 'Submit' + is_post_update: 'Mark as update' + user_notification: 'Users that follow this post will be notified' + not_logged_in: 'You need to log in to post comments' + site_settings: + menu: + title: 'Site settings' + general: 'General' + boards: 'Boards' + post_statuses: 'Statuses' + roadmap: 'Roadmap' + authentication: 'Authentication' + appearance: 'Appearance' + info_box: + up_to_date: 'All changes saved' + error: 'An error occurred: %{message}' + dirty: 'Changes not saved' + general: + title: 'General' + brand_setting_both: 'Both name and logo' + brand_setting_name: 'Name only' + brand_setting_logo: 'Logo only' + brand_setting_none: 'None' + subtitle_moderation: 'Moderation' + allow_anonymous_feedback_help: 'Unregistered users will be able to submit feedback.' + feedback_approval_policy_anonymous_require_approval: 'Require approval for anonymous feedback only' + feedback_approval_policy_never_require_approval: 'Never require approval' + feedback_approval_policy_always_require_approval: 'Always require approval' + feedback_approval_policy_help: 'If you require approval, submitted feedback will remain hidden from the public until a moderator or administrator approves it. Feedback submitted by moderators and administrators is always approved automatically.' + subtitle_header: 'Header' + collapse_boards_in_header_no_collapse: 'Never' + collapse_boards_in_header_always_collapse: 'Always' + subtitle_visibility: 'Visibility' + custom_domain_help: 'First, in your DNS settings, add a CNAME record pointing "%{domain}" to "cname.astuto.io". Then, click the "Save" button below.' + custom_domain_learn_more: 'Learn how to configure a custom domain' + show_vote_count_help: 'If you enable this setting, users will be able to see the vote count of posts. This may incentivize users to vote on already popular posts, leading to a snowball effect.' + show_vote_button_in_board_help: 'If you enable this setting, users will be able to vote posts from the board page. This may incentivize users to vote on more posts, leading to a higher number of votes but of lower significance.' + boards: + title: 'Boards' + empty: 'There are no boards. Create one below!' + new: 'New' + form: + name: 'Board name' + description: 'Board description (optional)' + post_statuses: + title: 'Statuses' + empty: 'There are no statuses. Create one below!' + new: 'New' + form: + name: 'Status name' + roadmap: + title: 'Roadmap' + title2: 'Not in roadmap' + empty: 'The roadmap is empty.' + help: 'You can add statuses to the roadmap by dragging them from the section below. If you instead want to create a new status or change their order, go to Site settings > Statuses.' + appearance: + title: 'Appearance' + learn_more: 'Learn how to customize appearance' + authentication: + title: 'Authentication' + learn_more: 'Learn how to configure custom OAuth providers' + oauth_subtitle: 'OAuth providers' + default_oauth: 'Default OAuth provider' + copy_url: 'Copy URL' + test_page: + title: '%{name} OAuth test results' + fetched_user_data: 'Fetched user data' + found: 'Found' + summary: 'Summary' + valid_configuration: 'This OAuth provider is configured correctly!' + warning_configuration: 'This OAuth provider is configured correctly, but a default name for users (%{name}) will be used.' + invalid_configuration: 'This OAuth provider is NOT configured correctly.' + form: + title_new: 'New OAuth provider' + title_edit: 'Edit OAuth provider' + subtitle_oauth_config: 'OAuth configuration' + subtitle_user_profile_config: 'User profile configuration' + client_secret_help: 'hidden for security purposes' + moderation: + menu: + feedback: 'Feedback' + users: 'Users' + feedback: + anonymous_feedback_allowed: 'Anonymous feedback allowed' + anonymous_feedback_not_allowed: 'Anonymous feedback not allowed' + change_feedback_moderation_settings: 'Change feedback moderation settings' + users: + title: 'Users' + block: 'Block' + unblock: 'Unblock' + block_confirmation: "%{name} won't be able to log in until it is unblocked. Are you sure?" + unblock_confirmation: "%{name} will be able to log in and submit feedback. Are you sure?" + role_to_moderator_confirmation: "%{name} will be able to manage posts and users. Proceed only if you trust this person. Are you sure?" + role_to_admin_confirmation: "%{name} will be able to manage boards, posts, statuses, users and more. Proceed only if you trust this person. Are you sure?" + role_user: 'User' + role_moderator: 'Moderator' + role_admin: 'Administrator' + role_owner: 'Owner' + status_active: 'Active' + status_blocked: 'Blocked' + status_deleted: 'Deleted' diff --git a/config/locales/de.yml b/config/locales/de.yml index 7ffe6d12..0b6f1d9b 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -80,6 +80,12 @@ de: days: one: 'vor 1 Tag' other: 'vor %{count} Tagen' + months: + one: 'Vor einem Monat' + other: 'Vor %{count} Monaten' + years: + one: 'Vor 1 Jahr' + other: 'Vor %{count} Jahren' header: menu: administration_header: 'Administration' diff --git a/config/locales/devise/devise.cs.yml b/config/locales/devise/devise.cs.yml new file mode 100644 index 00000000..02ff03a2 --- /dev/null +++ b/config/locales/devise/devise.cs.yml @@ -0,0 +1,65 @@ +cs: + devise: + confirmations: + confirmed: "Your email address has been successfully confirmed." + send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes." + send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes." + failure: + already_authenticated: "You are already signed in." + inactive: "Your account is not activated yet." + invalid: "Invalid %{authentication_keys} or password." + locked: "Your account is locked." + last_attempt: "You have one more attempt before your account is locked." + not_found_in_database: "Invalid %{authentication_keys} or password." + timeout: "Your session expired. Please sign in again to continue." + unauthenticated: "You need to sign in or sign up before continuing." + unconfirmed: "You have to confirm your email address before continuing." + mailer: + confirmation_instructions: + subject: "Confirmation instructions" + reset_password_instructions: + subject: "Reset password instructions" + unlock_instructions: + subject: "Unlock instructions" + email_changed: + subject: "Email Changed" + password_change: + subject: "Password Changed" + omniauth_callbacks: + failure: "Could not authenticate you from %{kind} because \"%{reason}\"." + success: "Successfully authenticated from %{kind} account." + passwords: + no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided." + send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes." + send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes." + updated: "Your password has been changed successfully. You are now signed in." + updated_not_active: "Your password has been changed successfully." + registrations: + destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon." + signed_up: "Welcome! You have signed up successfully." + signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated." + signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked." + signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account." + update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address." + updated: "Your account has been updated successfully." + updated_but_not_signed_in: "Your account has been updated successfully, but since your password was changed, you need to sign in again" + sessions: + signed_in: "Signed in successfully." + signed_out: "Signed out successfully." + already_signed_out: "Signed out successfully." + unlocks: + send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes." + send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes." + unlocked: "Your account has been unlocked successfully. Please sign in to continue." + errors: + messages: + already_confirmed: "was already confirmed, please try signing in" + confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one" + expired: "has expired, please request a new one" + not_found: "not found" + not_locked: "was not locked" + not_saved: + one: "1 error prohibited this %{resource} from being saved:" + few: "%{count} errors prohibited this %{resource} from being saved:" + many: "%{count} errors prohibited this %{resource} from being saved:" + other: "%{count} errors prohibited this %{resource} from being saved:" diff --git a/config/locales/devise/devise.sr.yml b/config/locales/devise/devise.sr.yml new file mode 100644 index 00000000..6bc1de28 --- /dev/null +++ b/config/locales/devise/devise.sr.yml @@ -0,0 +1,64 @@ +sr: + devise: + confirmations: + confirmed: "Your email address has been successfully confirmed." + send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes." + send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes." + failure: + already_authenticated: "You are already signed in." + inactive: "Your account is not activated yet." + invalid: "Invalid %{authentication_keys} or password." + locked: "Your account is locked." + last_attempt: "You have one more attempt before your account is locked." + not_found_in_database: "Invalid %{authentication_keys} or password." + timeout: "Your session expired. Please sign in again to continue." + unauthenticated: "You need to sign in or sign up before continuing." + unconfirmed: "You have to confirm your email address before continuing." + mailer: + confirmation_instructions: + subject: "Confirmation instructions" + reset_password_instructions: + subject: "Reset password instructions" + unlock_instructions: + subject: "Unlock instructions" + email_changed: + subject: "Email Changed" + password_change: + subject: "Password Changed" + omniauth_callbacks: + failure: "Could not authenticate you from %{kind} because \"%{reason}\"." + success: "Successfully authenticated from %{kind} account." + passwords: + no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided." + send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes." + send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes." + updated: "Your password has been changed successfully. You are now signed in." + updated_not_active: "Your password has been changed successfully." + registrations: + destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon." + signed_up: "Welcome! You have signed up successfully." + signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated." + signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked." + signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account." + update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address." + updated: "Your account has been updated successfully." + updated_but_not_signed_in: "Your account has been updated successfully, but since your password was changed, you need to sign in again" + sessions: + signed_in: "Signed in successfully." + signed_out: "Signed out successfully." + already_signed_out: "Signed out successfully." + unlocks: + send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes." + send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes." + unlocked: "Your account has been unlocked successfully. Please sign in to continue." + errors: + messages: + already_confirmed: "was already confirmed, please try signing in" + confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one" + expired: "has expired, please request a new one" + not_found: "not found" + not_locked: "was not locked" + not_saved: + one: "1 error prohibited this %{resource} from being saved:" + few: "%{count} errors prohibited this %{resource} from being saved:" + other: "%{count} errors prohibited this %{resource} from being saved:" diff --git a/config/locales/el.yml b/config/locales/el.yml index 38548f8b..a092543b 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -80,6 +80,12 @@ el: days: one: '1 day ago' other: '%{count} days ago' + months: + one: '1 month ago' + other: '%{count} months ago' + years: + one: '1 year ago' + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/es.yml b/config/locales/es.yml index d7af7b60..1dbb7242 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -80,6 +80,12 @@ es: days: one: 'Hace 1 día' other: 'hace %{count} días' + months: + one: '1 month ago' + other: '%{count} months ago' + years: + one: '1 year ago' + other: '%{count} years ago' header: menu: administration_header: 'Administración' diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 581dd2ec..82be47d2 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -80,6 +80,12 @@ fr: days: one: 'Il y a 1 jour' other: 'il y a %{count} jours' + months: + one: 'Il y a 1 mois' + other: 'Il y a %{count} mois' + years: + one: 'Il y a 1 an' + other: 'Il y a %{count} ans' header: menu: administration_header: 'Administration' diff --git a/config/locales/hi.yml b/config/locales/hi.yml index 63607169..496e3a97 100644 --- a/config/locales/hi.yml +++ b/config/locales/hi.yml @@ -80,6 +80,12 @@ hi: days: one: '1 day ago' other: '%{count} days ago' + months: + one: '1 month ago' + other: '%{count} months ago' + years: + one: '1 year ago' + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/it.yml b/config/locales/it.yml index 65c253a1..d529daaa 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -80,6 +80,12 @@ it: days: one: '1 giorno fa' other: '%{count} giorni fa' + months: + one: '1 mese fa' + other: '%{count} mesi fa' + years: + one: '1 anno fa' + other: '%{count} anni fa' header: menu: administration_header: 'Amministrazione' diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 9ee31081..3a37f1de 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -76,6 +76,10 @@ ja: other: '%{count} hours ago' days: other: '%{count} days ago' + months: + other: '%{count} months ago' + years: + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/ko.yml b/config/locales/ko.yml index c2d42a9b..bfcc8f08 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -76,6 +76,10 @@ ko: other: '%{count} hours ago' days: other: '%{count} days ago' + months: + other: '%{count} months ago' + years: + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 4da2d0d6..4a2e9061 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -80,6 +80,12 @@ nl: days: one: '1 day ago' other: '%{count} days ago' + months: + one: '1 month ago' + other: '%{count} months ago' + years: + one: '1 year ago' + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 102caace..8473a592 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -88,6 +88,16 @@ pl: few: '%{count} days ago' many: '%{count} days ago' other: '%{count} days ago' + months: + one: '1 month ago' + few: '%{count} months ago' + many: '%{count} months ago' + other: '%{count} months ago' + years: + one: '1 year ago' + few: '%{count} years ago' + many: '%{count} years ago' + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 4baced17..10eba621 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -80,6 +80,12 @@ pt: days: one: '1 dia atrás' other: '%{count} dias atrás' + months: + one: '1 month ago' + other: '%{count} months ago' + years: + one: '1 year ago' + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 799d79ac..0b13f3b6 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -88,6 +88,16 @@ ru: few: '%{count} д. назад' many: '%{count} д. назад' other: '%{count} д. назад' + months: + one: '1 month ago' + few: '%{count} months ago' + many: '%{count} months ago' + other: '%{count} months ago' + years: + one: '1 year ago' + few: '%{count} years ago' + many: '%{count} years ago' + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/sr.yml b/config/locales/sr.yml new file mode 100644 index 00000000..c2d27012 --- /dev/null +++ b/config/locales/sr.yml @@ -0,0 +1,267 @@ +sr: + common: + words: + or: 'or' + errors: + unknown: 'An unknown error occurred, please try again' + validations: + required: '%{attribute} is required' + email: 'Invalid email' + url: 'Invalid URL' + password: 'Password must have at least %{n} characters' + password_mismatch: 'Password and password confirmation must match' + forms: + auth: + email: 'Email' + full_name: 'Full name' + password: 'Password' + password_confirmation: 'Password confirmation' + new_password: 'New password' + new_password_confirmation: 'New password confirmation' + current_password: 'Current password' + notifications_enabled: 'Notifications enabled' + notifications_enabled_help: "if disabled, you won't receive any notification" + waiting_confirmation: 'Currently waiting confirmation for %{email}' + no_password_set: 'You must set a password to update your profile' + set_password: 'Set password' + password_leave_blank_help: "leave blank if you don't want to change your password" + current_password_required_help: 'we need your current password to confirm your changes' + remember_me: 'Remember me' + log_in: 'Log in' + sign_up: 'Sign up' + log_in_with: 'Log in with %{o_auth}' + sign_up_with: 'Sign up with %{o_auth}' + profile_settings: 'Profile settings' + update_profile: 'Update profile' + cancel_account: 'Cancel account' + forgot_password: 'Forgot your password?' + confirmation_instructions_not_received: "Didn't receive confirmation instructions?" + unlock_instructions_not_received: "Didn't receive unlock instructions?" + send_reset_password_instructions: 'Send me reset password instructions' + resend_confirmation_instructions: 'Resend confirmation instructions' + resend_unlock_instructions: 'Resend unlock instructions' + change_password: 'Change password' + password_help: '%{count} characters minimum' + comments_number: + one: '1 comment' + few: '%{count} comments' + other: '%{count} comments' + no_status: 'No status' + loading: 'Loading...' + confirmation: 'Are you sure?' + confirmation_board_delete: 'Warning: if there are feedback posts inside this board, then ALL these posts will be deleted as well. This action cannot be undone.' + unsaved_changes: 'Unsaved changes will be lost if you leave the page.' + edited: 'Edited' + enabled: 'Enabled' + disabled: 'Disabled' + copied: 'Copied!' + user_staff: 'Staff' + powered_by: 'Powered by' + buttons: + new: 'New' + edit: 'Edit' + delete: 'Delete' + cancel: 'Cancel' + create: 'Create' + update: 'Save' + confirm: 'Confirm' + back: 'Back' + test: 'Test' + clear: 'Clear' + approve: 'Approve' + reject: 'Reject' + datetime: + now: 'just now' + minutes: + one: '1 minute ago' + few: '%{count} minutes ago' + other: '%{count} minutes ago' + hours: + one: '1 hour ago' + few: '%{count} hours ago' + other: '%{count} hours ago' + days: + one: '1 day ago' + few: '%{count} days ago' + other: '%{count} days ago' + months: + one: '1 month ago' + few: '%{count} months ago' + other: '%{count} months ago' + years: + one: '1 year ago' + few: '%{count} years ago' + other: '%{count} years ago' + header: + menu: + administration_header: 'Administration' + site_settings: 'Site settings' + moderation: 'Moderation' + profile_header: 'Profile' + profile_settings: 'Profile settings' + help_header: 'Help' + tour: 'Tour' + docs: 'Documentation' + support: 'Support' + sign_out: 'Sign out' + log_in: 'Log in / Sign up' + roadmap: + title: 'Roadmap' + billing: + title: 'Billing' + blocked_tenant: + title: 'This feedback space has been blocked' + board: + new_post: + submit_button: 'Submit feedback' + submit_anonymous_button: 'Submit anonymously' + cancel_button: 'Cancel' + login_button: 'Log in / Sign up' + title: 'Title' + description: 'Description (optional)' + no_title: 'Title field is mandatory' + anonymous_submission_help: 'You are posting anonymously' + non_anonymous_submission_help: 'You are posting as %{name}' + submit_success: 'Feedback published! You will be redirected soon...' + submit_pending: 'Your feedback has been submitted and is now pending moderator approval!' + search_box: + title: 'Search' + filter_box: + title: 'Filter by status' + sort_by_box: + title: 'Sort by' + trending: 'Trending' + newest: 'Newest' + most_voted: 'Most voted' + oldest: 'Oldest' + filter_by_date_box: + title: 'Filter by date' + from_label: 'From' + to_label: 'To' + posts_list: + empty: 'There are no posts' + post: + edit_button: 'Edit' + published_by: 'Published by' + published_anonymously: 'Published anonymously' + post_status_select: + no_post_status: 'None' + updates_box: + title: 'Updates' + empty: 'There are no updates yet' + status_change: 'changed status to' + likes_box: + title: 'Likes' + empty: 'There are no likes yet' + action_box: + title: 'Actions' + follow_button: 'Follow post' + following_description: "you're receiving notifications about new updates on this post" + not_following_description: "you won't receive notifications about this post" + comments: + title: 'Activity' + post_update_badge: 'Update' + reply_button: 'Reply' + new_comment: + body_placeholder: 'Leave a comment' + submit_button: 'Submit' + is_post_update: 'Mark as update' + user_notification: 'Users that follow this post will be notified' + not_logged_in: 'You need to log in to post comments' + site_settings: + menu: + title: 'Site settings' + general: 'General' + boards: 'Boards' + post_statuses: 'Statuses' + roadmap: 'Roadmap' + authentication: 'Authentication' + appearance: 'Appearance' + info_box: + up_to_date: 'All changes saved' + error: 'An error occurred: %{message}' + dirty: 'Changes not saved' + general: + title: 'General' + brand_setting_both: 'Both name and logo' + brand_setting_name: 'Name only' + brand_setting_logo: 'Logo only' + brand_setting_none: 'None' + subtitle_moderation: 'Moderation' + allow_anonymous_feedback_help: 'Unregistered users will be able to submit feedback.' + feedback_approval_policy_anonymous_require_approval: 'Require approval for anonymous feedback only' + feedback_approval_policy_never_require_approval: 'Never require approval' + feedback_approval_policy_always_require_approval: 'Always require approval' + feedback_approval_policy_help: 'If you require approval, submitted feedback will remain hidden from the public until a moderator or administrator approves it. Feedback submitted by moderators and administrators is always approved automatically.' + subtitle_header: 'Header' + collapse_boards_in_header_no_collapse: 'Never' + collapse_boards_in_header_always_collapse: 'Always' + subtitle_visibility: 'Visibility' + custom_domain_help: 'First, in your DNS settings, add a CNAME record pointing "%{domain}" to "cname.astuto.io". Then, click the "Save" button below.' + custom_domain_learn_more: 'Learn how to configure a custom domain' + show_vote_count_help: 'If you enable this setting, users will be able to see the vote count of posts. This may incentivize users to vote on already popular posts, leading to a snowball effect.' + show_vote_button_in_board_help: 'If you enable this setting, users will be able to vote posts from the board page. This may incentivize users to vote on more posts, leading to a higher number of votes but of lower significance.' + boards: + title: 'Boards' + empty: 'There are no boards. Create one below!' + new: 'New' + form: + name: 'Board name' + description: 'Board description (optional)' + post_statuses: + title: 'Statuses' + empty: 'There are no statuses. Create one below!' + new: 'New' + form: + name: 'Status name' + roadmap: + title: 'Roadmap' + title2: 'Not in roadmap' + empty: 'The roadmap is empty.' + help: 'You can add statuses to the roadmap by dragging them from the section below. If you instead want to create a new status or change their order, go to Site settings > Statuses.' + appearance: + title: 'Appearance' + learn_more: 'Learn how to customize appearance' + authentication: + title: 'Authentication' + learn_more: 'Learn how to configure custom OAuth providers' + oauth_subtitle: 'OAuth providers' + default_oauth: 'Default OAuth provider' + copy_url: 'Copy URL' + test_page: + title: '%{name} OAuth test results' + fetched_user_data: 'Fetched user data' + found: 'Found' + summary: 'Summary' + valid_configuration: 'This OAuth provider is configured correctly!' + warning_configuration: 'This OAuth provider is configured correctly, but a default name for users (%{name}) will be used.' + invalid_configuration: 'This OAuth provider is NOT configured correctly.' + form: + title_new: 'New OAuth provider' + title_edit: 'Edit OAuth provider' + subtitle_oauth_config: 'OAuth configuration' + subtitle_user_profile_config: 'User profile configuration' + client_secret_help: 'hidden for security purposes' + moderation: + menu: + feedback: 'Feedback' + users: 'Users' + feedback: + anonymous_feedback_allowed: 'Anonymous feedback allowed' + anonymous_feedback_not_allowed: 'Anonymous feedback not allowed' + change_feedback_moderation_settings: 'Change feedback moderation settings' + users: + title: 'Users' + block: 'Block' + unblock: 'Unblock' + block_confirmation: "%{name} won't be able to log in until it is unblocked. Are you sure?" + unblock_confirmation: "%{name} will be able to log in and submit feedback. Are you sure?" + role_to_moderator_confirmation: "%{name} will be able to manage posts and users. Proceed only if you trust this person. Are you sure?" + role_to_admin_confirmation: "%{name} will be able to manage boards, posts, statuses, users and more. Proceed only if you trust this person. Are you sure?" + role_user: 'User' + role_moderator: 'Moderator' + role_admin: 'Administrator' + role_owner: 'Owner' + status_active: 'Active' + status_blocked: 'Blocked' + status_deleted: 'Deleted' diff --git a/config/locales/sv.yml b/config/locales/sv.yml index ba26a062..dcde5fef 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -80,14 +80,20 @@ sv: days: one: '1 dag sedan' other: '%{count} dagar sedan' + months: + one: '1 månad sedan' + other: '%{count} månader sedan' + years: + one: '1 år sedan' + other: '%{count} år sedan' header: menu: administration_header: 'Administration' site_settings: 'Site settings' moderation: 'Moderation' - profile_header: 'Profile' + profile_header: 'Profil' profile_settings: 'Profilinställningar' - help_header: 'Help' + help_header: 'Hjälp' tour: 'Tour' docs: 'Documentation' support: 'Support' diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 64cdc87d..1619b9c3 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -80,6 +80,12 @@ tr: days: one: '1 day ago' other: '%{count} days ago' + months: + one: '1 month ago' + other: '%{count} months ago' + years: + one: '1 year ago' + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 1b0afd56..3ad1f9d6 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -76,6 +76,10 @@ vi: other: '%{count} giờ trước' days: other: '%{count} ngày trước' + months: + other: '%{count} months ago' + years: + other: '%{count} years ago' header: menu: administration_header: 'Administration' diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 2b223cd6..d4444f99 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -76,6 +76,10 @@ zh-CN: other: '%{count} 小时前' days: other: '%{count} 天前' + months: + other: '%{count} months ago' + years: + other: '%{count} years ago' header: menu: administration_header: 'Administration'