feature: support Spanish(#1196)
							parent
							
								
									3802f6f8d2
								
							
						
					
					
						commit
						0f7cf7e820
					
				|  | @ -6,6 +6,7 @@ | |||
|     <el-dropdown-menu slot="dropdown"> | ||||
|       <el-dropdown-item :disabled="language==='zh'" command="zh">中文</el-dropdown-item> | ||||
|       <el-dropdown-item :disabled="language==='en'" command="en">English</el-dropdown-item> | ||||
|       <el-dropdown-item :disabled="language==='es'" command="es">Español</el-dropdown-item> | ||||
|     </el-dropdown-menu> | ||||
|   </el-dropdown> | ||||
| </template> | ||||
|  |  | |||
|  | @ -0,0 +1,155 @@ | |||
| export default { | ||||
|   route: { | ||||
|     dashboard: 'Panel de control', | ||||
|     introduction: 'Introducción', | ||||
|     documentation: 'Documentación', | ||||
|     guide: 'Guía', | ||||
|     permission: 'Permisos', | ||||
|     pagePermission: 'Permisos de la página', | ||||
|     directivePermission: 'Permisos de la directiva', | ||||
|     icons: 'Iconos', | ||||
|     components: 'Componentes', | ||||
|     componentIndex: 'Introducción', | ||||
|     tinymce: 'Tinymce', | ||||
|     markdown: 'Markdown', | ||||
|     jsonEditor: 'Editor JSON', | ||||
|     dndList: 'Lista Dnd', | ||||
|     splitPane: 'Panel dividido', | ||||
|     avatarUpload: 'Subir avatar', | ||||
|     dropzone: 'Subir ficheros', | ||||
|     sticky: 'Sticky', | ||||
|     countTo: 'CountTo', | ||||
|     componentMixin: 'Mixin', | ||||
|     backToTop: 'Ir arriba', | ||||
|     dragDialog: 'Drag Dialog', | ||||
|     dragKanban: 'Drag Kanban', | ||||
|     charts: 'Gráficos', | ||||
|     keyboardChart: 'Keyboard Chart', | ||||
|     lineChart: 'Gráfico de líneas', | ||||
|     mixChart: 'Mix Chart', | ||||
|     example: 'Ejemplo', | ||||
|     nested: 'Rutas anidadass', | ||||
|     menu1: 'Menu 1', | ||||
|     'menu1-1': 'Menu 1-1', | ||||
|     'menu1-2': 'Menu 1-2', | ||||
|     'menu1-2-1': 'Menu 1-2-1', | ||||
|     'menu1-2-2': 'Menu 1-2-2', | ||||
|     'menu1-3': 'Menu 1-3', | ||||
|     menu2: 'Menu 2', | ||||
|     Table: 'Tabla', | ||||
|     dynamicTable: 'Tabla dinámica', | ||||
|     dragTable: 'Arrastrar tabla', | ||||
|     inlineEditTable: 'Editor', | ||||
|     complexTable: 'Complex Table', | ||||
|     treeTable: 'Tree Table', | ||||
|     customTreeTable: 'Custom TreeTable', | ||||
|     tab: 'Pestaña', | ||||
|     form: 'Formulario', | ||||
|     createArticle: 'Crear artículo', | ||||
|     editArticle: 'Editar artículo', | ||||
|     articleList: 'Listado de artículos', | ||||
|     errorPages: 'Páginas de error', | ||||
|     page401: '401', | ||||
|     page404: '404', | ||||
|     errorLog: 'Registro de errores', | ||||
|     excel: 'Excel', | ||||
|     exportExcel: 'Exportar a Excel', | ||||
|     selectExcel: 'Export seleccionado', | ||||
|     uploadExcel: 'Subir Excel', | ||||
|     zip: 'Zip', | ||||
|     exportZip: 'Exportar a Zip', | ||||
|     theme: 'Tema', | ||||
|     clipboardDemo: 'Clipboard', | ||||
|     i18n: 'I18n', | ||||
|     externalLink: 'Enlace externo' | ||||
|   }, | ||||
|   navbar: { | ||||
|     logOut: 'Salir', | ||||
|     dashboard: 'Panel de control', | ||||
|     github: 'Github', | ||||
|     screenfull: 'Pantalla completa', | ||||
|     theme: 'Tema', | ||||
|     size: 'Tamaño global' | ||||
|   }, | ||||
|   login: { | ||||
|     title: 'Formulario de acceso', | ||||
|     logIn: 'Acceso', | ||||
|     username: 'Usuario', | ||||
|     password: 'Contraseña', | ||||
|     any: 'nada', | ||||
|     thirdparty: 'Conectar con', | ||||
|     thirdpartyTips: 'No se puede simular en local, así que combine su propia simulación de negocios. ! !' | ||||
|   }, | ||||
|   documentation: { | ||||
|     documentation: 'Documentación', | ||||
|     github: 'Repositorio Github' | ||||
|   }, | ||||
|   permission: { | ||||
|     roles: 'Tus permisos', | ||||
|     switchRoles: 'Cambiar permisos' | ||||
|   }, | ||||
|   guide: { | ||||
|     description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ', | ||||
|     button: 'Ver guía' | ||||
|   }, | ||||
|   components: { | ||||
|     documentation: 'Documentación', | ||||
|     tinymceTips: 'Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.', | ||||
|     dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.', | ||||
|     stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.', | ||||
|     backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner', | ||||
|     backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally', | ||||
|     imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.' | ||||
|   }, | ||||
|   table: { | ||||
|     dynamicTips1: 'Fixed header, sorted by header order', | ||||
|     dynamicTips2: 'Not fixed header, sorted by click order', | ||||
|     dragTips1: 'Orden por defecto', | ||||
|     dragTips2: 'The after dragging order', | ||||
|     title: 'Título', | ||||
|     importance: 'Importancia', | ||||
|     type: 'Tipo', | ||||
|     remark: 'Remark', | ||||
|     search: 'Buscar', | ||||
|     add: 'Añadir', | ||||
|     export: 'Exportar', | ||||
|     reviewer: 'reviewer', | ||||
|     id: 'ID', | ||||
|     date: 'Fecha', | ||||
|     author: 'Autor', | ||||
|     readings: 'Lector', | ||||
|     status: 'Estado', | ||||
|     actions: 'Acciones', | ||||
|     edit: 'Editar', | ||||
|     publish: 'Publicar', | ||||
|     draft: 'Draft', | ||||
|     delete: 'Eliminar', | ||||
|     cancel: 'Cancelar', | ||||
|     confirm: 'Confirmar' | ||||
|   }, | ||||
|   errorLog: { | ||||
|     tips: 'Please click the bug icon in the upper right corner', | ||||
|     description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.', | ||||
|     documentation: 'Documento de introducción' | ||||
|   }, | ||||
|   excel: { | ||||
|     export: 'Exportar', | ||||
|     selectedExport: 'Exportar seleccionados', | ||||
|     placeholder: 'Por favor escribe un nombre de fichero' | ||||
|   }, | ||||
|   zip: { | ||||
|     export: 'Exportar', | ||||
|     placeholder: 'Por favor escribe un nombre de fichero' | ||||
|   }, | ||||
|   theme: { | ||||
|     change: 'Cambiar tema', | ||||
|     documentation: 'Documentación del tema', | ||||
|     tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.' | ||||
|   }, | ||||
|   tagsView: { | ||||
|     refresh: 'Actualizar', | ||||
|     close: 'Cerrar', | ||||
|     closeOthers: 'Cerrar otros', | ||||
|     closeAll: 'Cerrar todos' | ||||
|   } | ||||
| } | ||||
|  | @ -3,8 +3,10 @@ import VueI18n from 'vue-i18n' | |||
| 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 enLocale from './en' | ||||
| import zhLocale from './zh' | ||||
| import esLocale from './es' | ||||
| 
 | ||||
| Vue.use(VueI18n) | ||||
| 
 | ||||
|  | @ -16,12 +18,16 @@ const messages = { | |||
|   zh: { | ||||
|     ...zhLocale, | ||||
|     ...elementZhLocale | ||||
|   }, | ||||
|   es: { | ||||
|     ...esLocale, | ||||
|     ...elementEsLocale | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| const i18n = new VueI18n({ | ||||
|   // set locale
 | ||||
|   // options: en or zh
 | ||||
|   // options: en | zh | es
 | ||||
|   locale: Cookies.get('language') || 'en', | ||||
|   // set locale messages
 | ||||
|   messages | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
|         <el-radio-group v-model="lang" size="small"> | ||||
|           <el-radio label="zh" border>简体中文</el-radio> | ||||
|           <el-radio label="en" border>English</el-radio> | ||||
|           <el-radio label="es" border>Español</el-radio> | ||||
|         </el-radio-group> | ||||
|         <el-tag style="margin-top:15px;display:block;" type="info">{{ $t('i18nView.note') }}</el-tag> | ||||
|       </div> | ||||
|  | @ -101,6 +102,7 @@ export default { | |||
|     if (!this.$i18n.getLocaleMessage('en')[viewName]) { | ||||
|       this.$i18n.mergeLocaleMessage('en', local.en) | ||||
|       this.$i18n.mergeLocaleMessage('zh', local.zh) | ||||
|       this.$i18n.mergeLocaleMessage('es', local.es) | ||||
|     } | ||||
|     this.setOptions() // set default select options | ||||
|   }, | ||||
|  |  | |||
|  | @ -39,5 +39,25 @@ export default { | |||
|       two: 'Two', | ||||
|       three: 'Three' | ||||
|     } | ||||
|   }, | ||||
|   es: { | ||||
|     i18nView: { | ||||
|       title: 'Switch Language', | ||||
|       note: 'The internationalization of this project is based on vue-i18n', | ||||
|       datePlaceholder: 'Pick a day', | ||||
|       selectPlaceholder: 'Select', | ||||
|       tableDate: 'tableDate', | ||||
|       tableName: 'tableName', | ||||
|       tableAddress: 'tableAddress', | ||||
|       default: 'default:', | ||||
|       primary: 'primary', | ||||
|       success: 'success', | ||||
|       info: 'info', | ||||
|       warning: 'warning', | ||||
|       danger: 'danger', | ||||
|       one: 'One', | ||||
|       two: 'Two', | ||||
|       three: 'Three' | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Ramón Menor
						Ramón Menor