summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Planella <david.planella@ubuntu.com>2013-01-28 01:18:08 +0100
committerDavid Planella <david.planella@ubuntu.com>2013-01-28 01:18:08 +0100
commit162a7e9d49da4136d84d38ba419a6c7eda17d85b (patch)
treedf15c4a0f61ffe193a2979bdbe53cd27c2a2c75f
parentbdc3acd8ac486617245d9bb4de7d5f4e801e4ebe (diff)
parent0e7682616e7d7e0b77c927fbe705262f1cfae264 (diff)
downloadintltool-162a7e9d49da4136d84d38ba419a6c7eda17d85b.tar.gz
Merged trunk
-rw-r--r--configure.ac2
-rw-r--r--intltool-extract.in2
-rw-r--r--tests/cases/extract-gtkbuilder-single.ui29
-rw-r--r--tests/results/extract-gtkbuilder-single.ui.h3
-rwxr-xr-xtests/selftest.pl.in8
5 files changed, 41 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index f4db6bf..494c96e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.53])
-AC_INIT([intltool], [0.50.1])
+AC_INIT([intltool], [0.50.3])
AC_CONFIG_SRCDIR([intltoolize.in])
AM_INIT_AUTOMAKE([foreign])
diff --git a/intltool-extract.in b/intltool-extract.in
index 610b5e3..caf7f7b 100644
--- a/intltool-extract.in
+++ b/intltool-extract.in
@@ -897,7 +897,7 @@ sub type_glade {
}
## handle new glade files
- while ($input =~ /<(\w+)\s+[^>]*translatable\s*=\s*"yes"(?:\s+[^>]*context\s*=\s*"([^"]*)")?(?:\s+[^>]*comments\s*=\s*"([^"]*)")?[^>]*>([^<]+)<\/\1>/sg) {
+ while ($input =~ /<(\w+)\s+[^>]*translatable\s*=\s*["']yes["'](?:\s+[^>]*context\s*=\s*["']([^"']*)["'])?(?:\s+[^>]*comments\s*=\s*["']([^"']*)["'])?[^>]*>([^<]+)<\/\1>/sg) {
if (!($4 =~ /^(window|label)[0-9]+$/)) {
my $message = entity_decode($4);
if (defined($2)) {
diff --git a/tests/cases/extract-gtkbuilder-single.ui b/tests/cases/extract-gtkbuilder-single.ui
new file mode 100644
index 0000000..926bb67
--- /dev/null
+++ b/tests/cases/extract-gtkbuilder-single.ui
@@ -0,0 +1,29 @@
+<interface>
+ <object class='GtkDialog' id='dialog1'>
+ <child internal-child='vbox'>
+ <object class='GtkVBox' id='vbox1'>
+ <property name='border-width'>10</property>
+ <child internal-child='action_area'>
+ <object class='GtkHBox' id='hbox1'>
+ <property name='border-width'>20</property>
+ <child>
+ <object class='GtkLabel' id='help'>
+ <property name='label' translatable='yes'>help</property>
+ </object>
+ </child>
+ <child>
+ <object class='GtkLabel' id='user-help'>
+ <property name='label' translatable='yes' context='user'>help</property>
+ </object>
+ </child>
+ <child>
+ <object class='GtkLabel' id='developer-help'>
+ <property name='label' translatable='yes' context='developer'>help</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/tests/results/extract-gtkbuilder-single.ui.h b/tests/results/extract-gtkbuilder-single.ui.h
new file mode 100644
index 0000000..da417c8
--- /dev/null
+++ b/tests/results/extract-gtkbuilder-single.ui.h
@@ -0,0 +1,3 @@
+char *s = N_("help");
+char *s = C_("user", "help");
+char *s = C_("developer", "help");
diff --git a/tests/selftest.pl.in b/tests/selftest.pl.in
index 5f9c7c3..69aba59 100755
--- a/tests/selftest.pl.in
+++ b/tests/selftest.pl.in
@@ -289,11 +289,17 @@ $case = "gsettings.gschema.xml";
system("$INTLTOOL_EXTRACT --type=gettext/gsettings --quiet --update cases/$case") == 0 or $failed = 1;
check_extract_result($case);
-print "39. Extract messages from a Qt Designer UI file: ";
+print "39. Allow single quotes, like translatable='yes': ";
+$case = "extract-gtkbuilder-single.ui";
+system("$INTLTOOL_EXTRACT --type=gettext/glade --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "40. Extract messages from a Qt Designer UI file: ";
$case = "extract-qtdesigner.ui";
system("$INTLTOOL_EXTRACT --type=gettext/qtdesigner --quiet --update cases/$case") == 0 or $failed = 1;
check_extract_result($case);
+
system("rm -f cases/*.*") if $srcdir ne ".";
system("rm -rf C az extract9 fr fr_BE fr_FR merge6 schemasmerge1 schemasmerge2 spacepreserve test test-quoted merge6.xml");