Browse Source

build: make general.ent date translation more clever

Xℹ Ruoyao 4 years ago
parent
commit
913b6dee13
2 changed files with 7 additions and 8 deletions
  1. 2 2
      Makefile
  2. 5 6
      zh_CN/fix.sh

+ 2 - 2
Makefile

@@ -43,7 +43,7 @@ pdf: booksrc
 	rm -rf $(MLANG)/book/pdf
 	make -C $(MLANG)/book REV=$(REV) BASEDIR=pdf pdf
 
-booksrc: $(MBOOK_FILES) $(PATCHES)
+booksrc: $(MBOOK_FILES) $(PATCHES) $(MLANG)/book/general.ent.orig
 	[ ! -e $(MLANG)/fix.sh ] || (pushd $(MLANG)/book; sh ../fix.sh; popd)
 
 $(MLANG)/book/%.xml: $(LFS_EN)/%.xml $(MLANG)/%.po
@@ -55,6 +55,6 @@ $(MLANG)/book/%: $(LFS_EN)/%
 	mkdir -pv "$(@D)"
 	cp -v $< $@
 
-$(MLANG)/book/general.ent: $(LFS_EN)/general.ent $(MLANG)/fix.sh
+$(MLANG)/book/general.ent.orig: $(LFS_EN)/general.ent
 	mkdir -pv "$(@D)"
 	cp -v $< $@

+ 5 - 6
zh_CN/fix.sh

@@ -61,13 +61,12 @@ sed -e 's/less than/不到/' \
 	-e '/encoding=/s/ISO-8859-1/UTF-8/' \
 	-i  packages.ent
 
-reldate=$(grep 'releasedate' general.ent |
+reldate=$(grep 'releasedate' general.ent.orig |
 	      sed 's/.*"\(.*\)".*/\1/;s/st\|nd\|rd\|th//');
-if reldate_cn=$(LANG=en_US.UTF-8 \
-                date -d "$reldate" "+%Y 年 %1m 月 %d 日" \
-                2>/dev/null); then
-	sed "/releasedate/s/\".*\"/\"${reldate_cn}\"/" -i general.ent
-fi
+reldate_cn=$(LANG=en_US.UTF-8 \
+             date -d "$reldate" "+%Y 年 %1m 月 %d 日" \
+             2>/dev/null)
+sed "/releasedate/s/\".*\"/\"${reldate_cn}\"/" -i general.ent
 
 # Some buggy comments produced by po4a are adding extra empty lines.
 # Remove them.