poe

poe is a .po (GNU gettext) file editor with a terminal UI.

Q&A

Q: Why?
A: - There should be no need for GNOME to edit .po files.
   - Some folks prefer terminal to GUI.
   - No, plugin for vi(m) isn't enough.

Q: Why C?
A: Because <Go/Rust/whatever soydev language of the moment> sucks.

Q: Why is poe saying there are <N+1> messages in my file when 
   other editors say there are <N> messages?
A: Because poe takes into account (and allows editing of) the first,
   special msgid.

Q: This doesn't do X!
A: I might consider adding a feature if I have time, but already poe has all
   the major ones I planned. It is meant to be a simple .po editing
   program.

Q: Is this suckless?
A: Definitely not. Any TUI is not suckless. gettext is not suckless,
   and thus .po files are also not suckless. Despite that, some
   suggestions for a suckless approach to editing .po files are:
   vi, ed. Still, termbox, used by poe, is less bloated than ncurses.

Screenshots

v0.5-alpha

Screenshot 1

Screenshot 2

Prerequisites

Install

$ git clone https://git.sr.ht/~strahinja/poe
$ cd poe
$ su

If you have djb redo:

# redo install

if you don't:

# ./do install

Persistent build configuration file

If a file config.redo exists in the build directory, it will be sourced when building targets which also accept configuration through environment variables. For example, POE_CC and PREFIX can be specified in config.redo, eliminating the need to pass them with each build.

Install (Arch)

$ (aur_helper) -S poe

Bugs and limitations

Bugs can be reported using the ticket tracker. See the manpage (man poe) after installing poe for more information.

Ticket tracker (HTTPS)

License

poe - .po file editor

Copyright (C) 2021, 2022, 2023 Страхиња Радић

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see:

https://www.gnu.org/licenses/

---

This program includes code from the termbox TUI library,

https://github.com/termbox/termbox

The file LICENSE.termbox applies to the portion of this program which is from the termbox library.