Merge branch 'master' into update-readme

This commit is contained in:
Kim Gardner
2018-06-13 14:21:08 +01:00
committed by GitHub
11 changed files with 82 additions and 37 deletions
+11 -12
View File
@@ -5,6 +5,7 @@ import styles from './NotFound.css';
import { Button, TextField, Alert, Success } from 'coral-ui';
import Recaptcha from 'react-recaptcha';
import cn from 'classnames';
import t from 'coral-framework/services/i18n';
class AdminLogin extends React.Component {
constructor(props) {
@@ -41,13 +42,13 @@ class AdminLogin extends React.Component {
{errorMessage && <Alert>{errorMessage}</Alert>}
<TextField
id="email"
label="Email Address"
label={t('login.email_address')}
value={this.state.email}
onChange={e => this.setState({ email: e.target.value })}
/>
<TextField
id="password"
label="Password"
label={t('login.password')}
value={this.state.password}
onChange={e => this.setState({ password: e.target.value })}
type="password"
@@ -60,10 +61,10 @@ class AdminLogin extends React.Component {
full
onClick={this.handleSignIn}
>
Sign In
{t('login.sign_in_button')}
</Button>
<p className={styles.forgotPasswordCTA}>
Forgot your password?{' '}
{t('login.forgot_password')}{' '}
<a
href="#"
className={styles.forgotPasswordLink}
@@ -72,7 +73,7 @@ class AdminLogin extends React.Component {
this.setState({ requestPassword: true });
}}
>
Request a new one.
{t('login.request_passowrd')}
</a>
</p>
{loginMaxExceeded && (
@@ -95,14 +96,14 @@ class AdminLogin extends React.Component {
>
{this.props.passwordRequestSuccess}{' '}
<a className={styles.signInLink} href="#">
Sign in
{t('login.sign_in')}
</a>
<Success />
</p>
) : (
<form onSubmit={this.handleRequestPassword}>
<TextField
label="Email Address"
label={t('login.email_address')}
value={this.state.email}
onChange={e => this.setState({ email: e.target.value })}
/>
@@ -112,17 +113,15 @@ class AdminLogin extends React.Component {
full
onClick={this.handleRequestPassword}
>
Reset Password
{t('login.reset_password')}
</Button>
</form>
);
return (
<Layout fixedDrawer restricted={true}>
<div className={cn(styles.loginLayout, 'talk-admin-login')}>
<h1 className={styles.loginHeader}>Team sign in</h1>
<p className={styles.loginCTA}>
Sign in to interact with your community.
</p>
<h1 className={styles.loginHeader}>{t('login.team_sign_in')}</h1>
<p className={styles.loginCTA}>{t('login.sign_in_message')}</p>
{this.state.requestPassword ? requestPasswordForm : signInForm}
</div>
</Layout>
@@ -43,21 +43,21 @@ class ForgotPassword extends React.Component {
<form onSubmit={this.handleSubmit}>
{errorMessage && <Alert>{errorMessage}</Alert>}
<TextField
label="Email Address"
label={t('login.email_address')}
value={email}
onChange={this.handleEmailChange}
/>
<Button type="submit" cStyle="black" full>
Reset Password
{t('login.reset_password')}
</Button>
<p className={styles.cta}>
Go back to{' '}
{t('login.go_back')}{' '}
<a
href="#"
className={styles.signInLink}
onClick={this.handleSignInLink}
>
Sign In
{t('login.sign_in')}
</a>
.
</p>
+2 -2
View File
@@ -92,7 +92,7 @@ const CoralHeader = ({
target="_blank"
rel="noopener noreferrer"
>
View latest version
{t('configure.view_last_version')}
</a>
</MenuItem>
<MenuItem>
@@ -101,7 +101,7 @@ const CoralHeader = ({
target="_blank"
rel="noopener noreferrer"
>
Report a bug or give feedback
{t('configure.report_bug_or_feedback')}
</a>
</MenuItem>
{currentUser && (
+3 -2
View File
@@ -5,6 +5,7 @@ import PropTypes from 'prop-types';
import styles from './Login.css';
import Layout from 'coral-admin/src/components/Layout';
import cn from 'classnames';
import t from 'coral-framework/services/i18n';
class LoginContainer extends Component {
renderForm() {
@@ -19,8 +20,8 @@ class LoginContainer extends Component {
return (
<Layout fixedDrawer restricted={true}>
<div className={cn(styles.layout, 'talk-admin-login')}>
<h1 className={styles.header}>Team sign in</h1>
<p className={styles.cta}>Sign in to interact with your community.</p>
<h1 className={styles.header}>{t('login.team_sign_in')}</h1>
<p className={styles.cta}>{t('login.sign_in_message')}</p>
{this.renderForm()}
</div>
</Layout>
+6 -5
View File
@@ -5,6 +5,7 @@ import { Button, TextField, Alert } from 'coral-ui';
import cn from 'classnames';
import Recaptcha from 'coral-framework/components/Recaptcha';
import External from './External';
import t from 'coral-framework/services/i18n';
class SignIn extends React.Component {
recaptcha = null;
@@ -40,13 +41,13 @@ class SignIn extends React.Component {
{errorMessage && <Alert>{errorMessage}</Alert>}
<TextField
id="email"
label="Email Address"
label={t('login.email_address')}
value={email}
onChange={this.handleEmailChange}
/>
<TextField
id="password"
label="Password"
label={t('login.password')}
value={password}
onChange={this.handlePasswordChange}
type="password"
@@ -68,17 +69,17 @@ class SignIn extends React.Component {
cStyle="black"
full
>
Sign In
{t('login.sign_in')}
</Button>
<p className={styles.forgotPasswordCTA}>
{/* TODO: translate */}
Forgot your password?{' '}
{t('login.forgot_password')}{' '}
<a
href="#"
className={styles.forgotPasswordLink}
onClick={this.handleForgotPasswordLink}
>
Request a new one.
{t('login.request_passowrd')}
</a>
</p>
</form>
@@ -34,7 +34,7 @@ class EmbedLink extends Component {
`;
return (
<ConfigureCard title={'Embed Comment Stream'}>
<ConfigureCard title={t('configure.embed_comment_stream')}>
<p>{t('configure.copy_and_paste')}</p>
<textarea
rows={5}
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import styles from './StorySearch.css';
import { Button, Spinner, Icon } from 'coral-ui';
import Story from './Story';
import t from 'coral-framework/services/i18n';
const StorySearch = props => {
const {
@@ -36,14 +37,14 @@ const StorySearch = props => {
onClick={props.search}
raised
>
Search
{t('streams.search')}
</Button>
</div>
<div className={styles.results}>
{props.assetId && (
<div className={styles.cta}>
<a onClick={props.goToModerateAll}>
Moderate comments on All Stories
{t('moderate_all_streams')}
</a>
</div>
)}
@@ -51,13 +52,15 @@ const StorySearch = props => {
{props.moderation.storySearchString ? (
<div className={styles.searchResults}>
<Icon name="search" />
<span className={styles.headlineRecent}>Search Results</span>
<span className={styles.headlineRecent}>
{t('streams.search_results')}
</span>
</div>
) : (
<div className={styles.searchResults}>
<Icon name="access_time" />
<span className={styles.headlineRecent}>
Most Recent Stories
{t('streams.most_recent_stories')}
</span>
</div>
)}
@@ -85,7 +88,9 @@ const StorySearch = props => {
)}
{assets.nodes.length === 0 && (
<div className={styles.noResults}>No results</div>
<div className={styles.noResults}>
{t('streams.search_results')}
</div>
)}
</div>
</div>
-1
View File
@@ -140,7 +140,6 @@ de:
open_stream: 'Kommentarbereich öffnen'
open_stream_configuration: 'Dieser Kommentarbereich ist momentan geöffnet. Nach dem Schließen dieses Kommentarbereich wird es nicht mehr möglich sein, zu kommentieren. Bestehende Kommentare bleiben sichtbar.'
organization_contact_email: 'E-Mail-Adresse der Organisation'
organization_details: 'Details zur Organisation'
organization_info_copy: 'Wir verwenden diese Informationen in automatisierten E-Mail-Benachrichtigungen, die Talk versendet. Damit können Nutzer Ihre Organisation identifizieren und sie haben die Möglichkeit bei Problemen in Kontakt mit Ihnen zu treten.'
organization_info_copy_2: 'Wir empfehlen, einee generische E-Mail-Adresse (z.B. community@yournewsroom.com) für diesen Zweck einzurichten. Die kann über die Zeit gleich bleiben, und gibt nach außen keine Namen preis, die von Nutzern im Fall von Konflikten für persönliche Angriffe missbraucht werden könnten.'
organization_information: 'Über die Organisation'
+17 -2
View File
@@ -119,7 +119,7 @@ en:
edit_comment_timeframe_text_post: 'seconds to edit their comments.'
edit_comment_timeframe_text_pre: 'Commenters will have'
edit_info: 'Edit Info'
embed_comment_stream: 'Embed Stream'
embed_comment_stream: 'Embed Comment Stream'
enable_pre_moderation: 'Enable pre-moderation'
enable_pre_moderation_text: 'Moderators must approve any comment before it is published.'
enable_premod: 'Enable Premoderation'
@@ -140,11 +140,11 @@ en:
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.'
organization_contact_email: 'Organization Contact Email'
organization_details: 'Organization Details'
organization_info_copy: 'We use this information in email notifications generated by Talk. This connects the messages to your organization, and provides a way for users to contact you if they have an issue with their account.'
organization_info_copy_2: 'We recommend creating a generic email account (eg. community@yournewsroom.com) for this purpose. This means it can remain consistent over time, and doesn''t expose a name that users could target if their account were blocked.'
organization_information: 'Organization Information'
organization_name: 'Organization Name'
report_bug_or_feedback: 'Report a bug or give feedback'
require_email_verification: 'Require Email Verification'
require_email_verification_text: 'New Users must verify their email before commenting'
save: Save
@@ -163,6 +163,7 @@ en:
suspect_word_title: 'Suspect words list'
tech_settings: 'Tech Settings'
title: 'Configure Comment Stream'
view_last_version: 'View latest version'
weeks: Weeks
wordlist: 'Banned Words'
confirm_email:
@@ -349,7 +350,18 @@ en:
title: 'Permitted domains'
like: Like
loading_results: 'Loading Results'
login:
email_address: 'Email Address'
forgot_password: 'Forgot your password?'
go_back: 'Go back'
sign_in: 'Sign In'
sign_in_button: 'Sign Inx'
sign_in_message: 'Sign in to interact with your community.'
password: Password
request_passowrd: 'Request a new one.'
team_sign_in: 'Team sign in'
marketing: 'This looks like an ad/marketing'
moderate_all_streams: 'Moderate comments on All Stories'
moderate_this_stream: 'Moderate this stream'
modqueue:
account: 'account flags'
@@ -465,11 +477,14 @@ en:
closed: Closed
empty_result: 'No assets match this search. Maybe try widening your search?'
filter_streams: 'Filter Streams'
most_recent_stories: 'Most Recent Stories'
newest: Newest
no_results: 'No results'
oldest: Oldest
open: Open
pubdate: 'Publication Date'
search: Search
search_results: 'Search Results'
sort_by: 'Sort By'
status: 'Stream Status'
stream_status: 'Stream Status'
-1
View File
@@ -135,7 +135,6 @@ es:
open_stream: 'Abrir Hilo de Comentarios'
open_stream_configuration: 'Este hilo de comentarios está abierto. Al cerrarlo no se podrán publicar nuevos comentarios pero todos los comentarios anteriores aún serán mostrados.'
organization_contact_email: 'Email de la Organización'
organization_details: 'Detalles de la Organización'
organization_info_copy: 'Nosotros usamos esta información en las notificaciones de email generadas por Talk. Esto conecta los mensajes de tu organización, y provee una forma para que los usuarios se comuniquen si tienen un inconveniente con su cuenta.'
organization_info_copy_2: 'Recomendamos crear un email genérico (ej: community@yournewsroom.com) for this purpose. Esto significa que puede permanecer consistente con el tiempo y no expone un nombre que los usuarios puedan atacar si su cuenta fue bloqueada.'
organization_information: 'Información de la Organización'
+28 -2
View File
@@ -107,12 +107,15 @@ pt_BR:
custom_css_url_desc: 'URL de uma folha de estilo CSS para substituir os estilos padrão dos comentários embutidos. Pode ser interno ou externo.'
days: Dias
description: 'Personalizar as configurações da lista de comentários para esta história.'
disable_commenting_desc: 'Escreva uma mensagem que será exibida enquanto os comentários estiverem desativados.'
disable_commenting_title: 'Desativar todos os comentários do site.'
domain_list_text: 'Insira os domínios que você gostaria de permitir para o Talk, como seus ambientes de desenvolvimento, teste ou produção (ej. localhost:3000 staging.domain.com domain.com).'
domain_list_title: 'Domínios permitidos'
edit_comment_timeframe_heading: 'Período de tempo para editar comentários'
edit_comment_timeframe_text_post: 'segundos para editar seus comentários.'
edit_comment_timeframe_text_pre: 'Os usuários terão'
embed_comment_stream: 'Comentários embutidos'
edit_info: 'Alterar Informações'
embed_comment_stream: 'Incorporar stream de comentários'
enable_pre_moderation: 'Habilitar pré-moderação'
enable_pre_moderation_text: 'Demandar aprovação de moderadores para todos os comentários.'
enable_premod: 'Habilitar pré-moderação'
@@ -132,8 +135,15 @@ pt_BR:
open: Abrir
open_stream: 'Abrir comentários'
open_stream_configuration: 'Comentários abertos no momento. Ao fechar esta lista de comentários, nenhum novo comentário poderá ser enviado. Mas os comentários anteriores ainda serão exibidos.'
organization_contact_email: 'Email da organização'
organization_info_copy: 'Usamos essas informações em notificações de email geradas pelo Talk. Isso conecta as mensagens à sua organização e fornece uma maneira de os usuários entrarem em contato com você caso tenham um problema com a conta.'
organization_info_copy_2: 'Recomendamos a criação de uma conta de e-mail genérica (por exemplo, comunidade@suaredacao.com) para essa finalidade. Isso significa que ele pode permanecer consistente ao longo do tempo e não expor um nome que os usuários pudessem segmentar se a conta fosse bloqueada.'
organization_information: 'Informações da Organização'
organization_name: 'Nome da Organização'
report_bug_or_feedback: 'Relatar bug ou dar um feedback'
require_email_verification: 'Requerer verificação de email'
require_email_verification_text: 'Novos usuários devem verificar seu e-mail antes de comentar'
save: Salvar
save_changes: 'Salvar alterações'
shortcuts: Atalhos
sign_out: Sair
@@ -143,12 +153,13 @@ pt_BR:
suspect_word_title: 'Lista de palavras suspeitas'
tech_settings: 'Configurações técnicas'
title: 'Configurar comentários'
view_last_version: 'Ver últimos releases'
weeks: Semanas
wordlist: 'Palavras Proibidas'
confirm_email:
click_to_confirm: 'Clique abaixo para confirmar seu endereço de email'
confirm: Confirmar
continue: Continua
continue: Continuar
createdisplay:
check_the_form: 'Formulário inválido. Verifique as entradas do formulário.'
continue: 'Continue com o mesmo nome de usuário do Facebook'
@@ -284,7 +295,18 @@ pt_BR:
title: 'Domínios permitidos'
like: Gostar
loading_results: 'Carregando resultados'
login:
email_address: 'Email'
forgot_password: 'Esqueceu sua senha?'
go_back: 'Voltar'
sign_in: 'Entrar'
sign_in_button: 'Entrar'
sign_in_message: 'Entre para interagir com a comunidade.'
password: Senha
request_passowrd: 'Recupere-a clicando aqui.'
team_sign_in: 'Team sign in'
marketing: 'Isso parece um anúncio/marketing'
moderate_all_streams: 'Comentários moderados em todas as matérias'
moderate_this_stream: 'Moderar comentários'
modqueue:
account: 'contas marcadas'
@@ -319,6 +341,7 @@ pt_BR:
prev_comment: 'Vá para o comentário anterior'
reject: Rejeitar
rejected: Rejeitado
reported: Reportado
reply: Responder
select_stream: 'Selecione a lista'
shift_key:
@@ -388,11 +411,14 @@ pt_BR:
closed: Fechado
empty_result: 'Nenhum resultado encontrado para esta pesquisa. Que tal refazer a pesquisa com termos diferentes?'
filter_streams: 'Filtra as listas'
most_recent_stories: 'Matérias mais recentes'
newest: 'O mais novo'
no_results: 'No results'
oldest: 'O mais velho'
open: Aberto
pubdate: 'Data de publicação'
search: Pesquisar
search_results: 'Pesquisar Resultados'
sort_by: 'Ordenar por'
status: 'Situação dos comentários'
stream_status: 'Situação dos comentários'