summaryrefslogtreecommitdiff
path: root/po
diff options
context:
space:
mode:
Diffstat (limited to 'po')
-rw-r--r--po/CMakeLists.txt87
-rw-r--r--po/LINGUAS88
-rw-r--r--po/POTFILES.in19
-rw-r--r--po/POTFILES.source.in18
4 files changed, 192 insertions, 20 deletions
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 9e81642a7..bf7423eac 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -1 +1,86 @@
-intltool_setup_po_dir()
+find_program(GETTEXT_XGETTEXT_EXECUTABLE xgettext)
+
+set(DOMAIN ${FULL_PROJECT_NAME})
+set(POT_FILE ${GETTEXT_PACKAGE}.pot)
+
+file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/POTFILES.in TRANSLATED_FILES_1 ENCODING UTF-8 REGEX "^[^#].*")
+file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/POTFILES.source.in TRANSLATED_FILES_2 ENCODING UTF-8 REGEX "^[^#].*")
+set(TRANSLATED_FILES)
+foreach(TRANSLATED_FILE ${TRANSLATED_FILES_1} ${TRANSLATED_FILES_2})
+ list(APPEND TRANSLATED_FILES "../${TRANSLATED_FILE}")
+endforeach(TRANSLATED_FILE)
+
+# Creates the .pot file containing the translations template
+add_custom_command(
+ COMMENT "Generating translation template"
+ COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} -o ${POT_FILE}
+ --directory=${CMAKE_SOURCE_DIR}
+ --package-name=${GETTEXT_PACKAGE}
+ --files-from=${CMAKE_CURRENT_SOURCE_DIR}/POTFILES.in
+ --from-code=UTF-8
+ --add-comments
+ --keyword=_
+ --keyword=N_
+ --keyword=C_:1c,2
+ --keyword=NC_:1c,2
+ --keyword=g_dcgettext:2
+ --keyword=g_dngettext:2,3
+ --keyword=g_dpgettext2:2c,3
+ --flag=N_:1:pass-c-format
+ --flag=C_:2:pass-c-format
+ --flag=NC_:2:pass-c-format
+ --flag=g_dngettext:2:pass-c-format
+ --flag=g_strdup_printf:1:c-format
+ --flag=g_string_printf:2:c-format
+ --flag=g_string_append_printf:2:c-format
+ --flag=g_error_new:3:c-format
+ --flag=g_set_error:4:c-format
+ --flag=g_markup_printf_escaped:1:c-format
+ --flag=g_log:3:c-format
+ --flag=g_print:1:c-format
+ --flag=g_printerr:1:c-format
+ --flag=g_printf:1:c-format
+ --flag=g_fprintf:2:c-format
+ --flag=g_sprintf:2:c-format
+ --flag=g_snprintf:3:c-format
+# .source files are not standard so handle them the best we can
+ COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} -o ${POT_FILE}
+ --directory=${CMAKE_SOURCE_DIR}
+ --package-name=${GETTEXT_PACKAGE}
+ --language=Desktop
+ --join-existing
+ --files-from=${CMAKE_CURRENT_SOURCE_DIR}/POTFILES.source.in
+ --from-code=UTF-8
+ --add-comments
+ --keyword=DisplayName
+ OUTPUT ${POT_FILE}
+ DEPENDS ${TRANSLATED_FILES}
+)
+
+file(GLOB po_files ${CMAKE_CURRENT_SOURCE_DIR}/*.po)
+set(LINGUAS)
+foreach(file IN LISTS po_files)
+ get_filename_component(lang ${file} NAME_WE)
+ list(APPEND LINGUAS ${lang})
+ gettext_process_po_files(${lang} ALL INSTALL_DESTINATION "${LOCALE_INSTALL_DIR}" PO_FILES "${CMAKE_CURRENT_SOURCE_DIR}/${lang}.po")
+endforeach(file)
+
+string (REPLACE ";" "\n" LINGUAS_CONTENT "${LINGUAS}")
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/LINGUAS" ${LINGUAS_CONTENT})
+add_custom_target(linguas)
+add_custom_command(TARGET linguas
+ COMMENT "Updating LINGUAS"
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/LINGUAS ${CMAKE_CURRENT_SOURCE_DIR}/LINGUAS
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/LINGUAS
+)
+
+add_custom_target(${GETTEXT_PACKAGE}-pot DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${POT_FILE})
+
+add_custom_target(${GETTEXT_PACKAGE}-update-po DEPENDS ${GETTEXT_PACKAGE}-pot)
+foreach(LANG ${LINGUAS})
+ add_custom_command(TARGET ${GETTEXT_PACKAGE}-update-po
+ COMMENT "Update ${LANG}.po"
+ COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} -q --update ${CMAKE_CURRENT_SOURCE_DIR}/${LANG}.po ${CMAKE_CURRENT_BINARY_DIR}/${POT_FILE}
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${POT_FILE}
+ )
+endforeach(LANG)
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644
index 000000000..365c3bc11
--- /dev/null
+++ b/po/LINGUAS
@@ -0,0 +1,88 @@
+am
+ar
+as
+ast
+az
+be
+bg
+bn
+bn_IN
+bs
+ca
+ca@valencia
+cs
+cy
+da
+de
+dz
+el
+en@shaw
+en_AU
+en_CA
+en_GB
+eo
+es
+et
+eu
+fa
+fi
+fr
+fur
+ga
+gl
+gu
+he
+hi
+hr
+hu
+id
+is
+it
+ja
+ka
+kk
+km
+kn
+ko
+ku
+lt
+lv
+mai
+mk
+ml
+mn
+mr
+ms
+nb
+ne
+nl
+nn
+oc
+or
+pa
+pl
+pt
+pt_BR
+ro
+ru
+rw
+si
+sk
+sl
+sq
+sr
+sr@latin
+sv
+ta
+te
+tg
+th
+tr
+ug
+uk
+vi
+wa
+xh
+zh_CN
+zh_HK
+zh_TW \ No newline at end of file
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 111edaa5d..9d96051ab 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,6 +1,5 @@
# List of source files containing translatable strings.
# Please keep this list in alphabetic order.
-[encoding: UTF-8]
src/addressbook/backends/carddav/e-book-backend-carddav.c
src/addressbook/backends/file/e-book-backend-file.c
src/addressbook/backends/file/e-book-backend-file-migrate-bdb.c
@@ -226,24 +225,6 @@ src/modules/yahoo-backend/module-yahoo-backend.c
src/services/evolution-addressbook-factory/evolution-addressbook-factory.c
src/services/evolution-alarm-notify/e-alarm-notify.c
src/services/evolution-calendar-factory/evolution-calendar-factory.c
-[type: gettext/ini]src/services/evolution-source-registry/builtin/birthdays.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/caldav-stub.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/carddav-stub.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/contacts-stub.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/google-stub.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/ldap-stub.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/local.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/local-stub.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/sendmail.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/system-address-book.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/system-calendar.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/system-memo-list.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/system-proxy.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/system-task-list.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/vfolder.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/weather-stub.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/webcal-stub.source.in
-[type: gettext/ini]src/services/evolution-source-registry/builtin/webdav-notes-stub.source.in
src/services/evolution-source-registry/evolution-source-registry.c
src/services/evolution-user-prompter/evolution-user-prompter.c
src/services/evolution-user-prompter/prompt-user-gtk.c
diff --git a/po/POTFILES.source.in b/po/POTFILES.source.in
new file mode 100644
index 000000000..d0b666d6d
--- /dev/null
+++ b/po/POTFILES.source.in
@@ -0,0 +1,18 @@
+src/services/evolution-source-registry/builtin/birthdays.source.in
+src/services/evolution-source-registry/builtin/caldav-stub.source.in
+src/services/evolution-source-registry/builtin/carddav-stub.source.in
+src/services/evolution-source-registry/builtin/contacts-stub.source.in
+src/services/evolution-source-registry/builtin/google-stub.source.in
+src/services/evolution-source-registry/builtin/ldap-stub.source.in
+src/services/evolution-source-registry/builtin/local.source.in
+src/services/evolution-source-registry/builtin/local-stub.source.in
+src/services/evolution-source-registry/builtin/sendmail.source.in
+src/services/evolution-source-registry/builtin/system-address-book.source.in
+src/services/evolution-source-registry/builtin/system-calendar.source.in
+src/services/evolution-source-registry/builtin/system-memo-list.source.in
+src/services/evolution-source-registry/builtin/system-proxy.source.in
+src/services/evolution-source-registry/builtin/system-task-list.source.in
+src/services/evolution-source-registry/builtin/vfolder.source.in
+src/services/evolution-source-registry/builtin/weather-stub.source.in
+src/services/evolution-source-registry/builtin/webcal-stub.source.in
+src/services/evolution-source-registry/builtin/webdav-notes-stub.source.in