diff --git a/src/ui/component/publishFormErrors/view.jsx b/src/ui/component/publishFormErrors/view.jsx
index 914236a54..fa7792591 100644
--- a/src/ui/component/publishFormErrors/view.jsx
+++ b/src/ui/component/publishFormErrors/view.jsx
@@ -1,6 +1,7 @@
// @flow
import React from 'react';
import { THUMBNAIL_STATUSES, isNameValid } from 'lbry-redux';
+import { INVALID_NAME_ERROR } from 'constants/claim';
type Props = {
title: ?string,
@@ -21,7 +22,7 @@ function PublishFormErrors(props: Props) {
{!title &&
{__('A title is required')}
}
{!name &&
{__('A URL is required')}
}
- {!isNameValid(name, false) && __('LBRY names cannot contain spaces or reserved symbols ($#@;/"<>%{}|^~[]`)')}
+ {!isNameValid(name, false) && INVALID_NAME_ERROR}
{!bid &&
{__('A deposit amount is required')}
}
{uploadThumbnailStatus === THUMBNAIL_STATUSES.IN_PROGRESS && (
{__('Please wait for thumbnail to finish uploading')}
diff --git a/src/ui/component/publishName/view.jsx b/src/ui/component/publishName/view.jsx
index 1f5326063..0cf148028 100644
--- a/src/ui/component/publishName/view.jsx
+++ b/src/ui/component/publishName/view.jsx
@@ -1,5 +1,5 @@
// @flow
-import { CHANNEL_NEW, CHANNEL_ANONYMOUS, MINIMUM_PUBLISH_BID } from 'constants/claim';
+import { CHANNEL_NEW, CHANNEL_ANONYMOUS, MINIMUM_PUBLISH_BID, INVALID_NAME_ERROR } from 'constants/claim';
import React, { useState, useEffect } from 'react';
import { isNameValid } from 'lbry-redux';
import { FormField } from 'component/common/form';
@@ -50,7 +50,7 @@ function PublishName(props: Props) {
if (!name) {
nameError = __('A name is required');
} else if (!isNameValid(name, false)) {
- nameError = __('LBRY names cannot contain spaces or reserved symbols ($#@;/"<>%{}|^~[]`)');
+ nameError = INVALID_NAME_ERROR;
}
setNameError(nameError);
diff --git a/src/ui/component/selectChannel/view.jsx b/src/ui/component/selectChannel/view.jsx
index 51b1e4a70..a5eb12c4c 100644
--- a/src/ui/component/selectChannel/view.jsx
+++ b/src/ui/component/selectChannel/view.jsx
@@ -4,7 +4,7 @@ import { isNameValid } from 'lbry-redux';
import { FormField } from 'component/common/form';
import BusyIndicator from 'component/common/busy-indicator';
import Button from 'component/button';
-import { CHANNEL_NEW, CHANNEL_ANONYMOUS } from 'constants/claim';
+import { CHANNEL_NEW, CHANNEL_ANONYMOUS, INVALID_NAME_ERROR } from 'constants/claim';
type Props = {
channel: string, // currently selected channel
@@ -77,7 +77,7 @@ class ChannelSection extends React.PureComponent
{
let newChannelNameError;
if (newChannelName.length > 0 && !isNameValid(newChannelName, false)) {
- newChannelNameError = __('LBRY names cannot contain spaces or reserved symbols ($#@;/"<>%{}|^~[]`)');
+ newChannelNameError = INVALID_NAME_ERROR;
}
this.setState({
diff --git a/src/ui/component/userFirstChannel/view.jsx b/src/ui/component/userFirstChannel/view.jsx
index 8cc345d13..6e5c623f1 100644
--- a/src/ui/component/userFirstChannel/view.jsx
+++ b/src/ui/component/userFirstChannel/view.jsx
@@ -3,7 +3,7 @@ import React, { useState } from 'react';
import { isNameValid } from 'lbry-redux';
import Button from 'component/button';
import { Form, FormField } from 'component/common/form';
-
+import { INVALID_NAME_ERROR } from 'constants/claim';
export const DEFAULT_BID_FOR_FIRST_CHANNEL = 0.9;
type Props = {
@@ -29,7 +29,7 @@ function UserFirstChannel(props: Props) {
const { value } = e.target;
setChannel(value);
if (!isNameValid(value, false)) {
- setNameError(__('LBRY names cannot contain spaces or reserved symbols ($#@;/"<>%{}|^~[]`)'));
+ setNameError(INVALID_NAME_ERROR);
} else {
setNameError();
}
diff --git a/src/ui/constants/claim.js b/src/ui/constants/claim.js
index 4cf33ce09..83f9fb9ea 100644
--- a/src/ui/constants/claim.js
+++ b/src/ui/constants/claim.js
@@ -3,3 +3,6 @@ export const MINIMUM_PUBLISH_BID = 0.00000001;
export const CHANNEL_ANONYMOUS = 'anonymous';
export const CHANNEL_NEW = 'new';
export const PAGE_SIZE = 20;
+
+export const INVALID_NAME_ERROR =
+ __('LBRY names cannot contain spaces or reserved symbols') + ' ' + '($#@;/"<>%{}|^~[]`)';
diff --git a/static/app-strings.json b/static/app-strings.json
index 4468a7b20..54fd0600e 100644
--- a/static/app-strings.json
+++ b/static/app-strings.json
@@ -773,6 +773,8 @@
"LBC Currently Staked": "LBC Currently Staked",
"Your Supports": "Your Supports",
"Add Tags": "Add Tags",
+ "Jeremy please change this": "Jeremy please change this",
+ "Jeremy please change this.": "Jeremy please change this.",
"Extra Verification Needed": "Extra Verification Needed",
"We weren't able to auto-approve you for rewards. Please complete one of the steps below to unlock them.": "We weren't able to auto-approve you for rewards. Please complete one of the steps below to unlock them.",
"Proof via Text": "Proof via Text",
@@ -807,5 +809,8 @@
"I am over the age of 13 and agree to the %terms%.": "I am over the age of 13 and agree to the %terms%.",
"Nothing published to LBRY yet.": "Nothing published to LBRY yet.",
"Add a tag": "Add a tag",
- "Claim Your 20 LBC Invite Reward": "Claim Your 20 LBC Invite Reward"
-}
+ "Claim Your 20 LBC Invite Reward": "Claim Your 20 LBC Invite Reward",
+ "Publish something totally wacky and wild.": "Publish something totally wacky and wild.",
+ "LBRY names cannot contain spaces or reserved symbols": "LBRY names cannot contain spaces or reserved symbols",
+ "If you bid more than %amount% LBC, when someone navigates to %uri%, it will load your published content. However, you can get a longer version of this URL for any bid.": "If you bid more than %amount% LBC, when someone navigates to %uri%, it will load your published content. However, you can get a longer version of this URL for any bid."
+}
\ No newline at end of file