Compare commits
199 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2f77b51d0f | |||
| 3ab6a403b9 | |||
| a92847a33a | |||
| b18bc99906 | |||
| 1eb456b5f2 | |||
| 10b4ecbf5b | |||
| f938d1f4b9 | |||
| fb1fea6d0f | |||
| 82dc0d6bd0 | |||
| f94d7338b6 | |||
| 95dc455f9c | |||
|
|
1acb6f3d80 | ||
|
|
8347e592a5 | ||
|
|
a52f752b30 | ||
|
|
ee5e70d8d7 | ||
|
492b6e693e
|
|||
|
|
d24f5d4a68 | ||
| d4cbb0813d | |||
|
|
642fe3bd29 | ||
|
|
ad4ae7aabb | ||
|
|
fb4d4dabe1 | ||
|
b5f872b747
|
|||
|
45bf25934d
|
|||
|
bc2fab30a8
|
|||
|
5d073ab5c4
|
|||
|
61f626b20b
|
|||
|
3817bed117
|
|||
|
|
0541fd582f | ||
|
|
673cce0cce | ||
|
|
1322f574c8 | ||
|
8c07cd59ba
|
|||
|
c6e86d3bae
|
|||
|
c12112f925
|
|||
|
ef57438385
|
|||
|
|
4346253c97 | ||
|
|
6fee4c15e1 | ||
|
|
fcc30d7906 | ||
|
79f752ae83
|
|||
|
bc0a6b6704
|
|||
| d0c6bc1c31 | |||
| d4bff79293 | |||
|
|
43b35a57d8 | ||
|
|
c0705b8a74 | ||
| ecc296d7a2 | |||
| 7b38d3af3f | |||
|
ea62784f7c
|
|||
|
e53135d840
|
|||
| 1006865fbb | |||
|
4cc600cdfc
|
|||
|
52b0703dc3
|
|||
|
a17ea0a9e1
|
|||
|
60a1929c8e
|
|||
| 2d038ee396 | |||
|
|
8f0e4e3e4c | ||
| c33114eefe | |||
|
1272ab8532
|
|||
| 48d445b7d7 | |||
|
ac9a518f13
|
|||
| 21390da057 | |||
|
|
626b588796 | ||
| b89d9c2c29 | |||
| 321e4ad77e | |||
|
|
8a9359fc68 | ||
|
|
f5ad5c15d6 | ||
|
|
3acc7ae712 | ||
| 36bccd994f | |||
| 27d378156c | |||
| a7c9a05f6a | |||
| 09a75830e4 | |||
| 6a802c6190 | |||
|
|
e2dc8a671a | ||
|
|
85717ffe9f | ||
|
|
7bd96c2ab7 | ||
|
|
ad7cb3c087 | ||
|
|
7144f1ea45 | ||
|
|
a7c9388029 | ||
|
|
c2d5b633d4 | ||
|
|
ae6fc70e6c | ||
|
|
a1ab56a147 | ||
|
|
2b16f7e7ab | ||
|
|
12a565f8de | ||
|
|
7f37bdf18a | ||
|
|
b5c94e46df | ||
|
|
c48cad2eed | ||
|
|
f83bc1c6a5 | ||
|
|
dcf402ccb9 | ||
|
|
57da684031 | ||
|
|
9f09114614 | ||
|
|
e860601234 | ||
|
|
a95564bcca | ||
| 55adf8080b | |||
| c1983d228f | |||
|
|
249623413b | ||
|
|
8e594dcf02 | ||
|
|
9bf96cd97f | ||
| 9cfd5229a1 | |||
| 6806c3138e | |||
| 0656c107d7 | |||
| 185808f69f | |||
| e426129b1b | |||
| 891a29f6d6 | |||
| 599cb6fb49 | |||
| a6158ec7f1 | |||
| 1b48fb4c35 | |||
| 683aec6ae5 | |||
|
|
232337331a | ||
|
|
02b615b96a | ||
|
|
b06fb39e86 | ||
|
|
90b6ff4172 | ||
|
|
ec956191c6 | ||
|
|
f42b25add4 | ||
|
|
2922971136 | ||
|
74a25909c1
|
|||
|
a4876b5fac
|
|||
|
25094b4085
|
|||
|
aa7624394c
|
|||
|
589c5416a0
|
|||
|
0938be4486
|
|||
|
d8eb32c83d
|
|||
|
83ec10c205
|
|||
|
62c5b4e788
|
|||
|
|
d977c0ebfb | ||
|
|
31340da6cf | ||
|
|
b6d2e0efe9 | ||
|
|
164868f404 | ||
|
c5af44e8b4
|
|||
|
|
0c68157f14 | ||
|
|
2784ceb818 | ||
|
|
153ad37d12 | ||
|
|
d0f6ac660a | ||
|
|
871f205dd0 | ||
|
|
5e4111df6b | ||
|
fc86f2fb4f
|
|||
|
db270e0d00
|
|||
|
|
3ac953722f | ||
|
|
437bf2436c | ||
|
|
93d1f22634 | ||
|
|
aa7545c08a | ||
|
|
cda5833864 | ||
|
f09a34d448
|
|||
|
3161da89cc
|
|||
|
8e1812eb17
|
|||
|
|
6ce4614f73 | ||
|
93245dfa19
|
|||
|
912f531a0d
|
|||
|
2c30abbfe9
|
|||
|
a583abfc06
|
|||
|
26642ec0f4
|
|||
| bce914f618 | |||
|
|
7a01ac8d93 | ||
|
|
1400fe36bc | ||
|
|
9080e0a162 | ||
|
|
0baa2d372a | ||
|
|
d55db09ed8 | ||
|
|
d659ed7958 | ||
|
|
ed162e6b8e | ||
| df8f4a120f | |||
|
|
a038f7deb7 | ||
| 21f756f054 | |||
|
|
30bd160065 | ||
| f4a53b93ef | |||
|
4da2ae80fc
|
|||
|
7f9ef297b1
|
|||
|
daaa9de469
|
|||
|
61de030107
|
|||
|
60169ba940
|
|||
|
15a73ae8d1
|
|||
|
0299d14902
|
|||
|
|
020d6b84b3 | ||
|
|
0e06c91639 | ||
|
|
7879aa417b | ||
|
|
5bfd55173c | ||
|
|
fc5614a048 | ||
| c83ebef74c | |||
| c3d98f6772 | |||
|
|
fb5a34356f | ||
|
|
568fba2f2b | ||
|
|
7865c33dc9 | ||
|
|
fa1381abb3 | ||
|
|
1e20fe76b8 | ||
|
|
946f4c604e | ||
|
|
a2730795d1 | ||
|
|
f113f80927 | ||
|
|
dbbaadde38 | ||
|
|
734bc92ad1 | ||
|
|
8773c027a5 | ||
|
|
654bd3f1ed | ||
|
|
d81aeb4f17 | ||
|
|
9857f64882 | ||
|
|
e15a48602c | ||
|
|
ff80a1fbad | ||
|
|
5f57b89551 | ||
|
eb408ae930
|
|||
|
|
642de5d304 | ||
|
|
94ce4d1c5d | ||
|
|
cd313078c6 | ||
|
|
47818bfa90 | ||
|
|
4daa80d1e4 | ||
|
|
5966979eb9 |
34
.gitea/workflows/build.yml
Normal file
34
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
flatpak:
|
||||
name: Flatpak
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-44
|
||||
options: --privileged
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Install Node.js
|
||||
run: dnf -y install nodejs
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: dnf -y install docker flatpak-builder flatpak git
|
||||
- name: Build
|
||||
run: |
|
||||
flatpak-builder --repo=repo --force-clean build build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
flatpak build-bundle repo bavarder.flatpak io.github.Bavarder.Bavarder
|
||||
ls -la
|
||||
echo "---${{ secrets.ACCESS_TOKEN }}---"
|
||||
curl --user 0xmrtt:${{ secrets.ACCESS_TOKEN }} --upload-file bavarder.flatpak https://git.projectsegfau.lt/api/packages/Bavarder/generic/Bavarder/$GITHUB_JOB/bavarder.flatpak
|
||||
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,3 +3,4 @@ flatpak-pip-generator
|
||||
repo/
|
||||
build/
|
||||
export/
|
||||
bavarder.flatpak
|
||||
38
.woodpecker.yml
Normal file
38
.woodpecker.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
clone:
|
||||
git:
|
||||
image: bash
|
||||
commands:
|
||||
- cd /home/0xmrtt
|
||||
- if [ -d Bavarder ]; then
|
||||
- cd Bavarder
|
||||
- git pull
|
||||
- else
|
||||
- git clone https://git.exozy.me/Bavarder/Bavarder.git
|
||||
- fi
|
||||
|
||||
pipeline:
|
||||
build:
|
||||
image: fish
|
||||
secrets: [ access_token, codeberg_token ]
|
||||
commands:
|
||||
- nix-env -iA nixpkgs.flatpak-builder
|
||||
- fish_add_path ~/.nix-profile/bin
|
||||
- cd /home/0xmrtt/Bavarder
|
||||
- flatpak-builder --repo=repo --force-clean build build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
- flatpak build-bundle repo bavarder.flatpak io.github.Bavarder.Bavarder
|
||||
- ls -la
|
||||
- curl --user 0xmrtt:$ACCESS_TOKEN --upload-file bavarder.flatpak "https://git.exozy.me/api/packages/$CI_REPO_OWNER/generic/$CI_REPO_NAME/$CI_BUILD_NUMBER/bavarder.flatpak"
|
||||
- curl --user 0xmrtt:$CODEBERG_TOKEN --upload-file bavarder.flatpak "https://codeberg.org/api/packages/$CI_REPO_OWNER/generic/$CI_REPO_NAME/$CI_BUILD_NUMBER/bavarder.flatpak"
|
||||
|
||||
translate:
|
||||
image: fish
|
||||
commands:
|
||||
- nix-env -iA nixpkgs.gettext
|
||||
- fish_add_path ~/.nix-profile/bin
|
||||
- cd /home/0xmrtt/Bavarder
|
||||
- bash po/update-pot.sh
|
||||
- git add po/Bavarder.pot
|
||||
- git commit -m "Update"
|
||||
- git push origin main
|
||||
when:
|
||||
event: [manual]
|
||||
20
README.md
20
README.md
@@ -36,26 +36,32 @@
|
||||
|
||||
<a href="https://bavarder.codeberg.page">
|
||||
<p align="center">
|
||||
<img src="./data/screenshots/quantum-computing.png" alt="Preview"/>
|
||||
<img src="./data/screenshots/preview.png" alt="Preview"/>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
## About the name
|
||||
## Usage
|
||||
|
||||
Bavarder is a french word, the definiton of Bavarder is "Parler abondamment de choses sans grande portée" (Talking a lot about things that don't matter) (Larousse) which can be translated by Chit-Chat (informal conversation about matters that are not important). For non-french speakers, Bavarder can be hard to speak, it's prounouced as [bavaʀde]. Hear [here](https://youtu.be/9Qoogwxo5YA)
|
||||
Documentation is available [here](https://bavarder.codeberg.page)
|
||||
|
||||
## Installation
|
||||
|
||||
### Flatpak
|
||||
|
||||
#### Flathub
|
||||
|
||||
You can either use your GNOME Software and search for "Bavarder" or you can run
|
||||
|
||||
``` shell
|
||||
flatpak install io.github.Bavarder.Bavarder
|
||||
```
|
||||
|
||||
### Latest
|
||||
|
||||
You can download a flatpak from the latest commit [here](https://codeberg.org/Bavarder/-/packages/generic/bavarder/). Download the file and run:
|
||||
|
||||
```
|
||||
flatpak install bavarder.flatpak
|
||||
```
|
||||
|
||||
#### From Source
|
||||
|
||||
Clone the repo and run `flatpak-builder`
|
||||
@@ -89,6 +95,10 @@ You can translate Bavarder using Codeberg Translate
|
||||
- [GitHub](https://github.com/Bavarder/Bavarder)
|
||||
- [Codeberg](https://codeberg.org/Bavarder/Bavarder)
|
||||
|
||||
## About the name
|
||||
|
||||
Bavarder is a french word, the definiton of Bavarder is "Parler abondamment de choses sans grande portée" (Talking a lot about things that don't matter) (Larousse) which can be translated by Chit-Chat (informal conversation about matters that are not important). For non-french speakers, Bavarder can be hard to speak, it's prounouced as [bavaʀde]. Hear [here](https://youtu.be/9Qoogwxo5YA)
|
||||
|
||||
## See also
|
||||
|
||||
### [Imaginer : Imagine with AI](https://imaginer.codeberg.page)
|
||||
|
||||
1
SEEN.md
1
SEEN.md
@@ -13,6 +13,7 @@
|
||||
- https://mindaizer.com/chatgpt-et-linux-presentation-de-bavarder/
|
||||
- https://wiredgorilla.com/introducing-bavarder-a-user-friendly-linux-desktop-app-for-quick-chatgpt-interaction/
|
||||
- https://www.linuxconsultant.org/bavarder-is-a-chatgpt-app-for-linux-desktops/
|
||||
- https://www.linuxlinks.com/machine-learning-linux-bavarder/
|
||||
|
||||
## Youtube
|
||||
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
"--share=ipc",
|
||||
"--socket=fallback-x11",
|
||||
"--device=dri",
|
||||
"--socket=wayland"
|
||||
"--socket=wayland",
|
||||
"--filesystem=xdg-config/gtk-4.0"
|
||||
],
|
||||
"cleanup" : [
|
||||
"/include",
|
||||
@@ -30,8 +31,8 @@
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
|
||||
"tag" : "v0.6.0"
|
||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler.git",
|
||||
"tag" : "v0.8.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
"build-commands": [],
|
||||
"modules": [
|
||||
{
|
||||
"name": "python3-baichat-py",
|
||||
"name": "python3-baichat_py",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"baichat-py>=0.1.2\" --no-build-isolation"
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"baichat_py\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
@@ -63,10 +63,10 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "python3-hgchat",
|
||||
"name": "python3-googlebardpy",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"hgchat\" --no-build-isolation"
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"googlebardpy\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
@@ -81,8 +81,8 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/31/7b/e26fdbce33e2bb68ba952cb21c260792a900766b8f767f040bdfbee48d03/hgchat-0.1.3-py3-none-any.whl",
|
||||
"sha256": "25725da85864cb57abd16d9ce15c270f785b7c1073ad30470609878226b93b0b"
|
||||
"url": "https://files.pythonhosted.org/packages/a8/40/30a6440d5ceec49fc268710705b89e654fc854d9b8754850228deaf64892/googlebardpy-0.1.0-py3-none-any.whl",
|
||||
"sha256": "12e65fdfe99392cbb5e8f93572340b757cd9d7aa83391316eaea3a1527995ef2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -94,11 +94,6 @@
|
||||
"url": "https://files.pythonhosted.org/packages/96/80/034ffeca15c0f4e01b7b9c6ad0fb704b44e190cde4e757edbd60be404c41/requests-2.30.0-py3-none-any.whl",
|
||||
"sha256": "10e94cc4f3121ee6da529d358cdaeaff2f1c409cd377dbc72b825852f2f7e294"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl",
|
||||
"sha256": "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
|
||||
@@ -160,8 +155,8 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/9f/87/838149e472c58a141fa81e2eb4cc8828cb134054b59d67637031985ca770/openai-0.27.6-py3-none-any.whl",
|
||||
"sha256": "1f07ed06f1cfc6c25126107193726fe4cf476edcc4e1485cd9eb708f068f2606"
|
||||
"url": "https://files.pythonhosted.org/packages/35/c3/de7124146c3edbe8fd8163028d9ac998f2fd5dcda9225655f1d4ed684bbc/openai-0.27.7-py3-none-any.whl",
|
||||
"sha256": "788fb7fa85bf7caac6c1ed7eea5984254a1bdaf09ef485acf0e5718c8b2dc25a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -186,10 +181,29 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "python3-googlebardpy",
|
||||
"name": "python3-pymdown-extensions",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"googlebardpy\" --no-build-isolation"
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pymdown-extensions\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz",
|
||||
"sha256": "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/a2/17/607fc71d709c0df9cca39ed57ed6f8b1cb77863073004c7def8a02a45fe2/pymdown_extensions-10.0.1-py3-none-any.whl",
|
||||
"sha256": "ae66d84013c5d027ce055693e09a4628b67e9dec5bce05727e45b0918e36f274"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "python3-requests",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
@@ -202,11 +216,6 @@
|
||||
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
|
||||
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/a8/40/30a6440d5ceec49fc268710705b89e654fc854d9b8754850228deaf64892/googlebardpy-0.1.0-py3-none-any.whl",
|
||||
"sha256": "12e65fdfe99392cbb5e8f93572340b757cd9d7aa83391316eaea3a1527995ef2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
|
||||
@@ -225,10 +234,10 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "python3-pymdown-extensions",
|
||||
"name": "python3-text-generation",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pymdown-extensions\" --no-build-isolation"
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"text-generation\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
@@ -238,8 +247,103 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/42/d5/ad2ce4fbd49f746c56f17ca4d1a8112cf76ea8797db670592923f7b3d96e/pymdown_extensions-9.11-py3-none-any.whl",
|
||||
"sha256": "a499191d8d869f30339de86fcf072a787e86c42b6f16f280f5c2cf174182b7f3"
|
||||
"url": "https://files.pythonhosted.org/packages/c2/fd/1ff4da09ca29d8933fda3f3514980357e25419ce5e0f689041edb8f17dab/aiohttp-3.8.4.tar.gz",
|
||||
"sha256": "bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl",
|
||||
"sha256": "f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl",
|
||||
"sha256": "8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/f0/eb/fcb708c7bf5056045e9e98f62b93bd7467eb718b0202e7698eb11d66416c/attrs-23.1.0-py3-none-any.whl",
|
||||
"sha256": "1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
|
||||
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
|
||||
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ad/73/b094a662ae05cdc4ec95bc54e434e307986a5de5960166b8161b7c1373ee/filelock-3.12.0-py3-none-any.whl",
|
||||
"sha256": "ad98852315c2ab702aeb628412cbf7e95b7ce8c3bf9565670b4eaecf1db370a9"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/e9/10/d629476346112b85c912527b9080944fd2c39a816c2225413dbc0bb6fcc0/frozenlist-1.3.3.tar.gz",
|
||||
"sha256": "58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ec/4e/397b234a369df06ec782666fcdf9791d125ca6de48729814b381af8c6c03/fsspec-2023.5.0-py3-none-any.whl",
|
||||
"sha256": "51a4ad01a5bb66fcc58036e288c0d53d3975a0df2a5dc59a93b59bade0391f2a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/58/34/c57b951aecd0248845932c1cfc15721237c50e463f26b0536673bcb76f4f/huggingface_hub-0.14.1-py3-none-any.whl",
|
||||
"sha256": "9fc619170d800ff3793ad37c9757c255c8783051e1b5b00501205eb43ccc4f27"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
|
||||
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4a/15/bd620f7a6eb9aa5112c4ef93e7031bcd071e0611763d8e17706ef8ba65e0/multidict-6.0.4.tar.gz",
|
||||
"sha256": "3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl",
|
||||
"sha256": "994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/43/5f/e53a850fd32dddefc998b6bfcbda843d4ff5b0dcac02a92e414ba6c97d46/pydantic-1.10.7.tar.gz",
|
||||
"sha256": "cfc83c0678b6ba51b0532bea66860617c4cd4251ecf76e9846fa5a9f3454e97e"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/96/80/034ffeca15c0f4e01b7b9c6ad0fb704b44e190cde4e757edbd60be404c41/requests-2.30.0-py3-none-any.whl",
|
||||
"sha256": "10e94cc4f3121ee6da529d358cdaeaff2f1c409cd377dbc72b825852f2f7e294"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/83/14/643c55e7cf845db3c1ac96cd624511d56c50386f3760448e7dc2ff58f1c1/text_generation-0.5.2-py3-none-any.whl",
|
||||
"sha256": "110dd5b05f8ec9cef00f3977001f1ce0464b133b14d4939b15260b0e863c942d"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/e6/02/a2cff6306177ae6bc73bc0665065de51dfb3b9db7373e122e2735faf0d97/tqdm-4.65.0-py3-none-any.whl",
|
||||
"sha256": "c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/31/25/5abcd82372d3d4a3932e1fa8c3dbf9efac10cc7c0d16e78467460571b404/typing_extensions-4.5.0-py3-none-any.whl",
|
||||
"sha256": "fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
|
||||
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/5f/3f/04b3c5e57844fb9c034b09c5cb6d2b43de5d64a093c30529fd233e16cf09/yarl-1.9.2.tar.gz",
|
||||
"sha256": "04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -15,15 +15,19 @@
|
||||
|
||||
<screenshots>
|
||||
<screenshot width="472" height="622">
|
||||
<caption>Screenshot of Main UI</caption>
|
||||
<image type="source">https://raw.githubusercontent.com/Bavarder/Bavarder/main/data/screenshots/quantum-computing.png</image>
|
||||
<caption>Screenshot of Main UI</caption>
|
||||
<image type="source">https://codeberg.org/Bavarder/Bavarder/raw/branch/main/data/screenshots/preview.png</image>
|
||||
</screenshot>
|
||||
<screenshot width="724" height="732">
|
||||
<caption>Screenshot of Preferences UI</caption>
|
||||
<image type="source">https://codeberg.org/Bavarder/Bavarder/raw/branch/main/data/screenshots/preferences.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
|
||||
<url type="bugtracker">https://codeberg.org/Bavarder/Bavarder/issues</url>
|
||||
<url type="translate">https://translate.codeberg.org/engage/bavarder/</url>
|
||||
<url type="help">https://codeberg.org/Bavarder/Bavarder/issues</url>
|
||||
<url type="homepage">https://codeberg.org/Bavarder/Bavarder</url>
|
||||
<url type="homepage">https://bavarder.codeberg.page</url>
|
||||
|
||||
<kudos>
|
||||
<kudo>HiDpiIcon</kudo>
|
||||
@@ -56,9 +60,48 @@
|
||||
<keyword>ChatGPT</keyword>
|
||||
<keyword>AI</keyword>
|
||||
<keyword>OpenAI</keyword>
|
||||
<keyword>Open Assistant</keyword>
|
||||
<keyword>HuggingFace</keyword>
|
||||
</keywords>
|
||||
|
||||
<releases>
|
||||
<release version="0.2.3" date="2023-5-21" type="stable">
|
||||
<description>
|
||||
<p>Add the ability to use local model</p>
|
||||
<p>Add the ability to use custom model in OpenAI</p>
|
||||
<p>Make loading mechanism faster</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add CI</p>
|
||||
<p>Add support for launching Bavarder offline</p>
|
||||
<p>Update Blueprint to v0.8.0</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.2.2" date="2023-5-16" type="stable">
|
||||
<description>
|
||||
<p>Allow fetching news about providers and check if there is some issues about them</p>
|
||||
<p>Hugging Chat is now disabled because of a change which require to login</p>
|
||||
<p>Providers moved to the menu</p>
|
||||
<p>Update screenshots</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add CI</p>
|
||||
<p>Add support for launching Bavarder offline</p>
|
||||
<p>Update Blueprint to v0.8.0</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.2.1" date="2023-5-13" type="stable">
|
||||
<description>
|
||||
<p>Fix Theming support of the new render widget</p>
|
||||
<p>Add the ability to have multiple windows open at the same time</p>
|
||||
<p>Update preferences UI</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.2.0" date="2023-5-11" type="stable">
|
||||
<description>
|
||||
<p>Add support of formatting in the response view using Markdown</p>
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="enabled-providers" type="as">
|
||||
<default>["baichat", "catgpt", "huggingchat", "openaigpt35turbo"]</default>
|
||||
<default>["baichat", "hfopenassistantsft1pythia12b", "catgpt", "openaigpt35turbo"]</default>
|
||||
</key>
|
||||
<key name="latest-provider" type="s">
|
||||
<default>'huggingchat'</default>
|
||||
<default>'hfopenassistantsft1pythia12b'</default>
|
||||
</key>
|
||||
<key name="providers-data" type="a{ss}">
|
||||
<default>{}</default>
|
||||
@@ -28,5 +28,11 @@
|
||||
<key name="use-text-view" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="close-all-without-dialog" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="allow-remote-fetching" type="b">
|
||||
<default>true</default>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 39 KiB |
BIN
data/screenshots/preferences.png
Normal file
BIN
data/screenshots/preferences.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
BIN
data/screenshots/preview.png
Normal file
BIN
data/screenshots/preview.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 32 KiB |
@@ -23,10 +23,16 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Quit</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Close current window</property>
|
||||
<property name="action-name">app.quit</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Close all windows</property>
|
||||
<property name="action-name">app.quit_all</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Preferences</property>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using Gtk 4.0;
|
||||
using Adw 1;
|
||||
|
||||
template Preferences : Adw.PreferencesWindow {
|
||||
template $Preferences : Adw.PreferencesWindow {
|
||||
title: _("Preferences");
|
||||
default-height: 400;
|
||||
default-width: 600;
|
||||
@@ -21,13 +21,31 @@ template Preferences : Adw.PreferencesWindow {
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Use text view");
|
||||
subtitle: _("If the text view is used, you will lose formatting");
|
||||
title: _("Use plain text for output");
|
||||
subtitle: _("The plain text without formatting will be used");
|
||||
activatable-widget: use_text_view_switch;
|
||||
Gtk.Switch use_text_view_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Close all windows without warning");
|
||||
subtitle: _("All windows will be closed without warning, this can lead to data loss");
|
||||
activatable-widget: close_all_without_dialog_switch;
|
||||
Gtk.Switch close_all_without_dialog_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Look for provider news");
|
||||
subtitle: _("News about issues with providers will be fetched from Bavarder website");
|
||||
activatable-widget: allow_remote_fetching_switch;
|
||||
Gtk.Switch allow_remote_fetching_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup provider_group {
|
||||
|
||||
@@ -2,7 +2,7 @@ using Gtk 4.0;
|
||||
using Adw 1;
|
||||
using WebKit 6.0;
|
||||
|
||||
template BavarderWindow : Adw.ApplicationWindow {
|
||||
template $BavarderWindow : Adw.ApplicationWindow {
|
||||
|
||||
title: _("Bavarder");
|
||||
default-width: 350;
|
||||
@@ -21,15 +21,12 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
Adw.HeaderBar {
|
||||
MenuButton {
|
||||
MenuButton menu {
|
||||
primary: true;
|
||||
menu-model: main-menu;
|
||||
icon-name: "open-menu-symbolic";
|
||||
tooltip-text: _("Main Menu");
|
||||
}
|
||||
DropDown provider_selector {
|
||||
styles ["flat"]
|
||||
}
|
||||
styles ["flat"]
|
||||
}
|
||||
|
||||
@@ -59,10 +56,10 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
styles ["card", "text-box"]
|
||||
|
||||
ScrolledWindow {
|
||||
margin-top:12;
|
||||
margin-bottom:0;
|
||||
margin-start:12;
|
||||
margin-end:12;
|
||||
margin-top: 12;
|
||||
margin-bottom: 0;
|
||||
margin-start: 12;
|
||||
margin-end: 12;
|
||||
styles ["scrolled-window"]
|
||||
|
||||
TextView prompt_text_view {
|
||||
@@ -141,10 +138,10 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
styles ["card", "text-box"]
|
||||
|
||||
ScrolledWindow scrolled_response_window {
|
||||
margin-top:12;
|
||||
margin-bottom:0;
|
||||
margin-start:12;
|
||||
margin-end:12;
|
||||
margin-top: 12;
|
||||
margin-bottom: 0;
|
||||
margin-start: 12;
|
||||
margin-end: 12;
|
||||
styles ["scrolled-window"]
|
||||
|
||||
Gtk.Stack response_stack {
|
||||
@@ -224,6 +221,12 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
|
||||
|
||||
menu main-menu {
|
||||
section {
|
||||
item {
|
||||
label: _("New window");
|
||||
action: "app.new";
|
||||
}
|
||||
}
|
||||
section {
|
||||
item {
|
||||
label: _("Preferences");
|
||||
@@ -234,7 +237,7 @@ menu main-menu {
|
||||
label: _("Keyboard Shortcuts");
|
||||
action: "win.show-help-overlay";
|
||||
}
|
||||
|
||||
|
||||
item {
|
||||
label: _("About Bavarder");
|
||||
action: "app.about";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('bavarder',
|
||||
version: '0.2.0',
|
||||
version: '0.2.3',
|
||||
meson_version: '>= 0.62.0',
|
||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||
)
|
||||
@@ -10,11 +10,11 @@ python = import('python')
|
||||
|
||||
# Constants
|
||||
PROJECT_RDNN_NAME = 'io.github.Bavarder.Bavarder'
|
||||
BUGTRACKER_URL = 'https://github.com/Bavarder/Bavarder/issues'
|
||||
HELP_URL = 'https://github.com/Bavarder/Bavarder/issues'
|
||||
BUGTRACKER_URL = 'https://codeberg.org/Bavarder/Bavarder/issues'
|
||||
HELP_URL = 'https://codeberg.orgBavarder/Bavarder/issues'
|
||||
TRANSLATE_URL = 'https://translate.codeberg.org/engage/bavarder/'
|
||||
|
||||
PROJECT_URL = 'https://github.com/Bavarder'
|
||||
PROJECT_URL = 'https://bavarder.codeberg.page'
|
||||
|
||||
git_bin = find_program('git', required: false)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"POT-Creation-Date: 2023-05-21 22:43+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,24 +17,10 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -52,25 +38,30 @@ msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgid "Close current window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgid "Close all windows"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:300
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
@@ -86,54 +77,90 @@ msgstr ""
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:298
|
||||
msgid "Providers"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:301
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:302
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:151
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:267
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr ""
|
||||
|
||||
27
po/LINGUAS
27
po/LINGUAS
@@ -1,17 +1,18 @@
|
||||
uk
|
||||
ru
|
||||
fr
|
||||
tr
|
||||
fi
|
||||
pl
|
||||
hu
|
||||
az
|
||||
es
|
||||
sv
|
||||
it
|
||||
fa
|
||||
nl
|
||||
zh_Hans
|
||||
pt
|
||||
de
|
||||
uk
|
||||
nl
|
||||
hu
|
||||
cs
|
||||
az
|
||||
tr
|
||||
th
|
||||
es
|
||||
fi
|
||||
ru
|
||||
sv
|
||||
fr
|
||||
pl
|
||||
de
|
||||
it
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
data/io.github.Bavarder.Bavarder.desktop.in
|
||||
data/io.github.Bavarder.Bavarder.appdata.xml.in
|
||||
data/io.github.Bavarder.Bavarder.gschema.xml
|
||||
data/ui/help-overlay.ui
|
||||
data/ui/preferences.blp
|
||||
@@ -8,4 +7,4 @@ src/main.py
|
||||
src/preferences.py
|
||||
src/window.py
|
||||
src/provider/base.py
|
||||
src/provider/catgpt.py
|
||||
src/provider/catgpt.py
|
||||
|
||||
148
po/az.po
148
po/az.po
@@ -9,9 +9,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Azerbaijani <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/az/>\n"
|
||||
"Language: az\n"
|
||||
@@ -21,24 +21,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chit AI ilə söhbət edin"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Əsas UI ekran görüntüsü"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -56,27 +42,32 @@ msgstr "Soruş"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Çıx"
|
||||
msgid "Close current window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Üstünlüklər"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Cavab"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Üstünlüklər"
|
||||
|
||||
@@ -92,57 +83,137 @@ msgstr "Göndərdikdən sonra sorğunu silin"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Sorğu göndərildikdən sonra silinəcək"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Provayderlər"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Əsas menyu"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Şəbəkə bağlantısı yoxdur"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Mesaj"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Buferə kopyalayın"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Soruş"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Gözləyin"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Cavab"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klaviatura Qısayolları"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Bavarder haqqında"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API açarı təqdim edilməyib, siz onu ayarlarda təmin edə bilərsiniz"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Parametrləri açın"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chit AI ilə söhbət edin"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Əsas UI ekran görüntüsü"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Əsas UI ekran görüntüsü"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Üstünlüklər"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Klaviatura Qısayolları"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Klaviatura Qısayolları"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Çıx"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Xüsusi təşəkkürlər"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Çıx"
|
||||
@@ -158,6 +229,3 @@ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Danışıram"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Xüsusi təşəkkürlər"
|
||||
|
||||
163
po/cs.po
163
po/cs.po
@@ -9,9 +9,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-20 07:53+0000\n"
|
||||
"Last-Translator: muznyo <codeberg.vqtek@simplelogin.com>\n"
|
||||
"Language-Team: Czech <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/cs/>\n"
|
||||
"Language: cs\n"
|
||||
@@ -21,24 +21,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chatovat s umělou inteligencí"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Snímek obrazovky hlavního uživatelského rozhraní"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -56,29 +42,30 @@ msgstr "Zeptat se"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Ukončit"
|
||||
msgid "Close current window"
|
||||
msgstr "Zavřít aktuální okno"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "Zavřít všechna okna"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Nastavení"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Odpověď"
|
||||
msgstr "Zkopírovat odpověď"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Vymazat"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Nastavení"
|
||||
|
||||
@@ -94,57 +81,146 @@ msgstr "Vymazat dotaz po odeslání"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Dotaz bude vymazán po odeslání"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Použít prostý text pro výstup"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Použije se prostý text bez formátování"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Zavřít všechna okna bez varování"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr "Všechna okna se bez varování zavřou, což může vést ke ztrátě dat"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Podívat se na novinky od poskytovatelů"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr "Zprávy o problémech s poskytovateli budou získávány ze stránek Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Poskytovatelé"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Hlavní menu"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Žádné připojení k síti"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Zpráva"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopírovat do schránky"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Zeptat se"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Čekejte"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Odpověď"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Zastavit"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Nové okno"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klávesové zkratky"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "O Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "Nová verze je k dispozici!"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "Nové okno"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API klíč nebyl přidán, můžete jej přidat v nastavení"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Otevřít nastavení"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chatovat s umělou inteligencí"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Snímek obrazovky hlavního uživatelského rozhraní"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Snímek obrazovky hlavního uživatelského rozhraní"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Konverzace"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Nastavení"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- Aktualizované překlady."
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Klávesové zkratky"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Klávesové zkratky"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Ukončit"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Zvláštní poděkování patří"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "Text zkopírován"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Ukončit"
|
||||
@@ -161,8 +237,5 @@ msgstr "Cat GPT"
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Mluvení"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Zvláštní poděkování patří"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Připraveno"
|
||||
|
||||
177
po/de.po
177
po/de.po
@@ -5,13 +5,14 @@
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# maymage <maymage@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-17 11:04+0000\n"
|
||||
"Last-Translator: maymage <maymage@gmail.com>\n"
|
||||
"Language-Team: German <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/de/>\n"
|
||||
"Language: de\n"
|
||||
@@ -21,24 +22,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Plaudern Sie mit GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Screenshot der Hauptbenutzeroberfläche"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -47,7 +34,7 @@ msgstr "Allgemein"
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Verknüpfungen anzeigen"
|
||||
msgstr "Tastenkürzel anzeigen"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
@@ -56,27 +43,30 @@ msgstr "Fragen"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Aufhören"
|
||||
msgid "Close current window"
|
||||
msgstr "Aktuelles Fenster schließen"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "Alle Fenster schließen"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Antwort"
|
||||
msgstr "Antwort kopieren"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
@@ -92,58 +82,156 @@ msgstr "Eingabeaufforderung nach dem Senden löschen"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Die Eingabeaufforderung wird nach dem Senden gelöscht"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Klartextausgabe verwenden"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Es wird Reintext ohne Formatierung verwendet"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Alle Fenster ohne Warnung schließen"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Alle Fester werden ohne Warnung geschlossen, dies kann zu Datenverlust führen"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Nach neuen Anbietern suchen"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Neuigkeiten zu Anbieterproblemen werden von der Bavarder Webseite bezogen"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Anbieter"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Hauptmenü"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Keine Netzwerkverbindung"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Meldung"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "In die Zwischenablage kopieren"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Warten"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Antwort"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastatürkürzel"
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Neues Fenster"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastenkürzel"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Über Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "Neue Version verfügbar!"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "Neues Fenster"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Kein API-Schlüssel angegeben, Sie können einen in den Einstellungen angeben"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Einstellungen öffnen"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Katze GPT"
|
||||
#, fuzzy
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Katze GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Plaudern Sie mit GPT"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Screenshot der Hauptbenutzeroberfläche"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Screenshot der Hauptbenutzeroberfläche"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Unterhaltung"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Katze GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Einstellungen"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- Aktualisierte Übersetzungen"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Tastatürkürzel"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Tastatürkürzel"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Aufhören"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Besonderer Dank an"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "Text kopiert"
|
||||
|
||||
#~ msgid "Use text view"
|
||||
#~ msgstr "Verwenden Sie die Textansicht"
|
||||
|
||||
#~ msgid "If the text view is used, you will lose formatting"
|
||||
#~ msgstr "Wenn die Textansicht verwendet wird, geht die Formatierung verloren"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Aufhören"
|
||||
@@ -160,9 +248,6 @@ msgstr "Katze GPT"
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Reden"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Besonderer Dank an"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Bereit"
|
||||
|
||||
|
||||
156
po/es.po
156
po/es.po
@@ -12,8 +12,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-08 22:37+0000\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-19 15:34+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Spanish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/es/>\n"
|
||||
@@ -24,24 +24,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Conversa con una IA"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Captura de Pantalla de la Interfaz de Usuario Principal"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -59,25 +45,30 @@ msgstr "Preguntar"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Abandonar"
|
||||
msgid "Close current window"
|
||||
msgstr "Cerrar la ventana actual"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "Cerrar todas las ventanas"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Copiar la respuesta"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Borrar"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
@@ -93,58 +84,148 @@ msgstr "Limpiar entrada después de enviar"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "La entrada será borrada después de enviar"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Utiliza el texto sin formato para la salida"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Se utilizará el texto sin formato"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Cerrar todas las ventanas sin previo aviso"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Todas las ventanas se cerrarán sin previo aviso, lo que puede provocar la "
|
||||
"pérdida de datos"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Buscar las noticias de los proveedores"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Las noticias con los problemas de los proveedores se buscarán en la página "
|
||||
"web de Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Proveedores"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Menú Principal"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "No hay conexión de red"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Mensaje"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar al portapapeles"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Preguntar"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Espera"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Respuesta"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Detener"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Nueva ventana"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atajos de Teclado"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "¡Una nueva versión está disponible!"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "Nueva Ventana"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"No se ha ingresado una API Key valida, puede ingresar una en Configuraciones"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configuraciones"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Charla GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Charla GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Conversa con una IA"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Captura de Pantalla de la Interfaz de Usuario Principal"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Captura de Pantalla de la Interfaz de Usuario Principal"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Chat"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Charla GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Preferencias"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- Traducciones actualizadas"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Atajos de Teclado"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Atajos de Teclado"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Abandonar"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Agradecimientos especiales a"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Salir"
|
||||
@@ -161,9 +242,6 @@ msgstr "Charla GPT"
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Hablando"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Agradecimientos especiales a"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Leer"
|
||||
|
||||
|
||||
140
po/fa.po
140
po/fa.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Persian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fa/>\n"
|
||||
@@ -21,24 +21,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "باوارده"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "گپی با هوش مصنوعی"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "سازنده: 0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "تصویر نمای اصلی"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -56,29 +42,34 @@ msgstr "بپرس"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "خروج"
|
||||
msgid "Close current window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "پیشفرضها"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "پاسخ"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "پاکسازی"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "پیشفرضها"
|
||||
|
||||
@@ -94,57 +85,134 @@ msgstr "متن درخواست رو بعد از ارسال پاک کن"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "متن درخواست بعد از ارسال پاک خواهد شد"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "تامین کنندگان"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "منوی اصلی"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "ارتباط شبکه برقرار نیست"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "پیام"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "کپی به کلیپ بورد"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "بپرس"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "منتظر باش"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "پاسخ"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "توقف"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "کلیدهای میانبر"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "درباره"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "کلید API پیدا نشد، می توانید دربخش تنطیمات آن را وارد کنید"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "تنظيمات"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "کت جی پی تی"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "کت جی پی تی"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "گپی با هوش مصنوعی"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "سازنده: 0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "تصویر نمای اصلی"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "تصویر نمای اصلی"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "کت جی پی تی"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "پیشفرضها"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "کلیدهای میانبر"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "کلیدهای میانبر"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "خروج"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "خروج"
|
||||
|
||||
155
po/fi.po
155
po/fi.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-11 17:11+0000\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-18 21:37+0000\n"
|
||||
"Last-Translator: artnay <jiri.gronroos@iki.fi>\n"
|
||||
"Language-Team: Finnish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fi/>\n"
|
||||
@@ -21,24 +21,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Keskustele tekoälyn kanssa"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Kuvakaappaus käyttöliittymästä"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -56,25 +42,30 @@ msgstr "Kysy"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Lopeta"
|
||||
msgid "Close current window"
|
||||
msgstr "Sulje nykyinen ikkuna"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "Sulje kaikki ikkunat"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Asetukset"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Kopioi vastaus"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Tyhjennä"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Asetukset"
|
||||
|
||||
@@ -90,57 +81,146 @@ msgstr "Tyhjennä kehote lähetyksen jälkeen"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Kehote tyhjennetään lähetyksen jälkeen"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Käytä raakatekstiä tulosteena"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Käytetään raakatekstiä ilman muotoilua"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Sulje kaikki ikkunat varoittamatta"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Kaikki ikkunat suljetaan varoittamatta, tämä voi johtaa tietojen katoamiseen"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Etsi uutisia palveluntarjoajista"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Palveluntarjoajiin liittyviä asioita käsitteleviä uutisia haetaan Bavarderin "
|
||||
"verkkosivustolta"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Palveluntarjoajat"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Päävalikko"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Ei verkkoyhteyttä"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Viesti"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopioi leikepöydälle"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Kysy"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Odota"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Vastaus"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Lopeta"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Uusi ikkuna"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Pikanäppäimet"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Tietoja - Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "Uusi versio saatavilla!"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "Uusi ikkuna"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API-avainta ei asetettu, aseta avain asetuksissa"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Avaa asetukset"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Keskustele tekoälyn kanssa"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Kuvakaappaus käyttöliittymästä"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Kuvakaappaus käyttöliittymästä"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "OpenAI"
|
||||
#~ msgstr "OpenAI"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Asetukset"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Pikanäppäimet"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Pikanäppäimet"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Lopeta"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Erityiskiitokset"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "Teksti kopioitu"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Lopeta"
|
||||
@@ -156,6 +236,3 @@ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Puhutaan"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Erityiskiitokset"
|
||||
|
||||
174
po/fr.po
174
po/fr.po
@@ -11,9 +11,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-08 07:53+0000\n"
|
||||
"Last-Translator: rene-coty <irenee.thirion@e.email>\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-18 07:49+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
|
||||
"Language-Team: French <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fr/>\n"
|
||||
"Language: fr\n"
|
||||
@@ -23,24 +23,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Bavarder avec GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Capture d’écran de l’interface principale"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -58,25 +44,30 @@ msgstr "Demander"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Quitter"
|
||||
msgid "Close current window"
|
||||
msgstr "Fermer la fenêtre actuelle"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "Fermer toutes les fenêtres"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Copier la réponse"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Vider"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
@@ -92,58 +83,164 @@ msgstr "Effacer la requête après envoi"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "La requête sera effacée après envoi"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Utiliser du texte brut pour la sortie"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Le texte brut sans mise en forme sera utilisé"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Fermer toutes les fenêtres sans avertissement"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Toutes les fenêtres vont être fermées sans avertissement, cela peut créer "
|
||||
"des pertes de données"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Chercher des informations à propos des fournisseurs"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Des informations à propos des problèmes avec les fournisseurs seront "
|
||||
"téléchargées depuis le site de Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Fournisseurs"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Pas de connexion réseau"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copier dans le presse-papiers"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Demander"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Attendez"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Réponse"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Nouvelle fenêtre"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis clavier"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "À propos de Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "Nouvelle version disponible !"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "Nouvelle Fenêtre"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Pas de clé d’API fournie, vous pouvez en ajouter une dans les paramètres"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Ouvrir les paramètres"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Bavarder avec GPT"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Capture d’écran de l’interface principale"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Capture d’écran de l’interface principale"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Discussion"
|
||||
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "GPT"
|
||||
|
||||
#~ msgid "ChatGPT"
|
||||
#~ msgstr "ChatGPT"
|
||||
|
||||
#~ msgid "AI"
|
||||
#~ msgstr "IA"
|
||||
|
||||
#~ msgid "OpenAI"
|
||||
#~ msgstr "OpenAI"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Préférences"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- Traductions mises à jour"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Raccourcis clavier"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Raccourcis clavier"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Quitter"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Remerciements spéciaux à"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "Texte copié"
|
||||
|
||||
#~ msgid "Use text view"
|
||||
#~ msgstr "Utiliser la vue texte"
|
||||
|
||||
#~ msgid "If the text view is used, you will lose formatting"
|
||||
#~ msgstr "Si la vue texte est utilisée, vous perdrez la mise en forme"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Quitter"
|
||||
@@ -160,9 +257,6 @@ msgstr "Cat GPT"
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "En train de parler"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Remerciements spéciaux à"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Prêt"
|
||||
|
||||
|
||||
116
po/hu.po
116
po/hu.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Hungarian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/hu/>\n"
|
||||
@@ -21,24 +21,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -56,27 +42,30 @@ msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Kilépés"
|
||||
msgid "Close current window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Kiürítés"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
@@ -92,57 +81,108 @@ msgstr ""
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Nincs hálózati kapcsolat"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Üzenet"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Másolás a vágólapra"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Megállítás"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr ""
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Csevegés"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Beállítások"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- Frissített fordítások"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Kilépés"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgctxt "shortcut window"
|
||||
|
||||
167
po/it.po
167
po/it.po
@@ -6,13 +6,15 @@
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# phaerrax <davide.ferracin@protonmail.com>, 2023.
|
||||
# elgandoz <gandi.marco@gmail.com>, 2023.
|
||||
# CraftWorksMC <thelonegamer87@gmail.com>, 2023.
|
||||
# maymage <maymage@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-18 00:37+0000\n"
|
||||
"Last-Translator: maymage <maymage@gmail.com>\n"
|
||||
"Language-Team: Italian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/it/>\n"
|
||||
"Language: it\n"
|
||||
@@ -22,24 +24,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chiacchiera con un'IA"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Schermata dell'interfaccia principale"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -57,33 +45,35 @@ msgstr "Chiedi"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Esci"
|
||||
msgid "Close current window"
|
||||
msgstr "Chiudi la finestra corrente"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "Chiudi tutte le finestre"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Risposta"
|
||||
msgstr "Copia risposta"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
#, fuzzy
|
||||
msgid "Prompt"
|
||||
msgstr "Prompt"
|
||||
|
||||
@@ -92,61 +82,151 @@ msgid "Clear prompt after send"
|
||||
msgstr "Svuota il prompt dopo l'invio"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
#, fuzzy
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Il prompt verrà svuotato dopo l'invio"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
#, fuzzy
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Utlizzare testo semplice per l'output"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Il testo semplice senza formattazione verrà usato"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Chiudi tutte le finestre senza avvisare"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Tutte le finestre verranno chiuse senza avviso, questo può portare alla "
|
||||
"perdita di dati"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Cerca nuovi gestori"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Notizie su problemi con i gestori verranno recuperate dal sito web di "
|
||||
"Bavander"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Fornitori"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Menù principale"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Nessuna connessione di rete"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Messaggio"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copia negli appunti"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Chiedi"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Attendere"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Risposta"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Nuova finestra"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Scorciatoie da tastiera"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Informazioni su Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "Nuova versione disponibile!"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "Nuova finestra"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Nessuna chiave API fornita; è possibile fornirne una nelle impostazioni"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Apri impostazioni"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chiacchiera con un'IA"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Schermata dell'interfaccia principale"
|
||||
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Schermata dell'interfaccia delle preferenze"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Chat"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "OpenAI"
|
||||
#~ msgstr "OpenAI"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Preferenze"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Scorciatoie da tastiera"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Scorciatoie da tastiera"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Esci"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Un ringraziamento speciale a"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Esci"
|
||||
@@ -160,9 +240,6 @@ msgstr "Cat GPT"
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Parla"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Un ringraziamento speciale a"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Pronto"
|
||||
|
||||
|
||||
233
po/nl.po
233
po/nl.po
@@ -8,9 +8,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-16 20:52+0000\n"
|
||||
"Last-Translator: Vistaus <vistausss@fastmail.com>\n"
|
||||
"Language-Team: Dutch <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/nl/>\n"
|
||||
"Language: nl\n"
|
||||
@@ -20,24 +20,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Babbel met een KI"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Schermfoto van het hoofdscherm"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -55,25 +41,30 @@ msgstr "Vraag stellen"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Afsluiten"
|
||||
msgid "Close current window"
|
||||
msgstr "Huidig venster sluiten"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "Alle vensters sluiten"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Antwoord kopiëren"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Wissen"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
@@ -89,57 +80,222 @@ msgstr "Invoerveld wissen na versturen"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Wis het invoerveld na het stellen van een vraag"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Plattetekstinvoer gebruiken"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Er wordt platte tekst (dus zonder opmaak) gebruikt"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Alle vensters zonder te vragen afsluiten"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Alle vensters worden zonder bevestiging gesloten, wat tot gegevensverlies "
|
||||
"kan leiden"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Nieuws over de diensten"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Nieuws omtrent problemen met diensten wordt opgehaald van de Bavarderwebsite"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Diensten"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Hoofdmenu"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Geen netwerkverbinding"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Bericht"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiëren naar klembord"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Vraag stellen"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Even geduld…"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Antwoord"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Stoppen"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Nieuw venster"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Over Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "Er is een nieuwe versie beschikbaar!"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "Nieuw venster"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Er is geen api-sleutel opgegeven - open de voorkeuren"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Voorkeuren openen"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "CatGPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Babbel met een KI"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Schermfoto van het hoofdscherm"
|
||||
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Schermfoto van de voorkeuren"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Gesprek"
|
||||
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "GPT"
|
||||
|
||||
#~ msgid "ChatGPT"
|
||||
#~ msgstr "ChatGPT"
|
||||
|
||||
#~ msgid "AI"
|
||||
#~ msgstr "KI"
|
||||
|
||||
#~ msgid "OpenAI"
|
||||
#~ msgstr "OpenAI"
|
||||
|
||||
#~ msgid "Fix Theming support of the new render widget"
|
||||
#~ msgstr "Opgelost: thema-ondersteuning van het nieuwe weergave-element"
|
||||
|
||||
#~ msgid "Add the ability to have multiple windows open at the same time"
|
||||
#~ msgstr "Nieuw: mogelijkheid om meerdere vensters tegelijkertijd te openen"
|
||||
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Bijgewerkt: vormgeving van voorkeurenscherm"
|
||||
|
||||
#~ msgid "Fix some bugs"
|
||||
#~ msgstr "Opgelost: enkele bugs"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "Bijgewerkt: vertalingen"
|
||||
|
||||
#~ msgid "Add better error handling"
|
||||
#~ msgstr "Verbeterd: betere foutafhandeling"
|
||||
|
||||
#~ msgid "Add support of formatting in the response view using Markdown"
|
||||
#~ msgstr "Nieuw: ondersteuning voor markdownopmaak in de antwoordweergave"
|
||||
|
||||
#~ msgid "Allow disabling the new render method"
|
||||
#~ msgstr "Nieuw: mogelijkheid om de nieuwe weergavemethode uit te schakelen"
|
||||
|
||||
#~ msgid "Add description of providers"
|
||||
#~ msgstr "Nieuw: beschrijving van diensten"
|
||||
|
||||
#~ msgid "Add help for getting a token for providers"
|
||||
#~ msgstr ""
|
||||
#~ "Nieuw: hulp omtrent het ophalen van een toegangssleutel van diensten"
|
||||
|
||||
#~ msgid "New website including some help for providers"
|
||||
#~ msgstr "Nieuw: websitie met hulp omtrent diensten"
|
||||
|
||||
#~ msgid "Fix an issue which caused the app to spin forever"
|
||||
#~ msgstr "Opgelost: probleem waarbij de toepassing eindeloos bleef laden"
|
||||
|
||||
#~ msgid "Remove Quit entry in the app menu"
|
||||
#~ msgstr "Nieuw: afsluitoptie in het menu verwijderd"
|
||||
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Opgelost: sneltoetsen"
|
||||
|
||||
#~ msgid "Fix an issue which caused the app to crash randomly"
|
||||
#~ msgstr "Opgelost: probleem waarbij de toepassing zo nu en dan kon crashen"
|
||||
|
||||
#~ msgid "Add the ability to enable/disable providers from the preferences"
|
||||
#~ msgstr ""
|
||||
#~ "Nieuw: mogelijkheid om diensten in/uit te schakelen in de voorkeuren"
|
||||
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Nieuw: meer sneltoetsen"
|
||||
|
||||
#~ msgid "Add save/load of settings"
|
||||
#~ msgstr "Nieuw: voorkeuren bewaren/laden"
|
||||
|
||||
#~ msgid "Fix HuggingChat (again)"
|
||||
#~ msgstr "Opgelost: HuggingChat (nogmaals)"
|
||||
|
||||
#~ msgid "Fix HuggingChat"
|
||||
#~ msgstr "Opgelost: HuggingChat"
|
||||
|
||||
#~ msgid "Add multiple providers support"
|
||||
#~ msgstr "Nieuw: ondersteuning voor meerdere diensten"
|
||||
|
||||
#~ msgid "Make HuggingChat the default provider"
|
||||
#~ msgstr "Nieuw: HuggingChat is voortaan de standaarddienst"
|
||||
|
||||
#~ msgid "Focus on the response entry"
|
||||
#~ msgstr "Nieuw: focus ligt voortaan op antwoorden"
|
||||
|
||||
#~ msgid "Fix appdata not having release tags"
|
||||
#~ msgstr "Opgelost: appdata bevatte geen uitgavelabels"
|
||||
|
||||
#~ msgid "Change app ID to io.github.Bavarder.Bavarder"
|
||||
#~ msgstr "Gewijzigd: toepassings-id naar io.github.Bavarder.Bavarder"
|
||||
|
||||
#~ msgid "First release of Bavarder"
|
||||
#~ msgstr "De allereerste versie"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Afsluiten"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Met veel dank aan"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "De tekst is gekopieerd"
|
||||
|
||||
#~ msgid "Use text view"
|
||||
#~ msgstr "Tekstweergave inschakelen"
|
||||
|
||||
#~ msgid "If the text view is used, you will lose formatting"
|
||||
#~ msgstr "Als de tekstweergave is ingeschakeld, wordt alle opmaak gewist"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Afsluiten"
|
||||
@@ -155,6 +311,3 @@ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Bezig met praten…"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Met veel dank aan"
|
||||
|
||||
172
po/pl.po
172
po/pl.po
@@ -5,13 +5,14 @@
|
||||
#
|
||||
# ioghjog <michal.d1191@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# Eryk Michalak <gnu.ewm@protonmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-19 15:34+0000\n"
|
||||
"Last-Translator: Eryk Michalak <gnu.ewm@protonmail.com>\n"
|
||||
"Language-Team: Polish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/pl/>\n"
|
||||
"Language: pl\n"
|
||||
@@ -22,24 +23,10 @@ msgstr ""
|
||||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Pogawędka z SI"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Zrzut ekranu interfejsu"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -57,29 +44,30 @@ msgstr "Zapytaj"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Wyjdź"
|
||||
msgid "Close current window"
|
||||
msgstr "Zamknij bieżące okno"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "Zamknij wszystkie okna"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencje"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Odpowiedź"
|
||||
msgstr "Kopiuj odpowiedź"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Wyczyść"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencje"
|
||||
|
||||
@@ -95,57 +83,154 @@ msgstr "Czyść zapytanie po wysłaniu"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Zapytanie zostanie wyczyszczone po wysłaniu"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Użyj zwykłego tekstu na wyjściu"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Użyty zostanie zwykły tekst bez formatowania"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Zamknij wszystkie okna bez ostrzeżenia"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Wszystkie okna zostaną zamknięte bez żadnego ostrzeżenia, może to spowodować "
|
||||
"utratę danych"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Dostawcy"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Główne menu"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Brak połączenia z siecią"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Wiadomość"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Skopiuj do schowka"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Zapytaj"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Czekaj"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Odpowiedź"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Zatrzymaj"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Nowe okno"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Skróty klawiszowe"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "O Bavarderze"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "Dostępna jest nowa wersja!"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "Nowe okno"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Nie podano klucza API, dodaj go w ustawieniach"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Otwórz ustawienia"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Pogawędka z SI"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Zrzut ekranu interfejsu"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Zrzut ekranu interfejsu"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Czat"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "OpenAI"
|
||||
#~ msgstr "OpenAI"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Preferencje"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Skróty klawiszowe"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Skróty klawiszowe"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Wyjdź"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Specjalne podziękowania dla"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "Skopiowano tekst"
|
||||
|
||||
#~ msgid "Use text view"
|
||||
#~ msgstr "Użyj widoku tekstowego"
|
||||
|
||||
#~ msgid "If the text view is used, you will lose formatting"
|
||||
#~ msgstr "Używanie widoku tekstowego spowoduje utratę formatowania"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Wyjdź"
|
||||
@@ -161,6 +246,3 @@ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Mówienie"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Specjalne podziękowania dla"
|
||||
|
||||
149
po/pt.po
149
po/pt.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Portuguese <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/pt/>\n"
|
||||
@@ -21,24 +21,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Bate-papo com uma IA"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Captura da tela principal"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -56,29 +42,34 @@ msgstr "Perguntar"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Sair"
|
||||
msgid "Close current window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Resposta"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Limpar"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
@@ -94,58 +85,141 @@ msgstr "Limpar prompt após enviar"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "O prompt será limpo após o envio"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Provedores"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Nenhuma conexão de rede"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Mensagem"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar para área de transferência"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Perguntar"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Espere"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Resposta"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Parar"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atalhos do teclado"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Nenhuma chave de API fornecida, você pode fornecer uma nas configurações"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configurações"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Bate-papo com uma IA"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Captura da tela principal"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Captura da tela principal"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Conversas"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Preferências"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Atalhos do teclado"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Atalhos do teclado"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Sair"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Agradecimentos especiais para"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Sair"
|
||||
@@ -161,6 +235,3 @@ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Falando"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Agradecimentos especiais para"
|
||||
|
||||
239
po/ru.po
239
po/ru.po
@@ -10,37 +10,23 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-17 11:04+0000\n"
|
||||
"Last-Translator: Daudix_UFO <ddaudix@gmail.com>\n"
|
||||
"Language-Team: Russian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/ru/>\n"
|
||||
"Language: ru\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"
|
||||
"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 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Болтайте с GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Снимок экрана главного интерфейса"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -58,25 +44,30 @@ msgstr "Спросить"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Выйти"
|
||||
msgid "Close current window"
|
||||
msgstr "Закрыть текущее окно"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "Закрыть все окна"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Параметры"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Скопировать ответ"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Очистить"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Параметры"
|
||||
|
||||
@@ -92,57 +83,224 @@ msgstr "Очищать поле ввода после отправки"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Поле ввода будет очищено после отправки"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Использовать обычный текст для вывода"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Будет использован обычный текст без форматирования"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Закрывать все окна без предупреждения"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Все окна будут закрываться без предупреждения, это может перевести к потере "
|
||||
"данных"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Искать новости о провайдерах"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr "Новости о проблемах с провайдерами будут получены с сайта Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Провайдеры"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Главное меню"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Нет подключения к сети"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Сообщение"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Скопировать в буфер обмена"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Спросить"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Ждите"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Ответ"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Остановить"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Новое окно"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Комбинации клавиш"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "О Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "Доступна новая версия!"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "Новое окно"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Ключ API не предоставлен, вы можете предоставить его в настройках"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Открыть настройки"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "CatGPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Болтайте с GPT"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Снимок экрана главного интерфейса"
|
||||
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Снимок экрана интерфейса параметров"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Чат"
|
||||
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "GPT"
|
||||
|
||||
#~ msgid "ChatGPT"
|
||||
#~ msgstr "ChatGPT"
|
||||
|
||||
#~ msgid "AI"
|
||||
#~ msgstr "AI"
|
||||
|
||||
#~ msgid "OpenAI"
|
||||
#~ msgstr "OpenAI"
|
||||
|
||||
#~ msgid "Fix Theming support of the new render widget"
|
||||
#~ msgstr "Исправить поддержку оформления для нового виджета рендеринга"
|
||||
|
||||
#~ msgid "Add the ability to have multiple windows open at the same time"
|
||||
#~ msgstr "Добавить возможность одновременного открытия нескольких окон"
|
||||
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Обновление интерфейса параметров"
|
||||
|
||||
#~ msgid "Fix some bugs"
|
||||
#~ msgstr "Исправление некоторых ошибок"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "Обновления переводов"
|
||||
|
||||
#~ msgid "Add better error handling"
|
||||
#~ msgstr "Добавлена улучшенная обработка ошибок"
|
||||
|
||||
#~ msgid "Add support of formatting in the response view using Markdown"
|
||||
#~ msgstr ""
|
||||
#~ "Добавлена поддержка форматирования в представлении ответа с помощью "
|
||||
#~ "Markdown"
|
||||
|
||||
#~ msgid "Allow disabling the new render method"
|
||||
#~ msgstr "Разрешить отключение нового метода рендеринга"
|
||||
|
||||
#~ msgid "Add description of providers"
|
||||
#~ msgstr "Добавлены описания провайдеров"
|
||||
|
||||
#~ msgid "Add help for getting a token for providers"
|
||||
#~ msgstr "Добавлена справка по получению токена для провайдеров"
|
||||
|
||||
#~ msgid "New website including some help for providers"
|
||||
#~ msgstr "Новый веб-сайт, включающий некоторую справку для провайдеров"
|
||||
|
||||
#~ msgid "Fix an issue which caused the app to spin forever"
|
||||
#~ msgstr "Исправлена проблема, из-за которой приложение крутилось вечно"
|
||||
|
||||
#~ msgid "Remove Quit entry in the app menu"
|
||||
#~ msgstr "Удален пункт \"Выход\" из меню приложения"
|
||||
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Исправление комбинаций клавиш"
|
||||
|
||||
#~ msgid "Fix an issue which caused the app to crash randomly"
|
||||
#~ msgstr ""
|
||||
#~ "Исправление проблемы, которая приводила к случайным сбоям в работе "
|
||||
#~ "приложения"
|
||||
|
||||
#~ msgid "Add the ability to enable/disable providers from the preferences"
|
||||
#~ msgstr "Добавлена возможность включать/выключать провайдеров в параметрах"
|
||||
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Добавьте больше комбинаций клавиш"
|
||||
|
||||
#~ msgid "Add save/load of settings"
|
||||
#~ msgstr "Добавлено сохранение/загрузка настроек"
|
||||
|
||||
#~ msgid "Fix HuggingChat (again)"
|
||||
#~ msgstr "Исправить HuggingChat (снова)"
|
||||
|
||||
#~ msgid "Fix HuggingChat"
|
||||
#~ msgstr "Исправить HuggingChat"
|
||||
|
||||
#~ msgid "Add multiple providers support"
|
||||
#~ msgstr "Добавлена поддержка нескольких провайдеров"
|
||||
|
||||
#~ msgid "Make HuggingChat the default provider"
|
||||
#~ msgstr "Сделать HuggingChat провайдером по умолчанию"
|
||||
|
||||
#~ msgid "Focus on the response entry"
|
||||
#~ msgstr "Фокусировка на поле ввода ответа"
|
||||
|
||||
#~ msgid "Fix appdata not having release tags"
|
||||
#~ msgstr "Исправление отсутствия тегов релиза appdata"
|
||||
|
||||
#~ msgid "Change app ID to io.github.Bavarder.Bavarder"
|
||||
#~ msgstr "Изменить app ID на io.github.Bavarder.Bavarder"
|
||||
|
||||
#~ msgid "First release of Bavarder"
|
||||
#~ msgstr "Первый выпуск Bavarder"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Выйти"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Особое спасибо"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "Текст скопирован"
|
||||
|
||||
#~ msgid "Use text view"
|
||||
#~ msgstr "Использовать текстовое представление"
|
||||
|
||||
#~ msgid "If the text view is used, you will lose formatting"
|
||||
#~ msgstr ""
|
||||
#~ "Если используется текстовое представление, вы потеряете форматирование"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Выйти"
|
||||
@@ -159,9 +317,6 @@ msgstr "Cat GPT"
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Произношение"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Особое спасибо"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Готов"
|
||||
|
||||
|
||||
151
po/sv.po
151
po/sv.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Swedish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/sv/>\n"
|
||||
@@ -22,24 +22,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chatta med en AI"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Skärmdump av huvudgränssnittet"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -57,29 +43,32 @@ msgstr "Fråga"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Avsluta"
|
||||
msgid "Close current window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Svar"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Rensa"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Inställningar"
|
||||
|
||||
@@ -95,57 +84,140 @@ msgstr "Töm prompt efter den har skickats"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Prompten kommer att rensas efter att den har skickats"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Leverantörer"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Huvudmeny"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Ingen kontakt med nätverket"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Meddelande"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiera till urklipp"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Fråga"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Vänta"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Svar"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Stoppa"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tangentbordsgenvägar"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Om Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Ingen API-nyckel har angetts, du kan ange en i inställningarna"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Öppna inställningar"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chatta med en AI"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Skärmdump av huvudgränssnittet"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Skärmdump av huvudgränssnittet"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Inställningar"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- Uppdaterade översättningarna"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Tangentbordsgenvägar"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Tangentbordsgenvägar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Avsluta"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Särskilt tack till"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Avsluta"
|
||||
@@ -162,9 +234,6 @@ msgstr "Cat GPT"
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Talar"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Särskilt tack till"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "läst"
|
||||
|
||||
|
||||
142
po/th.po
142
po/th.po
@@ -8,9 +8,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-11 05:14+0000\n"
|
||||
"Last-Translator: watchakorn-18k <porton555@gmail.com>\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Thai <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/th/>\n"
|
||||
"Language: th\n"
|
||||
@@ -20,24 +20,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "แบบวาร์เดอร์"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "แชทกับ AI"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "ภาพหน้าจอของ UI หลัก"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -55,25 +41,30 @@ msgstr "ถาม"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "ออก"
|
||||
msgid "Close current window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "การตั้งค่า"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "คัดลอกการตอบกลับ"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "ล้าง"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "การตั้งค่า"
|
||||
|
||||
@@ -89,54 +80,131 @@ msgstr "ล้างพร้อมต์หลังจากส่ง"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "พรอมต์จะถูกล้างหลังจากส่ง"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "ผู้ให้บริการ"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "เมนูหลัก"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "ไม่มีการเชื่อมต่อเครือข่าย"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "ข้อความ"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "คัดลอกไปยังคลิปบอร์ด"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "ถาม"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "รอ"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "การตอบสนอง"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "แป้นพิมพ์ลัด"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "เกี่ยวกับแบบวาร์เดอร์"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "ไม่มีรหัส API คุณสามารถระบุได้ในการตั้งค่าได้"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "เปิดการตั้งค่า"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "แมว GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "แมว GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "แชทกับ AI"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "ภาพหน้าจอของ UI หลัก"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "ภาพหน้าจอของ UI หลัก"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "แมว GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "การตั้งค่า"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "แป้นพิมพ์ลัด"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "แป้นพิมพ์ลัด"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "ออก"
|
||||
|
||||
154
po/tr.po
154
po/tr.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Turkish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/tr/>\n"
|
||||
@@ -21,24 +21,10 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chit AI ile sohbet edin"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Ana Kullanıcı Arayüzü'nün ekran görüntüsü"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -56,29 +42,34 @@ msgstr "Sor"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Çıkış"
|
||||
msgid "Close current window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Yanıt"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Temizle"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
@@ -94,57 +85,145 @@ msgstr "Gönderdikten sonra giriş alanını temizle"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Gönderimden sonra giriş alanı temizlenecek"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Sağlayıcılar"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Ana Menü"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Ağ bağlantısı yok"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Mesaj"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Panoya kopyala"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Sor"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Bekle"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Yanıt"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Dur"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Yeni Pencere"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klavye kısayolları"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Bavarder Hakkında"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:266
|
||||
#, fuzzy
|
||||
#| msgid "New window"
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pencere"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API anahtarı sağlanmadı, ayarlarda bir tane sağlayabilirsiniz"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Ayarları aç"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Chit AI ile sohbet edin"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Ana Kullanıcı Arayüzü'nün ekran görüntüsü"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Ana Kullanıcı Arayüzü'nün ekran görüntüsü"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Sohbet"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Tercihler"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- Çeviri güncellemeleri"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Klavye kısayolları"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Klavye kısayolları"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Çıkış"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Özel teşekkürler"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Çıkış"
|
||||
@@ -160,6 +239,3 @@ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Konuşuyor"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Özel teşekkürler"
|
||||
|
||||
173
po/uk.po
173
po/uk.po
@@ -6,12 +6,13 @@
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# Orest58008 <orest58008@tuta.io>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# volkov <d2oo1dle2x@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Ukrainian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/uk/>\n"
|
||||
@@ -19,28 +20,14 @@ msgstr ""
|
||||
"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"
|
||||
"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 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Побалакати з ШІ"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Знімок головного інтерфейсу"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
@@ -49,7 +36,7 @@ msgstr "Загальні"
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Показати Скорочення"
|
||||
msgstr "Показати комбінації клавіш"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
@@ -58,29 +45,30 @@ msgstr "Запитати"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Вийти"
|
||||
msgid "Close current window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Опції"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Відповідь"
|
||||
msgstr "Копіювати відповідь"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Очистити"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "Опції"
|
||||
|
||||
@@ -96,57 +84,149 @@ msgstr "Очистити запит після надсилання"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Запит буде очищений після надсилання"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
#, fuzzy
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Використовувати звичайний текст для виводу"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Звичайний текст, без форматування, буде використовуватися"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "Постачальники"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Головне Меню"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Відсутнє з'єднання з мережею"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Повідомлення"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Копіювати"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Запитати"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Чекати"
|
||||
msgstr "Чекайте"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "Відповідь"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "Зупинити"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Комбінації Клавіш"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "Про Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:266
|
||||
#, fuzzy
|
||||
#| msgid "New window"
|
||||
msgid "New Window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Відсутній ключ API, надайте його в налаштуваннях"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Відкрити налаштування"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Кіт GPT"
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Кіт GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Побалакати з ШІ"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Знімок головного інтерфейсу"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Screenshot of Main UI"
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "Знімок головного інтерфейсу"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Бесіда"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Кіт GPT"
|
||||
|
||||
#~ msgid "OpenAI"
|
||||
#~ msgstr "OpenAI"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "Опції"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "Комбінації Клавіш"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "Комбінації Клавіш"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Вийти"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Особлива подяка"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "Текст скопійовано"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Вийти"
|
||||
@@ -163,9 +243,6 @@ msgstr "Кіт GPT"
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Говорить"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Особлива подяка"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Готово"
|
||||
|
||||
|
||||
220
po/zh_Hans.po
Normal file
220
po/zh_Hans.po
Normal file
@@ -0,0 +1,220 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# yangyangdaji <1504305527@qq.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-17 17:12+0200\n"
|
||||
"PO-Revision-Date: 2023-05-18 07:47+0000\n"
|
||||
"Last-Translator: yangyangdaji <1504305527@qq.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <https://translate.codeberg.org/projects/"
|
||||
"bavarder/bavarder/zh_Hans/>\n"
|
||||
"Language: zh_Hans\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 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "常规"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "显示快捷方式"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "问"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close current window"
|
||||
msgstr "关闭当前窗口"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close all windows"
|
||||
msgstr "关闭全部窗口"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "首选项"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "复制回复"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "清除"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:297
|
||||
msgid "Preferences"
|
||||
msgstr "首选项"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "提示词"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "发送后明确提示"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "发送后将清除该提示"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "使用纯文本进行输出"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "将使用没有格式化的纯文本"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "毫无警告地关闭所有窗口"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr "所有窗口将在没有警告的情况下关闭,这可能导致数据丢失"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "寻找提供商新闻"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr "有关提供商问题的新闻将从 Bavarder 网站获取"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
msgid "Providers"
|
||||
msgstr "提供者"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "主菜单"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "无网络连接"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "消息"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "复制到剪贴板"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "询问"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "等待"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
msgid "Response"
|
||||
msgstr "回复"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
msgid "Stop"
|
||||
msgstr "停止"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "新窗口"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "键盘快捷键"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
msgid "About Bavarder"
|
||||
msgstr "关于 Bavarder"
|
||||
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr "新版本可用!"
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr "新窗口"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "没有提供API密钥,您可以在设置中提供一个"
|
||||
|
||||
#: src/provider/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "打开设置"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "与AI一起聊天"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "主界面的屏幕截图"
|
||||
|
||||
#~ msgid "Screenshot of Preferences UI"
|
||||
#~ msgstr "首选项界面的屏幕截图"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "聊天"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Cat GPT"
|
||||
#~ msgid "GPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgid "Update preferences UI"
|
||||
#~ msgstr "首选项"
|
||||
|
||||
#~ msgid "Update translations"
|
||||
#~ msgstr "- 更新了新的翻译。"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Fix keyboard shortcuts"
|
||||
#~ msgstr "键盘快捷键"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Keyboard Shortcuts"
|
||||
#~ msgid "Add more keyboard shortcuts"
|
||||
#~ msgstr "键盘快捷键"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "退出"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "特别感谢"
|
||||
|
||||
#~ msgid "Text copied"
|
||||
#~ msgstr "复制文本"
|
||||
@@ -2,10 +2,11 @@
|
||||
# chmod +x flatpak-pip-generator
|
||||
# ./flatpak-pip-generator --requirements-file=requirements.txt --output pypi-dependencies
|
||||
|
||||
baichat-py>=0.1.2
|
||||
hgchat
|
||||
openai
|
||||
Pygments
|
||||
baichat_py
|
||||
googlebardpy
|
||||
markdown
|
||||
openai
|
||||
pymdown-extensions
|
||||
Pygments
|
||||
requests
|
||||
text-generation
|
||||
405
src/main.py
405
src/main.py
@@ -34,6 +34,7 @@ from .window import BavarderWindow
|
||||
from .preferences import Preferences
|
||||
from enum import auto, IntEnum
|
||||
|
||||
from gettext import gettext as _
|
||||
from .constants import app_id, version, build_type
|
||||
|
||||
from tempfile import NamedTemporaryFile
|
||||
@@ -44,6 +45,7 @@ import os
|
||||
import markdown
|
||||
import tempfile
|
||||
import re
|
||||
import requests
|
||||
|
||||
class Step(IntEnum):
|
||||
CONVERT_HTML = auto()
|
||||
@@ -80,19 +82,22 @@ class KillableThread(threading.Thread):
|
||||
def kill(self):
|
||||
self.killed = True
|
||||
|
||||
|
||||
|
||||
ANNOUCEMENT_URL = "https://bavarder.codeberg.page/annoucements.json"
|
||||
|
||||
|
||||
class BavarderApplication(Adw.Application):
|
||||
"""The main application singleton class."""
|
||||
|
||||
annoucements = {}
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(
|
||||
application_id="io.github.Bavarder.Bavarder",
|
||||
flags=Gio.ApplicationFlags.DEFAULT_FLAGS,
|
||||
)
|
||||
self.create_action("quit", self.on_quit, ["<primary>q"])
|
||||
self.create_action("quit_all", self.on_close_all, ["<primary>q"])
|
||||
self.create_action("quit", self.on_quit, ["<primary>w"])
|
||||
self.create_action("about", self.on_about_action)
|
||||
self.create_action(
|
||||
"preferences", self.on_preferences_action, ["<primary>comma"]
|
||||
@@ -102,6 +107,8 @@ class BavarderApplication(Adw.Application):
|
||||
self.create_action("ask", self.on_ask_action, ["<primary>Return"])
|
||||
self.create_action("clear", self.on_clear_action, ["<primary><shift>BackSpace"])
|
||||
self.create_action("stop", self.on_stop_action, ["<primary>Escape"])
|
||||
self.create_action("new", self.on_new_window, ["<primary>n"])
|
||||
self.create_action("open_help", self.on_open_help, ["F1"])
|
||||
# self.create_action("speak", self.on_speak_action, ["<primary>S"])
|
||||
# self.create_action("listen", self.on_listen_action, ["<primary>L"])
|
||||
|
||||
@@ -114,35 +121,125 @@ class BavarderApplication(Adw.Application):
|
||||
set(self.settings.get_strv("enabled-providers"))
|
||||
)
|
||||
self.latest_provider = self.settings.get_string("latest-provider")
|
||||
self.provider = self.latest_provider
|
||||
self.close_all_without_dialog = self.settings.get_boolean(
|
||||
"close-all-without-dialog"
|
||||
)
|
||||
self.create_stateful_action(
|
||||
"set_provider",
|
||||
GLib.VariantType.new("s"),
|
||||
GLib.Variant("s", self.latest_provider),
|
||||
self.on_set_provider_action
|
||||
)
|
||||
self.allow_remote_fetching = self.settings.get_boolean("allow-remote-fetching")
|
||||
self.use_theme = False
|
||||
self.providers = {}
|
||||
|
||||
self.web_view = None
|
||||
self.web_view_pending_html = None
|
||||
def load_annoucements(self):
|
||||
try:
|
||||
self.annoucements = requests.get(ANNOUCEMENT_URL).json()
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
self.latest = self.annoucements["latest"]
|
||||
del self.annoucements["latest"]
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
if not self.latest in version:
|
||||
self.win.banner.set_title(_("New version available!"))
|
||||
self.win.banner.set_revealed(True)
|
||||
|
||||
self.loading = False
|
||||
self.shown = False
|
||||
self.preview_visible = False
|
||||
|
||||
|
||||
def on_open_help(self, action, *args):
|
||||
GLib.spawn_command_line_async(
|
||||
f"xdg-open https://bavarder.codeberg.page"
|
||||
)
|
||||
|
||||
def on_set_provider_action(self, action, *args):
|
||||
self.provider = args[0].get_string()
|
||||
Gio.SimpleAction.set_state(self.lookup_action("set_provider"), args[0])
|
||||
|
||||
|
||||
def quitting(self, *args, **kwargs):
|
||||
"""Called before closing main window."""
|
||||
self.settings.set_strv("enabled-providers", list(self.enabled_providers))
|
||||
self.settings.set_string("latest-provider", self.get_provider().slug)
|
||||
self.settings.set_string("latest-provider", self.provider)
|
||||
|
||||
|
||||
print("Saving providers data...")
|
||||
|
||||
self.save_providers()
|
||||
self.quit()
|
||||
|
||||
@property
|
||||
def win(self):
|
||||
return self.props.active_window
|
||||
|
||||
def on_new_window(self, action, *args):
|
||||
self.new_window()
|
||||
|
||||
def new_window(self, window=None):
|
||||
if window:
|
||||
win = self.props.active_window
|
||||
else:
|
||||
win = BavarderWindow(application=self)
|
||||
win.connect("close-request", self.quitting)
|
||||
self.load_dropdown(win)
|
||||
self.load()
|
||||
win.web_view = None
|
||||
win.web_view_pending_html = None
|
||||
win.loading = False
|
||||
win.shown = False
|
||||
win.preview_visible = False
|
||||
|
||||
win.present()
|
||||
|
||||
def close_all(self):
|
||||
self.quitting()
|
||||
for w in self.get_windows():
|
||||
w.close()
|
||||
|
||||
|
||||
def on_close_all(self, action, param):
|
||||
print("Closing all windows...")
|
||||
|
||||
|
||||
if len(self.get_windows()) == 1:
|
||||
self.on_quit(action, param)
|
||||
elif self.close_all_without_dialog:
|
||||
self.close_all()
|
||||
else:
|
||||
dialog = Adw.MessageDialog(
|
||||
heading="Close all windows?",
|
||||
body="Closing all windows will lead to chat data loss",
|
||||
transient_for=self.props.active_window,
|
||||
)
|
||||
dialog.add_response("cancel", "Cancel")
|
||||
dialog.add_response("close", "Close")
|
||||
dialog.set_response_appearance("close", Adw.ResponseAppearance.DESTRUCTIVE)
|
||||
dialog.set_default_response("cancel")
|
||||
dialog.set_close_response("cancel")
|
||||
dialog.connect("response", self.on_close_all_response)
|
||||
dialog.present()
|
||||
|
||||
def on_close_all_response(self, dialog, response):
|
||||
if response == "close":
|
||||
self.close_all()
|
||||
dialog.close()
|
||||
|
||||
|
||||
def on_quit(self, action, param):
|
||||
"""Called when the user activates the Quit action."""
|
||||
print("Closing active window...")
|
||||
self.quitting()
|
||||
self.win.close()
|
||||
|
||||
def save_providers(self):
|
||||
r = {}
|
||||
for k, p in self.providers.items():
|
||||
r[p.slug] = json.dumps(p.save())
|
||||
print(r)
|
||||
data = GLib.Variant("a{ss}", r)
|
||||
self.settings.set_value("providers-data", data)
|
||||
|
||||
@@ -151,74 +248,75 @@ class BavarderApplication(Adw.Application):
|
||||
self.win.prompt_text_view.get_buffer().set_text("")
|
||||
self.win.prompt_text_view.grab_focus()
|
||||
|
||||
def get_provider(self):
|
||||
print(self.providers)
|
||||
return self.providers[self.win.provider_selector.props.selected]
|
||||
|
||||
def do_activate(self):
|
||||
"""Called when the application is activated.
|
||||
|
||||
We raise the application's main window, creating it if
|
||||
necessary.
|
||||
"""
|
||||
self.win = self.props.active_window
|
||||
if not self.win:
|
||||
self.win = BavarderWindow(application=self)
|
||||
self.win.present()
|
||||
|
||||
self.win.connect("close-request", self.quitting)
|
||||
|
||||
self.load_dropdown()
|
||||
|
||||
self.load()
|
||||
|
||||
print(self.latest_provider)
|
||||
for k, p in self.providers.items():
|
||||
if p.slug == self.latest_provider:
|
||||
print("Setting selected provider to", k)
|
||||
self.win.provider_selector.set_selected(k)
|
||||
break
|
||||
|
||||
self.new_window()
|
||||
if self.allow_remote_fetching:
|
||||
self.load_annoucements()
|
||||
self.win.prompt_text_view.grab_focus()
|
||||
|
||||
def load_dropdown(self):
|
||||
def load_dropdown(self, window=None):
|
||||
if window is None:
|
||||
window = self.props.active_window
|
||||
|
||||
self.menu_model = Gio.Menu()
|
||||
self.menu_model.append_item(Gio.MenuItem.new(label=_("New Window"), detailed_action="app.new"))
|
||||
|
||||
section_menu = Gio.Menu()
|
||||
|
||||
provider_menu = Gio.Menu()
|
||||
|
||||
|
||||
self.provider_selector_model = Gtk.StringList()
|
||||
self.providers = {}
|
||||
|
||||
self.providers_data = self.settings.get_value("providers-data")
|
||||
print(self.providers_data)
|
||||
print(self.enabled_providers)
|
||||
|
||||
for provider, i in zip(
|
||||
self.enabled_providers, range(len(self.enabled_providers))
|
||||
):
|
||||
print("Loading provider", provider)
|
||||
try:
|
||||
self.provider_selector_model.append(PROVIDERS[provider].name)
|
||||
except KeyError:
|
||||
print("Provider", provider, "not found")
|
||||
self.enabled_providers.remove(provider)
|
||||
continue
|
||||
for provider in self.enabled_providers:
|
||||
if provider in self.providers:
|
||||
p = self.providers[provider]
|
||||
name = p.name
|
||||
slug = p.slug
|
||||
else:
|
||||
try:
|
||||
_ = self.providers[i] # doesn't re load if already loaded
|
||||
p = PROVIDERS[provider]
|
||||
name = p.name
|
||||
slug = p.slug
|
||||
except KeyError:
|
||||
self.providers[i] = PROVIDERS[provider](self.win, self)
|
||||
continue
|
||||
else:
|
||||
self.providers[slug] = PROVIDERS[provider](window, self)
|
||||
|
||||
self.win.provider_selector.set_model(self.provider_selector_model)
|
||||
self.win.provider_selector.connect("notify", self.on_provider_selector_notify)
|
||||
item_model = Gio.MenuItem()
|
||||
item_model.set_label(name)
|
||||
item_model.set_action_and_target_value(
|
||||
"app.set_provider",
|
||||
GLib.Variant("s", slug))
|
||||
provider_menu.append_item(item_model)
|
||||
section_menu.append_submenu(_("Providers"), provider_menu)
|
||||
|
||||
section_menu.append_item(Gio.MenuItem.new(label=_("Preferences"), detailed_action="app.preferences"))
|
||||
section_menu.append_item(Gio.MenuItem.new(label=_("Keyboard Shortcuts"), detailed_action="win.show-help-overlay"))
|
||||
section_menu.append_item(Gio.MenuItem.new(label=_("About Bavarder"), detailed_action="app.about"))
|
||||
|
||||
self.menu_model.append_section(None, section_menu)
|
||||
|
||||
window.menu.set_menu_model(self.menu_model)
|
||||
|
||||
def load(self):
|
||||
for p in self.providers.values():
|
||||
print(self.providers_data)
|
||||
try:
|
||||
p.load(data=json.loads(self.providers_data[p.slug]))
|
||||
except KeyError: # provider not in data
|
||||
pass
|
||||
|
||||
def on_provider_selector_notify(self, _unused, pspec):
|
||||
self.win.banner.set_revealed(False)
|
||||
try:
|
||||
self.win.banner.set_revealed(False)
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
def on_about_action(self, widget, _):
|
||||
"""Callback for the app.about action."""
|
||||
@@ -263,6 +361,11 @@ Gtk: {Gtk.MAJOR_VERSION}.{Gtk.MINOR_VERSION}.{Gtk.MICRO_VERSION}
|
||||
Python: {platform.python_version()}
|
||||
OS: {platform.system()} {platform.release()} {platform.version()}
|
||||
Providers: {self.enabled_providers}
|
||||
Use Theme: {self.use_theme}
|
||||
Use Text View: {self.use_text_view}
|
||||
Clear After Send: {self.clear_after_send}
|
||||
Close All Without Dialog: {self.close_all_without_dialog}
|
||||
Current Provider: {self.provider}
|
||||
"""
|
||||
)
|
||||
about.present()
|
||||
@@ -310,9 +413,6 @@ Providers: {self.enabled_providers}
|
||||
|
||||
self.win.toast_overlay.add_toast(toast)
|
||||
|
||||
def ask(self, prompt):
|
||||
return self.providers[self.provider].ask(prompt)
|
||||
|
||||
@staticmethod
|
||||
def on_click_link(web_view, decision, _decision_type):
|
||||
if web_view.get_uri().startswith(("http://", "https://", "www.")):
|
||||
@@ -333,53 +433,53 @@ Providers: {self.enabled_providers}
|
||||
|
||||
def show(self, html=None, step=Step.LOAD_WEBVIEW):
|
||||
if step == Step.LOAD_WEBVIEW:
|
||||
self.loading = True
|
||||
if not self.web_view:
|
||||
self.web_view = WebKit.WebView()
|
||||
self.web_view.get_settings().set_allow_universal_access_from_file_urls(True)
|
||||
self.win.loading = True
|
||||
if not self.win.web_view:
|
||||
self.win.web_view = WebKit.WebView()
|
||||
self.win.web_view.get_settings().set_allow_universal_access_from_file_urls(True)
|
||||
|
||||
self.web_view.get_settings().set_enable_developer_extras(True)
|
||||
self.win.web_view.get_settings().set_enable_developer_extras(True)
|
||||
|
||||
# Show preview once the load is finished
|
||||
self.web_view.connect("load-changed", self.on_load_changed)
|
||||
self.win.web_view.connect("load-changed", self.on_load_changed)
|
||||
|
||||
# All links will be opened in default browser, but local files are opened in apps.
|
||||
self.web_view.connect("decide-policy", self.on_click_link)
|
||||
self.win.web_view.connect("decide-policy", self.on_click_link)
|
||||
|
||||
self.web_view.connect("context-menu", self.on_right_click)
|
||||
self.win.web_view.connect("context-menu", self.on_right_click)
|
||||
|
||||
self.web_view.set_hexpand(True)
|
||||
self.web_view.set_vexpand(True)
|
||||
self.win.web_view.set_hexpand(True)
|
||||
self.win.web_view.set_vexpand(True)
|
||||
|
||||
self.win.response_stack.add_child(self.web_view)
|
||||
self.win.response_stack.set_visible_child(self.web_view)
|
||||
self.win.response_stack.add_child(self.win.web_view)
|
||||
self.win.response_stack.set_visible_child(self.win.web_view)
|
||||
|
||||
if self.web_view.is_loading():
|
||||
self.web_view_pending_html = html
|
||||
if self.win.web_view.is_loading():
|
||||
self.win.web_view_pending_html = html
|
||||
else:
|
||||
try:
|
||||
self.web_view.load_html(html, "file://localhost/")
|
||||
self.win.web_view.load_html(html, "file://localhost/")
|
||||
except TypeError: # Argument 1 does not allow None as a value
|
||||
pass
|
||||
|
||||
|
||||
elif step == Step.RENDER:
|
||||
if not self.preview_visible:
|
||||
self.preview_visible = True
|
||||
if not self.win.preview_visible:
|
||||
self.win.preview_visible = True
|
||||
self.show()
|
||||
|
||||
def reload(self, *_widget, reshow=False):
|
||||
if self.preview_visible:
|
||||
if self.win.preview_visible:
|
||||
if reshow:
|
||||
self.hide()
|
||||
self.show()
|
||||
|
||||
def on_load_changed(self, _web_view, event):
|
||||
if event == WebKit.LoadEvent.FINISHED:
|
||||
self.loading = False
|
||||
if self.web_view_pending_html:
|
||||
self.show(html=self.web_view_pending_html, step=Step.LOAD_WEBVIEW)
|
||||
self.web_view_pending_html = None
|
||||
self.win.loading = False
|
||||
if self.win.web_view_pending_html:
|
||||
self.show(html=self.win.web_view_pending_html, step=Step.LOAD_WEBVIEW)
|
||||
self.win.web_view_pending_html = None
|
||||
else:
|
||||
# we only lazyload the webview once
|
||||
self.show(step=Step.RENDER)
|
||||
@@ -459,7 +559,7 @@ Providers: {self.enabled_providers}
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 16px;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
body {
|
||||
@@ -469,7 +569,7 @@ Providers: {self.enabled_providers}
|
||||
line-height: 1.5;
|
||||
word-wrap: break-word;
|
||||
max-width: 980px;
|
||||
//margin: auto;
|
||||
margin: 0;
|
||||
//padding: 4em;
|
||||
}
|
||||
|
||||
@@ -489,7 +589,7 @@ Providers: {self.enabled_providers}
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: 600;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
img {
|
||||
@@ -546,32 +646,32 @@ Providers: {self.enabled_providers}
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: 600;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
font-size: 24pt;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.5em;
|
||||
font-size: 18pt;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.25em;
|
||||
font-size: 14pt;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1em;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 0.875em;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 0.85em;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
p {
|
||||
@@ -609,14 +709,14 @@ Providers: {self.enabled_providers}
|
||||
code,
|
||||
kbd,
|
||||
pre {
|
||||
font-family: "Fira Mono", fira-mono, monospace, color-emoji;
|
||||
font-size: 1em;
|
||||
font-family: "Monospace", monospace, color-emoji;
|
||||
font-size: 12pt;
|
||||
word-wrap: normal;
|
||||
}
|
||||
|
||||
code {
|
||||
border-radius: 0.1875em;
|
||||
font-size: 0.85em;
|
||||
font-size: 10pt;
|
||||
padding: 0.2em 0.4em;
|
||||
margin: 0;
|
||||
}
|
||||
@@ -624,13 +724,13 @@ Providers: {self.enabled_providers}
|
||||
pre {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
font-size: 0.75em;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
pre>code {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
font-size: 1em;
|
||||
font-size: 12pt;
|
||||
word-break: normal;
|
||||
white-space: pre;
|
||||
background: transparent;
|
||||
@@ -650,7 +750,7 @@ Providers: {self.enabled_providers}
|
||||
pre {
|
||||
padding: 1em;
|
||||
overflow: auto;
|
||||
font-size: 0.85em;
|
||||
font-size: 10pt;
|
||||
line-height: 1.5;
|
||||
background-color: var(--alt-background-color);
|
||||
border-radius: 0.1875em;
|
||||
@@ -758,7 +858,7 @@ Providers: {self.enabled_providers}
|
||||
kbd {
|
||||
display: inline-block;
|
||||
padding: 0.1875em 0.3125em;
|
||||
font-size: 0.6875em;
|
||||
font-size: 8pt;
|
||||
line-height: 1;
|
||||
color: var(--kbd-text-color);
|
||||
vertical-align: middle;
|
||||
@@ -792,30 +892,30 @@ Providers: {self.enabled_providers}
|
||||
|
||||
h1 {
|
||||
padding-bottom: 0.3em;
|
||||
font-size: 2em;
|
||||
font-size: 24pt;
|
||||
border-bottom: 1px solid var(--header-border-color);
|
||||
}
|
||||
|
||||
h2 {
|
||||
padding-bottom: 0.3em;
|
||||
font-size: 1.5em;
|
||||
font-size: 18pt;
|
||||
border-bottom: 1px solid var(--header-border-color);
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.25em;
|
||||
font-size: 14pt;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1em;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 0.875em;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 0.85em;
|
||||
font-size: 8pt;
|
||||
opacity: 0.67;
|
||||
}
|
||||
|
||||
@@ -851,7 +951,7 @@ Providers: {self.enabled_providers}
|
||||
dl dt {
|
||||
padding: 0;
|
||||
margin-top: 1em;
|
||||
font-size: 1em;
|
||||
font-size: 12pt;
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
}
|
||||
@@ -939,38 +1039,38 @@ Providers: {self.enabled_providers}
|
||||
"""
|
||||
|
||||
ADWAITA_STYLE = """:root {
|
||||
--text-color: #2e3436;
|
||||
--background-color: #f6f5f4;
|
||||
--alt-background-color: #edeeef;
|
||||
--link-color: #0d71de;
|
||||
--blockquote-text-color: #747e85;
|
||||
--blockquote-border-color: #d6d8da;
|
||||
--header-border-color: #e1e2e4;
|
||||
--hr-background-color: #d8dadd;
|
||||
--table-tr-border-color: #bdc1c6;
|
||||
--table-td-border-color: #d6d8da;
|
||||
--kbd-text-color: #4e585e;
|
||||
--kbd-background-color: #f1f1f1;
|
||||
--kbd-border-color: #bdc1c6;
|
||||
--kbd-shadow-color: #8c939a;
|
||||
--text-color: rgba(0, 0, 0, 0.8);
|
||||
--background-color: #ffffff;
|
||||
--alt-background-color: #ebebeb;
|
||||
--link-color: #1c71d8;
|
||||
--blockquote-text-color: rgba(0, 0, 0, 0.8);
|
||||
--blockquote-border-color: #dbdbdb;
|
||||
--header-border-color: #dbdbdb;
|
||||
--hr-background-color: #dbdbdb;
|
||||
--table-tr-border-color: #dcdcdc;
|
||||
--table-td-border-color: #dcdcdc;
|
||||
--kbd-text-color: rgba(0, 0, 0, 0.8);
|
||||
--kbd-background-color: #ffffff;
|
||||
--kbd-border-color: #dcdcdc;
|
||||
--kbd-shadow-color: #dddddd;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--text-color: #eeeeec;
|
||||
--text-color: #ffffff;
|
||||
--background-color: #363636;
|
||||
--alt-background-color: #4a4a4a;
|
||||
--link-color: #78aeed;
|
||||
--blockquote-text-color: #ffffff;
|
||||
--blockquote-border-color: #525252;
|
||||
--header-border-color: #474747;
|
||||
--blockquote-border-color: #454545;
|
||||
--header-border-color: #454545;
|
||||
--hr-background-color: #505050;
|
||||
--table-tr-border-color: #696969;
|
||||
--table-td-border-color: #525252;
|
||||
--table-tr-border-color: #6e6e6e;
|
||||
--table-td-border-color: #6e6e6e;
|
||||
--kbd-text-color: #ffffff;
|
||||
--kbd-background-color: #4a4a4a;
|
||||
--kbd-border-color: #696969;
|
||||
--kbd-shadow-color: #979797;
|
||||
--kbd-border-color: #6e6e6e;
|
||||
--kbd-shadow-color: #575757;
|
||||
}
|
||||
}"""
|
||||
CUSTOM_STYLE = """
|
||||
@@ -989,11 +1089,36 @@ Providers: {self.enabled_providers}
|
||||
--kbd-border-color: #bdc1c6;
|
||||
--kbd-shadow-color: #8c939a;
|
||||
"""
|
||||
DARK_CUSTOM_STYLE = """
|
||||
--text-color: {card_fg_color};
|
||||
--background-color: {card_bg_color};
|
||||
--alt-background-color: {view_bg_color};
|
||||
--link-color: {accent_fg_color};
|
||||
--blockquote-text-color: {card_fg_color};
|
||||
--blockquote-border-color: {card_bg_color};
|
||||
--header-border-color: {headerbar_border_color};
|
||||
--hr-background-color: {headerbar_bg_color};
|
||||
--table-tr-border-color: {headerbar_border_color};
|
||||
--table-td-border-color: {headerbar_border_color};
|
||||
--kbd-text-color: #ffffff;
|
||||
--kbd-background-color: #4a4a4a;
|
||||
--kbd-border-color: #1f1f1f;
|
||||
--kbd-shadow-color: #1e1e1e;
|
||||
"""
|
||||
|
||||
if os.path.exists(os.path.expanduser("~/.config/gtk-4.0/gtk.css")):
|
||||
self.use_theme = True
|
||||
variables, palette, css = self.parse_css(os.path.expanduser("~/.config/gtk-4.0/gtk.css"))
|
||||
theme_css = ":root {\n" + CUSTOM_STYLE.format(**variables) + " \n}\n" + css
|
||||
variables["card_fg_color"] = variables.get("card_fg_color", "#2e3436")
|
||||
variables["card_bg_color"] = variables.get("card_bg_color", "#f6f5f4")
|
||||
variables["view_bg_color"] = variables.get("view_bg_color", "#edeeef")
|
||||
variables["accent_fg_color"] = variables.get("accent_fg_color", "#0d71de")
|
||||
variables["headerbar_border_color"] = variables.get("headerbar_border_color", "#e1e2e4")
|
||||
variables["headerbar_bg_color"] = variables.get("headerbar_bg_color", "#d8dadd")
|
||||
theme_css = ":root {\n" + CUSTOM_STYLE.format(**variables) + " \n}\n" + "@media (prefers-color-scheme: dark) {\n:root {\n" + \
|
||||
DARK_CUSTOM_STYLE.format(**variables) + "\n}\n}\n" + css
|
||||
else:
|
||||
self.use_theme = False
|
||||
theme_css = ADWAITA_STYLE
|
||||
self.show(TEMPLATE.replace("{response}", response).replace("{theme_css}", theme_css), Step.LOAD_WEBVIEW)
|
||||
else:
|
||||
@@ -1003,6 +1128,23 @@ Providers: {self.enabled_providers}
|
||||
def on_ask_action(self, widget, _):
|
||||
"""Callback for the app.ask action."""
|
||||
|
||||
self.win.banner.set_revealed(False)
|
||||
|
||||
for key, an in self.annoucements.items():
|
||||
if an["provider"] == self.provider:
|
||||
if an["status"] == "open":
|
||||
match an["action"]:
|
||||
case "error": # show an error banner with a button to open settings
|
||||
self.win.banner.set_title(an["message"])
|
||||
self.win.banner.props.button_label = "Open settings"
|
||||
self.win.banner.connect("button-clicked", self.on_preferences_action)
|
||||
self.win.banner.set_revealed(True)
|
||||
case _:
|
||||
self.win.banner.set_title(an["message"])
|
||||
self.win.banner.set_revealed(True)
|
||||
del self.annoucements[key]
|
||||
break
|
||||
|
||||
self.prompt = self.win.prompt_text_view.get_buffer().props.text.strip()
|
||||
|
||||
if self.prompt == "" or self.prompt is None: # empty prompt
|
||||
@@ -1012,13 +1154,14 @@ Providers: {self.enabled_providers}
|
||||
self.win.ask_button.set_visible(False)
|
||||
self.win.wait_button.set_visible(True)
|
||||
self.win.stop_button.set_visible(True)
|
||||
self.provider = self.win.provider_selector.props.selected
|
||||
|
||||
def thread_run():
|
||||
try:
|
||||
response = self.ask(self.prompt)
|
||||
response = self.providers[self.provider].ask(self.prompt)
|
||||
except GLib.Error as e:
|
||||
response = e.message
|
||||
except KeyError:
|
||||
del self.providers[self.provider]
|
||||
GLib.idle_add(cleanup, response)
|
||||
|
||||
def cleanup(response):
|
||||
@@ -1084,6 +1227,16 @@ Providers: {self.enabled_providers}
|
||||
if shortcuts:
|
||||
self.set_accels_for_action(f"app.{name}", shortcuts)
|
||||
|
||||
def create_stateful_action(self, name, parameter_type, initial_state, callback, shortcuts=None):
|
||||
"""Add a stateful application action."""
|
||||
|
||||
action = Gio.SimpleAction.new_stateful(
|
||||
name, parameter_type, initial_state)
|
||||
action.connect("activate", callback)
|
||||
self.add_action(action)
|
||||
if shortcuts:
|
||||
self.parent.set_accels_for_action(f"app.{name}", shortcuts)
|
||||
|
||||
|
||||
def main(version):
|
||||
"""The application's entry point."""
|
||||
|
||||
@@ -10,6 +10,8 @@ class Preferences(Adw.PreferencesWindow):
|
||||
clear_after_send_switch = Gtk.Template.Child()
|
||||
provider_group = Gtk.Template.Child()
|
||||
use_text_view_switch = Gtk.Template.Child()
|
||||
close_all_without_dialog_switch = Gtk.Template.Child()
|
||||
allow_remote_fetching_switch = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, application, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
@@ -27,6 +29,16 @@ class Preferences(Adw.PreferencesWindow):
|
||||
"notify::active", self.on_use_text_view_switch_toggled
|
||||
)
|
||||
|
||||
self.close_all_without_dialog_switch.set_active(self.app.close_all_without_dialog)
|
||||
self.close_all_without_dialog_switch.connect(
|
||||
"notify::active", self.on_close_all_without_dialog_switch_toggled
|
||||
)
|
||||
|
||||
self.allow_remote_fetching_switch.set_active(self.app.allow_remote_fetching)
|
||||
self.allow_remote_fetching_switch.connect(
|
||||
"notify::active", self.on_allow_remote_fetching_switch_toggled
|
||||
)
|
||||
|
||||
self.setup_providers()
|
||||
|
||||
def on_clear_after_send_switch_toggled(self, widget, *args):
|
||||
@@ -47,6 +59,25 @@ class Preferences(Adw.PreferencesWindow):
|
||||
self.settings.set_boolean("use-text-view", False)
|
||||
self.app.use_text_view = False
|
||||
|
||||
def on_close_all_without_dialog_switch_toggled(self, widget, *args):
|
||||
"""Callback for the close_all_without_dialog_switch toggled event."""
|
||||
if widget.get_active():
|
||||
self.settings.set_boolean("close-all-without-dialog", True)
|
||||
self.app.close_all_without_dialog = True
|
||||
else:
|
||||
self.settings.set_boolean("close-all-without-dialog", False)
|
||||
self.app.close_all_without_dialog = False
|
||||
|
||||
def on_allow_remote_fetching_switch_toggled(self, widget, *args):
|
||||
"""Callback for the allow_remote_fetching_switch toggled event."""
|
||||
if widget.get_active():
|
||||
self.settings.set_boolean("allow-remote-fetching", True)
|
||||
self.app.load_annoucements()
|
||||
self.app.allow_remote_fetching = True
|
||||
else:
|
||||
self.settings.set_boolean("allow-remote-fetching", False)
|
||||
self.app.allow_remote_fetching = False
|
||||
|
||||
def setup_providers(self):
|
||||
# for provider in self.app.providers.values():
|
||||
# try:
|
||||
@@ -58,9 +89,11 @@ class Preferences(Adw.PreferencesWindow):
|
||||
# row.props.title = "No providers available"
|
||||
# self.provider_group.add(row)
|
||||
for provider in PROVIDERS.values():
|
||||
try:
|
||||
if provider.slug in self.app.providers:
|
||||
self.provider_group.add(
|
||||
provider(self.app.win, self.app).preferences(self)
|
||||
self.app.providers[provider.slug].preferences(win=self.app.win)
|
||||
)
|
||||
else:
|
||||
self.provider_group.add(
|
||||
provider(self.app.win, self.app).preferences(win=self.app.win)
|
||||
)
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
from .huggingchat import HuggingChatProvider
|
||||
# from .huggingchat import HuggingChatProvider
|
||||
from .baichat import BAIChatProvider
|
||||
from .openaigpt35turbo import OpenAIGPT35TurboProvider
|
||||
from .openaigpt4 import OpenAIGPT4Provider
|
||||
from .openaicustom import OpenAICustomProvider, LocalModel
|
||||
from .catgpt import CatGPTProvider
|
||||
from .openaitextdavinci003 import OpenAITextDavinci003
|
||||
from .alpacalora import AlpacaLoRAProvider
|
||||
from .hfgoogleflant5xxl import HuggingFaceGoogleFlanT5XXLProvider
|
||||
from .hfgoogleflanu12 import HuggingFaceGoogleFlanU12Provider
|
||||
from .hfopenassistantsft1pythia12b import HuggingFaceOpenAssistantSFT1PythiaProvider
|
||||
from .hfopenassistantsft1pythia12b import HuggingFaceOpenAssistantSFT1PythiaProvider, HuggingChatMask
|
||||
from .hfgpt2 import HuggingFaceGPT2Provider
|
||||
from .hfdialogpt import HuggingFaceDialoGPTLargeProvider
|
||||
from .bard import BardProvider
|
||||
# from .bard import BardProvider
|
||||
from .hfgpt2large import HuggingFaceGPT2LargeProvider
|
||||
from .hfgpt2xl import HuggingFaceGPT2XLProvider
|
||||
from .starcoder import StarCoderProvider
|
||||
# from .starcoder import StarCoderProvider
|
||||
|
||||
PROVIDERS = {
|
||||
"alpacalora": AlpacaLoRAProvider,
|
||||
@@ -27,9 +28,11 @@ PROVIDERS = {
|
||||
"hfgpt2large": HuggingFaceGPT2LargeProvider,
|
||||
"hfgpt2xl": HuggingFaceGPT2XLProvider,
|
||||
"hfopenassistantsft1pythia12b": HuggingFaceOpenAssistantSFT1PythiaProvider,
|
||||
"huggingchat": HuggingChatProvider,
|
||||
"huggingchat": HuggingChatMask, # hugging chat is replaced by open assistant
|
||||
"local": LocalModel,
|
||||
"openaicustom": OpenAICustomProvider,
|
||||
"openaigpt35turbo": OpenAIGPT35TurboProvider,
|
||||
"openaigpt4": OpenAIGPT4Provider,
|
||||
"openaitextdavinci003": OpenAITextDavinci003,
|
||||
"starcoder": StarCoderProvider,
|
||||
# "starcoder": StarCoderProvider,
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ class BardProvider(BavarderProvider):
|
||||
name = "Bard"
|
||||
slug = "bard"
|
||||
version = "0.1.0"
|
||||
url = "https://bavarder.codeberg.page/docs/providers/bard.html"
|
||||
url = "https://bavarder.codeberg.page/help/bavarder"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
@@ -77,7 +77,9 @@ class BavarderProvider:
|
||||
popover.set_child(vbox)
|
||||
|
||||
about_button = Gtk.MenuButton()
|
||||
about_button.set_icon_name("info-symbolic")
|
||||
about_button.set_icon_name("help-about-symbolic")
|
||||
about_button.set_tooltip_text("About provider")
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.set_popover(popover)
|
||||
return about_button
|
||||
@@ -89,8 +91,8 @@ class BavarderProvider:
|
||||
|
||||
def how_to_get_a_token(self):
|
||||
about_button = Gtk.Button()
|
||||
about_button.set_icon_name("info-symbolic")
|
||||
about_button.set_tooltip_text("How to get a token?")
|
||||
about_button.set_icon_name("dialog-information-symbolic")
|
||||
about_button.set_tooltip_text("How to get a token")
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.connect("clicked", self.open_documentation)
|
||||
|
||||
42
src/provider/baseoffline.py
Normal file
42
src/provider/baseoffline.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
import requests
|
||||
import shutil
|
||||
|
||||
class BaseOfflineProvider(BavarderProvider):
|
||||
data = {
|
||||
"setup": False,
|
||||
"weight_path": "",
|
||||
}
|
||||
download_url = ""
|
||||
|
||||
def save(self):
|
||||
return data
|
||||
|
||||
def load(self, data):
|
||||
self.data = data
|
||||
|
||||
def download_file(self, url, filename=None):
|
||||
if not filename:
|
||||
filename = url.split('/')[-1]
|
||||
|
||||
with requests.get(url, stream=True) as r:
|
||||
with open(filename, 'wb') as f:
|
||||
shutil.copyfileobj(r.raw, f)
|
||||
|
||||
return filename
|
||||
|
||||
|
||||
def setup(self):
|
||||
if self.data["setup"]:
|
||||
return
|
||||
else:
|
||||
self.data["setup"] = True
|
||||
self.data["weight_path"] = self.download_file(self.download_url)
|
||||
|
||||
def ask(self, prompt):
|
||||
self.setup()
|
||||
return self._ask(prompt)
|
||||
|
||||
def _ask(self, prompt):
|
||||
raise NotImplementedError()
|
||||
@@ -6,9 +6,12 @@ from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class CatGPTProvider(BavarderProvider):
|
||||
name = _("Cat GPT")
|
||||
name = "CatGPT"
|
||||
slug = "catgpt"
|
||||
description = "🐱️"
|
||||
version = "0.1.0"
|
||||
developer_name = "Astrid Yu"
|
||||
developers = ["Astrid Yu https://github.com/ifd3f"]
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
@@ -1,11 +1,54 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
import requests
|
||||
import json
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
class HuggingFaceOpenAssistantSFT1PythiaProvider(BaseHFProvider):
|
||||
name = "Open-Assistant SFT-1 12B Model "
|
||||
name = "Open-Assistant SFT-1 12B Model"
|
||||
slug = "hfopenassistantsft1pythia12b"
|
||||
model = "OpenAssistant/oasst-sft-1-pythia-12b"
|
||||
model = "OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def ask(self, prompt):
|
||||
prompt = f"<|prompter|> {prompt}<|endoftext|><|assistant|>"
|
||||
try:
|
||||
payload = json.dumps({"inputs": prompt})
|
||||
headers = {"Content-Type": "application/json"}
|
||||
if self.require_api_key:
|
||||
headers["Authorization"] = f"Bearer {self.api_key}"
|
||||
url = f"https://api-inference.huggingface.co/models/{self.model}"
|
||||
response = requests.request("POST", url, headers=headers, data=payload)
|
||||
if response.status_code == 403:
|
||||
self.no_api_key()
|
||||
return ""
|
||||
elif response.status_code != 200:
|
||||
self.win.banner.props.title = response.json()["error"]
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
response = response.json()[0]["generated_text"].split("<|assistant|>")[1].strip()
|
||||
|
||||
# except NoApikey:
|
||||
# self.no_api_key()
|
||||
# return ""
|
||||
except KeyError:
|
||||
pass
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.hide_banner()
|
||||
print(response)
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
class HuggingChatMask(HuggingFaceOpenAssistantSFT1PythiaProvider):
|
||||
url = "https://bavarder.codeberg.page/help/huggingchat"
|
||||
name = "Open-Assistant SFT-1 12B Model (HuggingChat)"
|
||||
slug = "huggingchat"
|
||||
@@ -1,8 +1,9 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from hgchat import HGChat
|
||||
from hugchat import hugchat
|
||||
import socket
|
||||
|
||||
import requests
|
||||
import json
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
@@ -11,40 +12,81 @@ class BaseHuggingChatProvider(BavarderProvider):
|
||||
name = "Hugging Chat"
|
||||
slug = "huggingchat"
|
||||
model = None
|
||||
url = "https://bavarder.codeberg.page/help/huggingchat"
|
||||
cookies = {}
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.chat = HGChat(self.model)
|
||||
|
||||
|
||||
def ask(self, prompt):
|
||||
print(self.cookies)
|
||||
try:
|
||||
response = self.chat.ask(prompt)
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
self.chat = hugchat.ChatBot(cookies=self.cookies) # or cookies=[...]
|
||||
print(self.chat)
|
||||
print(self.cookies)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
self.win.banner.props.title = str(e)
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
else:
|
||||
self.win.banner.set_revealed(False)
|
||||
r = ""
|
||||
for i in response:
|
||||
char = i["token"]["text"]
|
||||
if char == "</s>":
|
||||
r += "\n"
|
||||
else:
|
||||
r += char
|
||||
GLib.idle_add(self.update_response, r)
|
||||
return r
|
||||
try:
|
||||
response = self.chat.chat(prompt)
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
except Exception as e:
|
||||
self.win.banner.props.title = str(e)
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
else:
|
||||
self.win.banner.set_revealed(False)
|
||||
r = ""
|
||||
for i in response:
|
||||
char = i["token"]["text"]
|
||||
if char == "</s>":
|
||||
r += "\n"
|
||||
else:
|
||||
r += char
|
||||
GLib.idle_add(self.update_response, r)
|
||||
return r
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
return True
|
||||
|
||||
def preferences(self, win):
|
||||
self.pref_win = win
|
||||
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about()) # TODO: in Adw 1.4, use add_suffix
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.api_row = Adw.EntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.text = str(self.cookies) or ""
|
||||
self.api_row.props.title = "Cookies"
|
||||
self.api_row.set_show_apply_button(True)
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
return self.expander
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
cookies = self.api_row.get_text()
|
||||
print("cookies", cookies)
|
||||
self.cookies = json.loads(cookies)
|
||||
print("Applied cookies", self.cookies)
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
print(self.cookies)
|
||||
print("Saved cookies", self.cookies)
|
||||
return self.cookies
|
||||
|
||||
def load(self, data):
|
||||
pass
|
||||
self.cookies = data
|
||||
|
||||
@@ -6,6 +6,7 @@ import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
# from text_generation import InferenceAPIClient
|
||||
|
||||
class BaseHFProvider(BavarderProvider):
|
||||
name = None
|
||||
@@ -16,6 +17,7 @@ class BaseHFProvider(BavarderProvider):
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.api_key = None
|
||||
# self.client = InferenceAPIClient(self.model)
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
@@ -43,6 +45,11 @@ class BaseHFProvider(BavarderProvider):
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
except Exception as e:
|
||||
print(e)
|
||||
self.win.banner.props.title = str(e)
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
else:
|
||||
self.hide_banner()
|
||||
print(response)
|
||||
|
||||
@@ -5,7 +5,7 @@ providers_sources = [
|
||||
'__init__.py',
|
||||
'alpacalora.py',
|
||||
'baichat.py',
|
||||
'bard.py',
|
||||
# 'bard.py',
|
||||
'base.py',
|
||||
'catgpt.py',
|
||||
'hfdialogpt.py',
|
||||
@@ -15,14 +15,15 @@ providers_sources = [
|
||||
'hfgpt2large.py',
|
||||
'hfgpt2xl.py',
|
||||
'hfopenassistantsft1pythia12b.py',
|
||||
'huggingchat.py',
|
||||
'huggingchatbase.py',
|
||||
# 'huggingchat.py',
|
||||
# 'huggingchatbase.py',
|
||||
'huggingface.py',
|
||||
'openai.py',
|
||||
'openaicustom.py',
|
||||
'openaigpt4.py',
|
||||
'openaigpt35turbo.py',
|
||||
'openaitextdavinci003.py',
|
||||
'starcoder.py',
|
||||
# 'starcoder.py',
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(providers_sources, subdir: providers_dir)
|
||||
|
||||
@@ -20,47 +20,56 @@ class BaseOpenAIProvider(BavarderProvider):
|
||||
self.pref_win = None
|
||||
|
||||
def ask(self, prompt):
|
||||
prompt = self.chunk(prompt)
|
||||
try:
|
||||
if isinstance(prompt, list):
|
||||
self.win.banner.props.title = "Prompt too long, splitting into chunks."
|
||||
if self.model:
|
||||
prompt = self.chunk(prompt)
|
||||
try:
|
||||
if isinstance(prompt, list):
|
||||
self.win.banner.props.title = "Prompt too long, splitting into chunks."
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
response = ""
|
||||
for chunk in prompt:
|
||||
response += (
|
||||
self.chat.create(
|
||||
model=self.model,
|
||||
messages=[{"role": "user", "content": chunk}],
|
||||
)
|
||||
.choices[0]
|
||||
.message.content
|
||||
)
|
||||
else:
|
||||
response = self.chat.create(
|
||||
model=self.model, messages=[{"role": "user", "content": prompt}]
|
||||
)
|
||||
response = response.choices[0].message.content
|
||||
except openai.error.AuthenticationError:
|
||||
self.no_api_key()
|
||||
return ""
|
||||
except openai.error.InvalidRequestError:
|
||||
self.win.banner.props.title = "You don't have access to this model"
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
response = ""
|
||||
for chunk in prompt:
|
||||
response += (
|
||||
self.chat.create(
|
||||
model=self.model,
|
||||
messages=[{"role": "user", "content": chunk}],
|
||||
)
|
||||
.choices[0]
|
||||
.message.content
|
||||
)
|
||||
return ""
|
||||
except openai.error.RateLimitError:
|
||||
self.win.banner.props.title = "You exceeded your current quota, please check your plan and billing details."
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
except openai.error.APIError:
|
||||
self.win.banner.props.title = "API Error"
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
response = self.chat.create(
|
||||
model=self.model, messages=[{"role": "user", "content": prompt}]
|
||||
)
|
||||
response = response.choices[0].message.content
|
||||
except openai.error.AuthenticationError:
|
||||
self.no_api_key()
|
||||
return ""
|
||||
except openai.error.InvalidRequestError:
|
||||
self.win.banner.props.title = "You don't have access to this model"
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
except openai.error.RateLimitError:
|
||||
self.win.banner.props.title = "You exceeded your current quota, please check your plan and billing details."
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
self.hide_banner()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
else:
|
||||
self.hide_banner()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
self.no_api_key(title="No model selected, you can choose one in preferences")
|
||||
return ""
|
||||
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
@@ -83,16 +92,39 @@ class BaseOpenAIProvider(BavarderProvider):
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
self.api_url_row = Adw.EntryRow()
|
||||
self.api_url_row.connect("apply", self.on_apply)
|
||||
self.api_url_row.props.text = openai.api_key or ""
|
||||
self.api_url_row.props.title = "API Url"
|
||||
self.api_url_row.set_show_apply_button(True)
|
||||
self.api_url_row.add_suffix(self.how_to_get_base_url())
|
||||
self.expander.add_row(self.api_url_row)
|
||||
|
||||
return self.expander
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
api_key = self.api_row.get_text()
|
||||
openai.api_key = api_key
|
||||
openai.api_base = self.api_url_row.get_text()
|
||||
|
||||
def save(self):
|
||||
return {"api_key": openai.api_key}
|
||||
return {
|
||||
"api_key": openai.api_key,
|
||||
"api_base": openai.api_base,
|
||||
}
|
||||
|
||||
def load(self, data):
|
||||
if data["api_key"]:
|
||||
openai.api_key = data["api_key"]
|
||||
if data["api_base"]:
|
||||
openai.api_base = data["api_base"]
|
||||
|
||||
def how_to_get_base_url(self):
|
||||
about_button = Gtk.Button()
|
||||
about_button.set_icon_name("dialog-information-symbolic")
|
||||
about_button.set_tooltip_text("How to choose base url")
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.connect("clicked", self.open_documentation)
|
||||
return about_button
|
||||
89
src/provider/openaicustom.py
Normal file
89
src/provider/openaicustom.py
Normal file
@@ -0,0 +1,89 @@
|
||||
from .openai import BaseOpenAIProvider
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
import openai
|
||||
|
||||
class OpenAICustomProvider(BaseOpenAIProvider):
|
||||
name = "OpenAI Custom Model"
|
||||
slug = "openaicustom"
|
||||
|
||||
api_base = ""
|
||||
|
||||
def preferences(self, win):
|
||||
self.pref_win = win
|
||||
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about()) # TODO: in Adw 1.4, use add_suffix
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.api_row = Adw.PasswordEntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.text = openai.api_key or ""
|
||||
self.api_row.props.title = self.api_key_title
|
||||
self.api_row.set_show_apply_button(True)
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
self.api_url_row = Adw.EntryRow()
|
||||
self.api_url_row.connect("apply", self.on_apply)
|
||||
self.api_url_row.props.text = self.api_base or ""
|
||||
self.api_url_row.props.title = "API Url"
|
||||
self.api_url_row.set_show_apply_button(True)
|
||||
self.api_url_row.add_suffix(self.how_to_get_a_token())
|
||||
self.expander.add_row(self.api_url_row)
|
||||
|
||||
self.model_row = Adw.EntryRow()
|
||||
self.model_row.connect("apply", self.on_apply)
|
||||
self.model_row.props.title = "Model"
|
||||
if self.model:
|
||||
self.model_row.props.text = str(self.model)
|
||||
else:
|
||||
print("No model")
|
||||
self.model_row.props.text = ""
|
||||
self.model_row.add_suffix(self.how_to_choose_model())
|
||||
self.model_row.set_show_apply_button(True)
|
||||
self.expander.add_row(self.model_row)
|
||||
return self.expander
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
api_key = self.api_row.get_text()
|
||||
openai.api_key = api_key
|
||||
self.api_base = self.api_url_row.get_text()
|
||||
openai.api_base = self.api_base
|
||||
self.model = str(self.model_row.get_text())
|
||||
|
||||
def save(self):
|
||||
return {
|
||||
"api_key": openai.api_key,
|
||||
"api_base": self.api_base,
|
||||
"model": self.model,
|
||||
}
|
||||
|
||||
def load(self, data):
|
||||
if data["api_key"]:
|
||||
openai.api_key = data["api_key"]
|
||||
else:
|
||||
openai.api_key = ""
|
||||
if data["api_base"]:
|
||||
self.api_base = data["api_base"]
|
||||
openai.api_base = self.api_base
|
||||
if data["model"]:
|
||||
self.model = data["model"]
|
||||
|
||||
def how_to_choose_model(self):
|
||||
about_button = Gtk.Button()
|
||||
about_button.set_icon_name("dialog-information-symbolic")
|
||||
about_button.set_tooltip_text("How to choose a model")
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.connect("clicked", self.open_documentation)
|
||||
return about_button
|
||||
|
||||
class LocalModel(OpenAICustomProvider):
|
||||
name = "Local Model"
|
||||
slug = "local"
|
||||
url = "https://bavarder.codeberg.page/help/local" # just for the url :)
|
||||
@@ -41,11 +41,16 @@ class BavarderWindow(Adw.ApplicationWindow):
|
||||
# speak = Gtk.Template.Child()
|
||||
# speak_wait = Gtk.Template.Child()
|
||||
# speak_spinner = Gtk.Template.Child()
|
||||
provider_selector = Gtk.Template.Child()
|
||||
menu = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
app = kwargs.get('application')
|
||||
if app is None:
|
||||
raise ValueError("Application should be passed to ImaginerWindow")
|
||||
self.app = app
|
||||
|
||||
self.settings = Gio.Settings(schema_id="io.github.Bavarder.Bavarder")
|
||||
|
||||
self.settings.bind(
|
||||
|
||||
Reference in New Issue
Block a user