diff --git a/README.ja.md b/README.ja.md new file mode 100644 index 00000000..e601291a --- /dev/null +++ b/README.ja.md @@ -0,0 +1,210 @@ +

+ +

+ +

+ + vue + + + element-ui + + + Build Status + + + license + + + GitHub release + + + gitter + + + donate + +

+ +日本語 | [English](./README.md) | [简体中文](./README.zh-CN.md) + +## 概要 + +[vue-element-admin](https://panjiachen.github.io/vue-element-admin) は管理画面のフロントエンドのインタフェース,[vue](https://github.com/vuejs/vue) と [element-ui](https://github.com/ElemeFE/element)を使っています。i18nの多言語対応、可変ルート、権限、典型的なビジネスアプリテンプレートであり、豊富なコンポーネントを提供しています、素早くビジネス用の管理画面の現型を構築に役立ちます。 + +- [デモページ](https://panjiachen.github.io/vue-element-admin) + +- [ドキュメント](https://panjiachen.github.io/vue-element-admin-site/) + +- [Gitter](https://gitter.im/vue-element-admin/discuss) + +- [Donate](https://panjiachen.gitee.io/vue-element-admin-site/zh/donate) + +- [Wiki](https://github.com/PanJiaChen/vue-element-admin/wiki) + +- おすすめシンプルテンプレート: [vue-admin-template](https://github.com/PanJiaChen/vue-admin-template) +- デスクトップバージョン: [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) +- Typescriptバージョン: [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template) (鸣谢: [@Armour](https://github.com/Armour)) + +**現在のバージョン `v4.0+` は `vue-cli` で構築,バグ報告は[issue](https://github.com/PanJiaChen/vue-element-admin/issues/new)のissueでお願いします。旧バージョン[tag/3.11.0](https://github.com/PanJiaChen/vue-element-admin/tree/tag/3.11.0)もあります。`vue-cli`に依存しないです。** + +**低いバージョンのブラウザはサーポートしないです(例えば ie),必要があれば polyfill を追加してください。 [詳細はこちら](https://github.com/PanJiaChen/vue-element-admin/wiki#babel-polyfill)** + +## 前準備 + +ローカル環境に [node](http://nodejs.org/) と [git](https://git-scm.com/)をインストールが必要です。[ES2015+](http://es6.ruanyifeng.com/)、[vue](https://cn.vuejs.org/index.html)、[vuex](https://vuex.vuejs.org/zh-cn/)、[vue-router](https://router.vuejs.org/zh-cn/) 、[vue-cli](https://github.com/vuejs/vue-cli) 、[axios](https://github.com/axios/axios) 和 [element-ui](https://github.com/ElemeFE/element)で開発しています。Requestは[Mock.js](https://github.com/nuysoft/Mock)のモックデータを使っています。 + +**バグ修正や新規機能追加のissue と pull requestは大歓迎です。** + +

+ +

+ +## Sponsors + +Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor]](https://www.patreon.com/panjiachen) + +

Admin Dashboard Templates made with Vue, React and Angular.

