diff --git a/README.md b/README.md index ff82812..f503e2b 100644 --- a/README.md +++ b/README.md @@ -427,6 +427,7 @@ This is a list of public LibreTranslate instances, some require an API key. If y | ----------------------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------- | | [libretranslate.com](https://libretranslate.com) | :heavy_check_mark: | [ [Get API Key](https://portal.libretranslate.com) ] [ [Service Status](https://status.libretranslate.com/) ] | | [translate.flossboxin.org.in](https://translate.flossboxin.org.in/) | | [ [Contact/eMail](mailto:dev@flossboxin.org.in) ] | +| [lt.blitzw.in](https://lt.blitzw.in/) | | hosted by blitzw.in. uses an open source javascript-based captcha to fight bots! | ## TOR/i2p Mirrors diff --git a/libretranslate/app.py b/libretranslate/app.py index 0952290..fa05397 100644 --- a/libretranslate/app.py +++ b/libretranslate/app.py @@ -257,8 +257,17 @@ def create_app(args): else: return req_cost + def get_limits_key_func(): + if args.api_keys: + def func(): + ak = get_req_api_key() + return ak if ak else get_remote_address() + return func + else: + return get_remote_address + limiter = Limiter( - key_func=get_remote_address, + key_func=get_limits_key_func(), default_limits=get_routes_limits( args, api_keys_db ), diff --git a/libretranslate/locales/uk/LC_MESSAGES/messages.po b/libretranslate/locales/uk/LC_MESSAGES/messages.po index 753fe73..fa24d14 100644 --- a/libretranslate/locales/uk/LC_MESSAGES/messages.po +++ b/libretranslate/locales/uk/LC_MESSAGES/messages.po @@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: LibreTranslate 1.3.9\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-10-16 23:47+0200\n" -"PO-Revision-Date: 2024-10-26 12:15+0000\n" -"Last-Translator: Bezruchenko Simon \n" +"PO-Revision-Date: 2025-03-28 10:20+0000\n" +"Last-Translator: Ohirok \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.8.2-dev\n" +"X-Generator: Weblate 5.11-dev\n" "Generated-By: Babel 2.16.0\n" #: libretranslate/app.py:80 @@ -44,7 +44,7 @@ msgstr "Неправильний API ключ" #: libretranslate/app.py:324 msgid "Please contact the server operator to get an API key" -msgstr "Зв'яжіться з оператором сервера, щоб отримати API ключ" +msgstr "Зв'яжіться із оператором сервера, щоб отримати API ключ" #: libretranslate/app.py:326 #, python-format @@ -589,7 +589,7 @@ msgstr "зв'язатися з оператором сервера." #: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27 #: libretranslate/templates/index.html:338 msgid "Free and Open Source Machine Translation API" -msgstr "Безкоштовний API машинного перекладу з відкритим вихідним кодом" +msgstr "Безплатний API машинного перекладу з відкритим сирцевим кодом" #: libretranslate/templates/index.html:10 #: libretranslate/templates/index.html:31 @@ -597,9 +597,9 @@ msgid "" "Free and Open Source Machine Translation API. Free to download, offline " "capable and easy to setup. Run your own API server in just a few minutes." msgstr "" -"Безкоштовний API машинного перекладу з відкритим вихідним кодом. " -"Безкоштовне завантаження, можливість роботи в офлайн режимі та простота " -"налаштування. Запустіть власний API сервер всього за кілька хвилин." +"Безплатний API машинного перекладу з відкритим сирцевим кодом. Безплатне " +"завантаження, можливість роботи в офлайн режимі та простота налаштування. " +"Запустіть власний API сервер всього за кілька хвилин." #: libretranslate/templates/index.html:11 msgid "translation" @@ -716,12 +716,12 @@ msgstr "Відповідь" #: libretranslate/templates/index.html:317 msgid "Open Source Machine Translation API" -msgstr "API машинного перекладу з відкритим вихідним кодом" +msgstr "API машинного перекладу з відкритим сирцевим кодом" #: libretranslate/templates/index.html:318 msgid "Free to download. Offline Capable. Easy to Setup." msgstr "" -"Безкоштовне завантаження. Можливість роботи в офлайн режимі. Простота " +"Безплвтне завантаження. Можливість роботи в офлайн режимі. Простота " "налаштування." #: libretranslate/templates/index.html:337 @@ -735,12 +735,12 @@ msgstr "Ліцензія:" #: libretranslate/templates/index.html:345 #, python-format msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s" -msgstr "Зроблено з %(heart)s %(contributors)s та працює на базі %(engine)s" +msgstr "Зроблено з %(heart)s %(contributors)s та працює на основі %(engine)s" #: libretranslate/templates/index.html:345 #, python-format msgid "%(libretranslate)s Contributors" -msgstr "Спільнотою %(libretranslate)s" +msgstr "спільнотою %(libretranslate)s" #~ msgid "multipart/form-data" #~ msgstr "мультипарт/форм-дані" @@ -765,4 +765,4 @@ msgstr "Спільнотою %(libretranslate)s" #~ msgstr "розмістіть на своєму власному сервері" #~ msgid "get an API key" -#~ msgstr "отримайте API ключ" +#~ msgstr "отримайте API ключ" \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 6b22172..0e403f2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,7 +43,7 @@ dependencies = [ "waitress ==2.1.2", "expiringdict ==1.2.2", "langdetect==1.0.9", - "lexilang==1.0.4", + "lexilang==1.0.6", "morfessor ==2.0.6", "appdirs ==1.4.4", "APScheduler ==3.9.1",