# MSG2PO
[![Build status](https://github.com/BGforgeNet/msg2po/workflows/release/badge.svg)](https://github.com/BGforgeNet/msg2po/actions?query=workflow%3Arelease)
[![Patreon](https://img.shields.io/badge/Patreon-donate-FF424D?logo=Patreon&labelColor=141518)](https://www.patreon.com/BGforge)
[![Telegram](https://img.shields.io/badge/telegram-join%20%20%20%20%E2%9D%B1%E2%9D%B1%E2%9D%B1-darkorange?logo=telegram)](https://t.me/bgforge)
[![Discord](https://img.shields.io/discord/420268540700917760?logo=discord&label=discord&color=blue&logoColor=FEE75C)](https://discord.gg/4Yqfggm)
[![IRC](https://img.shields.io/badge/%23IRC-join%20%20%20%20%E2%9D%B1%E2%9D%B1%E2%9D%B1-darkorange)](https://bgforge.net/irc)
This is a set of tools to convert Fallout 1/2 MSG and WeiDU TRA into GNU gettext PO and back, used in [BGforge Hive](https://hive.bgforge.net/). Ask questions [here](https://forums.bgforge.net/viewforum.php?f=9).
### Installation
```bash
pip install msg2po
```
Also install [Gettext tools](https://www.gnu.org/software/gettext/), and make sure they are in PATH.
### Poify
```bash
$ poify.py -h
.bgforge.yml not found, assuming defaults
usage: poify.py [-h] [-e ENC] [DIR]
Poify files in selected directory
positional arguments:
DIR source language directory (default: ./english)
options:
-h, --help show this help message and exit
-e ENC source encoding (default: cp1252)
```
### Action
Github [action](docs/action.md) is available for automatic processing.
---
[Changelog](docs/changelog.md)
### Unfuzzy
Unfuzzy removes fuzzy flag and previous msgid from PO entries, if after all replacements current msgid and previous msgid match exactly. Usually it is run after spelling changes in source language, to reduce diff noise and avoid extra review burden.
The comparison is case sensitive. The replacements are read from `unfuzzy.yml` in current directory, example:
```yaml
- ["Nuka Cola", "Nuka-Cola"]
- ["nuka cola", "Nuka-Cola"]
```
Run
```bash
unfuzzy.py -w data/text/po/french.po
```
Raw data
{
"_id": null,
"home_page": "https://github.com/BGforgeNet/msg2po",
"name": "msg2po",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "Fallout, Fallout 2, Baldur's Gate, Infinity Engine, WeiDU",
"author": "BGforge",
"author_email": "dev@bgforge.net",
"download_url": "https://files.pythonhosted.org/packages/9f/5f/885cb0f12e600c969f774e92669f21efb85eb8ab26c2f77bdc63ea550895/msg2po-1.3.1.tar.gz",
"platform": null,
"description": "# MSG2PO\n\n[![Build status](https://github.com/BGforgeNet/msg2po/workflows/release/badge.svg)](https://github.com/BGforgeNet/msg2po/actions?query=workflow%3Arelease)\n[![Patreon](https://img.shields.io/badge/Patreon-donate-FF424D?logo=Patreon&labelColor=141518)](https://www.patreon.com/BGforge)\n[![Telegram](https://img.shields.io/badge/telegram-join%20%20%20%20%E2%9D%B1%E2%9D%B1%E2%9D%B1-darkorange?logo=telegram)](https://t.me/bgforge)\n[![Discord](https://img.shields.io/discord/420268540700917760?logo=discord&label=discord&color=blue&logoColor=FEE75C)](https://discord.gg/4Yqfggm)\n[![IRC](https://img.shields.io/badge/%23IRC-join%20%20%20%20%E2%9D%B1%E2%9D%B1%E2%9D%B1-darkorange)](https://bgforge.net/irc)\n\nThis is a set of tools to convert Fallout 1/2 MSG and WeiDU TRA into GNU gettext PO and back, used in [BGforge Hive](https://hive.bgforge.net/). Ask questions [here](https://forums.bgforge.net/viewforum.php?f=9).\n\n### Installation\n\n```bash\npip install msg2po\n```\n\nAlso install [Gettext tools](https://www.gnu.org/software/gettext/), and make sure they are in PATH.\n\n### Poify\n\n```bash\n$ poify.py -h\n.bgforge.yml not found, assuming defaults\nusage: poify.py [-h] [-e ENC] [DIR]\n\nPoify files in selected directory\n\npositional arguments:\n DIR source language directory (default: ./english)\n\noptions:\n -h, --help show this help message and exit\n -e ENC source encoding (default: cp1252)\n```\n\n### Action\n\nGithub [action](docs/action.md) is available for automatic processing.\n\n---\n\n[Changelog](docs/changelog.md)\n\n### Unfuzzy\n\nUnfuzzy removes fuzzy flag and previous msgid from PO entries, if after all replacements current msgid and previous msgid match exactly. Usually it is run after spelling changes in source language, to reduce diff noise and avoid extra review burden.\n\nThe comparison is case sensitive. The replacements are read from `unfuzzy.yml` in current directory, example:\n\n```yaml\n- [\"Nuka Cola\", \"Nuka-Cola\"]\n- [\"nuka cola\", \"Nuka-Cola\"]\n```\n\nRun\n\n```bash\nunfuzzy.py -w data/text/po/french.po\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "A set of helper tools to convert Fallout 1/2 MSG and WeiDU TRA into GNU gettext PO and back.",
"version": "1.3.1",
"project_urls": {
"Homepage": "https://github.com/BGforgeNet/msg2po",
"Repository": "https://github.com/BGforgeNet/msg2po"
},
"split_keywords": [
"fallout",
" fallout 2",
" baldur's gate",
" infinity engine",
" weidu"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e3306cdafd72c137bd6e1042da3b18ba676adaa5bd424bb7efcb705fd4a855fc",
"md5": "e0d16b228df52a9430887e010ad0aeef",
"sha256": "97aa3e1342ae5fd5f23fddd45be65501e90815623a35a76a636389ebbfe8eafc"
},
"downloads": -1,
"filename": "msg2po-1.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e0d16b228df52a9430887e010ad0aeef",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 26727,
"upload_time": "2024-12-07T08:04:06",
"upload_time_iso_8601": "2024-12-07T08:04:06.878764Z",
"url": "https://files.pythonhosted.org/packages/e3/30/6cdafd72c137bd6e1042da3b18ba676adaa5bd424bb7efcb705fd4a855fc/msg2po-1.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9f5f885cb0f12e600c969f774e92669f21efb85eb8ab26c2f77bdc63ea550895",
"md5": "f7edfd882c05fa36a4325a2592c9e9a3",
"sha256": "6e40b242a751912bc007e97988ca65956b6fe05844eb3c2d95945091c9778d6b"
},
"downloads": -1,
"filename": "msg2po-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "f7edfd882c05fa36a4325a2592c9e9a3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 20134,
"upload_time": "2024-12-07T08:04:08",
"upload_time_iso_8601": "2024-12-07T08:04:08.023916Z",
"url": "https://files.pythonhosted.org/packages/9f/5f/885cb0f12e600c969f774e92669f21efb85eb8ab26c2f77bdc63ea550895/msg2po-1.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-07 08:04:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "BGforgeNet",
"github_project": "msg2po",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "configparser",
"specs": [
[
"==",
"7.1.0"
]
]
},
{
"name": "natsort",
"specs": [
[
"==",
"6.2.1"
]
]
},
{
"name": "polib",
"specs": [
[
"==",
"1.2.0"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.9.0.post0"
]
]
},
{
"name": "ruamel-yaml-clib",
"specs": [
[
"==",
"0.2.8"
]
]
},
{
"name": "ruamel-yaml",
"specs": [
[
"==",
"0.18.6"
]
]
},
{
"name": "setuptools",
"specs": [
[
"==",
"75.1.0"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.16.0"
]
]
}
],
"lcname": "msg2po"
}