Web Inspector: Provide UIString descriptions to improve localizations
[WebKit-https.git] / Tools / Scripts / extract-localizable-js-strings
index 34b5ac7..68c70bd 100755 (executable)
@@ -74,7 +74,15 @@ for my $file (sort @files) {
         chomp;
 
         # Handle WebInspector strings. Prints a warning if a non-string literal is passed to WI.UIString().
-        HandleUIString($1, $2 || $1, $3 || "", $file, $.) while s/WI\.UIString\("([^"]+)"(?:,\s*"([^"]+)"(?:,\s*"([^"]+)")?)?\)//;
+        # Allow: WI.UIString(string, comment)
+        #        WI.UIString(string, key, comment)
+        HandleUIString(
+            $1,
+            ($3 || (defined $3 and length $3 == 0)) ? $2 : $1,
+            ($3 || (defined $3 and length $3 == 0)) ? $3 : $2 || "",
+            $file,
+            $.
+        ) while s/WI\.UIString\("([^"]+)"(?:,\s*"([^"]*)"(?:,\s*"([^"]*)")?)?\)//;
         print "$file:$.:WARNING: $&\n" while s/WI\.UIString\(.*?\)//;
 
         # Handle strings for other projects that also use this script.