diff options
Diffstat (limited to 'common/entities')
-rw-r--r-- | common/entities/Makefile | 181 | ||||
-rw-r--r-- | common/entities/entities-it.ent | 2 | ||||
-rw-r--r-- | common/entities/entities-it.xml | 2 | ||||
-rw-r--r-- | common/entities/it.po | 5 |
4 files changed, 173 insertions, 17 deletions
diff --git a/common/entities/Makefile b/common/entities/Makefile index b36a116..3c5b02c 100644 --- a/common/entities/Makefile +++ b/common/entities/Makefile @@ -1,24 +1,179 @@ PRI_LANG=en +OTHERS =it -all: entities-it.ent +####################################################################### +# Populate make(1) with only those suffixes of interest to us +# +.SUFFIXES: +.SUFFIXES: .ent .po .pot .xml .xsl +# +####################################################################### -clean: +####################################################################### +# Define macros to explicitly instantiate the files to work with +# +OTHERXMLFILES=$(foreach L,${OTHERS},entities-${L}.xml) +POFILES=$(foreach L,${OTHERS},${L}.po) +ENTFILES=$(foreach L,${PRI_LANG} ${OTHERS},entities-${L}.ent) +# +####################################################################### -distclean clobber: clean - ${RM} *.ent +####################################################################### +# Rule: Apply stylesheet to transform XML into locale-specific ".ent" +# entities file +# +%.ent: %.xml + xsltproc -o $@ entities.xsl $< +# +####################################################################### -entities-it.ent: entities-it.xml entities.xsl - xsltproc -o $@ entities.xsl entities-it.xml +####################################################################### +# Printf(1) format string for describing targets by "make help". +HELPFMT ="%-23s\t| %s.\n" +# +####################################################################### -entities-it.xml: entities-${PRI_LANG}.xml it.po - xml2po -p it.po entities-${PRI_LANG}.xml >$@ +####################################################################### +# WARNING: put no targets before this one! +# +.PHONY: all +all:: ${ENTFILES} +####################################################################### -it.po: it.pot - if [ ! -f $@ ]; then \ - cp $< $@; \ +####################################################################### +# Target 'help' displays the available targets +# +.PHONY: help +help:: + @printf ${HELPFMT} "make all" "Generate .ENT files" + @printf ${HELPFMT} "make help" "Display this list" +# +####################################################################### + +####################################################################### +# Target 'entities.pot' makes a TEMPORARY seed translation file. We +# use the original-language entities XML file as the source. +# +.PHONY: pot + +pot entities.pot:: entities-${PRI_LANG}.xml + xml2po -o entities.pot $< + +help:: + @printf ${HELPFMT} "make pot" "Create template PO file" + @printf ${HELPFMT} "make entities.pot" "Create template PO file" +# +####################################################################### + +####################################################################### +# 'PO_template' emits rules to update the locale-specific .PO file +# whenever the "entities-${PRI_LANG}.xml", and therefore the +# "entities.pot" file, is changed. +# +define PO_template +.PHONY: po-${1} +po-${1} ${1}.po:: entities.pot + if [ ! -f ${1}.po ]; then \ + cp $$< ${1}.po; \ else \ - msgmerge --update --backup=simple $@ $<; \ + msgmerge --update --backup=simple ${1}.po $$<; \ fi -it.pot: entities-${PRI_LANG}.xml +help:: + @printf ${HELPFMT} "make po-${1}" "Generate .PO file for locale '${1}'" + @printf ${HELPFMT} "make ${1}.po" "Generate '${1}.po' file" +endef + +$(foreach L,${OTHERS},$(eval $(call PO_template,${L}))) + +.PHONY: po-all +po-all: ${foreach L,${OTHERS},${L}.po} + +help:: + @printf ${HELPFMT} "make po-all" "Generate all .PO files" +# +####################################################################### + +####################################################################### +# 'UPDATE_template' generates the rules to derive the translated XML +# files based on the "entities-${PRI_LANG}.xml" file and the selected +# "${LANG}.po" file. +# +define UPDATE_template +.PHONY: xml-${1} +xml-${1} entities-${1}.xml: entities-${PRI_LANG}.xml ${1}.po + xml2po -p ${1}.po entities-${PRI_LANG}.xml >entities-${1}.xml + +help:: + @printf ${HELPFMT} "make xml-${1}" "Translate XML for locale '${1}'" + @printf ${HELPFMT} "make entities-${1}.xml" "Build 'entities-${1}.xml' file" +endef + +.PHONY: xml-${PRI_LANG} +xml-${PRI_LANG}:: entities-${PRI_LANG}.xml + +$(foreach L,${OTHERS},$(eval $(call UPDATE_template,${L}))) + +.PHONY: xml-all +xml-all: $(foreach L,${OTHERS},entities-${L}.xml) + +help:: + @printf ${HELPFMT} "make xml-all" "Translate XML for all locales" +# +####################################################################### + + +####################################################################### +# Target 'showvars' displays both provided and computed macro values +# +.PHONY: showvars +showvars:: + @echo "PRI_LANG=${PRI_LANG}" + @echo "OTHERS=${OTHERS}" + @echo "OTHERXMLFILES=${OTHERXMLFILES}" + @echo "ENTFILES=${ENTFILES}" + @echo "POFILES=${POFILES}" +help:: + @printf ${HELPFMT} "make showvars" "Show certain macro values" +# +####################################################################### + +####################################################################### +# Target 'clean' deletes all temporary files. +# +.PHONY: clean +clean:: + ${RM} *~ + ${RM} entities.pot + ${RM} ${OTHERXMLFILES} + +help:: + @printf ${HELPFMT} "make clean" "Delete all temporary files" +# +####################################################################### + +####################################################################### +# Target 'distclean' or 'clobber' deletes all generated product files +# in addition to all temporary files. +# +.PHONY: distclean clobber +distclean clobber:: clean + ${RM} ${ENTFILES} + +help:: + @printf ${HELPFMT} "make distclean" "Delete all generated files" + @printf ${HELPFMT} "make clobber" "Delete all generated files" +# +####################################################################### + +####################################################################### +# We create EXACTLY one .POT file, and treat is as a temporary file. +# Do NOT EDIT the .POT file if you are sharing this directory! +# +entities.pot:: entities-${PRI_LANG}.xml xml2po -o $@ $< + +help:: + @printf ${HELPFMT} "make entities.pot" "Create template .PO file" +# +####################################################################### diff --git a/common/entities/entities-it.ent b/common/entities/entities-it.ent index 325c332..3f2bfc6 100644 --- a/common/entities/entities-it.ent +++ b/common/entities/entities-it.ent @@ -1,5 +1,5 @@ - <!-- These common entities are useful shorthand terms and names, which may be subject to change at anytime. This is an important value the the entity provides: a single location to update terms and common names. --> + <!-- These are the Italian (it) common entities. --> <!-- Group: Fedora common entries --> diff --git a/common/entities/entities-it.xml b/common/entities/entities-it.xml index df483cd..a770470 100644 --- a/common/entities/entities-it.xml +++ b/common/entities/entities-it.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE entities SYSTEM "entities.dtd"> <entities> - <title>These common entities are useful shorthand terms and names, which may be subject to change at anytime. This is an important value the the entity provides: a single location to update terms and common names.</title> + <title>These are the Italian (it) common entities.</title> <group name="Fedora common entries"> <entity name="FED"> <comment>Generic root term</comment> diff --git a/common/entities/it.po b/common/entities/it.po index 42eb0be..9046f96 100644 --- a/common/entities/it.po +++ b/common/entities/it.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: it\n" "POT-Creation-Date: 2006-02-25 13:56-0600\n" -"PO-Revision-Date: 2006-02-23 03:14-0600\n" +"PO-Revision-Date: 2006-02-26 15:05-0600\n" "Last-Translator: Tommy Reynolds <Tommy.Reynolds@MegaCoder.com>\n" "Language-Team: US English <en@li.org>\n" "MIME-Version: 1.0\n" @@ -17,7 +17,7 @@ msgid "" "These common entities are useful shorthand terms and names, which may be " "subject to change at anytime. This is an important value the the entity " "provides: a single location to update terms and common names." -msgstr "" +msgstr "These are the Italian (it) common entities." #: entities-en.xml:14(comment) entities-en.xml:18(comment) msgid "Generic root term" @@ -237,3 +237,4 @@ msgstr "" #: entities-en.xml:0(None) msgid "translator-credits" msgstr "Tommy Reynolds <Tommy.Reynolds@MegaCoder.com> 2006" + |