perf: 优化翻译

This commit is contained in:
kuaifan 2023-02-15 20:34:29 +08:00
parent 84864801aa
commit a1e8da140e
13 changed files with 1223 additions and 910 deletions

View File

@ -2,7 +2,7 @@
All notable changes to this project will be documented in this file.
## [0.23.3]
## [0.23.4]
### Performance

View File

@ -1,6 +1,6 @@
{
"name": "DooTask",
"version": "0.23.3",
"version": "0.23.4",
"description": "DooTask is task management system.",
"scripts": {
"start": "./cmd dev",

View File

@ -101,12 +101,11 @@ let languageData = [];
let languageType = languageUtils.getLanguage();
let languageList = {
"EN": "English",
"KM": "ភាសាខ្មែរ",
"TH": "ภาษาไทย",
"KO": "한국어",
"JA": "日本語",
"CN": "简体中文",
"TC": "繁體中文",
"FR": "Français",
};
let languageAsciis = {};

View File

@ -8,10 +8,10 @@
<div class="logo no-dark-content"></div>
</div>
<div class="header-nav-box header-nav-boxs" v-if="windowWidth > 780">
<Button v-if="showItem.pro" class="header-right-pro no-dark-content" size="small" @click="onPro">{{$L('Pro版')}}</Button>
<template v-if="windowWidth >= 820">
<Button v-if="showItem.pro" class="header-right-pro no-dark-content" size="small" @click="onPro">{{$L('Pro版')}}</Button>
<a v-if="showItem.github" class="header-right-github" :href="showItem.github" target="_blank"><Icon type="logo-github"/></a>
<div v-if="showItem.updateLog" class="header-right-uplog" @click="onUplog">{{$L('更新日志')}}</div>
<div v-if="showItem.updateLog" class="header-right-uplog" @click="uplogShow=true">{{$L('更新日志')}}</div>
</template>
<div class="header-right-1">
@ -44,7 +44,7 @@
</DropdownMenu>
</Dropdown>
</div>
<div v-if="userId > 0" class="header-right-5" @click="login">
<div v-if="userId > 0" class="header-right-5 no-dark-content" @click="login">
<UserAvatar :userid="userId" :size="38"/>
</div>
<template v-else>
@ -210,31 +210,17 @@
</div>
<!--更新日志-->
<Modal
v-model="uplogShow"
:fullscreen="uplogFull"
class-name="page-index-uplog">
<div slot="header">
<div class="uplog-head">
<div class="uplog-title">{{$L('更新日志')}}</div>
<Tag v-if="showItem.updateVer" color="volcano">{{showItem.updateVer}}</Tag>
</div>
</div>
<MarkdownPreview class="uplog-body scrollbar-overlay" :initialValue="showItem.updateLog"/>
<div slot="footer" class="adaption">
<Button type="default" @click="uplogFull=!uplogFull">{{$L(uplogFull ? '缩小查看' : '全屏查看')}}</Button>
</div>
</Modal>
<UpdateLog v-model="uplogShow" :update-log="showItem.updateLog" :update-ver="showItem.updateVer"/>
</div>
</template>
<script>
import {mapState} from "vuex";
import {languageList, languageType, setLanguage} from "../language";
import MarkdownPreview from "../components/MDEditor/components/preview";
import UpdateLog from "./manage/components/UpdateLog";
export default {
components: {MarkdownPreview},
components: {UpdateLog},
data() {
return {
languageList,
@ -250,7 +236,6 @@ export default {
homeFooter: '',
uplogShow: false,
uplogFull: false,
};
},
computed: {
@ -292,10 +277,6 @@ export default {
this.goForward({name: 'pro'});
},
onUplog() {
this.uplogShow = true
},
setTheme(mode) {
this.$store.dispatch("setTheme", mode)
},

View File

@ -165,8 +165,8 @@
</FormItem>
<FormItem prop="userlimit" :label="$L('限制负责人')">
<iSwitch v-model="userData.userlimit" :true-value="1" :false-value="0"/>
<div v-if="userData.userlimit===1" class="form-tip">{{$L(`流转到${userData.name}"状态负责人""项目管理员"可以修改状态`)}}</div>
<div v-else class="form-tip">{{$L(`流转到【${userData.name}】时,"任务负责人"和"项目管理员"可以修改状态。`)}}</div>
<div v-if="userData.userlimit===1" class="form-tip">{{$L(`流转到${userData.name}[任务负责人] [项目管理员] 可以修改状态`)}}</div>
<div v-else class="form-tip">{{$L(`流转到【${userData.name}】时,'任务负责人'和'项目管理员'可以修改状态。`)}}</div>
</FormItem>
</Form>
<div slot="footer" class="adaption">

View File

@ -0,0 +1,52 @@
<template>
<Modal
v-model="uplogShow"
:fullscreen="uplogFull"
class-name="update-log">
<div slot="header">
<div class="uplog-head">
<div class="uplog-title">{{$L('更新日志')}}</div>
<Tag v-if="updateVer" color="volcano">{{updateVer}}</Tag>
</div>
</div>
<MarkdownPreview class="uplog-body scrollbar-overlay" :initialValue="updateLog"/>
<div slot="footer" class="adaption">
<Button type="default" @click="uplogFull=!uplogFull">{{$L(uplogFull ? '缩小查看' : '全屏查看')}}</Button>
</div>
</Modal>
</template>
<script>
import MarkdownPreview from "../../../components/MDEditor/components/preview";
export default {
name: 'UpdateLog',
components: {MarkdownPreview},
props: {
value:{
type: Boolean,
default: false
},
updateVer: {},
updateLog: {},
},
data() {
return {
uplogShow: false,
uplogFull: false
}
},
watch: {
value: {
handler(val) {
this.uplogShow = val
},
immediate: true
},
uplogShow(val) {
this.$emit("input", val)
}
},
}
</script>

View File

@ -27,13 +27,13 @@
v-model="warningShow"
:title="$L(`删除${appTitle}帐号`)"
class="page-setting-delete-box">
<div class="big-text">{{ $L('账号删除后,该账号将无法正常登录且无法恢复,账号下的所有数据也将被删除。') }}</div>
<div class="big-text">{{ $L('帐号删除后,该帐号将无法正常登录且无法恢复,帐号下的所有数据也将被删除。') }}</div>
<div class="small-text">
<div>{{ $L('删除前,请确认以下事项:') }}</div>
<div>{{ $L('1、您将无法查看该账号内的任何信息,包括账号信息、文件记录、聊天记录、项目信息、团队成员信息等。') }}</div>
<div>{{ $L('1、您将无法查看该帐号内的任何信息,包括帐号信息、文件记录、聊天记录、项目信息、团队成员信息等。') }}</div>
<div>{{ $L('2、若你是团队的所有者请在删除您的帐号前转移所有权。例如该帐号所创建的项目可将项目移交他人或删除项目以及文件夹。') }}</div>
<div>{{ $L('3、您将退出所有群聊无法查到过往消息和人员。') }}</div>
<div>{{ $L('4、请保证号未被暂停使用。') }}</div>
<div>{{ $L('4、请保证号未被暂停使用。') }}</div>
</div>
<div slot="footer" class="button-box">
<Button type="primary" :loading="loadIng > 0" @click="submitForm('confirm')">{{ $L('已清楚风险确定删除') }}

View File

@ -8,16 +8,18 @@
<div class="header">
<div class="z-row">
<div class="header-col-sub">
<div @click="goForward({name: 'index', query: {action: 'index'}})" class="logo"></div>
<div @click="goHome" class="logo"></div>
</div>
<div class="z-1">
<dl>
<dd>
<a class="right-info" target="_blank" href="https://github.com/kuaifan/dootask">
<div class="right-info" @click="goHome">{{$L('返回首页')}}</div>
<div v-if="showItem.updateLog" class="right-info" @click="uplogShow=true">{{$L('更新日志')}}</div>
<a class="right-info item-center" target="_blank" href="https://github.com/kuaifan/dootask">
<Icon class="right-icon" type="logo-github"/>
</a>
<Dropdown class="right-info" trigger="click" @on-click="onLanguage">
<div>
<div class="item-center">
<Icon class="right-icon" type="md-globe"/>
<Icon type="md-arrow-dropdown"/>
</div>
@ -72,7 +74,7 @@
<div class="plans-table-info-desc">{{$L('拥有最新版本所有功能')}}</div>
<div class="plans-table-info-desc">{{$L('无限制')}}</div>
<div class="plans-table-info-btn">
<Tooltip :content="$L('帐号:%、密码:%', 'admin', '123456')" transfer>
<Tooltip :content="$L('帐号admin、密码123456')" transfer>
<a href="https://www.dootask.com" class="btn" target="_blank">{{$L('体验DEMO')}}</a>
</Tooltip>
</div>
@ -247,7 +249,7 @@
<div class="plans-table-td"><span> - </span></div>
<div class="plans-table-td"><span> - </span></div>
<div class="plans-table-info-btn">
<Tooltip :content="$L('帐号:%、密码:%', 'admin', '123456')" transfer>
<Tooltip :content="$L('帐号admin、密码123456')" transfer>
<a href="https://www.dootask.com" class="btn" target="_blank">{{$L('体验DEMO')}}</a>
</Tooltip>
</div>
@ -367,7 +369,7 @@
{{$L('全面的支持服务')}}
</div>
<div class="desc-text">
{{$L('多种支持服务让企业无后顾之忧7*24 线上支持、在线工单、中英文邮件支持、上门支持')}}
{{$L('多种支持服务让企业无后顾之忧7x24 线上支持、在线工单、中英文邮件支持、上门支持')}}
</div>
</div>
</div>
@ -426,6 +428,7 @@
<div v-if="systemConfig.home_footer" class="contact-footer"><span v-html="systemConfig.home_footer"></span></div>
<!--联系我们-->
<Modal
v-model="contactShow"
:title="$L('联系我们')"
@ -436,23 +439,12 @@
<Button type="primary" @click="contactShow=false">{{$L('确定')}}</Button>
</div>
</Modal>
<!--更新日志-->
<UpdateLog v-model="uplogShow" :update-log="showItem.updateLog" :update-ver="showItem.updateVer"/>
</div>
</template>
<style lang="scss" scoped>
.contact-modal {
p {
padding: 0;
margin: 0;
font-size: 16px;
text-align: center;
img {
display: inline-block;
width: 248px;
}
}
}
</style>
<style lang="scss" scoped>
.page-plans {
height: 100%;
@ -498,6 +490,7 @@
height: 36px;
background: url("../images/logo-index.svg") no-repeat center center;
background-size: contain;
cursor: pointer;
}
}
.z-1 {
@ -511,16 +504,22 @@
color: #fff;
cursor: pointer;
margin-right: 1px;
display: flex;
align-items: center;
.right-info {
display: inline-block;
cursor: pointer;
margin-left: 16px;
margin-left: 24px;
color: #ffffff;
.right-icon {
font-size: 26px;
vertical-align: middle;
}
}
.item-center {
display: flex;
align-items: center;
}
}
}
}
@ -945,9 +944,11 @@
}
</style>
<script>
import {languageList, languageType, setLanguage} from "../language";
import {languageList, languageType, setLanguage, addLanguage} from "../language";
import UpdateLog from "./manage/components/UpdateLog";
export default {
components: {UpdateLog},
data() {
return {
languageList,
@ -960,11 +961,101 @@ export default {
contactShow: false,
systemConfig: {},
showItem: {
pro: false,
github: '',
updateLog: '',
updateVer: ''
},
uplogShow: false
}
},
created() {
addLanguage([
{"CN":"多种支持服务让企业无后顾之忧7x24 线上支持、在线工单、中英文邮件支持、上门支持","EN":"A variety of support services give the enterprise without worries.","TC":"多種支持服務讓企業無後顧之憂7x24 線上支持、在線工單、中英文郵件支持、上門支持","KO":"다양한 지원 서비스는 근로자가없는 기업에 제공합니다.","JA":"さまざまなサポートサービスは、心配することなく企業を提供します。"},
{"CN":"无需本地环境准备,按需购买帐户,专业团队提供运维保障服务,两周一次的版本迭代","EN":"No need to prepare a local environment, buy accounts on demand, professional team provides operation and maintenance security services, and iterations for two weeks once a week","TC":"無需本地環境準備,按需購買帳戶,專業團隊提供運維保障服務,兩週一次的版本迭代","KO":"현지 환경을 준비하고, 주문시 계정을 구매, 프로 프랙틱 팀 제공 및 유지 보수 보안 서비스 및 2 주 동안의 설계가 onces onces onces의 설계가 필요하지 않습니다.","JA":"ローカル環境を準備したり、アカウントをオンデマンドで購入したり、プロのチームが運用とメンテナンスのセキュリティサービスを提供したり、週に1回の反復を提供する必要はありません。"},
{"CN":"资深客户成功顾问对企业进行调研、沟通需求、制定个性化的解决方案,帮助企业落地","EN":"Senior customer successful consultants investigate, communicate needs, and formulate personalized solutions to help enterprises land","TC":"資深客戶成功顧問對企業進行調研、溝通需求、制定個性化的解決方案,幫助企業落地","KO":"선임 고객 성공적인 컨설턴트는 기업 토지를 돕기 위해 조사, 요구를 조사하고 개인화 된 솔루션을 공식화합니다.","JA":"シニア顧客の成功コンサルタントは、企業の土地を支援するためにパーソナライズされたソリューションを調査、コミュニケーション、および策定します"},
{"CN":"企业隔离的云服务器环境,高可用性,网络及应用层完整隔离,数据高度自主可控","EN":"Enterprise isolation cloud server environment, high availability, network and application layer complete isolation, data high and controllable","TC":"企業隔離的雲服務器環境,高可用性,網絡及應用層完整隔離,數據高度自主可控","KO":"엔터프라이즈 격리 클라우드 서버 환경, 고 가용성, 네트워크 및 애플리케이션 계층 완전한 격리, 데이터 높음 및 제어 화","JA":"エンタープライズ分離クラウドサーバー環境、高可用性、ネットワークおよびアプリケーションレイヤーの完全な分離、データが高く、制御可能なデータ"},
{"CN":"根据需求定制培训内容,为不同角色给出专属培训方案,线上线下培训渠道全覆盖","EN":"Customize the training content according to the needs, give the exclusive training scheme for different roles, and the online and offline training channels are fully covered","TC":"根據需求定制培訓內容,為不同角色給出專屬培訓方案,線上線下培訓渠道全覆蓋","KO":"The The The The The Needs, 다른 역할에 대한 독점 교육 계획을 제공하며 온라인 및 사무실 교육 채널이 완전히 커버됩니다.","JA":"ニーズに応じてトレーニングコンテンツをカスタマイズし、さまざまな役割の排他的なトレーニングスキームを提供すると、オンラインおよびオフラインのトレーニングチャネルが完全にカバーされています"},
{"CN":"DooTask 是新一代团队协作平台,您可以根据您团队的需求,选择合适的产品功能。","EN":"Dootask is a new generation of team collaboration platform. You can choose the appropriate product function according to the needs of your team.","TC":"DooTask 是新一代團隊協作平台,您可以根據您團隊的需求,選擇合適的產品功能。","KO":"Dootask는 새로운 세대의 팀 협업 플랫폼입니다. 팀의 필요한 것들에 대한 적절한 양육 재미를 선택할 수 있습니다.","JA":"Dootaskは、新世代のチームコラボレーションプラットフォームです。チームのニーズに応じて適切な製品機能を選択できます。"},
{"CN":"基于 Docker 的容器化部署,支持高可用集群,快速弹性扩展,数据高度自主可控","EN":"Based on Docker's containerization deployment, support high available clusters, rapid elastic expansion, data highly controlled and controllable","TC":"基於 Docker 的容器化部署,支持高可用集群,快速彈性擴展,數據高度自主可控","KO":"Docker의 컨테이너화 배치를 기반으로, 높은 가용 클러스터, 빠른 탄성 확장, 데이터가 고도로 제어되고 제어되는 지원","JA":"Dockerのコンテナ化の展開に基づいて、利用可能な高いクラスター、急速な弾性拡張、高度に制御され、制御可能なデータをサポートします"},
{"CN":"多重方式保证数据不丢失高可用故障转移异地容灾备份99.99%可用性保证","EN":"Multiple ways to ensure that the data is not lost, high availability can be transferred, disasters are backup, 99.99%availability guarantee guarantee","TC":"多重方式保證數據不丟失高可用故障轉移異地容災備份99.99%可用性保證","KO":"데이터가 길지 않도록하는 여러 가지 방법, 고 가용성을 전송할 수 있고, 재해는 백업되며, 99.99%가용성 보증인 보증인","JA":"データが失われないようにする複数の方法、高可用性を転送し、災害はバックアップ、99.99%の可用性保証保証"},
{"CN":"多重方式保证帐户安全,远程会话控制,设备绑定,安全日志以及手势密码","EN":"Multiple ways to ensure account security, remote session control, device binding, security logs and gesture passwords","TC":"多重方式保證帳戶安全,遠程會話控制,設備綁定,安全日誌以及手勢密碼","KO":"계정 보안, 원격 세션 제어, 장치 바인딩, 보안 로그 및 제스처 암호를 보장하는 여러 가지 방법","JA":"アカウントセキュリティ、リモートセッション制御、デバイスバインディング、セキュリティログ、ジェスチャーパスワードを確保する複数の方法"},
{"CN":"多重方式保证数据不泄漏,基于 TLS 的数据加密传输DDOS 防御和入侵检测","EN":"Multi -way guarantees the data is not leaked. TLS -based data encryption transmission, DDOS defense and intrusion detection","TC":"多重方式保證數據不洩漏,基於 TLS 的數據加密傳輸DDOS 防禦和入侵檢測","KO":"다중 웨이 Guarane 데이터가 유출되지 않습니다. TLS 기반 데이터 암호화 전송, DDOS 방어 및 침입 탐지","JA":"マルチウェイは、データが漏れないことを保証します。TLSベースのデータ暗号化伝送、DDOS防御、侵入検出"},
{"CN":"从现在开始DooTask 为世界各地的团队提供支持,探索适合您的选项。","EN":"From now on, Dootask has provided support for teams around the world and explores the options suitable for you.","TC":"從現在開始DooTask 為世界各地的團隊提供支持,探索適合您的選項。","KO":"이제부터 Dootask는 전 세계 팀을 위해 지원을 제공했으며 귀하에게 적합한 옵션을 탐색합니다.","JA":"これから、Dootaskは世界中のチームにサポートを提供し、あなたに適したオプションを探ります。"},
{"CN":"如有任何问题,欢迎使用邮箱与我们联系。","EN":"If you have any questions, please use your mailbox to contact us.","TC":"如有任何問題,歡迎使用郵箱與我們聯繫。","KO":"궁금한 점이 있으면 사서함을 사용하여 문의하십시오.","JA":"ご質問がある場合は、メールボックスを使用してお問い合わせください。"},
{"CN":"帐号admin、密码123456","EN":"Account number: admin, password: 123456","TC":"帳號admin、密碼123456","KO":"계정 번호 : 관리자, 비밀번호 : 123456","JA":"アカウント番号管理者、パスワード123456"},
{"CN":"允许隐藏或定制产品名","EN":"Allow hidden or customized product name","TC":"允許隱藏或定制產品名","KO":"숨겨져 있거나 맞춤형 제품 이름을 허용하십시오","JA":"非表示またはカスタマイズされた製品名を許可します"},
{"CN":"多种部署方式随心选择","EN":"Choose a variety of deployment methods at will","TC":"多種部署方式隨心選擇","KO":"마음대로 다양한 배포 방법을 선택하십시오","JA":"さまざまな展開方法を自由に選択してください"},
{"CN":"多重安全策略保护数据","EN":"Multiple security strategy protection data","TC":"多重安全策略保護數據","KO":"다중 보안 전략 보호 데이터","JA":"複数のセキュリティ戦略保護データ"},
{"CN":"拥有最新版本所有功能","EN":"Have all functions of the latest version","TC":"擁有最新版本所有功能","KO":"최신 버전의 모든 기능이 있습니다","JA":"最新バージョンのすべての機能を持っています"},
{"CN":"根据您的需求量身定制","EN":"Customized according to your needs","TC":"根據您的需求量身定制","KO":"사용자 정의하십시오","JA":"ニーズに応じてカスタマイズされています"},
{"CN":"完善的服务支持体系","EN":"Perfect service support system","TC":"完善的服務支持體系","KO":"완벽한 서비스 지원 시스템","JA":"完璧なサービスサポートシステム"},
{"CN":"专属客户成功经理","EN":"Customer success manager","TC":"專屬客戶成功經理","KO":"고객 성공 관리자","JA":"カスタマーサクセスマネージャー"},
{"CN":"二次开发咨询服务","EN":"Secondary development consulting service","TC":"二次開發諮詢服務","KO":"2 차 개발 컨설팅 서비스","JA":"二次開発コンサルティングサービス"},
{"CN":"免费提供一次内训","EN":"Provide internal training for free","TC":"免費提供一次內訓","KO":"인터넷을 무료로 제공하십시오","JA":"無料で内部トレーニングを提供します"},
{"CN":"选择适合您的版本","EN":"Choose the version that suits you","TC":"選擇適合您的版本","KO":"자신에게 맞는 버전을 선택하십시오","JA":"あなたに合ったバージョンを選択してください"},
{"CN":"1:1客户成功顾问","EN":"1: 1 Customer successful consultant","TC":"1:1客戶成功顧問","KO":"1 : 1 고객 성공적인 컨설턴트","JA":"11の顧客成功コンサルタント"},
{"CN":"一对一客户顾问","EN":"One -to -one customer consultant","TC":"一對一客戶顧問","KO":"하나의 고객 컨설턴트","JA":"1人から1人の顧客コンサルタント"},
{"CN":"中英文邮件支持","EN":"Chinese and English email support","TC":"中英文郵件支持","KO":"중국어 및 영어 이메일 지원","JA":"中国語と英語の電子メールサポート"},
{"CN":"全面的支持服务","EN":"Comprehensive support service","TC":"全面的支持服務","KO":"포괄적 인 지원 서비스","JA":"包括的なサポートサービス"},
{"CN":"完善的培训体系","EN":"Comprehensive training system","TC":"完善的培訓體系","KO":"포괄적 인 Trining Systemm","JA":"包括的なトレーニングシステム"},
{"CN":"支持私有化部署","EN":"Support privatization deployment","TC":"支持私有化部署","KO":"개인 배포를 지원합니다","JA":"民営化の展開をサポートします"},
{"CN":"iOS/Android客户端","EN":"IOS/Android client","TC":"iOS/Android客戶端","KO":"iOS/Android 클라이언트","JA":"iOS/Androidクライアント"},
{"CN":"Issues/社群)","EN":"(ISSUES/Community)","TC":"Issues/社群)","KO":"(문제/커뮤니티)","JA":"(問題/コミュニティ)"},
{"CN":"在线咨询支持","EN":"Online consultation support","TC":"在線諮詢支持","KO":"온라인 상담 지원","JA":"オンライン相談サポート"},
{"CN":"明星客户案例","EN":"Star customer case","TC":"明星客戶案例","KO":"스타 고객 사례","JA":"スターの顧客ケース"},
{"CN":"电话咨询支持","EN":"Telephone consultation support","TC":"電話諮詢支持","KO":"전화 상담 지원","JA":"電話相談サポート"},
{"CN":"绑定自有域名","EN":"Bind your own domain name","TC":"綁定自有域名","KO":"자신의 도메인 이름을 바인딩하십시오","JA":"独自のドメイン名をバインドします"},
{"CN":"选择适合你的","EN":"Choose suitable for you","TC":"選擇適合你的","KO":"당신에게 적합한 선택을 선택하십시오","JA":"あなたに適した選択を選択してください"},
{"CN":"高可用性保证","EN":"High availability guarantee","TC":"高可用性保證","KO":"고 가용성 보증","JA":"高可用性保証"},
{"CN":"邮箱地址:*","EN":"Email address:*","TC":"郵箱地址:*","KO":"이메일 주소:*","JA":"電子メールアドレス:*"},
{"CN":"Mac/PC客户端","EN":"Mac/PC client","TC":"Mac/PC客戶端","KO":"Mac/PC 클라이언트","JA":"Mac/PCクライアント"},
{"CN":"本地服务器","EN":"Local server","TC":"本地服務器","KO":"로컬 서버","JA":"ローカルサーバー"},
{"CN":"周报/日报","EN":"Weekly/Daily","TC":"週報/日報","KO":"주간/매일","JA":"毎週/毎日"},
{"CN":"上门支持","EN":"Support","TC":"上門支持","KO":"지원하다","JA":"サポート"},
{"CN":"二次开发","EN":"Secondary development","TC":"二次開發","KO":"이차 개발","JA":"二次発達"},
{"CN":"产品培训","EN":"Product training","TC":"產品培訓","KO":"제품 교육","JA":"製品トレーニング"},
{"CN":"任务动态","EN":"Mission dynamic","TC":"任務動態","KO":"미션 다이나믹","JA":"ミッションダイナミック"},
{"CN":"任务类型","EN":"Task type","TC":"任務類型","KO":"작업 유형","JA":"タスクタイプ"},
{"CN":"创建群聊","EN":"Create group chat","TC":"創建群聊","KO":"그룹 채팅을 만듭니다","JA":"グループチャットを作成します"},
{"CN":"导出任务","EN":"Export task","TC":"導出任務","KO":"수출 작업","JA":"エクスポートタスク"},
{"CN":"帐户安全","EN":"Account security","TC":"帳戶安全","KO":"계정 보안","JA":"アカウントのセキュリティ"},
{"CN":"应用支持","EN":"Applied support","TC":"應用支持","KO":"응용 지원","JA":"応用サポート"},
{"CN":"数据加密","EN":"Data encryption","TC":"數據加密","KO":"데이터 암호화","JA":"データ暗号化"},
{"CN":"文件搜索","EN":"File search","TC":"文件搜索","KO":"파일 검색","JA":"ファイル検索"},
{"CN":"文件管理","EN":"File management","TC":"文件管理","KO":"파일 관리","JA":"ファイル管理"},
{"CN":"服务支持","EN":"Service support","TC":"服務支持","KO":"서비스 지원","JA":"サービスサポート"},
{"CN":"自助支持","EN":"Self -support","TC":"自助支持","KO":"자기 지원","JA":"自己サポート"},
{"CN":"返回首页","EN":"Return homepage","TC":"返回首頁","KO":"홈페이지를 반환하십시오","JA":"ホームページを返します"},
{"CN":"项目搜索","EN":"Project search","TC":"項目搜索","KO":"프로젝트 검색","JA":"プロジェクト検索"},
{"CN":"项目管理","EN":"Project management","TC":"項目管理","KO":"프로젝트 관리","JA":"プロジェクト管理"},
{"CN":"项目群聊","EN":"Project group chat","TC":"項目群聊","KO":"프로젝트 그룹 채팅","JA":"プロジェクトグループチャット"},
{"CN":"体验DEMO","EN":"Experience DEMO","TC":"體驗DEMO","KO":"데모를 경험하십시오","JA":"デモを体験してください"},
{"CN":"公有云","EN":"Public cloud","TC":"公有云","KO":"퍼블릭 클라우드","JA":"パブリッククラウド"},
{"CN":"国际化","EN":"Globalization","TC":"國際化","KO":"세계화","JA":"グローバリゼーション"},
{"CN":"定制版","EN":"Custom Edition","TC":"定製版","KO":"커스텀 에디션","JA":"カスタムエディション"},
{"CN":"无限制","EN":"Unlimited","TC":"無限制","KO":"제한 없는","JA":"無制限"},
{"CN":"甘特图","EN":"Gantt chart","TC":"甘特圖","KO":"간트 차트","JA":"ガントチャート"},
{"CN":"社区版","EN":"Community","TC":"社區版","KO":"지역 사회","JA":"コミュニティ"},
{"CN":"社区版","EN":"Compared to the PRO update cycle, longer","TC":"社區版","KO":"Pro 업데이트주기와 비교하여 더 길다","JA":"コミュニティ"},
{"CN":"私有云","EN":"Private Cloud","TC":"私有云","KO":"프라이빗 클라우드","JA":"プライベートクラウド"},
{"CN":"自定义","EN":"Customize","TC":"自定義","KO":"사용자 정의하십시오","JA":"カスタマイズ"},
{"CN":"Pro版","EN":"PRO version","TC":"Pro版","KO":"프로 버전","JA":"プロバージョン"},
{"CN":"人数","EN":"Number of people","TC":"人數","KO":"사람들의 수","JA":"人々の数"},
{"CN":"价格","EN":"Price","TC":"價格","KO":"가격","JA":"価格"},
{"CN":"推荐","EN":"Recommend","TC":"推薦","KO":"추천","JA":"お勧め"},
{"CN":"日程","EN":"Schedule","TC":"日程","KO":"일정","JA":"スケジュール"},
{"CN":"概述","EN":"Overview","TC":"概述","KO":"개요","JA":"概要"}
])
},
mounted() {
this.getSetting();
this.getShowItem();
},
computed: {
@ -978,6 +1069,10 @@ export default {
setLanguage(l)
},
goHome() {
this.goForward({name: 'index', query: {action: 'index'}});
},
getSetting() {
this.$store.dispatch("call", {
url: 'system/setting',
@ -985,6 +1080,16 @@ export default {
this.systemConfig = data;
})
},
getShowItem() {
this.$store.dispatch("call", {
url: "system/get/showitem",
}).then(({data}) => {
this.showItem = data
}).catch(_ => {
this.showItem = {}
});
},
}
}
</script>

View File

@ -399,6 +399,10 @@ body.dark-mode-reverse {
.page-header {
.header-nav {
.header-nav-box {
.header-right-github,
.header-right-uplog {
color: #000000;
}
.header-right-1 {
.header-right-1-dropdown {
color: #000000;

View File

@ -22,3 +22,4 @@
@import "task-operation";
@import "task-priority";
@import "team-management";
@import "update-log";

View File

@ -0,0 +1,58 @@
.update-log {
.uplog-head {
display: flex;
align-items: center;
.uplog-title {
display: inline-block;
vertical-align: middle;
font-size: 18px;
color: $primary-title-color;
font-weight: 500;
margin-right: 6px;
}
}
.ivu-modal-body {
padding: 0 32px !important;
.uplog-body {
max-height: 240px;
overflow-x: hidden;
.markdown-preview {
margin: -20px -12px;
h1 {
font-size: 24px;
margin-bottom: 12px;
&:first-child {
padding-top: 0;
}
}
h2 {
font-size: 18px !important;
padding-top: 2px !important;
}
ul {
li {
padding: 2px 0 2px 2px !important;
&:after {
top: 10px !important;
width: 6px !important;
height: 6px !important;
}
}
}
}
}
}
.ivu-modal-fullscreen {
.ivu-modal-body {
padding: 0 16px !important;
margin: 16px 0 !important;
.uplog-body {
max-height: none;
overflow-x: auto;
.markdown-preview {
margin: 0;
}
}
}
}
}

View File

@ -326,65 +326,6 @@
}
}
.page-index-uplog {
.uplog-head {
display: flex;
align-items: center;
.uplog-title {
display: inline-block;
vertical-align: middle;
font-size: 18px;
color: $primary-title-color;
font-weight: 500;
margin-right: 6px;
}
}
.ivu-modal-body {
padding: 0 32px !important;
.uplog-body {
max-height: 240px;
overflow-x: hidden;
.markdown-preview {
margin: -20px -12px;
h1 {
font-size: 24px;
margin-bottom: 12px;
&:first-child {
padding-top: 0;
}
}
h2 {
font-size: 18px !important;
padding-top: 2px !important;
}
ul {
li {
padding: 2px 0 2px 2px !important;
&:after {
top: 10px !important;
width: 6px !important;
height: 6px !important;
}
}
}
}
}
}
.ivu-modal-fullscreen {
.ivu-modal-body {
padding: 0 16px !important;
margin: 16px 0 !important;
.uplog-body {
max-height: none;
overflow-x: auto;
.markdown-preview {
margin: 0;
}
}
}
}
}
@media screen and (max-width: 1440px) {
.page-index {
.page-warp {

File diff suppressed because it is too large Load Diff