mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-01-19 00:09:16 +08:00
feat: Improve and format language files (#7645)
This commit is contained in:
parent
120d0dd7c6
commit
5f0c740eb0
@ -29,7 +29,7 @@ type Login struct {
|
|||||||
Captcha string `json:"captcha"`
|
Captcha string `json:"captcha"`
|
||||||
CaptchaID string `json:"captchaID"`
|
CaptchaID string `json:"captchaID"`
|
||||||
AuthMethod string `json:"authMethod" validate:"required,oneof=jwt session"`
|
AuthMethod string `json:"authMethod" validate:"required,oneof=jwt session"`
|
||||||
Language string `json:"language" validate:"required,oneof=zh en tw jp ru ms pt-BR"`
|
Language string `json:"language" validate:"required,oneof=zh en tw ja ru ms 'pt-BR'"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type MFALogin struct {
|
type MFALogin struct {
|
||||||
|
@ -105,7 +105,7 @@ func Init() {
|
|||||||
_, _ = bundle.LoadMessageFileFS(fs, "lang/pt.yaml")
|
_, _ = bundle.LoadMessageFileFS(fs, "lang/pt.yaml")
|
||||||
// (dev: lucasplcorrea) - Add pt-BR.yaml
|
// (dev: lucasplcorrea) - Add pt-BR.yaml
|
||||||
_, _ = bundle.LoadMessageFileFS(fs, "lang/pt-BR.yaml")
|
_, _ = bundle.LoadMessageFileFS(fs, "lang/pt-BR.yaml")
|
||||||
_, _ = bundle.LoadMessageFileFS(fs, "lang/jp.yaml")
|
_, _ = bundle.LoadMessageFileFS(fs, "lang/ja.yaml")
|
||||||
_, _ = bundle.LoadMessageFileFS(fs, "lang/ru.yaml")
|
_, _ = bundle.LoadMessageFileFS(fs, "lang/ru.yaml")
|
||||||
_, _ = bundle.LoadMessageFileFS(fs, "lang/ms.yaml")
|
_, _ = bundle.LoadMessageFileFS(fs, "lang/ms.yaml")
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ import zh from './modules/zh';
|
|||||||
import tw from './modules/tw';
|
import tw from './modules/tw';
|
||||||
import en from './modules/en';
|
import en from './modules/en';
|
||||||
import ptBr from './modules/pt-br';
|
import ptBr from './modules/pt-br';
|
||||||
import jp from './modules/jp';
|
import ja from './modules/ja';
|
||||||
import ru from './modules/ru';
|
import ru from './modules/ru';
|
||||||
import ms from './modules/ms';
|
import ms from './modules/ms';
|
||||||
|
|
||||||
@ -16,8 +16,8 @@ const i18n = createI18n({
|
|||||||
zh,
|
zh,
|
||||||
tw,
|
tw,
|
||||||
en,
|
en,
|
||||||
'pt-br': ptBr,
|
'pt-BR': ptBr,
|
||||||
jp,
|
ja,
|
||||||
ru,
|
ru,
|
||||||
ms,
|
ms,
|
||||||
},
|
},
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import fit2cloudEnLocale from 'fit2cloud-ui-plus/src/locale/lang/en';
|
import fit2cloudEnLocale from 'fit2cloud-ui-plus/src/locale/lang/en';
|
||||||
let xpackJpLocale = {};
|
let xpackJpLocale = {};
|
||||||
const xpackModules = import.meta.glob('../../xpack/lang/jp.ts', { eager: true });
|
const xpackModules = import.meta.glob('../../xpack/lang/ja.ts', { eager: true });
|
||||||
if (xpackModules['../../xpack/lang/jp.ts']) {
|
if (xpackModules['../../xpack/lang/ja.ts']) {
|
||||||
xpackJpLocale = xpackModules['../../xpack/lang/jp.ts']['default'] || {};
|
xpackJpLocale = xpackModules['../../xpack/lang/ja.ts']['default'] || {};
|
||||||
}
|
}
|
||||||
|
|
||||||
const message = {
|
const message = {
|
||||||
@ -106,7 +106,7 @@ const message = {
|
|||||||
protocol: 'プロトコル',
|
protocol: 'プロトコル',
|
||||||
tableSetting: 'テーブル設定',
|
tableSetting: 'テーブル設定',
|
||||||
refreshRate: 'リフレッシュレート',
|
refreshRate: 'リフレッシュレート',
|
||||||
refreshRateUnit: '更新なし|{n} second/time |{n}秒/時間',
|
refreshRateUnit: '更新なし|{n}秒/時間 |{n}秒/時間',
|
||||||
selectColumn: '列を選択します',
|
selectColumn: '列を選択します',
|
||||||
},
|
},
|
||||||
loadingText: {
|
loadingText: {
|
||||||
@ -296,15 +296,15 @@ const message = {
|
|||||||
year: '年|年|年',
|
year: '年|年|年',
|
||||||
time: 'RPM',
|
time: 'RPM',
|
||||||
core: 'コア|コア|コア',
|
core: 'コア|コア|コア',
|
||||||
millisecond: 'Millisecond |ミリ秒',
|
millisecond: 'ミリ秒 |ミリ秒',
|
||||||
secondUnit: 's',
|
secondUnit: 's',
|
||||||
minuteUnit: '分',
|
minuteUnit: 'min',
|
||||||
hourUnit: 'h',
|
hourUnit: 'h',
|
||||||
dayUnit: 'd',
|
dayUnit: 'd',
|
||||||
weekUnit: 'w',
|
weekUnit: 'w',
|
||||||
monthUnit: 'm',
|
monthUnit: 'm',
|
||||||
yearUnit: 'y',
|
yearUnit: 'y',
|
||||||
millisecondUnit: 'MS',
|
millisecondUnit: 'ms',
|
||||||
},
|
},
|
||||||
operate: {
|
operate: {
|
||||||
down: '停止',
|
down: '停止',
|
||||||
@ -317,7 +317,7 @@ const message = {
|
|||||||
},
|
},
|
||||||
menu: {
|
menu: {
|
||||||
home: '概要',
|
home: '概要',
|
||||||
apps: 'appStore',
|
apps: 'アプリストア',
|
||||||
website: 'ウェブサイト|ウェブサイト',
|
website: 'ウェブサイト|ウェブサイト',
|
||||||
project: 'プロジェクト|プロジェクト',
|
project: 'プロジェクト|プロジェクト',
|
||||||
config: '構成|構成',
|
config: '構成|構成',
|
||||||
@ -335,7 +335,7 @@ const message = {
|
|||||||
terminal: '端子|端子',
|
terminal: '端子|端子',
|
||||||
settings: '設定|設定',
|
settings: '設定|設定',
|
||||||
toolbox: 'ツールボックス',
|
toolbox: 'ツールボックス',
|
||||||
logs: 'log |ログ',
|
logs: 'ログ |ログ',
|
||||||
runtime: 'ランタイム|ランタイム',
|
runtime: 'ランタイム|ランタイム',
|
||||||
processManage: 'プロセス|プロセス',
|
processManage: 'プロセス|プロセス',
|
||||||
process: 'プロセス|プロセス',
|
process: 'プロセス|プロセス',
|
||||||
@ -436,7 +436,7 @@ const message = {
|
|||||||
|
|
||||||
confChange: '構成',
|
confChange: '構成',
|
||||||
confNotFound:
|
confNotFound:
|
||||||
'構成ファイルは見つかりませんでした。アプリケーションをApp Storeの最新バージョンにアップグレードして、再試行してください!',
|
'設定ファイルが見つかりませんでした。アプリストアでアプリケーションを最新バージョンにアップグレードして、再度お試しください!',
|
||||||
|
|
||||||
portHelper:
|
portHelper:
|
||||||
'このポートは、コンテナの露出したポートです。変更を個別に保存して、コンテナを再起動する必要があります!',
|
'このポートは、コンテナの露出したポートです。変更を個別に保存して、コンテナを再起動する必要があります!',
|
||||||
@ -590,8 +590,8 @@ const message = {
|
|||||||
container: {
|
container: {
|
||||||
create: 'コンテナを作成します',
|
create: 'コンテナを作成します',
|
||||||
edit: 'コンテナを編集します',
|
edit: 'コンテナを編集します',
|
||||||
updateHelper1: 'このコンテナはApp Storeから来ていることを検出しました。次の2つのポイントに注意してください。',
|
updateHelper1: 'このコンテナがアプリストアから取得されたことを検出しました。以下の2点にご注意ください:',
|
||||||
updateHelper2: '1.現在の変更は、App Storeにインストールされているアプリケーションと同期されません。',
|
updateHelper2: '1.現在の変更内容は、アプリストアにインストールされているアプリケーションには同期されません。',
|
||||||
updateHelper3:
|
updateHelper3:
|
||||||
'2.インストールされているページでアプリケーションを変更すると、現在編集されているコンテンツが無効になります。',
|
'2.インストールされているページでアプリケーションを変更すると、現在編集されているコンテンツが無効になります。',
|
||||||
updateHelper4: 'コンテナを編集するには再構築が必要であり、非存在データが失われます。続けたいですか?',
|
updateHelper4: 'コンテナを編集するには再構築が必要であり、非存在データが失われます。続けたいですか?',
|
||||||
@ -611,7 +611,7 @@ const message = {
|
|||||||
containerPrune: 'プルーン',
|
containerPrune: 'プルーン',
|
||||||
containerPruneHelper1: 'これにより、停止状態にあるすべてのコンテナが削除されます。',
|
containerPruneHelper1: 'これにより、停止状態にあるすべてのコンテナが削除されます。',
|
||||||
containerPruneHelper2:
|
containerPruneHelper2:
|
||||||
'コンテナがApp Storeの場合は、「App Store->インストール」に移動し、[再構築]ボタンをクリックして、クリーンアップを実行した後に再インストールする必要があります。',
|
'コンテナがアプリストアから取得された場合、クリーンアップを実行した後に、「アプリストア -> インストール済み」セクションに移動し、「再構築」ボタンをクリックして再インストールする必要があります。',
|
||||||
containerPruneHelper3: 'この操作は元に戻すことはできません。続けたいですか?',
|
containerPruneHelper3: 'この操作は元に戻すことはできません。続けたいですか?',
|
||||||
imagePrune: 'プルーン',
|
imagePrune: 'プルーン',
|
||||||
imagePruneSome: 'クリーンラベル付けされています',
|
imagePruneSome: 'クリーンラベル付けされています',
|
||||||
@ -658,7 +658,7 @@ const message = {
|
|||||||
inputIpv6: '例:2001:0DB8:85A3:0000:0000:8A2E:0370:7334',
|
inputIpv6: '例:2001:0DB8:85A3:0000:0000:8A2E:0370:7334',
|
||||||
|
|
||||||
containerFromAppHelper:
|
containerFromAppHelper:
|
||||||
'このコンテナはApp Storeから発生していることを検出しました。アプリの操作により、現在の編集が無効になる場合があります。',
|
'このコンテナがアプリストアから取得されたことが検出されました。アプリの操作により、現在の編集が無効になる可能性があります。',
|
||||||
containerFromAppHelper1:
|
containerFromAppHelper1:
|
||||||
'インストールされているアプリケーションリストの[PARAM]ボタンをクリックして、編集ページを入力し、コンテナ名を変更します。',
|
'インストールされているアプリケーションリストの[PARAM]ボタンをクリックして、編集ページを入力し、コンテナ名を変更します。',
|
||||||
command: '指示',
|
command: '指示',
|
||||||
@ -678,7 +678,8 @@ const message = {
|
|||||||
oldImage: '現在の画像',
|
oldImage: '現在の画像',
|
||||||
targetImage: 'ターゲット画像',
|
targetImage: 'ターゲット画像',
|
||||||
imageLoadErr: 'コンテナの画像名は検出されません',
|
imageLoadErr: 'コンテナの画像名は検出されません',
|
||||||
appHelper: 'コンテナはApp Storeから来ており、アップグレードするとサービスが利用できなくなる可能性があります。',
|
appHelper:
|
||||||
|
'このコンテナはアプリストアから取得されたものであり、アップグレードによってサービスが利用不可になる可能性があります。',
|
||||||
input: '手動入力',
|
input: '手動入力',
|
||||||
forcePull: '常に画像を引っ張ってください',
|
forcePull: '常に画像を引っ張ってください',
|
||||||
forcePullHelper: 'これにより、サーバー上の既存の画像が無視され、レジストリから最新の画像が引き出されます。',
|
forcePullHelper: 'これにより、サーバー上の既存の画像が無視され、レジストリから最新の画像が引き出されます。',
|
||||||
@ -846,7 +847,7 @@ const message = {
|
|||||||
'ソケットパスの設定を保存すると、Dockerサービスが利用できなくなる可能性があります。続けたいですか?',
|
'ソケットパスの設定を保存すると、Dockerサービスが利用できなくなる可能性があります。続けたいですか?',
|
||||||
sockPathErr: '正しいDockerソックファイルパスを選択または入力してください',
|
sockPathErr: '正しいDockerソックファイルパスを選択または入力してください',
|
||||||
related: '関連している',
|
related: '関連している',
|
||||||
includeAppstore: 'App Storeのコンテナを表示します',
|
includeAppstore: 'アプリストアから取得したコンテナを表示',
|
||||||
|
|
||||||
cleanDockerDiskZone: 'Dockerが使用するディスクスペースをクリーンアップします',
|
cleanDockerDiskZone: 'Dockerが使用するディスクスペースをクリーンアップします',
|
||||||
cleanImagesHelper: '(コンテナで使用されていないすべての画像をクリーンアップ)',
|
cleanImagesHelper: '(コンテナで使用されていないすべての画像をクリーンアップ)',
|
||||||
@ -1250,7 +1251,7 @@ const message = {
|
|||||||
currentSelect: '現在の選択:',
|
currentSelect: '現在の選択:',
|
||||||
unsupportedType: 'サポートされていないファイルタイプ',
|
unsupportedType: 'サポートされていないファイルタイプ',
|
||||||
deleteHelper: '次のファイルを削除したいですか?デフォルトでは、削除後にリサイクルビンに入ります',
|
deleteHelper: '次のファイルを削除したいですか?デフォルトでは、削除後にリサイクルビンに入ります',
|
||||||
fileHeper: `note:\n1SearchResultsCan'tはソートされます。\N2。フォルダーはできます'tBeSortedBySize`,
|
fileHeper: `note:\n1.SearchResultsCan'tはソートされます。\n2.フォルダーはできます'tBeSortedBySize`,
|
||||||
forceDeleteHelper: 'ファイルを永久に削除します(リサイクルビンを入力せずに、直接削除します)',
|
forceDeleteHelper: 'ファイルを永久に削除します(リサイクルビンを入力せずに、直接削除します)',
|
||||||
recycleBin: 'ビンをリサイクルします',
|
recycleBin: 'ビンをリサイクルします',
|
||||||
sourcePath: 'オリジナルパス',
|
sourcePath: 'オリジナルパス',
|
||||||
@ -1386,9 +1387,11 @@ const message = {
|
|||||||
systemIP: 'システムアドレス',
|
systemIP: 'システムアドレス',
|
||||||
proxy: 'サーバープロキシ',
|
proxy: 'サーバープロキシ',
|
||||||
proxyHelper: 'プロキシサーバーを設定した後、次のシナリオで効果的になります。',
|
proxyHelper: 'プロキシサーバーを設定した後、次のシナリオで効果的になります。',
|
||||||
proxyHelper1: 'App Storeからのインストールパッケージのダウンロードと同期(Professional Editionのみ)',
|
proxyHelper1:
|
||||||
|
'アプリストアからのインストールパッケージのダウンロードと同期(プロフェッショナルエディションのみ)',
|
||||||
proxyHelper2: 'システムの更新と更新情報検索(プロフェッショナルエディションのみ)',
|
proxyHelper2: 'システムの更新と更新情報検索(プロフェッショナルエディションのみ)',
|
||||||
proxyHelper4: 'Dockerネットワークはプロキシサーバー(Professional Editionのみ)を介してアクセスされます',
|
proxyHelper4:
|
||||||
|
'Dockerネットワークはプロキシサーバーを通じてアクセスされます(プロフェッショナルエディションのみ)',
|
||||||
proxyHelper3: 'システムライセンスの確認と同期',
|
proxyHelper3: 'システムライセンスの確認と同期',
|
||||||
proxyType: 'プロキシタイプ',
|
proxyType: 'プロキシタイプ',
|
||||||
proxyUrl: 'プロキシアドレス',
|
proxyUrl: 'プロキシアドレス',
|
||||||
@ -1801,7 +1804,7 @@ const message = {
|
|||||||
stopOperatorHelper: 'アプリケーションは停止します。続けたいですか?',
|
stopOperatorHelper: 'アプリケーションは停止します。続けたいですか?',
|
||||||
restartOperatorHelper: 'アプリケーションが再起動されます。続けたいですか?',
|
restartOperatorHelper: 'アプリケーションが再起動されます。続けたいですか?',
|
||||||
reloadOperatorHelper: 'アプリケーションはリロードされます。続けたいですか?',
|
reloadOperatorHelper: 'アプリケーションはリロードされます。続けたいですか?',
|
||||||
checkInstalledWarn: `「{0}」は検出されません。「App Store」に移動してインストールします。`,
|
checkInstalledWarn: `「{0}」が検出されませんでした。「アプリストア」に移動してインストールしてください。`,
|
||||||
gotoInstalled: 'インストールに移動します',
|
gotoInstalled: 'インストールに移動します',
|
||||||
search: '検索',
|
search: '検索',
|
||||||
limitHelper: 'アプリケーションはすでにインストールされています。',
|
limitHelper: 'アプリケーションはすでにインストールされています。',
|
||||||
@ -2133,7 +2136,7 @@ const message = {
|
|||||||
tencentCloud: 'テンセントクラウド',
|
tencentCloud: 'テンセントクラウド',
|
||||||
containWarn: 'ドメイン名にはメインドメインが含まれています。再入力してください',
|
containWarn: 'ドメイン名にはメインドメインが含まれています。再入力してください',
|
||||||
rewriteHelper2:
|
rewriteHelper2:
|
||||||
'App StoreからインストールされたWordPressなどのアプリケーションには、通常、擬似静的構成プリセットが付属しています。それらを再構成すると、エラーが発生する可能性があります。',
|
'アプリストアからインストールされたWordPressなどのアプリケーションは、通常、擬似静的設定が事前に設定されています。それらを再設定すると、エラーが発生する可能性があります。',
|
||||||
websiteBackupWarn:
|
websiteBackupWarn:
|
||||||
'ローカルバックアップのインポートをサポートするだけで、他のマシンからバックアップをインポートすることは回復の故障を引き起こす可能性があります',
|
'ローカルバックアップのインポートをサポートするだけで、他のマシンからバックアップをインポートすることは回復の故障を引き起こす可能性があります',
|
||||||
ipWebsiteWarn:
|
ipWebsiteWarn:
|
||||||
@ -2284,7 +2287,7 @@ const message = {
|
|||||||
cookieBlockList: 'クッキーブロックリスト',
|
cookieBlockList: 'クッキーブロックリスト',
|
||||||
|
|
||||||
firewall: 'ファイアウォール',
|
firewall: 'ファイアウォール',
|
||||||
dockerHelper: `Linuxファイアウォール "{0}" Dockerポートマッピングは無効にできません。アプリケーションは、「App Store->インストールされた」ページのパラメーターを編集して、ポートがリリースされるかどうかを制御できます。`,
|
dockerHelper: `Linuxファイアウォール「{0}」ではDockerポートマッピングを無効にできません。アプリケーションは「アプリストア -> インストール済み」ページでパラメータを編集することにより、ポートの解放を制御できます。`,
|
||||||
quickJump: 'クイックアクセス',
|
quickJump: 'クイックアクセス',
|
||||||
used: '使用済み',
|
used: '使用済み',
|
||||||
unUsed: '未使用',
|
unUsed: '未使用',
|
File diff suppressed because it is too large
Load Diff
@ -61,7 +61,7 @@
|
|||||||
English
|
English
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item command="pt-BR">Portugês (Brasil)</el-dropdown-item>
|
<el-dropdown-item command="pt-BR">Portugês (Brasil)</el-dropdown-item>
|
||||||
<el-dropdown-item command="jp">日本語</el-dropdown-item>
|
<el-dropdown-item command="ja">日本語</el-dropdown-item>
|
||||||
<el-dropdown-item command="ru">Русский</el-dropdown-item>
|
<el-dropdown-item command="ru">Русский</el-dropdown-item>
|
||||||
<el-dropdown-item command="ms">Bahasa Melayu</el-dropdown-item>
|
<el-dropdown-item command="ms">Bahasa Melayu</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
@ -276,9 +276,9 @@ function handleCommand(command: string) {
|
|||||||
dropdownText.value = 'English';
|
dropdownText.value = 'English';
|
||||||
} else if (command === 'pt-BR') {
|
} else if (command === 'pt-BR') {
|
||||||
dropdownText.value = 'Português (Brasil)';
|
dropdownText.value = 'Português (Brasil)';
|
||||||
}else if (command === 'tw') {
|
} else if (command === 'tw') {
|
||||||
dropdownText.value = '中文(繁體)';
|
dropdownText.value = '中文(繁體)';
|
||||||
} else if (command === 'jp') {
|
} else if (command === 'ja') {
|
||||||
dropdownText.value = '日本語';
|
dropdownText.value = '日本語';
|
||||||
} else if (command === 'ru') {
|
} else if (command === 'ru') {
|
||||||
dropdownText.value = 'Русский';
|
dropdownText.value = 'Русский';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user