Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Kylin i18n CopilotNew to Visual Studio Code? Get it now.
Kylin i18n Copilot

Kylin i18n Copilot

shuyun

|
40 installs
| (1) | Free
🌍 i18n copilot for kylin
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info
logo

Kylin i18n Copilot

旨在提供一系列编辑器辅助功能用于提升 kylin 系统的国际化开发效率的同时,优化开发人员的开发体验。

使用方式

VS Code 插件市场搜索 Kylin i18n Copilot 安装

功能

内联提示

悬浮窗和快捷操作

从代码中提取中文文案

缺失文案报告

要求

  • vscode 版本不低于 1.77.3
  • 项目里面应该提前配置好翻译组件 CommonTranslate、commonTranslate、Translate、translate, 下面是一个参考:
import * as React from 'react';
import { observer } from 'mobx-react';
import { languageStore } from '@/stores/language';
import { PortalService } from '@/services/portal';

interface IProps {
  i18n: string;
  data?: { [key: string]: any };
  component?: 'span' | 'div';
}

export const { translate } = languageStore;

@observer
export class Translate extends React.Component<IProps> {
  public render() {
    const { i18n, data, component = 'span' } = this.props;

    const text = translate(i18n, data);

    if (component === 'span') {
      return <span data-i18n={i18n}>{text}</span>;
    }

    if (component === 'div') {
      return <div data-i18n={i18n}>{text}</div>;
    }

    return <React.Fragment>{text}</React.Fragment>;
  }
}

interface ICommonTranslateProps {
  i18n: string;
  data?: { [key: string]: any };
  component?: 'span' | 'div';
}

export const CommonTranslate: React.FC<ICommonTranslateProps> = (props) => {
  const { Common } = PortalService.LanguageService;
  const { i18n, data, component = 'span' } = props;
  const text = Common.translate(i18n, data);

  if (component === 'span') {
    return <span data-i18n={i18n}>{text}</span>;
  }

  if (component === 'div') {
    return <div data-i18n={i18n}>{text}</div>;
  }

  return <React.Fragment>{text}</React.Fragment>;
};

export const commonTranslate = (i18n: string, data?: any) => {
  const { Common } = PortalService.LanguageService;

  return Common.translate(i18n, data);
};

设置

如果您的扩展通过contributes.configuration扩展点添加任何 VS Code 设置,请将其包括在内。

该扩展可提供以下设置:

  • kylin-i18n-copilot.disabled: 是否禁用 Kylin i18n Copilot, 默认为 false.
  • kylin-i18n-copilot.autoDetection: 是否启用项目的本地语言自动检测功能, 默认为 false.
  • kylin-i18n-copilot.i18nDirName: 项目检测的本地语言文件夹名称, 默认为 i18n.
  • kylin-i18n-copilot.localesPaths: 翻译文件夹路径 (相对于项目根目录),开启自动检测功能后,无需手动配置.
  • kylin-i18n-copilot.commonLocalesDirNames: 项目自身公用翻译文件夹名称, 例如有些项目自身公用翻译文件为 common, 可使用传入 ["common"].
  • kylin-i18n-copilot.commonI18nApiUrl: 网络公共多语言接口地址, 默认为 http://vl7y8cbe33.kylin.shuyun.com.
  • kylin-i18n-copilot.displayLanguage: 显示语言, 默认为 zh-CN.
  • kylin-i18n-copilot.tabStyle: 文案文件的缩进样式,可选为 tab 和 space, 默认为 space.
  • kylin-i18n-copilot.indent: 文案文件的缩进大小, 默认为 2.
  • kylin-i18n-copilot.annotationMaxLength: 内联注释显示的最大字符数。超出的部分将显示为省略号 (...), 默认为 40.

使用文档

准备工作

1、手动设置 kylin-i18n-copilot.localesPaths, 如 "kylin-i18n-copilot.localesPaths": ["packages/business/i18n"] 2、自动设置 "kylin-i18n-copilot.autoDetection": true, 启动自动检测后,重新加载项目, 插件会更新 kylin-i18n-copilot.localesPaths

如果项目存在如 business 和 implement 同时使用 common 文件下的多语言时

// 比如开发时代理的本地语言包,同时包含了 启用的端 和 common
devServer.app.use(
  `/${pakJson.serverName}/${APP_TYPE}/i18n`,
  express.static(path.resolve(__dirname, `packages/${APP_TYPE}/i18n`)),
);
devServer.app.use(
  `/${pakJson.serverName}/common/i18n`,
  express.static(path.resolve(__dirname, `packages/common/i18n`)),
);

还需要设置 "kylin-i18n-copilot.commonLocalesDirNames": ["common"]

其余配置都有默认值,即可开始体验。

发布日志

0.0.1

Initial release of Kylin i18n Copilot

0.0.2

修复 bug:

  • 网络公共多语言可编辑和转到定义的问题

0.0.3

功能:

  • 启用项目的本地语言自动检测功能默认为 false

0.0.4

功能:

  • 提取文案功能交互优化

0.0.5

修复 bug:

  • 公共多语言接口修改为 https

0.0.6

修复 bug:

  • 提取中文文案为 CommonTranslate 时,新增了本地的多语言

0.0.7

文档:

  • 补充完善使用文档

修复 bug:

  • 本地公用翻译提取中文时,路径提取错误

0.0.8

文档:

  • 补充完善文档

1.0.0

修复 bug:

  • 更换网络公共多语言接口地址的默认值

Enjoy!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft