poe is a .po (GNU gettext) file editor with a terminal UI.
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: See TODO for a list of implemented and planned features. 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.
C compiler (GCC-compatible) -
$ git clone https://git.sr.ht/~strahinja/poe $ cd poe $ su
If you have djb redo:
# redo install
if you don't:
# ./do install
Bugs and limitations
Bugs can be reported using the ticket tracker. See the manpage (
poe) after installing poe for more information.
poe - .po file editor
Copyright (C) 2021 Страхиња Радић
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
LICENSE.termbox applies to the portion of this program which is from
the termbox library.