Initial commit: X-Server Mobile enterprise tool system
- Frontend: React 18 + TypeScript + Vite + Ant Design Mobile - Backend: PHP 8.5 + Webman 2.x + MySQL + Redis - i18n support: Chinese, English, Russian, Spanish, French - Approval workflow engine - Docker development environment - Feishu integration Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* 国际化配置
|
||||
* 支持:中文(zh)、英文(en)、俄语(ru)、西语(es)、法语(fr)
|
||||
*/
|
||||
import i18n from 'i18next'
|
||||
import { initReactI18next } from 'react-i18next'
|
||||
import LanguageDetector from 'i18next-browser-languagedetector'
|
||||
import zh from './locales/zh.json'
|
||||
import en from './locales/en.json'
|
||||
import ru from './locales/ru.json'
|
||||
import es from './locales/es.json'
|
||||
import fr from './locales/fr.json'
|
||||
|
||||
const resources = {
|
||||
zh: { translation: zh },
|
||||
en: { translation: en },
|
||||
ru: { translation: ru },
|
||||
es: { translation: es },
|
||||
fr: { translation: fr },
|
||||
}
|
||||
|
||||
i18n
|
||||
.use(LanguageDetector)
|
||||
.use(initReactI18next)
|
||||
.init({
|
||||
resources,
|
||||
fallbackLng: 'zh',
|
||||
lng: 'zh',
|
||||
debug: import.meta.env.DEV,
|
||||
interpolation: {
|
||||
escapeValue: false,
|
||||
},
|
||||
detection: {
|
||||
order: ['localStorage', 'navigator'],
|
||||
caches: ['localStorage'],
|
||||
},
|
||||
})
|
||||
|
||||
export default i18n
|
||||
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "Enterprise Tool System",
|
||||
"title": "Enterprise Internal Tool Platform"
|
||||
},
|
||||
"tab": {
|
||||
"home": "Home",
|
||||
"apps": "Apps",
|
||||
"profile": "Profile"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Loading...",
|
||||
"confirm": "Confirm",
|
||||
"cancel": "Cancel",
|
||||
"submit": "Submit",
|
||||
"save": "Save",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"search": "Search",
|
||||
"refresh": "Refresh",
|
||||
"back": "Back",
|
||||
"close": "Close",
|
||||
"select": "Select",
|
||||
"all": "All",
|
||||
"more": "More",
|
||||
"total": "{{count}} items in total",
|
||||
"noData": "No data",
|
||||
"operation": "Operation",
|
||||
"status": "Status",
|
||||
"remark": "Remark",
|
||||
"createTime": "Create Time",
|
||||
"updateTime": "Update Time"
|
||||
},
|
||||
"dashboard": {
|
||||
"welcome": "Welcome Back",
|
||||
"greeting": "Hello, {{name}}",
|
||||
"quickActions": "Quick Actions",
|
||||
"myTodos": "My Todos",
|
||||
"myApprovals": "My Approvals",
|
||||
"notifications": "Notifications",
|
||||
"recentlyUsed": "Recently Used"
|
||||
},
|
||||
"apps": {
|
||||
"title": "App Center",
|
||||
"businessTrip": "Business Trip",
|
||||
"reimbursement": "Reimbursement",
|
||||
"leave": "Leave Request",
|
||||
"overtime": "Overtime",
|
||||
"purchase": "Purchase Request",
|
||||
"approval": "Approval",
|
||||
"report": "Reports",
|
||||
"settings": "Settings",
|
||||
"addressBook": "Address Book",
|
||||
"notice": "Notices",
|
||||
"calendar": "Calendar",
|
||||
"file": "Files"
|
||||
},
|
||||
"businessTrip": {
|
||||
"title": "Business Trip",
|
||||
"apply": "Apply",
|
||||
"myTrips": "My Trips",
|
||||
"pendingApproval": "Pending",
|
||||
"approved": "Approved",
|
||||
"rejected": "Rejected",
|
||||
"cancelled": "Cancelled",
|
||||
"tripTitle": "Trip Title",
|
||||
"destination": "Destination",
|
||||
"startDate": "Start Date",
|
||||
"endDate": "End Date",
|
||||
"duration": "Duration",
|
||||
"reason": "Reason",
|
||||
"budget": "Budget",
|
||||
"submitter": "Applicant",
|
||||
"submitTime": "Submit Time",
|
||||
"approver": "Approver",
|
||||
"approvalStatus": "Status",
|
||||
"approvalComment": "Comment",
|
||||
"confirmSubmit": "Confirm to submit?",
|
||||
"confirmCancel": "Confirm to cancel?",
|
||||
"submitSuccess": "Submitted successfully",
|
||||
"cancelSuccess": "Cancelled successfully"
|
||||
},
|
||||
"approval": {
|
||||
"title": "Approval",
|
||||
"myApproval": "My Approval",
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"rejected": "Rejected",
|
||||
"detail": "Detail",
|
||||
"approve": "Approve",
|
||||
"reject": "Reject",
|
||||
"comment": "Comment",
|
||||
"submitComment": "Submit",
|
||||
"confirmApprove": "Confirm to approve?",
|
||||
"confirmReject": "Confirm to reject?",
|
||||
"approveSuccess": "Approved",
|
||||
"rejectSuccess": "Rejected",
|
||||
"noPending": "No pending approvals",
|
||||
"status": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"rejected": "Rejected",
|
||||
"cancelled": "Cancelled"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"title": "Profile",
|
||||
"myInfo": "My Info",
|
||||
"myMessages": "Messages",
|
||||
"settings": "Settings",
|
||||
"about": "About",
|
||||
"logout": "Logout",
|
||||
"language": "Language",
|
||||
"switchCompany": "Switch Company",
|
||||
"notifications": "Notifications",
|
||||
"security": "Security"
|
||||
},
|
||||
"login": {
|
||||
"title": "Login",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"loginBtn": "Login",
|
||||
"feishuLogin": "Feishu Login",
|
||||
"loginSuccess": "Login successful",
|
||||
"loginFailed": "Login failed"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Language",
|
||||
"theme": "Theme",
|
||||
"notifications": "Notifications"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "Network error, please try again later",
|
||||
"serverError": "Server error",
|
||||
"unauthorized": "Unauthorized, please login first",
|
||||
"forbidden": "Forbidden",
|
||||
"notFound": "Page not found",
|
||||
"unknownError": "Unknown error"
|
||||
},
|
||||
"time": {
|
||||
"today": "Today",
|
||||
"yesterday": "Yesterday",
|
||||
"thisWeek": "This Week",
|
||||
"lastWeek": "Last Week",
|
||||
"thisMonth": "This Month",
|
||||
"lastMonth": "Last Month",
|
||||
"thisYear": "This Year",
|
||||
"lastYear": "Last Year"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "Sistema Empresarial",
|
||||
"title": "Plataforma de Herramientas Empresariales"
|
||||
},
|
||||
"tab": {
|
||||
"home": "Inicio",
|
||||
"apps": "Aplicaciones",
|
||||
"profile": "Perfil"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Cargando...",
|
||||
"confirm": "Confirmar",
|
||||
"cancel": "Cancelar",
|
||||
"submit": "Enviar",
|
||||
"save": "Guardar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"search": "Buscar",
|
||||
"refresh": "Actualizar",
|
||||
"back": "Atrás",
|
||||
"close": "Cerrar",
|
||||
"select": "Seleccionar",
|
||||
"all": "Todos",
|
||||
"more": "Más",
|
||||
"total": "{{count}} en total",
|
||||
"noData": "Sin datos",
|
||||
"operation": "Operación",
|
||||
"status": "Estado",
|
||||
"remark": "Observación",
|
||||
"createTime": "Fecha de creación",
|
||||
"updateTime": "Fecha de actualización"
|
||||
},
|
||||
"dashboard": {
|
||||
"welcome": "Bienvenido de nuevo",
|
||||
"greeting": "Hola, {{name}}",
|
||||
"quickActions": "Acciones rápidas",
|
||||
"myTodos": "Mis pendientes",
|
||||
"myApprovals": "Mis aprobaciones",
|
||||
"notifications": "Notificaciones",
|
||||
"recentlyUsed": "Usados recientemente"
|
||||
},
|
||||
"apps": {
|
||||
"title": "Centro de Aplicaciones",
|
||||
"businessTrip": "Viaje de Negocios",
|
||||
"reimbursement": "Reembolso",
|
||||
"leave": "Solicitud de Permiso",
|
||||
"overtime": "Horas Extra",
|
||||
"purchase": "Solicitud de Compra",
|
||||
"approval": "Aprobaciones",
|
||||
"report": "Reportes",
|
||||
"settings": "Configuración",
|
||||
"addressBook": "Directorio",
|
||||
"notice": "Avisos",
|
||||
"calendar": "Calendario",
|
||||
"file": "Archivos"
|
||||
},
|
||||
"businessTrip": {
|
||||
"title": "Viaje de Negocios",
|
||||
"apply": "Solicitar",
|
||||
"myTrips": "Mis Viajes",
|
||||
"pendingApproval": "Pendiente",
|
||||
"approved": "Aprobado",
|
||||
"rejected": "Rechazado",
|
||||
"cancelled": "Cancelado",
|
||||
"tripTitle": "Título del Viaje",
|
||||
"destination": "Destino",
|
||||
"startDate": "Fecha de Inicio",
|
||||
"endDate": "Fecha de Fin",
|
||||
"duration": "Duración",
|
||||
"reason": "Motivo",
|
||||
"budget": "Presupuesto",
|
||||
"submitter": "Solicitante",
|
||||
"submitTime": "Fecha de Solicitud",
|
||||
"approver": "Aprobador",
|
||||
"approvalStatus": "Estado de Aprobación",
|
||||
"approvalComment": "Comentario",
|
||||
"confirmSubmit": "¿Confirmar envío?",
|
||||
"confirmCancel": "¿Confirmar cancelación?",
|
||||
"submitSuccess": "Enviado exitosamente",
|
||||
"cancelSuccess": "Cancelado exitosamente"
|
||||
},
|
||||
"approval": {
|
||||
"title": "Aprobaciones",
|
||||
"myApproval": "Mis Aprobaciones",
|
||||
"pending": "Pendiente",
|
||||
"approved": "Aprobado",
|
||||
"rejected": "Rechazado",
|
||||
"detail": "Detalle",
|
||||
"approve": "Aprobar",
|
||||
"reject": "Rechazar",
|
||||
"comment": "Comentario",
|
||||
"submitComment": "Enviar",
|
||||
"confirmApprove": "¿Confirmar aprobación?",
|
||||
"confirmReject": "¿Confirmar rechazo?",
|
||||
"approveSuccess": "Aprobado",
|
||||
"rejectSuccess": "Rechazado",
|
||||
"noPending": "Sin aprobaciones pendientes",
|
||||
"status": {
|
||||
"pending": "Pendiente",
|
||||
"approved": "Aprobado",
|
||||
"rejected": "Rechazado",
|
||||
"cancelled": "Cancelado"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"title": "Mi Perfil",
|
||||
"myInfo": "Mi Información",
|
||||
"myMessages": "Mis Mensajes",
|
||||
"settings": "Configuración",
|
||||
"about": "Acerca de",
|
||||
"logout": "Cerrar Sesión",
|
||||
"language": "Idioma",
|
||||
"switchCompany": "Cambiar Empresa",
|
||||
"notifications": "Notificaciones",
|
||||
"security": "Seguridad"
|
||||
},
|
||||
"login": {
|
||||
"title": "Iniciar Sesión",
|
||||
"username": "Usuario",
|
||||
"password": "Contraseña",
|
||||
"loginBtn": "Entrar",
|
||||
"feishuLogin": "Entrar con Feishu",
|
||||
"loginSuccess": "Inicio de sesión exitoso",
|
||||
"loginFailed": "Error de inicio de sesión"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Idioma",
|
||||
"theme": "Tema",
|
||||
"notifications": "Notificaciones"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "Error de red, inténtelo más tarde",
|
||||
"serverError": "Error del servidor",
|
||||
"unauthorized": "No autorizado, inicie sesión primero",
|
||||
"forbidden": "Acceso prohibido",
|
||||
"notFound": "Página no encontrada",
|
||||
"unknownError": "Error desconocido"
|
||||
},
|
||||
"time": {
|
||||
"today": "Hoy",
|
||||
"yesterday": "Ayer",
|
||||
"thisWeek": "Esta Semana",
|
||||
"lastWeek": "Semana Pasada",
|
||||
"thisMonth": "Este Mes",
|
||||
"lastMonth": "Mes Pasado",
|
||||
"thisYear": "Este Año",
|
||||
"lastYear": "Año Pasado"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "Système d'Entreprise",
|
||||
"title": "Plateforme d'Outils Entreprise"
|
||||
},
|
||||
"tab": {
|
||||
"home": "Accueil",
|
||||
"apps": "Applications",
|
||||
"profile": "Profil"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Chargement...",
|
||||
"confirm": "Confirmer",
|
||||
"cancel": "Annuler",
|
||||
"submit": "Soumettre",
|
||||
"save": "Enregistrer",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"search": "Rechercher",
|
||||
"refresh": "Actualiser",
|
||||
"back": "Retour",
|
||||
"close": "Fermer",
|
||||
"select": "Sélectionner",
|
||||
"all": "Tous",
|
||||
"more": "Plus",
|
||||
"total": "{{count}} au total",
|
||||
"noData": "Aucune donnée",
|
||||
"operation": "Opération",
|
||||
"status": "Statut",
|
||||
"remark": "Remarque",
|
||||
"createTime": "Date de création",
|
||||
"updateTime": "Date de mise à jour"
|
||||
},
|
||||
"dashboard": {
|
||||
"welcome": "Bienvenue",
|
||||
"greeting": "Bonjour, {{name}}",
|
||||
"quickActions": "Actions Rapides",
|
||||
"myTodos": "Mes Tâches",
|
||||
"myApprovals": "Mes Approbations",
|
||||
"notifications": "Notifications",
|
||||
"recentlyUsed": "Récemment Utilisés"
|
||||
},
|
||||
"apps": {
|
||||
"title": "Centre d'Applications",
|
||||
"businessTrip": "Déplacement",
|
||||
"reimbursement": "Remboursement",
|
||||
"leave": "Demande de Congé",
|
||||
"overtime": "Heures Supplémentaires",
|
||||
"purchase": "Demande d'Achat",
|
||||
"approval": "Approbations",
|
||||
"report": "Rapports",
|
||||
"settings": "Paramètres",
|
||||
"addressBook": "Contacts",
|
||||
"notice": "Annonces",
|
||||
"calendar": "Calendrier",
|
||||
"file": "Fichiers"
|
||||
},
|
||||
"businessTrip": {
|
||||
"title": "Déplacement Professionnel",
|
||||
"apply": "Demander",
|
||||
"myTrips": "Mes Déplacements",
|
||||
"pendingApproval": "En Attente",
|
||||
"approved": "Approuvé",
|
||||
"rejected": "Rejeté",
|
||||
"cancelled": "Annulé",
|
||||
"tripTitle": "Titre du Déplacement",
|
||||
"destination": "Destination",
|
||||
"startDate": "Date de Début",
|
||||
"endDate": "Date de Fin",
|
||||
"duration": "Durée",
|
||||
"reason": "Motif",
|
||||
"budget": "Budget",
|
||||
"submitter": "Demandeur",
|
||||
"submitTime": "Date de Soumission",
|
||||
"approver": "Approbateur",
|
||||
"approvalStatus": "Statut d'Approbation",
|
||||
"approvalComment": "Commentaire",
|
||||
"confirmSubmit": "Confirmer la soumission?",
|
||||
"confirmCancel": "Confirmer l'annulation?",
|
||||
"submitSuccess": "Soumis avec succès",
|
||||
"cancelSuccess": "Annulé avec succès"
|
||||
},
|
||||
"approval": {
|
||||
"title": "Approbations",
|
||||
"myApproval": "Mes Approbations",
|
||||
"pending": "En Attente",
|
||||
"approved": "Approuvé",
|
||||
"rejected": "Rejeté",
|
||||
"detail": "Détail",
|
||||
"approve": "Approuver",
|
||||
"reject": "Rejeter",
|
||||
"comment": "Commentaire",
|
||||
"submitComment": "Soumettre",
|
||||
"confirmApprove": "Confirmer l'approbation?",
|
||||
"confirmReject": "Confirmer le rejet?",
|
||||
"approveSuccess": "Approuvé",
|
||||
"rejectSuccess": "Rejeté",
|
||||
"noPending": "Aucune approbation en attente",
|
||||
"status": {
|
||||
"pending": "En Attente",
|
||||
"approved": "Approuvé",
|
||||
"rejected": "Rejeté",
|
||||
"cancelled": "Annulé"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"title": "Mon Profil",
|
||||
"myInfo": "Mes Informations",
|
||||
"myMessages": "Mes Messages",
|
||||
"settings": "Paramètres",
|
||||
"about": "À Propos",
|
||||
"logout": "Déconnexion",
|
||||
"language": "Langue",
|
||||
"switchCompany": "Changer d'Entreprise",
|
||||
"notifications": "Notifications",
|
||||
"security": "Sécurité"
|
||||
},
|
||||
"login": {
|
||||
"title": "Connexion",
|
||||
"username": "Nom d'utilisateur",
|
||||
"password": "Mot de passe",
|
||||
"loginBtn": "Se Connecter",
|
||||
"feishuLogin": "Connexion Feishu",
|
||||
"loginSuccess": "Connexion réussie",
|
||||
"loginFailed": "Échec de la connexion"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Langue",
|
||||
"theme": "Thème",
|
||||
"notifications": "Notifications"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "Erreur réseau, veuillez réessayer plus tard",
|
||||
"serverError": "Erreur du serveur",
|
||||
"unauthorized": "Non autorisé, veuillez vous connecter d'abord",
|
||||
"forbidden": "Accès interdit",
|
||||
"notFound": "Page non trouvée",
|
||||
"unknownError": "Erreur inconnue"
|
||||
},
|
||||
"time": {
|
||||
"today": "Aujourd'hui",
|
||||
"yesterday": "Hier",
|
||||
"thisWeek": "Cette Semaine",
|
||||
"lastWeek": "Semaine Dernière",
|
||||
"thisMonth": "Ce Mois",
|
||||
"lastMonth": "Mois Dernier",
|
||||
"thisYear": "Cette Année",
|
||||
"lastYear": "Année Dernière"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "Корпоративная система",
|
||||
"title": "Корпоративная платформа инструментов"
|
||||
},
|
||||
"tab": {
|
||||
"home": "Главная",
|
||||
"apps": "Приложения",
|
||||
"profile": "Профиль"
|
||||
},
|
||||
"common": {
|
||||
"loading": "Загрузка...",
|
||||
"confirm": "Подтвердить",
|
||||
"cancel": "Отмена",
|
||||
"submit": "Отправить",
|
||||
"save": "Сохранить",
|
||||
"delete": "Удалить",
|
||||
"edit": "Редактировать",
|
||||
"search": "Поиск",
|
||||
"refresh": "Обновить",
|
||||
"back": "Назад",
|
||||
"close": "Закрыть",
|
||||
"select": "Выбрать",
|
||||
"all": "Все",
|
||||
"more": "Больше",
|
||||
"total": "Всего {{count}}",
|
||||
"noData": "Нет данных",
|
||||
"operation": "Операция",
|
||||
"status": "Статус",
|
||||
"remark": "Примечание",
|
||||
"createTime": "Время создания",
|
||||
"updateTime": "Время обновления"
|
||||
},
|
||||
"dashboard": {
|
||||
"welcome": "Добро пожаловать",
|
||||
"greeting": "Здравствуйте, {{name}}",
|
||||
"quickActions": "Быстрые действия",
|
||||
"myTodos": "Мои задачи",
|
||||
"myApprovals": "Мои согласования",
|
||||
"notifications": "Уведомления",
|
||||
"recentlyUsed": "Недавно использованные"
|
||||
},
|
||||
"apps": {
|
||||
"title": "Центр приложений",
|
||||
"businessTrip": "Командировка",
|
||||
"reimbursement": "Возмещение расходов",
|
||||
"leave": "Отпуск",
|
||||
"overtime": "Сверхурочные",
|
||||
"purchase": "Заявка на покупку",
|
||||
"approval": "Согласование",
|
||||
"report": "Отчеты",
|
||||
"settings": "Настройки",
|
||||
"addressBook": "Адресная книга",
|
||||
"notice": "Объявления",
|
||||
"calendar": "Календарь",
|
||||
"file": "Файлы"
|
||||
},
|
||||
"businessTrip": {
|
||||
"title": "Командировка",
|
||||
"apply": "Подать заявку",
|
||||
"myTrips": "Мои командировки",
|
||||
"pendingApproval": "Ожидает согласования",
|
||||
"approved": "Согласовано",
|
||||
"rejected": "Отклонено",
|
||||
"cancelled": "Отменено",
|
||||
"tripTitle": "Название командировки",
|
||||
"destination": "Место назначения",
|
||||
"startDate": "Дата начала",
|
||||
"endDate": "Дата окончания",
|
||||
"duration": "Продолжительность",
|
||||
"reason": "Причина",
|
||||
"budget": "Бюджет",
|
||||
"submitter": "Заявитель",
|
||||
"submitTime": "Время подачи",
|
||||
"approver": "Согласующий",
|
||||
"approvalStatus": "Статус согласования",
|
||||
"approvalComment": "Комментарий",
|
||||
"confirmSubmit": "Подтвердить отправку?",
|
||||
"confirmCancel": "Подтвердить отмену?",
|
||||
"submitSuccess": "Успешно отправлено",
|
||||
"cancelSuccess": "Успешно отменено"
|
||||
},
|
||||
"approval": {
|
||||
"title": "Согласование",
|
||||
"myApproval": "Мои согласования",
|
||||
"pending": "Ожидает",
|
||||
"approved": "Согласовано",
|
||||
"rejected": "Отклонено",
|
||||
"detail": "Детали",
|
||||
"approve": "Согласовать",
|
||||
"reject": "Отклонить",
|
||||
"comment": "Комментарий",
|
||||
"submitComment": "Отправить",
|
||||
"confirmApprove": "Подтвердить согласование?",
|
||||
"confirmReject": "Подтвердить отклонение?",
|
||||
"approveSuccess": "Согласовано",
|
||||
"rejectSuccess": "Отклонено",
|
||||
"noPending": "Нет ожидающих согласований",
|
||||
"status": {
|
||||
"pending": "Ожидает",
|
||||
"approved": "Согласовано",
|
||||
"rejected": "Отклонено",
|
||||
"cancelled": "Отменено"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"title": "Профиль",
|
||||
"myInfo": "Моя информация",
|
||||
"myMessages": "Мои сообщения",
|
||||
"settings": "Настройки",
|
||||
"about": "О программе",
|
||||
"logout": "Выйти",
|
||||
"language": "Язык",
|
||||
"switchCompany": "Сменить компанию",
|
||||
"notifications": "Уведомления",
|
||||
"security": "Безопасность"
|
||||
},
|
||||
"login": {
|
||||
"title": "Вход",
|
||||
"username": "Имя пользователя",
|
||||
"password": "Пароль",
|
||||
"loginBtn": "Войти",
|
||||
"feishuLogin": "Войти через Feishu",
|
||||
"loginSuccess": "Успешный вход",
|
||||
"loginFailed": "Ошибка входа"
|
||||
},
|
||||
"settings": {
|
||||
"language": "Язык",
|
||||
"theme": "Тема",
|
||||
"notifications": "Уведомления"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "Ошибка сети, попробуйте позже",
|
||||
"serverError": "Ошибка сервера",
|
||||
"unauthorized": "Не авторизован, войдите сначала",
|
||||
"forbidden": "Доступ запрещен",
|
||||
"notFound": "Страница не найдена",
|
||||
"unknownError": "Неизвестная ошибка"
|
||||
},
|
||||
"time": {
|
||||
"today": "Сегодня",
|
||||
"yesterday": "Вчера",
|
||||
"thisWeek": "На этой неделе",
|
||||
"lastWeek": "На прошлой неделе",
|
||||
"thisMonth": "В этом месяце",
|
||||
"lastMonth": "В прошлом месяце",
|
||||
"thisYear": "В этом году",
|
||||
"lastYear": "В прошлом году"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "企业工具系统",
|
||||
"title": "企业内部工具平台"
|
||||
},
|
||||
"tab": {
|
||||
"home": "首页",
|
||||
"apps": "应用",
|
||||
"profile": "我的"
|
||||
},
|
||||
"common": {
|
||||
"loading": "加载中...",
|
||||
"confirm": "确认",
|
||||
"cancel": "取消",
|
||||
"submit": "提交",
|
||||
"save": "保存",
|
||||
"delete": "删除",
|
||||
"edit": "编辑",
|
||||
"search": "搜索",
|
||||
"refresh": "刷新",
|
||||
"back": "返回",
|
||||
"close": "关闭",
|
||||
"select": "请选择",
|
||||
"all": "全部",
|
||||
"more": "更多",
|
||||
"total": "共 {{count}} 条",
|
||||
"noData": "暂无数据",
|
||||
"operation": "操作",
|
||||
"status": "状态",
|
||||
"remark": "备注",
|
||||
"createTime": "创建时间",
|
||||
"updateTime": "更新时间"
|
||||
},
|
||||
"dashboard": {
|
||||
"welcome": "欢迎回来",
|
||||
"greeting": "你好,{{name}}",
|
||||
"quickActions": "快捷操作",
|
||||
"myTodos": "我的待办",
|
||||
"myApprovals": "我的审批",
|
||||
"notifications": "通知消息",
|
||||
"recentlyUsed": "最近使用"
|
||||
},
|
||||
"apps": {
|
||||
"title": "应用中心",
|
||||
"businessTrip": "出差申请",
|
||||
"reimbursement": "费用报销",
|
||||
"leave": "请假申请",
|
||||
"overtime": "加班申请",
|
||||
"purchase": "采购申请",
|
||||
"approval": "审批管理",
|
||||
"report": "数据报表",
|
||||
"settings": "系统设置",
|
||||
"addressBook": "通讯录",
|
||||
"notice": "通知公告",
|
||||
"calendar": "日程安排",
|
||||
"file": "文件管理"
|
||||
},
|
||||
"businessTrip": {
|
||||
"title": "出差申请",
|
||||
"apply": "申请出差",
|
||||
"myTrips": "我的出差",
|
||||
"pendingApproval": "待审批",
|
||||
"approved": "已批准",
|
||||
"rejected": "已拒绝",
|
||||
"cancelled": "已撤销",
|
||||
"tripTitle": "出差标题",
|
||||
"destination": "目的地",
|
||||
"startDate": "开始日期",
|
||||
"endDate": "结束日期",
|
||||
"duration": "出差天数",
|
||||
"reason": "出差事由",
|
||||
"budget": "预算金额",
|
||||
"submitter": "申请人",
|
||||
"submitTime": "申请时间",
|
||||
"approver": "审批人",
|
||||
"approvalStatus": "审批状态",
|
||||
"approvalComment": "审批意见",
|
||||
"confirmSubmit": "确认提交出差申请?",
|
||||
"confirmCancel": "确认撤销此申请?",
|
||||
"submitSuccess": "提交成功",
|
||||
"cancelSuccess": "撤销成功"
|
||||
},
|
||||
"approval": {
|
||||
"title": "审批管理",
|
||||
"myApproval": "我的审批",
|
||||
"pending": "待审批",
|
||||
"approved": "已通过",
|
||||
"rejected": "已拒绝",
|
||||
"detail": "审批详情",
|
||||
"approve": "通过",
|
||||
"reject": "拒绝",
|
||||
"comment": "审批意见",
|
||||
"submitComment": "提交意见",
|
||||
"confirmApprove": "确认通过此申请?",
|
||||
"confirmReject": "确认拒绝此申请?",
|
||||
"approveSuccess": "审批通过",
|
||||
"rejectSuccess": "已拒绝",
|
||||
"noPending": "暂无待审批事项",
|
||||
"status": {
|
||||
"pending": "待审批",
|
||||
"approved": "已通过",
|
||||
"rejected": "已拒绝",
|
||||
"cancelled": "已撤销"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"title": "个人中心",
|
||||
"myInfo": "我的信息",
|
||||
"myMessages": "我的消息",
|
||||
"settings": "设置",
|
||||
"about": "关于",
|
||||
"logout": "退出登录",
|
||||
"language": "语言设置",
|
||||
"switchCompany": "切换公司",
|
||||
"notifications": "消息通知",
|
||||
"security": "账号安全"
|
||||
},
|
||||
"login": {
|
||||
"title": "登录",
|
||||
"username": "用户名",
|
||||
"password": "密码",
|
||||
"loginBtn": "登录",
|
||||
"feishuLogin": "飞书快捷登录",
|
||||
"loginSuccess": "登录成功",
|
||||
"loginFailed": "登录失败"
|
||||
},
|
||||
"settings": {
|
||||
"language": "语言",
|
||||
"theme": "主题",
|
||||
"notifications": "通知设置"
|
||||
},
|
||||
"error": {
|
||||
"networkError": "网络错误,请稍后重试",
|
||||
"serverError": "服务器错误",
|
||||
"unauthorized": "未授权,请先登录",
|
||||
"forbidden": "无权访问",
|
||||
"notFound": "页面不存在",
|
||||
"unknownError": "未知错误"
|
||||
},
|
||||
"time": {
|
||||
"today": "今天",
|
||||
"yesterday": "昨天",
|
||||
"thisWeek": "本周",
|
||||
"lastWeek": "上周",
|
||||
"thisMonth": "本月",
|
||||
"lastMonth": "上月",
|
||||
"thisYear": "今年",
|
||||
"lastYear": "去年"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user