From 7976c974e4e30e6deb1410321dad53879cdb4cd4 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Mon, 1 Jul 2019 16:22:08 +0800 Subject: [PATCH] * adjust translate index page and copy zh-cn.php to en.php. --- module/translate/control.php | 2 +- module/translate/css/index.css | 7 +- module/translate/lang/en.php | 117 ++++++++++++--------------- module/translate/lang/zh-cn.php | 1 + module/translate/model.php | 5 +- module/translate/view/index.html.php | 16 +++- module/upgrade/control.php | 1 + 7 files changed, 75 insertions(+), 74 deletions(-) diff --git a/module/translate/control.php b/module/translate/control.php index 12c08854ce..a032a6fd55 100644 --- a/module/translate/control.php +++ b/module/translate/control.php @@ -44,7 +44,7 @@ class translate extends control { $finishedLangs[$translateLang] = $this->config->langs[$translateLang]; } - else + elseif(isset($this->config->langs[$translateLang])) { $data->name = $this->config->langs[$translateLang]; $translatingLangs[$translateLang] = $data; diff --git a/module/translate/css/index.css b/module/translate/css/index.css index 72cf440707..7b19407fc6 100644 --- a/module/translate/css/index.css +++ b/module/translate/css/index.css @@ -5,6 +5,9 @@ #translatingLangs .panel .panel-body{padding-right:0px;} #translatingLangs .panel .panel-body .actions{padding:0px; width:95px;} .panel .text-progress{color:#999;} -.panel .panel-actions{top:5px;} +.panel .panel-actions{top:8px;} .panel p{padding-bottom:5px;} -.item .pull-right{color:#999;} +#finishedLangs .panel-body{margin-top:5px;} +#finishedLangs .item{height:30px;} +#finishedLangs .item h4{margin:0; height:100%; line-height:30px;} +#finishedLangs .item .pull-right{color:#999; line-height:30px;} diff --git a/module/translate/lang/en.php b/module/translate/lang/en.php index 4574720801..313aa175a8 100644 --- a/module/translate/lang/en.php +++ b/module/translate/lang/en.php @@ -1,6 +1,6 @@ @@ -8,75 +8,58 @@ * @version $Id$ * @link http://www.zentao.net */ -$lang->translate->common = 'The platform translate together'; +$lang->translate->common = '翻译'; +$lang->translate->index = '首页'; +$lang->translate->addLang = '新增语言'; +$lang->translate->module = '翻译模块'; +$lang->translate->review = '审校'; +$lang->translate->result = '审校结果'; +$lang->translate->batchPass = '批量通过'; +$lang->translate->export = '导出新语言'; +$lang->translate->setting = '设置'; +$lang->translate->chooseModule = '选择翻译模块'; -$lang->translate->allModules = 'All Zentao Modules'; -$lang->translate->consultLang = 'Current consult language:%s. You can change language for'; -$lang->translate->item = 'Item'; -$lang->translate->action = 'Action'; -$lang->translate->other = 'Other'; -$lang->translate->moduleTitle = 'Zentao%s - %s Module %s Language'; +$lang->translate->name = '语言名称'; +$lang->translate->code = '代号'; +$lang->translate->key = '键'; +$lang->translate->reference = '参考语言'; +$lang->translate->status = '状态'; +$lang->translate->refreshPage = '刷新'; +$lang->translate->reason = '拒绝原因'; -$lang->translate->translate = 'Translate'; -$lang->translate->download = 'Download'; -$lang->translate->back = 'Back Translation Index'; -$lang->translate->vote = 'Vote'; +$lang->translate->reviewTurnon = '评审流程'; +$lang->translate->reviewTurnonList['1'] = '开启'; +$lang->translate->reviewTurnonList['0'] = '关闭'; -$lang->translate->zentaoVersions[] = 'Select zentao version'; -$lang->translate->zentaoVersions['3.0beta1'] = 'Zentao3.0.beta1'; +$lang->translate->resultList['pass'] = '通过'; +$lang->translate->resultList['reject'] = '拒绝'; -$lang->translate->langs['af'] = 'Afrikaans'; -$lang->translate->langs['sq'] = 'Shqip - albanian '; -$lang->translate->langs['ar'] = 'العربية - arabic '; -$lang->translate->langs['az'] = 'Azərbaycanca - azerbaijani '; -$lang->translate->langs['eu'] = 'Euskara - basque '; -$lang->translate->langs['be'] = 'Беларуская - belarusian '; -$lang->translate->langs['be_lat'] = 'Byelorussian - belarusian latin '; -$lang->translate->langs['bs'] = 'Bosanski - bosnian '; -$lang->translate->langs['pt_br'] = 'Português - brazilian portuguese'; -$lang->translate->langs['bg'] = 'Български - bulgarian '; -$lang->translate->langs['ca'] = 'Català - catalan '; -$lang->translate->langs['hr'] = 'Hrvatski - croatian '; -$lang->translate->langs['cs'] = 'Česky - czech '; -$lang->translate->langs['da'] = 'Dansk - danish '; -$lang->translate->langs['nl'] = 'Nederlands - dutch '; -$lang->translate->langs['et'] = 'Eesti - estonian '; -$lang->translate->langs['fi'] = 'Suomi - finnish '; -$lang->translate->langs['fr'] = 'Français - french '; -$lang->translate->langs['gl'] = 'Galego - galician '; -$lang->translate->langs['de'] = 'Deutsch - german '; -$lang->translate->langs['el'] = 'Ελληνικά - greek '; -$lang->translate->langs['he'] = 'עברית - hebrew '; -$lang->translate->langs['hu'] = 'Magyar - hungarian '; -$lang->translate->langs['id'] = 'Bahasa Indonesia - indonesian '; -$lang->translate->langs['it'] = 'Italiano - italian '; -$lang->translate->langs['ja'] = '日本語 - japanese '; -$lang->translate->langs['ko'] = '한국어 - korean '; -$lang->translate->langs['lt'] = 'Lietuvių - lithuanian '; -$lang->translate->langs['lv'] = 'Latviešu - latvian '; -$lang->translate->langs['mk'] = 'Macedonian - macedonian '; -$lang->translate->langs['ms'] = 'Bahasa Melayu - malay '; -$lang->translate->langs['mn'] = 'Монгол - mongolian '; -$lang->translate->langs['no'] = 'Norsk - norwegian '; -$lang->translate->langs['fa'] = 'فارسی - persian '; -$lang->translate->langs['pl'] = 'Polski - polish '; -$lang->translate->langs['pt'] = 'Português - portuguese '; -$lang->translate->langs['ro'] = 'Română - romanian '; -$lang->translate->langs['ru'] = 'Русский - russian '; -$lang->translate->langs['sr_lat'] = 'Srpski - serbian latin '; -$lang->translate->langs['sr'] = 'Српски - serbian '; -$lang->translate->langs['es'] = 'Español - spanish '; -$lang->translate->langs['sk'] = 'Slovenčina - slovak '; -$lang->translate->langs['sl'] = 'Slovenščina - slovenian '; -$lang->translate->langs['sv'] = 'Svenska - swedish '; -$lang->translate->langs['th'] = 'ภาษาไทย - thai '; -$lang->translate->langs['tr'] = 'Türkçe - turkish '; -$lang->translate->langs['tt'] = 'Tatarça - tatarish '; -$lang->translate->langs['uk'] = 'Українська - ukrainian '; -$lang->translate->langs['en'] = 'English'; -$lang->translate->langs['zh_cn'] = '中文简体'; -$lang->translate->langs['zh_tw'] = '中文繁体'; +$lang->translate->group = '分组'; +$lang->translate->allTotal = '总条目'; +$lang->translate->translatedTotal = '已翻译条目数'; +$lang->translate->changedTotal = '已修改条目数'; +$lang->translate->reviewedTotal = '已审校条目数'; +$lang->translate->translatedProgress = '翻译进度'; +$lang->translate->reviewedProgress = '审校进度'; + +$lang->translate->builtIn = '内置语言'; +$lang->translate->finished = '翻译完成'; +$lang->translate->progress = '完成 %s'; +$lang->translate->count = '(%s 种)'; + +$lang->translate->finishedLang = '已经完成的语言'; +$lang->translate->translatingLang = '正在翻译的语言'; +$lang->translate->allItems = '所有的语言条目数:%s条'; + +$lang->translate->statusList['waiting'] = '未翻译'; +$lang->translate->statusList['translated'] = '已翻译'; +$lang->translate->statusList['reviewed'] = '已评审'; +$lang->translate->statusList['rejected'] = '已拒绝'; +$lang->translate->statusList['changed'] = '已改变'; $lang->translate->notice = new stdclass(); -$lang->translate->notice->noVersion = 'Select zentao version please'; -$lang->translate->notice->delete = 'Are you sure delete this translation?'; +$lang->translate->notice->failDirPriv = "目录没有写入权限,请修改权限。
%s"; +$lang->translate->notice->failCopyFile = "复制文件%s到%s失败,请检查权限!"; +$lang->translate->notice->failUnique = "已经有代号 %s 的记录"; +$lang->translate->notice->failMaxInput = "请修改php.ini的max_input_vars参数,修改为 %s,以保证表单提交。"; +$lang->translate->notice->failRuleCode = "『语言代号』应当为字母、数字或下划线的组合。"; diff --git a/module/translate/lang/zh-cn.php b/module/translate/lang/zh-cn.php index 71b29664d8..313aa175a8 100644 --- a/module/translate/lang/zh-cn.php +++ b/module/translate/lang/zh-cn.php @@ -62,3 +62,4 @@ $lang->translate->notice->failDirPriv = "目录没有写入权限,请修改 $lang->translate->notice->failCopyFile = "复制文件%s到%s失败,请检查权限!"; $lang->translate->notice->failUnique = "已经有代号 %s 的记录"; $lang->translate->notice->failMaxInput = "请修改php.ini的max_input_vars参数,修改为 %s,以保证表单提交。"; +$lang->translate->notice->failRuleCode = "『语言代号』应当为字母、数字或下划线的组合。"; diff --git a/module/translate/model.php b/module/translate/model.php index 5a3d6be512..6fea96d872 100644 --- a/module/translate/model.php +++ b/module/translate/model.php @@ -17,6 +17,7 @@ class translateModel extends model $data = fixer::input('post')->add('createdBy', $this->app->user->account)->get(); if(empty($data->name)) dao::$errors['name'] = sprintf($this->lang->error->notempty, $this->lang->translate->name); if(empty($data->code)) dao::$errors['code'] = sprintf($this->lang->error->notempty, $this->lang->translate->code); + if(!baseValidater::checkREG($data->code, '|^[A-Za-z0-9_]+$|')) dao::$errors['code'] = $this->lang->translate->notice->failRuleCode; if(dao::isError()) return false; $langs = empty($this->config->global->langs) ? array() : json_decode($this->config->global->langs, true); @@ -195,7 +196,7 @@ class translateModel extends model public function getLangStatistics() { - $langs = $this->dao->select("`lang`,sum(if((status = 'translated'),1,0)) as translatedItems,sum(if((status = 'reviewed'),1,0)) as reviewedItems, count(*) as count")->from(TABLE_TRANSLATION)->groupBy('`lang`')->fetchAll('lang'); + $langs = $this->dao->select("`lang`,sum(if((status = 'translated'),1,0)) as translatedItems,sum(if((status = 'reviewed'),1,0)) as reviewedItems, count(*) as count")->from(TABLE_TRANSLATION)->where('`lang`')->in(array_keys($this->config->langs))->groupBy('`lang`')->fetchAll('lang'); foreach($langs as $lang => $data) $data->progress = round(($data->translatedItems + $data->reviewedItems) / $data->count, 3); return $langs; } @@ -497,7 +498,7 @@ class translateModel extends model public function compare() { $version = $this->config->version; - $translations = $this->dao->select('*')->from(TABLE_TRANSLATION)->where('version')->ne($version)->fetchAll(); + $translations = $this->dao->select('*')->from(TABLE_TRANSLATION)->where('version')->ne($version)->andWhere('lang')->in(array_keys($this->config->langs))->fetchAll(); if(empty($translations)) return true; $translateGroups = array(); diff --git a/module/translate/view/index.html.php b/module/translate/view/index.html.php index c0c18953c5..f361977e4e 100644 --- a/module/translate/view/index.html.php +++ b/module/translate/view/index.html.php @@ -7,7 +7,7 @@
-
+
translate->finishedLang;?>
@@ -16,7 +16,19 @@
$langName):?>
-
translate->defaultLang) ? $lang->translate->builtIn : $lang->translate->finished;?>
+
+ translate->defaultLang)) + { + echo $lang->translate->builtIn; + } + else + { + echo html::a(inlink('chooseModule', "language=$langKey"), $lang->translate->common, '', "class='btn btn-sm'"); + echo html::a(inlink('export', "language=$langKey"), $lang->export, '', "class='btn btn-sm iframe'"); + } + ?> +

diff --git a/module/upgrade/control.php b/module/upgrade/control.php index bb35f51241..24f44f5295 100644 --- a/module/upgrade/control.php +++ b/module/upgrade/control.php @@ -164,6 +164,7 @@ class upgrade extends control } if(empty($needProcess) or $processed == 'yes') { + $this->loadModel('translate')->compare(); $this->loadModel('setting')->updateVersion($this->config->version); @unlink($this->app->getAppRoot() . 'www/install.php');