mirror of https://github.com/msgbyte/tailchat
				
				
				
			refactor: add admin resource i18n support
							parent
							
								
									8066330d60
								
							
						
					
					
						commit
						4c168eb81f
					
				@ -0,0 +1,62 @@
 | 
			
		||||
export const englishCustom = {
 | 
			
		||||
  custom: {
 | 
			
		||||
    common: {
 | 
			
		||||
      summary: 'Summary',
 | 
			
		||||
      panel: 'Panel',
 | 
			
		||||
      name: 'Name',
 | 
			
		||||
      permission: 'Permission',
 | 
			
		||||
    },
 | 
			
		||||
    users: {
 | 
			
		||||
      search: 'Search nickname or email',
 | 
			
		||||
      resetPassword: 'Reset Password',
 | 
			
		||||
      resetPasswordTip:
 | 
			
		||||
        'After resetting the password, the password becomes: 123456789, please change the password in time',
 | 
			
		||||
    },
 | 
			
		||||
    messages: {
 | 
			
		||||
      search: 'Search Message Content',
 | 
			
		||||
    },
 | 
			
		||||
    groups: {
 | 
			
		||||
      noAvatar: 'No Avatar',
 | 
			
		||||
      'panels.name': 'Panel Name',
 | 
			
		||||
      'panels.type': 'Panel Type',
 | 
			
		||||
      'panels.provider': 'Panel Provider',
 | 
			
		||||
      'panels.pluginPanelName': 'Panel Name',
 | 
			
		||||
      'panels.meta': 'Panel Meta',
 | 
			
		||||
      'panels.parentId': 'Panel Parent',
 | 
			
		||||
      textPanel: 'Text Panel',
 | 
			
		||||
      groupPanel: 'Panel Group',
 | 
			
		||||
      pluginPanel: 'Plugin Panel',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const chineseCustom = {
 | 
			
		||||
  custom: {
 | 
			
		||||
    common: {
 | 
			
		||||
      summary: '概述',
 | 
			
		||||
      panel: '面板',
 | 
			
		||||
      name: '名称',
 | 
			
		||||
      permission: '权限',
 | 
			
		||||
    },
 | 
			
		||||
    users: {
 | 
			
		||||
      search: '搜索昵称或邮箱',
 | 
			
		||||
      resetPassword: '重置密码',
 | 
			
		||||
      resetPasswordTip: '重置密码后密码变为: 123456789, 请及时修改密码',
 | 
			
		||||
    },
 | 
			
		||||
    messages: {
 | 
			
		||||
      search: '搜索消息内容',
 | 
			
		||||
    },
 | 
			
		||||
    groups: {
 | 
			
		||||
      noAvatar: '无头像',
 | 
			
		||||
      'panels.name': '面板名',
 | 
			
		||||
      'panels.type': '面板类型',
 | 
			
		||||
      'panels.provider': '面板供应插件',
 | 
			
		||||
      'panels.pluginPanelName': '插件面板名',
 | 
			
		||||
      'panels.meta': '面板元信息',
 | 
			
		||||
      'panels.parentId': '面板父级',
 | 
			
		||||
      textPanel: '文本频道',
 | 
			
		||||
      groupPanel: '面板分组',
 | 
			
		||||
      pluginPanel: '插件面板',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
@ -0,0 +1,37 @@
 | 
			
		||||
import { TranslationMessages } from 'react-admin';
 | 
			
		||||
import _merge from 'lodash/merge';
 | 
			
		||||
import defaultEnglishMessages from 'ra-language-english';
 | 
			
		||||
import polyglotI18nProvider from 'ra-i18n-polyglot';
 | 
			
		||||
import { chineseResources, englishResources } from './resources';
 | 
			
		||||
import { chineseCustom, englishCustom } from './custom';
 | 
			
		||||
import { defaultChineseMessages } from './builtin';
 | 
			
		||||
 | 
			
		||||
const chineseMessages: TranslationMessages = _merge(
 | 
			
		||||
  {},
 | 
			
		||||
  defaultEnglishMessages,
 | 
			
		||||
  defaultChineseMessages,
 | 
			
		||||
  chineseResources,
 | 
			
		||||
  chineseCustom
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
const englishMessages = _merge(
 | 
			
		||||
  {},
 | 
			
		||||
  defaultEnglishMessages,
 | 
			
		||||
  englishResources,
 | 
			
		||||
  englishCustom
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
export const i18nProvider = polyglotI18nProvider(
 | 
			
		||||
  (locale: string) => {
 | 
			
		||||
    if (locale === 'ch') {
 | 
			
		||||
      return chineseMessages;
 | 
			
		||||
    } else {
 | 
			
		||||
      return englishMessages;
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  'en',
 | 
			
		||||
  [
 | 
			
		||||
    { locale: 'en', name: 'English' },
 | 
			
		||||
    { locale: 'ch', name: '简体中文' },
 | 
			
		||||
  ]
 | 
			
		||||
);
 | 
			
		||||
@ -0,0 +1,123 @@
 | 
			
		||||
export const englishResources = {
 | 
			
		||||
  resources: {
 | 
			
		||||
    users: {
 | 
			
		||||
      name: 'User',
 | 
			
		||||
      fields: {
 | 
			
		||||
        id: 'ID',
 | 
			
		||||
        email: 'Email',
 | 
			
		||||
        avatar: 'Avatar',
 | 
			
		||||
        username: 'Username',
 | 
			
		||||
        password: 'Password',
 | 
			
		||||
        nickname: 'Nick Name',
 | 
			
		||||
        discriminator: 'Discriminator',
 | 
			
		||||
        temporary: 'is Template User',
 | 
			
		||||
        type: 'User Type',
 | 
			
		||||
        settings: 'User Settings',
 | 
			
		||||
        createdAt: 'Create Time',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    messages: {
 | 
			
		||||
      name: 'Messages',
 | 
			
		||||
      fields: {
 | 
			
		||||
        content: 'Content',
 | 
			
		||||
        author: 'Author',
 | 
			
		||||
        groupId: 'Group ID',
 | 
			
		||||
        converseId: 'Converse ID',
 | 
			
		||||
        hasRecall: 'Recall',
 | 
			
		||||
        reactions: 'Reactions',
 | 
			
		||||
        createdAt: 'Create Time',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    groups: {
 | 
			
		||||
      name: 'Group',
 | 
			
		||||
      fields: {
 | 
			
		||||
        id: 'Group ID',
 | 
			
		||||
        name: 'Group Name',
 | 
			
		||||
        avatar: 'Avatar',
 | 
			
		||||
        owner: 'Owner',
 | 
			
		||||
        members: 'Member List',
 | 
			
		||||
        'members.length': 'Member count',
 | 
			
		||||
        'panels.length': 'Panel count',
 | 
			
		||||
        roles: 'Roles',
 | 
			
		||||
        config: 'Config',
 | 
			
		||||
        panels: 'Group Panels',
 | 
			
		||||
        fallbackPermissions: 'Default Permission',
 | 
			
		||||
        createdAt: 'Create Time',
 | 
			
		||||
        updatedAt: 'Update Time',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    file: {
 | 
			
		||||
      name: 'File',
 | 
			
		||||
      fields: {
 | 
			
		||||
        objectName: 'Object Name',
 | 
			
		||||
        url: 'Path',
 | 
			
		||||
        size: 'Size',
 | 
			
		||||
        'metaData.content-type': 'Type',
 | 
			
		||||
        userId: 'Storage User',
 | 
			
		||||
        createdAt: 'Create Time',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const chineseResources = {
 | 
			
		||||
  resources: {
 | 
			
		||||
    users: {
 | 
			
		||||
      name: '用户管理',
 | 
			
		||||
      fields: {
 | 
			
		||||
        id: '用户ID',
 | 
			
		||||
        email: '邮箱',
 | 
			
		||||
        avatar: '头像',
 | 
			
		||||
        username: '用户名',
 | 
			
		||||
        password: '密码',
 | 
			
		||||
        nickname: '昵称',
 | 
			
		||||
        discriminator: '标识符',
 | 
			
		||||
        temporary: '是否游客',
 | 
			
		||||
        type: '用户类型',
 | 
			
		||||
        settings: '用户设置',
 | 
			
		||||
        createdAt: '创建时间',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    messages: {
 | 
			
		||||
      name: '消息管理',
 | 
			
		||||
      fields: {
 | 
			
		||||
        content: '内容',
 | 
			
		||||
        author: '作者',
 | 
			
		||||
        groupId: '群组ID',
 | 
			
		||||
        converseId: '会话ID',
 | 
			
		||||
        hasRecall: '撤回',
 | 
			
		||||
        reactions: '消息反应',
 | 
			
		||||
        createdAt: '创建时间',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    groups: {
 | 
			
		||||
      name: '群组管理',
 | 
			
		||||
      fields: {
 | 
			
		||||
        id: '群组ID',
 | 
			
		||||
        name: '群组名称',
 | 
			
		||||
        avatar: '头像',
 | 
			
		||||
        owner: '管理员',
 | 
			
		||||
        members: '成员列表',
 | 
			
		||||
        'members.length': '成员数量',
 | 
			
		||||
        'panels.length': '面板数量',
 | 
			
		||||
        roles: '角色',
 | 
			
		||||
        config: '配置信息',
 | 
			
		||||
        panels: '群组面板',
 | 
			
		||||
        fallbackPermissions: '默认权限',
 | 
			
		||||
        createdAt: '创建时间',
 | 
			
		||||
        updatedAt: '更新时间',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    file: {
 | 
			
		||||
      name: '文件管理',
 | 
			
		||||
      fields: {
 | 
			
		||||
        objectName: '对象存储名',
 | 
			
		||||
        url: '文件路径',
 | 
			
		||||
        size: '文件大小',
 | 
			
		||||
        'metaData.content-type': '文件类型',
 | 
			
		||||
        userId: '存储用户',
 | 
			
		||||
        createdAt: '创建时间',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue