优化,减少可能到来的1.2.4的工作量

1.增加翻译
2.为darkmode添加过度动画
3.修改package.json
This commit is contained in:
Riceneeder 2022-09-03 20:42:34 +08:00
parent 8cc58d9e68
commit 5ad1fc333e
19 changed files with 51 additions and 45 deletions
package.json
src
index.html
js
components
MessageInput
Offline
UserList
pages
AddFriend
AddMember
BatchSend
ConfirmImagePaste
Contacts
Footer
Forward
Home
ChatContent
SearchBar
Layout.js
Login
Members
NewChat
UserInfo

@ -4,7 +4,7 @@
"description": "make weweChat great again!!!",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"test": "yarn build && ./node_modules/.bin/electron ./dist/main.js",
"js-lint": "node node_modules/.bin/eslint .",
"css-lint": "stylelint --fix src/**/*.css",
"lint": "yarn css-lint && yarn js-lint",
@ -54,7 +54,7 @@
},
"linux": {
"icon": "../resource",
"category": "Chat",
"category": "Network",
"executableName": "wewechat",
"target": [
"deb",
@ -75,9 +75,8 @@
},
"publish": [
{
"provider": "github",
"owner": "riceneeder",
"repo": "weweChat"
"provider": "generic",
"url": "https://gitee.com/spark-community-works-collections/wewechat-plus-plus/raw/master/"
}
]
},

@ -5,6 +5,13 @@
<meta charset="utf-8">
<title>weweChat</title>
</head>
<style>
.darkmode-layer {
width: 100%;
height: 1px;
top: -1px;
}
</style>
<body>
<div id="root"></div>
<script>

@ -29,7 +29,7 @@ export default class MessageInput extends Component {
&& user.length === 1
&& user.slice(-1).pop().UserName === this.props.me.UserName
) {
this.props.showMessage('Can\'t send messages to yourself.');
this.props.showMessage('不能向自己发送消息');
return false;
}
@ -62,7 +62,7 @@ export default class MessageInput extends Component {
);
if (!res) {
await this.props.showMessage(batch ? `Sending message to ${e.NickName} has failed!` : 'Failed to send message.');
await this.props.showMessage(batch ? `Sending message to ${e.NickName} has failed!` : '消息发送失败');
}
return true;
@ -114,7 +114,7 @@ export default class MessageInput extends Component {
continue;
}
// In batch mode just show the failed message
showMessage('Failed to send image.');
showMessage('发送图片失败');
}
}
}

@ -25,9 +25,9 @@ export default class Avatar extends Component {
className="disabledDrag"
src="assets/images/offline.png" />
<h1>Oops, seems like you are offline!</h1>
<h1>离线了离线了!</h1>
<button onClick={e => window.location.reload()}>Reload</button>
<button onClick={e => window.location.reload()}>尝试重新加载</button>
</div>
</div>
);

