summaryrefslogtreecommitdiff
path: root/data/keyboards/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'data/keyboards/Makefile.am')
-rw-r--r--data/keyboards/Makefile.am29
1 files changed, 20 insertions, 9 deletions
diff --git a/data/keyboards/Makefile.am b/data/keyboards/Makefile.am
index 12b5459..15db898 100644
--- a/data/keyboards/Makefile.am
+++ b/data/keyboards/Makefile.am
@@ -26,22 +26,35 @@ EXTRA_DIST = \
hangul-keyboard-ahn.xml.template \
hangul-combination-default.xml \
hangul-combination-full.xml \
+ its/hangul-keyboard.its \
+ its/hangul-keyboard.loc \
$(NULL)
-# intltool로 xml 파일을 번역하면 주석이 모두 사라지고 attr의 순서도
-# 재정렬된다. 이를 방지하고자 name 부분만 별도의 name.xml로 만들어
+# its 폴더의 *.its, *.loc rule을 사용하기 위해 GETTEXTDATADIRS 지정
+MSGFMT_COMMAND = env GETTEXTDATADIRS=$(srcdir) $(MSGFMT)
+
+# msgfmt으로 xml 파일을 번역하면 들여쓰기 크기가 바뀌고 같은 줄에 달린 주석
+# 앞에 줄바꿈이 추가된다. 이를 방지하고자 root node와 name 부분만 별도의
+# name.xml로 만들어 (msgfmt 입출력은 valid XML만 가능하므로 root node도 포함.)
# 번역한후 template과 name.xml을 병합하여 키보드 xml 파일을 생성한다.
hangul-keyboard-%.xml: hangul-keyboard-%.name.xml hangul-keyboard-%.xml.template
- sed -i -e '1 D' -e 's/^<name/ <name/' $<
+ sed -i -e '1 D' \
+ -e '/^<hangul-keyboard/D' \
+ -e '/^<\/hangul-keyboard/D' \
+ -e 's/^ *<name/ <name/' $<
sed \
- -e '/<_name>/r $<' \
- -e '/<_name>/a\ ' \
- -e '/<_name>/D' \
+ -e '/<name>/r $<' \
+ -e '/<name>/D' \
$(srcdir)/$@.template > $@
hangul-keyboard-%.name.xml.in: hangul-keyboard-%.xml.template
grep "xml version=" $< > $@
- grep "<_name>" $< >> $@
+ grep "<hangul-keyboard" $< >> $@
+ grep "<name>" $< >> $@
+ grep "</hangul-keyboard" $< >> $@
+
+hangul-keyboard-%.name.xml: hangul-keyboard-%.name.xml.in Makefile
+ $(AM_V_GEN)$(MSGFMT_COMMAND) --xml --template $< -d $(top_srcdir)/po -o $@
CLEANFILES = \
hangul-keyboard-2.xml \
@@ -54,5 +67,3 @@ CLEANFILES = \
hangul-keyboard-ro.xml \
hangul-keyboard-ahn.xml \
$(NULL)
-
-@INTLTOOL_XML_RULE@