+ +## 機能一覧 + +``` +- ログイン / ログアウト + +- Auth認証 + - ページ権限 + - 権限パーミッション + - 権限設定 + - 外部IDでログイン + +- 複数環境デプロイ + - dev sit stage prod + +- 共通機能 + - 多言語切替 + - テーマ切替 + - サイトメニュー(ルートから生成) + - Breadcrumb Navigation + - Tag Navigation + - Svg Sprite Icon + - ローカル/バックエンド モック データ + - Screenfull + +- WYSIWYG + - TinyMCE + - Markdown + - JSON + +- Excel + - エクスポート + - インポート + - リード + - Zip + +- Table + - Dynamic Table + - Drag And Drop Table + - Inline Edit Table + +- Error Page + - 401 + - 404 + +- コンポーネント + - Avatar Upload + - Back To Top + - Drag Dialog + - Drag Select + - Drag Kanban + - Drag List + - SplitPane + - Dropzone + - Sticky + - CountTo + +- Advanced Example +- Error Log +- Dashboard +- Guide Page +- ECharts +- Clipboard +- Markdown to html +``` + +## Getting started + +```bash +# clone the project +git clone https://github.com/PanJiaChen/vue-element-admin.git + +# enter the project directory +cd vue-element-admin + +# install dependency +npm install + +# develop +npm run dev +``` + +This will automatically open http://localhost:9527 + +## Build + +```bash +# build for test environment +npm run build:stage + +# build for production environment +npm run build:prod +``` + +## Advanced + +```bash +# preview the release environment effect +npm run preview + +# preview the release environment effect + static resource analysis +npm run preview -- --report + +# code format check +npm run lint + +# code format check and auto fix +npm run lint -- --fix +``` + +Refer to [Documentation](https://panjiachen.github.io/vue-element-admin-site/guide/essentials/deploy.html) for more information + +## Changelog + +Detailed changes for each release are documented in the [release notes](https://github.com/PanJiaChen/vue-element-admin/releases). + +## Online Demo + +[Preview](https://panjiachen.github.io/vue-element-admin) + +## Donate + +If you find this project useful, you can buy author a glass of juice :tropical_drink: + +![donate](https://wpimg.wallstcn.com/bd273f0d-83a0-4ef2-92e1-9ac8ed3746b9.png) + +[Paypal Me](https://www.paypal.me/panfree23) + +[Buy me a coffee](https://www.buymeacoffee.com/Pan) + +## Browsers support + +Modern browsers and Internet Explorer 10+. + +| [IE / Edge](https://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](https://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](https://godban.github.io/browsers-support-badges/)
Chrome | [Safari](https://godban.github.io/browsers-support-badges/)
Safari | +| --------- | --------- | --------- | --------- | +| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions + +## License + +[MIT](https://github.com/PanJiaChen/vue-element-admin/blob/master/LICENSE) + +Copyright (c) 2017-present PanJiaChen \ No newline at end of file diff --git a/README.md b/README.md index 01034b51..0388b0d0 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@

-English | [简体中文](./README.zh-CN.md) +English | [简体中文](./README.zh-CN.md) | [日本語](./README.ja.md) ## Introduction diff --git a/src/components/LangSelect/index.vue b/src/components/LangSelect/index.vue index 7fe30b5d..44248418 100644 --- a/src/components/LangSelect/index.vue +++ b/src/components/LangSelect/index.vue @@ -13,6 +13,9 @@ Español + + 日本語 + diff --git a/src/components/Tinymce/index.vue b/src/components/Tinymce/index.vue index d759a91c..e29e336a 100644 --- a/src/components/Tinymce/index.vue +++ b/src/components/Tinymce/index.vue @@ -60,7 +60,8 @@ export default { fullscreen: false, languageTypeList: { 'en': 'en', - 'zh': 'zh_CN' + 'zh': 'zh_CN', + 'ja': 'ja' } } }, @@ -106,7 +107,7 @@ export default { window.tinymce.init({ language: this.language, // language cnd URL, detail see https://github.com/PanJiaChen/tinymce-lang - language_url: 'https://cdn.jsdelivr.net/npm/tinymce-lang/langs/zh_CN.js', + language_url: `https://cdn.jsdelivr.net/npm/tinymce-lang/langs/${this.language}.js`, selector: `#${this.tinymceId}`, height: this.height, body_class: 'panel-body ', diff --git a/src/lang/index.js b/src/lang/index.js index c443f41b..1799ae7f 100644 --- a/src/lang/index.js +++ b/src/lang/index.js @@ -4,9 +4,11 @@ import Cookies from 'js-cookie' import elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'// element-ui lang import elementEsLocale from 'element-ui/lib/locale/lang/es'// element-ui lang +import elementJaLocale from 'element-ui/lib/locale/lang/ja'// element-ui lang import enLocale from './en' import zhLocale from './zh' import esLocale from './es' +import jaLocale from './ja' Vue.use(VueI18n) @@ -22,6 +24,10 @@ const messages = { es: { ...esLocale, ...elementEsLocale + }, + ja: { + ...jaLocale, + ...elementJaLocale } } export function getLanguage() { diff --git a/src/lang/ja.js b/src/lang/ja.js new file mode 100644 index 00000000..7dccd124 --- /dev/null +++ b/src/lang/ja.js @@ -0,0 +1,175 @@ +export default { + route: { + dashboard: 'トップ', + documentation: 'ドキュメント', + guide: 'ガイド', + permission: '権限', + rolePermission: '権限ロール', + pagePermission: 'ページ権限', + directivePermission: 'ディレクティブ権限', + icons: 'アイコン', + components: 'コンポーネント', + tinymce: 'TinyMCE', + markdown: 'Markdown', + jsonEditor: 'JSON Editor', + dndList: 'Drag-And-Drop', + splitPane: 'パネル', + avatarUpload: 'アバターアップロード', + dropzone: 'Dropzone', + sticky: 'Sticky', + countTo: 'Count To', + componentMixin: 'コンポーネントMixin', + backToTop: 'BackToTop', + dragDialog: 'Drag Dialog', + dragSelect: 'Drag Select', + dragKanban: 'Drag 看板', + charts: 'チャート', + keyboardChart: 'Keyboardチャート', + lineChart: 'Lineチャート', + mixChart: 'Mixチャート', + example: 'Example', + nested: 'Nested Routes', + menu1: 'メニュー1', + 'menu1-1': 'メニュー 1-1', + 'menu1-2': 'メニュー 1-2', + 'menu1-2-1': 'メニュー 1-2-1', + 'menu1-2-2': 'メニュー 1-2-2', + 'menu1-3': 'メニュー 1-3', + menu2: 'メニュー 2', + Table: 'Table', + dynamicTable: '可変 Table', + dragTable: 'Drag Table', + inlineEditTable: 'Inline Edit Table', + complexTable: 'Complex Table', + tab: 'Tab', + form: 'フォーム', + createArticle: '投稿作成', + editArticle: '投稿編集', + articleList: '投稿リスト', + errorPages: 'エラーページ', + page401: '401', + page404: '404', + errorLog: 'エラーログ', + excel: 'Excel', + exportExcel: '一括エクスポート', + selectExcel: '複数選択エクスポート', + mergeHeader: 'ヘッダーマージ', + uploadExcel: 'アップロード', + zip: 'Zip', + pdf: 'PDF', + exportZip: 'Export Zip', + theme: 'テーマ変更', + clipboardDemo: 'Clipboard', + i18n: '多言語', + externalLink: '外部リンク', + profile: 'プロフィール' + }, + navbar: { + dashboard: 'トップ', + github: 'GitHub', + logOut: 'ログアウト', + profile: 'プロフィール', + theme: 'テーマ変更', + size: '画面サイズ' + }, + login: { + title: 'ユーザログイン', + logIn: 'ログイン', + username: 'ユーザ名', + password: 'パスワード', + any: 'password', + thirdparty: '外部IDでログイン', + thirdpartyTips: 'ローカル環境ではログインできません。実装が必要です。' + }, + documentation: { + documentation: 'ドキュメント', + github: 'Github Link' + }, + permission: { + addRole: 'ロール追加', + editPermission: 'ロール変更', + roles: 'ロール', + switchRoles: 'ロール切替', + tips: 'v-permissionは使えない時があります。例えば: Element-UI の el-tab、 el-table-column 及び他の dom。v-ifを使う必要があります。', + delete: '削除', + confirm: '確認', + cancel: 'キャンセル' + }, + guide: { + description: 'ガイドは各機能の説明です。', + button: 'ガイドを見る' + }, + components: { + documentation: 'ドキュメント', + tinymceTips: 'tinymceは管理画面に重要な機能ですが、その同時に落とし穴がありあす。tinymceを使う道のりが大変でした。Tinymceを使う時に各自のプロジェクト状況で判断が必要です。ドキュメントはこちら', + dropzoneTips: 'Third partyのパッケージを使わず、独自の実装しています。詳細は @/components/Dropzone', + stickyTips: 'ページの指定位置へスクロールした場合、表示されます。', + backToTopTips1: 'トップへスクロールが表示されます。', + backToTopTips2: 'ボタンのスタイルはカスタマイズできます。例えば、show/hide、height、position。 またはElementのel-tooltipを使って、ツールチップを実装できます。', + imageUploadTips: 'mockjsは使えないため、カスタマイズしています。公式の最新バージョンを使ってください。' + }, + table: { + dynamicTips1: '先頭は固定、最後に追加', + dynamicTips2: '戦後に追加せず、指定列に追加', + dragTips1: 'デフォルト順番', + dragTips2: 'Drag後の順番', + title: 'タイトル', + importance: '重要', + type: 'タイプ', + remark: '評価', + search: '検索', + add: '追加', + export: 'エクスポート', + reviewer: 'レビュアー', + id: '番号', + date: '日時', + author: '作成者', + readings: '閲覧数', + status: 'ステータス', + actions: '操作', + edit: '編集', + publish: '公開', + draft: '下書き', + delete: 'キャンセル', + cancel: 'キャンセル', + confirm: '確認' + }, + example: { + warning: '新規作成と編集画面は keep-alive を使えないです。keep-alive の include はrouteのキャッシュは使えないです。そのため、component name を使ってキャッシュさせるようにします。このようなキャッシュ機能を作りたい場合,localStorageを使う手があります。もしくは keep-alive の includeを使って、全ページキャッシュする方法はあります。' + }, + errorLog: { + tips: '右上のbugアイコンをクリックしてください。', + description: '管理画面はspaを使う場合が多い、ユーザ体現向上はできますが、想定外エラーが発生する場合があります。Vueはそのエラーハンドリング機能を提供し、エラーレポートができます。', + documentation: 'ドキュメント' + }, + excel: { + export: 'エクスポート', + selectedExport: 'エクスポート対象を選択してください。', + placeholder: 'ファイル名を入力してください。' + }, + zip: { + export: 'エクスポート', + placeholder: 'ファイル名を入力してください。' + }, + pdf: { + tips: 'window.print() を使ってPDFダウンロードしています。' + }, + theme: { + change: 'テーマ切替', + documentation: 'ドキュメント', + tips: 'Tips: テーマの切り替え方法はnavbarのtheme-pickと異なります、使い方はドキュメントを確認してください。' + }, + tagsView: { + refresh: '更新', + close: '閉じる', + closeOthers: 'その他閉じる', + closeAll: 'すべて閉じる' + }, + settings: { + title: 'システムテーマ', + theme: 'テーマ色', + tagsView: 'Tags-View 開く', + fixedHeader: 'Fixed Header', + sidebarLogo: 'Sidebar Logo' + } +} diff --git a/src/views/i18n-demo/index.vue b/src/views/i18n-demo/index.vue index 60c9a80e..32cee075 100644 --- a/src/views/i18n-demo/index.vue +++ b/src/views/i18n-demo/index.vue @@ -16,6 +16,9 @@ Español + + 日本語 + {{ $t('i18nView.note') }} @@ -124,6 +127,7 @@ export default { this.$i18n.mergeLocaleMessage('en', local.en) this.$i18n.mergeLocaleMessage('zh', local.zh) this.$i18n.mergeLocaleMessage('es', local.es) + this.$i18n.mergeLocaleMessage('ja', local.ja) } this.setOptions() // set default select options }, diff --git a/src/views/i18n-demo/local.js b/src/views/i18n-demo/local.js index 9b43e605..ae38dd28 100644 --- a/src/views/i18n-demo/local.js +++ b/src/views/i18n-demo/local.js @@ -59,5 +59,25 @@ export default { two: 'Two', three: 'Three' } + }, + ja: { + i18nView: { + title: '言語切替', + note: 'vue-i18nを使っています', + datePlaceholder: '日時選択', + selectPlaceholder: '選択してください', + tableDate: '日時', + tableName: '姓名', + tableAddress: '住所', + default: 'default', + primary: 'primary', + success: 'success', + info: 'info', + warning: 'warning', + danger: 'danger', + one: '1', + two: '2', + three: '3' + } } }