@ -145,7 +145,7 @@ export default class UserList extends Component {
return (
<li className={classes.notfound}>
<img src="assets/images/crash.png" />
<h3>Can't find any people matching '{searching}'</h3>
<h3>没有搜索到 '{searching}'</h3>
</li>
);
}
@ -180,7 +180,7 @@ export default class UserList extends Component {
autoFocus={true}
onKeyUp={e => this.navigation(e)}
onInput={e => this.search(e.target.value)}
placeholder="Type to Search..."
placeholder="输入需要搜索的对象"
ref="input"
type="text" />

@ -27,18 +27,18 @@ export default class AddFriend extends Component {
onCancel={e => close()}
show={show}>
<ModalBody className={classes.container}>
Send friend request first
发送好友请求
<input
autoFocus={true}
defaultValue={`Hallo, im ${me && me.User.NickName}`}
defaultValue={`你好,我是 ${me && me.User.NickName}`}
ref="input"
type="text" />
<div>
<button onClick={e => this.addFriend()}>Send</button>
<button onClick={e => this.addFriend()}>发送</button>
<button onClick={e => close()}>Cancel</button>
<button onClick={e => close()}>取消</button>
</div>
</ModalBody>
</Modal>

@ -88,7 +88,7 @@ export default class AddMember extends Component {
onCancel={e => this.close()}
show={this.props.show}>
<ModalBody className={classes.container}>
Add Members
添加群组
<div className={classes.avatars}>
{
@ -110,10 +110,10 @@ export default class AddMember extends Component {
<button
disabled={!this.state.selected.length}
onClick={e => this.add(this.state.selected)}>
Add
添加
</button>
<button onClick={e => this.close()}>Cancel</button>
<button onClick={e => this.close()}>取消</button>
</div>
</ModalBody>
</Modal>

@ -103,7 +103,7 @@ export default class BatchSend extends Component {
<input
autoFocus={true}
onInput={e => this.search(e.target.value)}
placeholder="Batch to send message, Choose one or more user."
placeholder="批量发送消息,选择一个或多个用户"
type="text" />
<span>
@ -126,7 +126,7 @@ export default class BatchSend extends Component {
(searching && filtered.length === 0) && (
<div className={classes.notfound}>
<img src="assets/images/crash.png" />
<h1>Can't find any people matching '{searching}'</h1>
<h1>不能找到 '{searching}'</h1>
</div>
)
}

@ -49,14 +49,14 @@ export default class ConfirmImagePaste extends Component {
fullscreen={true}
show={show}>
<ModalBody className={classes.container}>
Send image ?
发送图片 ?
<img src={image} />
<div>
<input onKeyUp={e => this.navigation(e)} id="imageInputHidden" style={{'zIndex': '-1', 'position': 'absolute', 'top': '-20px'}} />
<button onClick={e => ok()}>Send</button>
<button onClick={e => cancel()}>Cancel</button>
<button onClick={e => ok()}>发送</button>
<button onClick={e => cancel()}>取消</button>
</div>
</ModalBody>
</Modal>

@ -82,7 +82,7 @@ export default class Contacts extends Component {
<div className={clazz(classes.container, classes.notfound)}>
<div className={classes.inner}>
<img src="assets/images/crash.png" />
<h1>Can't find any people matching '{query}'</h1>
<h1>找不到 '{query}'</h1>
</div>
</div>
);

@ -11,7 +11,7 @@ export default class Placeholder extends Component {
className={classes.button}
href="mailto:var.845541909@qq.com?Subject=WeWeChat%20Feedback"
target="_blank">
Send Feedback
发送反馈
<i className="icon-ion-ios-email-outline" />
</a>
@ -19,7 +19,7 @@ export default class Placeholder extends Component {
className={classes.button}
href="https://gitee.com/spark-community-works-collections/wewechat-plus-plus"
target="_blank">
Fork on Gitee
查看代码
<i className="icon-ion-fork-repo" />
</a>
</div>

@ -103,7 +103,7 @@ export default class Forward extends Component {
发送消息
</button>
<button onClick={e => this.close()}>Cancel</button>
<button onClick={e => this.close()}>取消</button>
</div>
</ModalBody>
</Modal>

@ -155,7 +155,7 @@ export default class ChatContent extends Component {
return `
<div class="${classes.invalidEmoji}">
<div></div>
<span>Send an emoji, view it on mobile</span>
<span>不支持的emoji请在其他客户端查看</span>
</div>
`;
@ -201,7 +201,7 @@ export default class ChatContent extends Component {
console.error('Invalid video message: %o', message);
return `
Receive an invalid video message, please see the console output.
收到无法解析的视频消息请参阅控制台输出
`;
}
@ -215,7 +215,7 @@ export default class ChatContent extends Component {
return `
<div class="${classes.transfer}">
<h4>Money Transfer</h4>
<h4>转账消息</h4>
<span>💰 ${transfer.money}</span>
<p>如需收钱请打开手机微信确认收款</p>
</div>
@ -229,7 +229,7 @@ export default class ChatContent extends Component {
/* eslint-disable */
return `
<div class="${classes.file}" data-id="${message.MsgId}">
<img src="assets/images/filetypes/${helper.getFiletypeIcon(file.extension)}" class="disabledDrag" />
<div>
@ -257,7 +257,7 @@ export default class ChatContent extends Component {
return `
<div class="${classes.locationSharing}">
<i class="icon-ion-ios-location"></i>
Location sharing, Please check your phone.
位置分享请查看其他客户端
</div>
`;
}
@ -485,7 +485,7 @@ export default class ChatContent extends Component {
var user = this.props.user;
var menu = new remote.Menu.buildFromTemplate([
{
label: 'Toggle the conversation',
label: '切换对话',
click: () => {
this.props.toggleConversation();
}
@ -535,7 +535,7 @@ export default class ChatContent extends Component {
});
if (counter) {
tips.innerHTML = `You has ${counter} unread messages.`;
tips.innerHTML = `你有${counter}个未读消息`;
tips.classList.add(classes.show);
} else {
tips.classList.remove(classes.show);
@ -573,7 +573,7 @@ export default class ChatContent extends Component {
let counter = viewport.querySelectorAll(`.${classes.message}.unread`).length;
if (counter) {
tips.innerHTML = `You has ${counter} unread messages.`;
tips.innerHTML = `你有${counter}个未读消息`;
tips.classList.add(classes.show);
}
return;

@ -209,7 +209,7 @@ export default class SearchBar extends Component {
onFocus={e => this.filter(e.target.value)}
onInput={e => this.filter(e.target.value)}
onKeyUp={e => this.navigation(e)}
placeholder="Search ..."
placeholder="搜索 ..."
ref="search"
type="text" />
{

@ -195,7 +195,7 @@ export default class Layout extends Component {
<i className="icon-ion-ios-cloud-upload-outline" />
<h2>Drop your file here</h2>
<h2>将文件拖到此处</h2>
</div>
</div>
</div>

@ -24,8 +24,8 @@ export default class Login extends Component {
src={this.props.avatar} />
}
<p>Scan successful</p>
<p>Confirm login on mobile WeChat</p>
<p>扫码成功</p>
<p>请在手机微信上确认登陆</p>
</div>
);
}

@ -68,7 +68,7 @@ export default class Members extends Component {
(searching && filtered.length === 0) && (
<div className={classes.notfound}>
<img src="assets/images/crash.png" />
<h1>Can't find any people matching '{searching}'</h1>
<h1>找不到 '{searching}'</h1>
</div>
)
}

@ -114,10 +114,10 @@ export default class NewChat extends Component {
<button
disabled={!this.state.selected.length}
onClick={e => this.chat()}>
Chat
发送消息
</button>
<button onClick={e => this.close()}>Cancel</button>
<button onClick={e => this.close()}>取消</button>
</div>
</ModalBody>
</Modal>

@ -75,7 +75,7 @@ class UserInfo extends Component {
});
this.toggleEdit(false);
} else {
this.props.showMessage('Failed to set remark name.');
this.props.showMessage('设置备注失败');
}
}
@ -221,7 +221,7 @@ class UserInfo extends Component {
autoFocus={true}
defaultValue={RemarkName}
onKeyPress={e => this.handleEnter(e)}
placeholder="Type the remark name"
placeholder="设置备注"
ref="input"
type="text" />
)