diff options
-rw-r--r-- | core/res/res/values-en-rUS/donottranslate-names.xml | 2 | ||||
-rw-r--r-- | libs/utils/ResourceTypes.cpp | 11 | ||||
-rw-r--r-- | tools/aapt/ResourceTable.cpp | 3 | ||||
-rw-r--r-- | tools/aapt/XMLNode.cpp | 7 |
4 files changed, 18 insertions, 5 deletions
diff --git a/core/res/res/values-en-rUS/donottranslate-names.xml b/core/res/res/values-en-rUS/donottranslate-names.xml index 42c8ab48a703..82ba310cde5f 100644 --- a/core/res/res/values-en-rUS/donottranslate-names.xml +++ b/core/res/res/values-en-rUS/donottranslate-names.xml @@ -147,7 +147,7 @@ MD, MS, PH.D., PHD, SR, V, VI, VII, VIII, X </string> <string name="common_last_name_prefixes"> - D', DE, DEL, DI, LA, LE, MC, SAN, ST, TER, VAN, VON + D\', DE, DEL, DI, LA, LE, MC, SAN, ST, TER, VAN, VON </string> <string name="common_name_conjunctions"> &, AND, OR diff --git a/libs/utils/ResourceTypes.cpp b/libs/utils/ResourceTypes.cpp index 0831f4a0c0f0..f80843d8dc9e 100644 --- a/libs/utils/ResourceTypes.cpp +++ b/libs/utils/ResourceTypes.cpp @@ -3284,7 +3284,16 @@ bool ResTable::collectString(String16* outString, break; } if (c == '\'' && (quoted == 0 || quoted == '\'')) { - break; + /* + * In practice, when people write ' instead of \' + * in a string, they are doing it by accident + * instead of really meaning to use ' as a quoting + * character. Warn them so they don't lose it. + */ + if (outErrorMsg) { + *outErrorMsg = "Apostrophe not preceded by \\"; + } + return false; } } p++; diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp index 95a238401832..f9d243423dca 100644 --- a/tools/aapt/ResourceTable.cpp +++ b/tools/aapt/ResourceTable.cpp @@ -2364,13 +2364,12 @@ ResourceTable::validateLocalizations(void) String8 region(config.string(), 2); if (configSet.find(region) == configSet.end()) { if (configSet.count(defaultLocale) == 0) { - fprintf(stdout, "aapt: error: " + fprintf(stdout, "aapt: warning: " "*** string '%s' has no default or required localization " "for '%s' in %s\n", String8(nameIter->first).string(), config.string(), mBundle->getResourceSourceDirs()[0]); - err = UNKNOWN_ERROR; } } } diff --git a/tools/aapt/XMLNode.cpp b/tools/aapt/XMLNode.cpp index 6daa0d206da6..d4d2a45c2d0f 100644 --- a/tools/aapt/XMLNode.cpp +++ b/tools/aapt/XMLNode.cpp @@ -219,7 +219,12 @@ moveon: } spanStack.pop(); - if (empty) { + /* + * This warning seems to be just an irritation to most people, + * since it is typically introduced by translators who then never + * see the warning. + */ + if (0 && empty) { fprintf(stderr, "%s:%d: warning: empty '%s' span found in text '%s'\n", fileName, inXml->getLineNumber(), String8(spanTag).string(), String8(*outString).string()); |