Files
selima-perl/po/monica/Makefile
2026-03-10 21:31:43 +08:00

54 lines
1.7 KiB
Makefile

# Possible make targets:
# all: Compile the PO files and copy the binary MO files
# into the appropriate directories
# xgettext: Obtain the newest PO template file $(PACKAGE).pot
# from the source programs, and do msgmerge to compare
# the $(PACKAGE).pot and existing PO files to obtain
# the newest POX files to work with
PACKAGE = monica
ALLLINGUAS = zh_TW zh_CN de_DE ja_JP ko_KR es_ES
PKGROOT = ../..
PODIR = po/monica
LOCALEDIR = $(PKGROOT)/locale
CATEGORY = LC_MESSAGES
PROGRAMS = lib/php/monica/*.inc.php
all:
opencc -c tw2sp.json -i zh_TW.po -o /dev/stdout \
| sed "s/^# Traditional Chinese PO file for the /# Simplified Chinese PO file for the /" \
| sed "s/^\"PO-Revision-Date: .*\"/\"PO-Revision-Date: `date \"+%Y-%m-%d %H:%M%z\"`\\\\n\"/" \
> zh_CN.po; \
for ln in $(ALLLINGUAS); do \
msgfmt $$ln.po -o $$ln.gmo; \
test -d $(LOCALEDIR) || \
(rm -rf $(LOCALEDIR) && \
mkdir $(LOCALEDIR)); \
test -d $(LOCALEDIR)/$$ln || \
(rm -rf $(LOCALEDIR)/$$ln && \
mkdir $(LOCALEDIR)/$$ln); \
test -d $(LOCALEDIR)/$$ln/$(CATEGORY) || \
(rm -rf $(LOCALEDIR)/$$ln/$(CATEGORY) && \
mkdir $(LOCALEDIR)/$$ln/$(CATEGORY)); \
rm -f $(LOCALEDIR)/$$ln/$(CATEGORY)/$(PACKAGE).mo; \
cp $$ln.gmo $(LOCALEDIR)/$$ln/$(CATEGORY)/$(PACKAGE).mo; \
done
xgettext:
cd $(PKGROOT); \
xgettext --keyword=_ --keyword=C_ --keyword=N_ --keyword=NC_ --keyword=Nn_:1,2 --keyword=NCn_:1,2 -p $(PODIR)/ -o $(PACKAGE).pot \
--language=c $(PROGRAMS); \
cd $(PODIR); \
for ln in $(ALLLINGUAS); do \
case $$ln in \
ja_JP) \
msgmerge $$ln.utf8.po $(PACKAGE).pot > $$ln.utf8.pox; ;; \
*) \
msgmerge $$ln.po $(PACKAGE).pot > $$ln.pox; ;; \
esac; \
done
clean:
rm -f *.gmo