1 files changed, 29 insertions, 0 deletions
diff --git a/synapse/config/repository.py b/synapse/config/repository.py
index 7d2dd27fd0..7193ea1114 100644
--- a/synapse/config/repository.py
+++ b/synapse/config/repository.py
@@ -192,6 +192,10 @@ class ContentRepositoryConfig(Config):
self.url_preview_url_blacklist = config.get("url_preview_url_blacklist", ())
+ self.url_preview_accept_language = config.get(
+ "url_preview_accept_language"
+ ) or ["en"]
+
def generate_config_section(self, data_dir_path, **kwargs):
media_store = os.path.join(data_dir_path, "media_store")
uploads_path = os.path.join(data_dir_path, "uploads")
@@ -329,6 +333,31 @@ class ContentRepositoryConfig(Config):
# The largest allowed URL preview spidering size in bytes
#
#max_spider_size: 10M
+
+ # A list of values for the Accept-Language HTTP header used when
+ # downloading webpages during URL preview generation. This allows
+ # Synapse to specify the preferred languages that URL previews should
+ # be in when communicating with remote servers.
+ #
+ # Each value is a IETF language tag; a 2-3 letter identifier for a
+ # language, optionally followed by subtags separated by '-', specifying
+ # a country or region variant.
+ #
+ # Multiple values can be provided, and a weight can be added to each by
+ # using quality value syntax (;q=). '*' translates to any language.
+ #
+ # Defaults to "en".
+ #
+ # Example:
+ #
+ # url_preview_accept_language:
+ # - en-UK
+ # - en-US;q=0.9
+ # - fr;q=0.8
+ # - *;q=0.7
+ #
+ url_preview_accept_language:
+ # - en
"""
% locals()
)
|