diff --git a/components/forms/LoginForm.js b/components/forms/LoginForm.js
index 0cac8ff8..a34a4474 100644
--- a/components/forms/LoginForm.js
+++ b/components/forms/LoginForm.js
@@ -18,10 +18,10 @@ const validate = ({ username, password }) => {
const errors = {};
if (!username) {
- errors.username = 'Required';
+ errors.username = ;
}
if (!password) {
- errors.password = 'Required';
+ errors.password = ;
}
return errors;
@@ -36,7 +36,16 @@ export default function LoginForm() {
if (typeof response !== 'string') {
await Router.push('/');
} else {
- setMessage(response.startsWith('401') ? 'Incorrect username/password' : response);
+ setMessage(
+ response.startsWith('401') ? (
+
+ ) : (
+ response
+ ),
+ );
}
};
diff --git a/components/metrics/OSTable.js b/components/metrics/OSTable.js
index f56c5519..c94cf5c6 100644
--- a/components/metrics/OSTable.js
+++ b/components/metrics/OSTable.js
@@ -6,7 +6,7 @@ import { FormattedMessage } from 'react-intl';
export default function OSTable({ websiteId, limit, onExpand }) {
return (
}
+ title={}
type="os"
metric={}
websiteId={websiteId}
diff --git a/lang/en.json b/lang/en.json
index 769bd85f..fd3a42fa 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -122,6 +122,9 @@
"message.failure": {
"defaultMessage": "Something went wrong."
},
+ "message.incorrect-username-password": {
+ "defaultMessage": "Incorrect username/password."
+ },
"message.save-success": {
"defaultMessage": "Saved successfully."
},
@@ -165,7 +168,7 @@
"defaultMessage": "Raw"
},
"metrics.operating-system": {
- "defaultMessage": "Operating System"
+ "defaultMessage": "Operating system"
},
"metrics.page-views": {
"defaultMessage": "Page views"
diff --git a/lang/zh-CN.json b/lang/zh-CN.json
index 030f6916..97726fe3 100644
--- a/lang/zh-CN.json
+++ b/lang/zh-CN.json
@@ -122,6 +122,9 @@
"message.failure": {
"defaultMessage": "出现错误."
},
+ "message.incorrect-username-password": {
+ "defaultMessage": "用户名密码不正确."
+ },
"message.save-success": {
"defaultMessage": "成功保存."
},