1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/cosineg-opencc-net

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme-en.md

OpenCC.NET

GitHub license Nuget Nuget GitHub Workflow Status

简体中文 | English

Введение

OpenCC.NET — это неофициальная версия C# проекта OpenCC (Open Chinese Convert), которая поддерживает преобразование на уровне лексики между упрощённым и традиционным китайским, а также преобразование вариантов и слов между регионами.

Особенности

  • Строго различает «один упрощённый к нескольким традиционным» и «один упрощённый ко многим вариантам».
  • Полностью совместим с символами вариантов.
  • Тщательно проверяет одно простое слово против многих сложных слов, принцип: «Если его можно разделить, оно будет разделено».
  • Поддерживает преобразование вариантов Гонконга / Тайваня и региональных идиом материкового Китая / Тайваня.
  • Полностью совместим со встроенными словарями OpenCC, словари можно свободно модифицировать, импортировать и расширять.
  • Основан на .NET Standard 2.0, поддерживает .NET Framework 4.6.1 и .NET Core 2.0 и выше.

Обновление

Обновление для версии 1.0:

  • Рефакторинг и упрощение структуры проекта и логики обработки в цепочку, аналогичную OpenCC.
  • Исправлена ошибка, при которой 「著作」=>「着作」 при преобразовании традиционного китайского (Тайвань) в упрощённый китайский.
  • Теперь, когда пакет OpenCCNET вводится в проект, упакованные словари и файлы ресурсов могут быть автоматически скопированы в выходной каталог программы.
  • Добавлена функция преобразования Kyūjitai и Shinjitai в японские иероглифы.

Начало работы

Установка

Найдите OpenCCNET в Nuget и установите его, введите пространство имён OpenCCNET в проекте. Пакет поставляется со словарями (файлы словарей) и JiebaResource (ресурсные файлы, необходимые для запуска Jieba.NET), которые по умолчанию будут скопированы в каталог вывода программы.

Использование

Перед использованием вызовите ZhConverter.Initialize(), который имеет два параметра по умолчанию: путь к словарям и ресурсы Jieba.NET. (оригинальный ZhUtil.Initialize() устарел).

OpenCC.NET предоставляет два стиля API:

Статический класс ZhConverter

Метод Введение Примечание
HansToHant(string) Упрощённый китайский => традиционный китайский (стандарт OpenCC)
HansToTW(string, bool=false) Упрощённый китайский => традиционный китайский (Тайвань) параметр bool определяет, следует ли преобразовывать региональные идиомы на Тайване
HansToHK(string) Упрощённый китайский => традиционный китайский (Гонконг)
HantToHans(string) Традиционный китайский => упрощённый китайский
HantToTW(string, bool=false) Традиционный китайский => традиционный китайский (Тайвань) параметр bool определяет, следует ли преобразовывать региональные идиомы на Тайване
HantToHK(string) Традиционный китайский => традиционный китайский (Гонконг)
TWToHans(string, bool=false) Традиционный китайский (Тайвань) => упрощённый китайский параметр bool определяет, следует ли преобразовывать региональные идиомы в материковом Китае
TWToHant(string, bool=false) Традиционный китайский (Тайвань) => традиционный китайский (стандарт OpenCC) параметр bool определяет, следует ли преобразовывать региональные идиомы в материковом Китае
HKToHans(string) Традиционный китайский (Гонконг) => упрощённый китайский
HKToHant(string, bool=false) Традиционный китайский (Гонконг) => традиционный китайский (стандарт OpenCC)
KyuuToShin(string) Японский (Kyūjitai) => Японский (Shinjitai)
ShinToKyuu(string) Японский (Shinjitai) => Японский (Kyūjitai)
Console.WriteLine(ZhConverter.HansToTW(input, true));
// 为我的电脑换了新的内存,打开电脑后感觉看网络视频更加流畅了

Console.WriteLine(ZhConverter.HansToHK(input)); // Для моего компьютера поменяли новую оперативную память, после включения компьютера кажется, что смотреть сетевые видео стало более плавно

Console.WriteLine(ZhConverter.ShinToKyuu("沖縄県内の学校"));


#### Extension Methods of string
| Метод | Описание | Примечание |
|----|----|----|
| ToHantFromHans() | Из упрощённого китайского в традиционный китайский (стандарт OpenCC) | |
| ToTWFromHans(bool = false) | Из упрощённого китайского в традиционный китайский (Тайвань) | Параметр bool определяет, следует ли преобразовывать в региональные идиомы Тайваня |
| ToHKFromHans() | Из упрощённого китайского в традиционный китайский (Гонконг) | |
| ToHansFromHant() | Из традиционного китайского в упрощённый китайский | |
| ToTWFromHant(bool = false) | Из традиционного китайского в традиционный китайский (Тайвань) | Параметр bool определяет, следует ли преобразовывать в региональные идиомы Тайваня |
| ToHKFromHant() | Из традиционного китайского в традиционный китайский (Гонконг) | |
| ToHansFromTW(bool = false) | Из традиционного китайского (Тайвань) в упрощённый китайский | Параметр bool определяет, следует ли преобразовывать в региональные идиомы материкового Китая |
| ToHantFromTW(bool = false) | Из традиционного китайского (Тайвань) в традиционный китайский (OpenCC стандарт) | Параметр bool определяет, следует ли преобразовывать в региональные идиомы материкового Китая |
| ToHansFromHK() | Из традиционного китайского (Гонконг) в упрощённый китайский | |
| ToHantFromHK() | Из традиционного китайского (Гонконг) в традиционный китайский (OpenCC стандарт) | |
| ToShinFromKyuu() | Японский (Кюдзитай) в японский (Синдзитай) | |
| ToKyuuFromShin() | Японский (Синдзитай) в японский (Кюдзитай) | |

```csharp
var input = "為我的電腦換了新的記憶體,開啟電腦後感覺看網路影片更加流暢了";

// 爲我的電腦換了新的記憶體,開啓電腦後感覺看網路影片更加流暢了
Console.WriteLine(input.ToHantFromTW());

// 为我的电脑换了新的记忆体,开启电脑后感觉看网路影片更加流畅了
Console.WriteLine(input.ToHansFromTW());

// 为我的电脑换了新的内存,打开电脑后感觉看网络视频更加流畅了
Console.WriteLine(input.ToHansFromTW(true));

// 独逸連邦共和国
Console.WriteLine("獨逸聯邦共和國".ToShinFromKyuu());

Customization

Segment

По умолчанию OpenCC.NET использует jieba.NET для реализации сегментации, и проект использует статический JiebaSegmenter:

public static JiebaSegmenter Jieba = new JiebaSegmenter();

Его можно настроить с помощью ZhConverter.ZhSegment.Jieba, подробности см. в jieba.NET.

OpenCC.NET также поддерживает пользовательскую реализацию сегмента:

ZhConverter.ZhSegment.Segment = input =>
{
    // input — это строка, а output — IEnumerable<string>
    return new List<string>();
};

Вызовите ResetSegment(), чтобы повторно использовать сегментацию jieba.NET и сбросить JiebaSegmenter.

Acknowledgments

OpenCC

BYVoid/OpenCC предоставляет словари.

jieba.NET

anderscui/jieba.NET обеспечивает реализацию сегментации.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

На основе .NET реализации проекта преобразования китайского языка OpenCC. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/cosineg-opencc-net.git
git@api.gitlife.ru:oschina-mirror/cosineg-opencc-net.git
oschina-mirror
cosineg-opencc-net
cosineg-opencc-net
master