diff --git a/zerver/management/commands/makemessages.py b/zerver/management/commands/makemessages.py index 4cd0fb2fba..d5af08da6f 100644 --- a/zerver/management/commands/makemessages.py +++ b/zerver/management/commands/makemessages.py @@ -36,6 +36,7 @@ import itertools import json import os import re +import subprocess from argparse import ArgumentParser from typing import Any, Dict, Iterable, Iterator, List, Mapping @@ -202,6 +203,19 @@ class Command(makemessages.Command): data = self.ignore_javascript_comments(data) translation_strings.extend(self.extract_strings(data)) + extracted = subprocess.check_output( + [ + "node_modules/.bin/formatjs", + "extract", + "--additional-function-names=$t,$t_html", + "--format=simple", + "--ignore=**/*.d.ts", + "static/js/**/*.js", + "static/js/**/*.ts", + ] + ) + translation_strings.extend(json.loads(extracted).values()) + return list(set(translation_strings)) def get_template_dir(self) -> str: