Skip to content

Latest commit

 

History

History
88 lines (79 loc) · 1.88 KB

config.md

File metadata and controls

88 lines (79 loc) · 1.88 KB
{
  /**
   * 支持的语言列表, 比如 zh, en, ja, en-US
   * 具体取决于开发者如何定义语言标识符
   * bbt 会按照这里定义的标识符进行语言包文件查找和生成
   * 默认为 ['zh', 'en']
   */
  langs?: string[];

  /**
   * 生成的资源目录地址
   *
   * 默认为 './'
   */
  resourcePath?: string;

  /**
   * 语言包文件匹配正则表达式, 比如 '.*\\.tr$'
   * 默认为 '.*\\.tr$'
   */
  test?: string;

  /**
   * 在那个文件夹下收集语言信息
   *
   * 默认为 `./src`
   */
  src?: string;

  /**
   * 忽略收集的文件夹
   * 类型为正则表达式字符串
   * 默认为 ['node_modules']
   */
  exclude?: string[];

  /**
   * Excel 的输出地址
   *
   * 默认为 `./bbt-lang/bbt.csv`
   */
  bbtExcelPath?: string;

  /**
   * 对比规则
   *
   * 默认为 `relaxed`
   *
   * - strict  如果基准值不一致 那么修改其基准值 并清空其他值
   * - relaxed 直接进行合并操作
   */
  diffMode?: DiffModeEnum;

  /**
   * 输出文件的后缀
   *
   * 默认为 `tr`
   */
  outFileExtName?: string;

  /**
   * 自定义插件,用于实现更复杂的场景
   */
  plugins?: {
    /**
     * 自定义文件解析器
     *
     * 在读取文件时 调用`parse`方法将文件内容转换为`JSON`对象
     * 在写入文件时 调用`stringify`方法将`JSON`对象写入到文件中
     */
    parser?: FileParser;

    /**
     * 自定义翻译
     * @param record - 需要翻译的数据源
     * @param target - 翻译的目标语言
     * @param sourceLanguage - 数据源原本的语言
     * @returns Observable<TranslatedList<string>> | Promise<TranslatedList<string>>;
     */
    translator: (
      record: Record<string, string>,
      target: string,
      sourceLanguage: string
    ) => Observable<TranslatedList<string>> | Promise<TranslatedList<string>>;
  };
}