diff options
-rw-r--r-- | cmake/Translations.cmake | 3 | ||||
-rw-r--r-- | includes/hardinfo.h | 4 | ||||
-rw-r--r-- | po/HOWTO.txt | 17 | ||||
-rw-r--r-- | po/updatepo.sh | 21 |
4 files changed, 40 insertions, 5 deletions
diff --git a/cmake/Translations.cmake b/cmake/Translations.cmake index 476fb374..dd06cee4 100644 --- a/cmake/Translations.cmake +++ b/cmake/Translations.cmake @@ -20,7 +20,6 @@ macro(add_translations_catalog NLS_PACKAGE) add_custom_target (pot COMMENT “Building translation catalog.”) find_program (XGETTEXT_EXECUTABLE xgettext) - set(C_SOURCE "") foreach(FILES_INPUT ${ARGN}) @@ -36,6 +35,6 @@ macro(add_translations_catalog NLS_PACKAGE) add_custom_command (TARGET pot COMMAND ${XGETTEXT_EXECUTABLE} -d ${NLS_PACKAGE} -o ${CMAKE_CURRENT_SOURCE_DIR}/${NLS_PACKAGE}.pot - ${VALA_SOURCE} ${C_SOURCE} --keyword="_" --keyword="N_" --from-code=UTF-8 + ${VALA_SOURCE} ${C_SOURCE} -k_ -kN_ -kC_:1c,2 -kNC_:1c,2 -c/ --from-code=UTF-8 ) endmacro() diff --git a/includes/hardinfo.h b/includes/hardinfo.h index 70329ac7..5728e711 100644 --- a/includes/hardinfo.h +++ b/includes/hardinfo.h @@ -25,8 +25,10 @@ #include "vendor.h" #include <libintl.h> #include <locale.h> -#define _(STRING) gettext(STRING) +#define _(STRING) gettext(STRING) #define N_(STRING) (STRING) +#define C_(CTX, STRING) pgettext(CTX, STRING) +#define NC_(CTX, STRING) (STRING) typedef enum { MODULE_FLAG_NONE = 0, diff --git a/po/HOWTO.txt b/po/HOWTO.txt index 81b9bd5c..2a0775dd 100644 --- a/po/HOWTO.txt +++ b/po/HOWTO.txt @@ -1,2 +1,15 @@ -update .pot : make pot in build/ -update .po files after .pot update : msgmerge -N XX.po hardinfo.pot > XX_.po && mv XX_.po XX.po + +To update the .pot and existing translations use: + bash updatepo.sh + +----- + +update .pot : + --don't!-- make pot in build/ + absolute paths will appear in the .pot + try : + xgettext -d hardinfo -o hardinfo.pot -k_ -kN_ -kC_:1c,2 -kNC_:1c,2 -c/ --from-code=UTF-8 ... + +update .po files after .pot update : + msgmerge -N XX.po hardinfo.pot > XX_.po && mv XX_.po XX.po + diff --git a/po/updatepo.sh b/po/updatepo.sh index 9289dabd..d1d3c427 100644 --- a/po/updatepo.sh +++ b/po/updatepo.sh @@ -1,3 +1,24 @@ +#!bash + +echo "Update gettext translation files." + +DER=`pwd` +if [ ! -e "updatepo.sh" ] +then + echo "Error: Run from po/, the location of hardinfo.pot and XX.po files." + exit 1 +fi + +mv hardinfo.pot hardinfo.pot.old +echo "" > hardinfo.pot # empty existing file to join (-j) with +for d in shell/ modules/ hardinfo/; +do + # work form hardinfo root to get reasonable file reference comments + cd .. + echo -n `pwd`; echo "/$d ..." + find "$d" -type f -name "*.c" -print | xargs xgettext -j -d hardinfo -o "$DER/hardinfo.pot" -k_ -kN_ -kC_:1c,2 -kNC_:1c,2 -c/ --from-code=UTF-8 + cd "$DER" +done; for f in *.po do |