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'