matecat/subfiltering

Matecat Subfiltering 组件

v2.2.5 2024-09-11 15:07 UTC

README

Build Status Scrutinizer Code Quality Code Coverage

Subfiltering 是一个组件,用于 Matecat 和 MyMemory 从数据库到 UI 层以及反向的字符串转换。

如何使用

有两个过滤器可用(两者都是 AbstractFilter 的实现)

  • MateCatFilter
  • MyMemoryFilter

使用 getInstance 方法实例化这些类

use Matecat\SubFiltering\MateCatFilter;

$filter = MateCatFilter::getInstance(new FeatureSet(), 'it-IT', 'en-EN', []);

第一个参数必须是 Matecat\SubFiltering\Contracts\FeatureSetInterface 的具体实现。

其他三个参数是可选的

  • $source (字符串) - 源语言
  • $target (字符串) - 目标语言
  • $dataRefMap (数组) - 用于标签替换的映射(仅适用于 Xliff 2.0 的片段)。有关数据引用替换的完整文档,请参阅 此处

数据引用替换

基本用法

一旦实例化 AbstractFilter 类,您可以使用多个方法将字符串从一层转换为另一层。

MateCatFilter 方法

  • fromLayer0ToLayer2
  • fromLayer1ToLayer2
  • fromLayer2ToLayer1
  • fromLayer2ToLayer0
  • fromLayer0ToLayer1
  • fromLayer1ToLayer0
  • fromRawXliffToLayer0
  • fromLayer0ToRawXliff

MyMemoryFilter 方法

  • fromLayer0ToLayer1
  • fromLayer1ToLayer0

其中 Layer0 是数据库层,Layer1 是中间层,Layer2 是 MateCat 的 UI 层。

示例

tests 文件夹中有一个完整的 FeatureSetInterface 具体实现示例,以及一个自定义过滤器。

// tests/Mocks 
.
├── Features
│   ├── AirbnbFeature.php
│   └── BaseFeature.php
└── FeatureSet.php

支持

如果您发现了问题或有任何想法,请参阅 本部分

作者

许可

本项目受 MIT 许可证许可 - 有关详细信息,请参阅 LICENSE.md 文件。