diff --git a/.tx/config b/.tx/config index eafafa7d1..05f50388e 100755 --- a/.tx/config +++ b/.tx/config @@ -24,4 +24,3 @@ type = PO minimum_perc = 0 replace_edited_strings = false keep_translations = false - diff --git a/api/circulation_manager.py b/api/circulation_manager.py index 9b358eaae..701b8144c 100644 --- a/api/circulation_manager.py +++ b/api/circulation_manager.py @@ -6,7 +6,8 @@ import flask from dependency_injector.wiring import Provide, inject from expiringdict import ExpiringDict -from flask_babel import lazy_gettext as _, gettext +from flask_babel import gettext +from flask_babel import lazy_gettext as _ from sqlalchemy import select from api.authenticator import Authenticator @@ -259,11 +260,11 @@ def get_domain(url): self.setup_configuration_dependent_controllers() # Finland: Disabled cache, because the E-kirjasto authentication provider # will have links containing a query parameter for user's locale. - authentication_document_cache_time = 0#int( + authentication_document_cache_time = 0 # int( # ConfigurationSetting.sitewide( # self._db, Configuration.AUTHENTICATION_DOCUMENT_CACHE_TIME # ).value_or_default(3600) - #) + # ) self.authentication_for_opds_documents = ExpiringDict( max_len=1000, max_age_seconds=authentication_document_cache_time ) diff --git a/api/ekirjasto_authentication.py b/api/ekirjasto_authentication.py index bd4c0dc58..531fc66c9 100644 --- a/api/ekirjasto_authentication.py +++ b/api/ekirjasto_authentication.py @@ -1,13 +1,13 @@ from __future__ import annotations import datetime -import flask_babel import uuid from abc import ABC from base64 import b64decode, b64encode from enum import Enum from typing import Any +import flask_babel import jwt import requests from cryptography.fernet import Fernet, InvalidToken diff --git a/api/routes.py b/api/routes.py index 1925422a2..da32b89c3 100644 --- a/api/routes.py +++ b/api/routes.py @@ -23,6 +23,7 @@ def print_cache(response): log.debug(f"{cls}: {cache.stats.hits}/{cache.stats.misses} hits/misses") return response + @app.after_request def set_content_language_header(response): response.headers["Content-Language"] = flask_babel.get_locale() diff --git a/core/classifier/localized_names.py b/core/classifier/localized_names.py index 8046a601b..83d13235e 100644 --- a/core/classifier/localized_names.py +++ b/core/classifier/localized_names.py @@ -4,144 +4,144 @@ # This file was generated by the CollectTranslationsScript class. genres = { - "Adventure": _("Adventure"), - "Classics": _("Classics"), - "Comics & Graphic Novels": _("Comics & Graphic Novels"), - "Drama": _("Drama"), - "Erotica": _("Erotica"), - "Fantasy": _("Fantasy"), - "Epic Fantasy": _("Epic Fantasy"), - "Historical Fantasy": _("Historical Fantasy"), - "Urban Fantasy": _("Urban Fantasy"), - "Folklore": _("Folklore"), - "Historical Fiction": _("Historical Fiction"), - "Horror": _("Horror"), - "Gothic Horror": _("Gothic Horror"), - "Ghost Stories": _("Ghost Stories"), - "Vampires": _("Vampires"), - "Werewolves": _("Werewolves"), - "Occult Horror": _("Occult Horror"), - "Humorous Fiction": _("Humorous Fiction"), - "Literary Fiction": _("Literary Fiction"), - "LGBTQ Fiction": _("LGBTQ Fiction"), - "Mystery": _("Mystery"), - "Crime & Detective Stories": _("Crime & Detective Stories"), - "Hard-Boiled Mystery": _("Hard-Boiled Mystery"), - "Police Procedural": _("Police Procedural"), - "Cozy Mystery": _("Cozy Mystery"), - "Historical Mystery": _("Historical Mystery"), - "Paranormal Mystery": _("Paranormal Mystery"), - "Women Detectives": _("Women Detectives"), - "Poetry": _("Poetry"), - "Religious Fiction": _("Religious Fiction"), - "Romance": _("Romance"), - "Contemporary Romance": _("Contemporary Romance"), - "Gothic Romance": _("Gothic Romance"), - "Historical Romance": _("Historical Romance"), - "Paranormal Romance": _("Paranormal Romance"), - "Western Romance": _("Western Romance"), - "Romantic Suspense": _("Romantic Suspense"), - "Science Fiction": _("Science Fiction"), - "Dystopian SF": _("Dystopian SF"), - "Space Opera": _("Space Opera"), - "Cyberpunk": _("Cyberpunk"), - "Military SF": _("Military SF"), - "Alternative History": _("Alternative History"), - "Steampunk": _("Steampunk"), - "Romantic SF": _("Romantic SF"), - "Media Tie-in SF": _("Media Tie-in SF"), - "Short Stories": _("Short Stories"), - "Suspense/Thriller": _("Suspense/Thriller"), - "Historical Thriller": _("Historical Thriller"), - "Espionage": _("Espionage"), - "Supernatural Thriller": _("Supernatural Thriller"), - "Medical Thriller": _("Medical Thriller"), - "Political Thriller": _("Political Thriller"), - "Psychological Thriller": _("Psychological Thriller"), - "Technothriller": _("Technothriller"), - "Legal Thriller": _("Legal Thriller"), - "Military Thriller": _("Military Thriller"), - "Urban Fiction": _("Urban Fiction"), - "Westerns": _("Westerns"), - "Women's Fiction": _("Women's Fiction"), - "Art & Design": _("Art & Design"), - "Architecture": _("Architecture"), - "Art": _("Art"), - "Art Criticism & Theory": _("Art Criticism & Theory"), - "Art History": _("Art History"), - "Design": _("Design"), - "Fashion": _("Fashion"), - "Photography": _("Photography"), - "Biography & Memoir": _("Biography & Memoir"), - "Education": _("Education"), - "Personal Finance & Business": _("Personal Finance & Business"), - "Business": _("Business"), - "Economics": _("Economics"), - "Management & Leadership": _("Management & Leadership"), - "Personal Finance & Investing": _("Personal Finance & Investing"), - "Real Estate": _("Real Estate"), - "Parenting & Family": _("Parenting & Family"), - "Family & Relationships": _("Family & Relationships"), - "Parenting": _("Parenting"), - "Food & Health": _("Food & Health"), - "Bartending & Cocktails": _("Bartending & Cocktails"), - "Cooking": _("Cooking"), - "Health & Diet": _("Health & Diet"), - "Vegetarian & Vegan": _("Vegetarian & Vegan"), - "History": _("History"), - "African History": _("African History"), - "Ancient History": _("Ancient History"), - "Asian History": _("Asian History"), - "Civil War History": _("Civil War History"), - "European History": _("European History"), - "Latin American History": _("Latin American History"), - "Medieval History": _("Medieval History"), - "Middle East History": _("Middle East History"), - "Military History": _("Military History"), - "Modern History": _("Modern History"), - "Renaissance & Early Modern History": _("Renaissance & Early Modern History"), - "United States History": _("United States History"), - "World History": _("World History"), - "Hobbies & Home": _("Hobbies & Home"), - "Antiques & Collectibles": _("Antiques & Collectibles"), - "Crafts & Hobbies": _("Crafts & Hobbies"), - "Gardening": _("Gardening"), - "Games": _("Games"), - "House & Home": _("House & Home"), - "Pets": _("Pets"), - "Humorous Nonfiction": _("Humorous Nonfiction"), - "Entertainment": _("Entertainment"), - "Film & TV": _("Film & TV"), - "Music": _("Music"), - "Performing Arts": _("Performing Arts"), - "Life Strategies": _("Life Strategies"), - "Literary Criticism": _("Literary Criticism"), - "Periodicals": _("Periodicals"), - "Philosophy": _("Philosophy"), - "Political Science": _("Political Science"), - "Reference & Study Aids": _("Reference & Study Aids"), - "Dictionaries": _("Dictionaries"), - "Foreign Language Study": _("Foreign Language Study"), - "Law": _("Law"), - "Study Aids": _("Study Aids"), - "Religion & Spirituality": _("Religion & Spirituality"), - "Body, Mind & Spirit": _("Body, Mind & Spirit"), - "Buddhism": _("Buddhism"), - "Christianity": _("Christianity"), - "Hinduism": _("Hinduism"), - "Islam": _("Islam"), - "Judaism": _("Judaism"), - "Science & Technology": _("Science & Technology"), - "Computers": _("Computers"), - "Mathematics": _("Mathematics"), - "Medical": _("Medical"), - "Nature": _("Nature"), - "Psychology": _("Psychology"), - "Science": _("Science"), - "Social Sciences": _("Social Sciences"), - "Technology": _("Technology"), - "Self-Help": _("Self-Help"), - "Sports": _("Sports"), - "Travel": _("Travel"), - "True Crime": _("True Crime"), + "Adventure": _("Adventure"), + "Classics": _("Classics"), + "Comics & Graphic Novels": _("Comics & Graphic Novels"), + "Drama": _("Drama"), + "Erotica": _("Erotica"), + "Fantasy": _("Fantasy"), + "Epic Fantasy": _("Epic Fantasy"), + "Historical Fantasy": _("Historical Fantasy"), + "Urban Fantasy": _("Urban Fantasy"), + "Folklore": _("Folklore"), + "Historical Fiction": _("Historical Fiction"), + "Horror": _("Horror"), + "Gothic Horror": _("Gothic Horror"), + "Ghost Stories": _("Ghost Stories"), + "Vampires": _("Vampires"), + "Werewolves": _("Werewolves"), + "Occult Horror": _("Occult Horror"), + "Humorous Fiction": _("Humorous Fiction"), + "Literary Fiction": _("Literary Fiction"), + "LGBTQ Fiction": _("LGBTQ Fiction"), + "Mystery": _("Mystery"), + "Crime & Detective Stories": _("Crime & Detective Stories"), + "Hard-Boiled Mystery": _("Hard-Boiled Mystery"), + "Police Procedural": _("Police Procedural"), + "Cozy Mystery": _("Cozy Mystery"), + "Historical Mystery": _("Historical Mystery"), + "Paranormal Mystery": _("Paranormal Mystery"), + "Women Detectives": _("Women Detectives"), + "Poetry": _("Poetry"), + "Religious Fiction": _("Religious Fiction"), + "Romance": _("Romance"), + "Contemporary Romance": _("Contemporary Romance"), + "Gothic Romance": _("Gothic Romance"), + "Historical Romance": _("Historical Romance"), + "Paranormal Romance": _("Paranormal Romance"), + "Western Romance": _("Western Romance"), + "Romantic Suspense": _("Romantic Suspense"), + "Science Fiction": _("Science Fiction"), + "Dystopian SF": _("Dystopian SF"), + "Space Opera": _("Space Opera"), + "Cyberpunk": _("Cyberpunk"), + "Military SF": _("Military SF"), + "Alternative History": _("Alternative History"), + "Steampunk": _("Steampunk"), + "Romantic SF": _("Romantic SF"), + "Media Tie-in SF": _("Media Tie-in SF"), + "Short Stories": _("Short Stories"), + "Suspense/Thriller": _("Suspense/Thriller"), + "Historical Thriller": _("Historical Thriller"), + "Espionage": _("Espionage"), + "Supernatural Thriller": _("Supernatural Thriller"), + "Medical Thriller": _("Medical Thriller"), + "Political Thriller": _("Political Thriller"), + "Psychological Thriller": _("Psychological Thriller"), + "Technothriller": _("Technothriller"), + "Legal Thriller": _("Legal Thriller"), + "Military Thriller": _("Military Thriller"), + "Urban Fiction": _("Urban Fiction"), + "Westerns": _("Westerns"), + "Women's Fiction": _("Women's Fiction"), + "Art & Design": _("Art & Design"), + "Architecture": _("Architecture"), + "Art": _("Art"), + "Art Criticism & Theory": _("Art Criticism & Theory"), + "Art History": _("Art History"), + "Design": _("Design"), + "Fashion": _("Fashion"), + "Photography": _("Photography"), + "Biography & Memoir": _("Biography & Memoir"), + "Education": _("Education"), + "Personal Finance & Business": _("Personal Finance & Business"), + "Business": _("Business"), + "Economics": _("Economics"), + "Management & Leadership": _("Management & Leadership"), + "Personal Finance & Investing": _("Personal Finance & Investing"), + "Real Estate": _("Real Estate"), + "Parenting & Family": _("Parenting & Family"), + "Family & Relationships": _("Family & Relationships"), + "Parenting": _("Parenting"), + "Food & Health": _("Food & Health"), + "Bartending & Cocktails": _("Bartending & Cocktails"), + "Cooking": _("Cooking"), + "Health & Diet": _("Health & Diet"), + "Vegetarian & Vegan": _("Vegetarian & Vegan"), + "History": _("History"), + "African History": _("African History"), + "Ancient History": _("Ancient History"), + "Asian History": _("Asian History"), + "Civil War History": _("Civil War History"), + "European History": _("European History"), + "Latin American History": _("Latin American History"), + "Medieval History": _("Medieval History"), + "Middle East History": _("Middle East History"), + "Military History": _("Military History"), + "Modern History": _("Modern History"), + "Renaissance & Early Modern History": _("Renaissance & Early Modern History"), + "United States History": _("United States History"), + "World History": _("World History"), + "Hobbies & Home": _("Hobbies & Home"), + "Antiques & Collectibles": _("Antiques & Collectibles"), + "Crafts & Hobbies": _("Crafts & Hobbies"), + "Gardening": _("Gardening"), + "Games": _("Games"), + "House & Home": _("House & Home"), + "Pets": _("Pets"), + "Humorous Nonfiction": _("Humorous Nonfiction"), + "Entertainment": _("Entertainment"), + "Film & TV": _("Film & TV"), + "Music": _("Music"), + "Performing Arts": _("Performing Arts"), + "Life Strategies": _("Life Strategies"), + "Literary Criticism": _("Literary Criticism"), + "Periodicals": _("Periodicals"), + "Philosophy": _("Philosophy"), + "Political Science": _("Political Science"), + "Reference & Study Aids": _("Reference & Study Aids"), + "Dictionaries": _("Dictionaries"), + "Foreign Language Study": _("Foreign Language Study"), + "Law": _("Law"), + "Study Aids": _("Study Aids"), + "Religion & Spirituality": _("Religion & Spirituality"), + "Body, Mind & Spirit": _("Body, Mind & Spirit"), + "Buddhism": _("Buddhism"), + "Christianity": _("Christianity"), + "Hinduism": _("Hinduism"), + "Islam": _("Islam"), + "Judaism": _("Judaism"), + "Science & Technology": _("Science & Technology"), + "Computers": _("Computers"), + "Mathematics": _("Mathematics"), + "Medical": _("Medical"), + "Nature": _("Nature"), + "Psychology": _("Psychology"), + "Science": _("Science"), + "Social Sciences": _("Social Sciences"), + "Technology": _("Technology"), + "Self-Help": _("Self-Help"), + "Sports": _("Sports"), + "Travel": _("Travel"), + "True Crime": _("True Crime"), } diff --git a/core/config.py b/core/config.py index 5ea11c476..b1964bf15 100644 --- a/core/config.py +++ b/core/config.py @@ -295,7 +295,7 @@ def quicksight_authorized_arns(cls) -> dict[str, list[str]]: @classmethod def localization_languages(cls): - return [LanguageCodes.three_to_two["eng"], 'fi', 'sv'] + return [LanguageCodes.three_to_two["eng"], "fi", "sv"] # The last time the database configuration is known to have changed. SITE_CONFIGURATION_LAST_UPDATE = None diff --git a/core/configuration/library.py b/core/configuration/library.py index 292993f99..4defc7227 100644 --- a/core/configuration/library.py +++ b/core/configuration/library.py @@ -153,7 +153,9 @@ class LibrarySettings(BaseSettings): "audiobook vendors: Bibliotheca, Axis 360", type=ConfigurationFormItemType.MENU, options={ - entrypoint.INTERNAL_NAME: str(EntryPoint.LOCALIZED_DISPLAY_TITLES[entrypoint]) + entrypoint.INTERNAL_NAME: str( + EntryPoint.LOCALIZED_DISPLAY_TITLES[entrypoint] + ) for entrypoint in EntryPoint.ENTRY_POINTS }, category="Lanes & Filters", diff --git a/core/entrypoint.py b/core/entrypoint.py index cea1716f4..6292d522b 100644 --- a/core/entrypoint.py +++ b/core/entrypoint.py @@ -1,6 +1,8 @@ from __future__ import annotations -from flask_babel import lazy_gettext as _, LazyString +from flask_babel import LazyString +from flask_babel import lazy_gettext as _ + class EntryPoint: @@ -44,7 +46,9 @@ def register(cls, entrypoint_class, display_title, default_enabled=False): enabled by default. """ value = getattr(entrypoint_class, "INTERNAL_NAME", None) - localized_display_title = getattr(entrypoint_class, "LOCALIZED_DISPLAY_TITLE", None) + localized_display_title = getattr( + entrypoint_class, "LOCALIZED_DISPLAY_TITLE", None + ) if not value: raise ValueError( "EntryPoint class %s must define INTERNAL_NAME." diff --git a/core/feed/acquisition.py b/core/feed/acquisition.py index 928e59e44..81504e3ed 100644 --- a/core/feed/acquisition.py +++ b/core/feed/acquisition.py @@ -33,7 +33,6 @@ from core.util.flask_util import OPDSEntryResponse, OPDSFeedResponse from core.util.opds_writer import OPDSMessage from core.util.problem_detail import ProblemDetail -from flask_babel import gettext if TYPE_CHECKING: from api.circulation import CirculationAPI, FulfillmentInfo diff --git a/core/feed/annotator/base.py b/core/feed/annotator/base.py index 4f275320c..214792899 100644 --- a/core/feed/annotator/base.py +++ b/core/feed/annotator/base.py @@ -30,6 +30,7 @@ from core.model.work import Work from core.util.opds_writer import AtomFeed, OPDSFeed + class ToFeedEntry: @classmethod def authors(cls, edition: Edition) -> dict[str, list[Author]]: diff --git a/scripts.py b/scripts.py index 170da1d26..912b991e7 100644 --- a/scripts.py +++ b/scripts.py @@ -452,9 +452,10 @@ def languages(self, library): display_name = LanguageCodes.name_for_languageset(abbreviation) yield "%s %i (%s)" % (abbreviation, count, display_name) + class CollectTranslationsScript(Script): """A script to collect strings from source files""" - + def run(self): genres = [] # Find genres and subgenres. @@ -462,20 +463,25 @@ def run(self): for genre in genre_data.self_and_subgenres: if not genre in genres: genres.append(genre) - + with open("core/classifier/localized_names.py", "w") as file: file.write("from flask_babel import lazy_gettext as _\n\n") file.write("# DO NOT EDIT THIS FILE MANUALLY!\n") - file.write("# This file was generated by the CollectTranslationsScript class.\n\n") + file.write( + "# This file was generated by the CollectTranslationsScript class.\n\n" + ) file.write("genres = {\n") for genre in genres: - file.write(f" \"{genre.name}\": _(\"{genre.name}\"),\n") + file.write(f' "{genre.name}": _("{genre.name}"),\n') file.write("}\n") os.system("./bin/util/generate_translation_template") os.system("pybabel update -i core.pot -d translations -D core") os.system("pybabel update -i circulation.pot -d translations -D circulation") - os.system("pybabel update -i circulation-admin.pot -d translations -D circulation-admin") + os.system( + "pybabel update -i circulation-admin.pot -d translations -D circulation-admin" + ) + class CompileTranslationsScript(Script): """A script to combine translation files for circulation, core diff --git a/translations/en/LC_MESSAGES/circulation-admin.po b/translations/en/LC_MESSAGES/circulation-admin.po index 6c0e8ad58..63be683d7 100644 --- a/translations/en/LC_MESSAGES/circulation-admin.po +++ b/translations/en/LC_MESSAGES/circulation-admin.po @@ -668,4 +668,3 @@ msgstr "" #, python-format msgid "%(field)s cannot be greater than %(max)s." msgstr "" - diff --git a/translations/en/LC_MESSAGES/circulation.po b/translations/en/LC_MESSAGES/circulation.po index 5e90c0575..4ab269a58 100644 --- a/translations/en/LC_MESSAGES/circulation.po +++ b/translations/en/LC_MESSAGES/circulation.po @@ -889,4 +889,3 @@ msgstr "" #~ msgid "API key" #~ msgstr "" - diff --git a/translations/en/LC_MESSAGES/core.po b/translations/en/LC_MESSAGES/core.po index 3ead107d8..d3747a4a0 100644 --- a/translations/en/LC_MESSAGES/core.po +++ b/translations/en/LC_MESSAGES/core.po @@ -1087,4 +1087,3 @@ msgstr "" #~ msgid "Self tests will use this value as the search term." #~ msgstr "" - diff --git a/translations/en/LC_MESSAGES/messages.po b/translations/en/LC_MESSAGES/messages.po index 46a22364b..c17bb265b 100644 --- a/translations/en/LC_MESSAGES/messages.po +++ b/translations/en/LC_MESSAGES/messages.po @@ -2614,4 +2614,3 @@ msgstr "" #, python-format msgid "The server made a request to %(service)s, and that request timed out." msgstr "" - diff --git a/translations/es/LC_MESSAGES/circulation-admin.po b/translations/es/LC_MESSAGES/circulation-admin.po index c7bb6dbda..2be0377d3 100644 --- a/translations/es/LC_MESSAGES/circulation-admin.po +++ b/translations/es/LC_MESSAGES/circulation-admin.po @@ -685,4 +685,3 @@ msgstr "" #~ msgid "Error: %(error)s" #~ msgstr "Error: %(error)s" - diff --git a/translations/es/LC_MESSAGES/circulation.po b/translations/es/LC_MESSAGES/circulation.po index 26fdbd4f6..14d5a67c1 100644 --- a/translations/es/LC_MESSAGES/circulation.po +++ b/translations/es/LC_MESSAGES/circulation.po @@ -1020,4 +1020,3 @@ msgstr "" #~ msgid "API key" #~ msgstr "" - diff --git a/translations/es/LC_MESSAGES/core.po b/translations/es/LC_MESSAGES/core.po index da771e447..480b12897 100644 --- a/translations/es/LC_MESSAGES/core.po +++ b/translations/es/LC_MESSAGES/core.po @@ -1107,4 +1107,3 @@ msgstr "El servidor hizo una peticiĆ³n al servicio (%) s, y esa solicitud expir #~ msgid "Self tests will use this value as the search term." #~ msgstr "" - diff --git a/translations/fi/LC_MESSAGES/circulation-admin.po b/translations/fi/LC_MESSAGES/circulation-admin.po index c3f142327..df198db5d 100644 --- a/translations/fi/LC_MESSAGES/circulation-admin.po +++ b/translations/fi/LC_MESSAGES/circulation-admin.po @@ -668,4 +668,3 @@ msgstr "" #, python-format msgid "%(field)s cannot be greater than %(max)s." msgstr "" - diff --git a/translations/fi/LC_MESSAGES/circulation.po b/translations/fi/LC_MESSAGES/circulation.po index c783dda8c..e14d66d10 100644 --- a/translations/fi/LC_MESSAGES/circulation.po +++ b/translations/fi/LC_MESSAGES/circulation.po @@ -889,4 +889,3 @@ msgstr "" #~ msgid "API key" #~ msgstr "" - diff --git a/translations/fi/LC_MESSAGES/core.po b/translations/fi/LC_MESSAGES/core.po index ac906f7bf..85dbb15c7 100644 --- a/translations/fi/LC_MESSAGES/core.po +++ b/translations/fi/LC_MESSAGES/core.po @@ -1088,4 +1088,3 @@ msgstr "" #~ msgid "Self tests will use this value as the search term." #~ msgstr "" - diff --git a/translations/fi/LC_MESSAGES/messages.po b/translations/fi/LC_MESSAGES/messages.po index 0bd5fe1d2..171213d9b 100644 --- a/translations/fi/LC_MESSAGES/messages.po +++ b/translations/fi/LC_MESSAGES/messages.po @@ -2614,4 +2614,3 @@ msgstr "" #, python-format msgid "The server made a request to %(service)s, and that request timed out." msgstr "" - diff --git a/translations/sv/LC_MESSAGES/circulation-admin.po b/translations/sv/LC_MESSAGES/circulation-admin.po index 5c412f854..bbf9566f1 100644 --- a/translations/sv/LC_MESSAGES/circulation-admin.po +++ b/translations/sv/LC_MESSAGES/circulation-admin.po @@ -668,4 +668,3 @@ msgstr "" #, python-format msgid "%(field)s cannot be greater than %(max)s." msgstr "" - diff --git a/translations/sv/LC_MESSAGES/circulation.po b/translations/sv/LC_MESSAGES/circulation.po index 840c8535a..889df7ad0 100644 --- a/translations/sv/LC_MESSAGES/circulation.po +++ b/translations/sv/LC_MESSAGES/circulation.po @@ -889,4 +889,3 @@ msgstr "" #~ msgid "API key" #~ msgstr "" - diff --git a/translations/sv/LC_MESSAGES/core.po b/translations/sv/LC_MESSAGES/core.po index ac3f31941..7f54daea2 100644 --- a/translations/sv/LC_MESSAGES/core.po +++ b/translations/sv/LC_MESSAGES/core.po @@ -1087,4 +1087,3 @@ msgstr "" #~ msgid "Self tests will use this value as the search term." #~ msgstr "" - diff --git a/translations/sv/LC_MESSAGES/messages.po b/translations/sv/LC_MESSAGES/messages.po index 6d96b6018..b5b5cb1d6 100644 --- a/translations/sv/LC_MESSAGES/messages.po +++ b/translations/sv/LC_MESSAGES/messages.po @@ -2614,4 +2614,3 @@ msgstr "" #, python-format msgid "The server made a request to %(service)s, and that request timed out." msgstr "" -