Fix a few more strings and translations.

This commit is contained in:
gaba
2017-05-15 07:11:11 -07:00
parent 3b80ee8b13
commit 633086cfa3
36 changed files with 664 additions and 204 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ export const handleLogin = (email, password, recaptchaResponse) => dispatch => {
})
.catch(error => {
if (error.translation_key === 'LOGIN_MAXIMUM_EXCEEDED') {
if (error.translation_key === 'login_maximum_exceeded') {
dispatch({type: actions.LOGIN_MAXIMUM_EXCEEDED, message: error.translation_key});
} else {
dispatch({type: actions.LOGIN_FAILURE, message: error.translation_key});
@@ -73,7 +73,7 @@ class CountdownTimer extends React.Component {
className={styles.autoUpdate}
onClick={this.dismissNote}>
<b>×</b>
<Icon name='timer' /> <strong>{lang.t('dashboard.next-update', this.formatTime())}</strong> {lang.t('dashboard.auto-update')}
<Icon name='timer' /> <strong>{lang.t('dashboard.next_update', this.formatTime())}</strong> {lang.t('dashboard.auto_update')}
</p>
);
}
@@ -55,7 +55,7 @@ const CoralHeader = ({handleLogout, showShortcuts = () => {}, restricted = false
<IconButton name="settings" id="menu-settings"/>
<Menu target="menu-settings" align="right">
<MenuItem onClick={() => showShortcuts(true)}>{lang.t('configure.shortcuts')}</MenuItem>
<MenuItem onClick={handleLogout}>{lang.t('configure.sign-out')}</MenuItem>
<MenuItem onClick={handleLogout}>{lang.t('configure.sign_out')}</MenuItem>
</Menu>
</div>
</li>
@@ -104,11 +104,11 @@ class Configure extends Component {
getPageTitle (section) {
switch(section) {
case 'stream':
return lang.t('configure.stream-settings');
return lang.t('configure.stream_settings');
case 'moderation':
return lang.t('configure.moderation-settings');
return lang.t('configure.moderation_settings');
case 'tech':
return lang.t('configure.tech-settings');
return lang.t('configure.tech_settings');
default:
return '';
}
@@ -126,13 +126,13 @@ class Configure extends Component {
<div className={styles.leftColumn}>
<List onChange={this.changeSection} activeItem={activeSection}>
<Item itemId='stream' icon='speaker_notes'>
{lang.t('configure.stream-settings')}
{lang.t('configure.stream_settings')}
</Item>
<Item itemId='moderation' icon='thumbs_up_down'>
{lang.t('configure.moderation-settings')}
{lang.t('configure.moderation_settings')}
</Item>
<Item itemId='tech' icon='code'>
{lang.t('configure.tech-settings')}
{lang.t('configure.tech_settings')}
</Item>
</List>
<div className={styles.saveBox}>
@@ -145,7 +145,7 @@ class Configure extends Component {
icon='check'
full
>
{lang.t('configure.save-changes')}
{lang.t('configure.save_changes')}
</Button>
:
<Button
@@ -154,7 +154,7 @@ class Configure extends Component {
icon='check'
full
>
{lang.t('configure.save-changes')}
{lang.t('configure.save_changes')}
</Button>
}
</div>
@@ -10,8 +10,8 @@ const Domainlist = ({domains, onChangeDomainlist}) => {
return (
<Card id={styles.domainlist} className={styles.configSetting}>
<div className={styles.wrapper}>
<div className={styles.settingsHeader}>{lang.t('configure.domain-list-title')}</div>
<p className={styles.domainlistDesc}>{lang.t('configure.domain-list-text')}</p>
<div className={styles.settingsHeader}>{lang.t('configure.domain_list_title')}</div>
<p className={styles.domainlistDesc}>{lang.t('configure.domain_list_text')}</p>
<div className={styles.wrapper}>
<TagsInput
value={domains}
@@ -47,7 +47,7 @@ class EmbedLink extends Component {
<Card shadow="2" className={styles.configSetting}>
<div className={styles.wrapper}>
<div className={styles.settingsHeader}>Embed Comment Stream</div>
<p>{lang.t('configure.copy-and-paste')}</p>
<p>{lang.t('configure.copy_and_paste')}</p>
<textarea rows={5} type='text' className={styles.embedInput} value={embedText} readOnly={true}/>
<div className={styles.actions}>
<Button raised className={styles.copyButton} onClick={this.copyToClipBoard} cStyle="black">
@@ -36,9 +36,9 @@ const ModerationSettings = ({settings, updateSettings, onChangeWordlist}) => {
checked={settings.requireEmailConfirmation} />
</div>
<div className={styles.content}>
<div className={styles.settingsHeader}>{lang.t('configure.require-email-verification')}</div>
<div className={styles.settingsHeader}>{lang.t('configure.require_email_verification')}</div>
<p className={settings.requireEmailConfirmation ? '' : styles.disabledSettingText}>
{lang.t('configure.require-email-verification-text')}
{lang.t('configure.require_email_verification_text')}
</p>
</div>
</Card>
@@ -49,9 +49,9 @@ const ModerationSettings = ({settings, updateSettings, onChangeWordlist}) => {
checked={settings.moderation === 'PRE'} />
</div>
<div className={styles.content}>
<div className={styles.settingsHeader}>{lang.t('configure.enable-pre-moderation')}</div>
<div className={styles.settingsHeader}>{lang.t('configure.enable_pre_moderation')}</div>
<p className={settings.moderation === 'PRE' ? '' : styles.disabledSettingText}>
{lang.t('configure.enable-pre-moderation-text')}
{lang.t('configure.enable_pre_moderation_text')}
</p>
</div>
</Card>
@@ -62,9 +62,9 @@ const ModerationSettings = ({settings, updateSettings, onChangeWordlist}) => {
checked={settings.premodLinksEnable} />
</div>
<div className={styles.content}>
<div className={styles.settingsHeader}>{lang.t('configure.enable-premod-links')}</div>
<div className={styles.settingsHeader}>{lang.t('configure.enable_premod_links')}</div>
<p>
{lang.t('configure.enable-premod-links-text')}
{lang.t('configure.enable_premod_links_text')}
</p>
</div>
</Card>
@@ -77,9 +77,9 @@ const StreamSettings = ({updateSettings, settingsError, settings, errors}) => {
checked={settings.charCountEnable} />
</div>
<div className={styles.content}>
<div className={styles.settingsHeader}>{lang.t('configure.comment-count-header')}</div>
<div className={styles.settingsHeader}>{lang.t('configure.comment_count_header')}</div>
<p className={settings.charCountEnable ? '' : styles.disabledSettingText}>
<span>{lang.t('configure.comment-count-text-pre')}</span>
<span>{lang.t('configure.comment_count_text_pre')}</span>
<input type='text'
className={`${styles.charCountTexfield} ${settings.charCountEnable && styles.charCountTexfieldEnabled}`}
htmlFor='charCount'
@@ -87,13 +87,13 @@ const StreamSettings = ({updateSettings, settingsError, settings, errors}) => {
value={settings.charCount}
disabled={settings.charCountEnable ? '' : 'disabled'}
/>
<span>{lang.t('configure.comment-count-text-post')}</span>
<span>{lang.t('configure.comment_count_text_post')}</span>
{
errors.charCount &&
<span className={styles.settingsError}>
<br/>
<Icon name="error_outline"/>
{lang.t('configure.comment-count-error')}
{lang.t('configure.comment_count_error')}
</span>
}
</p>
@@ -107,10 +107,10 @@ const StreamSettings = ({updateSettings, settingsError, settings, errors}) => {
</div>
<div className={styles.content}>
<div className={styles.settingsHeader}>
{lang.t('configure.include-comment-stream')}
{lang.t('configure.include_comment_stream')}
</div>
<p className={settings.infoBoxEnable ? '' : styles.disabledSettingText}>
{lang.t('configure.include-comment-stream-desc')}
{lang.t('configure.include_comment_stream_desc')}
</p>
<div className={`${styles.configSettingInfoBox} ${settings.infoBoxEnable ? null : styles.hidden}`} >
<MarkdownEditor
@@ -123,8 +123,8 @@ const StreamSettings = ({updateSettings, settingsError, settings, errors}) => {
</Card>
<Card className={`${styles.configSetting} ${styles.configSettingInfoBox}`}>
<div className={styles.wrapper}>
<div className={styles.settingsHeader}>{lang.t('configure.closed-stream-settings')}</div>
<p>{lang.t('configure.closed-comments-desc')}</p>
<div className={styles.settingsHeader}>{lang.t('configure.closed_stream_settings')}</div>
<p>{lang.t('configure.closed_comments_desc')}</p>
<div>
<TextArea className={styles.descriptionBox}
onChange={updateClosedMessage(updateSettings)}
@@ -140,7 +140,7 @@ const StreamSettings = ({updateSettings, settingsError, settings, errors}) => {
checked={settings.autoCloseStream} />
</div>
<div className={styles.content}>
{lang.t('configure.close-after')}
{lang.t('configure.close_after')}
<br />
<Textfield
type='number'
@@ -148,7 +148,7 @@ const StreamSettings = ({updateSettings, settingsError, settings, errors}) => {
style={{width: 50}}
onChange={updateClosedTimeout(updateSettings, settings.closedTimeout)}
value={getTimeoutAmount(settings.closedTimeout)}
label={lang.t('configure.closed-comments-label')} />
label={lang.t('configure.closed_comments_label')} />
<div className={styles.configTimeoutSelect}>
<SelectField
label="comments closed time window"
@@ -21,8 +21,8 @@ const TechSettings = ({settings, onChangeDomainlist, updateSettings}) => {
<EmbedLink />
<Card className={styles.configSetting}>
<div className={styles.wrapper}>
<div className={styles.settingsHeader}>{lang.t('configure.custom-css-url')}</div>
<p>{lang.t('configure.custom-css-url-desc')}</p>
<div className={styles.settingsHeader}>{lang.t('configure.custom_css_url')}</div>
<p>{lang.t('configure.custom_css_url_desc')}</p>
<input
className={styles.customCSSInput}
value={settings.customCssUrl}
@@ -8,8 +8,8 @@ import {Card} from 'coral-ui';
const Wordlist = ({suspectWords, bannedWords, onChangeWordlist}) => (
<div>
<Card id={styles.bannedWordlist} className={styles.configSetting}>
<div className={styles.settingsHeader}>{lang.t('configure.banned-words-title')}</div>
<p className={styles.wordlistDesc}>{lang.t('configure.banned-word-text')}</p>
<div className={styles.settingsHeader}>{lang.t('configure.banned_words_title')}</div>
<p className={styles.wordlistDesc}>{lang.t('configure.banned_word_text')}</p>
<div className={styles.wrapper}>
<TagsInput
value={bannedWords}
@@ -21,8 +21,8 @@ const Wordlist = ({suspectWords, bannedWords, onChangeWordlist}) => (
</div>
</Card>
<Card id={styles.suspectWordlist} className={styles.configSetting}>
<div className={styles.settingsHeader}>{lang.t('configure.suspect-words-title')}</div>
<p className={styles.wordlistDesc}>{lang.t('configure.suspect-word-text')}</p>
<div className={styles.settingsHeader}>{lang.t('configure.suspect_words_title')}</div>
<p className={styles.wordlistDesc}>{lang.t('configure.suspect_word_text')}</p>
<div className={styles.wrapper}>
<TagsInput
value={suspectWords}
@@ -50,7 +50,7 @@ const InitialStep = props => {
label={lang.t('CREATE.CONFIRM_PASSWORD')}
onChange={handleUserChange}
showErrors={install.showErrors}
errorMsg={install.errors.confirmPassword}
errorMsg={install.errors.confirm_password}
/>
{
@@ -135,7 +135,7 @@ class Stories extends Component {
<Radio value='open'>{lang.t('streams.open')}</Radio>
<Radio value='closed'>{lang.t('streams.closed')}</Radio>
</RadioGroup>
<div className={styles.optionHeader}>{lang.t('streams.sort-by')}</div>
<div className={styles.optionHeader}>{lang.t('streams.sort_by')}</div>
<RadioGroup
name='sort by'
value={sort}
@@ -131,7 +131,7 @@ class Stories extends Component {
<Radio value='open'>{lang.t('streams.open')}</Radio>
<Radio value='closed'>{lang.t('streams.closed')}</Radio>
</RadioGroup>
<div className={styles.optionHeader}>{lang.t('streams.sort-by')}</div>
<div className={styles.optionHeader}>{lang.t('streams.sort_by')}</div>
<RadioGroup
name='sort by'
value={sort}
@@ -8,16 +8,16 @@ export default ({status, onClick}) => (
status === 'open' ? (
<div className="close-comments-intro-wrapper">
<p>
{lang.t('configure.open-stream-configuration')}
{lang.t('configure.open_stream_configuration')}
</p>
<Button onClick={onClick}>{lang.t('configure.close-stream')}</Button>
<Button onClick={onClick}>{lang.t('configure.close_stream')}</Button>
</div>
) : (
<div className="close-comments-intro-wrapper">
<p>
{lang.t('configure.close-stream-configuration')}
{lang.t('configure.close_stream_configuration')}
</p>
<Button onClick={onClick}>{lang.t('configure.open-stream')}</Button>
<Button onClick={onClick}>{lang.t('configure.open_stream')}</Button>
</div>
)
);
@@ -29,8 +29,8 @@ export default ({handleChange, handleApply, changed, ...props}) => (
onChange={handleChange}
defaultChecked={props.premod}
info={{
title: lang.t('configure.enablePremod'),
description: lang.t('configure.enablePremodDescription')
title: lang.t('configure.enable_premod'),
description: lang.t('configure.enable_premod_description')
}} />
</li>
<li>
@@ -41,8 +41,8 @@ export default ({handleChange, handleApply, changed, ...props}) => (
onChange={handleChange}
defaultChecked={props.premodLinksEnable}
info={{
title: lang.t('configure.enablePremodLinks'),
description: lang.t('configure.enablePremodLinksDescription')
title: lang.t('configure.enable_premod_links'),
description: lang.t('configure.enable_premod_links_description')
}} />
</li>
<li>
@@ -53,8 +53,8 @@ export default ({handleChange, handleApply, changed, ...props}) => (
onChange={handleChange}
defaultChecked={props.questionBoxEnable}
info={{
title: lang.t('configure.enableQuestionBox'),
description: lang.t('configure.enableQuestionBoxDescription')
title: lang.t('configure.enable_questionbox'),
description: lang.t('configure.enable_questionbox_description')
}} />
<div className={`${props.questionBoxEnable ? null : styles.hidden}`} >
<TextField
@@ -62,7 +62,7 @@ export default ({handleChange, handleApply, changed, ...props}) => (
onChange={handleChange}
rows={3}
value={props.questionBoxContent}
label={lang.t('configure.includeQuestionHere')}
label={lang.t('configure.include_question_here')}
/>
</div>
</li>
@@ -57,7 +57,7 @@ export default class Embed extends React.Component {
style={{float: 'right'}}
onClick={viewAllComments}
>
{lang.t('showAllComments')}
{lang.t('framework.show_all_comments')}
</Button>
}
<TabContent show={activeTab === 'stream'}>
@@ -13,7 +13,7 @@ const IgnoredCommentTombstone = () => (
padding: '1em',
color: '#3E4F71',
}}>
{lang.t('commentIsIgnored')}
{lang.t('framework.comment_is_ignored')}
</p>
</div>
);
@@ -31,13 +31,13 @@ class LoadMore extends React.Component {
replyCountFormat = (count) => {
if (count === 1) {
return lang.t('viewReply');
return lang.t('framework.view_reply');
}
if (this.initialState) {
return lang.t('viewAllRepliesInitial', count);
return lang.t('framework.view_all_repliesInitial', count);
} else {
return lang.t('viewAllReplies', count);
return lang.t('framework.view_all_replies', count);
}
}
@@ -50,7 +50,7 @@ class LoadMore extends React.Component {
this.initialState = false;
loadMoreComments(assetId, comments, loadMore, parentId, replyCount);
}}>
{topLevel ? lang.t('viewMoreComments') : this.replyCountFormat(replyCount)}
{topLevel ? lang.t('framework.view_more_comments') : this.replyCountFormat(replyCount)}
</Button>
</div>
: null;
@@ -22,8 +22,8 @@ const NewCount = (props) => {
props.commentCountCache && newComments > 0 ?
<button onClick={onLoadMoreClick(props)}>
{newComments === 1
? lang.t('newCount', newComments, lang.t('comment'))
: lang.t('newCount', newComments, lang.t('comments'))}
? lang.t('framework.new_count', newComments, lang.t('comment'))
: lang.t('framework.new_count', newComments, lang.t('comments'))}
</button>
: null
}
+2 -2
View File
@@ -18,7 +18,7 @@ export const updateConfiguration = newConfig => (dispatch, getState) => {
dispatch(updateAssetSettingsRequest());
coralApi(`/assets/${assetId}/settings`, {method: 'PUT', body: newConfig})
.then(() => {
dispatch(addNotification('success', lang.t('successUpdateSettings')));
dispatch(addNotification('success', lang.t('framework.success_update_settings')));
dispatch(updateAssetSettingsSuccess(newConfig));
})
.catch(error => dispatch(updateAssetSettingsFailure(error)));
@@ -29,7 +29,7 @@ export const updateOpenStream = closedBody => (dispatch, getState) => {
dispatch(fetchAssetRequest());
coralApi(`/assets/${assetId}/status`, {method: 'PUT', body: closedBody})
.then(() => {
dispatch(addNotification('success', lang.t('successUpdateSettings')));
dispatch(addNotification('success', lang.t('framework.success_update_settings')));
dispatch(fetchAssetSuccess(closedBody));
})
.catch(error => dispatch(fetchAssetFailure(error)));
+2 -2
View File
@@ -119,11 +119,11 @@ export const fetchSignIn = (formData) => (dispatch) => {
if (error.metadata) {
// the user might not have a valid email. prompt the user user re-request the confirmation email
dispatch(signInFailure(lang.t('error.emailNotVerified', error.metadata)));
dispatch(signInFailure(lang.t('error.email_not_verified', error.metadata)));
} else {
// invalid credentials
dispatch(signInFailure(lang.t('error.emailPasswordError')));
dispatch(signInFailure(lang.t('error.email_password')));
}
});
};
+1 -1
View File
@@ -12,7 +12,7 @@ export const editName = (username) => (dispatch) => {
return coralApi('/account/username', {method: 'PUT', body: {username}})
.then(() => {
dispatch(editUsernameSuccess());
dispatch(addNotification('success', lang.t('successNameUpdate')));
dispatch(addNotification('success', lang.t('framework.success_name_update')));
})
.catch(error => {
dispatch(editUsernameFailure(lang.t(`error.${error.translation_key}`)));
@@ -4,7 +4,7 @@ import styles from './RestrictedContent.css';
import I18n from 'coral-i18n/modules/i18n/i18n';
const lang = new I18n();
export default ({children, restricted, message = lang.t('contentNotAvailable'), restrictedComp}) => {
export default ({children, restricted, message = lang.t('framework.content_not_available'), restrictedComp}) => {
if (restricted) {
return restrictedComp ? restrictedComp : messageBox(message);
} else {
@@ -31,7 +31,7 @@ class SuspendedAccount extends Component {
this.setState({alert: lang.t(`error.${error.translation_key}`)});
});
} else {
this.setState({alert: lang.t('editName.error')});
this.setState({alert: lang.t('framework.edit_name.error')});
}
}
@@ -43,8 +43,8 @@ class SuspendedAccount extends Component {
return <div className={styles.message}>
<span>{
canEditName ?
lang.t('editName.msg')
: lang.t('bannedAccountMsg')
lang.t('framework.edit_name.msg')
: lang.t('framework.banned_account_msg')
}</span>
{
canEditName ?
@@ -56,20 +56,20 @@ class SuspendedAccount extends Component {
htmlFor='username'
className="screen-reader-text"
aria-hidden={true}>
{lang.t('editName.label')}
{lang.t('framework.edit_name.label')}
</label>
<input
type='text'
className={styles.editNameInput}
value={username}
placeholder={lang.t('editName.label')}
placeholder={lang.t('framework.edit_name.label')}
id='username'
onChange={(e) => this.setState({username: e.target.value})}
rows={3}/><br/>
<Button
onClick={this.onSubmitClick}>
{
lang.t('editName.button')
lang.t('framework.edit_name.button')
}
</Button>
</div> : null
+2 -2
View File
@@ -5,6 +5,6 @@ export default {
email: lang.t('error.email'),
password: lang.t('error.password'),
username: lang.t('error.username'),
confirmPassword: lang.t('error.confirmPassword'),
organizationName: lang.t('error.organizationName'),
confirmPassword: lang.t('error.confirm_password'),
organizationName: lang.t('error.organization_name'),
};
+285 -56
View File
@@ -1,61 +1,290 @@
framework:
profile: Profile
my_profile: My profile
successUpdateSettings: The changes you have made have been applied to the comment stream on this article
successNameUpdate: Your username has been updated
contentNotAvailable: This content is not available
bannedAccountMsg: Your account is currently suspended. This means that you cannot Like Report or write comments. Please contact us if you have any questions.
editName:
msg: Your account is currently suspended because your username has been deemed inappropriate. To restore your account please enter a new username. Please contact us if you have any questions.
label: New Username
button: Submit
error: Usernames can contain letters numbers and _ only
viewMoreComments: view more comments
showAllComments: Show all comments
viewReply: view reply
viewAllRepliesInitial: view all 0 replies
viewAllReplies: view 0 replies
newCount: View 0 new 1
comment: comment
comments: comments
commentIsIgnored: This comment is hidden because you ignored this user.
my_comments: My Comments
bandialog:
are_you_sure: Are you sure you would like to ban {0}?
ban_user: Ban User?
cancel: Cancel
note: 'Note: Banning this user will also place this comment in the Rejected queue.'
yes_ban_user: Yes Ban User
bio_offensive: This bio is offensive
cancel: Cancel
characters_remaining: characters remaining
comment:
anon: Anonymous
ban_user: Ban User
banned_user: Banned User
comment: Post a comment
flagged: flagged
comment_offensive: This comment is offensive
comment_plural: Comments
comment_post_banned_word: Your comment contains one or more words that are not permitted, so it will not be published. If you think this message is incorrect, please contact our moderation team.
comment_post_notif: Your comment has been posted.
comment_post_notif_premod: Thank you for posting. Our moderation team will review your comment shortly.
comment_is_best: This comment is one of the best
community:
account_creation_date: Account Creation Date
active: Active
admin: Administrator
are_you_sure: Are you sure you would like to ban {0}?
ban_user: Ban User?
banned: Banned
banned-user: Banned User
cancel: Cancel
flaggedaccounts: Flagged Usernames
flags: Flags
loading: Loading results
moderator: Moderator
newsroom_role: Newsroom Role
no-flagged-accounts: The Account Flags queue is currently empty.
no-results: No users found with that user name or email address. They're hiding!
note: 'Note: Banning this user will not let them edit comment or remove anything.'
other: Other
people: People
role: Select role...
select-status: Select status...
status: Status
username_and_email: Username and Email
yes_ban_user: Yes Ban User
configure:
apply: Apply
banned_word_text: Comments which contain these words or phrases (not case-sensitive) will be automatically removed from the comment stream. Type a word and press Enter or Tab to add. Optionally paste a comma-separated list.
banned_words_title: Banned words list
close_after: Close comments after
close_stream: Close Stream
close_stream_configuration: This comment stream is currently closed. By opening this comment stream new comments may be submitted and displayed
closed_comments_desc: Write a message to be displayed when when your comment stream is closed and no longer accepting comments.
closed_comments_label: Write a message...
closed_stream_settings: Closed Stream Message
comment_count_error: Please enter a valid number.
comment_count_header: Limit Comment Length
comment_count_text_post: characters
comment_count_text_pre: Comments will be limited to
comment_settings: Settings
community: Community
configure: Configure
copy_and_paste: Copy and paste code below into your CMS to embed your comment box in your articles
custom_css_url: Custom CSS URL
custom_css_url_desc: URL of a CSS stylesheet that will override default Embed Stream styles. Can be internal or external.
dashboard: Dashboard
days: Days
description: As an admin you may customize the settings for the comment stream for this asset
domain_list_text: Enter the domains you would like to permit for Talk e.g. your local staging and production environments (ex. localhost:3000 staging.domain.com domain.com).
domain_list_title: Permitted Domains
embed_comment_stream: Embed Stream
enable_pre_moderation: Enable pre-moderation
enable_pre_moderation_text: Moderators must approve any comment before it is published.
enable_premod_links: Pre-Moderate Comments Containing Links
enable-premod-links-text: Moderators must approve any comment containing a link
before its published.
enable_premod: Enable Premoderation
enable_premod_description: Moderators must approve any comment before its published.
enable_premod_links: Pre-Moderate Comments Containing Links
enable_premod_links_description: Moderators must approve any comment containing a link before its published.
enable_questionbox: Ask readers a question
enable_questionbox_description: This question will appear at the top of this comment stream. Ask readers about a certain issue in the article or pose discussion questions etc.
hours: Hours
include_comment_stream: Include Comment Stream Description for Readers
include_comment_stream-desc: Write a message to be added to the top of your comment stream. Pose a topic include community guidelines etc.
include_text: Include your text here.
include_question_here: Write your question here.
moderate: Moderate
moderation_settings: Moderation Settings
open_stream: Open Stream
open_stream_configuration: This comment stream is currently open. By closing this comment stream no new comments may be submitted and all previous comments will still be displayed.
require_email_verification: Require Email Verification
require_email_verification_text: New Users must verify their email before commenting
save_changes: Save Changes
shortcuts: Shortcuts
sign_out: Sign Out
stories: Stories
stream_settings: Stream Settings
suspect_words_title: Comments which contain these words or phrases (not case-sensitive) will be highlighted in the comment stream. Type a word and press Enter or Tab to add. Optionally paste a comma-separated list.
suspect-words-title: Suspect words list
tech_settings: Tech Settings
title: Configure Comment Stream
weeks: Weeks
wordlist: Banned Words
continue: Continue
createdisplay:
check_the_form: Invalid Form. Please check the fields
continue: Continue with the same Facebook username
error_create: Error when changing username
fake_comment_body: This is an example comment. Readers can share their thoughts and opinions with newsrooms in the comments section.
fake_comment_date: 1 minute ago
if_you_dont_change_your_name: If you don't change your username at this step your Facebook display name will appear alongside of all your comments.
required_field: Required field
save: Save
special_characters: Usernames can contain letters numbers and _ only
username: Username
write_your_username: Edit your username
your_username: Your username appears on every comment you post.
dashboard:
auto_update: Data automatically updates every five minutes or when you Reload.
comment_count: comments
flags: Flags
most_flags: Articles with the most flags
next_update: '{0} minutes until next update.'
no_activity: There haven't been any comments anywhere in the last five minutes.
no_flags: There have been no flags in the last 5 minutes! Hooray!
no_likes: There have been no likes in the last 5 minutes. All quiet.
done: Done
embedlink:
copy: Copy to Clipboard
error:
emailNotVerified: Email address {0} not verified.
email: Not a valid E-Mail
password: Password must be at least 8 characters
username: Usernames can contain letters numbers and _ only
confirmPassword: Passwords don't match. Please check again
organizationName: Organization name must only contain letters or numbers.
emailPasswordError: Email and/or password combination incorrect.
EMAIL_REQUIRED: An email address is required
PASSWORD_REQUIRED: Must input a password
edit_username_not_authorized: You do not have permission to update your username.
email_in_use: Email address already in use
email_required: An email address is required
email_username_in_use: Email address or username already in use
login_maximum_exceeded: You have made too many unsuccessful password attempts. Please
wait.
NOT_AUTHORIZED: Your username or password is not recognized by our system.
NO_SPECIAL_CHARACTERS: Usernames can contain letters numbers and _ only
PASSWORD_LENGTH: Password is too short
EMAIL_IN_USE: Email address already in use
EMAIL_USERNAME_IN_USE: Email address or username already in use
PROFANITY_ERROR: Usernames must not contain profanity. Please contact the administrator if you believe this to be in error.
USERNAME_IN_USE: Username already in use
USERNAME_REQUIRED: Must input a username
NO_SPECIAL_CHARACTERS: Usernames can contain letters numbers and _ only
PROFANITY_ERROR: Usernames must not contain profanity. Please contact the administrator if you believe this to be in error.
NOT_AUTHORIZED: Not authorized.
EDIT_USERNAME_NOT_AUTHORIZED: You do not have permission to update your username.
configure:
apply: Apply
title: Configure Comment Stream
description: As an admin you may customize the settings for the comment stream for this asset
enablePremod: Enable Premoderation
enablePremodDescription: Moderators must approve any comment before its published.
enablePremodLinks: Pre-Moderate Comments Containing Links
enablePremodLinksDescription: Moderators must approve any comment containing a link before its published.
enableQuestionBox: Ask readers a question
enableQuestionBoxDescription: This question will appear at the top of this comment stream. Ask readers about a certain issue in the article or pose discussion questions etc.
includeQuestionHere: Write your question here.
confirm_password: Passwords don't match. Please check again
email: Not a valid E-Mail
email_not_verified: Email address {0} not verified.
email_password: Email and/or password combination incorrect.
organization_name: Organization name must only contain letters or numbers.
password: Password must be at least 8 characters
password_required: Must input a password
username: Usernames can contain letters numbers and _ only
flag_comment: Report comment
flag_reason: Reason for reporting (Optional)
flag_username: Report username
framework:
banned_account_msg: Your account is currently suspended. This means that you cannot Like Report or write comments. Please contact us if you have any questions.
comment: comment
comment_is_ignored: This comment is hidden because you ignored this user.
comments: comments
content_not_available: This content is not available
edit_name:
button: Submit
error: Usernames can contain letters numbers and _ only
label: New Username
msg: Your account is currently suspended because your username has been deemed inappropriate. To restore your account please enter a new username. Please contact us if you have any questions.
my_comments: My Comments
my_profile: My profile
new_count: View 0 new 1
profile: Profile
show_all_comments: Show all comments
success_bio_update: Your biography has been updated
success_name_update: Your username has been updated
success_update_settings: The changes you have made have been applied to the comment stream on this article
view_all_replies: view 0 replies
view_all_replies_initial: view all 0 replies
view_more_comments: view more comments
view_reply: view reply
fromSettingsPage: From the Profile Page you can see your comment history.
like: Like
marketing: This looks like an ad/marketing
moderate_this_stream: Moderate this stream
modqueue:
account: account flags
actions: Actions
all: all
approve: Approve comment
approved: approved
billion: B
close: Close
dont-like-username: Don't like username
emptyqueue: No more comments to moderate! You're all caught up. Go have some ☕️
flagged: flagged
impersonating: Impersonating
less-detail: Less detail
likes: likes
million: M
mod-faster: Moderate faster with keyboard shortcuts
more-detail: More detail
navigation: Navigation
nextcomment: Go to the next comment
offensive: Offensive
other: Other
premod: pre-mod
prevcomment: Go to the previous comment
reject: Reject comment
rejected: rejected
shift-key:
shortcuts: Shortcuts
showshortcuts: Show Shortcuts
singleview: Toggle single comment edit view
spam/ads: Spam/Ads
thismenu: Open this menu
thousand: k
try-these: Try these
view-more-shortcuts: View more shortcuts
myCommentHistory: My comment History
name: Name
no-agree-comment: I don't agree with this comment
no-like-bio: I don't like this bio
no-like-username: I don't like this username
other: Other
permalink:
permalink: Link
personal-info: This comment reveals personally identifiable information
post: Post
profile: Profile
profileSettings: Profile Settings
reply: Reply
report: Report
report-notif: Thank you for reporting this comment. Our moderation team has been notified
and will review it shortly.
report-notif-remove: Your report has been removed.
reported: Reported
setBest: Tag as Best
settings:
profile: Profile
userNoComment: You've never left a comment. Join the conversation!
allComments: All Comments
profileSettings: Profile Settings
myCommentHistory: My comment History
signIn: Sign in
toAccess: to access Profile
fromSettingsPage: From the Profile Page you can see your comment history.
allComments: All Comments
fromSettingsPage: From the Profile Page you can see your comment history.
myCommentHistory: My comment History
profile: Profile
profileSettings: Profile Settings
signIn: Sign in
toAccess: to access Profile
userNoComment: You've never left a comment. Join the conversation!
signIn: Sign in
step-1-header: Report an issue
step-2-header: Help us understand
step-3-header: Thank you for your input
streams:
all: All
article: Story
closed: Closed
empty_result: No assets match this search. Maybe try widening your search?
filter-streams: Filter Streams
newest: Newest
oldest: Oldest
open: Open
pubdate: Publication Date
search: Search
sort_by: Sort By
status: Stream Status
stream-status: Stream Status
suspenduser:
bio: bio
description_0: Would you like to temporarily ban this user because of their {0}?
Doing so will temporarily hide their comments until they rewrite their {0}.
description_1: Suspending this user will temporarily disable their account and hide
all of their comments on the site.
email: Another member of the community recently flagged your username for review.
Because of its content your user was rejected. This means you can no longer comment
like or flag content until you rewrite your username. Please e-mail us if you
have any questions or concerns.
email_subject: Your account has been suspended
no_cancel: No cancel
send: Send
title: Suspend a user
title_0: We noticed you rejected a username
title_1: Notify the user of their temporary suspension
username: username
write_message: Write a message
yes_suspend: Yes suspend
thank-you: We value your safety and feedback. A moderator will review your report.
toAccess: ' to access Profile'
unsetBest: Untag as Best
user:
bio_flags: flags for this bio
user_bio: User Bio
username_flags: flags for this username
user-impersonating: This user is impersonating
userNoComment: You've never left a comment. Join the conversation!
username-offensive: This username is offensive
+284 -53
View File
@@ -1,61 +1,292 @@
framework:
profile: Pérfil
my_profile: Mi pérfil
successUpdateSettings: La configuración de este articulo fue actualizada
successBioUpdate: Tu biografia fue actualizada
contentNotAvailable: El contenido no se encuentra disponible
bannedAccountMsg: Tu cuenta se encuentra suspendida. Esto significa que no puedes gustar marcar o escribir commentarios.
editName:
msg: Your account is currently suspended because your username has been deemed inappropriate. To restore your account please enter a new username. Please contact us if you have any questions.
label: New Username
button: Submit
error: Usernames can contain letters numbers and _ only
viewMoreComments: Ver commentarios más
viewReply: ver respuesta
viewAllRepliesInitial: ver todas las 0 respuestas
viewAllReplies: ver 0 respuestas
newCount: Ver 0 1 más
comment: commentario
comments: commentarios
commentIsIgnored: Este comentario está escondido porque has ignorado al usuario.
showAllComments: Mostrar todos los comentarios
my_comments: Mis Comentarios
error:
emailNotVerified: E-mail {0} no verificado.
email: No es un e-mail válido
password: La contraseña debe tener por lo menos 8 caracteres
username: Los nombres pueden contener letras números y _
organizationName: El nombre de la organización debe contener letras y/o números.
confirmPassword: Las contraseñas no coinciden
emailPasswordError: E-mail y/o contraseña incorrecta.
EMAIL_REQUIRED: Se requiere un e-mail
PASSWORD_REQUIRED: Debe ingresar una contraseña
PASSWORD_LENGTH: La contraseña es muy corta
EMAIL_IN_USE: El e-mail se encuentra en uso
EMAIL_USERNAME_IN_USE: E-mail o Nombre en uso.
USERNAME_IN_USE: Nombre en uso.
USERNAME_REQUIRED: Debe ingresar un nombre
NO_SPECIAL_CHARACTERS: Los nombres pueden contener letras números y _
PROFANITY_ERROR: Los nombres no pueden contener blasfemias. Por favor contacte al o la administradora si cree que esto es un error
NOT_AUTHORIZED: Acción no autorizada.
EDIT_USERNAME_NOT_AUTHORIZED: No tiene permiso para editar el nombre de usuario.
bandialog:
are_you_sure: '¿Estás segura que quieres suspender a {0}?'
ban_user: ¿Quieres suspender el Usuario?
cancel: Cancelar
note: 'Nota: Suspender a este usuario también va a colocar este comentario en la cola de Rechazados.'
yes_ban_user: Si, Suspender el usuario
bio_offensive: Esta biografia es ofensiva
cancel: Cancelar
characters_remaining: 'carácteres restantes'
comment:
anon: Anónimo
ban_user: Suspender Usuario
ban_user: Usuario Suspendido
comment: Publicar un comentario
flagged: reportado
comment_offensive: Este comentario es ofensivo
comment_plural: Comentarios
comment_post_banned_word: Tu comentario contiene una o más palabras que no estan permitidas en nuestro espacio, por lo que no será publicado. Si crees que es un error, por favor contacta a nuestro equipo de moderación.
comment_post_notif: Tu comentario ha sido publicado.
comment_post_notif_premod: Gracias por el comentario. Nuestro equipo de moderación va a revisarlo muy pronto.
comment_is_best: Este comentario es uno de los mejores
community:
account_creation_date: Fecha de creación de la cuenta
active: Activa
admin: Administratora
are_you_sure: '¿Estas segura que quieres suspender a {0}?'
ban_user: ¿Quieres suspender al Usuario?
banned: Suspendido
banned-user: Usuarix Suspendido
cancel: Cancelar
flaggedaccounts: Nombres de Usuarix Reportados
flags: Reportes
loading: Cargando resultados
moderator: Moderatora
newsroom_role: Rol en la redacción
no-flagged-accounts: No hay ninguna cuenta reportada en este momento.
no-results: No se encontraron usuarixs con ese nombre o correo.
note: 'Nota: Suspender a este usuario no le va a permitir (al usuario) borrar ni editar ni comentar.'
other: Otro
people: Gente
role: Seleccionar rol...
select-status: Seleccionar estado...
status: Estado
username_and_email: Usuario y E-mail
yes_ban_user: Si, Suspendan el usuario
configure:
apply: Aplicar
banned_word_text: Comentarios que contengan estas palabras o frases, no separadas por comas y en mayusculas o minusuculas, serán automaticamente marcadas para separar los comentarios publicados.
banned_words_title: Lista de palabras prohibidas
close_after: Cerrar comentarios luego de
close_stream: Cerrar comentarios
close_stream_configuration: Este hilo de comentario está en este momento cerrado. Al abrirlo, nuevos comentarios serán publicados y mostrados.
closed_comments_desc: Escribe un mensaje que será mostrado cuando los comentarios estén cerrados y no se acepten más comentarios.
closed_comments_label: Escribe un mensaje...
closed_stream_settings: Mensaje que se meustra cuando los comentarios están cerrados en el articulo
comment_count_error: Por favor escribir un número válido
comment_count_header: Limitar el largo del comentario
comment_count_text_post: cáracteres
comment_count_text_pre: Los comentarios serán limitados a
comment_settings: Configuración
community: Comunidad
configure: Configurar
copy_and_paste: Copiar y pegar el código de más abajo en tu CMS para colocar la caja de comentarios en tus articulos
custom_css_url: URL CSS a medida
custom_css_url_desc: URL de una hoja de estilo que va a sobrescribir los estilos por defecto del hilo de comentarios. Puede ser interna o externa.
dashboard: Panel
days: Días
description: Como Administrador/a puedes modificar la configuración de los comentarios en este artículo
domain_list_text: Agrega dominios permitidos a Talk, por ejemplo tu localhost, staging y ambientes de producción (ej. localhost:3000, staging.domain.com, domain.com).
domain_list_title: Dominios Permitidos
embed_comment_stream: Colocar Hilo de Comentarios
enable_pre_moderation: Enable pre-moderation
enable_pre_moderation_text: Moderators must approve any comment before it is published.
enable-premod-links: Pre-Moderar Comentarios que contienen Enlaces
enable-premod-links-text: Moderators must approve any comment containing a link
before its published.
enable_premod: Activar Pre Moderación
enable_premod_description: Los y las Moderadoras deben aprobar cualquier comentario
antes de su publicación
enable_premod_links_description: Los y las moderadoras deben aprobar cualquier comentario que contengan enlaces antes de su publicación.
enable_questionbox: Hacer una pregunta a los y las lectoras.
enable_questionbox_description: Esta pregunta aparecera en la parte de arriba del hilo de comentarios.
hours: Horas
include_comment_stream: Incluir Descripción de Hilo de Comentarios para Lectorxs
include_comment_stream_desc: Escribir un mensaje para ser incluido al principio del hilo de comentarios. Un tema podria ser incluir la guia de comunidad, etc.
include_text: Agregar tu texto aquí.
include_question_here: Escribir la pregunta aquí.
moderate: Moderate
moderation_settings: Configuración de la Moderación
open_stream: Abrir Hilo de Comentarios
open_stream_configuration: Este hilo de comentarios está abierto. Al cerrarlo no se podran publicar nuevos comentarios pero todos los comentarios anteriores aún serán mostrados.
require_email_verification: Necesita confirmación de e-mail
require_email_verification_text: Nuevos usuarios deben verificar sus e-mails antes de comentar
save_changes: Guardar Cambios
shortcuts: Atajos
sign_out: Desconectar
stories: Artículos
stream_settings: Configuración de Comentarios
suspect_word_text: Comentarios que contengan estas palabras o frases, considerando mayusculas y minusculas, serán automaticamente destacadas en los comentarios publicados. Escribir una palabra y apretar Enter o Tabulador para agergarla. Opcionalmente pegar una lista separada por coma.
suspect_words_title: Lista de palabras sospechosas
tech_settings: Configuración Técnica
title: Configurar los comentarios
description: Como Administrador/a puedes modificar las opciones de los comentarios en este artículo
enablePremod: Activar Pre Moderación
enablePremodDescription: Los y las Moderadoras deben aprobar cualquier comentario antes de su publicación
enablePremodLinks: Pre-Moderar Comentarios que contienen Enlaces
enablePremodLinksDescription: Los y las moderadoras deben aprobar cualquier comentario que contengan enlaces antes de su publicación.
enableQuestionBox: Hacer una pregunta a los y las lectoras.
enableQuestionBoxDescription: Esta pregunta aparecera en la parte de arriba del hilo de comentarios.
includeQuestionHere: Escribir la pregunta aquí.
weeks: Semanas
wordlist: Palabras Suspendidas
continue: Continuar
createdisplay:
check_the_form: Formulario Inválido. Por favor verifica los campos
continue: Continuar con nombre de Facebook
error_create: Hubo un error al cambiar el nombre de usuario
fake_comment_body: Este es un comentario de ejemplo. Las lectoras pueden compartir sus ideas y opiniones con los periodistas en la sección de comentarios.
fake_comment_date: hace un minuto
if_you_dont_change_your_name: Si no modificas tu nombre de usuario en este paso tu nombre de Facebook aparecera al lado de cada comentario que publiques.
required_field: Campo necesario
save: Guardar
special_characters: Sólo pueden contener letras números y _
username: Nombre
write_your_username: Edita tu nombre
your_username: Tu nombre aparece en cada comentario que publiques.
dashboard:
auto_update: Data automatically updates every five minutes or when you Reload.
comment_count: comments
flags: Flags
most_flags: Articles with the most flags
nex_update: '{0} minutes until next update.'
no_activity: There haven't been any comments anywhere in the last five minutes.
no_flags: There have been no flags in the last 5 minutes! Hooray!
no_likes: There have been no likes in the last 5 minutes. All quiet.
done: hecho
embedlink:
copy: Copy to Clipboard
error:
edit_username_not_authorized: No tiene permiso para editar el nombre de usuario.
email_in_use: El e-mail se encuentra en uso
email_required: Se requiere un e-mail
email_username_in_use: E-mail o Nombre en uso.
login_maximum_exceeded: Ha realizado demasiados intentos fallidos de colocar la contraseña. Por favor espere.
NOT_AUTHORIZED: Acción no autorizada.
NO_SPECIAL_CHARACTERS: Los nombres pueden contener letras números y _
PASSWORD_LENGTH: La contraseña es muy corta
PASSWORD_REQUIRED: Debe ingresar una contraseña
PROFANITY_ERROR: Los nombres no pueden contener blasfemias. Por favor contacte al o la administradora si cree que esto es un error
USERNAME_IN_USE: Nombre en uso.
USERNAME_REQUIRED: Debe ingresar un nombre
confirm_password: Las contraseñas no coinciden
email: No es un e-mail válido
email_not_verified: E-mail {0} no verificado.
email_password: E-mail y/o contraseña incorrecta.
organization_name: El nombre de la organización debe contener letras y/o números.
password: La contraseña debe tener por lo menos 8 caracteres
password_required: Debe ingresas la contraseña
username: Los nombres pueden contener letras números y _
flag_comment: Reportar el comentario
flag_reason: Razón por la que hacer este reporte (Opcional)
flag_username: Reportar el nombre de usuario
framework:
banned_account_msg: Tu cuenta se encuentra suspendida. Esto significa que no puedes
gustar marcar o escribir commentarios.
comment: commentario
comment_is_ignored: Este comentario está escondido porque has ignorado al usuario.
comments: commentarios
content_not_available: El contenido no se encuentra disponible
edit_name:
button: Enviar
error: Nombres de usuarios pueden sólamente incluir letras, números y _
label: Nuevo Nombre
msg: Tu cuenta está suspendida porque tu nombre de usuario ha sido considerado no apropiado para el espacio. Para recuperar la cuenta, por favor ingresar un nuevo nombre de usuario. Contactactanos si tienes alguna pregunta.
my_comments: Mis Comentarios
my_profile: Mi pérfil
new_count: Ver 0 1 más
profile: Pérfil
show_all_comments: Mostrar todos los comentarios
success_bio_update: Tu biografia fue actualizada
success_name_update: Tu nombre de usuario ha sido actualizado
success_update_settings: La configuración de este articulo fue actualizada
view_all_replies: ver 0 respuestas
view_all_replies_initial: ver todas las 0 respuestas
view_more_comments: Ver commentarios más
view_reply: ver respuesta
fromSettingsPage: Desde la página de configuración puedes ver tu historia de comentarios.
like: Me gusta
marketing: Esto parece una propaganda
moderate_this_stream: Modera este hilo de comentarios
modqueue:
account: account flags
actions: Actions
all: all
approve: Approve comment
approved: approved
billion: B
close: Close
dont-like-username: Don't like username
emptyqueue: No more comments to moderate! You're all caught up. Go have some ☕️
flagged: flagged
impersonating: Impersonating
less-detail: Less detail
likes: likes
million: M
mod-faster: Moderate faster with keyboard shortcuts
more-detail: More detail
navigation: Navigation
nextcomment: Go to the next comment
offensive: Offensive
other: Other
premod: pre-mod
prevcomment: Go to the previous comment
reject: Reject comment
rejected: rejected
shift-key:
shortcuts: Shortcuts
showshortcuts: Show Shortcuts
singleview: Toggle single comment edit view
spam/ads: Spam/Ads
thismenu: Open this menu
thousand: k
try-these: Try these
view-more-shortcuts: View more shortcuts
myCommentHistory: Mi historial de comentarios
name: Nombre
no-agree-comment: No estoy de acuerdo con este comentario
no-like-bio: No me gusta esta biografia
no-like-username: No me gusta este nombre de usuario
other: Otro
permalink:
permalink: Enlace
personal-info: Este comentario muestra información personal
post: Publicar
profile: Perfil
profileSettings: Configuración del perfil
reply: Responder
report: Reportar
report-notif: Gracias por reportar este comentario. Nuestro equipo de moderación ha
sido notificado y muy pronto lo va a revisar.
report-notif-remove: Tu reporte ha sido eliminada.
reported: Reportado
setBest: Etiquetar como el mejor
settings:
profile: Perfil
userNoComment: No has dejado aún ningún comentario. ¡Únete a la conversación!
allComments: Todos los comentarios
profileSettings: Configuración del perfil
fromSettingsPage: Desde la página de configuración puedes ver tu historia de comentarios.
myCommentHistory: Mi historial de comentarios
profile: Perfil
profileSettings: Configuración del perfil
signIn: Entrar
toAccess: para acceder a al perfil
fromSettingsPage: Desde la página de configuración puedes ver tu historia de comentarios.
userNoComment: No has dejado aún ningún comentario. ¡Únete a la conversación!
signIn: Entrar
step-1-header: Reportar un problema
step-2-header: Ayudanos a comprender
step-3-header: Gracias por tu participación
streams:
all: All
article: Story
closed: Closed
empty_result: No assets match this search. Maybe try widening your search?
filter-streams: Filter Streams
newest: Newest
oldest: Oldest
open: Open
pubdate: Publication Date
search: Search
sort_by: Sort By
status: Stream Status
stream-status: Stream Status
suspenduser:
bio: bio
description_0: Would you like to temporarily ban this user because of their {0}?
Doing so will temporarily hide their comments until they rewrite their {0}.
description_1: Suspending this user will temporarily disable their account and hide
all of their comments on the site.
email: Another member of the community recently flagged your username for review.
Because of its content your user was rejected. This means you can no longer comment
like or flag content until you rewrite your username. Please e-mail us if you
have any questions or concerns.
email_subject: Your account has been suspended
no_cancel: No cancel
send: Send
title: Suspend a user
title_0: We noticed you rejected a username
title_1: Notify the user of their temporary suspension
username: username
write_message: Write a message
yes_suspend: Yes suspend
thank-you: Valoramos tanto tu seguridad en este espacio como tus comentarios. Un o
una moderadora van a leer tu reporte.
toAccess: para acceder a al perfil
unsetBest: Desetiquetar como el mejor
user:
bio_flags: flags for this bio
user_bio: User Bio
username_flags: flags for this username
user-impersonating: Este usuario suplanta a alguien
userNoComment: No has dejado aún ningún comentario. ¡Únete a la conversación!
username-offensive: Este nombre de usuario es ofensivo
+1 -1
View File
@@ -20,7 +20,7 @@ const canModifyBestTag = ({roles = []} = {}) => roles && ['ADMIN', 'MODERATOR'].
// Put this on a comment to show that it is best
export const BestIndicator = ({children = <Icon name='star'/>}) => (
<span aria-label={lang.t('commentIsBest')}>
<span aria-label={lang.t('comment_is_best')}>
{ children }
</span>
);
@@ -5,7 +5,7 @@ const name = 'coral-plugin-comment-count';
const CommentCount = ({count}) => {
return <div className={`${name}-text`}>
{`${count} ${count === 1 ? lang.t('comment') : lang.t('comment-plural')}`}
{`${count} ${count === 1 ? lang.t('comment.comment') : lang.t('comment_plural')}`}
</div>;
};
+5 -5
View File
@@ -54,10 +54,10 @@ class CommentBox extends React.Component {
this.state.hooks.postSubmit.forEach(hook => hook(data));
if (postedComment.status === 'REJECTED') {
addNotification('error', lang.t('comment-post-banned-word'));
addNotification('error', lang.t('comment_post_banned_word'));
!isReply && setCommentCountCache(commentCountCache);
} else if (postedComment.status === 'PREMOD') {
addNotification('success', lang.t('comment-post-notif-premod'));
addNotification('success', lang.t('comment_post_notif_premod'));
!isReply && setCommentCountCache(commentCountCache);
}
@@ -141,20 +141,20 @@ class CommentBox extends React.Component {
htmlFor={ isReply ? 'replyText' : 'commentText'}
className="screen-reader-text"
aria-hidden={true}>
{isReply ? lang.t('reply') : lang.t('comment')}
{isReply ? lang.t('reply') : lang.t('comment.comment')}
</label>
<textarea
className={`${name}-textarea`}
style={styles && styles.textarea}
value={this.state.body}
placeholder={lang.t('comment')}
placeholder={lang.t('comment.comment')}
id={isReply ? 'replyText' : 'commentText'}
onChange={this.handleChange}
rows={3}/>
<Slot fill='commentInputArea' />
</div>
<div className={`${name}-char-count ${length > maxCharCount ? `${name}-char-max` : ''}`}>
{maxCharCount && `${maxCharCount - length} ${lang.t('characters-remaining')}`}
{maxCharCount && `${maxCharCount - length} ${lang.t('characters_remaining')}`}
</div>
<div className={`${name}-button-container`}>
<Slot
+1 -1
View File
@@ -182,7 +182,7 @@ class FlagButton extends Component {
{
this.state.reason && <div>
<label htmlFor={'message'} className={`${name}-popup-radio-label`}>
{lang.t('flag-reason')}
{lang.t('flag_reason')}
</label><br/>
<textarea
className={`${name}-reason-text`}
+3 -3
View File
@@ -11,8 +11,8 @@ const getPopupMenu = [
return {
header: lang.t('step-1-header'),
options: [
{val: 'COMMENTS', text: lang.t('flag-comment')},
{val: 'USERS', text: lang.t('flag-username')}
{val: 'COMMENTS', text: lang.t('flag_comment')},
{val: 'USERS', text: lang.t('flag_username')}
],
button: lang.t('continue'),
sets: 'itemType'
@@ -21,7 +21,7 @@ const getPopupMenu = [
(itemType) => {
const options = itemType === 'COMMENTS' ?
[
{val: 'This comment is offensive', text: lang.t('comment-offensive')},
{val: 'This comment is offensive', text: lang.t('comment_offensive')},
{val: 'This looks like an ad/marketing', text: lang.t('marketing')},
{val: 'I don\'t agree with this comment', text: lang.t('no-agree-comment')},
{val: 'Other', text: lang.t('other')}
@@ -8,7 +8,7 @@ const lang = new I18n();
const ModerationLink = props => props.isAdmin ? (
<div className={styles.moderationLink}>
<a href={`/admin/moderate/${props.assetId}`} target="_blank">
{lang.t('MODERATE_THIS_STREAM')}
{lang.t('moderate_this_stream')}
</a>
</div>
) : null;
@@ -20,21 +20,21 @@ const CreateUsernameDialog = ({open, handleClose, formData, handleSubmitUsername
<div>
<div className={styles.header}>
<h1>
{lang.t('createdisplay.writeyourusername')}
{lang.t('createdisplay.write_your_username')}
</h1>
</div>
<div>
<p className={styles.yourusername}>{lang.t('createdisplay.yourusername')}</p>
<p className={styles.yourusername}>{lang.t('createdisplay.your_username')}</p>
<FakeComment
className={styles.fakeComment}
username={formData.username}
created_at={Date.now()}
body={lang.t('createdisplay.fakecommentbody')}
body={lang.t('createdisplay.fake_comment_body')}
/>
<p className={styles.ifyoudont}>{lang.t('createdisplay.ifyoudontchangeyourname')}</p>
<p className={styles.ifyoudont}>{lang.t('createdisplay.if_you_dont_change_your_name')}</p>
{ props.auth.error && <Alert>{props.auth.error}</Alert> }
<form id="saveUsername" onSubmit={handleSubmitUsername}>
{ props.errors.username && <span className={styles.hint}> {lang.t('createdisplay.specialCharacters')} </span> }
{ props.errors.username && <span className={styles.hint}> {lang.t('createdisplay.special_characters')} </span> }
<div className={styles.saveusername}>
<TextField
id="username"
@@ -63,7 +63,7 @@ class ChangeUsernameContainer extends Component {
const {addError} = this;
if (!value.length) {
addError(name, lang.t('createdisplay.requiredField'));
addError(name, lang.t('createdisplay.required_field'));
} else if (!validate[name](value)) {
addError(name, errorMsj[name]);
} else {
@@ -91,7 +91,7 @@ class ChangeUsernameContainer extends Component {
this.props.createUsername(this.props.user.id, this.state.formData);
validForm();
} else {
invalidForm(lang.t('createdisplay.checkTheForm'));
invalidForm(lang.t('createdisplay.check_the_form'));
}
}
+4 -4
View File
@@ -40,7 +40,7 @@ const ErrPasswordTooShort = new APIError('password must be at least 8 characters
});
const ErrMissingEmail = new APIError('email is required', {
translation_key: 'EMAIL_REQUIRED',
translation_key: 'email_required',
status: 400
});
@@ -50,7 +50,7 @@ const ErrMissingPassword = new APIError('password is required', {
});
const ErrEmailTaken = new APIError('Email address already in use', {
translation_key: 'EMAIL_IN_USE',
translation_key: 'email_in_use',
status: 400
});
@@ -144,12 +144,12 @@ const ErrInstallLock = new APIError('install lock active', {
// ErrPermissionUpdateUsername is returned when the user does not have permission to update their username.
const ErrPermissionUpdateUsername = new APIError('You do not have permission to update your username.', {
translation_key: 'EDIT_USERNAME_NOT_AUTHORIZED',
translation_key: 'edit_username_not_authorized',
status: 500
});
const ErrLoginAttemptMaximumExceeded = new APIError('You have made too many incorrect password attempts.', {
translation_key: 'LOGIN_MAXIMUM_EXCEEDED',
translation_key: 'login_maximum_exceeded',
status: 429
});