Compare commits

...

82 commits
v1.5.4 ... main

Author SHA1 Message Date
Piero Toffanin f7a35db05b
Merge pull request #622 from savionlee/patch-1
Update cuda.Dockerfile to CUDA 12
2024-05-06 16:06:16 -04:00
Savion Lee 16ae59aa43
Update cuda.Dockerfile to CUDA 12 2024-05-06 14:06:40 -05:00
P.J. Finlay 67c5348c02
Merge pull request #618 from LibreTranslate/update-argos-1_9_6
Upgrade to Argos Translate v1.9.6
2024-05-01 16:42:36 -05:00
Piero Toffanin f167b94166
Merge pull request #619 from PeterDaveHello/UpdateDockerBaseImage
Update Dockerfile base image to Python v3.11.9
2024-05-01 09:13:59 -04:00
Peter Dave Hello 7722984df5 Update Dockerfile base image to Python v3.11.9 2024-05-01 17:57:27 +08:00
P.J. Finlay 9dde1e0142
Upgrade to Argos Translate v1.9.6
- Upgrade CTranslate2 to v4 for CUDA 12 support (https://github.com/argosopentech/argos-translate/pull/404)
- Fix deprecation error for CTranslate2 TranslationResult (https://github.com/argosopentech/argos-translate/pull/404)
2024-04-30 16:46:20 -05:00
P.J. Finlay c8360d0359 Update Argos Translate to v1.9.4
This fixes an issue in SentencePiece where the packaging is broken for newer versions of Python.

https://github.com/argosopentech/argos-translate/issues/405
2024-04-29 14:41:12 -05:00
Piero Toffanin f1195d9d13 Bump version 2024-04-28 11:50:36 -04:00
Peter Dave Hello a403ba7e3a
Translated using Weblate (Chinese (Traditional))
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/zh_Hant/
2024-04-23 22:07:09 +02:00
Piero Toffanin 720b5c17a7
Merge pull request #608 from LibreTranslate/mo
Fix localization on docker/pip
2024-04-22 13:23:43 -04:00
Piero Toffanin 0a83fd29bd Include mo files 2024-04-22 13:13:47 -04:00
Piero Toffanin df78c333c9
Update README.md 2024-04-21 12:20:01 -04:00
Piero Toffanin fd0739b85e
Merge pull request #607 from steve15963/develop
update readme.md(add language List)
2024-04-21 12:18:42 -04:00
송진현 79836663ec update readme.md(add language List) 2024-04-22 01:04:36 +09:00
Netesfiu 1bc6a3061c
Translated using Weblate (Hungarian)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/hu/
2024-04-18 10:04:47 +02:00
Piero Toffanin 9d9e3233ba
Merge pull request #606 from Netesfiu/patch-1
Mark hungarian a reviewed
2024-04-17 08:04:28 -04:00
András Farkas a6e8ee4af0
Mark hungarian a reviewed
I've just finished reviewing the strings. It should be usable at this state.
2024-04-17 10:51:35 +02:00
Ilya 847235e33b
Translated using Weblate (Persian)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/fa/
2024-04-07 11:57:44 +02:00
searinminecraft 7fdde99b48
Translated using Weblate (Filipino)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/fil/
2024-04-03 10:46:50 +02:00
searinminecraft 71b24e0631
Added translation using Weblate (Filipino) 2024-04-03 03:50:00 +02:00
rferee 51ef2b5915
Translated using Weblate (Belarusian)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/be/
2024-04-03 01:12:15 +02:00
rferee cabf2294b2
Added translation using Weblate (Belarusian) 2024-04-02 22:03:03 +02:00
I Just Me 508cff36f8
Translated using Weblate (Chinese (Traditional))
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/zh_Hant/
2024-03-28 22:01:49 +01:00
Piero Toffanin 2007ea87e6
Merge pull request #603 from zachdecook/detect-integer
Documentation: /detect returns an integer 0-100, not a float
2024-03-26 10:47:43 -04:00
Zach DeCook 94f87cdac1 Documentataion: /detect returns an integer 0-100, not a float 2024-03-26 09:24:16 -04:00
Kaleido Scope 887b282c6a
Translated using Weblate (Norwegian Nynorsk)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/nn/
2024-03-25 13:01:56 +01:00
Kaleido Scope 87beef971d
Translated using Weblate (Norwegian Bokmål)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/nb_NO/
2024-03-25 13:01:55 +01:00
cat 01a82975fd
Translated using Weblate (Danish)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/da/
2024-03-25 13:01:54 +01:00
symegac 1d8fbfda0a
Translated using Weblate (Danish)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/da/
2024-03-25 13:01:53 +01:00
VorHerre 5d9506c4bd
Translated using Weblate (Danish)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/da/
2024-03-25 13:01:52 +01:00
Kaleido Scope 65609a6bcf
Translated using Weblate (Norwegian Nynorsk)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/nn/
2024-03-22 17:01:53 +01:00
Kaleido Scope 619e6593ef
Added translation using Weblate (Norwegian Nynorsk) 2024-03-21 16:11:18 +01:00
cat 540df02a21
Translated using Weblate (Danish)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/da/
2024-03-15 11:01:51 +01:00
cat c0ce429163
Translated using Weblate (Danish)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/da/
2024-03-12 23:01:46 +01:00
symegac 950d68f44d
Translated using Weblate (Danish)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/da/
2024-03-12 23:01:45 +01:00
d fcbf627b5b
Translated using Weblate (Catalan)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/ca/
2024-03-07 09:01:57 +01:00
Piero Toffanin 0478cce281 Bump version 2024-03-06 11:37:20 -05:00
Piero Toffanin 6ae0091c4b
Merge pull request #596 from cyrinux/fix/ipv6-compat
fix: make libretranslate works with ipv6
2024-03-06 11:36:34 -05:00
Cyril Levis 3bfb8342a0
fix: also change entrypoint 2024-03-06 16:30:28 +01:00
Cyril Levis 732e984382
fix: make libretranslate with ipv6 2024-03-06 15:48:24 +01:00
Cyril Levis b25ed7aae4
fix: make libretranslate with ipv6 2024-03-06 10:37:47 +01:00
Piero Toffanin 74a7831962
Merge pull request #594 from myanesp/main
add: R binding
2024-03-01 19:03:19 +01:00
myanesp 7b5303c875 add: R binding 2024-02-28 19:59:31 +00:00
Piero Toffanin 9af842b7df
Merge pull request #593 from Phoenix616/patch-1
Specify the supported color schemes
2024-02-27 17:17:45 +01:00
Max Lee 4549a2b3d6
Specify the supported color schemes 2024-02-27 14:36:41 +01:00
Scrambled777 6313175321
Translated using Weblate (Hindi)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/hi/
2024-02-24 18:01:59 +01:00
Piero Toffanin 51cefcfb4e
Update README.md 2024-02-20 13:17:13 -05:00
Liam Johnson da9837f833
Translated using Weblate (Uyghur)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/ug/
2024-02-20 08:02:08 +01:00
Piero Toffanin eaa3d58076
Merge pull request #590 from tderflinger/main
Added TypeScript language binding library.
2024-02-19 16:24:58 -05:00
Thomas Derflinger 49787d8b44 Added TypeScript language binding library. 2024-02-19 22:00:12 +01:00
Liam Johnson a7910dd61c
Added translation using Weblate (Uyghur) 2024-02-19 08:00:25 +01:00
Piero Toffanin 2b59e5d2fc Reviewed Bulgarian 2024-02-17 15:09:14 -05:00
Salif Mehmed c671bad1ab
Translated using Weblate (Bulgarian)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/bg/
2024-02-17 03:36:14 +01:00
Salif Mehmed cbe8d91a8e
Translated using Weblate (Bulgarian)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/bg/
2024-02-15 19:02:06 +01:00
Salif Mehmed 718297d74a
Added translation using Weblate (Bulgarian) 2024-02-14 18:02:45 +01:00
Piero Toffanin b0f372638e
Update README.md 2024-02-13 10:36:06 -05:00
Piero Toffanin 210f4cfb4f
Merge pull request #585 from argosopentech/patch-3
Improve model contributing doc
2024-02-13 10:30:48 -05:00
Argos Open Tech abbfb3561d
Improve model contributing doc 2024-02-13 07:53:11 -06:00
Piero Toffanin d0f1cdfc96
Update README.md 2024-02-11 14:28:22 -05:00
石丸健太郎 45266554cb
Translated using Weblate (Japanese)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/ja/
2024-02-10 05:01:56 +01:00
Piero Toffanin e34687df9b
Merge pull request #584 from pierotofy/timecost
Add --req-time-cost
2024-02-05 15:22:24 -05:00
Piero Toffanin 176d37df73 Remove trailing whitespace test 2024-02-05 15:16:32 -05:00
Piero Toffanin 1e50dc92bf Update README 2024-02-05 15:13:20 -05:00
Piero Toffanin b522a0f763 Add --req-time-cost 2024-02-05 15:03:27 -05:00
ShareASmile 8d4fa40acd
Translated using Weblate (Hindi)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/hi/
2024-02-02 21:01:50 +01:00
Priit Jõerüüt 4419d5ec75
Translated using Weblate (Estonian)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/et/
2024-02-01 19:01:49 +01:00
Priit Jõerüüt 611c548db5
Translated using Weblate (Estonian)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/et/
2024-01-31 17:22:03 +01:00
Priit Jõerüüt 0c6fd67e40
Added translation using Weblate (Estonian) 2024-01-31 00:40:59 +01:00
Yanjun Chen 349284d6c2
Translated using Weblate (Chinese (Simplified))
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/zh_Hans/
2024-01-30 17:01:53 +01:00
r5jyhte 6228706d5b
Translated using Weblate (Polish)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/pl/
2024-01-30 17:01:52 +01:00
victor dargallo 9a1934e450
Translated using Weblate (Catalan)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/ca/
2024-01-27 10:01:47 +01:00
Piero Toffanin b7a273dd28
Merge pull request #580 from jmlord/main
ltmanage in bin
2024-01-24 21:54:05 -05:00
Jean-Michel b3d6815323 moved ltmanage to /usr/bin 2024-01-24 16:36:18 -05:00
Jean-Michel 929002b0c6 ltmanage in bin
This allows using the api key instructions from the readme as-is in the docker container.
2024-01-24 16:05:01 -05:00
Piero Toffanin a90814706a
Update README.md 2024-01-23 12:44:14 -05:00
Michal Čihař cf2216f441
Translated using Weblate (Czech)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/cs/
2024-01-23 15:01:51 +01:00
Piero Toffanin fa24655404 Fix remote API key database lookup 2024-01-21 13:17:07 -05:00
Piero Toffanin c782fe108b
Merge pull request #574 from pierotofy/charlimit
Granular API key char limit support
2024-01-21 12:54:10 -05:00
Piero Toffanin 2b11e909d3 Granular API key char limit support 2024-01-21 12:48:42 -05:00
dtalens 0b139b9dac
Translated using Weblate (Catalan)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/ca/
2024-01-21 02:01:49 +01:00
dtalens 3edc1883ed
Added translation using Weblate (Catalan) 2024-01-20 01:14:34 +01:00
symegac 9283bdb2d9
Translated using Weblate (Danish)
Translation: LibreTranslate/App
Translate-URL: https://hosted.weblate.org/projects/libretranslate/app/da/
2024-01-15 00:06:18 +00:00
34 changed files with 5091 additions and 346 deletions

View file

@ -9,8 +9,6 @@ repos:
name: " ✔️ Check TOML"
- id: check-json
name: " ✔️ Check JSON"
- id: trailing-whitespace
name: " ✂️ Trim trailing whitespaces"
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.0.277
hooks:

View file

@ -38,6 +38,8 @@ Response:
}
```
List of language codes: https://libretranslate.com/languages
### Auto Detect Language
Request:
@ -165,26 +167,27 @@ Arguments passed to the process or set via environment variables are split into
### Configuration Parameters
| Argument | Description | Default Parameter | Env. name |
|-----------------------------|-------------------------------------------------------------------------------------------------------------| -------------------- |------------------------------|
| --host | Set host to bind the server to | `127.0.0.1` | LT_HOST |
| --port | Set port to bind the server to | `5000` | LT_PORT |
| --char-limit | Set character limit | `No limit` | LT_CHAR_LIMIT |
| --req-limit | Set maximum number of requests per minute per client (outside of limits set by api keys) | `No limit` | LT_REQ_LIMIT |
| --req-limit-storage | Storage URI to use for request limit data storage. See [Flask Limiter](https://flask-limiter.readthedocs.io/en/stable/configuration.html) | `memory://` | LT_REQ_LIMIT_STORAGE |
| --batch-limit | Set maximum number of texts to translate in a batch request | `No limit` | LT_BATCH_LIMIT |
| --ga-id | Enable Google Analytics on the API client page by providing an ID | `Empty (no tracking)` | LT_GA_ID |
| --frontend-language-source | Set frontend default language - source | `auto` | LT_FRONTEND_LANGUAGE_SOURCE |
| --frontend-language-target | Set frontend default language - target | `locale` (match site's locale) | LT_FRONTEND_LANGUAGE_TARGET |
| --frontend-timeout | Set frontend translation timeout | `500` | LT_FRONTEND_TIMEOUT |
| --api-keys-db-path | Use a specific path inside the container for the local database. Can be absolute or relative | `db/api_keys.db` | LT_API_KEYS_DB_PATH |
| --api-keys-remote | Use this remote endpoint to query for valid API keys instead of using the local database | `Empty (use local db instead)` | LT_API_KEYS_REMOTE |
| --get-api-key-link | Show a link in the UI where to direct users to get an API key | `Empty (no link shown on web ui)` | LT_GET_API_KEY_LINK |
| --shared-storage | Shared storage URI to use for multi-process data sharing (e.g. when using gunicorn) | `memory://` | LT_SHARED_STORAGE |
| --load-only | Set available languages | `Empty (use all from argostranslate)` | LT_LOAD_ONLY |
| --threads | Set number of threads | `4` | LT_THREADS |
| --metrics-auth-token | Protect the /metrics endpoint by allowing only clients that have a valid Authorization Bearer token | `Empty (no auth required)` | LT_METRICS_AUTH_TOKEN |
| --url-prefix | Add prefix to URL: example.com:5000/url-prefix/ | `/` | LT_URL_PREFIX |
| Argument | Description | Default Parameter | Env. name |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | --------------------------- |
| --host | Set host to bind the server to | `127.0.0.1` | LT_HOST |
| --port | Set port to bind the server to | `5000` | LT_PORT |
| --char-limit | Set character limit | `No limit` | LT_CHAR_LIMIT |
| --req-limit | Set maximum number of requests per minute per client (outside of limits set by api keys) | `No limit` | LT_REQ_LIMIT |
| --req-limit-storage | Storage URI to use for request limit data storage. See [Flask Limiter](https://flask-limiter.readthedocs.io/en/stable/configuration.html) | `memory://` | LT_REQ_LIMIT_STORAGE |
| --req-time-cost | Considers a time cost (in seconds) for request limiting purposes. If a request takes 10 seconds and this value is set to 5, the request cost is either 2 or the actual request cost (whichever is greater). | `No time cost` | LT_REQ_TIME_COST |
| --batch-limit | Set maximum number of texts to translate in a batch request | `No limit` | LT_BATCH_LIMIT |
| --ga-id | Enable Google Analytics on the API client page by providing an ID | `Empty (no tracking)` | LT_GA_ID |
| --frontend-language-source | Set frontend default language - source | `auto` | LT_FRONTEND_LANGUAGE_SOURCE |
| --frontend-language-target | Set frontend default language - target | `locale` (match site's locale) | LT_FRONTEND_LANGUAGE_TARGET |
| --frontend-timeout | Set frontend translation timeout | `500` | LT_FRONTEND_TIMEOUT |
| --api-keys-db-path | Use a specific path inside the container for the local database. Can be absolute or relative | `db/api_keys.db` | LT_API_KEYS_DB_PATH |
| --api-keys-remote | Use this remote endpoint to query for valid API keys instead of using the local database | `Empty (use local db instead)` | LT_API_KEYS_REMOTE |
| --get-api-key-link | Show a link in the UI where to direct users to get an API key | `Empty (no link shown on web ui)` | LT_GET_API_KEY_LINK |
| --shared-storage | Shared storage URI to use for multi-process data sharing (e.g. when using gunicorn) | `memory://` | LT_SHARED_STORAGE |
| --load-only | Set available languages | `Empty (use all from argostranslate)` | LT_LOAD_ONLY |
| --threads | Set number of threads | `4` | LT_THREADS |
| --metrics-auth-token | Protect the /metrics endpoint by allowing only clients that have a valid Authorization Bearer token | `Empty (no auth required)` | LT_METRICS_AUTH_TOKEN |
| --url-prefix | Add prefix to URL: example.com:5000/url-prefix/ | `/` | LT_URL_PREFIX |
### Notes:
@ -247,7 +250,7 @@ helm install libretranslate libretranslate/libretranslate --namespace libretrans
## Manage API Keys
LibreTranslate supports per-user limit quotas, e.g. you can issue API keys to users so that they can enjoy higher requests limits per minute (if you also set `--req-limit`). By default all users are rate-limited based on `--req-limit`, but passing an optional `api_key` parameter to the REST endpoints allows a user to enjoy higher request limits.
LibreTranslate supports per-user limit quotas, e.g. you can issue API keys to users so that they can enjoy higher requests limits per minute (if you also set `--req-limit`). By default all users are rate-limited based on `--req-limit`, but passing an optional `api_key` parameter to the REST endpoints allows a user to enjoy higher request limits. You can also specify different character limits that bypass the default `--char-limit` value on a per-key basis.
To use API keys simply start LibreTranslate with the `--api-keys` option. If you modified the API keys database path with the option `--api-keys-db-path`, you must specify the path with the same argument flag when using the `ltmanage keys` command.
@ -259,6 +262,12 @@ To issue a new API key with 120 requests per minute limits:
ltmanage keys add 120
```
To issue a new API key with 120 requests per minute and a maximum of 5,000 characters per request:
```bash
ltmanage keys add 120 --char-limit 5000
```
If you changed the API keys database path:
```bash
@ -324,6 +333,7 @@ You can use the LibreTranslate API using the following bindings:
- Rust: <https://github.com/DefunctLizard/libretranslate-rs>
- Node.js: <https://github.com/franciscop/translate>
- TypeScript: <https://github.com/tderflinger/libretranslate-ts>
- .Net: <https://github.com/sigaloid/LibreTranslate.Net>
- Go: <https://github.com/SnakeSel/libretranslate>
- Python: <https://github.com/argosopentech/LibreTranslate-py>
@ -334,6 +344,7 @@ You can use the LibreTranslate API using the following bindings:
- Shell: <https://github.com/Hayao0819/Hayao-Tools/tree/master/libretranslate-sh>
- Java: <https://github.com/suuft/libretranslate-java>
- Ruby: <https://github.com/noesya/libretranslate>
- R: <https://github.com/myanesp/libretranslateR>
## Discourse Plugin
@ -465,6 +476,10 @@ In short, yes, [but only if you buy an API key](https://portal.libretranslate.co
By default language models are loaded from the [argos-index](https://github.com/argosopentech/argospm-index). Sometimes we deploy models on libretranslate.com that haven't been added to the argos-index yet, such as those converted from OPUS ([thread](https://community.libretranslate.com/t/opus-mt-language-models-port-thread/757))
### Where are the language models saved?
In `$HOME/.local/share/argos-translate/packages`. On Windows that's `C:\Users\youruser\.local\share\argos-translate\packages`.
### Can I use LibreTranslate behind a reverse proxy, like Apache2 or Caddy?
Yes, here are config examples for Apache2 and Caddy that redirect a subdomain (with HTTPS certificate) to LibreTranslate running on a docker at localhost.
@ -649,6 +664,14 @@ console.log(await res.json());
// }
```
## Contributing
We welcome contributions! Here's some ideas:
* Train a new language model using [Locomotive](https://github.com/LibreTranslate/Locomotive). For example, we want to train improved neural networks for [German](https://community.libretranslate.com/t/help-wanted-improve-en-de-translation/935) and many other languages.
* Can you beat the performance of our language models? Train a new one and let's compare it. To submit your model make a post on the [community forum](https://community.libretranslate.com/) with a link to download your .argosmodel file and some sample text that your model has translated.
* Pick an [issue](https://github.com/LibreTranslate/LibreTranslate/issues) to work on.
## Credits
This work is largely possible thanks to [Argos Translate](https://github.com/argosopentech/argos-translate), which powers the translation engine.

View file

@ -1 +1 @@
1.5.4
1.5.7

View file

@ -9,15 +9,24 @@ services:
restart: unless-stopped
ports:
- "5000:5000"
## Uncomment this for logging in docker compose logs
# tty: true
healthcheck:
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
## Uncomment above command and define your args if necessary
# command: --ssl --ga-id MY-GA-ID --req-limit 100 --char-limit 500
## Uncomment this section and the `volumes` section if you want to backup your API keys
## Uncomment this section and the libretranslate_api_keys volume if you want to backup your API keys
# environment:
# - LT_API_KEYS=true
# - LT_API_KEYS_DB_PATH=/app/db/api_keys.db # Same result as `db/api_keys.db` or `./db/api_keys.db`
## Uncomment these vars and libretranslate_models volume to optimize loading time.
# - LT_UPDATE_MODELS=true
# - LT_LOAD_ONLY=en,fr
# volumes:
# - libretranslate_api_keys:/app/db/api_keys.db
# - libretranslate_api_keys:/app/db
# Keep the models in a docker volume, to avoid re-downloading on startup
# - libretranslate_models:/home/libretranslate/.local:rw
# volumes:
# libretranslate_api_keys:
# libretranslate_models:

View file

@ -1,4 +1,4 @@
FROM python:3.10.10-slim-bullseye as builder
FROM python:3.11.9-slim-bullseye as builder
WORKDIR /app
@ -19,7 +19,7 @@ RUN ./venv/bin/pip install Babel==2.12.1 && ./venv/bin/python scripts/compile_lo
&& ./venv/bin/pip install . \
&& ./venv/bin/pip cache purge
FROM python:3.10.10-slim-bullseye
FROM python:3.11.9-slim-bullseye
ARG with_models=false
ARG models=""
@ -30,6 +30,8 @@ USER libretranslate
COPY --from=builder --chown=1032:1032 /app /app
WORKDIR /app
COPY --from=builder --chown=1032:1032 /app/venv/bin/ltmanage /usr/bin/
RUN if [ "$with_models" = "true" ]; then \
# initialize the language models
if [ ! -z "$models" ]; then \
@ -40,4 +42,4 @@ RUN if [ "$with_models" = "true" ]; then \
fi
EXPOSE 5000
ENTRYPOINT [ "./venv/bin/libretranslate", "--host", "0.0.0.0" ]
ENTRYPOINT [ "./venv/bin/libretranslate", "--host", "*" ]

View file

@ -1,4 +1,4 @@
FROM arm64v8/python:3.10.10-slim-bullseye as builder
FROM arm64v8/python:3.11.9-slim-bullseye as builder
WORKDIR /app
@ -19,7 +19,7 @@ RUN ./venv/bin/pip install Babel==2.12.1 && ./venv/bin/python scripts/compile_lo
&& ./venv/bin/pip install . \
&& ./venv/bin/pip cache purge
FROM arm64v8/python:3.10.10-slim-bullseye
FROM arm64v8/python:3.11.9-slim-bullseye
ARG with_models=false
ARG models=""
@ -40,4 +40,4 @@ RUN if [ "$with_models" = "true" ]; then \
fi
EXPOSE 5000
ENTRYPOINT [ "./venv/bin/libretranslate", "--host", "0.0.0.0" ]
ENTRYPOINT [ "./venv/bin/libretranslate", "--host", "*" ]

View file

@ -1,4 +1,4 @@
FROM nvidia/cuda:11.2.2-devel-ubuntu20.04
FROM nvidia/cuda:12.4.1-devel-ubuntu20.04
ENV ARGOS_DEVICE_TYPE cuda
ARG with_models=false
@ -42,4 +42,4 @@ RUN pip3 install Babel==2.12.1 && python3 scripts/compile_locales.py \
# ENV LD_LIBRARY_PATH=/usr/local/cuda/lib:/usr/local/cuda/lib64
EXPOSE 5000
ENTRYPOINT [ "libretranslate", "--host", "0.0.0.0" ]
ENTRYPOINT [ "libretranslate", "--host", "*" ]

View file

@ -32,41 +32,49 @@ class Database:
"""CREATE TABLE IF NOT EXISTS api_keys (
"api_key" TEXT NOT NULL,
"req_limit" INTEGER NOT NULL,
"char_limit" INTEGER DEFAULT NULL,
PRIMARY KEY("api_key")
);"""
)
# Schema/upgrade checks
schema = self.c.execute("SELECT sql FROM sqlite_master WHERE type='table' AND name='api_keys';").fetchone()[0]
if '"char_limit" INTEGER DEFAULT NULL' not in schema:
self.c.execute('ALTER TABLE api_keys ADD COLUMN "char_limit" INTEGER DEFAULT NULL;')
def lookup(self, api_key):
req_limit = self.cache.get(api_key)
if req_limit is None:
val = self.cache.get(api_key)
if val is None:
# DB Lookup
stmt = self.c.execute(
"SELECT req_limit FROM api_keys WHERE api_key = ?", (api_key,)
"SELECT req_limit, char_limit FROM api_keys WHERE api_key = ?", (api_key,)
)
row = stmt.fetchone()
if row is not None:
self.cache[api_key] = row[0]
req_limit = row[0]
self.cache[api_key] = row
val = row
else:
self.cache[api_key] = False
req_limit = False
val = False
if isinstance(req_limit, bool):
req_limit = None
if isinstance(val, bool):
val = None
return req_limit
return val
def add(self, req_limit, api_key="auto"):
def add(self, req_limit, api_key="auto", char_limit=None):
if api_key == "auto":
api_key = str(uuid.uuid4())
if char_limit == 0:
char_limit = None
self.remove(api_key)
self.c.execute(
"INSERT INTO api_keys (api_key, req_limit) VALUES (?, ?)",
(api_key, req_limit),
"INSERT INTO api_keys (api_key, req_limit, char_limit) VALUES (?, ?, ?)",
(api_key, req_limit, char_limit),
)
self.c.commit()
return (api_key, req_limit)
return (api_key, req_limit, char_limit)
def remove(self, api_key):
self.c.execute("DELETE FROM api_keys WHERE api_key = ?", (api_key,))
@ -74,7 +82,7 @@ class Database:
return api_key
def all(self):
row = self.c.execute("SELECT api_key, req_limit FROM api_keys")
row = self.c.execute("SELECT api_key, req_limit, char_limit FROM api_keys")
return row.fetchall()
@ -84,8 +92,8 @@ class RemoteDatabase:
self.cache = ExpiringDict(max_len=max_cache_len, max_age_seconds=max_cache_age)
def lookup(self, api_key):
req_limit = self.cache.get(api_key)
if req_limit is None:
val = self.cache.get(api_key)
if val is None:
try:
r = requests.post(self.url, data={'api_key': api_key}, timeout=60)
res = r.json()
@ -93,7 +101,12 @@ class RemoteDatabase:
print("Cannot authenticate API key: " + str(e))
return None
req_limit = res.get('req_limit', None) if res.get('error', None) is None else None
self.cache[api_key] = req_limit
if res.get('error') is not None:
return None
return req_limit
req_limit = res.get('req_limit', None)
char_limit = res.get('char_limit', None)
self.cache[api_key] = (req_limit, char_limit)
return val

View file

@ -1,4 +1,5 @@
import io
import math
import os
import re
import tempfile
@ -96,13 +97,28 @@ def get_req_limits(default_limit, api_keys_db, db_multiplier=1, multiplier=1):
api_key = get_req_api_key()
if api_key:
db_req_limit = api_keys_db.lookup(api_key)
if db_req_limit is not None:
req_limit = db_req_limit * db_multiplier
api_key_limits = api_keys_db.lookup(api_key)
if api_key_limits is not None:
req_limit = api_key_limits[0] * db_multiplier
return int(req_limit * multiplier)
def get_char_limit(default_limit, api_keys_db):
char_limit = default_limit
if api_keys_db:
api_key = get_req_api_key()
if api_key:
api_key_limits = api_keys_db.lookup(api_key)
if api_key_limits is not None:
if api_key_limits[1] is not None:
char_limit = api_key_limits[1]
return char_limit
def get_routes_limits(args, api_keys_db):
default_req_limit = args.req_limit
if default_req_limit == -1:
@ -204,6 +220,13 @@ def create_app(args):
from flask_limiter import Limiter
def limits_cost():
req_cost = getattr(request, 'req_cost', 1)
if args.req_time_cost > 0:
return max(req_cost, int(math.ceil(getattr(request, 'duration', 0) / args.req_time_cost)))
else:
return req_cost
limiter = Limiter(
key_func=get_remote_address,
default_limits=get_routes_limits(
@ -211,7 +234,7 @@ def create_app(args):
),
storage_uri=args.req_limit_storage,
default_limits_deduct_when=lambda req: True, # Force cost to be called after the request
default_limits_cost=lambda: getattr(request, 'req_cost', 1)
default_limits_cost=limits_cost
)
else:
from .no_limiter import Limiter
@ -310,12 +333,19 @@ def create_app(args):
status = e.code
raise e
finally:
duration = max(default_timer() - start_t, 0)
measure_request.labels(request.path, status, ip, ak).observe(duration)
request.duration = max(default_timer() - start_t, 0)
measure_request.labels(request.path, status, ip, ak).observe(request.duration)
g.dec()
return measure_func
else:
return func
@wraps(func)
def time_func(*a, **kw):
start_t = default_timer()
try:
return func(*a, **kw)
finally:
request.duration = max(default_timer() - start_t, 0)
return time_func
@bp.errorhandler(400)
def invalid_api(e):
@ -547,6 +577,8 @@ def create_app(args):
# https://www.rfc-editor.org/rfc/rfc2046#section-4.1.1
q = "\n".join(q.splitlines())
char_limit = get_char_limit(args.char_limit, api_keys_db)
batch = isinstance(q, list)
if batch and args.batch_limit != -1:
@ -559,12 +591,12 @@ def create_app(args):
src_texts = q if batch else [q]
if args.char_limit != -1:
if char_limit != -1:
for text in src_texts:
if len(text) > args.char_limit:
if len(text) > char_limit:
abort(
400,
description=_("Invalid request: request (%(size)s) exceeds text limit (%(limit)s)", size=len(text), limit=args.char_limit),
description=_("Invalid request: request (%(size)s) exceeds text limit (%(limit)s)", size=len(text), limit=char_limit),
)
if batch:
@ -736,6 +768,7 @@ def create_app(args):
source_lang = request.form.get("source")
target_lang = request.form.get("target")
file = request.files['file']
char_limit = get_char_limit(args.char_limit, api_keys_db)
if not file:
abort(400, description=_("Invalid request: missing %(name)s parameter", name='file'))
@ -771,8 +804,8 @@ def create_app(args):
# set the cost of the request to N = bytes / char_limit, which is
# roughly equivalent to a batch process of N batches assuming
# each batch uses all available limits
if args.char_limit > 0:
request.req_cost = max(1, int(os.path.getsize(filepath) / args.char_limit))
if char_limit > 0:
request.req_cost = max(1, int(os.path.getsize(filepath) / char_limit))
translated_file_path = argostranslatefiles.translate_file(src_lang.get_translation(tgt_lang), filepath)
translated_filename = os.path.basename(translated_file_path)
@ -825,7 +858,7 @@ def create_app(args):
name: q
schema:
type: string
example: Hello world!
example: What language is this?
required: true
description: Text to detect
- in: formData
@ -846,11 +879,11 @@ def create_app(args):
properties:
confidence:
type: number
format: float
format: integer
minimum: 0
maximum: 1
maximum: 100
description: Confidence value
example: 0.6
example: 100
language:
type: string
description: Language code

View file

@ -81,6 +81,11 @@ _default_options_objects = [
'default_value': -1,
'value_type': 'int'
},
{
'name': 'REQ_TIME_COST',
'default_value': -1,
'value_type': 'int'
},
{
'name': 'BATCH_LIMIT',
'default_value': -1,

View file

@ -0,0 +1,666 @@
# Translations template for LibreTranslate.
# Copyright (C) 2023 LibreTranslate Authors
# This file is distributed under the same license as the LibreTranslate
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: LibreTranslate 1.3.12\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2024-04-02 23:12+0000\n"
"Last-Translator: rferee <rferee_subs@protonmail.com>\n"
"Language-Team: Belarusian <https://hosted.weblate.org/projects/"
"libretranslate/app/be/>\n"
"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"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.5-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
msgid "Invalid JSON format"
msgstr "Памылковы JSON-фармат"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
msgstr "Аўтавызначэнне"
#: libretranslate/app.py:232
msgid "Unauthorized"
msgstr "Патрэбна аўтарызацыя"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
msgstr "Перавышаны ліміт запытаў"
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "Памылковы API ключ"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr "Калі ласка звяжыцеся з аператарам сэрверу каб атрымаць API ключ"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "Наведайце %(url)s каб атрымаць API ключ"
#: libretranslate/app.py:318
msgid "Slowdown:"
msgstr "Запаволенне:"
#: libretranslate/app.py:525 libretranslate/app.py:527
#: libretranslate/app.py:529 libretranslate/app.py:741
#: libretranslate/app.py:743 libretranslate/app.py:745
#: libretranslate/app.py:896 libretranslate/app.py:1053
#: libretranslate/app.py:1055 libretranslate/app.py:1057
#: libretranslate/app.py:1059
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr "Памылковы запыт: параметар %(name)s адсутнічае"
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr ""
"Памылковы запыт: запыт (%(size)s) перавышае дазволены ліміт тэксту "
"(%(limit)s)"
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
#, python-format
msgid "%(lang)s is not supported"
msgstr "%(lang)s не падтрымліваецца"
#: libretranslate/app.py:594
#, python-format
msgid "%(format)s format is not supported"
msgstr "Фармат %(format)s не падтрымліваеецца"
#: libretranslate/app.py:602 libretranslate/app.py:626
#, python-format
msgid ""
"%(tname)s (%(tcode)s) is not available as a target language from "
"%(sname)s (%(scode)s)"
msgstr ""
"%(tname)s (%(tcode)s) не даступная як мова перакладу з %(sname)s (%(scode)s)"
#: libretranslate/app.py:647
#, python-format
msgid "Cannot translate text: %(text)s"
msgstr "Не атрымалася перакласці тэкст: %(text)s"
#: libretranslate/app.py:734 libretranslate/app.py:788
msgid "Files translation are disabled on this server."
msgstr "Переклад файлаў вымкнуты на гэтым сэрвере."
#: libretranslate/app.py:748
msgid "Invalid request: empty file"
msgstr "Памылковы запыт: пусты файл"
#: libretranslate/app.py:751
msgid "Invalid request: file format not supported"
msgstr "Памылковы запыт: фармат файла не падтрымліваецца"
#: libretranslate/app.py:796
msgid "Invalid filename"
msgstr "Няслушная назва файла"
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
msgstr "Прапанаванні выключаны на гэтым сэрверы."
#: libretranslate/locales/.langs.py:1
msgid "English"
msgstr "Англійская"
#: libretranslate/locales/.langs.py:2
msgid "Arabic"
msgstr "Арабская"
#: libretranslate/locales/.langs.py:3
msgid "Azerbaijani"
msgstr "Азербайджанская"
#: libretranslate/locales/.langs.py:4
msgid "Chinese"
msgstr "Кітайская"
#: libretranslate/locales/.langs.py:5
msgid "Czech"
msgstr "Чешская"
#: libretranslate/locales/.langs.py:6
msgid "Danish"
msgstr "Дацкая"
#: libretranslate/locales/.langs.py:7
msgid "Dutch"
msgstr "Нідэрландская"
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr "Эсперанта"
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
msgstr "Фінская"
#: libretranslate/locales/.langs.py:10
msgid "French"
msgstr "Французская"
#: libretranslate/locales/.langs.py:11
msgid "German"
msgstr "Нямецкая"
#: libretranslate/locales/.langs.py:12
msgid "Greek"
msgstr "Грэчаская"
#: libretranslate/locales/.langs.py:13
msgid "Hebrew"
msgstr "Іўрыт"
#: libretranslate/locales/.langs.py:14
msgid "Hindi"
msgstr "Хіндзі"
#: libretranslate/locales/.langs.py:15
msgid "Hungarian"
msgstr "Венгерская"
#: libretranslate/locales/.langs.py:16
msgid "Indonesian"
msgstr "Інданезійская"
#: libretranslate/locales/.langs.py:17
msgid "Irish"
msgstr "Ірландская"
#: libretranslate/locales/.langs.py:18
msgid "Italian"
msgstr "Італьянская"
#: libretranslate/locales/.langs.py:19
msgid "Japanese"
msgstr "Японская"
#: libretranslate/locales/.langs.py:20
msgid "Korean"
msgstr "Карэйская"
#: libretranslate/locales/.langs.py:21
msgid "Persian"
msgstr "Персідская"
#: libretranslate/locales/.langs.py:22
msgid "Polish"
msgstr "Польская"
#: libretranslate/locales/.langs.py:23
msgid "Portuguese"
msgstr "Партугальская"
#: libretranslate/locales/.langs.py:24
msgid "Russian"
msgstr "Руская"
#: libretranslate/locales/.langs.py:25
msgid "Slovak"
msgstr "Славацкая"
#: libretranslate/locales/.langs.py:26
msgid "Spanish"
msgstr "Іспанская"
#: libretranslate/locales/.langs.py:27
msgid "Swedish"
msgstr "Шведская"
#: libretranslate/locales/.langs.py:28
msgid "Turkish"
msgstr "Турэцкая"
#: libretranslate/locales/.langs.py:29
msgid "Ukranian"
msgstr "Украінская"
#: libretranslate/locales/.langs.py:30
msgid "Vietnamese"
msgstr "В’етнамская"
#: libretranslate/locales/.swag.py:1
msgid "Retrieve list of supported languages"
msgstr "Атрымаць спіс падтрыманых моў"
#: libretranslate/locales/.swag.py:2
msgid "List of languages"
msgstr "Спіс моў"
#: libretranslate/locales/.swag.py:3
msgid "translate"
msgstr "пераклад"
#: libretranslate/locales/.swag.py:4
msgid "Translate text from a language to another"
msgstr "Перакласць тэкст з адной мовы на іншую"
#: libretranslate/locales/.swag.py:5 libretranslate/templates/index.html:222
msgid "Translated text"
msgstr "Перакладзены тэкст"
#: libretranslate/locales/.swag.py:6
msgid "Invalid request"
msgstr "Памылковы запыт"
#: libretranslate/locales/.swag.py:7
msgid "Translation error"
msgstr "Памылка перакладу"
#: libretranslate/locales/.swag.py:8
msgid "Slow down"
msgstr "Запаволенне"
#: libretranslate/locales/.swag.py:9
msgid "Banned"
msgstr "Заблакавана"
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
msgstr "Прывітанне, свет!"
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
msgstr "Тэкст(а) для перакладу"
#: libretranslate/locales/.swag.py:12
msgid "Source language code"
msgstr "Код мовы арыгінала"
#: libretranslate/locales/.swag.py:13
msgid "Target language code"
msgstr "Код мовы пераклада"
#: libretranslate/locales/.swag.py:14
msgid "text"
msgstr "тэкст"
#: libretranslate/locales/.swag.py:15
msgid "html"
msgstr "html"
#: libretranslate/locales/.swag.py:16
msgid ""
"Format of source text:\n"
" * `text` - Plain text\n"
" * `html` - HTML markup\n"
msgstr ""
"Фармат выточнага тэксту:\n"
"* `text` - Звычайны тэкст\n"
"* `html` - HTML-разметка\n"
#: libretranslate/locales/.swag.py:17
msgid "API key"
msgstr "API ключ"
#: libretranslate/locales/.swag.py:18
msgid "Translate file from a language to another"
msgstr "Перакласць файл з адной мовы на іншую"
#: libretranslate/locales/.swag.py:19
msgid "Translated file"
msgstr "Перакладзены файл"
#: libretranslate/locales/.swag.py:20
msgid "File to translate"
msgstr "Файл для перакладу"
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
msgstr "Вызначыць мову аднаго тэксту"
#: libretranslate/locales/.swag.py:22
msgid "Detections"
msgstr "Вызначэння"
#: libretranslate/locales/.swag.py:23
msgid "Detection error"
msgstr "Памылка вызначэння"
#: libretranslate/locales/.swag.py:24
msgid "Text to detect"
msgstr "Тэкст для вызначэння"
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr "Атрымаць налады для інтэрфэйсу"
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
msgstr "налады інтэрфэйсу"
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr "інтэрфейс"
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
msgstr "Запрапанаваць як палепшыць пераклад"
#: libretranslate/locales/.swag.py:29
msgid "Success"
msgstr "Поспех"
#: libretranslate/locales/.swag.py:30
msgid "Not authorized"
msgstr "Не аўтаразаваны"
#: libretranslate/locales/.swag.py:31
msgid "Original text"
msgstr "Арыгінальны тэкст"
#: libretranslate/locales/.swag.py:32
msgid "Suggested translation"
msgstr "Запрапанаваны пераклад"
#: libretranslate/locales/.swag.py:33
msgid "Language of original text"
msgstr "Мова арыгінальнага тэкста"
#: libretranslate/locales/.swag.py:34
msgid "Language of suggested translation"
msgstr "Мова прапанаванага перакладу"
#: libretranslate/locales/.swag.py:35
msgid "feedback"
msgstr "зваротная сувязь"
#: libretranslate/locales/.swag.py:36
msgid "Language code"
msgstr "Код мовы"
#: libretranslate/locales/.swag.py:37
msgid "Human-readable language name (in English)"
msgstr "Чалавекачытальная назва мовы (па-ангельску)"
#: libretranslate/locales/.swag.py:38
msgid "Supported target language codes"
msgstr "Коды падтрымліваемых моў"
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr "Перакладзены(-я) тэкст(-а)"
#: libretranslate/locales/.swag.py:40
msgid "Error message"
msgstr "Паведамленне пра абмылу"
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr "Прычына запаволення"
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
msgstr "URL-адрэса перакладзенага файла"
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr "Ровень упэўненасці"
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
msgstr ""
"Абмежаванне колькаскі знакаў для гэтай мовы (-1 азначае адсутнасць "
"абмежаванняў)"
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr "Час перакладу інтэрфэйсу перавышаны"
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
msgstr "Ці увамкнёная база дадзеных API ключоў."
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr "Ці патрэбен API ключ."
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
msgstr "Ці ўвамкненна магчымасць адпраўляць прапановы."
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
msgstr "Падтрымліваемыя фарматы файлаў"
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
msgstr "Ці было адсыланне паспяховым"
#: libretranslate/templates/app.js.template:31
#: libretranslate/templates/app.js.template:286
#: libretranslate/templates/app.js.template:290
msgid "Copy text"
msgstr "Скапіяваць тэкст"
#: libretranslate/templates/app.js.template:80
#: libretranslate/templates/app.js.template:86
#: libretranslate/templates/app.js.template:91
#: libretranslate/templates/app.js.template:273
#: libretranslate/templates/app.js.template:343
#: libretranslate/templates/app.js.template:431
#: libretranslate/templates/app.js.template:479
#, python-format
msgid "Cannot load %(url)s"
msgstr "Немагчыма спампаваць %(url)s"
#: libretranslate/templates/app.js.template:264
#: libretranslate/templates/app.js.template:334
#: libretranslate/templates/app.js.template:412
#: libretranslate/templates/app.js.template:423
msgid "Unknown error"
msgstr "Невядомая памылка"
#: libretranslate/templates/app.js.template:287
msgid "Copied"
msgstr "Скапіявана"
#: libretranslate/templates/app.js.template:331
msgid ""
"Thanks for your correction. Note the suggestion will not take effect "
"right away."
msgstr ""
"Дзякуй за вашу заўвагу. Прыміце да ўвагі: Ваша прапанова не адразу набудзе "
"моц."
#: libretranslate/templates/app.js.template:455
msgid "No languages available. Did you install the models correctly?"
msgstr "Няма даступных моў. Вы слушна ўсталявалі мадэлі?"
#: libretranslate/templates/app.js.template:522
#, python-format
msgid "Type in your API Key. If you need an API key, %(instructions)s"
msgstr "Увядзіце ваш API ключ. Калі вам патрэбен API ключ, %(instructions)s"
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
msgstr "націсніце на спасылку \"Атрымаць API ключ\"."
#: libretranslate/templates/app.js.template:522
msgid "contact the server operator."
msgstr "звяжыцеся з аператарам сэрвера."
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr "Бясплатнае API для машыннага перакладу з адкрытым выточным кодам"
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
#, fuzzy
msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr "Бясплатнае API для машыннага перакладу з адкрытым выточным кодам."
#: libretranslate/templates/index.html:11
msgid "translation"
msgstr "пераклад"
#: libretranslate/templates/index.html:11
msgid "api"
msgstr ""
#: libretranslate/templates/index.html:65
msgid "API Docs"
msgstr ""
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr ""
#: libretranslate/templates/index.html:69
msgid "GitHub"
msgstr ""
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr ""
#: libretranslate/templates/index.html:73
msgid "Change language"
msgstr ""
#: libretranslate/templates/index.html:79
msgid "Edit"
msgstr ""
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr ""
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr ""
#: libretranslate/templates/index.html:171
msgid "Translation API"
msgstr ""
#: libretranslate/templates/index.html:175
msgid "Translate Text"
msgstr ""
#: libretranslate/templates/index.html:179
msgid "Translate Files"
msgstr ""
#: libretranslate/templates/index.html:185
msgid "Translate from"
msgstr ""
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr ""
#: libretranslate/templates/index.html:198
msgid "Translate into"
msgstr ""
#: libretranslate/templates/index.html:210
msgid "Text to translate"
msgstr ""
#: libretranslate/templates/index.html:213
msgid "Delete text"
msgstr ""
#: libretranslate/templates/index.html:226
msgid "Suggest translation"
msgstr ""
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr ""
#: libretranslate/templates/index.html:233
msgid "Send"
msgstr ""
#: libretranslate/templates/index.html:249
msgid "Supported file formats:"
msgstr ""
#: libretranslate/templates/index.html:253
msgid "File"
msgstr ""
#: libretranslate/templates/index.html:268
msgid "Remove file"
msgstr ""
#: libretranslate/templates/index.html:275
msgid "Translate"
msgstr ""
#: libretranslate/templates/index.html:276
#: libretranslate/templates/index.html:320
msgid "Download"
msgstr ""
#: libretranslate/templates/index.html:295
msgid "Request"
msgstr ""
#: libretranslate/templates/index.html:300
msgid "Response"
msgstr ""
#: libretranslate/templates/index.html:315
msgid "Open Source Machine Translation API"
msgstr ""
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
msgstr ""
#: libretranslate/templates/index.html:335
msgid "LibreTranslate"
msgstr ""
#: libretranslate/templates/index.html:337
msgid "License:"
msgstr ""
#: libretranslate/templates/index.html:340
#, python-format
msgid ""
"This public API should be used for testing, personal or infrequent use. "
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
#: libretranslate/templates/index.html:340
msgid "host your own server"
msgstr ""
#: libretranslate/templates/index.html:340
msgid "get an API key"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "%(libretranslate)s Contributors"
msgstr ""

View file

@ -0,0 +1,670 @@
# Translations template for LibreTranslate.
# Copyright (C) 2023 LibreTranslate Authors
# This file is distributed under the same license as the LibreTranslate
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: LibreTranslate 1.3.12\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2024-02-17 02:36+0000\n"
"Last-Translator: Salif Mehmed <mail@salif.eu>\n"
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/libretranslate/"
"app/bg/>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.4\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
msgid "Invalid JSON format"
msgstr "Невалиден JSON формат"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
msgstr "Разпознаване"
#: libretranslate/app.py:232
msgid "Unauthorized"
msgstr "Неоторизиран"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
msgstr "Твърде много нарушения на ограниченията на заявките"
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "Невалиден API ключ"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr "Моля, свържете се с оператора на сървъра, за да получите API ключ"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "Посетете %(url)s, за да получите API ключ"
#: libretranslate/app.py:318
msgid "Slowdown:"
msgstr "Забавяне:"
#: libretranslate/app.py:525 libretranslate/app.py:527
#: libretranslate/app.py:529 libretranslate/app.py:741
#: libretranslate/app.py:743 libretranslate/app.py:745
#: libretranslate/app.py:896 libretranslate/app.py:1053
#: libretranslate/app.py:1055 libretranslate/app.py:1057
#: libretranslate/app.py:1059
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr "Невалидна заявка: липсващ %(name)s параметър"
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr ""
"Невалидна заявка: заявката (%(size)s) надвишава ограничението за текст "
"(%(limit)s)"
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
#, python-format
msgid "%(lang)s is not supported"
msgstr "%(lang)s не се поддържа"
#: libretranslate/app.py:594
#, python-format
msgid "%(format)s format is not supported"
msgstr "Форматът %(format)s не се поддържа"
#: libretranslate/app.py:602 libretranslate/app.py:626
#, python-format
msgid ""
"%(tname)s (%(tcode)s) is not available as a target language from "
"%(sname)s (%(scode)s)"
msgstr ""
"%(tname)s (%(tcode)s) не е наличен като целеви език от %(sname)s (%(scode)s)"
#: libretranslate/app.py:647
#, python-format
msgid "Cannot translate text: %(text)s"
msgstr "Не може да се преведе текстът: %(text)s"
#: libretranslate/app.py:734 libretranslate/app.py:788
msgid "Files translation are disabled on this server."
msgstr "Превеждането на файлове е изключено на този сървър."
#: libretranslate/app.py:748
msgid "Invalid request: empty file"
msgstr "Невалидна заявка: празен файл"
#: libretranslate/app.py:751
msgid "Invalid request: file format not supported"
msgstr "Невалидна заявка: файловият формат не се поддържа"
#: libretranslate/app.py:796
msgid "Invalid filename"
msgstr "Невалидно име на файла"
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
msgstr "Предложенията са изключени на този сървър."
#: libretranslate/locales/.langs.py:1
msgid "English"
msgstr "Английски"
#: libretranslate/locales/.langs.py:2
msgid "Arabic"
msgstr "Арабски"
#: libretranslate/locales/.langs.py:3
msgid "Azerbaijani"
msgstr "Азербайджански"
#: libretranslate/locales/.langs.py:4
msgid "Chinese"
msgstr "Китайски"
#: libretranslate/locales/.langs.py:5
msgid "Czech"
msgstr "Чешки"
#: libretranslate/locales/.langs.py:6
msgid "Danish"
msgstr "Датски"
#: libretranslate/locales/.langs.py:7
msgid "Dutch"
msgstr "Нидерландски"
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr "Есперанто"
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
msgstr "Финландски"
#: libretranslate/locales/.langs.py:10
msgid "French"
msgstr "Френски"
#: libretranslate/locales/.langs.py:11
msgid "German"
msgstr "Немски"
#: libretranslate/locales/.langs.py:12
msgid "Greek"
msgstr "Гръцки"
#: libretranslate/locales/.langs.py:13
msgid "Hebrew"
msgstr "Иврит"
#: libretranslate/locales/.langs.py:14
msgid "Hindi"
msgstr "Хинди"
#: libretranslate/locales/.langs.py:15
msgid "Hungarian"
msgstr "Унгарски"
#: libretranslate/locales/.langs.py:16
msgid "Indonesian"
msgstr "Индонезийски"
#: libretranslate/locales/.langs.py:17
msgid "Irish"
msgstr "Ирландски"
#: libretranslate/locales/.langs.py:18
msgid "Italian"
msgstr "Италиански"
#: libretranslate/locales/.langs.py:19
msgid "Japanese"
msgstr "Японски"
#: libretranslate/locales/.langs.py:20
msgid "Korean"
msgstr "Корейски"
#: libretranslate/locales/.langs.py:21
msgid "Persian"
msgstr "Персийски"
#: libretranslate/locales/.langs.py:22
msgid "Polish"
msgstr "Полски"
#: libretranslate/locales/.langs.py:23
msgid "Portuguese"
msgstr "Португалски"
#: libretranslate/locales/.langs.py:24
msgid "Russian"
msgstr "Руски"
#: libretranslate/locales/.langs.py:25
msgid "Slovak"
msgstr "Словашки"
#: libretranslate/locales/.langs.py:26
msgid "Spanish"
msgstr "Испански"
#: libretranslate/locales/.langs.py:27
msgid "Swedish"
msgstr "Шведски"
#: libretranslate/locales/.langs.py:28
msgid "Turkish"
msgstr "Турски"
#: libretranslate/locales/.langs.py:29
msgid "Ukranian"
msgstr "Украински"
#: libretranslate/locales/.langs.py:30
msgid "Vietnamese"
msgstr "Виетнамски"
#: libretranslate/locales/.swag.py:1
msgid "Retrieve list of supported languages"
msgstr "Извличане на списък с поддържани езици"
#: libretranslate/locales/.swag.py:2
msgid "List of languages"
msgstr "Списък с езици"
#: libretranslate/locales/.swag.py:3
msgid "translate"
msgstr "превеждане"
#: libretranslate/locales/.swag.py:4
msgid "Translate text from a language to another"
msgstr "Превеждане на текст от един език на друг"
#: libretranslate/locales/.swag.py:5 libretranslate/templates/index.html:222
msgid "Translated text"
msgstr "Преведен текст"
#: libretranslate/locales/.swag.py:6
msgid "Invalid request"
msgstr "Невалидна заявка"
#: libretranslate/locales/.swag.py:7
msgid "Translation error"
msgstr "Грешка при превода"
#: libretranslate/locales/.swag.py:8
msgid "Slow down"
msgstr "Забавяне"
#: libretranslate/locales/.swag.py:9
msgid "Banned"
msgstr "Блокиран"
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
msgstr "Здравей, свят!"
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
msgstr "Текст(ове) за превод"
#: libretranslate/locales/.swag.py:12
msgid "Source language code"
msgstr "Код на изходния език"
#: libretranslate/locales/.swag.py:13
msgid "Target language code"
msgstr "Код на целевия език"
#: libretranslate/locales/.swag.py:14
msgid "text"
msgstr "text"
#: libretranslate/locales/.swag.py:15
msgid "html"
msgstr "html"
#: libretranslate/locales/.swag.py:16
msgid ""
"Format of source text:\n"
" * `text` - Plain text\n"
" * `html` - HTML markup\n"
msgstr ""
"Формат на изходния текст:\n"
" * `text` - Plain text\n"
" * `html` - HTML markup\n"
#: libretranslate/locales/.swag.py:17
msgid "API key"
msgstr "API ключ"
#: libretranslate/locales/.swag.py:18
msgid "Translate file from a language to another"
msgstr "Превеждане на файл от един език на друг"
#: libretranslate/locales/.swag.py:19
msgid "Translated file"
msgstr "Преведен файл"
#: libretranslate/locales/.swag.py:20
msgid "File to translate"
msgstr "Файл за превод"
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
msgstr "Разпознаване на езика на единичен текст"
#: libretranslate/locales/.swag.py:22
msgid "Detections"
msgstr "Разпознавания"
#: libretranslate/locales/.swag.py:23
msgid "Detection error"
msgstr "Грешка при разпознаване"
#: libretranslate/locales/.swag.py:24
msgid "Text to detect"
msgstr "Текст за разпознаване"
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr "Извличане на специфични за клиентска част настройки"
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
msgstr "настройки на клиентската част"
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr "клиентска част"
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
msgstr "Изпрати предложение за подобряване на превода"
#: libretranslate/locales/.swag.py:29
msgid "Success"
msgstr "Успех"
#: libretranslate/locales/.swag.py:30
msgid "Not authorized"
msgstr "Не оторизиран"
#: libretranslate/locales/.swag.py:31
msgid "Original text"
msgstr "Оригинален текст"
#: libretranslate/locales/.swag.py:32
msgid "Suggested translation"
msgstr "Предложен превод"
#: libretranslate/locales/.swag.py:33
msgid "Language of original text"
msgstr "Език на оригиналния текст"
#: libretranslate/locales/.swag.py:34
msgid "Language of suggested translation"
msgstr "Език на предложения превод"
#: libretranslate/locales/.swag.py:35
msgid "feedback"
msgstr "обратна връзка"
#: libretranslate/locales/.swag.py:36
msgid "Language code"
msgstr "Езиков код"
#: libretranslate/locales/.swag.py:37
msgid "Human-readable language name (in English)"
msgstr "Човекоразбираемо име на езика (на английски)"
#: libretranslate/locales/.swag.py:38
msgid "Supported target language codes"
msgstr "Поддържани целеви езикови кодове"
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr "Преведен(и) текст(ове)"
#: libretranslate/locales/.swag.py:40
msgid "Error message"
msgstr "Съобщение за грешка"
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr "Причина за забавяне"
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
msgstr "Адрес на преведен файл"
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr "Стойност на увереност"
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
msgstr ""
"Ограничение за въвеждане на символи за този език (-1 означава, че няма "
"ограничение)"
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr "Време за изчакване на превода през клиентската част"
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
msgstr "Дали базата данни с API ключове е включена."
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr "Дали API ключ е задължителен."
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
msgstr "Дали изпращането на предложения е включено."
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
msgstr "Поддържан файлов формат"
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
msgstr "Дали подаването е било успешно"
#: libretranslate/templates/app.js.template:31
#: libretranslate/templates/app.js.template:286
#: libretranslate/templates/app.js.template:290
msgid "Copy text"
msgstr "Копиране на текста"
#: libretranslate/templates/app.js.template:80
#: libretranslate/templates/app.js.template:86
#: libretranslate/templates/app.js.template:91
#: libretranslate/templates/app.js.template:273
#: libretranslate/templates/app.js.template:343
#: libretranslate/templates/app.js.template:431
#: libretranslate/templates/app.js.template:479
#, python-format
msgid "Cannot load %(url)s"
msgstr "Не може да се зареди %(url)s"
#: libretranslate/templates/app.js.template:264
#: libretranslate/templates/app.js.template:334
#: libretranslate/templates/app.js.template:412
#: libretranslate/templates/app.js.template:423
msgid "Unknown error"
msgstr "Неизвестна грешка"
#: libretranslate/templates/app.js.template:287
msgid "Copied"
msgstr "Копиран"
#: libretranslate/templates/app.js.template:331
msgid ""
"Thanks for your correction. Note the suggestion will not take effect "
"right away."
msgstr ""
"Благодарности за поправката. Имайте предвид, че предложението няма да влезе "
"в сила веднага."
#: libretranslate/templates/app.js.template:455
msgid "No languages available. Did you install the models correctly?"
msgstr "Няма налични езици. Правилно ли инсталирахте моделите?"
#: libretranslate/templates/app.js.template:522
#, python-format
msgid "Type in your API Key. If you need an API key, %(instructions)s"
msgstr "Въведете своя API ключ. Ако имате нужда от API ключ, %(instructions)s"
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
msgstr "натиснете връзката „Получаване на API ключ“."
#: libretranslate/templates/app.js.template:522
msgid "contact the server operator."
msgstr "свържете се с оператора на сървъра."
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr "Свободен API с отворен код за машинен превод"
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr ""
"Свободен API с отворен код за машинен превод. Самостоятелен хостинг, офлайн "
"способност и лесен за настройка. Стартирайте свой собствен API сървър само "
"за няколко минути."
#: libretranslate/templates/index.html:11
msgid "translation"
msgstr "превод"
#: libretranslate/templates/index.html:11
msgid "api"
msgstr "api"
#: libretranslate/templates/index.html:65
msgid "API Docs"
msgstr "API Документация"
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr "Получаване на API ключ"
#: libretranslate/templates/index.html:69
msgid "GitHub"
msgstr "GitHub"
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr "Задаване на API ключ"
#: libretranslate/templates/index.html:73
msgid "Change language"
msgstr "Промяна на езика"
#: libretranslate/templates/index.html:79
msgid "Edit"
msgstr "Редактиране"
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr "Превключване на тъмен/светъл режим"
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr "Отхвърляне"
#: libretranslate/templates/index.html:171
msgid "Translation API"
msgstr "API за превеждане"
#: libretranslate/templates/index.html:175
msgid "Translate Text"
msgstr "Превод на текст"
#: libretranslate/templates/index.html:179
msgid "Translate Files"
msgstr "Превод на файлове"
#: libretranslate/templates/index.html:185
msgid "Translate from"
msgstr "Превеждане от"
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr "Размяна на изходния и целевия език"
#: libretranslate/templates/index.html:198
msgid "Translate into"
msgstr "Превеждане на"
#: libretranslate/templates/index.html:210
msgid "Text to translate"
msgstr "Текст за превод"
#: libretranslate/templates/index.html:213
msgid "Delete text"
msgstr "Изтриване на текста"
#: libretranslate/templates/index.html:226
msgid "Suggest translation"
msgstr "Предлагане на превод"
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr "Отказ"
#: libretranslate/templates/index.html:233
msgid "Send"
msgstr "Изпращане"
#: libretranslate/templates/index.html:249
msgid "Supported file formats:"
msgstr "Поддържани файлови формати:"
#: libretranslate/templates/index.html:253
msgid "File"
msgstr "Файл"
#: libretranslate/templates/index.html:268
msgid "Remove file"
msgstr "Премахване на файла"
#: libretranslate/templates/index.html:275
msgid "Translate"
msgstr "Превеждане"
#: libretranslate/templates/index.html:276
#: libretranslate/templates/index.html:320
msgid "Download"
msgstr "Изтегляне"
#: libretranslate/templates/index.html:295
msgid "Request"
msgstr "Заявка"
#: libretranslate/templates/index.html:300
msgid "Response"
msgstr "Отговор"
#: libretranslate/templates/index.html:315
msgid "Open Source Machine Translation API"
msgstr "API с отворен код за машинен превод"
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
msgstr "Самостоятелен хостинг. Офлайн способност. Лесен за настройка."
#: libretranslate/templates/index.html:335
msgid "LibreTranslate"
msgstr "LibreTranslate"
#: libretranslate/templates/index.html:337
msgid "License:"
msgstr "Лицензия:"
#: libretranslate/templates/index.html:340
#, python-format
msgid ""
"This public API should be used for testing, personal or infrequent use. "
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
"Този публичен API трябва да се използва за тестване, лична или рядка "
"употреба. Ако възнамерявате да стартирате приложение в продукция, моля "
"%(host_server)s или %(get_api_key)s."
#: libretranslate/templates/index.html:340
msgid "host your own server"
msgstr "хоствайте свой собствен сървър"
#: libretranslate/templates/index.html:340
msgid "get an API key"
msgstr "получаване на API ключ"
#: libretranslate/templates/index.html:348
#, python-format
msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s"
msgstr "Направено с %(heart)s от %(contributors)s и задвижвано от %(engine)s"
#: libretranslate/templates/index.html:348
#, python-format
msgid "%(libretranslate)s Contributors"
msgstr "%(libretranslate)s Сътрудници"

View file

@ -0,0 +1,4 @@
{
"name": "Bulgarian",
"reviewed": true
}

View file

@ -0,0 +1,660 @@
# Translations template for LibreTranslate.
# Copyright (C) 2023 LibreTranslate Authors
# This file is distributed under the same license as the LibreTranslate
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: LibreTranslate 1.3.12\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2024-03-07 08:01+0000\n"
"Last-Translator: d <dmanye@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/libretranslate/"
"app/ca/>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
msgid "Invalid JSON format"
msgstr "Format JSON invàlid"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
msgstr "Detecció automàtica"
#: libretranslate/app.py:232
msgid "Unauthorized"
msgstr "No autoritzat"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
msgstr "Massa violacions de límits de la sol·licitud"
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "Clau API invàlida"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr ""
"Si us plau, contacta amb l'administrador del servidor per demanar una clau "
"API"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "Visita %(url)s per demanar una clau API"
#: libretranslate/app.py:318
msgid "Slowdown:"
msgstr ""
#: libretranslate/app.py:525 libretranslate/app.py:527
#: libretranslate/app.py:529 libretranslate/app.py:741
#: libretranslate/app.py:743 libretranslate/app.py:745
#: libretranslate/app.py:896 libretranslate/app.py:1053
#: libretranslate/app.py:1055 libretranslate/app.py:1057
#: libretranslate/app.py:1059
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr "Sol·licitud no vàlida: falta el paràmetre %(name)s"
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr ""
"Sol·licitud no vàlida: la sol·licitud (%(size)s) supera el límit de text "
"(%(limit)s)"
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
#, python-format
msgid "%(lang)s is not supported"
msgstr "El %(lang)s no és compatible"
#: libretranslate/app.py:594
#, python-format
msgid "%(format)s format is not supported"
msgstr "El format %(format)s no està implementat"
#: libretranslate/app.py:602 libretranslate/app.py:626
#, python-format
msgid ""
"%(tname)s (%(tcode)s) is not available as a target language from "
"%(sname)s (%(scode)s)"
msgstr ""
"%(tname)s (%(tcode)s) no està disponible com a llengua de destí des de "
"%(sname)s (%(scode)s)"
#: libretranslate/app.py:647
#, python-format
msgid "Cannot translate text: %(text)s"
msgstr "No es pot traduir el text: %(text)s"
#: libretranslate/app.py:734 libretranslate/app.py:788
msgid "Files translation are disabled on this server."
msgstr "La traducció de fitxers està deshabilitada en aquest servidor."
#: libretranslate/app.py:748
msgid "Invalid request: empty file"
msgstr "Sol·licitud no vàlida: fitxer buit"
#: libretranslate/app.py:751
msgid "Invalid request: file format not supported"
msgstr "Sol·licitud no vàlida: el format del fitxer no està implementat"
#: libretranslate/app.py:796
msgid "Invalid filename"
msgstr "Nom de fitxer no vàlid"
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
msgstr "Els suggeriments estan deshabilitats en aquest servidor."
#: libretranslate/locales/.langs.py:1
msgid "English"
msgstr "anglès"
#: libretranslate/locales/.langs.py:2
msgid "Arabic"
msgstr "àrab"
#: libretranslate/locales/.langs.py:3
msgid "Azerbaijani"
msgstr "àzeri"
#: libretranslate/locales/.langs.py:4
msgid "Chinese"
msgstr "xinès"
#: libretranslate/locales/.langs.py:5
msgid "Czech"
msgstr "txec"
#: libretranslate/locales/.langs.py:6
msgid "Danish"
msgstr "danès"
#: libretranslate/locales/.langs.py:7
msgid "Dutch"
msgstr "holandès"
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr "esperanto"
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
msgstr "finès"
#: libretranslate/locales/.langs.py:10
msgid "French"
msgstr "francès"
#: libretranslate/locales/.langs.py:11
msgid "German"
msgstr "alemany"
#: libretranslate/locales/.langs.py:12
msgid "Greek"
msgstr "grec"
#: libretranslate/locales/.langs.py:13
msgid "Hebrew"
msgstr "hebreu"
#: libretranslate/locales/.langs.py:14
msgid "Hindi"
msgstr "hindi"
#: libretranslate/locales/.langs.py:15
msgid "Hungarian"
msgstr "hongarès"
#: libretranslate/locales/.langs.py:16
msgid "Indonesian"
msgstr "indonesi"
#: libretranslate/locales/.langs.py:17
msgid "Irish"
msgstr "irlandès"
#: libretranslate/locales/.langs.py:18
msgid "Italian"
msgstr "italià"
#: libretranslate/locales/.langs.py:19
msgid "Japanese"
msgstr "japonès"
#: libretranslate/locales/.langs.py:20
msgid "Korean"
msgstr "coreà"
#: libretranslate/locales/.langs.py:21
msgid "Persian"
msgstr "persa"
#: libretranslate/locales/.langs.py:22
msgid "Polish"
msgstr "polonès"
#: libretranslate/locales/.langs.py:23
msgid "Portuguese"
msgstr "portuguès"
#: libretranslate/locales/.langs.py:24
msgid "Russian"
msgstr "rus"
#: libretranslate/locales/.langs.py:25
msgid "Slovak"
msgstr "eslovac"
#: libretranslate/locales/.langs.py:26
msgid "Spanish"
msgstr "castellà"
#: libretranslate/locales/.langs.py:27
msgid "Swedish"
msgstr "suec"
#: libretranslate/locales/.langs.py:28
msgid "Turkish"
msgstr "turc"
#: libretranslate/locales/.langs.py:29
msgid "Ukranian"
msgstr "ucraïnès"
#: libretranslate/locales/.langs.py:30
msgid "Vietnamese"
msgstr "vietnamita"
#: libretranslate/locales/.swag.py:1
msgid "Retrieve list of supported languages"
msgstr "Recupera la llista d'idiomes compatibles"
#: libretranslate/locales/.swag.py:2
msgid "List of languages"
msgstr "Llista d'idiomes"
#: libretranslate/locales/.swag.py:3
msgid "translate"
msgstr "traduir"
#: libretranslate/locales/.swag.py:4
msgid "Translate text from a language to another"
msgstr "Traduir text d'un idioma a un altre"
#: libretranslate/locales/.swag.py:5 libretranslate/templates/index.html:222
msgid "Translated text"
msgstr "Text traduït"
#: libretranslate/locales/.swag.py:6
msgid "Invalid request"
msgstr "Petició no vàlida"
#: libretranslate/locales/.swag.py:7
msgid "Translation error"
msgstr "S'ha produït un error de traducció"
#: libretranslate/locales/.swag.py:8
msgid "Slow down"
msgstr ""
#: libretranslate/locales/.swag.py:9
msgid "Banned"
msgstr "Prohibit"
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
msgstr "Hola món!"
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
msgstr "Text(s) a traduir"
#: libretranslate/locales/.swag.py:12
msgid "Source language code"
msgstr "Codi de l'idioma font"
#: libretranslate/locales/.swag.py:13
msgid "Target language code"
msgstr "Codi de l'idioma objectiu"
#: libretranslate/locales/.swag.py:14
msgid "text"
msgstr "text"
#: libretranslate/locales/.swag.py:15
msgid "html"
msgstr "html"
#: libretranslate/locales/.swag.py:16
msgid ""
"Format of source text:\n"
" * `text` - Plain text\n"
" * `html` - HTML markup\n"
msgstr ""
#: libretranslate/locales/.swag.py:17
msgid "API key"
msgstr ""
#: libretranslate/locales/.swag.py:18
msgid "Translate file from a language to another"
msgstr ""
#: libretranslate/locales/.swag.py:19
msgid "Translated file"
msgstr ""
#: libretranslate/locales/.swag.py:20
msgid "File to translate"
msgstr ""
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
msgstr ""
#: libretranslate/locales/.swag.py:22
msgid "Detections"
msgstr ""
#: libretranslate/locales/.swag.py:23
msgid "Detection error"
msgstr ""
#: libretranslate/locales/.swag.py:24
msgid "Text to detect"
msgstr ""
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr ""
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
msgstr ""
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr ""
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
msgstr "Envia un suggeriment per millorar una traducció"
#: libretranslate/locales/.swag.py:29
msgid "Success"
msgstr ""
#: libretranslate/locales/.swag.py:30
msgid "Not authorized"
msgstr ""
#: libretranslate/locales/.swag.py:31
msgid "Original text"
msgstr "Text original"
#: libretranslate/locales/.swag.py:32
msgid "Suggested translation"
msgstr "Traducció suggerida"
#: libretranslate/locales/.swag.py:33
msgid "Language of original text"
msgstr "Idioma del text original"
#: libretranslate/locales/.swag.py:34
msgid "Language of suggested translation"
msgstr ""
#: libretranslate/locales/.swag.py:35
msgid "feedback"
msgstr ""
#: libretranslate/locales/.swag.py:36
msgid "Language code"
msgstr ""
#: libretranslate/locales/.swag.py:37
msgid "Human-readable language name (in English)"
msgstr ""
#: libretranslate/locales/.swag.py:38
msgid "Supported target language codes"
msgstr ""
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr ""
#: libretranslate/locales/.swag.py:40
msgid "Error message"
msgstr ""
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr ""
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
msgstr ""
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr ""
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
msgstr ""
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr ""
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
msgstr ""
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr ""
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
msgstr ""
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
msgstr ""
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
msgstr ""
#: libretranslate/templates/app.js.template:31
#: libretranslate/templates/app.js.template:286
#: libretranslate/templates/app.js.template:290
msgid "Copy text"
msgstr ""
#: libretranslate/templates/app.js.template:80
#: libretranslate/templates/app.js.template:86
#: libretranslate/templates/app.js.template:91
#: libretranslate/templates/app.js.template:273
#: libretranslate/templates/app.js.template:343
#: libretranslate/templates/app.js.template:431
#: libretranslate/templates/app.js.template:479
#, python-format
msgid "Cannot load %(url)s"
msgstr ""
#: libretranslate/templates/app.js.template:264
#: libretranslate/templates/app.js.template:334
#: libretranslate/templates/app.js.template:412
#: libretranslate/templates/app.js.template:423
msgid "Unknown error"
msgstr ""
#: libretranslate/templates/app.js.template:287
msgid "Copied"
msgstr ""
#: libretranslate/templates/app.js.template:331
msgid ""
"Thanks for your correction. Note the suggestion will not take effect "
"right away."
msgstr ""
#: libretranslate/templates/app.js.template:455
msgid "No languages available. Did you install the models correctly?"
msgstr ""
#: libretranslate/templates/app.js.template:522
#, python-format
msgid "Type in your API Key. If you need an API key, %(instructions)s"
msgstr ""
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
msgstr ""
#: libretranslate/templates/app.js.template:522
msgid "contact the server operator."
msgstr ""
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr ""
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr ""
#: libretranslate/templates/index.html:11
msgid "translation"
msgstr ""
#: libretranslate/templates/index.html:11
msgid "api"
msgstr ""
#: libretranslate/templates/index.html:65
msgid "API Docs"
msgstr ""
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr ""
#: libretranslate/templates/index.html:69
msgid "GitHub"
msgstr ""
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr ""
#: libretranslate/templates/index.html:73
msgid "Change language"
msgstr ""
#: libretranslate/templates/index.html:79
msgid "Edit"
msgstr ""
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr ""
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr ""
#: libretranslate/templates/index.html:171
msgid "Translation API"
msgstr ""
#: libretranslate/templates/index.html:175
msgid "Translate Text"
msgstr ""
#: libretranslate/templates/index.html:179
msgid "Translate Files"
msgstr ""
#: libretranslate/templates/index.html:185
msgid "Translate from"
msgstr ""
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr ""
#: libretranslate/templates/index.html:198
msgid "Translate into"
msgstr ""
#: libretranslate/templates/index.html:210
msgid "Text to translate"
msgstr ""
#: libretranslate/templates/index.html:213
msgid "Delete text"
msgstr ""
#: libretranslate/templates/index.html:226
msgid "Suggest translation"
msgstr ""
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr ""
#: libretranslate/templates/index.html:233
msgid "Send"
msgstr ""
#: libretranslate/templates/index.html:249
msgid "Supported file formats:"
msgstr ""
#: libretranslate/templates/index.html:253
msgid "File"
msgstr ""
#: libretranslate/templates/index.html:268
msgid "Remove file"
msgstr ""
#: libretranslate/templates/index.html:275
msgid "Translate"
msgstr ""
#: libretranslate/templates/index.html:276
#: libretranslate/templates/index.html:320
msgid "Download"
msgstr ""
#: libretranslate/templates/index.html:295
msgid "Request"
msgstr ""
#: libretranslate/templates/index.html:300
msgid "Response"
msgstr ""
#: libretranslate/templates/index.html:315
msgid "Open Source Machine Translation API"
msgstr ""
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
msgstr ""
#: libretranslate/templates/index.html:335
msgid "LibreTranslate"
msgstr ""
#: libretranslate/templates/index.html:337
msgid "License:"
msgstr ""
#: libretranslate/templates/index.html:340
#, python-format
msgid ""
"This public API should be used for testing, personal or infrequent use. "
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
#: libretranslate/templates/index.html:340
msgid "host your own server"
msgstr ""
#: libretranslate/templates/index.html:340
msgid "get an API key"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "%(libretranslate)s Contributors"
msgstr ""

View file

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2024-01-10 18:14+0000\n"
"PO-Revision-Date: 2024-01-23 14:01+0000\n"
"Last-Translator: Michal Čihař <michal@weblate.org>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/libretranslate/app/"
"cs/>\n"
@ -395,7 +395,7 @@ msgstr "Podporované cílové jazykové kódy"
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr "Přeložit text(y)"
msgstr "Přeložený text(y)"
#: libretranslate/locales/.swag.py:40
msgid "Error message"
@ -495,7 +495,7 @@ msgstr "obraťte se na provozovatele serveru."
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr "Zadaramo a Open Source API strojového překladu"
msgstr "Zdarma a Open Source API strojového překladu"
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31

View file

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2023-11-18 05:03+0000\n"
"Last-Translator: symegac <97731141+symegac@users.noreply.github.com>\n"
"PO-Revision-Date: 2024-03-25 12:01+0000\n"
"Last-Translator: cat <158170307+cultcats@users.noreply.github.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/libretranslate/"
"app/da/>\n"
"Language: da\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.2\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
@ -27,7 +27,7 @@ msgstr "Ugyldig JSON format"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
msgstr "Autodetektor"
msgstr "Auto detektor"
#: libretranslate/app.py:232
msgid "Unauthorized"
@ -35,7 +35,7 @@ msgstr "Uautoriseret"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
msgstr "For mange anmodninger begrænser overtrædelser"
msgstr "For mange overtrædelser af anmodningsbegrænsninger"
#: libretranslate/app.py:257
msgid "Invalid API key"
@ -43,16 +43,16 @@ msgstr "Ugyldig API-nøgle"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr "Kontakt serveroperatøren for at få en API-nøgle"
msgstr "Kontakt venligst serveroperatøren for at få en API-nøgle"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "Besøg %(url)s at få en API-nøgle"
msgstr "Besøg %(url)s for at få en API-nøgle"
#: libretranslate/app.py:318
msgid "Slowdown:"
msgstr "Langlægning:"
msgstr "Nedbremsning:"
#: libretranslate/app.py:525 libretranslate/app.py:527
#: libretranslate/app.py:529 libretranslate/app.py:741
@ -98,19 +98,19 @@ msgstr "Kan ikke oversætte tekst: %(text)s"
#: libretranslate/app.py:734 libretranslate/app.py:788
msgid "Files translation are disabled on this server."
msgstr "Filer oversættelse er deaktiveret på denne server."
msgstr "File oversættelse er deaktiveret på denne server."
#: libretranslate/app.py:748
msgid "Invalid request: empty file"
msgstr "Ugyldig anmodning: tomt fil"
msgstr "Ugyldig anmodning: tom fil"
#: libretranslate/app.py:751
msgid "Invalid request: file format not supported"
msgstr "Ugyldig anmodning: filformat ikke understøttet"
msgstr "Ugyldig anmodning: filformat understøttes ikke"
#: libretranslate/app.py:796
msgid "Invalid filename"
msgstr "Ugyldig filnavn"
msgstr "Ugyldigt filnavn"
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
@ -142,7 +142,7 @@ msgstr "Dansk"
#: libretranslate/locales/.langs.py:7
msgid "Dutch"
msgstr "Hollandske"
msgstr "Hollandsk"
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
@ -246,7 +246,7 @@ msgstr "Liste over sprog"
#: libretranslate/locales/.swag.py:3
msgid "translate"
msgstr "oversætter"
msgstr "oversæt"
#: libretranslate/locales/.swag.py:4
msgid "Translate text from a language to another"
@ -278,7 +278,7 @@ msgstr "Hej verden!"
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
msgstr "Tekst(er) at oversætte"
msgstr "Tekst(er) til oversættelse"
#: libretranslate/locales/.swag.py:12
msgid "Source language code"
@ -286,7 +286,7 @@ msgstr "Kildesprogkode"
#: libretranslate/locales/.swag.py:13
msgid "Target language code"
msgstr "Målsprogkoder"
msgstr "Målsprogkode"
#: libretranslate/locales/.swag.py:14
msgid "text"
@ -303,7 +303,7 @@ msgid ""
" * `html` - HTML markup\n"
msgstr ""
"Format af kildetekst:\n"
"* 'tekst' - almindeligt tekst\n"
"* 'tekst' - almindelig tekst\n"
"* `html' - HTML-markup\n"
#: libretranslate/locales/.swag.py:17
@ -324,7 +324,7 @@ msgstr "Fil at oversætte"
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
msgstr "Angiv sproget for en enkelt tekst"
msgstr "Registrer sproget i en enkelt tekst"
#: libretranslate/locales/.swag.py:22
msgid "Detections"
@ -336,11 +336,11 @@ msgstr "Registreringsfejl"
#: libretranslate/locales/.swag.py:24
msgid "Text to detect"
msgstr "Tekst at opdage"
msgstr "Tekst at finde"
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr "Hent frontend specifikke indstillinger"
msgstr "Hent frontend-specifikke indstillinger"
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
@ -348,11 +348,11 @@ msgstr "frontend indstillinger"
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr "frontend"
msgstr "grænseflade"
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
msgstr "Indsend et forslag til at forbedre en oversættelse"
msgstr "Indsend et forslag til forbedring af en oversættelse"
#: libretranslate/locales/.swag.py:29
msgid "Success"
@ -360,7 +360,7 @@ msgstr "Succes"
#: libretranslate/locales/.swag.py:30
msgid "Not authorized"
msgstr "Ikke godkendt"
msgstr "Ikke autoriseret"
#: libretranslate/locales/.swag.py:31
msgid "Original text"
@ -376,11 +376,11 @@ msgstr "Originaltekstens sprog"
#: libretranslate/locales/.swag.py:34
msgid "Language of suggested translation"
msgstr "Foreslået oversættelses sprog"
msgstr "Sprog i foreslået oversættelse"
#: libretranslate/locales/.swag.py:35
msgid "feedback"
msgstr "tilbagemelding"
msgstr "feedback"
#: libretranslate/locales/.swag.py:36
msgid "Language code"
@ -392,11 +392,11 @@ msgstr "Menneskeligt læseligt sprognavn (på engelsk)"
#: libretranslate/locales/.swag.py:38
msgid "Supported target language codes"
msgstr "Understøttede sprogkoder"
msgstr "Understøttede målsprogkoder"
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr "Oversat tekst(r)"
msgstr "Oversat tekst(er)"
#: libretranslate/locales/.swag.py:40
msgid "Error message"
@ -404,23 +404,23 @@ msgstr "Fejlmeddelelse"
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr "Reason for langsom ned"
msgstr "Årsag til nedbremsning"
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
msgstr "Oversætt fil url"
msgstr "Oversat fil-url"
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr "Konsekvensværdi"
msgstr "Konfidensværdi"
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
msgstr "Karakterindgangsgrænse for dette sprog (-1 angiver ingen grænse)"
msgstr "Grænse for tegninput for dette sprog (-1 angiver ingen grænse)"
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr "Frontend oversættelsestidspunktout"
msgstr "Timeout for frontend-oversættelse"
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
@ -428,7 +428,7 @@ msgstr "Om API-nøgledatabasen er aktiveret."
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr "Om en API-nøgle kræves."
msgstr "Om en API-nøgle er påkrævet."
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
@ -436,7 +436,7 @@ msgstr "Om indsendelse af forslag er aktiveret."
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
msgstr "Understøttet filformat"
msgstr "Understøttede filformater"
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
@ -475,8 +475,8 @@ msgid ""
"Thanks for your correction. Note the suggestion will not take effect "
"right away."
msgstr ""
"Tak for din korrektion. Bemærk, at forslaget ikke vil tage virkning med "
"det samme."
"Tak for din rettelse. Bemærk, at forslaget ikke vil træde i kraft med det "
"samme."
#: libretranslate/templates/app.js.template:455
msgid "No languages available. Did you install the models correctly?"
@ -498,7 +498,7 @@ msgstr "kontakt serveroperatøren."
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr "Gratis og Open Source Machine Oversættelse API"
msgstr "Gratis og Open Source Maskinoversættelses-API"
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
@ -506,13 +506,13 @@ msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr ""
"Gratis og Open Source Machine Oversættelse API. Self-hosted, offline i "
"stand og let at konfigurere. Kør din egen API-server på blot et par "
"Gratis og Open Source Maskinoversættelses-API. Selv-hosted, kan bruges "
"offline og er let at opsætte. Kør din egen API-server på blot et par "
"minutter."
#: libretranslate/templates/index.html:11
msgid "translation"
msgstr "oversættelse af oversættelse"
msgstr "oversættelse"
#: libretranslate/templates/index.html:11
msgid "api"
@ -524,7 +524,7 @@ msgstr "API Docs"
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr "Få API Nøglenøgle"
msgstr "Få API-nøgle"
#: libretranslate/templates/index.html:69
msgid "GitHub"
@ -532,7 +532,7 @@ msgstr "GitHub"
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr "Indstil API Nøglenøgle"
msgstr "Indstil API-nøgle"
#: libretranslate/templates/index.html:73
msgid "Change language"
@ -540,15 +540,15 @@ msgstr "Skift sprog"
#: libretranslate/templates/index.html:79
msgid "Edit"
msgstr "Rediger redigering"
msgstr "Rediger"
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr "Skift mørke/lysetilstand"
msgstr "Skift mellem mørk/lys tilstand"
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr "Begrænsninger"
msgstr "Afvis"
#: libretranslate/templates/index.html:171
msgid "Translation API"
@ -556,11 +556,11 @@ msgstr "Oversættelses-API"
#: libretranslate/templates/index.html:175
msgid "Translate Text"
msgstr "Oversæt tekst"
msgstr "Oversæt Tekst"
#: libretranslate/templates/index.html:179
msgid "Translate Files"
msgstr "Oversæt filer"
msgstr "Oversæt Filer"
#: libretranslate/templates/index.html:185
msgid "Translate from"
@ -568,7 +568,7 @@ msgstr "Oversæt fra"
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr "Skift kilde- og målsprog"
msgstr "Byt om på kilde- og målsprog"
#: libretranslate/templates/index.html:198
msgid "Translate into"
@ -588,7 +588,7 @@ msgstr "Foreslå oversættelse"
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr "Annuller"
msgstr "annullere"
#: libretranslate/templates/index.html:233
msgid "Send"
@ -613,11 +613,11 @@ msgstr "Oversæt"
#: libretranslate/templates/index.html:276
#: libretranslate/templates/index.html:320
msgid "Download"
msgstr "Download"
msgstr "Hent"
#: libretranslate/templates/index.html:295
msgid "Request"
msgstr "Anmod om forespørgsel"
msgstr "Anmod"
#: libretranslate/templates/index.html:300
msgid "Response"
@ -625,11 +625,11 @@ msgstr "Svar"
#: libretranslate/templates/index.html:315
msgid "Open Source Machine Translation API"
msgstr "Maskinoversættelses-API med åben kildekode"
msgstr "Open Source Maskinoversættelses-API"
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
msgstr "Self-Hosted. Offline Capable. Nem at konfigurere."
msgstr "Selv-Hosted. Kan bruges offline. Nem at opsætte."
#: libretranslate/templates/index.html:335
msgid "LibreTranslate"
@ -646,9 +646,9 @@ msgid ""
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
"Denne offentlige API skal bruges til test, personlig eller sjælden brug. "
"Hvis du vil køre en ansøgning i produktionen, bedes du venligst "
"%(host_server)s eller %(get_api_key)s."
"Denne offentlige API bør bruges til test, personlig eller sjælden brug. Hvis "
"du har tænkt dig at køre en applikation i produktion, venligst %(host_server)"
"s eller %(get_api_key)s."
#: libretranslate/templates/index.html:340
msgid "host your own server"
@ -661,12 +661,12 @@ msgstr "få en API-nøgle"
#: libretranslate/templates/index.html:348
#, python-format
msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s"
msgstr "Lavet med %(heart)s af by %(contributors)s og drevet af %(engine)s"
msgstr "Lavet med %(heart)s af %(contributors)s og drevet af %(engine)s"
#: libretranslate/templates/index.html:348
#, python-format
msgid "%(libretranslate)s Contributors"
msgstr "%(libretranslate)s-bidragsydere"
msgstr "%(libretranslate)s Bidragsydere"
#~ msgid "multipart/form-data"
#~ msgstr "multipart/form-data"

View file

@ -0,0 +1,675 @@
# Translations template for LibreTranslate.
# Copyright (C) 2023 LibreTranslate Authors
# This file is distributed under the same license as the LibreTranslate
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: LibreTranslate 1.3.12\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2024-02-01 18:01+0000\n"
"Last-Translator: Priit Jõerüüt <hwlate@joeruut.com>\n"
"Language-Team: Estonian <https://hosted.weblate.org/projects/libretranslate/"
"app/et/>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.4-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
msgid "Invalid JSON format"
msgstr "Vigane JSON-vorming"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
msgstr "Tuvasta keel automaatselt"
#: libretranslate/app.py:232
msgid "Unauthorized"
msgstr "Pole lubatud"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
msgstr "Liiga palju päringuid ühes ajaühikus"
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "Vigane API võti"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr "Palun küsi serveri haldajalt API võtit"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "API võtme saamiseks palun vaata seda urli - %(url)s"
#: libretranslate/app.py:318
msgid "Slowdown:"
msgstr "Võtame nüüd tempot alla:"
#: libretranslate/app.py:525 libretranslate/app.py:527
#: libretranslate/app.py:529 libretranslate/app.py:741
#: libretranslate/app.py:743 libretranslate/app.py:745
#: libretranslate/app.py:896 libretranslate/app.py:1053
#: libretranslate/app.py:1055 libretranslate/app.py:1057
#: libretranslate/app.py:1059
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr "Vigane päring: puuduv parameeter „%(name)s“"
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr ""
"Vigane päring: päringu (%(size)s) suurus ületab tekstipäringutele lubatud "
"ülempiiri (%(limit)s)"
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
#, python-format
msgid "%(lang)s is not supported"
msgstr "%(lang)s keel ei ole veel tõlgitav"
#: libretranslate/app.py:594
#, python-format
msgid "%(format)s format is not supported"
msgstr "%(format)s vorming ei ole veel toetatud"
#: libretranslate/app.py:602 libretranslate/app.py:626
#, python-format
msgid ""
"%(tname)s (%(tcode)s) is not available as a target language from "
"%(sname)s (%(scode)s)"
msgstr ""
"%(tname)s keel (%(tcode)s) ei ole veel kasutatav sihtkeelena kui lähtekeel "
"on %(sname)s keel (%(scode)s)"
#: libretranslate/app.py:647
#, python-format
msgid "Cannot translate text: %(text)s"
msgstr "Teksti tõlkimine ei õnnestu: %(text)s"
#: libretranslate/app.py:734 libretranslate/app.py:788
msgid "Files translation are disabled on this server."
msgstr "Failide tõlkimine ei ole selles serveris lubatud."
#: libretranslate/app.py:748
msgid "Invalid request: empty file"
msgstr "Vigane päring: tühi fail"
#: libretranslate/app.py:751
msgid "Invalid request: file format not supported"
msgstr "Vigane päring: failivorming pole toetatud"
#: libretranslate/app.py:796
msgid "Invalid filename"
msgstr "Vigane failinimi"
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
msgstr "Tõlkesoovituste võimalus ei ole selles serveris kasutusel."
#: libretranslate/locales/.langs.py:1
msgid "English"
msgstr "inglise"
#: libretranslate/locales/.langs.py:2
msgid "Arabic"
msgstr "araabia"
#: libretranslate/locales/.langs.py:3
msgid "Azerbaijani"
msgstr "aserbaidžaani"
#: libretranslate/locales/.langs.py:4
msgid "Chinese"
msgstr "hiina"
#: libretranslate/locales/.langs.py:5
msgid "Czech"
msgstr "tšehhi"
#: libretranslate/locales/.langs.py:6
msgid "Danish"
msgstr "taani"
#: libretranslate/locales/.langs.py:7
msgid "Dutch"
msgstr "hollandi"
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr "esperanto"
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
msgstr "soome"
#: libretranslate/locales/.langs.py:10
msgid "French"
msgstr "prantsuse"
#: libretranslate/locales/.langs.py:11
msgid "German"
msgstr "saksa"
#: libretranslate/locales/.langs.py:12
msgid "Greek"
msgstr "kreeka"
#: libretranslate/locales/.langs.py:13
msgid "Hebrew"
msgstr "heebrea"
#: libretranslate/locales/.langs.py:14
msgid "Hindi"
msgstr "hindi"
#: libretranslate/locales/.langs.py:15
msgid "Hungarian"
msgstr "ungari"
#: libretranslate/locales/.langs.py:16
msgid "Indonesian"
msgstr "indoneesia"
#: libretranslate/locales/.langs.py:17
msgid "Irish"
msgstr "iiri"
#: libretranslate/locales/.langs.py:18
msgid "Italian"
msgstr "itaalia"
#: libretranslate/locales/.langs.py:19
msgid "Japanese"
msgstr "jaapani"
#: libretranslate/locales/.langs.py:20
msgid "Korean"
msgstr "korea"
#: libretranslate/locales/.langs.py:21
msgid "Persian"
msgstr "pärsia"
#: libretranslate/locales/.langs.py:22
msgid "Polish"
msgstr "poola"
#: libretranslate/locales/.langs.py:23
msgid "Portuguese"
msgstr "portugali"
#: libretranslate/locales/.langs.py:24
msgid "Russian"
msgstr "vene"
#: libretranslate/locales/.langs.py:25
msgid "Slovak"
msgstr "slovaki"
#: libretranslate/locales/.langs.py:26
msgid "Spanish"
msgstr "hispaania"
#: libretranslate/locales/.langs.py:27
msgid "Swedish"
msgstr "rootsi"
#: libretranslate/locales/.langs.py:28
msgid "Turkish"
msgstr "türgi"
#: libretranslate/locales/.langs.py:29
msgid "Ukranian"
msgstr "ukraina"
#: libretranslate/locales/.langs.py:30
msgid "Vietnamese"
msgstr "vietnami"
#: libretranslate/locales/.swag.py:1
msgid "Retrieve list of supported languages"
msgstr "Laadi kasutatavate keelte loend"
#: libretranslate/locales/.swag.py:2
msgid "List of languages"
msgstr "Keelte loend"
#: libretranslate/locales/.swag.py:3
msgid "translate"
msgstr "tõlkimine"
#: libretranslate/locales/.swag.py:4
msgid "Translate text from a language to another"
msgstr "Tõlgi tekst ühest keelest teise"
#: libretranslate/locales/.swag.py:5 libretranslate/templates/index.html:222
msgid "Translated text"
msgstr "Tõlgitud tekst"
#: libretranslate/locales/.swag.py:6
msgid "Invalid request"
msgstr "Vigane päring"
#: libretranslate/locales/.swag.py:7
msgid "Translation error"
msgstr "Tõlkeviga"
#: libretranslate/locales/.swag.py:8
msgid "Slow down"
msgstr "Aeglustame päringuid"
#: libretranslate/locales/.swag.py:9
msgid "Banned"
msgstr "Keelatud"
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
msgstr "Tere maailm!"
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
msgstr "Tõlgitav tekst"
#: libretranslate/locales/.swag.py:12
msgid "Source language code"
msgstr "Lähtekeele kood"
#: libretranslate/locales/.swag.py:13
msgid "Target language code"
msgstr "Tõlkekeele kood"
#: libretranslate/locales/.swag.py:14
msgid "text"
msgstr "tekst"
#: libretranslate/locales/.swag.py:15
msgid "html"
msgstr "html"
#: libretranslate/locales/.swag.py:16
msgid ""
"Format of source text:\n"
" * `text` - Plain text\n"
" * `html` - HTML markup\n"
msgstr ""
"Lähteteksti vorming:\n"
" * `text` - vormindamata tekst\n"
" * `html` - HTML-vormingus tekst\n"
#: libretranslate/locales/.swag.py:17
msgid "API key"
msgstr "API võti"
#: libretranslate/locales/.swag.py:18
msgid "Translate file from a language to another"
msgstr "Tõlgi fail ühest keelest teise"
#: libretranslate/locales/.swag.py:19
msgid "Translated file"
msgstr "Tõlgitud fail"
#: libretranslate/locales/.swag.py:20
msgid "File to translate"
msgstr "Tõlgitav fail"
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
msgstr "Tuvasta ühe teksti keel"
#: libretranslate/locales/.swag.py:22
msgid "Detections"
msgstr "Tuvastamise tulemused"
#: libretranslate/locales/.swag.py:23
msgid "Detection error"
msgstr "Viga tuvastamisel"
#: libretranslate/locales/.swag.py:24
msgid "Text to detect"
msgstr "Tekst, kust peaksime keele tuvastama"
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr "Päring kasutajaliidese seadistuste vaatamiseks"
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
msgstr "kasutajaliidese seadistused"
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr "kasutajaliides"
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
msgstr "Võimalus ettepanekute saatmiseks tõlke parandamise nimel"
#: libretranslate/locales/.swag.py:29
msgid "Success"
msgstr "Päring õnnestus"
#: libretranslate/locales/.swag.py:30
msgid "Not authorized"
msgstr "Päring pole lubatud"
#: libretranslate/locales/.swag.py:31
msgid "Original text"
msgstr "Lähtetekst"
#: libretranslate/locales/.swag.py:32
msgid "Suggested translation"
msgstr "Ettepanek tõlke parandamiseks"
#: libretranslate/locales/.swag.py:33
msgid "Language of original text"
msgstr "Teksti lähtekeel"
#: libretranslate/locales/.swag.py:34
msgid "Language of suggested translation"
msgstr "Teksti tõlkekeel"
#: libretranslate/locales/.swag.py:35
msgid "feedback"
msgstr "tagasiside"
#: libretranslate/locales/.swag.py:36
msgid "Language code"
msgstr "Keelekood"
#: libretranslate/locales/.swag.py:37
msgid "Human-readable language name (in English)"
msgstr "Inimloetav keele nimi (inglise keeles)"
#: libretranslate/locales/.swag.py:38
msgid "Supported target language codes"
msgstr "Tõetatud tõlkekeelte koodid"
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr "Tõlgitud tekst(id)"
#: libretranslate/locales/.swag.py:40
msgid "Error message"
msgstr "Veateade"
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr "Päringute aeglustamise põhjus"
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
msgstr "Tõlgitud faili url"
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr "Usaldusväärsuse väärtus"
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
msgstr ""
"Lähteteksti tähemärkide mahu ülempiir selle keele kohta (-1 märgib ülempiiri "
"puudumist)"
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr "Tõlkepäringu aegumine kasutajaliideses"
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
msgstr "Kas API võtmete andmebaas on kasutusel."
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr "Kas API võtme kasutamine on nõutav."
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
msgstr "Kas tõlkesoovituste saatmine on kasutusel."
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
msgstr "Toetatud failivormingud"
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
msgstr "Kas tõlkesoovituse saatmine õnnstus"
#: libretranslate/templates/app.js.template:31
#: libretranslate/templates/app.js.template:286
#: libretranslate/templates/app.js.template:290
msgid "Copy text"
msgstr "Kopeeri tekst"
#: libretranslate/templates/app.js.template:80
#: libretranslate/templates/app.js.template:86
#: libretranslate/templates/app.js.template:91
#: libretranslate/templates/app.js.template:273
#: libretranslate/templates/app.js.template:343
#: libretranslate/templates/app.js.template:431
#: libretranslate/templates/app.js.template:479
#, python-format
msgid "Cannot load %(url)s"
msgstr "%(url)s urli laadimine ei õnnestunud"
#: libretranslate/templates/app.js.template:264
#: libretranslate/templates/app.js.template:334
#: libretranslate/templates/app.js.template:412
#: libretranslate/templates/app.js.template:423
msgid "Unknown error"
msgstr "Tundmatu viga"
#: libretranslate/templates/app.js.template:287
msgid "Copied"
msgstr "Kopeeritud"
#: libretranslate/templates/app.js.template:331
msgid ""
"Thanks for your correction. Note the suggestion will not take effect "
"right away."
msgstr ""
"Täname tõlke parandusettepaneku eest. Palun arvesta, et ta ei tule koheselt "
"kasutusele."
#: libretranslate/templates/app.js.template:455
msgid "No languages available. Did you install the models correctly?"
msgstr ""
"Ühtegi keelt pole saadaval. Kas sa keelemudelid paigaldasid korrektselt?"
#: libretranslate/templates/app.js.template:522
#, python-format
msgid "Type in your API Key. If you need an API key, %(instructions)s"
msgstr "Sisesta siia oma API võti. Kui sul API võti on puudu, %(instructions)s"
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
msgstr "klõpsi linki „Osta API võti“."
#: libretranslate/templates/app.js.template:522
msgid "contact the server operator."
msgstr "võta ühendust serveri haldajaga."
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr "Vaba ja avatud lähtekoodiga masintõlke API"
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr ""
"Vaba ja avatud lähtekoodiga masintõlke API. Majutatav oma serveris, toimib "
"ka võrguühenduseta ja on hõlpsasti seadistatav. Võta oma API server "
"kasutusele vaid mõne minutiga."
#: libretranslate/templates/index.html:11
msgid "translation"
msgstr "tõlge"
#: libretranslate/templates/index.html:11
msgid "api"
msgstr "api"
#: libretranslate/templates/index.html:65
msgid "API Docs"
msgstr "API kirjeldus"
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr "Osta API võti"
#: libretranslate/templates/index.html:69
msgid "GitHub"
msgstr "GitHub"
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr "Lisa API võti"
#: libretranslate/templates/index.html:73
msgid "Change language"
msgstr "Vaheta keelt"
#: libretranslate/templates/index.html:79
msgid "Edit"
msgstr "Muuda"
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr "Vaheta kujundust: tume/hele"
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr "Loobu"
#: libretranslate/templates/index.html:171
msgid "Translation API"
msgstr "TõlkeAPI"
#: libretranslate/templates/index.html:175
msgid "Translate Text"
msgstr "Tõlgi teksti"
#: libretranslate/templates/index.html:179
msgid "Translate Files"
msgstr "Tõlgi faile"
#: libretranslate/templates/index.html:185
msgid "Translate from"
msgstr "Lähtekeel"
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr "Vaheta lähte- ja tõlkekeeled"
#: libretranslate/templates/index.html:198
msgid "Translate into"
msgstr "Tõlkekeel"
#: libretranslate/templates/index.html:210
msgid "Text to translate"
msgstr "Tõlgitav tekst"
#: libretranslate/templates/index.html:213
msgid "Delete text"
msgstr "Kustuta tekst"
#: libretranslate/templates/index.html:226
msgid "Suggest translation"
msgstr "Soovita paremat tõlget"
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr "Katkesta"
#: libretranslate/templates/index.html:233
msgid "Send"
msgstr "Saada"
#: libretranslate/templates/index.html:249
msgid "Supported file formats:"
msgstr "Kasutatavad failivormingud:"
#: libretranslate/templates/index.html:253
msgid "File"
msgstr "Fail"
#: libretranslate/templates/index.html:268
msgid "Remove file"
msgstr "Eemalda fail"
#: libretranslate/templates/index.html:275
msgid "Translate"
msgstr "Tõlgi"
#: libretranslate/templates/index.html:276
#: libretranslate/templates/index.html:320
msgid "Download"
msgstr "Laadi alla"
#: libretranslate/templates/index.html:295
msgid "Request"
msgstr "Päring"
#: libretranslate/templates/index.html:300
msgid "Response"
msgstr "Vastus"
#: libretranslate/templates/index.html:315
msgid "Open Source Machine Translation API"
msgstr "Avatud lähtekoodiga masintõlke API"
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
msgstr ""
"Majutatav oma serveris. Toimib ka võrguühenduseta. Hõlpsasti seadistatav."
#: libretranslate/templates/index.html:335
msgid "LibreTranslate"
msgstr "LibreTranslate"
#: libretranslate/templates/index.html:337
msgid "License:"
msgstr "Litsents:"
#: libretranslate/templates/index.html:340
#, python-format
msgid ""
"This public API should be used for testing, personal or infrequent use. "
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
"Palun kasuta seda avalikku API't testimiseks, isiklikel eesmärkidel või "
"muudel harvadel juhtudel. Kui tahad kasutada API't mõnes "
"produktsioonirakenduses, siis palun %(host_server)s või %(get_api_key)s."
#: libretranslate/templates/index.html:340
msgid "host your own server"
msgstr "pane püsti oma server"
#: libretranslate/templates/index.html:340
msgid "get an API key"
msgstr "või osta meie serveri API võti"
#: libretranslate/templates/index.html:348
#, python-format
msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s"
msgstr ""
"Tehtud suure %(heart)s'ga, millesse panustasid %(contributors)s ning "
"sisulise töö teeb ära %(engine)s"
#: libretranslate/templates/index.html:348
#, python-format
msgid "%(libretranslate)s Contributors"
msgstr "%(libretranslate)s kaasautorid"

View file

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2023-12-26 21:08+0000\n"
"Last-Translator: Moji Norouzi zadeh <mnz1988@aol.com>\n"
"PO-Revision-Date: 2024-04-07 09:57+0000\n"
"Last-Translator: Ilya <ilyagvc2@gmail.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/libretranslate/"
"app/fa/>\n"
"Language: fa\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.4-dev\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
@ -62,14 +62,13 @@ msgstr "کاهش سرعت:"
#: libretranslate/app.py:1059
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr "درخواست نامعتبر است: پارامتر %(name)s وجود ندارد"
msgstr "درخواست نامعتبر: پارامتر %(name)s وجود ندارد"
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr ""
"درخواست نامعتبر است: درخواست (%(size)s) از محدودیت متنی (%(limit)s) فراتر"
" رفت"
"درخواست نامعتبر: درخواست (%(size)s) از محدودیت متنی (%(limit)s) فراتر رفت"
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
@ -88,8 +87,8 @@ msgid ""
"%(tname)s (%(tcode)s) is not available as a target language from "
"%(sname)s (%(scode)s)"
msgstr ""
"(%(tcode)s) (%(tname)s) از (%(scode)s) (%(sname)s)به‌عنوان یک زبان هدف در"
" دسترس نیست"
"(%(tcode)s) (%(tname)s) از (%(scode)s) (%(sname)s) به عنوان یک زبان هدف در "
"دسترس نیست"
#: libretranslate/app.py:647
#, python-format
@ -134,7 +133,7 @@ msgstr "چینی"
#: libretranslate/locales/.langs.py:5
msgid "Czech"
msgstr "چکی"
msgstr "(کشور) چک"
#: libretranslate/locales/.langs.py:6
msgid "Danish"
@ -198,7 +197,7 @@ msgstr "کره‌ای"
#: libretranslate/locales/.langs.py:21
msgid "Persian"
msgstr "فارسی"
msgstr "پارسی"
#: libretranslate/locales/.langs.py:22
msgid "Polish"
@ -304,7 +303,7 @@ msgid ""
msgstr ""
"فرمت متن منبع:\n"
"* text - متن ساده\n"
"* html - کدهای اچ تی ام ال\n"
"* html - حالت های html\n"
#: libretranslate/locales/.swag.py:17
msgid "API key"
@ -340,15 +339,15 @@ msgstr "متن برای شناسایی"
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr "بازیابی تنظیمات ویژه نما"
msgstr "بازیابی تنظیمات ظاهری ویژه"
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
msgstr "تنظیمات صفحه نما"
msgstr "تنظیمات ظاهری"
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr "صفحه نما"
msgstr "نما ظاهری"
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
@ -356,7 +355,7 @@ msgstr "پیشنهادی برای بهبود ترجمه ثبت نمایید"
#: libretranslate/locales/.swag.py:29
msgid "Success"
msgstr "موفقیت‌آمیز بود"
msgstr "موفقیت‌آمیز"
#: libretranslate/locales/.swag.py:30
msgid "Not authorized"
@ -416,11 +415,11 @@ msgstr "ضریب اطمینان"
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
msgstr "محدودیت کاراکتر برای این زبان (-1 یعنی بدون محدودیتت)"
msgstr "محدودیت کاراکتر برای این زبان (-1 یعنی بدون محدودیت)"
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr "محدودیت زمانی ترجمه برای صفحه نما"
msgstr "محدودیت زمانی ترجمه برای نمای ظاهری"
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
@ -436,7 +435,7 @@ msgstr "اینکه (آیا) ارسال پیشنهادات ممکن است."
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
msgstr "قالب فایل‌های پشتیبانی شده"
msgstr "فرمت فایل‌های پشتیبانی شده"
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
@ -491,7 +490,7 @@ msgstr ""
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
msgstr "بر روی \"دریافت کلید API\" کلیک کنید."
msgstr "بر روی لینک \"دریافت کلید API\" کلیک کنید."
#: libretranslate/templates/app.js.template:522
msgid "contact the server operator."
@ -529,7 +528,7 @@ msgstr "دریافت کلید API"
#: libretranslate/templates/index.html:69
msgid "GitHub"
msgstr "گیتهاب"
msgstr "گیتهاب"
#: libretranslate/templates/index.html:71
msgid "Set API Key"
@ -545,7 +544,7 @@ msgstr "ویرایش"
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr "تغییر به حالت تیره / روشن"
msgstr "تغییر به حالت تیره/روشن"
#: libretranslate/templates/index.html:157
msgid "Dismiss"
@ -647,13 +646,13 @@ msgid ""
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
"این API عمومی باید برای آزمایش، کاربری شخصی یا اختصاصی است. اگر قرار است "
"این API عمومی باید برای آزمایش، استفاده شخصی یا اختصاصی است. اگر قرار است "
"برنامه‌ای که برای محصول است با آن اجرا کنید، لطفا %(host_server)s یا "
"%(get_api_key)s."
#: libretranslate/templates/index.html:340
msgid "host your own server"
msgstr "سرور خود را میزبانی کنید"
msgstr "در سرور خود میزبانی کنید"
#: libretranslate/templates/index.html:340
msgid "get an API key"

View file

@ -0,0 +1,660 @@
# Translations template for LibreTranslate.
# Copyright (C) 2023 LibreTranslate Authors
# This file is distributed under the same license as the LibreTranslate
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: LibreTranslate 1.3.12\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2024-04-03 08:46+0000\n"
"Last-Translator: searinminecraft <114207889+searinminecraft@users.noreply."
"github.com>\n"
"Language-Team: Filipino <https://hosted.weblate.org/projects/libretranslate/"
"app/fil/>\n"
"Language: fil\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 "
"|| n % 10 == 6 || n % 10 == 9);\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
msgid "Invalid JSON format"
msgstr "Hindi wastong JSON format"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
msgstr "I-auto Detect"
#: libretranslate/app.py:232
msgid "Unauthorized"
msgstr "Hindi awtorisado"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
msgstr "Masyadong maraming paglalabag sa limitasyon ng hiling"
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "Hindi wastong API key"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr "Makipag-ugnayan sa operator ng server para makakuha ng API key"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "Bisitahin ang %(url)s para makakuha ng API key"
#: libretranslate/app.py:318
msgid "Slowdown:"
msgstr "Slowdown:"
#: libretranslate/app.py:525 libretranslate/app.py:527
#: libretranslate/app.py:529 libretranslate/app.py:741
#: libretranslate/app.py:743 libretranslate/app.py:745
#: libretranslate/app.py:896 libretranslate/app.py:1053
#: libretranslate/app.py:1055 libretranslate/app.py:1057
#: libretranslate/app.py:1059
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr "Hindi wastong hiling: nawawalang %(name)s na parameter"
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr ""
"Hindi wastong hiling: lumalagpas ang hiling (%(size)s) ang limitasyon ng "
"text (%(limit)s)"
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
#, python-format
msgid "%(lang)s is not supported"
msgstr "Hindi sinusuportahan ang %(lang)s"
#: libretranslate/app.py:594
#, python-format
msgid "%(format)s format is not supported"
msgstr "Hindi sinusuportahan ang %(format)s na format"
#: libretranslate/app.py:602 libretranslate/app.py:626
#, python-format
msgid ""
"%(tname)s (%(tcode)s) is not available as a target language from "
"%(sname)s (%(scode)s)"
msgstr ""
"Ang %(tname)s (%(tcode)s) ay hindi available bilang target na wika galing sa "
"%(sname)s (%(scode)s)"
#: libretranslate/app.py:647
#, python-format
msgid "Cannot translate text: %(text)s"
msgstr "Hindi masalin ang text: %(text)s"
#: libretranslate/app.py:734 libretranslate/app.py:788
msgid "Files translation are disabled on this server."
msgstr "Ang pagsalin ng file ay naka-disable sa server na ito."
#: libretranslate/app.py:748
msgid "Invalid request: empty file"
msgstr "Hindi wastong hiling: walang laman na file"
#: libretranslate/app.py:751
msgid "Invalid request: file format not supported"
msgstr "Hindi wastong hiling: hindi sinusuportahan ang file format"
#: libretranslate/app.py:796
msgid "Invalid filename"
msgstr "Hindi wastong filename"
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
msgstr "Naka-disable ang mga mungkahi sa server na ito."
#: libretranslate/locales/.langs.py:1
msgid "English"
msgstr ""
#: libretranslate/locales/.langs.py:2
msgid "Arabic"
msgstr ""
#: libretranslate/locales/.langs.py:3
msgid "Azerbaijani"
msgstr ""
#: libretranslate/locales/.langs.py:4
msgid "Chinese"
msgstr ""
#: libretranslate/locales/.langs.py:5
msgid "Czech"
msgstr ""
#: libretranslate/locales/.langs.py:6
msgid "Danish"
msgstr ""
#: libretranslate/locales/.langs.py:7
msgid "Dutch"
msgstr ""
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr ""
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
msgstr ""
#: libretranslate/locales/.langs.py:10
msgid "French"
msgstr ""
#: libretranslate/locales/.langs.py:11
msgid "German"
msgstr ""
#: libretranslate/locales/.langs.py:12
msgid "Greek"
msgstr ""
#: libretranslate/locales/.langs.py:13
msgid "Hebrew"
msgstr ""
#: libretranslate/locales/.langs.py:14
msgid "Hindi"
msgstr ""
#: libretranslate/locales/.langs.py:15
msgid "Hungarian"
msgstr ""
#: libretranslate/locales/.langs.py:16
msgid "Indonesian"
msgstr ""
#: libretranslate/locales/.langs.py:17
msgid "Irish"
msgstr ""
#: libretranslate/locales/.langs.py:18
msgid "Italian"
msgstr ""
#: libretranslate/locales/.langs.py:19
msgid "Japanese"
msgstr ""
#: libretranslate/locales/.langs.py:20
msgid "Korean"
msgstr ""
#: libretranslate/locales/.langs.py:21
msgid "Persian"
msgstr ""
#: libretranslate/locales/.langs.py:22
msgid "Polish"
msgstr ""
#: libretranslate/locales/.langs.py:23
msgid "Portuguese"
msgstr ""
#: libretranslate/locales/.langs.py:24
msgid "Russian"
msgstr ""
#: libretranslate/locales/.langs.py:25
msgid "Slovak"
msgstr ""
#: libretranslate/locales/.langs.py:26
msgid "Spanish"
msgstr ""
#: libretranslate/locales/.langs.py:27
msgid "Swedish"
msgstr ""
#: libretranslate/locales/.langs.py:28
msgid "Turkish"
msgstr ""
#: libretranslate/locales/.langs.py:29
msgid "Ukranian"
msgstr ""
#: libretranslate/locales/.langs.py:30
msgid "Vietnamese"
msgstr ""
#: libretranslate/locales/.swag.py:1
msgid "Retrieve list of supported languages"
msgstr "Kunin ang listahan ng mga sinusuportahang wika"
#: libretranslate/locales/.swag.py:2
msgid "List of languages"
msgstr "Listahan ng mga wika"
#: libretranslate/locales/.swag.py:3
msgid "translate"
msgstr ""
#: libretranslate/locales/.swag.py:4
msgid "Translate text from a language to another"
msgstr ""
#: libretranslate/locales/.swag.py:5 libretranslate/templates/index.html:222
msgid "Translated text"
msgstr ""
#: libretranslate/locales/.swag.py:6
msgid "Invalid request"
msgstr ""
#: libretranslate/locales/.swag.py:7
msgid "Translation error"
msgstr ""
#: libretranslate/locales/.swag.py:8
msgid "Slow down"
msgstr ""
#: libretranslate/locales/.swag.py:9
msgid "Banned"
msgstr ""
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
msgstr ""
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
msgstr ""
#: libretranslate/locales/.swag.py:12
msgid "Source language code"
msgstr ""
#: libretranslate/locales/.swag.py:13
msgid "Target language code"
msgstr ""
#: libretranslate/locales/.swag.py:14
msgid "text"
msgstr ""
#: libretranslate/locales/.swag.py:15
msgid "html"
msgstr ""
#: libretranslate/locales/.swag.py:16
msgid ""
"Format of source text:\n"
" * `text` - Plain text\n"
" * `html` - HTML markup\n"
msgstr ""
#: libretranslate/locales/.swag.py:17
msgid "API key"
msgstr ""
#: libretranslate/locales/.swag.py:18
msgid "Translate file from a language to another"
msgstr ""
#: libretranslate/locales/.swag.py:19
msgid "Translated file"
msgstr ""
#: libretranslate/locales/.swag.py:20
msgid "File to translate"
msgstr ""
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
msgstr ""
#: libretranslate/locales/.swag.py:22
msgid "Detections"
msgstr ""
#: libretranslate/locales/.swag.py:23
msgid "Detection error"
msgstr ""
#: libretranslate/locales/.swag.py:24
msgid "Text to detect"
msgstr ""
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr ""
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
msgstr ""
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr ""
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
msgstr ""
#: libretranslate/locales/.swag.py:29
msgid "Success"
msgstr ""
#: libretranslate/locales/.swag.py:30
msgid "Not authorized"
msgstr ""
#: libretranslate/locales/.swag.py:31
msgid "Original text"
msgstr ""
#: libretranslate/locales/.swag.py:32
msgid "Suggested translation"
msgstr ""
#: libretranslate/locales/.swag.py:33
msgid "Language of original text"
msgstr ""
#: libretranslate/locales/.swag.py:34
msgid "Language of suggested translation"
msgstr ""
#: libretranslate/locales/.swag.py:35
msgid "feedback"
msgstr ""
#: libretranslate/locales/.swag.py:36
msgid "Language code"
msgstr ""
#: libretranslate/locales/.swag.py:37
msgid "Human-readable language name (in English)"
msgstr ""
#: libretranslate/locales/.swag.py:38
msgid "Supported target language codes"
msgstr ""
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr ""
#: libretranslate/locales/.swag.py:40
msgid "Error message"
msgstr ""
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr ""
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
msgstr ""
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr ""
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
msgstr ""
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr ""
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
msgstr ""
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr ""
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
msgstr ""
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
msgstr ""
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
msgstr ""
#: libretranslate/templates/app.js.template:31
#: libretranslate/templates/app.js.template:286
#: libretranslate/templates/app.js.template:290
msgid "Copy text"
msgstr ""
#: libretranslate/templates/app.js.template:80
#: libretranslate/templates/app.js.template:86
#: libretranslate/templates/app.js.template:91
#: libretranslate/templates/app.js.template:273
#: libretranslate/templates/app.js.template:343
#: libretranslate/templates/app.js.template:431
#: libretranslate/templates/app.js.template:479
#, python-format
msgid "Cannot load %(url)s"
msgstr ""
#: libretranslate/templates/app.js.template:264
#: libretranslate/templates/app.js.template:334
#: libretranslate/templates/app.js.template:412
#: libretranslate/templates/app.js.template:423
msgid "Unknown error"
msgstr ""
#: libretranslate/templates/app.js.template:287
msgid "Copied"
msgstr ""
#: libretranslate/templates/app.js.template:331
msgid ""
"Thanks for your correction. Note the suggestion will not take effect "
"right away."
msgstr ""
#: libretranslate/templates/app.js.template:455
msgid "No languages available. Did you install the models correctly?"
msgstr ""
#: libretranslate/templates/app.js.template:522
#, python-format
msgid "Type in your API Key. If you need an API key, %(instructions)s"
msgstr ""
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
msgstr ""
#: libretranslate/templates/app.js.template:522
msgid "contact the server operator."
msgstr ""
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr ""
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr ""
#: libretranslate/templates/index.html:11
msgid "translation"
msgstr ""
#: libretranslate/templates/index.html:11
msgid "api"
msgstr ""
#: libretranslate/templates/index.html:65
msgid "API Docs"
msgstr ""
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr ""
#: libretranslate/templates/index.html:69
msgid "GitHub"
msgstr ""
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr ""
#: libretranslate/templates/index.html:73
msgid "Change language"
msgstr ""
#: libretranslate/templates/index.html:79
msgid "Edit"
msgstr ""
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr ""
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr ""
#: libretranslate/templates/index.html:171
msgid "Translation API"
msgstr ""
#: libretranslate/templates/index.html:175
msgid "Translate Text"
msgstr ""
#: libretranslate/templates/index.html:179
msgid "Translate Files"
msgstr ""
#: libretranslate/templates/index.html:185
msgid "Translate from"
msgstr ""
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr ""
#: libretranslate/templates/index.html:198
msgid "Translate into"
msgstr ""
#: libretranslate/templates/index.html:210
msgid "Text to translate"
msgstr ""
#: libretranslate/templates/index.html:213
msgid "Delete text"
msgstr ""
#: libretranslate/templates/index.html:226
msgid "Suggest translation"
msgstr ""
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr ""
#: libretranslate/templates/index.html:233
msgid "Send"
msgstr ""
#: libretranslate/templates/index.html:249
msgid "Supported file formats:"
msgstr ""
#: libretranslate/templates/index.html:253
msgid "File"
msgstr ""
#: libretranslate/templates/index.html:268
msgid "Remove file"
msgstr ""
#: libretranslate/templates/index.html:275
msgid "Translate"
msgstr ""
#: libretranslate/templates/index.html:276
#: libretranslate/templates/index.html:320
msgid "Download"
msgstr ""
#: libretranslate/templates/index.html:295
msgid "Request"
msgstr ""
#: libretranslate/templates/index.html:300
msgid "Response"
msgstr ""
#: libretranslate/templates/index.html:315
msgid "Open Source Machine Translation API"
msgstr ""
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
msgstr ""
#: libretranslate/templates/index.html:335
msgid "LibreTranslate"
msgstr ""
#: libretranslate/templates/index.html:337
msgid "License:"
msgstr ""
#: libretranslate/templates/index.html:340
#, python-format
msgid ""
"This public API should be used for testing, personal or infrequent use. "
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
#: libretranslate/templates/index.html:340
msgid "host your own server"
msgstr ""
#: libretranslate/templates/index.html:340
msgid "get an API key"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "%(libretranslate)s Contributors"
msgstr ""

View file

@ -9,24 +9,25 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2023-09-23 14:04+0000\n"
"Last-Translator: ShareASmile <aapshergill@gmail.com>\n"
"PO-Revision-Date: 2024-02-24 17:01+0000\n"
"Last-Translator: Scrambled777 <weblate.scrambled777@simplelogin.com>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/libretranslate/app/"
"hi/>\n"
"Language: hi\n"
"Language-Team: Hindi "
"<https://hosted.weblate.org/projects/libretranslate/app/hi/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
msgid "Invalid JSON format"
msgstr "Invalid JSON प्रारूप"
msgstr "अमान्य JSON प्रारूप"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
msgstr "ऑटो"
msgstr "ऑटो डिटेक्ट करें"
#: libretranslate/app.py:232
msgid "Unauthorized"
@ -38,20 +39,20 @@ msgstr "बहुत से अनुरोध सीमा उल्लंघ
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "Invalid API key"
msgstr "अमान्य API कुंजी"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr "एपीआई कुंजी प्राप्त करने के लिए सर्वर ऑपरेटर से संपर्क करें"
msgstr "API कुंजी प्राप्त करने के लिए कृपया सर्वर ऑपरेटर से संपर्क करें"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "यात्रा %(url)s एक API कुंजी प्राप्त करने के लिए"
msgstr "API कुंजी प्राप्त करने के लिए %(url)s पर जाएं"
#: libretranslate/app.py:318
msgid "Slowdown:"
msgstr "नीचे:"
msgstr "गति कम करो:"
#: libretranslate/app.py:525 libretranslate/app.py:527
#: libretranslate/app.py:529 libretranslate/app.py:741
@ -61,12 +62,12 @@ msgstr "नीचे:"
#: libretranslate/app.py:1059
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr "अवैध अनुरोध: लापता %(name)s पैरामीटर"
msgstr "अमान्य अनुरोध: %(name)s पैरामीटर अनुपलब्ध है"
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr "अनुरोध%(size)s) पाठ सीमा से अधिक है (%(limit)s)"
msgstr "अमान्य अनुरोध: अनुरोध (%(size)s) पाठ सीमा (%(limit)s) से अधिक है"
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
@ -107,7 +108,7 @@ msgstr "अमान्य अनुरोध: फ़ाइल प्रार
#: libretranslate/app.py:796
msgid "Invalid filename"
msgstr "Invalid filename"
msgstr "अमान्य फ़ाइलनाम"
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
@ -143,7 +144,7 @@ msgstr "डच"
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr "एस्परांतो"
msgstr "एस्परांतो"
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
@ -227,7 +228,7 @@ msgstr "तुर्की"
#: libretranslate/locales/.langs.py:29
msgid "Ukranian"
msgstr "यूनानी"
msgstr "यूक्रेनी"
#: libretranslate/locales/.langs.py:30
msgid "Vietnamese"
@ -263,15 +264,15 @@ msgstr "अनुवाद त्रुटि"
#: libretranslate/locales/.swag.py:8
msgid "Slow down"
msgstr "नीचे"
msgstr "गति कम करो"
#: libretranslate/locales/.swag.py:9
msgid "Banned"
msgstr "बंधा"
msgstr "प्रतिबंधित"
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
msgstr "नमस्कार!"
msgstr "नमस्ते दुनिया!"
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
@ -291,7 +292,7 @@ msgstr "पाठ"
#: libretranslate/locales/.swag.py:15
msgid "html"
msgstr "एचटीएमएल"
msgstr "html"
#: libretranslate/locales/.swag.py:16
msgid ""
@ -300,8 +301,8 @@ msgid ""
" * `html` - HTML markup\n"
msgstr ""
"स्रोत पाठ का प्रारूप:\n"
"* `text` - सादा पाठ\n"
"एचटीएमएल\n"
" * `पाठ` - सादा पाठ\n"
" * `html` - HTML मार्कअप\n"
#: libretranslate/locales/.swag.py:17
msgid "API key"
@ -337,15 +338,15 @@ msgstr "डिटेक्ट करने के लिए पाठ"
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr "Retrieve frontend विशिष्ट सेटिंग्स"
msgstr "Frontend विशिष्ट सेटिंग्स पुनर्प्राप्त करें"
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
msgstr "फ्रंटएंड सेटिंग्स"
msgstr "Frontend सेटिंग्स"
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr "फ्रंटएंड"
msgstr "Frontend"
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
@ -393,7 +394,7 @@ msgstr "समर्थित लक्ष्य भाषा कोड"
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr "अनुवादित पाठ(s)"
msgstr "अनुवादित पाठ(ओं)"
#: libretranslate/locales/.swag.py:40
msgid "Error message"
@ -401,15 +402,15 @@ msgstr "त्रुटि संदेश"
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr "धीमा करने के लिए कारण"
msgstr "गति धीमी होने का कारण"
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
msgstr "अनुवादित फ़ाइल यूआरएल"
msgstr "अनुवादित फ़ाइल url"
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr "गोपनीयता नीति"
msgstr "आत्मविश्वास मूल्य"
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
@ -417,15 +418,15 @@ msgstr "इस भाषा के लिए चरित्र इनपुट
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr "फ्रंटेंड अनुवाद टाइमआउट"
msgstr "Frontend अनुवाद टाइमआउट"
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
msgstr "क्या एपीआई कुंजी डेटाबेस सक्षम है।."
msgstr "क्या API कुंजी डेटाबेस सक्षम है।।"
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr "क्या एक एपीआई कुंजी की आवश्यकता है।."
msgstr "क्या एक API कुंजी की आवश्यकता है।।"
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
@ -437,7 +438,7 @@ msgstr "समर्थित फाइलें प्रारूप"
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
msgstr "चाहे जमा करना सफल हो"
msgstr "क्या सबमिशन सफल रहा"
#: libretranslate/templates/app.js.template:31
#: libretranslate/templates/app.js.template:286
@ -454,7 +455,7 @@ msgstr "पाठ कॉपी करें"
#: libretranslate/templates/app.js.template:479
#, python-format
msgid "Cannot load %(url)s"
msgstr "Cannot लोड %(url)s"
msgstr "%(url)s लोड नहीं किया जा सकता"
#: libretranslate/templates/app.js.template:264
#: libretranslate/templates/app.js.template:334
@ -465,7 +466,7 @@ msgstr "अज्ञात त्रुटि"
#: libretranslate/templates/app.js.template:287
msgid "Copied"
msgstr "Copied"
msgstr "कॉपी किया गया"
#: libretranslate/templates/app.js.template:331
msgid ""
@ -481,12 +482,12 @@ msgstr "कोई भाषा उपलब्ध नहीं है। क्
#, python-format
msgid "Type in your API Key. If you need an API key, %(instructions)s"
msgstr ""
"अपने एपीआई कुंजी में टाइप करें। यदि आपको API कुंजी की आवश्यकता है, "
"अपने API कुंजी में टाइप करें। यदि आपको API कुंजी की आवश्यकता है, "
"%(instructions)s"
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
msgstr "\"Get API कुंजी\" लिंक दबाएँ।."
msgstr "\"API कुंजी प्राप्त करें\" लिंक दबाएं।"
#: libretranslate/templates/app.js.template:522
msgid "contact the server operator."
@ -495,7 +496,7 @@ msgstr "सर्वर ऑपरेटर से संपर्क करे
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr "फ्री एंड ओपन सोर्स मशीन ट्रांसलेशन एपीआई"
msgstr "मुफ़्त और मुक्त स्रोत मशीन अनुवाद API"
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
@ -503,8 +504,8 @@ msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr ""
"फ्री एंड ओपन सोर्स मशीन ट्रांसलेशन एपीआई। स्व-होस्टेड, ऑफ़लाइन सक्षम और "
"सेटअप करने में आसान। कुछ ही मिनटों में अपना खुद का API सर्वर चलाएं।."
"मुफ़्त और मुक्त स्रोत मशीन अनुवाद एपीआई। स्व-होस्टेड, ऑफ़लाइन सक्षम और सेटअप "
"करने में आसान। कुछ ही मिनटों में अपना स्वयं का API सर्वर चलाएं।"
#: libretranslate/templates/index.html:11
msgid "translation"
@ -512,23 +513,23 @@ msgstr "अनुवाद"
#: libretranslate/templates/index.html:11
msgid "api"
msgstr "एपीआई"
msgstr "api"
#: libretranslate/templates/index.html:65
msgid "API Docs"
msgstr "एपीआई डॉक"
msgstr "API दस्तावेज़"
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr "एपीआई प्राप्त करें कुंजी"
msgstr "API प्राप्त करें कुंजी"
#: libretranslate/templates/index.html:69
msgid "GitHub"
msgstr "गिटहब"
msgstr "GitHub"
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr "एपीआई सेट कुंजी"
msgstr "API सेट कुंजी"
#: libretranslate/templates/index.html:73
msgid "Change language"
@ -544,11 +545,11 @@ msgstr "टॉगल डार्क / लाइट मोड"
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr "Dismis"
msgstr "खारिज"
#: libretranslate/templates/index.html:171
msgid "Translation API"
msgstr "अनुवाद एपीआई"
msgstr "अनुवाद API"
#: libretranslate/templates/index.html:175
msgid "Translate Text"
@ -564,7 +565,7 @@ msgstr "से अनुवाद करें"
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr "स्वैप स्रोत और लक्ष्य भाषाओं"
msgstr "स्रोत और लक्ष्य भाषाओं की अदला-बदली करें"
#: libretranslate/templates/index.html:198
msgid "Translate into"
@ -576,15 +577,15 @@ msgstr "अनुवाद करने के लिए पाठ"
#: libretranslate/templates/index.html:213
msgid "Delete text"
msgstr "पाठ संपादित करें"
msgstr "पाठ हटाएँ"
#: libretranslate/templates/index.html:226
msgid "Suggest translation"
msgstr "अनुवाद सुझा"
msgstr "अनुवाद सुझाएँ"
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr "रद्द करना"
msgstr "रद्द करें"
#: libretranslate/templates/index.html:233
msgid "Send"
@ -621,7 +622,7 @@ msgstr "जवाब"
#: libretranslate/templates/index.html:315
msgid "Open Source Machine Translation API"
msgstr "ओपन सोर्स मशीन अनुवाद एपीआई"
msgstr "ओपन सोर्स मशीन अनुवाद API"
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
@ -642,8 +643,8 @@ msgid ""
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
"इस सार्वजनिक एपीआई का उपयोग परीक्षण, व्यक्तिगत या गलत उपयोग के लिए किया "
"जाना चाहिए। यदि आप उत्पादन में आवेदन चला रहे हैं, तो कृपया ध्यान दें। "
"इस सार्वजनिक API का उपयोग परीक्षण, व्यक्तिगत या गलत उपयोग के लिए किया जाना "
"चाहिए। यदि आप उत्पादन में आवेदन चला रहे हैं, तो कृपया ध्यान दें। "
"%(host_server)s या %(get_api_key)s।"
#: libretranslate/templates/index.html:340
@ -652,7 +653,7 @@ msgstr "अपने सर्वर को होस्ट करें"
#: libretranslate/templates/index.html:340
msgid "get an API key"
msgstr "एपीआई कुंजी प्राप्त करें"
msgstr "API कुंजी प्राप्त करें"
#: libretranslate/templates/index.html:348
#, python-format
@ -668,4 +669,3 @@ msgstr "%(libretranslate)s योगदानकर्ता"
#~ msgid "multipart/form-data"
#~ msgstr "multipart/form-data"

View file

@ -9,15 +9,16 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2023-02-25 11:36+0000\n"
"Last-Translator: ebela <bela@dandre.hu>\n"
"PO-Revision-Date: 2024-04-18 08:04+0000\n"
"Last-Translator: Netesfiu <r4verino@gmail.com>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/libretranslate/"
"app/hu/>\n"
"Language: hu\n"
"Language-Team: Hungarian "
"<https://hosted.weblate.org/projects/libretranslate/app/hu/>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
@ -30,7 +31,7 @@ msgstr "Automatikus felismerés"
#: libretranslate/app.py:232
msgid "Unauthorized"
msgstr "Nem engedélyezett"
msgstr "Nincs jogosultsága"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
@ -49,7 +50,7 @@ msgstr ""
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "Látogatás %(url)s API kulcsot kapni"
msgstr "Látogasson el a(z) %(url)s címre, API kulcshoz"
#: libretranslate/app.py:318
msgid "Slowdown:"
@ -69,14 +70,14 @@ msgstr "Érvénytelen kérés: hiányzik a(z) %(name)s paraméter"
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr ""
"Érvénytelen kérés: kérés (%(size)s) meghaladja a szövegkorlátot "
"Érvénytelen kérés: a kérés mérete (%(size)s) meghaladja a szövegkorlátot "
"(%(limit)s)"
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
#, python-format
msgid "%(lang)s is not supported"
msgstr "%(lang)s nem támogatott"
msgstr "%(lang)s nyelv nem támogatott"
#: libretranslate/app.py:594
#, python-format
@ -99,7 +100,7 @@ msgstr "Nem fordítható szöveg: %(text)s"
#: libretranslate/app.py:734 libretranslate/app.py:788
msgid "Files translation are disabled on this server."
msgstr "Files fordítás letiltása ezen a szerveren."
msgstr "Fájlok fordítása kikapcsolva ezen a szerveren."
#: libretranslate/app.py:748
msgid "Invalid request: empty file"
@ -115,7 +116,7 @@ msgstr "Érvénytelen fájlnév"
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
msgstr "A javaslatok fogyatékkal élők ezen a szerveren."
msgstr "A javaslatok kikapcsolva ezen a szerveren."
#: libretranslate/locales/.langs.py:1
msgid "English"
@ -135,7 +136,7 @@ msgstr "Kínai"
#: libretranslate/locales/.langs.py:5
msgid "Czech"
msgstr "Csehország"
msgstr "Cseh"
#: libretranslate/locales/.langs.py:6
msgid "Danish"
@ -143,11 +144,11 @@ msgstr "Dán"
#: libretranslate/locales/.langs.py:7
msgid "Dutch"
msgstr "Hollandia"
msgstr "Holland"
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr "Esperanto"
msgstr "Eszperantó"
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
@ -183,7 +184,7 @@ msgstr "Indonéz"
#: libretranslate/locales/.langs.py:17
msgid "Irish"
msgstr "Írország"
msgstr "Ír"
#: libretranslate/locales/.langs.py:18
msgid "Italian"
@ -191,7 +192,7 @@ msgstr "Olasz"
#: libretranslate/locales/.langs.py:19
msgid "Japanese"
msgstr "Japán japán"
msgstr "Japán"
#: libretranslate/locales/.langs.py:20
msgid "Korean"
@ -207,7 +208,7 @@ msgstr "Lengyel"
#: libretranslate/locales/.langs.py:23
msgid "Portuguese"
msgstr "Portugália"
msgstr "Portugál"
#: libretranslate/locales/.langs.py:24
msgid "Russian"
@ -215,7 +216,7 @@ msgstr "Orosz"
#: libretranslate/locales/.langs.py:25
msgid "Slovak"
msgstr "Szlovákia"
msgstr "Szlovák"
#: libretranslate/locales/.langs.py:26
msgid "Spanish"
@ -223,7 +224,7 @@ msgstr "Spanyol"
#: libretranslate/locales/.langs.py:27
msgid "Swedish"
msgstr "Svédország"
msgstr "Svéd"
#: libretranslate/locales/.langs.py:28
msgid "Turkish"
@ -239,7 +240,7 @@ msgstr "Vietnami"
#: libretranslate/locales/.swag.py:1
msgid "Retrieve list of supported languages"
msgstr "A támogatott nyelvek újraindítása"
msgstr "A támogatott nyelvek listájának lekérése"
#: libretranslate/locales/.swag.py:2
msgid "List of languages"
@ -267,11 +268,11 @@ msgstr "Fordítási hiba"
#: libretranslate/locales/.swag.py:8
msgid "Slow down"
msgstr "Lassabb"
msgstr "Lassabban"
#: libretranslate/locales/.swag.py:9
msgid "Banned"
msgstr "Betiltott"
msgstr "Tiltott"
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
@ -304,7 +305,7 @@ msgid ""
" * `html` - HTML markup\n"
msgstr ""
"Formátum forrás szöveg:\n"
"* `text' - Plain szöveg\n"
"* `text' - egyszerű szöveg\n"
"* `html' - HTML markup\n"
#: libretranslate/locales/.swag.py:17
@ -325,7 +326,7 @@ msgstr "Fájl fordítása"
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
msgstr "Védje meg egyetlen szöveg nyelvét"
msgstr "A szöveg nyelvének észlelése"
#: libretranslate/locales/.swag.py:22
msgid "Detections"
@ -349,11 +350,11 @@ msgstr "frontend beállítások"
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr "fénykép"
msgstr "frontend"
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
msgstr "Javaslatot nyújt be a fordítás javítására"
msgstr "Küldjön javaslatot a fordítés javításához"
#: libretranslate/locales/.swag.py:29
msgid "Success"
@ -405,7 +406,7 @@ msgstr "Hibaüzenet"
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr "Oka lassú le"
msgstr "A lelassulás oka"
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
@ -413,7 +414,7 @@ msgstr "Fordított fájl url"
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr "Biztonsági érték"
msgstr "Bizalmi érték"
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
@ -421,19 +422,19 @@ msgstr "Jellemző bemeneti határértéke ennek a nyelvnek (-1 nem jelzi a hatá
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr "Frontend fordítási idő"
msgstr "Frontend fordítás időtúllépés"
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
msgstr "Függetlenül attól, hogy az API kulcsfontosságú adatbázisa engedélyezett-e."
msgstr "Függetlenül attól, hogy az API kulcs adatbázisa engedélyezett-e."
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr "Függetlenül attól, hogy egy API kulcsra van szükség."
msgstr "Szükséges-e API kulcs."
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
msgstr "Akár javaslatok benyújtása engedélyezett."
msgstr "Ha javaslatok benyújtásá engedélyezett."
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
@ -441,13 +442,13 @@ msgstr "Támogatott fájlformátum"
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
msgstr "Akár sikeres volt a benyújtás"
msgstr "Amennyiben a beküldsé sikeres volt"
#: libretranslate/templates/app.js.template:31
#: libretranslate/templates/app.js.template:286
#: libretranslate/templates/app.js.template:290
msgid "Copy text"
msgstr "Másolás szöveg"
msgstr "Szöveg másolása"
#: libretranslate/templates/app.js.template:80
#: libretranslate/templates/app.js.template:86
@ -458,7 +459,7 @@ msgstr "Másolás szöveg"
#: libretranslate/templates/app.js.template:479
#, python-format
msgid "Cannot load %(url)s"
msgstr "Nem tölthet %(url)s"
msgstr "Nem tölthető be a(z) %(url)s"
#: libretranslate/templates/app.js.template:264
#: libretranslate/templates/app.js.template:334
@ -469,24 +470,25 @@ msgstr "Ismeretlen hiba"
#: libretranslate/templates/app.js.template:287
msgid "Copied"
msgstr "Második"
msgstr "Másolva"
#: libretranslate/templates/app.js.template:331
msgid ""
"Thanks for your correction. Note the suggestion will not take effect "
"right away."
msgstr ""
"Köszönöm a korrekciót. Ne feledje, hogy a javaslat nem fog azonnal "
"Köszönöm a korrekciót. Vegye figyelembe, hogy a javaslata nem fog azonnal "
"hatályba lépni."
#: libretranslate/templates/app.js.template:455
msgid "No languages available. Did you install the models correctly?"
msgstr "Nincsenek nyelvek. Helyesen telepítette a modelleket?"
msgstr "Nincsenek elérhető nyelvek. Helyesen telepítette a modelleket?"
#: libretranslate/templates/app.js.template:522
#, python-format
msgid "Type in your API Key. If you need an API key, %(instructions)s"
msgstr "Típus az API kulcsodban. Ha szüksége van egy API kulcsra, %(instructions)s"
msgstr ""
"Írja be az API kulcsot. Ha szüksége van egy API kulcsra, %(instructions)s"
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
@ -499,7 +501,7 @@ msgstr "lépjen kapcsolatba a szerver-üzemeltetővel."
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr "Ingyenes és nyílt forráskódú gép fordítás API"
msgstr "Ingyenes és nyílt forráskódú gépi fordító API"
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
@ -507,8 +509,9 @@ msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr ""
"Ingyenes és nyílt forráskódú gép fordítás API. Önálló, offline képes és "
"könnyen telepíthető. Futtassa saját API szerverét néhány perc alatt."
"Ingyenes és nyílt forráskódú gépi fordító API. Helyileg telepített, offline "
"működő és könnyen telepíthető. Futtassa saját API szerverét néhány perc "
"alatt."
#: libretranslate/templates/index.html:11
msgid "translation"
@ -520,11 +523,11 @@ msgstr "api"
#: libretranslate/templates/index.html:65
msgid "API Docs"
msgstr "API Docs"
msgstr "API Dokumentáció"
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr "Szerezd meg az API-t Key"
msgstr "Szerezzen API kucsot"
#: libretranslate/templates/index.html:69
msgid "GitHub"
@ -532,11 +535,11 @@ msgstr "GitHub"
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr "Állítsa be az API-t Key"
msgstr "Állítsa be az API kulcsot"
#: libretranslate/templates/index.html:73
msgid "Change language"
msgstr "Változási nyelv"
msgstr "Nyelv módosítása"
#: libretranslate/templates/index.html:79
msgid "Edit"
@ -544,51 +547,51 @@ msgstr "Szerkesztés"
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr "Toggle sötét / fény mód"
msgstr "Váltás sötét/világos módra"
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr "Elbocsátások"
msgstr "elvetés"
#: libretranslate/templates/index.html:171
msgid "Translation API"
msgstr "Fordítás API"
msgstr "Fordító API"
#: libretranslate/templates/index.html:175
msgid "Translate Text"
msgstr "Fordító szöveg"
msgstr "Szöveg Fordítása"
#: libretranslate/templates/index.html:179
msgid "Translate Files"
msgstr "Fordító fájlok"
msgstr "File-ok fordítása"
#: libretranslate/templates/index.html:185
msgid "Translate from"
msgstr "Fordítsd le"
msgstr "Fordítási ürlap"
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr "Swap forrás és célnyelvek"
msgstr "Forrás és célnyelv felcserélése"
#: libretranslate/templates/index.html:198
msgid "Translate into"
msgstr "Fordítsd le"
msgstr "Fordítsd le ebbe"
#: libretranslate/templates/index.html:210
msgid "Text to translate"
msgstr "Fordítás szövege"
msgstr "Fordítandó szöveg"
#: libretranslate/templates/index.html:213
msgid "Delete text"
msgstr "Törlés szöveg"
msgstr "szöveg törlése"
#: libretranslate/templates/index.html:226
msgid "Suggest translation"
msgstr "Legjobb fordítás"
msgstr "Javasolj fordítást"
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr "Törlés"
msgstr "mégse"
#: libretranslate/templates/index.html:233
msgid "Send"
@ -604,7 +607,7 @@ msgstr "File"
#: libretranslate/templates/index.html:268
msgid "Remove file"
msgstr "Távolítsa el a fájlt"
msgstr "File eltávolítása"
#: libretranslate/templates/index.html:275
msgid "Translate"
@ -629,7 +632,7 @@ msgstr "Nyilt Forráskódú Gépi Fordító API"
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
msgstr "Önmagát választotta. Offline Képes. Könnyű a beállításhoz."
msgstr "Helyben futtatható, offline működő. Könnyen beállítható."
#: libretranslate/templates/index.html:335
msgid "LibreTranslate"
@ -637,7 +640,7 @@ msgstr "LibreTranslate"
#: libretranslate/templates/index.html:337
msgid "License:"
msgstr "Engedély:"
msgstr "Licenc:"
#: libretranslate/templates/index.html:340
#, python-format
@ -646,22 +649,24 @@ msgid ""
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
"Ezt a nyilvános API-t tesztelésre, személyes vagy alkalmankénti "
"használatra használhatod. Amennyiben az alkalmazásod éles környezetben "
"fogod használni úgy használd a %(host_server)s-t vagy %(get_api_key)s-t."
"Ezt a nyilvános API-t tesztelésre, személyes vagy alkalmi használatra "
"használandó. Amennyiben az alkalmazásod éles környezetben fogod használni "
"úgy használd a %(host_server)s-t vagy %(get_api_key)s-t."
#: libretranslate/templates/index.html:340
msgid "host your own server"
msgstr "fogadja el saját szerverét"
msgstr "Hosztold a saját szervered"
#: libretranslate/templates/index.html:340
msgid "get an API key"
msgstr "kap egy API kulcsot"
msgstr "API kulcs szerzése"
#: libretranslate/templates/index.html:348
#, python-format
msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s"
msgstr "Made with %(heart)s által %(contributors)s és erőteljes %(engine)s"
msgstr ""
"%(heart)s-el készítve. Közreműködtek %(contributors)s működtetve ezzel: "
"%(engine)s"
#: libretranslate/templates/index.html:348
#, python-format
@ -670,4 +675,3 @@ msgstr "%(libretranslate)s Közreműködők"
#~ msgid "multipart/form-data"
#~ msgstr "multipart/form-data"

View file

@ -1,4 +1,4 @@
{
"name": "Hungarian",
"reviewed": false
}
"reviewed": true
}

View file

@ -9,14 +9,16 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2023-01-10 09:57+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/libretranslate/app/ja/>\n"
"PO-Revision-Date: 2024-02-10 04:01+0000\n"
"Last-Translator: 石丸健太郎 <marudosurdo@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/libretranslate/"
"app/ja/>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.4-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
@ -33,20 +35,20 @@ msgstr "無許可"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
msgstr "あまりにも多くのリクエストは違反を制限します"
msgstr "リクエストが多すぎます。"
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "Invalid API キー"
msgstr "無効な API キー"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr "サーバ管理者に連絡して、APIキーを取得する"
msgstr "サーバ管理者に連絡して、APIキーを取得してください。"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "アクセス %(url)s API キーを取得する"
msgstr "%(url)sにアクセスして API キーを取得する"
#: libretranslate/app.py:318
msgid "Slowdown:"
@ -58,20 +60,20 @@ msgstr "スローダウン:"
#: libretranslate/app.py:896 libretranslate/app.py:1053
#: libretranslate/app.py:1055 libretranslate/app.py:1057
#: libretranslate/app.py:1059
#, fuzzy, python-format
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr "無効な要求: 欠落 %(name)s パラメータ"
msgstr "無効な要求: %(name)s パラメータが欠落している"
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr "無効な要求: 要求(%(size)s) テキストの制限を超えた (%(limit)s)"
msgstr "無効な要求: 要求(%(size)s)がテキストの制限(%(limit)s)超えている"
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
#, python-format
msgid "%(lang)s is not supported"
msgstr "%(lang)s サポートされていません"
msgstr "%(lang)s サポートされていません"
#: libretranslate/app.py:594
#, python-format
@ -86,7 +88,7 @@ msgid ""
msgstr "%(tname)s (%(tcode)s) 対象言語は対象言語として利用できません。 %(sname)s (%(scode)s)"
#: libretranslate/app.py:647
#, fuzzy, python-format
#, python-format
msgid "Cannot translate text: %(text)s"
msgstr "テキストを翻訳できません。 %(text)s"
@ -112,15 +114,15 @@ msgstr "このサーバーで提案が無効になっています。."
#: libretranslate/locales/.langs.py:1
msgid "English"
msgstr "日本語 English"
msgstr "日本語"
#: libretranslate/locales/.langs.py:2
msgid "Arabic"
msgstr "ログイン"
msgstr "アラビア語"
#: libretranslate/locales/.langs.py:3
msgid "Azerbaijani"
msgstr "アゼルバイジャン"
msgstr "アゼルバイジャン"
#: libretranslate/locales/.langs.py:4
msgid "Chinese"
@ -140,7 +142,7 @@ msgstr "オランダ語"
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr "エスペラント"
msgstr "エスペラント"
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
@ -152,7 +154,7 @@ msgstr "フランス語"
#: libretranslate/locales/.langs.py:11
msgid "German"
msgstr "ドイツ"
msgstr "ドイツ"
#: libretranslate/locales/.langs.py:12
msgid "Greek"
@ -276,19 +278,16 @@ msgid "Text(s) to translate"
msgstr "翻訳するテキスト"
#: libretranslate/locales/.swag.py:12
#, fuzzy
msgid "Source language code"
msgstr "言語コード"
msgstr "ソース言語コード"
#: libretranslate/locales/.swag.py:13
#, fuzzy
msgid "Target language code"
msgstr "ターゲット言語コードをサポート"
msgstr "ターゲット言語コード"
#: libretranslate/locales/.swag.py:14
#, fuzzy
msgid "text"
msgstr "テキストのコピー"
msgstr "テキスト"
#: libretranslate/locales/.swag.py:15
msgid "html"
@ -305,9 +304,8 @@ msgstr ""
"* `html` - HTML マークアップ\n"
#: libretranslate/locales/.swag.py:17
#, fuzzy
msgid "API key"
msgstr "ログイン"
msgstr "APIキー"
#: libretranslate/locales/.swag.py:18
msgid "Translate file from a language to another"
@ -318,9 +316,8 @@ msgid "Translated file"
msgstr "翻訳ファイル"
#: libretranslate/locales/.swag.py:20
#, fuzzy
msgid "File to translate"
msgstr "翻訳するテキスト"
msgstr "翻訳するファイル"
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
@ -335,9 +332,8 @@ msgid "Detection error"
msgstr "検出エラー"
#: libretranslate/locales/.swag.py:24
#, fuzzy
msgid "Text to detect"
msgstr "自動検出"
msgstr "検出するテキスト"
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
@ -368,19 +364,16 @@ msgid "Original text"
msgstr "オリジナルテキスト"
#: libretranslate/locales/.swag.py:32
#, fuzzy
msgid "Suggested translation"
msgstr "翻訳の提案"
msgstr "提案された翻訳"
#: libretranslate/locales/.swag.py:33
#, fuzzy
msgid "Language of original text"
msgstr "単一のテキストの言語を検出する"
msgstr "オリジナルテキストの言語"
#: libretranslate/locales/.swag.py:34
#, fuzzy
msgid "Language of suggested translation"
msgstr "翻訳の提案"
msgstr "提案された翻訳の言語"
#: libretranslate/locales/.swag.py:35
msgid "feedback"
@ -642,14 +635,15 @@ msgid "License:"
msgstr "ライセンス:"
#: libretranslate/templates/index.html:340
#, fuzzy, python-format
#, python-format
msgid ""
"This public API should be used for testing, personal or infrequent use. If "
"you're going to run an application in production, please %(host_server)s or "
"%(get_api_key)s."
msgstr ""
"このパブリック API は、テスト、個人的、または不適切な使用に使用されます。 制作中のアプリケーションを実行する場合は、%(host_server)s"
" または %(get_api_key)s."
"この公開API はテストまたは個人的、頻繁でない用途に使用してください。製品のア"
"プリケーションに使用する場合は、%(host_server)s または "
"%(get_api_key)sしてください。"
#: libretranslate/templates/index.html:340
msgid "host your own server"
@ -660,9 +654,9 @@ msgid "get an API key"
msgstr "aPI キーを取得する"
#: libretranslate/templates/index.html:348
#, fuzzy, python-format
#, 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:348
#, python-format

View file

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-01-06 17:52-0500\n"
"PO-Revision-Date: 2023-06-03 02:40+0000\n"
"Last-Translator: \"T. Alexander\" <theools@gmail.com>\n"
"PO-Revision-Date: 2024-03-25 12:01+0000\n"
"Last-Translator: Kaleido Scope <senpai@firemail.cc>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
"libretranslate/app/nb_NO/>\n"
"Language: nb_NO\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.18-dev\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.11.0\n"
#: libretranslate/app.py:60
@ -36,7 +36,7 @@ msgstr "Ikke godkjent"
#: libretranslate/app.py:211
#, fuzzy
msgid "Too many request limits violations"
msgstr "For mange forespørsler"
msgstr "For mange brudd på forespørselsgrensene"
#: libretranslate/app.py:220
msgid "Invalid API key"
@ -278,7 +278,7 @@ msgstr "Bannlyst"
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
msgstr "Hei verden."
msgstr "Hei verden!"
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
@ -297,7 +297,6 @@ msgid "text"
msgstr "tekst"
#: libretranslate/locales/.swag.py:15
#, fuzzy
msgid "html"
msgstr "HTML"

View file

@ -0,0 +1,654 @@
# Translations template for LibreTranslate.
# Copyright (C) 2023 LibreTranslate Authors
# This file is distributed under the same license as the LibreTranslate
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: LibreTranslate 1.3.12\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2024-03-25 12:01+0000\n"
"Last-Translator: Kaleido Scope <senpai@firemail.cc>\n"
"Language-Team: Norwegian Nynorsk <https://hosted.weblate.org/projects/"
"libretranslate/app/nn/>\n"
"Language: nn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
msgid "Invalid JSON format"
msgstr "Ugyldig JSON-format"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
msgstr "Oppdag automatisk"
#: libretranslate/app.py:232
msgid "Unauthorized"
msgstr "Ikkje godkjent"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
msgstr "For mange førespurnadar"
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "Ugyldig API-nykel"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr "Ta kontakt med sørvaradministrator for å få API-nykel"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "Besøk %(url)s for å få ein API-nykel"
#: libretranslate/app.py:318
msgid "Slowdown:"
msgstr "Nedbremsing:"
#: libretranslate/app.py:525 libretranslate/app.py:527
#: libretranslate/app.py:529 libretranslate/app.py:741
#: libretranslate/app.py:743 libretranslate/app.py:745
#: libretranslate/app.py:896 libretranslate/app.py:1053
#: libretranslate/app.py:1055 libretranslate/app.py:1057
#: libretranslate/app.py:1059
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr "Ugyldig førespurnad: manglande %(name)s-parameter"
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr ""
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
#, python-format
msgid "%(lang)s is not supported"
msgstr ""
#: libretranslate/app.py:594
#, python-format
msgid "%(format)s format is not supported"
msgstr ""
#: libretranslate/app.py:602 libretranslate/app.py:626
#, python-format
msgid ""
"%(tname)s (%(tcode)s) is not available as a target language from "
"%(sname)s (%(scode)s)"
msgstr ""
#: libretranslate/app.py:647
#, python-format
msgid "Cannot translate text: %(text)s"
msgstr ""
#: libretranslate/app.py:734 libretranslate/app.py:788
msgid "Files translation are disabled on this server."
msgstr ""
#: libretranslate/app.py:748
msgid "Invalid request: empty file"
msgstr ""
#: libretranslate/app.py:751
msgid "Invalid request: file format not supported"
msgstr ""
#: libretranslate/app.py:796
msgid "Invalid filename"
msgstr ""
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
msgstr ""
#: libretranslate/locales/.langs.py:1
msgid "English"
msgstr "Engelsk"
#: libretranslate/locales/.langs.py:2
msgid "Arabic"
msgstr "Arabisk"
#: libretranslate/locales/.langs.py:3
msgid "Azerbaijani"
msgstr "Azeri"
#: libretranslate/locales/.langs.py:4
msgid "Chinese"
msgstr "Mandarin"
#: libretranslate/locales/.langs.py:5
msgid "Czech"
msgstr "Tjekkisk"
#: libretranslate/locales/.langs.py:6
msgid "Danish"
msgstr "Dansk"
#: libretranslate/locales/.langs.py:7
msgid "Dutch"
msgstr "Nederlandsk"
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr "Esperanto"
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
msgstr "Finsk"
#: libretranslate/locales/.langs.py:10
msgid "French"
msgstr "Fransk"
#: libretranslate/locales/.langs.py:11
msgid "German"
msgstr "Tysk"
#: libretranslate/locales/.langs.py:12
msgid "Greek"
msgstr "Gresk"
#: libretranslate/locales/.langs.py:13
msgid "Hebrew"
msgstr "Hebraisk"
#: libretranslate/locales/.langs.py:14
msgid "Hindi"
msgstr "Hindi"
#: libretranslate/locales/.langs.py:15
msgid "Hungarian"
msgstr "Ungarsk"
#: libretranslate/locales/.langs.py:16
msgid "Indonesian"
msgstr "Indonesisk"
#: libretranslate/locales/.langs.py:17
msgid "Irish"
msgstr "Irsk"
#: libretranslate/locales/.langs.py:18
msgid "Italian"
msgstr "Italiensk"
#: libretranslate/locales/.langs.py:19
msgid "Japanese"
msgstr "Japansk"
#: libretranslate/locales/.langs.py:20
msgid "Korean"
msgstr "Koreansk"
#: libretranslate/locales/.langs.py:21
msgid "Persian"
msgstr "Farsi"
#: libretranslate/locales/.langs.py:22
msgid "Polish"
msgstr "Polsk"
#: libretranslate/locales/.langs.py:23
msgid "Portuguese"
msgstr "Portugisisk"
#: libretranslate/locales/.langs.py:24
msgid "Russian"
msgstr "Russisk"
#: libretranslate/locales/.langs.py:25
msgid "Slovak"
msgstr "Slovakisk"
#: libretranslate/locales/.langs.py:26
msgid "Spanish"
msgstr "Spansk"
#: libretranslate/locales/.langs.py:27
msgid "Swedish"
msgstr "Svensk"
#: libretranslate/locales/.langs.py:28
msgid "Turkish"
msgstr "Tyrkisk"
#: libretranslate/locales/.langs.py:29
msgid "Ukranian"
msgstr "Ukrainsk"
#: libretranslate/locales/.langs.py:30
msgid "Vietnamese"
msgstr "Vietnamesisk"
#: libretranslate/locales/.swag.py:1
msgid "Retrieve list of supported languages"
msgstr "Hent liste over støtta språk"
#: libretranslate/locales/.swag.py:2
msgid "List of languages"
msgstr "Språkliste"
#: libretranslate/locales/.swag.py:3
msgid "translate"
msgstr ""
#: libretranslate/locales/.swag.py:4
msgid "Translate text from a language to another"
msgstr "Omset tekst frå eit språk til eit anna"
#: libretranslate/locales/.swag.py:5 libretranslate/templates/index.html:222
msgid "Translated text"
msgstr "Omsette tekst"
#: libretranslate/locales/.swag.py:6
msgid "Invalid request"
msgstr "Ugyldig førespurnad"
#: libretranslate/locales/.swag.py:7
msgid "Translation error"
msgstr "Omsetningsfeil"
#: libretranslate/locales/.swag.py:8
msgid "Slow down"
msgstr "Senk farten"
#: libretranslate/locales/.swag.py:9
msgid "Banned"
msgstr "Utestengd"
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
msgstr "Hei verda!"
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
msgstr "Tekst til omsetning"
#: libretranslate/locales/.swag.py:12
msgid "Source language code"
msgstr ""
#: libretranslate/locales/.swag.py:13
msgid "Target language code"
msgstr ""
#: libretranslate/locales/.swag.py:14
msgid "text"
msgstr ""
#: libretranslate/locales/.swag.py:15
msgid "html"
msgstr ""
#: libretranslate/locales/.swag.py:16
msgid ""
"Format of source text:\n"
" * `text` - Plain text\n"
" * `html` - HTML markup\n"
msgstr ""
#: libretranslate/locales/.swag.py:17
msgid "API key"
msgstr ""
#: libretranslate/locales/.swag.py:18
msgid "Translate file from a language to another"
msgstr ""
#: libretranslate/locales/.swag.py:19
msgid "Translated file"
msgstr ""
#: libretranslate/locales/.swag.py:20
msgid "File to translate"
msgstr ""
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
msgstr ""
#: libretranslate/locales/.swag.py:22
msgid "Detections"
msgstr ""
#: libretranslate/locales/.swag.py:23
msgid "Detection error"
msgstr ""
#: libretranslate/locales/.swag.py:24
msgid "Text to detect"
msgstr ""
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr ""
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
msgstr ""
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr ""
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
msgstr ""
#: libretranslate/locales/.swag.py:29
msgid "Success"
msgstr ""
#: libretranslate/locales/.swag.py:30
msgid "Not authorized"
msgstr ""
#: libretranslate/locales/.swag.py:31
msgid "Original text"
msgstr ""
#: libretranslate/locales/.swag.py:32
msgid "Suggested translation"
msgstr ""
#: libretranslate/locales/.swag.py:33
msgid "Language of original text"
msgstr ""
#: libretranslate/locales/.swag.py:34
msgid "Language of suggested translation"
msgstr ""
#: libretranslate/locales/.swag.py:35
msgid "feedback"
msgstr ""
#: libretranslate/locales/.swag.py:36
msgid "Language code"
msgstr ""
#: libretranslate/locales/.swag.py:37
msgid "Human-readable language name (in English)"
msgstr ""
#: libretranslate/locales/.swag.py:38
msgid "Supported target language codes"
msgstr ""
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr ""
#: libretranslate/locales/.swag.py:40
msgid "Error message"
msgstr ""
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr ""
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
msgstr ""
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr ""
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
msgstr ""
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr ""
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
msgstr ""
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr ""
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
msgstr ""
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
msgstr ""
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
msgstr ""
#: libretranslate/templates/app.js.template:31
#: libretranslate/templates/app.js.template:286
#: libretranslate/templates/app.js.template:290
msgid "Copy text"
msgstr ""
#: libretranslate/templates/app.js.template:80
#: libretranslate/templates/app.js.template:86
#: libretranslate/templates/app.js.template:91
#: libretranslate/templates/app.js.template:273
#: libretranslate/templates/app.js.template:343
#: libretranslate/templates/app.js.template:431
#: libretranslate/templates/app.js.template:479
#, python-format
msgid "Cannot load %(url)s"
msgstr ""
#: libretranslate/templates/app.js.template:264
#: libretranslate/templates/app.js.template:334
#: libretranslate/templates/app.js.template:412
#: libretranslate/templates/app.js.template:423
msgid "Unknown error"
msgstr ""
#: libretranslate/templates/app.js.template:287
msgid "Copied"
msgstr ""
#: libretranslate/templates/app.js.template:331
msgid ""
"Thanks for your correction. Note the suggestion will not take effect "
"right away."
msgstr ""
#: libretranslate/templates/app.js.template:455
msgid "No languages available. Did you install the models correctly?"
msgstr ""
#: libretranslate/templates/app.js.template:522
#, python-format
msgid "Type in your API Key. If you need an API key, %(instructions)s"
msgstr ""
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
msgstr ""
#: libretranslate/templates/app.js.template:522
msgid "contact the server operator."
msgstr ""
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr ""
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr ""
#: libretranslate/templates/index.html:11
msgid "translation"
msgstr ""
#: libretranslate/templates/index.html:11
msgid "api"
msgstr ""
#: libretranslate/templates/index.html:65
msgid "API Docs"
msgstr ""
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr ""
#: libretranslate/templates/index.html:69
msgid "GitHub"
msgstr ""
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr ""
#: libretranslate/templates/index.html:73
msgid "Change language"
msgstr ""
#: libretranslate/templates/index.html:79
msgid "Edit"
msgstr ""
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr ""
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr ""
#: libretranslate/templates/index.html:171
msgid "Translation API"
msgstr ""
#: libretranslate/templates/index.html:175
msgid "Translate Text"
msgstr ""
#: libretranslate/templates/index.html:179
msgid "Translate Files"
msgstr ""
#: libretranslate/templates/index.html:185
msgid "Translate from"
msgstr ""
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr ""
#: libretranslate/templates/index.html:198
msgid "Translate into"
msgstr ""
#: libretranslate/templates/index.html:210
msgid "Text to translate"
msgstr ""
#: libretranslate/templates/index.html:213
msgid "Delete text"
msgstr ""
#: libretranslate/templates/index.html:226
msgid "Suggest translation"
msgstr ""
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr ""
#: libretranslate/templates/index.html:233
msgid "Send"
msgstr ""
#: libretranslate/templates/index.html:249
msgid "Supported file formats:"
msgstr ""
#: libretranslate/templates/index.html:253
msgid "File"
msgstr ""
#: libretranslate/templates/index.html:268
msgid "Remove file"
msgstr ""
#: libretranslate/templates/index.html:275
msgid "Translate"
msgstr ""
#: libretranslate/templates/index.html:276
#: libretranslate/templates/index.html:320
msgid "Download"
msgstr ""
#: libretranslate/templates/index.html:295
msgid "Request"
msgstr ""
#: libretranslate/templates/index.html:300
msgid "Response"
msgstr ""
#: libretranslate/templates/index.html:315
msgid "Open Source Machine Translation API"
msgstr ""
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
msgstr ""
#: libretranslate/templates/index.html:335
msgid "LibreTranslate"
msgstr ""
#: libretranslate/templates/index.html:337
msgid "License:"
msgstr ""
#: libretranslate/templates/index.html:340
#, python-format
msgid ""
"This public API should be used for testing, personal or infrequent use. "
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
#: libretranslate/templates/index.html:340
msgid "host your own server"
msgstr ""
#: libretranslate/templates/index.html:340
msgid "get an API key"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "%(libretranslate)s Contributors"
msgstr ""

View file

@ -9,14 +9,17 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2023-09-01 11:56+0000\n"
"Last-Translator: Wojtek Jurkowlaniec <wojtek.jurkowlaniec@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/libretranslate/app/pl/>\n"
"PO-Revision-Date: 2024-01-30 16:01+0000\n"
"Last-Translator: r5jyhte <ioulykttr@proton.me>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/libretranslate/"
"app/pl/>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.4-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
@ -541,7 +544,7 @@ msgstr "Edyta"
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr "Toggle dark/light mode"
msgstr "Przełącz tryb ciemny/jasny"
#: libretranslate/templates/index.html:157
msgid "Dismiss"
@ -601,16 +604,16 @@ msgstr "File"
#: libretranslate/templates/index.html:268
msgid "Remove file"
msgstr "Remove plik"
msgstr "Usuń plik"
#: libretranslate/templates/index.html:275
msgid "Translate"
msgstr "Translat"
msgstr "Tłumacz"
#: libretranslate/templates/index.html:276
#: libretranslate/templates/index.html:320
msgid "Download"
msgstr "Download"
msgstr "Pobierz"
#: libretranslate/templates/index.html:295
msgid "Request"

View file

@ -0,0 +1,654 @@
# Translations template for LibreTranslate.
# Copyright (C) 2023 LibreTranslate Authors
# This file is distributed under the same license as the LibreTranslate
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: LibreTranslate 1.3.12\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2024-02-20 07:02+0000\n"
"Last-Translator: Liam Johnson <ibrahimjan@mail.ustc.edu.cn>\n"
"Language-Team: Uyghur <https://hosted.weblate.org/projects/libretranslate/"
"app/ug/>\n"
"Language: ug\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
msgid "Invalid JSON format"
msgstr "ئىناۋەتسىز JSON فورماتى"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
msgstr "ئاپتوماتىك تەكشۈرۈش"
#: libretranslate/app.py:232
msgid "Unauthorized"
msgstr "ھوقۇق بېرىلمىگەن"
#: libretranslate/app.py:250
msgid "Too many request limits violations"
msgstr "ئىلتىماس سانى چەكتىن ئاشتى"
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "API ئاچقۇچ ئىناۋەتسىز"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr ""
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr ""
#: libretranslate/app.py:318
msgid "Slowdown:"
msgstr ""
#: libretranslate/app.py:525 libretranslate/app.py:527
#: libretranslate/app.py:529 libretranslate/app.py:741
#: libretranslate/app.py:743 libretranslate/app.py:745
#: libretranslate/app.py:896 libretranslate/app.py:1053
#: libretranslate/app.py:1055 libretranslate/app.py:1057
#: libretranslate/app.py:1059
#, python-format
msgid "Invalid request: missing %(name)s parameter"
msgstr ""
#: libretranslate/app.py:544 libretranslate/app.py:553
#, python-format
msgid "Invalid request: request (%(size)s) exceeds text limit (%(limit)s)"
msgstr ""
#: libretranslate/app.py:583 libretranslate/app.py:588
#: libretranslate/app.py:758 libretranslate/app.py:763
#, python-format
msgid "%(lang)s is not supported"
msgstr ""
#: libretranslate/app.py:594
#, python-format
msgid "%(format)s format is not supported"
msgstr ""
#: libretranslate/app.py:602 libretranslate/app.py:626
#, python-format
msgid ""
"%(tname)s (%(tcode)s) is not available as a target language from "
"%(sname)s (%(scode)s)"
msgstr ""
#: libretranslate/app.py:647
#, python-format
msgid "Cannot translate text: %(text)s"
msgstr ""
#: libretranslate/app.py:734 libretranslate/app.py:788
msgid "Files translation are disabled on this server."
msgstr ""
#: libretranslate/app.py:748
msgid "Invalid request: empty file"
msgstr ""
#: libretranslate/app.py:751
msgid "Invalid request: file format not supported"
msgstr ""
#: libretranslate/app.py:796
msgid "Invalid filename"
msgstr ""
#: libretranslate/app.py:1038
msgid "Suggestions are disabled on this server."
msgstr ""
#: libretranslate/locales/.langs.py:1
msgid "English"
msgstr ""
#: libretranslate/locales/.langs.py:2
msgid "Arabic"
msgstr ""
#: libretranslate/locales/.langs.py:3
msgid "Azerbaijani"
msgstr ""
#: libretranslate/locales/.langs.py:4
msgid "Chinese"
msgstr ""
#: libretranslate/locales/.langs.py:5
msgid "Czech"
msgstr ""
#: libretranslate/locales/.langs.py:6
msgid "Danish"
msgstr ""
#: libretranslate/locales/.langs.py:7
msgid "Dutch"
msgstr ""
#: libretranslate/locales/.langs.py:8
msgid "Esperanto"
msgstr ""
#: libretranslate/locales/.langs.py:9
msgid "Finnish"
msgstr ""
#: libretranslate/locales/.langs.py:10
msgid "French"
msgstr ""
#: libretranslate/locales/.langs.py:11
msgid "German"
msgstr ""
#: libretranslate/locales/.langs.py:12
msgid "Greek"
msgstr ""
#: libretranslate/locales/.langs.py:13
msgid "Hebrew"
msgstr ""
#: libretranslate/locales/.langs.py:14
msgid "Hindi"
msgstr ""
#: libretranslate/locales/.langs.py:15
msgid "Hungarian"
msgstr ""
#: libretranslate/locales/.langs.py:16
msgid "Indonesian"
msgstr ""
#: libretranslate/locales/.langs.py:17
msgid "Irish"
msgstr ""
#: libretranslate/locales/.langs.py:18
msgid "Italian"
msgstr ""
#: libretranslate/locales/.langs.py:19
msgid "Japanese"
msgstr ""
#: libretranslate/locales/.langs.py:20
msgid "Korean"
msgstr ""
#: libretranslate/locales/.langs.py:21
msgid "Persian"
msgstr ""
#: libretranslate/locales/.langs.py:22
msgid "Polish"
msgstr ""
#: libretranslate/locales/.langs.py:23
msgid "Portuguese"
msgstr ""
#: libretranslate/locales/.langs.py:24
msgid "Russian"
msgstr ""
#: libretranslate/locales/.langs.py:25
msgid "Slovak"
msgstr ""
#: libretranslate/locales/.langs.py:26
msgid "Spanish"
msgstr ""
#: libretranslate/locales/.langs.py:27
msgid "Swedish"
msgstr ""
#: libretranslate/locales/.langs.py:28
msgid "Turkish"
msgstr ""
#: libretranslate/locales/.langs.py:29
msgid "Ukranian"
msgstr ""
#: libretranslate/locales/.langs.py:30
msgid "Vietnamese"
msgstr ""
#: libretranslate/locales/.swag.py:1
msgid "Retrieve list of supported languages"
msgstr ""
#: libretranslate/locales/.swag.py:2
msgid "List of languages"
msgstr ""
#: libretranslate/locales/.swag.py:3
msgid "translate"
msgstr ""
#: libretranslate/locales/.swag.py:4
msgid "Translate text from a language to another"
msgstr ""
#: libretranslate/locales/.swag.py:5 libretranslate/templates/index.html:222
msgid "Translated text"
msgstr ""
#: libretranslate/locales/.swag.py:6
msgid "Invalid request"
msgstr ""
#: libretranslate/locales/.swag.py:7
msgid "Translation error"
msgstr ""
#: libretranslate/locales/.swag.py:8
msgid "Slow down"
msgstr ""
#: libretranslate/locales/.swag.py:9
msgid "Banned"
msgstr ""
#: libretranslate/locales/.swag.py:10
msgid "Hello world!"
msgstr ""
#: libretranslate/locales/.swag.py:11
msgid "Text(s) to translate"
msgstr ""
#: libretranslate/locales/.swag.py:12
msgid "Source language code"
msgstr ""
#: libretranslate/locales/.swag.py:13
msgid "Target language code"
msgstr ""
#: libretranslate/locales/.swag.py:14
msgid "text"
msgstr ""
#: libretranslate/locales/.swag.py:15
msgid "html"
msgstr ""
#: libretranslate/locales/.swag.py:16
msgid ""
"Format of source text:\n"
" * `text` - Plain text\n"
" * `html` - HTML markup\n"
msgstr ""
#: libretranslate/locales/.swag.py:17
msgid "API key"
msgstr ""
#: libretranslate/locales/.swag.py:18
msgid "Translate file from a language to another"
msgstr ""
#: libretranslate/locales/.swag.py:19
msgid "Translated file"
msgstr ""
#: libretranslate/locales/.swag.py:20
msgid "File to translate"
msgstr ""
#: libretranslate/locales/.swag.py:21
msgid "Detect the language of a single text"
msgstr ""
#: libretranslate/locales/.swag.py:22
msgid "Detections"
msgstr ""
#: libretranslate/locales/.swag.py:23
msgid "Detection error"
msgstr ""
#: libretranslate/locales/.swag.py:24
msgid "Text to detect"
msgstr ""
#: libretranslate/locales/.swag.py:25
msgid "Retrieve frontend specific settings"
msgstr ""
#: libretranslate/locales/.swag.py:26
msgid "frontend settings"
msgstr ""
#: libretranslate/locales/.swag.py:27
msgid "frontend"
msgstr ""
#: libretranslate/locales/.swag.py:28
msgid "Submit a suggestion to improve a translation"
msgstr ""
#: libretranslate/locales/.swag.py:29
msgid "Success"
msgstr ""
#: libretranslate/locales/.swag.py:30
msgid "Not authorized"
msgstr ""
#: libretranslate/locales/.swag.py:31
msgid "Original text"
msgstr ""
#: libretranslate/locales/.swag.py:32
msgid "Suggested translation"
msgstr ""
#: libretranslate/locales/.swag.py:33
msgid "Language of original text"
msgstr ""
#: libretranslate/locales/.swag.py:34
msgid "Language of suggested translation"
msgstr ""
#: libretranslate/locales/.swag.py:35
msgid "feedback"
msgstr ""
#: libretranslate/locales/.swag.py:36
msgid "Language code"
msgstr ""
#: libretranslate/locales/.swag.py:37
msgid "Human-readable language name (in English)"
msgstr ""
#: libretranslate/locales/.swag.py:38
msgid "Supported target language codes"
msgstr ""
#: libretranslate/locales/.swag.py:39
msgid "Translated text(s)"
msgstr ""
#: libretranslate/locales/.swag.py:40
msgid "Error message"
msgstr ""
#: libretranslate/locales/.swag.py:41
msgid "Reason for slow down"
msgstr ""
#: libretranslate/locales/.swag.py:42
msgid "Translated file url"
msgstr ""
#: libretranslate/locales/.swag.py:43
msgid "Confidence value"
msgstr ""
#: libretranslate/locales/.swag.py:44
msgid "Character input limit for this language (-1 indicates no limit)"
msgstr ""
#: libretranslate/locales/.swag.py:45
msgid "Frontend translation timeout"
msgstr ""
#: libretranslate/locales/.swag.py:46
msgid "Whether the API key database is enabled."
msgstr ""
#: libretranslate/locales/.swag.py:47
msgid "Whether an API key is required."
msgstr ""
#: libretranslate/locales/.swag.py:48
msgid "Whether submitting suggestions is enabled."
msgstr ""
#: libretranslate/locales/.swag.py:49
msgid "Supported files format"
msgstr ""
#: libretranslate/locales/.swag.py:50
msgid "Whether submission was successful"
msgstr ""
#: libretranslate/templates/app.js.template:31
#: libretranslate/templates/app.js.template:286
#: libretranslate/templates/app.js.template:290
msgid "Copy text"
msgstr ""
#: libretranslate/templates/app.js.template:80
#: libretranslate/templates/app.js.template:86
#: libretranslate/templates/app.js.template:91
#: libretranslate/templates/app.js.template:273
#: libretranslate/templates/app.js.template:343
#: libretranslate/templates/app.js.template:431
#: libretranslate/templates/app.js.template:479
#, python-format
msgid "Cannot load %(url)s"
msgstr ""
#: libretranslate/templates/app.js.template:264
#: libretranslate/templates/app.js.template:334
#: libretranslate/templates/app.js.template:412
#: libretranslate/templates/app.js.template:423
msgid "Unknown error"
msgstr ""
#: libretranslate/templates/app.js.template:287
msgid "Copied"
msgstr ""
#: libretranslate/templates/app.js.template:331
msgid ""
"Thanks for your correction. Note the suggestion will not take effect "
"right away."
msgstr ""
#: libretranslate/templates/app.js.template:455
msgid "No languages available. Did you install the models correctly?"
msgstr ""
#: libretranslate/templates/app.js.template:522
#, python-format
msgid "Type in your API Key. If you need an API key, %(instructions)s"
msgstr ""
#: libretranslate/templates/app.js.template:522
msgid "press the \"Get API Key\" link."
msgstr ""
#: libretranslate/templates/app.js.template:522
msgid "contact the server operator."
msgstr ""
#: libretranslate/templates/index.html:9 libretranslate/templates/index.html:27
#: libretranslate/templates/index.html:336
msgid "Free and Open Source Machine Translation API"
msgstr ""
#: libretranslate/templates/index.html:10
#: libretranslate/templates/index.html:31
msgid ""
"Free and Open Source Machine Translation API. Self-hosted, offline "
"capable and easy to setup. Run your own API server in just a few minutes."
msgstr ""
#: libretranslate/templates/index.html:11
msgid "translation"
msgstr ""
#: libretranslate/templates/index.html:11
msgid "api"
msgstr ""
#: libretranslate/templates/index.html:65
msgid "API Docs"
msgstr ""
#: libretranslate/templates/index.html:67
msgid "Get API Key"
msgstr ""
#: libretranslate/templates/index.html:69
msgid "GitHub"
msgstr ""
#: libretranslate/templates/index.html:71
msgid "Set API Key"
msgstr ""
#: libretranslate/templates/index.html:73
msgid "Change language"
msgstr ""
#: libretranslate/templates/index.html:79
msgid "Edit"
msgstr ""
#: libretranslate/templates/index.html:81
msgid "Toggle dark/light mode"
msgstr ""
#: libretranslate/templates/index.html:157
msgid "Dismiss"
msgstr ""
#: libretranslate/templates/index.html:171
msgid "Translation API"
msgstr ""
#: libretranslate/templates/index.html:175
msgid "Translate Text"
msgstr ""
#: libretranslate/templates/index.html:179
msgid "Translate Files"
msgstr ""
#: libretranslate/templates/index.html:185
msgid "Translate from"
msgstr ""
#: libretranslate/templates/index.html:195
msgid "Swap source and target languages"
msgstr ""
#: libretranslate/templates/index.html:198
msgid "Translate into"
msgstr ""
#: libretranslate/templates/index.html:210
msgid "Text to translate"
msgstr ""
#: libretranslate/templates/index.html:213
msgid "Delete text"
msgstr ""
#: libretranslate/templates/index.html:226
msgid "Suggest translation"
msgstr ""
#: libretranslate/templates/index.html:230
msgid "Cancel"
msgstr ""
#: libretranslate/templates/index.html:233
msgid "Send"
msgstr ""
#: libretranslate/templates/index.html:249
msgid "Supported file formats:"
msgstr ""
#: libretranslate/templates/index.html:253
msgid "File"
msgstr ""
#: libretranslate/templates/index.html:268
msgid "Remove file"
msgstr ""
#: libretranslate/templates/index.html:275
msgid "Translate"
msgstr ""
#: libretranslate/templates/index.html:276
#: libretranslate/templates/index.html:320
msgid "Download"
msgstr ""
#: libretranslate/templates/index.html:295
msgid "Request"
msgstr ""
#: libretranslate/templates/index.html:300
msgid "Response"
msgstr ""
#: libretranslate/templates/index.html:315
msgid "Open Source Machine Translation API"
msgstr ""
#: libretranslate/templates/index.html:316
msgid "Self-Hosted. Offline Capable. Easy to Setup."
msgstr ""
#: libretranslate/templates/index.html:335
msgid "LibreTranslate"
msgstr ""
#: libretranslate/templates/index.html:337
msgid "License:"
msgstr ""
#: libretranslate/templates/index.html:340
#, python-format
msgid ""
"This public API should be used for testing, personal or infrequent use. "
"If you're going to run an application in production, please "
"%(host_server)s or %(get_api_key)s."
msgstr ""
#: libretranslate/templates/index.html:340
msgid "host your own server"
msgstr ""
#: libretranslate/templates/index.html:340
msgid "get an API key"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "Made with %(heart)s by %(contributors)s and powered by %(engine)s"
msgstr ""
#: libretranslate/templates/index.html:348
#, python-format
msgid "%(libretranslate)s Contributors"
msgstr ""

View file

@ -9,19 +9,21 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-10-09 15:17-0400\n"
"PO-Revision-Date: 2023-02-02 18:50+0000\n"
"Last-Translator: Poesty Li <poesty7450@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/libretranslate/app/zh_Hans/>\n"
"PO-Revision-Date: 2024-01-30 16:01+0000\n"
"Last-Translator: Yanjun Chen <coned@outlook.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"libretranslate/app/zh_Hans/>\n"
"Language: zh\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.4-dev\n"
"Generated-By: Babel 2.12.1\n"
#: libretranslate/app.py:79
msgid "Invalid JSON format"
msgstr "无效的JSON格式"
msgstr "无效的 JSON 格式"
#: libretranslate/app.py:149 libretranslate/templates/app.js.template:459
msgid "Auto Detect"
@ -37,16 +39,16 @@ msgstr "请求次数过多超过限制"
#: libretranslate/app.py:257
msgid "Invalid API key"
msgstr "无效的API密钥"
msgstr "无效的 API 密钥"
#: libretranslate/app.py:276
msgid "Please contact the server operator to get an API key"
msgstr "请联系服务器管理员以获取API密钥"
msgstr "请联系服务器管理员以获取 API 密钥"
#: libretranslate/app.py:278
#, python-format
msgid "Visit %(url)s to get an API key"
msgstr "访问 %(url)s 以获取API密钥"
msgstr "访问 %(url)s 以获取 API 密钥"
#: libretranslate/app.py:318
msgid "Slowdown:"

View file

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: LibreTranslate 1.3.9\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-01-06 17:52-0500\n"
"PO-Revision-Date: 2023-05-18 17:53+0000\n"
"PO-Revision-Date: 2024-04-23 20:07+0000\n"
"Last-Translator: Peter Dave Hello <hsu@peterdavehello.org>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"libretranslate/app/zh_Hant/>\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.18-dev\n"
"X-Generator: Weblate 5.5-dev\n"
"Generated-By: Babel 2.11.0\n"
#: libretranslate/app.py:60

View file

@ -63,6 +63,13 @@ def get_args():
metavar="<number>",
help="Set the maximum number of request limit offences that a client can exceed before being banned. (%(default)s)",
)
parser.add_argument(
"--req-time-cost",
default=DEFARGS['REQ_TIME_COST'],
type=int,
metavar="<number>",
help="Considers a time cost (in seconds) for request limiting purposes. If a request takes 10 seconds and this value is set to 5, the request cost is either 2 or the actual request cost (whichever is greater). (%(default)s)",
)
parser.add_argument(
"--batch-limit",
default=DEFARGS['BATCH_LIMIT'],
@ -208,6 +215,10 @@ def main():
if '--wsgi' in sys.argv:
return app
else:
if args.debug and args.host == "*":
# '::' will listen on both ipv6 and ipv4
args.host = "::"
if args.debug:
app.run(host=args.host, port=args.port)
else:

View file

@ -29,6 +29,9 @@ def manage():
keys_add_parser.add_argument(
"--key", type=str, default="auto", required=False, help="API Key"
)
keys_add_parser.add_argument(
"--char-limit", type=int, default=0, required=False, help="Character limit"
)
keys_remove_parser = keys_subparser.add_parser(
"remove", help="Remove API keys to database"
@ -52,7 +55,7 @@ def manage():
print("{}: {}".format(*item))
elif args.sub_command == "add":
print(db.add(args.req_limit, args.key)[0])
print(db.add(args.req_limit, args.key, args.char_limit)[0])
elif args.sub_command == "remove":
print(db.remove(args.key))
else:

View file

@ -49,6 +49,8 @@
<link rel="stylesheet" href="{{ url_for('static', filename='css/material-icons.css') }}" />
<link rel="stylesheet" href="{{ url_for('static', filename='css/prism.min.css') }}" />
<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}?v={{ version }}" />
<meta name="color-scheme" content="light dark">
</head>
<body>

View file

@ -33,7 +33,7 @@ classifiers = [
dynamic = ["version"]
dependencies = [
"argostranslate ==1.9.1",
"argostranslate ==1.9.6",
"Flask ==2.2.5",
"flask-swagger ==0.2.14",
"flask-swagger-ui ==4.11.1",
@ -81,6 +81,8 @@ Documentation = "https://github.com/LibreTranslate/LibreTranslate"
Tracker = "https://github.com/LibreTranslate/LibreTranslate/issues"
History = "https://github.com/LibreTranslate/LibreTranslate/releases"
[tool.hatch.build]
artifacts = ["*.mo"]
# ENVIRONMENTS AND SCRIPTS
[tool.hatch.envs.default]

View file

@ -1,7 +1,7 @@
import requests
response = requests.post(
url='http://0.0.0.0:5000/translate',
url='http://localhost:5000/translate',
headers={'Content-Type': 'application/json'},
json={
'q': 'Hello World!',