# Пакет с несколькими скриптами для конвертации txt-файлов в tmx-файлы
Эти скрипты позволяют токенизировать текстовые файлы на предложения, а затем
конвертировать получившиеся файлы в формат tmx (translation memory exchange,
по сути -- xml-файлы), в том числе в формат, понимаемый программой SDL Trados Studio 2017.
## Установка в Windows в терминале Anaconda Prompt
```
$ python -m venv .venv
$ .venv\Scripts\activate.bat # в терминале Git Bash: source .venv/Scripts/activate
$ python -m pip install --upgrade pip
$ pip install to-tmx
$ python -m nltk.downloader punkt # для токенизации на русском языке
```
## Внешние зависимости
Пакет устанавливает NLTK. Кроме того, последняя строчка в разделе про установку
скачивает модели для токенизации на предложения из NLTK Corpora. Эта команда может
выдывать предупреждение при исполнении, но все равно работает.
## Использование
Примеры исходных, промежуточных и финальных файлов лежат в репозитории проекта
на Гитхабе в папке ```data/```.
### Токенизация файлов на предложения
```
$ sent-tok "path\file name.txt" language # английский по умолчанию
```
Например:
```
$ sent-tok "data\Madrid System_eng.txt" english
$ sent-tok "data\Madrid System_rus.txt" russian
```
На выходе получаем два токенизированных на предложения файла, ```Madrid System_eng.txt_sent_tok``` и ```Madrid System_rus.txt_sent_tok```.
Их следует открыть в текстовом редакторе (Notepad++) и проверить, что все токенизировалось
правильно. Обычно ошибок хватает. Нужно, чтобы количество строк в обоих файлов стало одинаковым.
### Конвертация в tmx
```
$ to-tmx "path\file name_eng.txt_sent_tok" "path\file name_rus.txt_sent_tok"
```
Например:
```
$ to-tmx "data\Madrid System_eng.txt_sent_tok" "data\Madrid System_rus.txt_sent_tok"
```
Скрипт создаст файл ```"data\Madrid System_eng-Madrid System_rus.tmx"```.
### Конвертация в tmx, понимаемый программой SDL Trados Studio 2017
```
$ tmx-tradosize "path\file name_eng-file name_rus.tmx "path\file_name_trados_style.tmx"
```
Первый аргумент -- исходный tmx-файл (полученный на предыдущем этапе), второй аргумент -- путь и желаемое название выходящего файла. Например:
```
$ tmx-tradosize "data\Madrid System_eng-Madrid System_rus.tmx" "data\madrid_system_trados_style.tmx"
```
### Конвертация многих файлов в tmx-файлы, понимаемые программой SDL Trados Studio 2017
Команда ```tmx-batch-tradosize``` попросит выбрать папку с несколькими tmx-файлами,
а результат сохранит в папку ```tmx-trados-style\```
Raw data
{
"_id": null,
"home_page": "https://github.com/AlexSkrn/to_tmx",
"name": "to-tmx",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6.0",
"maintainer_email": "",
"keywords": "tmx converter",
"author": "AlexSkrn",
"author_email": "alex.g.skrn@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/18/77/cccd08055f1b3a70e9fc3fab66065f522033450d0b479186f8b7e4957f63/to_tmx-1.0.3.tar.gz",
"platform": null,
"description": "\n# \u041f\u0430\u043a\u0435\u0442 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 txt-\u0444\u0430\u0439\u043b\u043e\u0432 \u0432 tmx-\u0444\u0430\u0439\u043b\u044b\n\n\u042d\u0442\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0442\u043e\u043a\u0435\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0430 \u0437\u0430\u0442\u0435\u043c\n\u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0444\u0430\u0439\u043b\u044b \u0432 \u0444\u043e\u0440\u043c\u0430\u0442 tmx (translation memory exchange,\n\u043f\u043e \u0441\u0443\u0442\u0438 -- xml-\u0444\u0430\u0439\u043b\u044b), \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442, \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 SDL Trados Studio 2017.\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0432 Windows \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 Anaconda Prompt\n\n```\n$ python -m venv .venv\n$ .venv\\Scripts\\activate.bat # \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 Git Bash: source .venv/Scripts/activate\n$ python -m pip install --upgrade pip\n$ pip install to-tmx\n$ python -m nltk.downloader punkt # \u0434\u043b\u044f \u0442\u043e\u043a\u0435\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435\n```\n## \u0412\u043d\u0435\u0448\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438\n\n\u041f\u0430\u043a\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 NLTK. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043f\u0440\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443\n\u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u0442\u043e\u043a\u0435\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u0437 NLTK Corpora. \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043c\u043e\u0436\u0435\u0442\n\u0432\u044b\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438, \u043d\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.\n\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n\n\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445, \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0438 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043b\u0435\u0436\u0430\u0442 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\n\u043d\u0430 \u0413\u0438\u0442\u0445\u0430\u0431\u0435 \u0432 \u043f\u0430\u043f\u043a\u0435 ```data/```.\n\n### \u0422\u043e\u043a\u0435\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f\n```\n$ sent-tok \"path\\file name.txt\" language # \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\n```\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:\n```\n$ sent-tok \"data\\Madrid System_eng.txt\" english\n$ sent-tok \"data\\Madrid System_rus.txt\" russian\n```\n\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0432\u0430 \u0442\u043e\u043a\u0435\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430, ```Madrid System_eng.txt_sent_tok``` \u0438 ```Madrid System_rus.txt_sent_tok```.\n\n\u0418\u0445 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 (Notepad++) \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0442\u043e\u043a\u0435\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c\n\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u041e\u0431\u044b\u0447\u043d\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u0445\u0432\u0430\u0442\u0430\u0435\u0442. \u041d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u0432 \u043e\u0431\u043e\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441\u0442\u0430\u043b\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c.\n\n### \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0432 tmx\n```\n$ to-tmx \"path\\file name_eng.txt_sent_tok\" \"path\\file name_rus.txt_sent_tok\"\n```\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:\n```\n$ to-tmx \"data\\Madrid System_eng.txt_sent_tok\" \"data\\Madrid System_rus.txt_sent_tok\"\n```\n\u0421\u043a\u0440\u0438\u043f\u0442 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u0444\u0430\u0439\u043b ```\"data\\Madrid System_eng-Madrid System_rus.tmx\"```.\n\n### \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0432 tmx, \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 SDL Trados Studio 2017\n```\n$ tmx-tradosize \"path\\file name_eng-file name_rus.tmx \"path\\file_name_trados_style.tmx\"\n```\n\u041f\u0435\u0440\u0432\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 -- \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 tmx-\u0444\u0430\u0439\u043b (\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u044d\u0442\u0430\u043f\u0435), \u0432\u0442\u043e\u0440\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 -- \u043f\u0443\u0442\u044c \u0438 \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:\n```\n$ tmx-tradosize \"data\\Madrid System_eng-Madrid System_rus.tmx\" \"data\\madrid_system_trados_style.tmx\"\n```\n\n### \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 tmx-\u0444\u0430\u0439\u043b\u044b, \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 SDL Trados Studio 2017\n\n\u041a\u043e\u043c\u0430\u043d\u0434\u0430 ```tmx-batch-tradosize``` \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u043f\u043a\u0443 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 tmx-\u0444\u0430\u0439\u043b\u0430\u043c\u0438,\n\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442 \u0432 \u043f\u0430\u043f\u043a\u0443 ```tmx-trados-style\\```\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Txt-to-tmx file converter.",
"version": "1.0.3",
"project_urls": {
"Homepage": "https://github.com/AlexSkrn/to_tmx"
},
"split_keywords": [
"tmx",
"converter"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "037bd064b21a80542efb0ce48c9e360e69256ff4d2169616ffa95630f755fcda",
"md5": "fc1572ca67e816632640375f953330e8",
"sha256": "71f4f61e96834866d5ae110a8b67e2be06bb3b33acd613165a7d3d327d71bba6"
},
"downloads": -1,
"filename": "to_tmx-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fc1572ca67e816632640375f953330e8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6.0",
"size": 8693,
"upload_time": "2023-07-11T17:54:27",
"upload_time_iso_8601": "2023-07-11T17:54:27.614475Z",
"url": "https://files.pythonhosted.org/packages/03/7b/d064b21a80542efb0ce48c9e360e69256ff4d2169616ffa95630f755fcda/to_tmx-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1877cccd08055f1b3a70e9fc3fab66065f522033450d0b479186f8b7e4957f63",
"md5": "7cf5cdcd089c66bbce1c48952dbf13e2",
"sha256": "8e73b30b01d6ec261091f2c73fff6508a2b63de1e8c084a64439b573e53b592c"
},
"downloads": -1,
"filename": "to_tmx-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "7cf5cdcd089c66bbce1c48952dbf13e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 7114,
"upload_time": "2023-07-11T17:54:29",
"upload_time_iso_8601": "2023-07-11T17:54:29.101545Z",
"url": "https://files.pythonhosted.org/packages/18/77/cccd08055f1b3a70e9fc3fab66065f522033450d0b479186f8b7e4957f63/to_tmx-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-11 17:54:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "AlexSkrn",
"github_project": "to_tmx",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "to-tmx"
}