;;; po-mode.el --- major mode for GNU gettext PO files ;; Copyright (C) 1995-2024 Free Software Foundation, Inc. ;; Authors: François Pinard ;; Greg McGary ;; Keywords: i18n gettext ;; Created: 1995 ;; This file is part of GNU gettext. ;; 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 . ;;; Commentary: ;; This package provides the tools meant to help editing PO files, ;; as documented in the GNU gettext user's manual. See this manual ;; for user documentation, which is not repeated here. ;; To install, merely put this file somewhere GNU Emacs will find it, ;; then add the following lines to your .emacs file: ;; ;; (autoload 'po-mode "po-mode" ;; "Major mode for translators to edit PO files" t) ;; (setq auto-mode-alist (cons '("\\.po\\'\\|\\.po\\." . po-mode) ;; auto-mode-alist)) ;; ;; To use the right coding system automatically under Emacs 20 or newer, ;; also add: ;; ;; (autoload 'po-find-file-coding-system "po-compat") ;; (modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\." ;; 'po-find-file-coding-system) ;; ;; You may also adjust some variables, below, by defining them in your ;; '.emacs' file, either directly or through command 'M-x customize'. ;; TODO: ;; Plural form editing: ;; - When in edit mode, currently it highlights (in green) the msgid; ;; it should also highlight the msgid_plural string, I would say, since ;; the translator has to look at both. ;; - After the translator finished the translation of msgstr[0], it would ;; be nice if the cursor would automatically move to the beginning of the ;; msgstr[1] line, so that the translator just needs to press RET to edit ;; that. ;; - If msgstr[1] is empty but msgstr[0] is not, it would be ergonomic if the ;; contents of msgstr[0] would be copied. (Not sure if this should happen ;; at the end of the editing msgstr[0] or at the beginning of the editing ;; of msgstr[1].) Reason: These two strings are usually very similar. ;;; Code: