{
  "StringLiteral": {
    "【全中文】const word = '武强' => const word = t('武强');": {
      "input": "const word = '武强'",
      "output": "const word = t('武强');"
    },
    "【没有中文】const word = 'wuqiang' => const word = 'wuqiang';": {
      "input": "const word = 'wuqiang'",
      "output": "const word = 'wuqiang';"
    },
    "【中英混合】const word = 'wu武强qiang' => const word = t('wu武强qiang');": {
      "input": "const word = 'wu武强qiang'",
      "output": "const word = t('wu武强qiang');"
    },
    "【单引号】const word = \"你'好\" => const word = t(\"你'好\");": {
      "input": "const word = \"你'好\"",
      "output": "const word = t('你\\'好');"
    }
  },
  "JSXText": {
    "【全中文】<div>武强</div> => <div>{t('武强')}</div>;": {
      "input": "<div>武强</div>",
      "output": "<div>{t('武强')}</div>;"
    },
    "【没有中文】<div>wuqiang</div> => <div>wuqiang</div>;": {
      "input": "<div>wuqiang</div>",
      "output": "<div>wuqiang</div>;"
    },
    "【中英混合】<div>wu武强qiang</div> => <div>{t('wu武强qiang')}</div>;": {
      "input": "<div>wu武强qiang</div>",
      "output": "<div>{t('wu武强qiang')}</div>;"
    }
  },
  "TemplateLiteral": {
    "【全中文】const word = `武强` => const word = t('武强');": {
      "input": "const word = `武强`",
      "output": "const word = t('武强');"
    },
    "【没有中文 - 没有$】const word = `wuqiang` => const word = 'wuqiang';": {
      "input": "const word = `wuqiang`",
      "output": "const word = `wuqiang`;"
    },
    "【没有中文 - 有$】const word = `wuqiang${age}!` => const word = `wuqiang${age}!`;": {
      "input": "const word = `wuqiang${age}!`",
      "output": "const word = `wuqiang${age}!`;"
    },
    "【中英混合】const word = `wu武强qiang` => const word = t('wu武强qiang');": {
      "input": "const word = `wu武强qiang`",
      "output": "const word = t('wu武强qiang');"
    },
    "【Identifier】const word = `武强${age}` => const word = t('武强{{age}}', { age });": {
      "input": "const word = `武强${age}`",
      "output": "const word = t('武强{{age}}', { age });"
    },
    "【MemberExpression - Identifier】const word = `武强${data.age}` => const word = t('武强{{age}}', { age: data.age });": {
      "input": "const word = `武强${data.age}`",
      "output": "const word = t('武强{{age}}', { age: data.age });"
    },
    "【MemberExpression - MemberExpression】const word = `武强${data.man.obj.age}` => const word = t('武强{{age}}', { age: data.man.obj.age });": {
      "input": "const word = `武强${data.man.obj.age}`",
      "output": "const word = t('武强{{age}}', { age: data.man.obj.age });"
    },
    "【MemberExpression - NumericLiteral】const word = `武强${data[0]}` => const word = t('武强{{0}}', { 0: data[0] });": {
      "input": "const word = `武强${data[0]}`",
      "output": "const word = t('武强{{0}}', { 0: data[0] });"
    },
    "【CallExpression - Identifier】const word = `武强${run()}` => const word = t('武强{{run}}', { run: run() });": {
      "input": "const word = `武强${run()}`",
      "output": "const word = t('武强{{run}}', { run: run() });"
    },
    "【CallExpression - Identifier - 带参数】const word = `武强${run(100, 'male')}` => const word = t('武强{{run}}', { run: run(100, 'male') });": {
      "input": "const word = `武强${run(100, 'male')}`",
      "output": "const word = t('武强{{run}}', { run: run(100, 'male') });"
    },
    "【CallExpression - MemberExpression】const word = `武强${obj.run()}` => const word = t('武强{{run}}', { run: obj.run() });": {
      "input": "const word = `武强${obj.run()}`",
      "output": "const word = t('武强{{run}}', { run: obj.run() });"
    },
    "【ConditionalExpression】const word = `武强${index > 0 ? '10' : '-10'}呢` => const word = t('武强{{ConditionalExpression1}呢}', { ConditionalExpression1: index > 0 ? '10' : '-10' });": {
      "input": "const word = `武强${index > 0 ? '10' : '-10'}呢`",
      "output": "const word = t('武强{{ConditionalExpression1}}呢', { ConditionalExpression1: index > 0 ? '10' : '-10' });"
    },
    "【BinaryExpression】const word = `武强${age - 1}岁` => const word = t('武强{{BinaryExpression1}}岁', { BinaryExpression1: age - 1 });": {
      "input": "const word = `武强${age - 1}岁`",
      "output": "const word = t('武强{{BinaryExpression1}}岁', { BinaryExpression1: age - 1 });"
    },
    "【LogicalExpression】const word = `武强${age || 18}岁` => const word = t('武强{{LogicalExpression1}}岁', { LogicalExpression1: age || 18 });": {
      "input": "const word = `武强${age || 18}岁`",
      "output": "const word = t('武强{{LogicalExpression1}}岁', { LogicalExpression1: age || 18 });"
    },
    "【OptionalMemberExpression】const word = `武强${data?.age}岁` => const word = t('武强{{OptionalMemberExpression1}}岁', { OptionalMemberExpression1: data?.age });": {
      "input": "const word = `武强${data?.age}岁`",
      "output": "const word = t('武强{{OptionalMemberExpression1}}岁', { OptionalMemberExpression1: data?.age });"
    },
    "【OptionalCallExpression】const word = `武强${data?.age()}岁` => const word = t('武强{{OptionalCallExpression1}}岁', { OptionalCallExpression1: data?.age() });": {
      "input": "const word = `武强${data?.age()}岁`",
      "output": "const word = t('武强{{OptionalCallExpression1}}岁', { OptionalCallExpression1: data?.age() });"
    }
  },
  "BinaryExpression": {
    "【不包裹 - BinaryExpression !==】const word = name !== '武强' ? 'wu' : 'qiang' => const word = name !== '武强' ? 'wu' : 'qiang';": {
      "input": "const word = name !== '武强' ? 'wu' : 'qiang'",
      "output": "const word = name !== '武强' ? 'wu' : 'qiang';"
    },
    "【不包裹 - BinaryExpression ===】const word = name === '武强' ? 'wu' : 'qiang' => const word = name === '武强' ? 'wu' : 'qiang';": {
      "input": "const word = name === '武强' ? 'wu' : 'qiang'",
      "output": "const word = name === '武强' ? 'wu' : 'qiang';"
    }
  },
  "excludeWrapperFuncName: ^console,append,indexOf": {
    "【不包裹 - callee Identifier】const word = append('武强') => const word = append('武强');": {
      "input": "const word = append('武强')",
      "output": "const word = append('武强');"
    },
    "【不包裹 - callee MemberExpression】const word = console.error('武强') => const word = console.error('武强');": {
      "input": "const word = console.error('武强')",
      "output": "const word = console.error('武强');"
    },
    "【不包裹 - callee MemberExpression】const word = console.log('武强') => const word = console.log('武强');": {
      "input": "const word = console.log('武强')",
      "output": "const word = console.log('武强');"
    },
    "【包裹 - callee MemberExpression】const word = obj.console.log('武强') => const word = obj.console.log('武强');": {
      "input": "const word = obj.console.log('武强')",
      "output": "const word = obj.console.log(t('武强'));"
    },
    "【不包裹 - callee MemberExpression】const word = obj.indexOf('武强') => const word = obj.indexOf('武强');": {
      "input": "const word = obj.indexOf('武强')",
      "output": "const word = obj.indexOf('武强');"
    }
  }
}
