Compare commits
201 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
cb8ebad771
|
|||
|
e72f68c9b3
|
|||
|
|
a74de76ae4 | ||
|
|
607258ef9f | ||
|
|
ce31253997 | ||
|
|
511b0e6d65 | ||
|
b7131cc212
|
|||
|
|
8d03619705 | ||
|
|
79f8f68ac2 | ||
|
|
d1e065a725 | ||
|
|
f13392494b | ||
|
|
c5117dfa7f | ||
|
|
924ae707f7 | ||
|
|
1e31459044 | ||
|
|
268f30b7a4 | ||
| 7e0e53774e | |||
|
|
fdf2d25b6a | ||
|
|
416a4692c3 | ||
|
|
3311f222c7 | ||
|
|
ae09b392fd | ||
|
|
90177b3041 | ||
|
|
7f31ba23da | ||
|
|
043febd966 | ||
|
|
595a974bf8 | ||
|
|
79bb2fe237 | ||
|
|
3d22dd0268 | ||
|
|
5c20b22e93 | ||
|
|
74e58b9d71 | ||
|
|
3be65b5af3 | ||
|
|
288154bb73 | ||
|
|
171dcb409a | ||
|
|
e72c88977c | ||
|
|
afa6bf29db | ||
|
|
6804990133 | ||
|
|
fc6a0aace6 | ||
|
|
e7acf0925e | ||
|
|
d6ed971d76 | ||
|
|
51379483c4 | ||
|
|
025f7569b4 | ||
|
|
87433d5c80 | ||
|
|
cfc948db06 | ||
|
|
64e6454840 | ||
|
|
0628c4443a | ||
| abac750252 | |||
|
|
d5dd123a0d | ||
|
|
021667b506 | ||
|
|
812acbc855 | ||
|
|
f67bfe3eea | ||
|
|
101348079a | ||
|
|
d3abe6584f | ||
|
|
65beca89da | ||
|
|
c6fa60cd5a | ||
|
|
8e86c0e40d | ||
|
|
ae3400b110 | ||
|
|
46cfbb8e73 | ||
|
|
5e8e3c6682 | ||
|
|
2917dc202b | ||
|
ff6818bba0
|
|||
|
f1d5119e74
|
|||
|
57763b4d54
|
|||
|
c3086e79c0
|
|||
|
890348f94e
|
|||
| d391c9801e | |||
|
ca3b4db83a
|
|||
|
1437d80260
|
|||
|
|
e3ec9faa28 | ||
|
|
8c9a41e22f | ||
|
|
a7b8c0d207 | ||
|
|
8ec0e79fb4 | ||
|
|
a880e9074a | ||
|
|
fdb1efd6ab | ||
|
|
973c3abee2 | ||
|
|
6c9daf6f0b | ||
|
|
cf13c731b9 | ||
|
|
3e59237358 | ||
|
|
9c1185b894 | ||
|
|
eb6ba12c09 | ||
|
|
27bbec3d33 | ||
|
a653e34d83
|
|||
|
|
fb17c035c3 | ||
|
|
3048f741bc | ||
|
02e25c098b
|
|||
|
64bad9291e
|
|||
|
04405252d0
|
|||
|
e22ebd5b8f
|
|||
|
37fec583ab
|
|||
|
447ab66a5e
|
|||
|
a7a8ef923b
|
|||
|
a50a49e10d
|
|||
|
b5a7784f4b
|
|||
|
7f15cc59be
|
|||
|
e8bfb6cb2e
|
|||
|
8feb5d98b5
|
|||
|
6cdaab48c0
|
|||
|
|
cf9a619ee9 | ||
|
|
c6e88c7709 | ||
|
|
c78885aaaf | ||
|
|
403e78067a | ||
|
6ee13f7986
|
|||
|
|
702a4ba297 | ||
|
|
acd90b6e20 | ||
|
|
8131e8c4ef | ||
|
|
4109c45666 | ||
|
31689a1d72
|
|||
|
dbfe5b4eb9
|
|||
|
|
de71bbdc32 | ||
|
|
43bf971588 | ||
|
|
11ba62db06 | ||
|
ddb9588d30
|
|||
|
201ede414a
|
|||
|
1b048b229d
|
|||
|
fa9c41e131
|
|||
|
fde6a5cb0a
|
|||
|
adb4885e9e
|
|||
|
e108e3d52e
|
|||
|
fd41349aa6
|
|||
|
4adf42c27b
|
|||
|
1b86146a97
|
|||
|
|
d2d2351acd | ||
|
|
64e69bc732 | ||
|
|
be53aa82ae | ||
|
8325e4ab1e
|
|||
| 9460c9be00 | |||
|
5cbfffca0d
|
|||
| d2e52bb659 | |||
|
1b5a91232a
|
|||
| f24f3724bf | |||
|
3539be26b8
|
|||
|
90d590a77c
|
|||
|
f851e3a19a
|
|||
|
5d7c5cca4b
|
|||
|
|
d3f895f3fc | ||
|
|
998ff28c7d | ||
|
|
e33cb1b63d | ||
|
|
b245ae2c64 | ||
|
|
0662e6ab5b | ||
|
|
71d0218a1b | ||
|
|
6fded6f308 | ||
|
|
7ce3d6af54 | ||
|
|
dd8472fa86 | ||
|
|
7f81c114b7 | ||
|
|
2b2f7fba65 | ||
|
|
4cda2d93ba | ||
|
|
15fbc035e7 | ||
|
|
195957b8e1 | ||
|
|
cdbd36e843 | ||
| a0c5fb35c9 | |||
|
|
d2020fe05c | ||
|
|
64eeaa2a9c | ||
|
|
0ea841eb18 | ||
|
|
8be62d834e | ||
|
|
6361d30a1a | ||
|
|
f0c6cac09e | ||
|
|
c5dad67a7e | ||
| 2b15001e2a | |||
| 1348069b07 | |||
| a17d462030 | |||
| 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 |
@@ -10,7 +10,7 @@ jobs:
|
||||
name: Flatpak
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-44
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-nightly
|
||||
options: --privileged
|
||||
strategy:
|
||||
matrix:
|
||||
@@ -22,7 +22,10 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: dnf -y install docker flatpak-builder flatpak git
|
||||
run: |
|
||||
dnf -y install docker flatpak-builder flatpak git
|
||||
flatpak install org.gnome.Sdk/x86_64/44 -y
|
||||
flatpak install org.gnome.Platform/x86_64/44 -y
|
||||
- name: Build
|
||||
run: |
|
||||
flatpak-builder --repo=repo --force-clean build build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
|
||||
5
.github/workflows/build.yml
vendored
5
.github/workflows/build.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
name: Flatpak
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-44
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-nightly
|
||||
options: --privileged
|
||||
strategy:
|
||||
matrix:
|
||||
@@ -29,8 +29,7 @@ jobs:
|
||||
platforms: arm64
|
||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||
with:
|
||||
repository-name: gnome-44
|
||||
bundle: bavarder.flatpak
|
||||
manifest-path: build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
manifest-path: build-aux/flatpak/io.github.Bavarder.Bavarder.Devel.json
|
||||
cache-key: flatpak-builder-${{ github.sha }}
|
||||
arch: ${{ matrix.arch }}
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -3,4 +3,5 @@ flatpak-pip-generator
|
||||
repo/
|
||||
build/
|
||||
export/
|
||||
bavarder.flatpak
|
||||
bavarder.flatpak
|
||||
r.txt
|
||||
@@ -13,19 +13,19 @@ clone:
|
||||
pipeline:
|
||||
build:
|
||||
image: fish
|
||||
secrets: [ access_token ]
|
||||
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
|
||||
- flatpak-builder --repo=repo --force-clean build build-aux/flatpak/io.github.Bavarder.Bavarder.Devel.json
|
||||
- flatpak build-bundle repo bavarder.flatpak io.github.Bavarder.Bavarder.Devel
|
||||
- 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
|
||||
secrets: [ access_token ]
|
||||
commands:
|
||||
- nix-env -iA nixpkgs.gettext
|
||||
- fish_add_path ~/.nix-profile/bin
|
||||
@@ -34,3 +34,5 @@ pipeline:
|
||||
- git add po/Bavarder.pot
|
||||
- git commit -m "Update"
|
||||
- git push origin main
|
||||
when:
|
||||
event: [manual]
|
||||
|
||||
26
Cargo.toml
Normal file
26
Cargo.toml
Normal file
@@ -0,0 +1,26 @@
|
||||
[package]
|
||||
name = "bavarder"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
env_logger = "0.10.0"
|
||||
|
||||
[dependencies.gtk]
|
||||
package = "gtk4"
|
||||
version = "0.6.2"
|
||||
features = ["v4_10", "xml_validation"]
|
||||
|
||||
[dependencies.gio]
|
||||
package = "gio"
|
||||
version = "0.17.0"
|
||||
features = ["v2_74"]
|
||||
|
||||
[dependencies.adw]
|
||||
package = "libadwaita"
|
||||
version = "0.4.1"
|
||||
features = ["v1_4"]
|
||||
|
||||
[dependencies.gettext-rs]
|
||||
version = "0.7.0"
|
||||
features = ["gettext-system"]
|
||||
32
README.md
32
README.md
@@ -40,9 +40,9 @@
|
||||
</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
|
||||
|
||||
@@ -54,8 +54,18 @@ You can either use your GNOME Software and search for "Bavarder" or you can run
|
||||
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:
|
||||
|
||||
``` shell
|
||||
flatpak install bavarder.flatpak
|
||||
```
|
||||
|
||||
#### From Source
|
||||
|
||||
### Flatpak-builder
|
||||
|
||||
Clone the repo and run `flatpak-builder`
|
||||
|
||||
``` shell
|
||||
@@ -63,6 +73,17 @@ git clone https://codeberg.org/Bavarder/Bavarder # or https://github.com/Bavarde
|
||||
cd Bavarder
|
||||
flatpak-builder --install --user --force-clean repo/ build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
```
|
||||
### Meson
|
||||
``` shell
|
||||
git clone https://codeberg.org/Bavarder/Bavarder # or https://github.com/Bavarder/Bavarder
|
||||
cd Bavarder
|
||||
meson setup build # Configure the build environment in subdirectory 'build'
|
||||
meson compile -C build
|
||||
meson check -C build
|
||||
meson install -C build
|
||||
chmod 0755 /usr/local/bin/bavarder # Fix binary permissions
|
||||
```
|
||||
|
||||
|
||||
### Others
|
||||
|
||||
@@ -80,13 +101,18 @@ See [`SEEN.md`](./SEEN.md) for a list of articles and posts about Bavarder
|
||||
<img src="https://translate.codeberg.org/widgets/bavarder/-/multi-auto.svg" alt="Translation status" />
|
||||
</a>
|
||||
|
||||
You can translate Bavarder using Codeberg Translate
|
||||
You can translate Bavarder using [Codeberg Translate](https://translate.codeberg.org/engage/bavarder/)
|
||||
|
||||
### Mirrors
|
||||
|
||||
- [GitHub](https://github.com/Bavarder/Bavarder)
|
||||
- [GitLab](https://gitlab.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)
|
||||
|
||||
6
SEEN.md
6
SEEN.md
@@ -1,4 +1,4 @@
|
||||
# Where Bavarder has been saw
|
||||
# Where Bavarder has been seen
|
||||
|
||||
## Press
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
- 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/
|
||||
- https://www.root.cz/clanky/softwarova-sklizen-24-5-2023-organizace-casu-systemem-kanban/
|
||||
- https://www.makeuseof.com/use-chatgpt-on-linux-with-bavarder/
|
||||
|
||||
## Youtube
|
||||
|
||||
@@ -42,4 +44,4 @@
|
||||
- https://linuxphoneapps.org/apps/io.github.bavarder.bavarder/
|
||||
- https://www.linuxquestions.org/questions/showthread.php?s=7c645a66bd3800801946c6f238e2ee25&p=6429159#post6429159
|
||||
- http://lxer.com/module/newswire/view/329486/index.html
|
||||
- https://www.prime-wow.com/?p=1136455
|
||||
- https://www.prime-wow.com/?p=1136455
|
||||
|
||||
54
build-aux/flatpak/io.github.Bavarder.Bavarder.Devel.json
Normal file
54
build-aux/flatpak/io.github.Bavarder.Bavarder.Devel.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"app-id" : "io.github.Bavarder.Bavarder.Devel",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "master",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
"command" : "bavarder",
|
||||
"finish-args" : [
|
||||
"--share=network",
|
||||
"--share=ipc",
|
||||
"--socket=fallback-x11",
|
||||
"--device=dri",
|
||||
"--socket=wayland",
|
||||
"--filesystem=xdg-config/gtk-4.0"
|
||||
],
|
||||
"cleanup" : [
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"/man",
|
||||
"/share/doc",
|
||||
"/share/gtk-doc",
|
||||
"/share/man",
|
||||
"/share/pkgconfig",
|
||||
"*.la",
|
||||
"*.a"
|
||||
],
|
||||
"modules" : [
|
||||
"pypi-dependencies.json",
|
||||
{
|
||||
"name" : "blueprint-compiler",
|
||||
"buildsystem" : "meson",
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler.git",
|
||||
"branch" : "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "bavarder",
|
||||
"builddir" : true,
|
||||
"buildsystem" : "meson",
|
||||
"config-opts": [
|
||||
"-Dbuildtype=debug"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "dir",
|
||||
"path" : "../../."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -24,6 +24,7 @@
|
||||
"*.a"
|
||||
],
|
||||
"modules" : [
|
||||
|
||||
"pypi-dependencies.json",
|
||||
{
|
||||
"name" : "blueprint-compiler",
|
||||
@@ -32,7 +33,7 @@
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler.git",
|
||||
"tag" : "v0.8.0"
|
||||
"tag" : "v0.8.1"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -40,6 +41,9 @@
|
||||
"name" : "bavarder",
|
||||
"builddir" : true,
|
||||
"buildsystem" : "meson",
|
||||
"config-opts": [
|
||||
"-Dbuildtype=release"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "dir",
|
||||
|
||||
155
build-aux/flatpak/io.github.Bavarder.Bavarder.latest.json
Normal file
155
build-aux/flatpak/io.github.Bavarder.Bavarder.latest.json
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"app-id" : "io.github.Bavarder.Bavarder",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "44",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
"command" : "bavarder",
|
||||
"finish-args" : [
|
||||
"--share=network",
|
||||
"--share=ipc",
|
||||
"--socket=fallback-x11",
|
||||
"--device=dri",
|
||||
"--socket=wayland",
|
||||
"--filesystem=xdg-config/gtk-4.0"
|
||||
],
|
||||
"cleanup" : [
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"/man",
|
||||
"/share/doc",
|
||||
"/share/gtk-doc",
|
||||
"/share/man",
|
||||
"/share/pkgconfig",
|
||||
"*.la",
|
||||
"*.a"
|
||||
],
|
||||
"modules" : [
|
||||
"pypi-dependencies.json",
|
||||
{
|
||||
"name" : "libsass",
|
||||
"buildsystem" : "meson",
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://github.com/lazka/libsass.git",
|
||||
"branch" : "meson"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "sassc",
|
||||
"buildsystem" : "meson",
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://github.com/lazka/sassc.git",
|
||||
"branch" : "meson"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libyaml",
|
||||
"buildsystem": "autotools",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"--libdir=/app/lib"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/yaml/libyaml"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "lmdb",
|
||||
"buildsystem": "simple",
|
||||
"subdir": "libraries/liblmdb",
|
||||
"build-commands": [
|
||||
"make install prefix=/ DESTDIR=/app"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://git.openldap.org/openldap/openldap.git"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libxmlb",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Dgtkdoc=false"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/hughsie/libxmlb.git",
|
||||
"branch": "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "appstream",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Dstemming=false",
|
||||
"-Dapidocs=false"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/ximion/appstream.git/",
|
||||
"branch": "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "gtk",
|
||||
"buildsystem": "meson",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.gnome.org/GNOME/gtk.git",
|
||||
"branch": "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libadwaita",
|
||||
"buildsystem": "meson",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.gnome.org/GNOME/libadwaita.git",
|
||||
"branch": "main"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "blueprint-compiler",
|
||||
"buildsystem" : "meson",
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler.git",
|
||||
"tag" : "v0.8.1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name" : "bavarder",
|
||||
"builddir" : true,
|
||||
"buildsystem" : "meson",
|
||||
"config-opts": [
|
||||
"-Dbuildtype=release"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "dir",
|
||||
"path" : "../../."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,69 +4,44 @@
|
||||
"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": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/c2/fd/1ff4da09ca29d8933fda3f3514980357e25419ce5e0f689041edb8f17dab/aiohttp-3.8.4.tar.gz",
|
||||
"sha256": "bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"
|
||||
"url": "https://files.pythonhosted.org/packages/6f/a9/aad1eb9134fe0574b281ad1308fe029cf4ec1ba49ba0a061a18dd3ced789/baichat_py-0.3.0-py3-none-any.whl",
|
||||
"sha256": "aa641939844ea364dcee0c4f40cdca2c42b7d6ed5f0cb360c29f7e35300259d0"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl",
|
||||
"sha256": "f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
|
||||
"url": "https://files.pythonhosted.org/packages/2b/a8/050ab4f0c3d4c1b8aaa805f70e26e84d0e27004907c5b8ecc1d31815f92a/cffi-1.15.1.tar.gz",
|
||||
"sha256": "d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl",
|
||||
"sha256": "8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
|
||||
"url": "https://files.pythonhosted.org/packages/d1/6f/5d591a5628423af4598e2d6ff0861fcbc554cc259590fac9f97d9c984611/curl_cffi-0.5.6-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
|
||||
"sha256": "7a9df9fabff038f1ac9e7e6f32b5edb5d8df8c2eec64f53f513de1766c17ffdb"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/f0/eb/fcb708c7bf5056045e9e98f62b93bd7467eb718b0202e7698eb11d66416c/attrs-23.1.0-py3-none-any.whl",
|
||||
"sha256": "1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"
|
||||
"url": "https://files.pythonhosted.org/packages/8d/f3/28e7af53e09c9218140901dc23fdd75cdaf3e64d1d06f61801cf2a841bcb/fake_useragent-1.1.3-py3-none-any.whl",
|
||||
"sha256": "695d3b1bf7d11d04ab0f971fb73b0ca8de98b78bbadfbc8bacbc9a48423f7531"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/f5/ba/2b3ff0140b714149b4ee0c3af857f5e9b5fecd0d877370ea89351c21f433/baichat_py-0.2.1-py3-none-any.whl",
|
||||
"sha256": "af5e83d813b93b249009da35fbb6cfcea8c65ee36fa0102e3ed7340d90804391"
|
||||
},
|
||||
{
|
||||
"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/e9/10/d629476346112b85c912527b9080944fd2c39a816c2225413dbc0bb6fcc0/frozenlist-1.3.3.tar.gz",
|
||||
"sha256": "58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"
|
||||
},
|
||||
{
|
||||
"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/5f/3f/04b3c5e57844fb9c034b09c5cb6d2b43de5d64a093c30529fd233e16cf09/yarl-1.9.2.tar.gz",
|
||||
"sha256": "04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"
|
||||
"url": "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl",
|
||||
"sha256": "8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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 +56,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",
|
||||
@@ -91,13 +66,8 @@
|
||||
},
|
||||
{
|
||||
"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/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl",
|
||||
"sha256": "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -160,13 +130,13 @@
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"url": "https://files.pythonhosted.org/packages/96/80/034ffeca15c0f4e01b7b9c6ad0fb704b44e190cde4e757edbd60be404c41/requests-2.30.0-py3-none-any.whl",
|
||||
"sha256": "10e94cc4f3121ee6da529d358cdaeaff2f1c409cd377dbc72b825852f2f7e294"
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -186,10 +156,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 +191,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",
|
||||
@@ -214,8 +198,8 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/96/80/034ffeca15c0f4e01b7b9c6ad0fb704b44e190cde4e757edbd60be404c41/requests-2.30.0-py3-none-any.whl",
|
||||
"sha256": "10e94cc4f3121ee6da529d358cdaeaff2f1c409cd377dbc72b825852f2f7e294"
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -225,10 +209,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 +222,212 @@
|
||||
},
|
||||
{
|
||||
"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/23/65/2aa13873e9e0084ecaec00fbe6c6096b65e1ab99ba66bdbf7e4e7c4cc915/pydantic-1.10.8.tar.gz",
|
||||
"sha256": "1410275520dfa70effadf4c21811d755e7ef9bb1f1d077a21958153a92c8d9ca"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"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/38/60/300ad6f93adca578bf05d5f6cd1d854b7d140bebe2f9829561aa9977d9f3/typing_extensions-4.6.2-py3-none-any.whl",
|
||||
"sha256": "3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "python3-gradio_client",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"gradio_client\" --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/68/fe/7ce1926952c8a403b35029e194555558514b365ad77d75125f521a2bec62/anyio-3.7.0-py3-none-any.whl",
|
||||
"sha256": "eddca883c4175f14df8aedce21054bfca3adb70ffe76a9f607aef9d7fa2ea7f0"
|
||||
},
|
||||
{
|
||||
"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/61/97/17ed81b7a8d24d8f69b62c0db37abbd8c0042d4b3fc429c73dab986e7483/exceptiongroup-1.1.1-py3-none-any.whl",
|
||||
"sha256": "232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"
|
||||
},
|
||||
{
|
||||
"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/ec/4e/397b234a369df06ec782666fcdf9791d125ca6de48729814b381af8c6c03/fsspec-2023.5.0-py3-none-any.whl",
|
||||
"sha256": "51a4ad01a5bb66fcc58036e288c0d53d3975a0df2a5dc59a93b59bade0391f2a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/86/ed/3b8b8df6c66f5fd8ab3e458e2086502d7208557e9bbc31592d4c732cf1d3/gradio_client-0.2.5-py3-none-any.whl",
|
||||
"sha256": "922a5188c93797adce023b4caa655318b9c09834095d31763443c1e7a707e301"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl",
|
||||
"sha256": "e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4d/32/b908f673ccef12b6425b848a541264ee3d95f5f571f18f6ab0d8c311442e/httpcore-0.17.2-py3-none-any.whl",
|
||||
"sha256": "5581b9c12379c4288fe70f43c710d16060c10080617001e6b22a3b6dbcbefd36"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ec/91/e41f64f03d2a13aee7e8c819d82ee3aa7cdc484d18c0ae859742597d5aa0/httpx-0.24.1-py3-none-any.whl",
|
||||
"sha256": "06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd"
|
||||
},
|
||||
{
|
||||
"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/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl",
|
||||
"sha256": "994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
|
||||
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/c3/a0/5dba8ed157b0136607c7f2151db695885606968d1fae123dc3391e0cfdbf/sniffio-1.3.0-py3-none-any.whl",
|
||||
"sha256": "eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"
|
||||
},
|
||||
{
|
||||
"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/38/60/300ad6f93adca578bf05d5f6cd1d854b7d140bebe2f9829561aa9977d9f3/typing_extensions-4.6.2-py3-none-any.whl",
|
||||
"sha256": "3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98"
|
||||
},
|
||||
{
|
||||
"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/d8/3b/2ed38e52eed4cf277f9df5f0463a99199a04d9e29c9e227cfafa57bd3993/websockets-11.0.3.tar.gz",
|
||||
"sha256": "88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<gresources>
|
||||
<gresource prefix="/io/github/Bavarder/Bavarder">
|
||||
<file preprocess="xml-stripblanks">ui/window.ui</file>
|
||||
<file preprocess="xml-stripblanks">ui/message_bubble.ui</file>
|
||||
<file preprocess="xml-stripblanks" alias="gtk/help-overlay.ui">ui/help-overlay.ui</file>
|
||||
<file preprocess="xml-stripblanks">ui/preferences.ui</file>
|
||||
<file>style.css</file>
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
application_id = 'io.github.Bavarder.Bavarder'
|
||||
|
||||
scalable_dir = join_paths('hicolor', 'scalable', 'apps')
|
||||
install_data(
|
||||
join_paths(scalable_dir, ('@0@.svg').format(application_id)),
|
||||
join_paths(scalable_dir, ('@0@.svg').format(APPLICATION_ID)),
|
||||
install_dir: join_paths(get_option('datadir'), 'icons', scalable_dir)
|
||||
)
|
||||
|
||||
symbolic_dir = join_paths('hicolor', 'symbolic', 'apps')
|
||||
install_data(
|
||||
join_paths(symbolic_dir, ('@0@-symbolic.svg').format(application_id)),
|
||||
install_dir: join_paths(get_option('datadir'), 'icons', symbolic_dir)
|
||||
join_paths(symbolic_dir, ('@0@-symbolic.svg').format(PROJECT_RDNN_NAME)),
|
||||
install_dir: join_paths(get_option('datadir'), 'icons', symbolic_dir),
|
||||
rename: '@0@-symbolic.svg'.format(APPLICATION_ID)
|
||||
)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>io.github.Bavarder.Bavarder</id>
|
||||
<id>@APP_ID@</id>
|
||||
<name>Bavarder</name>
|
||||
<summary>Chit-chat with an AI</summary>
|
||||
<developer_name>0xMRTT</developer_name>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0-or-later</project_license>
|
||||
<launchable type="desktop-id">io.github.Bavarder.Bavarder.desktop</launchable>
|
||||
<launchable type="desktop-id">@APP_ID@.desktop</launchable>
|
||||
<content_rating type="oars-1.1"/>
|
||||
|
||||
<description>
|
||||
@@ -24,10 +24,10 @@
|
||||
</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://bavarder.codeberg.page</url>
|
||||
<url type="homepage">@PROJECT_URL@</url>
|
||||
<url type="bugtracker">@BUGTRACKER_URL@</url>
|
||||
<url type="help">@HELP_URL@</url>
|
||||
<url type="translate">@TRANSLATE_URL@</url>
|
||||
|
||||
<kudos>
|
||||
<kudo>HiDpiIcon</kudo>
|
||||
@@ -65,6 +65,28 @@
|
||||
</keywords>
|
||||
|
||||
<releases>
|
||||
<release version="0.2.4" date="2023-6-16" type="stable">
|
||||
<description>
|
||||
<p>New UI</p>
|
||||
<p>Faster BaiChat</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<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>
|
||||
@@ -1,7 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=Bavarder
|
||||
Exec=bavarder
|
||||
Icon=io.github.Bavarder.Bavarder
|
||||
Icon=@APP_ID@
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=GTK;
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schemalist gettext-domain="bavarder">
|
||||
<schema id="io.github.Bavarder.Bavarder" path="/io/github/Bavarder/Bavarder/">
|
||||
<schema id="@APP_ID@" path="/io/github/Bavarder/Bavarder/">
|
||||
<key name="width" type="i">
|
||||
<default>350</default>
|
||||
</key>
|
||||
@@ -3,51 +3,73 @@ pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.proje
|
||||
|
||||
subdir('ui')
|
||||
|
||||
desktop_file = i18n.merge_file(
|
||||
input: configure_file(
|
||||
input: '@0@.desktop.in.in'.format(PROJECT_RDNN_NAME),
|
||||
output: '@BASENAME@',
|
||||
configuration: conf
|
||||
),
|
||||
output: '@0@.desktop'.format(APPLICATION_ID),
|
||||
type: 'desktop',
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: join_paths(get_option('datadir'), 'applications')
|
||||
)
|
||||
|
||||
desktop_utils = find_program('desktop-file-validate', required: false)
|
||||
if desktop_utils.found()
|
||||
test('Validate desktop file', desktop_utils,
|
||||
args: [desktop_file.full_path()]
|
||||
)
|
||||
endif
|
||||
|
||||
gnome.compile_resources('bavarder',
|
||||
'bavarder.gresource.xml',
|
||||
gresource_bundle: true,
|
||||
source_dir: meson.current_build_dir(),
|
||||
install: true,
|
||||
install_dir: pkgdatadir,
|
||||
dependencies: blueprints,
|
||||
install_dir: PKGDATA_DIR,
|
||||
dependencies: blueprints
|
||||
)
|
||||
|
||||
desktop_file = i18n.merge_file(
|
||||
input: 'io.github.Bavarder.Bavarder.desktop.in',
|
||||
output: 'io.github.Bavarder.Bavarder.desktop',
|
||||
type: 'desktop',
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: join_paths(get_option('datadir'), 'applications')
|
||||
)
|
||||
|
||||
desktop_utils = find_program('desktop-file-validate', required: false)
|
||||
if desktop_utils.found()
|
||||
test('Validate desktop file', desktop_utils, args: [desktop_file])
|
||||
endif
|
||||
|
||||
appstream_file = i18n.merge_file(
|
||||
input: 'io.github.Bavarder.Bavarder.appdata.xml.in',
|
||||
output: 'io.github.Bavarder.Bavarder.appdata.xml',
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
input: configure_file(
|
||||
input: '@0@.appdata.xml.in.in'.format(PROJECT_RDNN_NAME),
|
||||
output: '@BASENAME@',
|
||||
configuration: configuration_data({
|
||||
'APP_ID': APPLICATION_ID,
|
||||
'PROJECT_URL': PROJECT_URL,
|
||||
'BUGTRACKER_URL': BUGTRACKER_URL,
|
||||
'HELP_URL': HELP_URL,
|
||||
'TRANSLATE_URL': TRANSLATE_URL
|
||||
})
|
||||
),
|
||||
output: '@0@.appdata.xml'.format(APPLICATION_ID),
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: join_paths(get_option('datadir'), 'appdata')
|
||||
)
|
||||
|
||||
appstream_util = find_program('appstream-util', required: false)
|
||||
if appstream_util.found()
|
||||
test('Validate appstream file', appstream_util, args: ['validate', appstream_file])
|
||||
test('Validate appstream file', appstream_util,
|
||||
args: ['validate', appstream_file.full_path()]
|
||||
)
|
||||
endif
|
||||
|
||||
install_data('io.github.Bavarder.Bavarder.gschema.xml',
|
||||
configure_file(
|
||||
input: '@0@.gschema.xml.in'.format(PROJECT_RDNN_NAME),
|
||||
output: '@0@.gschema.xml'.format(APPLICATION_ID),
|
||||
configuration: conf,
|
||||
install: true,
|
||||
install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas')
|
||||
)
|
||||
|
||||
compile_schemas = find_program('glib-compile-schemas', required: false)
|
||||
if compile_schemas.found()
|
||||
test('Validate schema file',
|
||||
compile_schemas,
|
||||
args: ['--strict', '--dry-run', meson.current_source_dir()])
|
||||
test('Validate schema file', compile_schemas,
|
||||
args: ['--strict', '--dry-run', meson.current_source_dir()]
|
||||
)
|
||||
endif
|
||||
|
||||
subdir('icons')
|
||||
|
||||
@@ -13,3 +13,32 @@
|
||||
box-shadow: inset 0 -1px alpha(@shade_color, .75);
|
||||
background: linear-gradient(to top, alpha(@shade_color, .75), transparent 4px);
|
||||
}
|
||||
|
||||
|
||||
/* Global */
|
||||
|
||||
scrolledwindow > viewport > clamp > box {
|
||||
margin: 42px 12px;
|
||||
border-spacing: 24px;
|
||||
}
|
||||
|
||||
entry:disabled {
|
||||
border-color: transparent;
|
||||
color: @view_fg_color;
|
||||
background: none;
|
||||
}
|
||||
|
||||
entry textview {
|
||||
color: @view_fg_color;
|
||||
background: none;
|
||||
}
|
||||
|
||||
entry text {
|
||||
color: @view_fg_color;
|
||||
background: none;
|
||||
}
|
||||
|
||||
|
||||
entry .inline-pill {
|
||||
margin-bottom: -0.5em;
|
||||
}
|
||||
|
||||
49
data/ui/help-overlay.blp
Normal file
49
data/ui/help-overlay.blp
Normal file
@@ -0,0 +1,49 @@
|
||||
using Gtk 4.0;
|
||||
|
||||
ShortcutsWindow help_overlay {
|
||||
modal: true;
|
||||
|
||||
ShortcutsSection {
|
||||
section-name: "shortcuts";
|
||||
max-height: 10;
|
||||
|
||||
ShortcutsGroup {
|
||||
title: C_("shortcut window", "General");
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Ask");
|
||||
action-name: "app.ask";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Show Shortcuts");
|
||||
action-name: "win.show-help-overlay";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Preferences");
|
||||
action-name: "app.preferences";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Quit");
|
||||
action-name: "app.quit";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Close all windows");
|
||||
action-name: "app.quit_all";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Copy response");
|
||||
action-name: "app.copy_bot";
|
||||
}
|
||||
|
||||
ShortcutsShortcut {
|
||||
title: C_("shortcut window", "Clear");
|
||||
action-name: "app.clear";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkShortcutsWindow" id="help_overlay">
|
||||
<property name="modal">True</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsSection">
|
||||
<property name="section-name">shortcuts</property>
|
||||
<property name="max-height">10</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsGroup">
|
||||
<property name="title" translatable="yes" context="shortcut window">General</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Show Shortcuts</property>
|
||||
<property name="action-name">win.show-help-overlay</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Ask</property>
|
||||
<property name="action-name">app.ask</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<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>
|
||||
<property name="action-name">app.preferences</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Copy response</property>
|
||||
<property name="action-name">app.copy_bot</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Clear</property>
|
||||
<property name="action-name">app.clear</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
@@ -1,6 +1,8 @@
|
||||
blueprints = custom_target('blueprints',
|
||||
input: files(
|
||||
'help-overlay.blp',
|
||||
'preferences.blp',
|
||||
'message_bubble.blp',
|
||||
'window.blp',
|
||||
),
|
||||
output: '.',
|
||||
|
||||
20
data/ui/message_bubble.blp
Normal file
20
data/ui/message_bubble.blp
Normal file
@@ -0,0 +1,20 @@
|
||||
using Gtk 4.0;
|
||||
using Adw 1;
|
||||
|
||||
template $MessageBubble: Gtk.Box {
|
||||
orientation: vertical;
|
||||
|
||||
Label sender_label {
|
||||
styles ["caption-heading"]
|
||||
|
||||
ellipsize: end;
|
||||
xalign: 0;
|
||||
}
|
||||
|
||||
Adw.Bin message_reply_bin {}
|
||||
|
||||
Adw.Bin prefix_bin {}
|
||||
|
||||
Label message_label {
|
||||
}
|
||||
}
|
||||
@@ -39,181 +39,189 @@ template $BavarderWindow : Adw.ApplicationWindow {
|
||||
orientation: vertical;
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
margin-top: 0;
|
||||
margin-bottom: 24;
|
||||
margin-start: 24;
|
||||
margin-end: 24;
|
||||
spacing: 12;
|
||||
|
||||
Adw.PreferencesGroup prompt_group {
|
||||
title: _("Message");
|
||||
Adw.Bin {
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
|
||||
Box {
|
||||
orientation: vertical;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
|
||||
styles ["card", "text-box"]
|
||||
|
||||
ScrolledWindow {
|
||||
margin-top: 12;
|
||||
margin-bottom: 0;
|
||||
margin-start: 12;
|
||||
margin-end: 12;
|
||||
styles ["scrolled-window"]
|
||||
Stack stack {
|
||||
transition-type: crossfade;
|
||||
|
||||
TextView prompt_text_view {
|
||||
wrap-mode: word_char;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
buffer: TextBuffer { };
|
||||
//key-press => on_key_press_event();
|
||||
styles [ "card"]
|
||||
|
||||
Gtk.StackPage {
|
||||
name: "page_content";
|
||||
child: Overlay overlay {
|
||||
|
||||
Adw.PreferencesGroup bot_group {
|
||||
Box {
|
||||
orientation: vertical;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
|
||||
styles [ "text-box"]
|
||||
|
||||
ScrolledWindow scrolled_response_window {
|
||||
margin-top: 12;
|
||||
margin-bottom: 0;
|
||||
margin-start: 12;
|
||||
margin-end: 12;
|
||||
|
||||
TextView bot_text_view {
|
||||
wrap-mode: word_char;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
editable: false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Box {
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
|
||||
styles ["toolbar"]
|
||||
|
||||
// Button speak {
|
||||
// action-name: "app.speak";
|
||||
// tooltip-text: _("Speak");
|
||||
// icon-name: "audio-speakers-symbolic";
|
||||
// }
|
||||
|
||||
// Button speak_wait {
|
||||
// visible: false;
|
||||
// sensitive: false;
|
||||
// tooltip-text: _("Speaking");
|
||||
// Spinner speak_spinner {
|
||||
// margin-top: 8;
|
||||
// margin-bottom: 8;
|
||||
// margin-start: 8;
|
||||
// margin-end: 8;
|
||||
// }
|
||||
// }
|
||||
|
||||
Button copy_bot {
|
||||
sensitive: false;
|
||||
icon-name: "edit-copy-symbolic";
|
||||
tooltip-text: _("Copy to Clipboard");
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
action-name: "app.copy_bot";
|
||||
}
|
||||
|
||||
Button stop_button {
|
||||
visible: false;
|
||||
sensitive: false;
|
||||
icon-name: "x-circular-symbolic";
|
||||
tooltip-text: _("Stop");
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
action-name: "app.stop";
|
||||
styles ["suggested-action", "circular"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Gtk.StackPage {
|
||||
name: "page_loading";
|
||||
child: Spinner {
|
||||
valign: center;
|
||||
halign: center;
|
||||
vexpand: true;
|
||||
};
|
||||
}
|
||||
|
||||
Gtk.StackPage {
|
||||
name: "page_error";
|
||||
child: Adw.StatusPage error {
|
||||
visible: true;
|
||||
vexpand: true;
|
||||
icon-name: "dialog-error-symbolic";
|
||||
title: _("ERROR");
|
||||
description: _("DESCRIPTION");
|
||||
|
||||
Button {
|
||||
label: _("Try Again");
|
||||
halign: center;
|
||||
styles ["pill"]
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
Box {
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
|
||||
styles ["toolbar"]
|
||||
Button {
|
||||
sensitive: false;
|
||||
icon-name: "edit-copy-symbolic";
|
||||
tooltip-text: _("Copy to Clipboard");
|
||||
action-name: "app.copy_prompt";
|
||||
}
|
||||
// Button listen {
|
||||
// action-name: "app.listen";
|
||||
// tooltip-text: _("Listen");
|
||||
// icon-name: "audio-input-microphone-symbolic";
|
||||
// }
|
||||
// Separator {}
|
||||
|
||||
// Button listen_wait {
|
||||
// visible: false;
|
||||
// sensitive: false;
|
||||
// tooltip-text: _("Listening");
|
||||
// Spinner listen_spinner {
|
||||
// margin-top: 8;
|
||||
// margin-bottom: 8;
|
||||
// margin-start: 8;
|
||||
// margin-end: 8;
|
||||
// }
|
||||
// }
|
||||
Button ask_button {
|
||||
visible: true;
|
||||
sensitive: false;
|
||||
icon-name: "paper-plane-symbolic";
|
||||
tooltip-text: _("Ask");
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
action-name: "app.ask";
|
||||
styles ["suggested-action", "circular"]
|
||||
}
|
||||
Button wait_button {
|
||||
visible: false;
|
||||
sensitive: false;
|
||||
tooltip-text: _("Wait");
|
||||
styles ["suggested-action", "circular"]
|
||||
Spinner spinner {
|
||||
margin-top: 8;
|
||||
margin-bottom: 8;
|
||||
margin-start: 8;
|
||||
margin-end: 8;
|
||||
Adw.Clamp {
|
||||
vexpand: false;
|
||||
hexpand: true;
|
||||
maximum-size: 750;
|
||||
tightening-threshold: 550;
|
||||
|
||||
margin-top: 8;
|
||||
margin-bottom: 8;
|
||||
|
||||
Box {
|
||||
|
||||
// Button {
|
||||
// valign: end;
|
||||
// icon-name: "mail-attachment-symbolic";
|
||||
// }
|
||||
|
||||
|
||||
ScrolledWindow {
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
vscrollbar-policy: external;
|
||||
max-content-height: 200;
|
||||
propagate-natural-height: true;
|
||||
|
||||
styles [ "scrolled-window" ]
|
||||
|
||||
|
||||
TextView prompt_text_view {
|
||||
|
||||
styles [ "entry "]
|
||||
|
||||
hexpand: true;
|
||||
accepts-tab: false;
|
||||
top-margin: 7;
|
||||
bottom-margin: 7;
|
||||
left-margin: 5;
|
||||
right-margin: 5;
|
||||
wrap-mode: word;
|
||||
buffer: TextBuffer { };
|
||||
}
|
||||
}
|
||||
|
||||
Button ask_button {
|
||||
valign: end;
|
||||
|
||||
margin-start: 5;
|
||||
|
||||
icon-name: "paper-plane-symbolic";
|
||||
tooltip-text: _("Ask");
|
||||
halign: end;
|
||||
action-name: "app.ask";
|
||||
styles ["suggested-action", "circular"]
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup bot_group {
|
||||
title: _("Response");
|
||||
|
||||
|
||||
Box {
|
||||
orientation: vertical;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
|
||||
styles ["card", "text-box"]
|
||||
|
||||
ScrolledWindow scrolled_response_window {
|
||||
margin-top: 12;
|
||||
margin-bottom: 0;
|
||||
margin-start: 12;
|
||||
margin-end: 12;
|
||||
styles ["scrolled-window"]
|
||||
|
||||
Gtk.Stack response_stack {
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
Gtk.StackPage {
|
||||
name: "page_response";
|
||||
child: TextView bot_text_view {
|
||||
wrap-mode: word_char;
|
||||
hexpand: true;
|
||||
vexpand: true;
|
||||
editable: false;
|
||||
};
|
||||
}
|
||||
|
||||
// Gtk.StackPage {
|
||||
// name: "page_offline";
|
||||
// child: Adw.StatusPage {
|
||||
// //icon-name: "network-wireless-offline-symbolic";
|
||||
// title: _("Offline");
|
||||
// };
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Box {
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
|
||||
styles ["toolbar"]
|
||||
|
||||
// Button speak {
|
||||
// action-name: "app.speak";
|
||||
// tooltip-text: _("Speak");
|
||||
// icon-name: "audio-speakers-symbolic";
|
||||
// }
|
||||
|
||||
// Button speak_wait {
|
||||
// visible: false;
|
||||
// sensitive: false;
|
||||
// tooltip-text: _("Speaking");
|
||||
// Spinner speak_spinner {
|
||||
// margin-top: 8;
|
||||
// margin-bottom: 8;
|
||||
// margin-start: 8;
|
||||
// margin-end: 8;
|
||||
// }
|
||||
// }
|
||||
|
||||
Button copy_bot {
|
||||
sensitive: false;
|
||||
icon-name: "edit-copy-symbolic";
|
||||
tooltip-text: _("Copy to Clipboard");
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
action-name: "app.copy_bot";
|
||||
}
|
||||
|
||||
Button stop_button {
|
||||
visible: false;
|
||||
sensitive: false;
|
||||
icon-name: "x-circular-symbolic";
|
||||
tooltip-text: _("Stop");
|
||||
hexpand: true;
|
||||
halign: end;
|
||||
action-name: "app.stop";
|
||||
styles ["suggested-action", "circular"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('bavarder',
|
||||
version: '0.2.2',
|
||||
version: '0.2.4',
|
||||
meson_version: '>= 0.62.0',
|
||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||
)
|
||||
|
||||
11
meson_options.txt
Normal file
11
meson_options.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
option(
|
||||
'profile',
|
||||
type: 'combo',
|
||||
description: 'The build profiles for the application. Use development or ci for the .Devel app ID. ci also produces optimized bundles.',
|
||||
choices: [
|
||||
'release',
|
||||
'development',
|
||||
'ci',
|
||||
],
|
||||
value: 'release'
|
||||
)
|
||||
179
po/Bavarder.pot
179
po/Bavarder.pot
@@ -8,60 +8,20 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 20:19+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: 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
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
@@ -101,7 +61,7 @@ msgstr ""
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:295
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr ""
|
||||
|
||||
@@ -109,62 +69,123 @@ msgstr ""
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/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
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:298
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:299
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:150
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:266
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
@@ -3,7 +3,9 @@ sv
|
||||
fa
|
||||
fi
|
||||
ru
|
||||
ta
|
||||
nl
|
||||
gl
|
||||
es
|
||||
fr
|
||||
pt
|
||||
@@ -11,8 +13,10 @@ hu
|
||||
de
|
||||
tr
|
||||
pl
|
||||
ar
|
||||
it
|
||||
zh_Hans
|
||||
az
|
||||
cs
|
||||
uk
|
||||
et
|
||||
|
||||
45
po/POTFILES
45
po/POTFILES
@@ -1,10 +1,39 @@
|
||||
data/io.github.Bavarder.Bavarder.desktop.in
|
||||
data/io.github.Bavarder.Bavarder.gschema.xml
|
||||
data/ui/help-overlay.ui
|
||||
data/io.github.Bavarder.Bavarder.desktop.in.in
|
||||
data/io.github.Bavarder.Bavarder.gschema.xml.in
|
||||
data/ui/help-overlay.blp
|
||||
data/ui/preferences.blp
|
||||
data/ui/window.blp
|
||||
src/main.py
|
||||
src/preferences.py
|
||||
src/window.py
|
||||
src/provider/base.py
|
||||
src/provider/catgpt.py
|
||||
src/providers/__init__.py
|
||||
src/providers/alpacalora.py
|
||||
src/providers/baichat.py
|
||||
src/providers/bard.py
|
||||
src/providers/base.py
|
||||
src/providers/baseoffline.py
|
||||
src/providers/catgpt.py
|
||||
src/providers/gradio.py
|
||||
src/providers/hfdialogpt.py
|
||||
src/providers/hfgoogleflant5xxl.py
|
||||
src/providers/hfgoogleflanu12.py
|
||||
src/providers/hfgpt2.py
|
||||
src/providers/hfgpt2large.py
|
||||
src/providers/hfgpt2xl.py
|
||||
src/providers/hfopenassistantsft1pythia12b.py
|
||||
src/providers/huggingchat.py
|
||||
src/providers/huggingchatbase.py
|
||||
src/providers/huggingface.py
|
||||
src/providers/openai.py
|
||||
src/providers/openaicustom.py
|
||||
src/providers/openaigpt4.py
|
||||
src/providers/openaigpt35turbo.py
|
||||
src/providers/openaitextdavinci003.py
|
||||
src/providers/stablelm.py
|
||||
src/providers/starcoder.py
|
||||
src/providers/transformer.py
|
||||
src/views/__init__.py
|
||||
src/views/about_window.py
|
||||
src/views/main_window.py
|
||||
src/views/preferences_window.py
|
||||
src/widgets/__init__.py
|
||||
src/__init__.py
|
||||
src/threading.py
|
||||
src/main.py
|
||||
209
po/ar.po
Normal file
209
po/ar.po
Normal file
@@ -0,0 +1,209 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# nakibrayan2 <codeberg.org.quoz7@aleeas.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Arabic <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/ar/>\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "التفضيلات"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
#, fuzzy
|
||||
msgid "Prompt"
|
||||
msgstr "موجه"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
#, fuzzy
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "مسح نصح الموجه بعد الإرسال"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
#, fuzzy
|
||||
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:271
|
||||
msgid "Providers"
|
||||
msgstr "مقدمي الخدمة"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "القائمة الرئيسية"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "ليس هناك اتصال بالشبكة"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "الجواب"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "النسخ إلى الحافظة"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "إيقاف"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "حاول مرة أخرى"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "طرح سؤال"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "نافذة جديدة"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "اختصارات لوحة المفاتيح"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "حول Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "لم يتم توفير مفتاح API ، يمكنك توفير مفتاح في الإعدادات"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "افتح الإعدادات"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "حول مقدم الخدمة"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "كيف تحصل على توكن"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "لا توجد تفضيلات متاحة"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "مفتاح API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
#, fuzzy
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "النص في الموجه طويل ، يمكن تقسيمة إلى قطع"
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "ليس لديك حق الوصول إلى هذا النموذج"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr "لقد تجاوزت حصتك الحالية ، يرجى التأكد من إشتراكك و تفاصيل الفواتير."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "خطأ في ال API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "لم يتم تحديد أي نموذج ، يمكن اختيار نموذج في الإعدادات"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "رابط ال API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "نموذج"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "كيف تختار نموذج"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "حقوق المترجم"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "حقوق النشر © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "هنالك إصدار جديد متوفر!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "نافذة جديدة"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "رسالة"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "يرجى الإنتضار"
|
||||
245
po/az.po
245
po/az.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Azerbaijani <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/az/>\n"
|
||||
@@ -21,53 +21,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Ümumi"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Qısayolları göstərin"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Soruş"
|
||||
|
||||
#: 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 "Üstünlüklər"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Cavab"
|
||||
|
||||
#: 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:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Üstünlüklər"
|
||||
|
||||
@@ -85,21 +43,33 @@ msgstr "Sorğu göndərildikdən sonra silinəcək"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
msgstr "Çıxış üçün düz mətndən istifadə edin"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
msgstr "Formatlaşdırmadan düz mətndən istifadə ediləcək"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
msgstr "Xəbərdarlıq etmədən bütün pəncərələri bağlayın"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Bütün pəncərələr xəbərdarlıq edilmədən bağlanacaq, bu məlumat itkisinə səbəb "
|
||||
"ola bilər"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Yeni provayder xəbərlərinə bax"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Provayderlərlə bağlı problemlər haqqında xəbərlər Bavarder saytından "
|
||||
"götürüləcək"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Provayderlər"
|
||||
|
||||
@@ -107,68 +77,173 @@ msgstr "Provayderlər"
|
||||
msgid "Main Menu"
|
||||
msgstr "Əsas menyu"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Şəbəkə bağlantısı yoxdur"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Mesaj"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Buferə kopyalayın"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Soruş"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Gözləyin"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Cavab"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Buferə kopyalayın"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Dayan"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Yenidən cəhd et"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Soruş"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
msgstr "Yeni pəncərə"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klaviatura Qısayolları"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Bavarder haqqında"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Parametrləri açın"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Provayder haqqında"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Tokeni necə əldə etmək olar"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Heç bir tərcih yoxdur"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API Açarı"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Tələb çox uzundur, parçalara bölünür."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Bu modelə girişiniz yoxdur"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Cari kvotanızı keçdiniz, lütfən, planınızı və faktura məlumatlarınızı "
|
||||
"yoxlayın."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API xətası"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Heç bir model seçilməyib, üstünlüklərdən birini seçə bilərsiniz"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Bir modeli necə seçmək olar"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "Mehrab Poladov | thepoladov@protonmail.com"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Müəlliflik hüququ © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Yeni versiya mövcuddur!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pəncərə"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mesaj"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Gözləyin"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Ümumi"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Qısayolları göstərin"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Soruş"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Cari pəncərəni bağla"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Bütün pəncərələri bağla"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Üstünlüklər"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Cavabı kopyala"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Təmizlə"
|
||||
|
||||
#~ 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ü"
|
||||
|
||||
|
||||
241
po/cs.po
241
po/cs.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Czech <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/cs/>\n"
|
||||
@@ -21,51 +21,11 @@ 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/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Obecné"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Zobrazit zkratky"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Zeptat se"
|
||||
|
||||
#: 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 "Nastavení"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Zkopírovat odpověď"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Vymazat"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Nastavení"
|
||||
|
||||
@@ -91,13 +51,22 @@ msgstr "Použije se prostý text bez formátování"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
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 ""
|
||||
msgstr "Všechna okna se bez varování zavřou, což může vést ke ztrátě dat"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Poskytovatelé"
|
||||
|
||||
@@ -105,70 +74,176 @@ msgstr "Poskytovatelé"
|
||||
msgid "Main Menu"
|
||||
msgstr "Hlavní menu"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Žádné připojení k síti"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Zpráva"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopírovat do schránky"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Zeptat se"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Čekejte"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Odpověď"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopírovat do schránky"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Zastavit"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Zkusit znovu"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Zeptat se"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nové okno"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klávesové zkratky"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "O Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
#, fuzzy
|
||||
#| msgid "New window"
|
||||
msgid "New Window"
|
||||
msgstr "Nové okno"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Otevřít nastavení"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "O poskytovateli"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Jak získat token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Žádná nastavení nejsou k dispozici"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Klíč API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Dotaz je příliš dlouhý, rozděluji jej na části."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Nemáte přístup k tomuto modelu"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Překročili jste svůj limit, zkontrolujte prosím svůj tarif a fakturační "
|
||||
"údaje."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API chyba"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Není vybrán model, vyberte si jeden z nastavení"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Jak vybrat model"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Gmisiycs https://launchpad.net/~gmisiycs\n"
|
||||
" Pavel Borecki https://launchpad.net/~pavel-borecki"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nová verze je k dispozici!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nové okno"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Zpráva"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Čekejte"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Obecné"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Zobrazit zkratky"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Zeptat se"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Zavřít aktuální okno"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Zavřít všechna okna"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Nastavení"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Zkopírovat odpověď"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Vymazat"
|
||||
|
||||
#~ 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í"
|
||||
|
||||
|
||||
247
po/de.po
247
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-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+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,51 +22,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Allgemein"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Verknüpfungen anzeigen"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: 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 "Einstellungen"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Antwort kopieren"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
@@ -83,21 +44,31 @@ msgstr "Die Eingabeaufforderung wird nach dem Senden gelöscht"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Verwenden Sie für die Ausgabe Klartext"
|
||||
msgstr "Klartextausgabe verwenden"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Es wird der reine Text ohne Formatierung verwendet"
|
||||
msgstr "Es wird Reintext ohne Formatierung verwendet"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
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:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Anbieter"
|
||||
|
||||
@@ -105,71 +76,175 @@ msgstr "Anbieter"
|
||||
msgid "Main Menu"
|
||||
msgstr "Hauptmenü"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Keine Netzwerkverbindung"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Meldung"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "In die Zwischenablage kopieren"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Warten"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Antwort"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "In die Zwischenablage kopieren"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "Beschreibung"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Erneut versuchen"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Neues Fenster"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastatürkürzel"
|
||||
msgstr "Tastenkürzel"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Über Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
#, fuzzy
|
||||
#| msgid "New window"
|
||||
msgid "New Window"
|
||||
msgstr "Neues Fenster"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Einstellungen öffnen"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Katze GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Über den Anbieter"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Wie Sie einen Schlüssel bekommen"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Keine Einstellungen verfügbar"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API Schlüssel"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Zu lange Eingabe, sie wird zerlegt."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Sie haben keine Zugang zu diesem Modell"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Sie haben ihre laufende Quote überschritten, bitte überprüfen Sie Ihren Plan "
|
||||
"und Rechnungsdetails."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API Fehler"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Kein Modell ausgewählt, Sie können eines in den Einstellungen wählen"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modell"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Wie Sie ein Modell wählen"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "Übersetzerwürdigung"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Urheberrechte © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Neue Version verfügbar!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Neues Fenster"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Meldung"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Warten"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Allgemein"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Tastenkürzel anzeigen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Fragen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Aktuelles Fenster schließen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Alle Fenster schließen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Einstellungen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Antwort kopieren"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Löschen"
|
||||
|
||||
#, 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"
|
||||
|
||||
|
||||
250
po/es.po
250
po/es.po
@@ -12,9 +12,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-05 03:29+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Spanish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/es/>\n"
|
||||
"Language: es\n"
|
||||
@@ -24,51 +24,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Mostrar Atajos de Teclado"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Preguntar"
|
||||
|
||||
#: 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 "Preferencias"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Copiar la respuesta"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Borrar"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
@@ -86,21 +46,33 @@ msgstr "La entrada será borrada después de enviar"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
msgstr "Utiliza el texto sin formato para la salida"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
msgstr "Se utilizará el texto sin formato"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
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:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Proveedores"
|
||||
|
||||
@@ -108,69 +80,177 @@ msgstr "Proveedores"
|
||||
msgid "Main Menu"
|
||||
msgstr "Menú Principal"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "No hay conexión de red"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Mensaje"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar al portapapeles"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Preguntar"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Espera"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Respuesta"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar al portapapeles"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Parar"
|
||||
msgstr "Detener"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "ERROR"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "DESCRIPCIÓN"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Intentar de nuevo"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Preguntar"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
msgstr "Nueva ventana"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atajos de Teclado"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configuraciones"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Charla GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Acerca del proveedor"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Cómo conseguir un token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "No existen preferencias"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Clave de la API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Prompt demasiado largo, dividido en trozos."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "No tienes acceso a este modelo"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Has superado tu cuota actual, por favor comprueba los detalles de tu plan y "
|
||||
"la facturación."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Error de la API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
"No hay ningún modelo seleccionado, puedes elegir uno en las preferencias"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "Dirección url de la API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Cómo elegir un modelo"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Hector A. Mantellini https://launchpad.net/~xombra"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Copyright © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "¡Una nueva versión está disponible!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nueva Ventana"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mensaje"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Espera"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "General"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Mostrar Atajos de Teclado"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Preguntar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Cerrar la ventana actual"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Cerrar todas las ventanas"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferencias"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copiar la respuesta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Borrar"
|
||||
|
||||
#~ 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"
|
||||
|
||||
|
||||
196
po/et.po
Normal file
196
po/et.po
Normal file
@@ -0,0 +1,196 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# vabaME <vaba@riseup.net>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-05 19:37+0000\n"
|
||||
"Last-Translator: vabaME <vaba@riseup.net>\n"
|
||||
"Language-Team: Estonian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/et/>\n"
|
||||
"Language: et\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Eelistused"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Viip"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Kustuta viip pärast saatmist"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Viip kustutatakse pärast saatmist"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Kasuta väljundiks lihtteksti"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Kasutatakse vorminguta lihtteksti"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Sulge kõik aknad ilma hoiatuseta"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr "Kõik aknad suletakse hoiatamata, see võib põhjustada andmete kadumise"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Otsi teenusepakkuja uudiseid"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Uudised teenusepakkujatega seotud probleemide kohta hangitakse Bavarderi "
|
||||
"veebisaidilt"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Teenusepakkujad"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Peamenüü"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Võrguühendus puudub"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Vastus"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopeeri lõikelauale"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stopp"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "VIGA"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "KIRJELDUS"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Proovi uuesti"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Küsi"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Uus aken"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klaviatuuri kiirvalikud"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Teave"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API-võtit ei pakuta, saad selle seadistustes sisestada"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Ava seadistused"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Pakkuja kohta"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "No preferences available"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API võti"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Viip liiga pikk, jaguneb tükkideks."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Sul pole sellele mudelile juurdepääsu"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr "Ületasid oma praeguse kvoodi, kontrolli oma plaani ja arveldusandmeid."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API viga"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Ühtegi mudelit pole valitud, saate ühe valida eelistustes"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Mudel"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Kuidas valida mudelit"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Autoriõigus © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Uus versioon on saadaval!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Uus aken"
|
||||
231
po/fa.po
231
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-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Persian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fa/>\n"
|
||||
@@ -21,55 +21,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "باوارده"
|
||||
|
||||
#: 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
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "پیشفرضها"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
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:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "پیشفرضها"
|
||||
|
||||
@@ -101,7 +57,15 @@ msgstr ""
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "تامین کنندگان"
|
||||
|
||||
@@ -109,68 +73,169 @@ msgstr "تامین کنندگان"
|
||||
msgid "Main Menu"
|
||||
msgstr "منوی اصلی"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/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
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "پاسخ"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "کپی به کلیپ بورد"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "توقف"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "تلاش مجدد"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "بپرس"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "کلیدهای میانبر"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "درباره"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "کلید API پیدا نشد، می توانید دربخش تنطیمات آن را وارد کنید"
|
||||
|
||||
#: src/provider/base.py:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "تنظيمات"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "کت جی پی تی"
|
||||
#: src/providers/base.py:81
|
||||
#, fuzzy
|
||||
#| msgid "About Bavarder"
|
||||
msgid "About provider"
|
||||
msgstr "درباره"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "سازنده: 0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "پیام"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "منتظر باش"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "عمومی"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "نمایش کلیدهای میانبر"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "بپرس"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "پیشفرضها"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Response"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "پاسخ"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "پاکسازی"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "کت جی پی تی"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "گپی با هوش مصنوعی"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "سازنده: 0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "تصویر نمای اصلی"
|
||||
|
||||
|
||||
241
po/fi.po
241
po/fi.po
@@ -9,9 +9,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-09 12:26+0000\n"
|
||||
"Last-Translator: artnay <jiri.gronroos@iki.fi>\n"
|
||||
"Language-Team: Finnish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fi/>\n"
|
||||
"Language: fi\n"
|
||||
@@ -21,51 +21,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Yleiset"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Näytä pikanäppäimet"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Kysy"
|
||||
|
||||
#: 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 "Asetukset"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Kopioi vastaus"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Tyhjennä"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Asetukset"
|
||||
|
||||
@@ -91,13 +51,24 @@ msgstr "Käytetään raakatekstiä ilman muotoilua"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
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:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Palveluntarjoajat"
|
||||
|
||||
@@ -105,70 +76,174 @@ msgstr "Palveluntarjoajat"
|
||||
msgid "Main Menu"
|
||||
msgstr "Päävalikko"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Ei verkkoyhteyttä"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Viesti"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopioi leikepöydälle"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Kysy"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Odota"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Vastaus"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopioi leikepöydälle"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Lopeta"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "VIRHE"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "KUVAUS"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Yritä uudelleen"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Kysy"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Uusi ikkuna"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Pikanäppäimet"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Tietoja - Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
#, fuzzy
|
||||
#| msgid "New window"
|
||||
msgid "New Window"
|
||||
msgstr "Uusi ikkuna"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Avaa asetukset"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Tietoja palveluntarjoajasta"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Miten saat poletin"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Asetuksia ei ole saatavilla"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API-avain"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Kehote on liian pitkä, pilkotaan osiin."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Sinulla ei ole pääsyä tähän malliin"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr "Ylitit kiintiösi, tarkista käyttämäsi tilaus ja maksutapatiedot."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API-virhe"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Mallia ei ole valittu. Valitse malli asetuksista"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API:n osoite"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Malli"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Miten valita malli"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Jiri Grönroos\n"
|
||||
"Launchpad Contributions:\n"
|
||||
"Kimmo Kujansuu https://launchpad.net/~mahtiankka"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Tekijänoikeus © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Uusi versio saatavilla!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Uusi ikkuna"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Viesti"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Odota"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Yleiset"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Näytä pikanäppäimet"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Kysy"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Sulje nykyinen ikkuna"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Sulje kaikki ikkunat"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Asetukset"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Kopioi vastaus"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Tyhjennä"
|
||||
|
||||
#~ 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ä"
|
||||
|
||||
|
||||
236
po/fr.po
236
po/fr.po
@@ -11,8 +11,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 14:07+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-04 00:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
|
||||
"Language-Team: French <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fr/>\n"
|
||||
@@ -23,51 +23,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Afficher les raccourcis"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Demander"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
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:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Copier la réponse"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Vider"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
@@ -101,7 +61,17 @@ msgstr ""
|
||||
"Toutes les fenêtres vont être fermées sans avertissement, cela peut créer "
|
||||
"des pertes de données"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Fournisseurs"
|
||||
|
||||
@@ -109,69 +79,177 @@ msgstr "Fournisseurs"
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Pas de connexion réseau"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copier dans le presse-papiers"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Demander"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Attendez"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Réponse"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copier dans le presse-papiers"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Réessayer"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Demander"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nouvelle fenêtre"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis clavier"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "À propos de Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr "Nouvelle Fenêtre"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Ouvrir les paramètres"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "À propos du fournisseur"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Comment obtenir un jeton"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Aucune préférences disponibles"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Clé d’API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Requête trop longue, découpage en morceaux."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Vous n’avez pas accès à ce modèle"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Vous avez dépassé votre quota actuel, veuillez vérifier votre forfait et vos "
|
||||
"informations de facturation."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Erreur d’API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
"Aucun modèle sélectionné, vous pouvez en choisir un dans les préférences"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "URL d’API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modèle"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Comment choisir un modèle"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Calinou https://launchpad.net/~calinou"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nouvelle version disponible !"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nouvelle fenêtre"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Message"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Attendez"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Général"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Afficher les raccourcis"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Demander"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Fermer la fenêtre actuelle"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Fermer toutes les fenêtres"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Préférences"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copier la réponse"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Effacer"
|
||||
|
||||
#~ 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"
|
||||
|
||||
|
||||
240
po/gl.po
Normal file
240
po/gl.po
Normal file
@@ -0,0 +1,240 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# xosecalvo <xosecalvo@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Galician <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/gl/>\n"
|
||||
"Language: gl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Pé"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Limpar pé despois de enviar"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "O pé límpase após ser enviado"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Empregar texto simple para a saída"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr "Emprégase texto simple sen formato"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr "Pechar todas as xanelas sen avisar"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Todas as xanelas péchanse sen avisar; isto pode provocar a perda de datos"
|
||||
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Procurar novas do forcenecedor"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Obtéñense novas relacionadas con problemas cos fornecedores desde o sitio "
|
||||
"web de Bavarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Fornecedores"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Menú principal"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Sen conexión a rede"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Resposta"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar ao portapapeis"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Parar"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Inténteo de novo"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Preguntar"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nova xanela"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atallos de teclado"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre o Bavarder"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Non se forneceu ningunha API; pode fornecer unha na configuración"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configuración"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Sobre o fornecedor"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Non hai ningunha preferencia dispoñíbel"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Chave da API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "O pé é demasiado longo; divídese en anacos."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Vostede non ten acceso a este modelo"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Excedeu a cota actual; comprobe o seu plan e os detalles de facturación."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Erro da API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Ningún modelo seleccionado; pode escoller un nas preferencias"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "URL da API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Como escoller un modelo"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Manuel Xosé Lemos https://launchpad.net/~mxlemos\n"
|
||||
" Miguel Anxo Bouzada https://launchpad.net/~mbouzada\n"
|
||||
" oterobueu https://launchpad.net/~oterobueu"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nova versión dispoñíbel!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nova xanela"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mensaxe"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Agardar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Xeral"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Mostrar atallos"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Preguntar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Pechar esta xanela"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Pechar todas as xanelas"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferencias"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copiar resposta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Limpar"
|
||||
219
po/hu.po
219
po/hu.po
@@ -5,12 +5,13 @@
|
||||
#
|
||||
# osiixy <osiixy@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# elementbound <ezittgtx@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Hungarian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/hu/>\n"
|
||||
@@ -21,51 +22,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Általános"
|
||||
|
||||
#: 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 "Beállítások"
|
||||
|
||||
#: 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 "Kiürítés"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
@@ -96,71 +57,175 @@ msgstr ""
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Minden ablak be fog záródni figyelmeztetés nélkül; ez adatvesztéshez is "
|
||||
"vezethet"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
msgid "Providers"
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Szolgáltatók"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Nincs hálózati kapcsolat"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Üzenet"
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Válasz"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Másolás a vágólapra"
|
||||
|
||||
#: 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
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Megállítás"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Próbálja újra"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
msgstr "Új ablak"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Gyorsbillentyűk"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Beállítások megnyitása"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modell"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Kulhanek László https://launchpad.net/~hunyos"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Új ablak"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Üzenet"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Általános"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Ablak bezárása"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Összes ablak bezárása"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Beállítások"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Válasz másolása"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Kiürítés"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Csevegés"
|
||||
|
||||
|
||||
236
po/it.po
236
po/it.po
@@ -7,12 +7,13 @@
|
||||
# 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-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Italian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/it/>\n"
|
||||
@@ -23,51 +24,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Generale"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Mostra scorciatoie"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Chiedi"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Close current window"
|
||||
msgstr "Chiudi la finestra corrente"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
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:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Copia Risposta"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
@@ -85,7 +46,7 @@ msgstr "Il prompt verrà svuotato dopo l'invio"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Utlizzare testo semplice per l'output"
|
||||
msgstr "Utlizzare testo semplice per il rendimento"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
@@ -101,7 +62,17 @@ msgstr ""
|
||||
"Tutte le finestre verranno chiuse senza avviso, questo può portare alla "
|
||||
"perdita di dati"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Fornitori"
|
||||
|
||||
@@ -109,69 +80,174 @@ msgstr "Fornitori"
|
||||
msgid "Main Menu"
|
||||
msgstr "Menù principale"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Nessuna connessione di rete"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Messaggio"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copia negli appunti"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Chiedi"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Attendere"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Risposta"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copia negli appunti"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Prova di nuovo"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Chiedi"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nuova finestra"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Scorciatoie da tastiera"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Informazioni su Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr "Nuova finestra"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Apri impostazioni"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Sul gestore"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Come avere una chiave"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Impostazioni non disponibili"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Chiave API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Promt troppo lungo, frazionando in pezzi."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Non ha accesso a questo modello"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Superato la quota corrente, perfavore contrallare il proprio piano ed i "
|
||||
"dettagli della fatturazione."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Errore API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Nessun modello selezionato, puo scegliere uno nelle impostazioni"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modello"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Come selezionare un modello"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nuova versione disponibile!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nuova finestra"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Messaggio"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Attendere"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Generale"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Mostra scorciatoie"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Chiedi"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Chiudi la finestra corrente"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Chiudi tutte le finestre"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferenze"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copia risposta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Cancella"
|
||||
|
||||
#~ 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"
|
||||
|
||||
|
||||
234
po/nl.po
234
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-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 14:05+0000\n"
|
||||
"Last-Translator: Vistaus <vistausss@fastmail.com>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Dutch <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/nl/>\n"
|
||||
"Language: nl\n"
|
||||
@@ -20,51 +20,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Algemeen"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Sneltoetsen tonen"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Vraag stellen"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
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:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Antwoord kopiëren"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Wissen"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
@@ -98,7 +58,16 @@ msgstr ""
|
||||
"Alle vensters worden zonder bevestiging gesloten, wat tot gegevensverlies "
|
||||
"kan leiden"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Diensten"
|
||||
|
||||
@@ -106,68 +75,173 @@ msgstr "Diensten"
|
||||
msgid "Main Menu"
|
||||
msgstr "Hoofdmenu"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Geen netwerkverbinding"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Bericht"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiëren naar klembord"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Vraag stellen"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Even geduld…"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Antwoord"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiëren naar klembord"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stoppen"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "FOUTMELDING"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "BESCHRIJVING"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Opnieuw proberen"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Vraag stellen"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nieuw venster"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Over Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr "Nieuw venster"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Voorkeuren openen"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Over deze dienst"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Hoe verkrijg ik een sleutel?"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Er zijn geen voorkeuren beschikbaar"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Api-sleutel"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "De invoer is te lang — deze wordt opgedeeld."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Je hebt geen toegang tot dit model"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Je hebt de huidige quota overschreven. Controleer je abonnement en "
|
||||
"factuurgegevens."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Api-foutmelding"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Geen model gekozen - kies er een in de voorkeuren"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "Api-url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Hoe kies ik een model?"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "Heimen Stoffels <vistausss@fastmail.com>"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Copyright © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Er is een nieuwe versie beschikbaar!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nieuw venster"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Bericht"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Even geduld…"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Algemeen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Sneltoetsen tonen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Vraag stellen"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Huidig venster sluiten"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Alle vensters sluiten"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Voorkeuren"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Antwoord kopiëren"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Wissen"
|
||||
|
||||
#~ 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"
|
||||
|
||||
|
||||
237
po/pl.po
237
po/pl.po
@@ -10,9 +10,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 04:18+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"
|
||||
@@ -23,51 +23,11 @@ msgstr ""
|
||||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Ogólne"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Pokaż skróty"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Zapytaj"
|
||||
|
||||
#: 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 "Preferencje"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Kopiuj odpowiedź"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Wyczyść"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencje"
|
||||
|
||||
@@ -93,13 +53,23 @@ msgstr "Użyty zostanie zwykły tekst bez formatowania"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
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:43 src/main.py:278
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Szukaj dostawcy wiadomości"
|
||||
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Dostawcy"
|
||||
|
||||
@@ -107,70 +77,171 @@ msgstr "Dostawcy"
|
||||
msgid "Main Menu"
|
||||
msgstr "Główne menu"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Brak połączenia z siecią"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Wiadomość"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Skopiuj do schowka"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Zapytaj"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Czekaj"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Odpowiedź"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Skopiuj do schowka"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Zatrzymaj"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "BŁĄD"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "OPIS"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Spróbuj ponownie"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Zapytaj"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nowe okno"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Skróty klawiszowe"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "O Bavarderze"
|
||||
|
||||
#: src/main.py:246
|
||||
#, fuzzy
|
||||
#| msgid "New window"
|
||||
msgid "New Window"
|
||||
msgstr "Nowe okno"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Otwórz ustawienia"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "O dostawcy"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Jak uzyskać token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Brak dostępnych preferencji"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Klucz API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Zapytanie zbyt długie; dzielenie na kawałki."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Nie posiadasz dostępu do tego modelu"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Błąd API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Nie wybrano modelu; można go wybrać w preferencjach"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "Adres Url API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Tryb:"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Jak wybrać model"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "ewm"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Copyright © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Dostępna jest nowa wersja!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nowe okno"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Wiadomość"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Czekaj"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Ogólne"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Pokaż skróty"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Zapytaj"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Zamknij bieżące okno"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Zamknij wszystkie okna"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferencje"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Kopiuj odpowiedź"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Wyczyść"
|
||||
|
||||
#~ 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"
|
||||
|
||||
|
||||
248
po/pt.po
248
po/pt.po
@@ -5,12 +5,13 @@
|
||||
#
|
||||
# galegovski <galegovski@outlook.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# aresende <contact@aresende.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Portuguese <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/pt/>\n"
|
||||
@@ -21,55 +22,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Geral"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Mostrar Atalhos"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Perguntar"
|
||||
|
||||
#: 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
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Resposta"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Limpar"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
@@ -87,21 +44,33 @@ msgstr "O prompt será limpo após o envio"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
msgstr "Usar apenas texto nos resultados"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
msgstr "Apenas o texto sem formatação será utilizado"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
msgstr "Fechar todas as janelas sem alerta"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Todas as janelas serão fechadas sem aviso e isso pode ocasionar em perda de "
|
||||
"dados"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Procurar por novidades acerca do provedor"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Novidades sobre problemas com provedores serão consultadas através site "
|
||||
"oficial de Barvarder"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Provedores"
|
||||
|
||||
@@ -109,69 +78,174 @@ msgstr "Provedores"
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Nenhuma conexão de rede"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Mensagem"
|
||||
|
||||
#: 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:106
|
||||
msgid "Ask"
|
||||
msgstr "Perguntar"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Espere"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Resposta"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar para área de transferência"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Parar"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Tentar novamente"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Perguntar"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Nova janela"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atalhos do teclado"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configurações"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Sobre provedor"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Como adquirir um token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Nenhuma configuração disponível"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Chave de API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Informação de entrada muito longa. Divida o texto em pedaços menores."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Você não possui acesso a esse modelo"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Você excedeu sua cota de requisições. Por favor, consulte seu plano e "
|
||||
"detalhes de pagamento."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Erro em API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Nenhum modelo selecionado. Escolha um através das configurações"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API URL"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Como escolher um modelo"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Nova versão disponível!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Nova janela"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mensagem"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Espere"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Geral"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Mostrar Atalhos"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Perguntar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Fechar janela atual"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Fechar todas as janelas"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Preferências"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Copiar resposta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Limpar"
|
||||
|
||||
#~ 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"
|
||||
|
||||
|
||||
235
po/ru.po
235
po/ru.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 14:05+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-16 06:37+0000\n"
|
||||
"Last-Translator: Daudix_UFO <ddaudix@gmail.com>\n"
|
||||
"Language-Team: Russian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/ru/>\n"
|
||||
@@ -19,55 +19,15 @@ 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/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.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:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Параметры"
|
||||
|
||||
@@ -101,7 +61,15 @@ msgstr ""
|
||||
"Все окна будут закрываться без предупреждения, это может перевести к потере "
|
||||
"данных"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Провайдеры"
|
||||
|
||||
@@ -109,68 +77,173 @@ msgstr "Провайдеры"
|
||||
msgid "Main Menu"
|
||||
msgstr "Главное меню"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/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
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Ответ"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Скопировать в буфер обмена"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Остановить"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "ОШИБКА"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "ОПИСАНИЕ"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Повторить"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Спросить"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Новое окно"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Комбинации клавиш"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "О Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr "Новое окно"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Ключ API не предоставлен, вы можете предоставить его в настройках"
|
||||
|
||||
#: src/provider/base.py:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Открыть настройки"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "О Провайдере"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Как получить токен"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Параметры отсутствуют"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Ключ API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Запрос слишком длинный, разбиваем на фрагменты."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Вы не имеете доступа к этой модели"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Вы превысили текущую квоту, пожалуйста, проверьте информацию о вашем "
|
||||
"тарифном плане и счетах."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Ошибка API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Модель не выбрана, вы можете выбрать ее в параметрах"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "Url-адрес API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Модель"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Как выбрать модель"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "Давид Лапшин"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Авторское право © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Доступна новая версия!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Новое окно"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Сообщение"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Ждите"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Общее"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Показать комбинации клавиш"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Спросить"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Закрыть текущее окно"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Закрыть все окна"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Параметры"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Скопировать ответ"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Очистить"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "CatGPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Болтайте с GPT"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Снимок экрана главного интерфейса"
|
||||
|
||||
|
||||
227
po/sv.po
227
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-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Swedish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/sv/>\n"
|
||||
@@ -22,53 +22,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Generellt"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Visa genvägar"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Fråga"
|
||||
|
||||
#: 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 "Inställningar"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Svar"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Rensa"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Inställningar"
|
||||
|
||||
@@ -100,7 +58,15 @@ msgstr ""
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Leverantörer"
|
||||
|
||||
@@ -108,68 +74,167 @@ msgstr "Leverantörer"
|
||||
msgid "Main Menu"
|
||||
msgstr "Huvudmeny"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Ingen kontakt med nätverket"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Meddelande"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiera till urklipp"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Fråga"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Vänta"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Svar"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiera till urklipp"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stoppa"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Försök igen"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Fråga"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tangentbordsgenvägar"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Om Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Öppna inställningar"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
#, fuzzy
|
||||
#| msgid "About Bavarder"
|
||||
msgid "About provider"
|
||||
msgstr "Om Bavarder"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Läge:"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Meddelande"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Vänta"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Generellt"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Visa genvägar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Fråga"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Inställningar"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Response"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Svar"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Rensa"
|
||||
|
||||
#~ 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"
|
||||
|
||||
|
||||
203
po/ta.po
Normal file
203
po/ta.po
Normal file
@@ -0,0 +1,203 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# "K.B.Dharun Krishna" <kbdharunkrishna@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-02 11:46+0000\n"
|
||||
"Last-Translator: \"K.B.Dharun Krishna\" <kbdharunkrishna@gmail.com>\n"
|
||||
"Language-Team: Tamil <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/ta/>\n"
|
||||
"Language: ta\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "பவார்டர்"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
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 "வழங்குநர்களுடனான சிக்கல்கள் பற்றிய செய்திகள் பவார்டர் இணையதளத்தில் இருந்து பெறப்படும்"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "வழங்குபவர்கள்"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "முதன்மை பட்டியல்"
|
||||
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "பிணைய இணைப்பு இல்லை"
|
||||
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "பதில்"
|
||||
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "கிளிப்போர்டுக்கு நகலெடுக்கவும்"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "நிறுத்து"
|
||||
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "கேள்"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "புதிய சாளரம்"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "விசைப்பலகை குறுக்குவழிகள்"
|
||||
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "பவார்டர் பற்றி"
|
||||
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API விசை எதுவும் வழங்கப்படவில்லை, நீங்கள் அமைப்புகளில் ஒன்றை வழங்கலாம்"
|
||||
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "அமைப்புகளைத் திறக்கவும்"
|
||||
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "வழங்குபவர் பற்றி"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "குறி அடையாளம் பெறுவது எப்படி"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "விருப்பத்தேர்வுகள் இல்லை"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API விசை"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "உள்ளீடு மிக நீளமானது, துண்டுகளாகப் பிரிக்கப்படுகிறது."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "இந்த மாதிரிக்கான அணுகல் உங்களிடம் இல்லை"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"உங்கள் தற்போதைய ஒதுக்கீட்டை மீறிவிட்டீர்கள், உங்கள் திட்டம் மற்றும் கட்டண விவரங்களைச் "
|
||||
"சரிபார்க்கவும்."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API பிழை"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "எந்த மாதிரியும் தேர்ந்தெடுக்கப்படவில்லை, விருப்பத்தேர்வுகளில் ஒன்றைத் தேர்ந்தெடுக்கலாம்"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API Url"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "மாதிரி"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "ஒரு மாதிரியை எவ்வாறு தேர்வு செய்வது"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr "K.B.Dharun Krishna https://github.com/kbdharun"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "பதிப்புரிமை © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "புதிய பதிப்பு உள்ளது!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "புதிய சாளரம்"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "செய்தி"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "காத்திரு"
|
||||
223
po/th.po
223
po/th.po
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Thai <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/th/>\n"
|
||||
@@ -20,51 +20,11 @@ msgstr ""
|
||||
"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
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "แบบวาร์เดอร์"
|
||||
|
||||
#: 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:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "การตั้งค่า"
|
||||
|
||||
@@ -96,7 +56,15 @@ msgstr ""
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "ผู้ให้บริการ"
|
||||
|
||||
@@ -104,68 +72,165 @@ msgstr "ผู้ให้บริการ"
|
||||
msgid "Main Menu"
|
||||
msgstr "เมนูหลัก"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/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
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "การตอบสนอง"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "คัดลอกไปยังคลิปบอร์ด"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "ลองใหม่อีกครั้ง"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "ถาม"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "แป้นพิมพ์ลัด"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "เกี่ยวกับแบบวาร์เดอร์"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "ไม่มีรหัส API คุณสามารถระบุได้ในการตั้งค่าได้"
|
||||
|
||||
#: src/provider/base.py:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "เปิดการตั้งค่า"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "แมว GPT"
|
||||
#: src/providers/base.py:81
|
||||
#, fuzzy
|
||||
#| msgid "About Bavarder"
|
||||
msgid "About provider"
|
||||
msgstr "เกี่ยวกับแบบวาร์เดอร์"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr ""
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "ข้อความ"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "รอ"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "ทั่วไป"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "แสดงทางลัด"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "ถาม"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "การตั้งค่า"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "คัดลอกการตอบกลับ"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "ล้าง"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "แมว GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "แชทกับ AI"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "ภาพหน้าจอของ UI หลัก"
|
||||
|
||||
|
||||
254
po/tr.po
254
po/tr.po
@@ -5,12 +5,13 @@
|
||||
#
|
||||
# keyiflerolsun <keyiflerolsun@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# oktay454 <oktay@e.email>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-03 00:37+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Turkish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/tr/>\n"
|
||||
@@ -21,55 +22,11 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3 data/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.in:3 data/ui/window.blp:7
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
msgstr "Genel"
|
||||
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Kısayolları Göster\""
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Sor"
|
||||
|
||||
#: 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
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Yanıt"
|
||||
|
||||
#: data/ui/help-overlay.ui:50
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Temizle"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:232 src/main.py:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
@@ -79,29 +36,40 @@ msgstr "Girdi"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Gönderdikten sonra giriş alanını temizle"
|
||||
msgstr "Gönderdikten sonra girdi alanını temizle"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Gönderimden sonra giriş alanı temizlenecek"
|
||||
msgstr "Gönderimden sonra girdi alanı temizlenecek"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
msgid "Use plain text for output"
|
||||
msgstr ""
|
||||
msgstr "Çıktı için düz metin kullanın"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
msgstr ""
|
||||
msgstr "Biçimlendirilmemiş düz metin kullanılacaktır"
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
msgstr "Uyarı vermeden tüm pencereleri kapatın"
|
||||
|
||||
#: data/ui/preferences.blp:34
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr ""
|
||||
"Tüm pencereler uyarılmadan kapatılacaktır, bu veri kaybına neden olabilir"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: data/ui/preferences.blp:42
|
||||
msgid "Look for provider news"
|
||||
msgstr "Sağlayıcı haberlerini arayın"
|
||||
|
||||
#: data/ui/preferences.blp:43
|
||||
msgid "News about issues with providers will be fetched from Bavarder website"
|
||||
msgstr ""
|
||||
"Sağlayıcılarla ilgili sorunlar hakkındaki haberler Bavarder web sitesinden "
|
||||
"alınacaktır"
|
||||
|
||||
#: data/ui/preferences.blp:52 src/main.py:271
|
||||
msgid "Providers"
|
||||
msgstr "Sağlayıcılar"
|
||||
|
||||
@@ -109,70 +77,172 @@ msgstr "Sağlayıcılar"
|
||||
msgid "Main Menu"
|
||||
msgstr "Ana Menü"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Ağ bağlantısı yok"
|
||||
|
||||
#: data/ui/window.blp:49
|
||||
msgid "Message"
|
||||
msgstr "Mesaj"
|
||||
|
||||
#: data/ui/window.blp:82 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Panoya kopyala"
|
||||
|
||||
#: data/ui/window.blp:106
|
||||
msgid "Ask"
|
||||
msgstr "Sor"
|
||||
|
||||
#: data/ui/window.blp:115
|
||||
msgid "Wait"
|
||||
msgstr "Bekle"
|
||||
|
||||
#: data/ui/window.blp:130
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Yanıt"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Panoya kopyala"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Dur"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
msgid "New window"
|
||||
msgstr "Yeni Pencere"
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Yeniden deneyin"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Sor"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Yeni pencere"
|
||||
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klavye kısayolları"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Bavarder Hakkında"
|
||||
|
||||
#: src/main.py:246
|
||||
#, fuzzy
|
||||
#| msgid "New window"
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pencere"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/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:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Ayarları aç"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Sağlayıcı hakkında"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Jeton nasıl alınır"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Kullanılabilir tercih yok"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API Anahtarı"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Girdi çok uzun, parçalara ayırıyor."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Bu modele erişiminiz yok"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Mevcut kotanızı aştınız, lütfen planınızı ve fatura ayrıntılarınızı kontrol "
|
||||
"edin."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API Hatası"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Seçili model yok, tercihlerden birini seçebilirsiniz"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API URL"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Bir model nasıl seçilir"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Kemal Oktay Aktoğan | @oktay454 | oktay@e.email\n"
|
||||
"Launchpad Contributions:\n"
|
||||
" Kudret EMRE https://launchpad.net/~kudretemre"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Telif hakkı © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Yeni sürüm mevcut!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pencere"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mesaj"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Bekle"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Genel"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Kısayolları Göster\""
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Sor"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Preferences"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Tercihler"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Response"
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Yanıt"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Temizle"
|
||||
|
||||
#~ 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ü"
|
||||
|
||||
|
||||
263
po/uk.po
263
po/uk.po
@@ -7,70 +7,33 @@
|
||||
# Orest58008 <orest58008@tuta.io>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# volkov <d2oo1dle2x@gmail.com>, 2023.
|
||||
# Anatolii Bielibov <anatoly136ua@gmail.com>, 2023.
|
||||
# Anatolii Bielibov <Anatoly136UA@users.noreply.translate.codeberg.org>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-04 00:37+0000\n"
|
||||
"Last-Translator: Anatolii Bielibov <Anatoly136UA@users.noreply.translate."
|
||||
"codeberg.org>\n"
|
||||
"Language-Team: Ukrainian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/uk/>\n"
|
||||
"Language: uk\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/ui/window.blp:7
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.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"
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
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:280
|
||||
msgid "Preferences"
|
||||
msgstr "Опції"
|
||||
msgstr "Налаштування"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
@@ -78,16 +41,15 @@ msgstr "Запит"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Очистити запит після надсилання"
|
||||
msgstr "Очищати запит після надсилання"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Запит буде очищений після надсилання"
|
||||
msgstr "Поле запиту буде очищене після надсилання"
|
||||
|
||||
#: data/ui/preferences.blp:24
|
||||
#, fuzzy
|
||||
msgid "Use plain text for output"
|
||||
msgstr "Використовувати звичайний текст для виводу"
|
||||
msgstr "Виводити звичайний текст"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "The plain text without formatting will be used"
|
||||
@@ -95,84 +57,199 @@ msgstr "Звичайний текст, без форматування, буде
|
||||
|
||||
#: data/ui/preferences.blp:33
|
||||
msgid "Close all windows without warning"
|
||||
msgstr ""
|
||||
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:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "Постачальники"
|
||||
|
||||
#: data/ui/window.blp:28
|
||||
msgid "Main Menu"
|
||||
msgstr "Головне Меню"
|
||||
msgstr "Головне меню"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/base.py:50
|
||||
msgid "No network connection"
|
||||
msgstr "Відсутнє з'єднання з мережею"
|
||||
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
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "Відповідь"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Копіювати до буфера обміну"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "Зупинити"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "ПОМИЛКА"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "ОПИС"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "Спробуйте ще"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "Запитати"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Комбінації Клавіш"
|
||||
msgstr "Клавіатурні скорочення"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "Про Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
#, fuzzy
|
||||
#| msgid "New window"
|
||||
msgid "New Window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Відсутній ключ API, надайте його в налаштуваннях"
|
||||
|
||||
#: src/provider/base.py:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "Відкрити налаштування"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Кіт GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "Про постачальника"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "Як отримати токен"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "Налаштування відсутні"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "Ключ API"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
#, fuzzy
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "Завеликий запит, розділяємо на шматки."
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "Ви не маєте доступу до цієї моделі"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr ""
|
||||
"Ви перевищили свою поточну квоту — будь ласка, перевірте свій тарифний план "
|
||||
"і платіжні дані."
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "Помилка API"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "Модель не вибрано, виберіть будь-яку в налаштуваннях"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "URL-адреса API"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "Модель"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "Як вибрати модель"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Авторське право © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "Доступна нова версія!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Повідомлення"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "Чекайте"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "Загальні"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "Показати клавіатурні скорочення"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "Запитати"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "Закрити поточне вікно"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "Закрити всі вікна"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Налаштування"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "Копіювати відповідь"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Очистити"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Кіт GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "Побалакати з ШІ"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "Знімок головного інтерфейсу"
|
||||
|
||||
|
||||
235
po/zh_Hans.po
235
po/zh_Hans.po
@@ -8,9 +8,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-16 14:05+0000\n"
|
||||
"PO-Revision-Date: 2023-05-16 12:00+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"POT-Creation-Date: 2023-06-01 17:40+0000\n"
|
||||
"PO-Revision-Date: 2023-06-05 03:29+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"
|
||||
@@ -20,51 +20,11 @@ msgstr ""
|
||||
"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
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in.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:280
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:230 src/main.py:273
|
||||
msgid "Preferences"
|
||||
msgstr "首选项"
|
||||
|
||||
@@ -96,7 +56,15 @@ msgstr "毫无警告地关闭所有窗口"
|
||||
msgid "All windows will be closed without warning, this can lead to data loss"
|
||||
msgstr "所有窗口将在没有警告的情况下关闭,这可能导致数据丢失"
|
||||
|
||||
#: data/ui/preferences.blp:43 src/main.py:278
|
||||
#: 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:271
|
||||
msgid "Providers"
|
||||
msgstr "提供者"
|
||||
|
||||
@@ -104,68 +72,175 @@ msgstr "提供者"
|
||||
msgid "Main Menu"
|
||||
msgstr "主菜单"
|
||||
|
||||
#: data/ui/window.blp:34 src/provider/base.py:50
|
||||
#: data/ui/window.blp:34 src/providers/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
|
||||
#: data/ui/window.blp:61
|
||||
msgid "Response"
|
||||
msgstr "回复"
|
||||
|
||||
#: data/ui/window.blp:208
|
||||
#: data/ui/window.blp:113
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "复制到剪贴板"
|
||||
|
||||
#: data/ui/window.blp:123
|
||||
msgid "Stop"
|
||||
msgstr "停止"
|
||||
|
||||
#: data/ui/window.blp:226
|
||||
#: data/ui/window.blp:152
|
||||
msgid "ERROR"
|
||||
msgstr "错误"
|
||||
|
||||
#: data/ui/window.blp:153
|
||||
msgid "DESCRIPTION"
|
||||
msgstr "描述"
|
||||
|
||||
#: data/ui/window.blp:156
|
||||
msgid "Try Again"
|
||||
msgstr "重试"
|
||||
|
||||
#: data/ui/window.blp:205
|
||||
msgid "Ask"
|
||||
msgstr "询问"
|
||||
|
||||
#: data/ui/window.blp:224
|
||||
msgid "New window"
|
||||
msgstr "新窗口"
|
||||
|
||||
#: data/ui/window.blp:237 src/main.py:281
|
||||
#: data/ui/window.blp:235 src/main.py:274
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "键盘快捷键"
|
||||
|
||||
#: data/ui/window.blp:242 src/main.py:282
|
||||
#: data/ui/window.blp:240 src/main.py:275
|
||||
msgid "About Bavarder"
|
||||
msgstr "关于 Bavarder"
|
||||
|
||||
#: src/main.py:246
|
||||
msgid "New Window"
|
||||
msgstr "新窗口"
|
||||
|
||||
#: src/provider/base.py:43
|
||||
#: src/providers/base.py:43
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "没有提供API密钥,您可以在设置中提供一个"
|
||||
|
||||
#: src/provider/base.py:45
|
||||
#: src/providers/base.py:45
|
||||
msgid "Open settings"
|
||||
msgstr "打开设置"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "CatGPT"
|
||||
msgstr "Cat GPT"
|
||||
#: src/providers/base.py:81
|
||||
msgid "About provider"
|
||||
msgstr "关于供应商"
|
||||
|
||||
#: src/providers/base.py:95
|
||||
msgid "How to get a token"
|
||||
msgstr "如何获得 token"
|
||||
|
||||
#: src/providers/base.py:118
|
||||
msgid "No preferences available"
|
||||
msgstr "没有可用的选项"
|
||||
|
||||
#: src/providers/huggingface.py:73 src/providers/transformer.py:68
|
||||
msgid "API Key"
|
||||
msgstr "API 密钥"
|
||||
|
||||
#: src/providers/openai.py:27
|
||||
msgid "Prompt too long, splitting into chunks."
|
||||
msgstr "提示太长,分裂成块。"
|
||||
|
||||
#: src/providers/openai.py:49
|
||||
msgid "You don't have access to this model"
|
||||
msgstr "您无权访问此模型"
|
||||
|
||||
#: src/providers/openai.py:54
|
||||
msgid ""
|
||||
"You exceeded your current quota, please check your plan and billing details."
|
||||
msgstr "您超出了当前配额,请检查您的计划和账单明细。"
|
||||
|
||||
#: src/providers/openai.py:59
|
||||
msgid "API Error"
|
||||
msgstr "API 错误"
|
||||
|
||||
#: src/providers/openai.py:70
|
||||
msgid "No model selected, you can choose one in preferences"
|
||||
msgstr "没有选择模型,您可以在选项中选择一个"
|
||||
|
||||
#: src/providers/openaicustom.py:33
|
||||
msgid "API Url"
|
||||
msgstr "API 地址"
|
||||
|
||||
#: src/providers/openaicustom.py:40
|
||||
msgid "Model"
|
||||
msgstr "模型"
|
||||
|
||||
#: src/providers/openaicustom.py:80
|
||||
msgid "How to choose a model"
|
||||
msgstr "如何选择一个模型"
|
||||
|
||||
#: src/views/about_window.py:12
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Launchpad Contributions:\n"
|
||||
" Wang Dianjin https://launchpad.net/~tuhaihe\n"
|
||||
" aerowolf https://launchpad.net/~aerowolf-tom\n"
|
||||
" 长孙弘奕 https://launchpad.net/~krwy0330"
|
||||
|
||||
#: src/views/about_window.py:26
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: src/views/about_window.py:44
|
||||
msgid "Copyright © 2023 0xMRTT"
|
||||
msgstr "Copyright © 2023 0xMRTT"
|
||||
|
||||
#: src/main.py:124
|
||||
msgid "New version available!"
|
||||
msgstr "新版本可用!"
|
||||
|
||||
#: src/main.py:240
|
||||
msgid "New Window"
|
||||
msgstr "新窗口"
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "消息"
|
||||
|
||||
#~ msgid "Wait"
|
||||
#~ msgstr "等待"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "General"
|
||||
#~ msgstr "常规"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Show Shortcuts"
|
||||
#~ msgstr "显示快捷方式"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Ask"
|
||||
#~ msgstr "问"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close current window"
|
||||
#~ msgstr "关闭当前窗口"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Close all windows"
|
||||
#~ msgstr "关闭全部窗口"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "首选项"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Copy response"
|
||||
#~ msgstr "复制回复"
|
||||
|
||||
#~ msgctxt "shortcut window"
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "清除"
|
||||
|
||||
#~ msgid "CatGPT"
|
||||
#~ msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Chit-chat with an AI"
|
||||
#~ msgstr "与AI一起聊天"
|
||||
|
||||
#~ msgid "0xMRTT"
|
||||
#~ msgstr "0xMRTT"
|
||||
|
||||
#~ msgid "Screenshot of Main UI"
|
||||
#~ msgstr "主界面的屏幕截图"
|
||||
|
||||
|
||||
@@ -2,10 +2,25 @@
|
||||
# chmod +x flatpak-pip-generator
|
||||
# ./flatpak-pip-generator --requirements-file=requirements.txt --output pypi-dependencies
|
||||
|
||||
baichat-py>=0.1.2
|
||||
hgchat
|
||||
openai
|
||||
# use https://johannesjh.github.io/req2flatpak/main/cli.html
|
||||
# 1. pip-compile -o r.txt requirements.txt
|
||||
# 2. ./req2flatpak.py --requirements-file requirements.txt --target-platforms 310-x86_64 310-aarch64 > build-aux/pypi-dependencies.json
|
||||
|
||||
Pygments
|
||||
baichat_py
|
||||
googlebardpy
|
||||
markdown
|
||||
openai
|
||||
pymdown-extensions
|
||||
Pygments
|
||||
requests
|
||||
text-generation
|
||||
gradio_client
|
||||
|
||||
|
||||
# replace the curl-cffi entry with
|
||||
# {
|
||||
# "type": "file",
|
||||
# "url": "https://files.pythonhosted.org/packages/d1/6f/5d591a5628423af4598e2d6ff0861fcbc554cc259590fac9f97d9c984611/curl_cffi-0.5.6-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
|
||||
# "sha256": "7a9df9fabff038f1ac9e7e6f32b5edb5d8df8c2eec64f53f513de1766c17ffdb"
|
||||
# },
|
||||
#
|
||||
23
snap/bavarder.patch
Normal file
23
snap/bavarder.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
diff -Naur a/data/io.github.Bavarder.Bavarder.appdata.xml.in b/data/io.github.Bavarder.Bavarder.appdata.xml.in
|
||||
--- a/data/io.github.Bavarder.Bavarder.appdata.xml.in 2023-06-09 11:17:01.939402268 +0530
|
||||
+++ b/data/io.github.Bavarder.Bavarder.appdata.xml.in 2023-06-09 11:17:25.235254967 +0530
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>io.github.Bavarder.Bavarder</id>
|
||||
+ <icon type="stock">snap.bavarder.io.github.Bavarder.Bavarder</icon>
|
||||
<name>Bavarder</name>
|
||||
<summary>Chit-chat with an AI</summary>
|
||||
<developer_name>0xMRTT</developer_name>
|
||||
diff -Naur a/data/io.github.Bavarder.Bavarder.desktop.in b/data/io.github.Bavarder.Bavarder.desktop.in
|
||||
--- a/data/io.github.Bavarder.Bavarder.desktop.in 2023-06-09 11:09:08.652098824 +0530
|
||||
+++ b/data/io.github.Bavarder.Bavarder.desktop.in 2023-06-09 11:17:37.047177451 +0530
|
||||
@@ -1,7 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=Bavarder
|
||||
Exec=bavarder
|
||||
-Icon=io.github.Bavarder.Bavarder
|
||||
+Icon=snap.bavarder.io.github.Bavarder.Bavarder
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=GTK;
|
||||
94
snap/snapcraft.yaml
Normal file
94
snap/snapcraft.yaml
Normal file
@@ -0,0 +1,94 @@
|
||||
name: bavarder # you probably want to 'snapcraft register <name>'
|
||||
base: core22 # the base snap is the execution environment for this snap
|
||||
adopt-info: bavarder
|
||||
grade: stable # must be 'stable' to release into candidate/stable channels
|
||||
confinement: strict # use 'strict' once you have the right plugs and slots
|
||||
|
||||
layout:
|
||||
/usr/lib/x86_64-linux-gnu/webkitgtk-6.0:
|
||||
bind: $SNAP/webkitgtk-platform/usr/lib/x86_64-linux-gnu/webkitgtk-6.0
|
||||
|
||||
parts:
|
||||
blueprint-compiler:
|
||||
source: https://gitlab.gnome.org/jwestman/blueprint-compiler.git
|
||||
source-tag: 'v0.8.1'
|
||||
plugin: meson
|
||||
meson-parameters:
|
||||
- --prefix=/usr
|
||||
override-prime: |
|
||||
echo 'Skip'
|
||||
|
||||
bavarder:
|
||||
after: [blueprint-compiler]
|
||||
# See 'snapcraft plugins'
|
||||
plugin: meson
|
||||
source: https://github.com/Bavarder/Bavarder.git
|
||||
source-tag: '0.2.3'
|
||||
meson-parameters:
|
||||
- --prefix=/snap/bavarder/current/usr
|
||||
- -Dbuildtype=release
|
||||
build-snaps:
|
||||
- webkitgtk-6-gnome-2204-sdk/latest/stable
|
||||
build-environment:
|
||||
- LD_LIBRARY_PATH: /snap/webkitgtk-sdk/current/usr/lib:/snap/webkitgtk-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET:/snap/webkitgtk-sdk/current/usr/lib/webkitgtk-6.0:/snap/webkitgtk-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0:$LD_LIBRARY_PATH
|
||||
- PYTHONPATH: $CRAFT_STAGE/usr/lib/python3/dist-packages:$CRAFT_PART_INSTALL/usr/local/lib/python3.10/dist-packages:$PYTHONPATH
|
||||
- GI_TYPELIB_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0:/snap/gnome-42-2204-sdk/current/usr/lib/girepository-1.0:/snap/webkitgtk-6-gnome-2204-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0
|
||||
override-pull: |
|
||||
craftctl default
|
||||
patch -p1 < $CRAFT_PROJECT_DIR/snap/bavarder.patch
|
||||
pip install --prefix=$CRAFT_PART_INSTALL/usr baichat-py==0.2.1 googlebardpy==0.1.0 openai==0.27.7 pymdown-extensions==10.0.1 requests==2.30.0 text-generation==0.5.2 gradio-client==0.2.5 lxml
|
||||
override-build: |
|
||||
craftctl default
|
||||
mkdir -p $CRAFT_PART_INSTALL/meta/gui
|
||||
cp -r $CRAFT_PART_INSTALL/snap/bavarder/current/usr/share/icons $CRAFT_PART_INSTALL/meta/gui/
|
||||
find $CRAFT_PART_INSTALL/meta/gui/icons -type f -not -name 'io.github.Bavarder.Bavarder*' -exec rm {} + -o -type d -empty -exec rmdir {} +
|
||||
for i in `find $CRAFT_PART_INSTALL/meta/gui/icons -name "*.svg" -o -name "*.png"`; do
|
||||
mv $i "`dirname $i`/snap.$CRAFT_PROJECT_NAME.`basename $i`"
|
||||
done
|
||||
sed -e '1c#!/usr/bin/python3' -i $CRAFT_PART_INSTALL/usr/local/bin/*
|
||||
sed -e '1c#!/usr/bin/env python3' -i $CRAFT_PART_INSTALL/snap/bavarder/current/usr/bin/bavarder
|
||||
chmod +x $CRAFT_PART_INSTALL/snap/bavarder/current/usr/bin/bavarder
|
||||
parse-info: [usr/share/appdata/io.github.Bavarder.Bavarder.appdata.xml]
|
||||
organize:
|
||||
snap/bavarder/current: .
|
||||
usr/local: usr
|
||||
prime:
|
||||
- -snap/bavarder
|
||||
gst:
|
||||
after: [ bavarder ]
|
||||
plugin: nil
|
||||
stage-packages:
|
||||
- gir1.2-gstreamer-1.0
|
||||
prime:
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/Gst-1.0.typelib
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/GstBase-1.0.typelib
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/GstCheck-1.0.typelib
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/GstController-1.0.typelib
|
||||
- usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0/GstNet-1.0.typelib
|
||||
|
||||
plugs:
|
||||
webkitgtk-6-gnome-2204:
|
||||
interface: content
|
||||
target: $SNAP/webkitgtk-platform
|
||||
default-provider: webkitgtk-6-gnome-2204
|
||||
|
||||
slots:
|
||||
bavarder:
|
||||
interface: dbus
|
||||
bus: session
|
||||
name: io.github.Bavarder.Bavarder
|
||||
|
||||
apps:
|
||||
bavarder:
|
||||
command: usr/bin/bavarder
|
||||
extensions: [gnome]
|
||||
common-id: io.github.Bavarder.Bavarder
|
||||
environment:
|
||||
PYTHONPATH: $SNAP/usr/lib/python3.10/dist-packages:$PYTHONPATH
|
||||
GI_TYPELIB_PATH: $SNAP/webkitgtk-platform/usr/lib/$CRAFT_ARCH_TRIPLET/girepository-1.0:$GI_TYPELIB_PATH
|
||||
LD_LIBRARY_PATH: $SNAP/webkitgtk-platform/usr/lib/$SNAPCRAFT_ARCH_TRIPLET:$SNAP/webkitgtk-platform/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkitgtk-6.0:$LD_LIBRARY_PATH
|
||||
plugs:
|
||||
- network
|
||||
- network-status
|
||||
- network-bind
|
||||
- unity7
|
||||
178
src/main.py
178
src/main.py
@@ -30,16 +30,16 @@ gi.require_version("Gst", "1.0")
|
||||
gi.require_version('WebKit', '6.0')
|
||||
|
||||
from gi.repository import Gtk, Gio, Adw, Gdk, GLib, Gst, WebKit
|
||||
from .window import BavarderWindow
|
||||
from .preferences import Preferences
|
||||
from .views.main_window import BavarderWindow
|
||||
from .views.preferences_window import Preferences
|
||||
from .views.about_window import BavarderAboutWindow
|
||||
from enum import auto, IntEnum
|
||||
|
||||
from gettext import gettext as _
|
||||
from .constants import app_id, version, build_type
|
||||
|
||||
from tempfile import NamedTemporaryFile
|
||||
|
||||
from .provider import PROVIDERS
|
||||
from .providers import PROVIDERS
|
||||
import platform
|
||||
import os
|
||||
import markdown
|
||||
@@ -47,42 +47,15 @@ import tempfile
|
||||
import re
|
||||
import requests
|
||||
|
||||
from .threading import KillableThread
|
||||
|
||||
from enum import auto, IntEnum
|
||||
|
||||
class Step(IntEnum):
|
||||
CONVERT_HTML = auto()
|
||||
LOAD_WEBVIEW = auto()
|
||||
RENDER = auto()
|
||||
|
||||
class KillableThread(threading.Thread):
|
||||
def __init__(self, *args, **keywords):
|
||||
threading.Thread.__init__(self, *args, **keywords)
|
||||
self.killed = False
|
||||
|
||||
def start(self):
|
||||
self.__run_backup = self.run
|
||||
self.run = self.__run
|
||||
threading.Thread.start(self)
|
||||
|
||||
def __run(self):
|
||||
sys.settrace(self.globaltrace)
|
||||
self.__run_backup()
|
||||
self.run = self.__run_backup
|
||||
|
||||
def globaltrace(self, frame, event, arg):
|
||||
if event == 'call':
|
||||
return self.localtrace
|
||||
else:
|
||||
return None
|
||||
|
||||
def localtrace(self, frame, event, arg):
|
||||
if self.killed:
|
||||
if event == 'line':
|
||||
raise SystemExit()
|
||||
return self.localtrace
|
||||
|
||||
def kill(self):
|
||||
self.killed = True
|
||||
|
||||
|
||||
ANNOUCEMENT_URL = "https://bavarder.codeberg.page/annoucements.json"
|
||||
|
||||
|
||||
@@ -93,7 +66,7 @@ class BavarderApplication(Adw.Application):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(
|
||||
application_id="io.github.Bavarder.Bavarder",
|
||||
application_id=app_id,
|
||||
flags=Gio.ApplicationFlags.DEFAULT_FLAGS,
|
||||
)
|
||||
self.create_action("quit_all", self.on_close_all, ["<primary>q"])
|
||||
@@ -112,7 +85,7 @@ class BavarderApplication(Adw.Application):
|
||||
# self.create_action("speak", self.on_speak_action, ["<primary>S"])
|
||||
# self.create_action("listen", self.on_listen_action, ["<primary>L"])
|
||||
|
||||
self.settings = Gio.Settings(schema_id="io.github.Bavarder.Bavarder")
|
||||
self.settings = Gio.Settings(schema_id=app_id)
|
||||
|
||||
self.clear_after_send = self.settings.get_boolean("clear-after-send")
|
||||
self.use_text_view = self.settings.get_boolean("use-text-view")
|
||||
@@ -133,6 +106,7 @@ class BavarderApplication(Adw.Application):
|
||||
)
|
||||
self.allow_remote_fetching = self.settings.get_boolean("allow-remote-fetching")
|
||||
self.use_theme = False
|
||||
self.providers = {}
|
||||
|
||||
def load_annoucements(self):
|
||||
try:
|
||||
@@ -274,24 +248,26 @@ class BavarderApplication(Adw.Application):
|
||||
self.providers_data = self.settings.get_value("providers-data")
|
||||
|
||||
for provider in self.enabled_providers:
|
||||
print("Loading provider", provider)
|
||||
try:
|
||||
item = PROVIDERS[provider]
|
||||
item_model = Gio.MenuItem()
|
||||
item_model.set_label(item.name)
|
||||
item_model.set_action_and_target_value(
|
||||
"app.set_provider",
|
||||
GLib.Variant("s", item.slug))
|
||||
provider_menu.append_item(item_model)
|
||||
except KeyError:
|
||||
print("Provider", provider, "not found")
|
||||
continue
|
||||
if provider in self.providers:
|
||||
p = self.providers[provider]
|
||||
name = p.name
|
||||
slug = p.slug
|
||||
else:
|
||||
try:
|
||||
self.providers[item.slug] # doesn't re load if already loaded
|
||||
p = PROVIDERS[provider]
|
||||
name = p.name
|
||||
slug = p.slug
|
||||
except KeyError:
|
||||
self.providers[item.slug] = PROVIDERS[provider](window, self)
|
||||
continue
|
||||
else:
|
||||
self.providers[slug] = PROVIDERS[provider](window, self)
|
||||
|
||||
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"))
|
||||
@@ -317,59 +293,13 @@ class BavarderApplication(Adw.Application):
|
||||
|
||||
def on_about_action(self, widget, _):
|
||||
"""Callback for the app.about action."""
|
||||
about = Adw.AboutWindow(
|
||||
transient_for=self.props.active_window,
|
||||
application_name="Bavarder",
|
||||
application_icon=app_id,
|
||||
developer_name="0xMRTT",
|
||||
developers=["0xMRTT https://github.com/0xMRTT"],
|
||||
designers=["David Lapshin https://github.com/daudix-UFO"],
|
||||
artists=["David Lapshin https://github.com/daudix-UFO"],
|
||||
documenters=[],
|
||||
translator_credits="""0xMRTT <0xmrtt@proton.me>
|
||||
David Lapshin <ddaudix@gmail.com>
|
||||
Morgan Antonsson <morgan.antonsson@gmail.com>
|
||||
thepoladov13 <thepoladov@protonmail.com>
|
||||
Muznyo <codeberg.vqtek@simplelogin.com>
|
||||
Deimidis <gmovia@pm.me>
|
||||
sjdonado <jsrd98@gmail.com>
|
||||
artnay <jiri.gronroos@iki.fi>
|
||||
Rene Coty <irenee.thirion@e.email>
|
||||
galegovski <galegovski@outlook.com>""",
|
||||
license_type=Gtk.License.GPL_3_0,
|
||||
version=version,
|
||||
website="https://bavarder.codeberg.page",
|
||||
issue_url="https://github.com/Bavarder/Bavarder/issues",
|
||||
support_url="https://codeberg.org/Bavarder/Bavarder/issues",
|
||||
copyright="© 2023 0xMRTT",
|
||||
)
|
||||
|
||||
about.add_acknowledgement_section(
|
||||
"Special thanks to",
|
||||
[
|
||||
"Telegraph https://apps.gnome.org/app/io.github.fkinoshita.Telegraph",
|
||||
"Apostrophe https://apps.gnome.org/app/org.gnome.gitlab.somas.Apostrophe",
|
||||
],
|
||||
)
|
||||
about.set_debug_info(
|
||||
f"""{app_id} {version}
|
||||
Environment: {os.environ.get("XDG_CURRENT_DESKTOP", "Unknown")}
|
||||
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}
|
||||
"""
|
||||
)
|
||||
about.present()
|
||||
about = BavarderAboutWindow(self.win)
|
||||
about.show_about()
|
||||
|
||||
def on_preferences_action(self, widget, *args, **kwargs):
|
||||
"""Callback for the app.preferences action."""
|
||||
preferences = Preferences(
|
||||
application=self, transient_for=self.props.active_window
|
||||
parent=self.win
|
||||
)
|
||||
preferences.present()
|
||||
|
||||
@@ -447,8 +377,7 @@ Close All Without Dialog: {self.close_all_without_dialog}
|
||||
self.win.web_view.set_hexpand(True)
|
||||
self.win.web_view.set_vexpand(True)
|
||||
|
||||
self.win.response_stack.add_child(self.win.web_view)
|
||||
self.win.response_stack.set_visible_child(self.win.web_view)
|
||||
self.win.scrolled_response_window.set_child(self.win.web_view)
|
||||
|
||||
if self.win.web_view.is_loading():
|
||||
self.win.web_view_pending_html = html
|
||||
@@ -1070,8 +999,8 @@ Close All Without Dialog: {self.close_all_without_dialog}
|
||||
}
|
||||
}"""
|
||||
CUSTOM_STYLE = """
|
||||
--text-color: {card_fg_color};
|
||||
--background-color: {card_bg_color};
|
||||
--text-color: {view_fg_color};
|
||||
--background-color: {view_bg_color};
|
||||
--alt-background-color: {view_bg_color};
|
||||
--link-color: {accent_fg_color};
|
||||
--blockquote-text-color: {card_fg_color};
|
||||
@@ -1086,8 +1015,8 @@ Close All Without Dialog: {self.close_all_without_dialog}
|
||||
--kbd-shadow-color: #8c939a;
|
||||
"""
|
||||
DARK_CUSTOM_STYLE = """
|
||||
--text-color: {card_fg_color};
|
||||
--background-color: {card_bg_color};
|
||||
--text-color: {view_fg_color};
|
||||
--background-color: {view_bg_color};
|
||||
--alt-background-color: {view_bg_color};
|
||||
--link-color: {accent_fg_color};
|
||||
--blockquote-text-color: {card_fg_color};
|
||||
@@ -1106,34 +1035,42 @@ Close All Without Dialog: {self.close_all_without_dialog}
|
||||
self.use_theme = True
|
||||
variables, palette, css = self.parse_css(os.path.expanduser("~/.config/gtk-4.0/gtk.css"))
|
||||
variables["card_fg_color"] = variables.get("card_fg_color", "#2e3436")
|
||||
variables["view_fg_color"] = variables.get("view_fg_color", "#2e3436")
|
||||
variables["dark_3"] = variables.get("dark_3", "#3d3846")
|
||||
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
|
||||
DARK_CUSTOM_STYLE.format(**variables) + "\n}\n}\n"
|
||||
print(theme_css)
|
||||
theme_css += 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:
|
||||
self.win.bot_text_view.get_buffer().props.text = response
|
||||
self.win.response_stack.set_visible_child_name("page_response")
|
||||
|
||||
def on_ask_action(self, widget, _):
|
||||
"""Callback for the app.ask action."""
|
||||
|
||||
self.win.banner.set_revealed(False)
|
||||
|
||||
for an in self.annoucements.values():
|
||||
for key, an in self.annoucements.items():
|
||||
if an["provider"] == self.provider:
|
||||
if an["status"] == "open":
|
||||
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)
|
||||
return
|
||||
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()
|
||||
@@ -1141,9 +1078,13 @@ Close All Without Dialog: {self.close_all_without_dialog}
|
||||
if self.prompt == "" or self.prompt is None: # empty prompt
|
||||
return
|
||||
else:
|
||||
self.win.spinner = Gtk.Spinner()
|
||||
self.win.spinner.set_margin_top(8)
|
||||
self.win.spinner.set_margin_bottom(8)
|
||||
self.win.spinner.set_margin_start(8)
|
||||
self.win.spinner.set_margin_end(8)
|
||||
self.win.ask_button.set_child(self.win.spinner)
|
||||
self.win.spinner.start()
|
||||
self.win.ask_button.set_visible(False)
|
||||
self.win.wait_button.set_visible(True)
|
||||
self.win.stop_button.set_visible(True)
|
||||
|
||||
def thread_run():
|
||||
@@ -1151,12 +1092,13 @@ Close All Without Dialog: {self.close_all_without_dialog}
|
||||
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):
|
||||
self.win.spinner.stop()
|
||||
self.win.ask_button.set_visible(True)
|
||||
self.win.wait_button.set_visible(False)
|
||||
self.win.ask_button.set_icon_name("paper-plane-symbolic")
|
||||
self.win.stop_button.set_visible(False)
|
||||
GLib.idle_add(self.update_response, response)
|
||||
self.t.join()
|
||||
|
||||
@@ -24,10 +24,11 @@ configure_file(
|
||||
bavarder_sources = [
|
||||
'__init__.py',
|
||||
'main.py',
|
||||
'preferences.py',
|
||||
'window.py',
|
||||
'threading.py',
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(bavarder_sources, subdir: moduledir)
|
||||
|
||||
subdir('provider')
|
||||
subdir('providers')
|
||||
subdir('views')
|
||||
subdir('widgets')
|
||||
@@ -1,54 +0,0 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from hgchat import HGChat
|
||||
import socket
|
||||
import requests
|
||||
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BaseHuggingChatProvider(BavarderProvider):
|
||||
name = "Hugging Chat"
|
||||
slug = "huggingchat"
|
||||
model = None
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
try:
|
||||
self.chat = HGChat(self.model)
|
||||
except requests.exceptions.ConnectionError:
|
||||
pass
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
response = self.chat.ask(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
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
pass
|
||||
@@ -1,98 +0,0 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
import openai
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BaseOpenAIProvider(BavarderProvider):
|
||||
name = None
|
||||
slug = None
|
||||
model = None
|
||||
version = "0.1.0"
|
||||
api_key_title = "API Key"
|
||||
url = "https://bavarder.codeberg.page/help/openai"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.chat = openai.ChatCompletion
|
||||
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."
|
||||
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)
|
||||
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 ""
|
||||
else:
|
||||
self.hide_banner()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
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.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)
|
||||
|
||||
return self.expander
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
api_key = self.api_row.get_text()
|
||||
openai.api_key = api_key
|
||||
|
||||
def save(self):
|
||||
return {"api_key": openai.api_key}
|
||||
|
||||
def load(self, data):
|
||||
if data["api_key"]:
|
||||
openai.api_key = data["api_key"]
|
||||
@@ -1,7 +0,0 @@
|
||||
from .huggingchatbase import BaseHuggingChatProvider
|
||||
|
||||
|
||||
class StarCoderProvider(BaseHuggingChatProvider):
|
||||
name = "Star Coder"
|
||||
slug = "starcoder"
|
||||
model = "bigcode/starcoder"
|
||||
@@ -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 .stablelm import StableLMProvider
|
||||
|
||||
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,
|
||||
"stablelm": StableLMProvider,
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from baichat_py import BAIChat
|
||||
from baichat_py import Completion
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
@@ -12,11 +12,13 @@ class BAIChatProvider(BavarderProvider):
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.chat = BAIChat(sync=True)
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
response = self.chat.sync_ask(prompt)
|
||||
response = ""
|
||||
for token in Completion.create(prompt):
|
||||
response += token
|
||||
GLib.idle_add(self.update_response, response)
|
||||
except KeyError:
|
||||
self.win.banner.set_revealed(False)
|
||||
return ""
|
||||
@@ -25,8 +27,8 @@ class BAIChatProvider(BavarderProvider):
|
||||
return ""
|
||||
else:
|
||||
self.win.banner.set_revealed(False)
|
||||
GLib.idle_add(self.update_response, response.text)
|
||||
return response.text
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
@@ -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)
|
||||
@@ -78,7 +78,7 @@ class BavarderProvider:
|
||||
|
||||
about_button = Gtk.MenuButton()
|
||||
about_button.set_icon_name("help-about-symbolic")
|
||||
about_button.set_tooltip_text("About provider")
|
||||
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)
|
||||
@@ -92,7 +92,7 @@ class BavarderProvider:
|
||||
def how_to_get_a_token(self):
|
||||
about_button = Gtk.Button()
|
||||
about_button.set_icon_name("dialog-information-symbolic")
|
||||
about_button.set_tooltip_text("How to get a token")
|
||||
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)
|
||||
@@ -115,7 +115,7 @@ class BavarderProvider:
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.no_pref_row = Adw.ActionRow()
|
||||
self.no_pref_row.props.title = "No preferences available"
|
||||
self.no_pref_row.props.title = _("No preferences available")
|
||||
self.expander.add_row(self.no_pref_row)
|
||||
|
||||
return self.expander
|
||||
@@ -6,7 +6,7 @@ from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class CatGPTProvider(BavarderProvider):
|
||||
name = _("CatGPT")
|
||||
name = "CatGPT"
|
||||
slug = "catgpt"
|
||||
description = "🐱️"
|
||||
version = "0.1.0"
|
||||
64
src/providers/gradio.py
Normal file
64
src/providers/gradio.py
Normal file
@@ -0,0 +1,64 @@
|
||||
import requests
|
||||
import json
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
from gradio_client import Client
|
||||
|
||||
class BaseGradioProvider(BavarderProvider):
|
||||
name = None
|
||||
slug = None
|
||||
url = None
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
self.client = Client(self.url)
|
||||
|
||||
def ask(self, prompt):
|
||||
print("ASKING " + "="*100)
|
||||
try:
|
||||
response = self.client.predict(
|
||||
prompt, # str representing string value in 'Chat Message Box' Textbox component
|
||||
fn_index=0
|
||||
)
|
||||
print(response)
|
||||
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()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def preferences(self, win):
|
||||
if self.require_api_key:
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about())
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
# TODO: ADD DEVICE
|
||||
|
||||
return self.expander
|
||||
else:
|
||||
return self.no_preferences(win)
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
pass
|
||||
@@ -46,4 +46,9 @@ class HuggingFaceOpenAssistantSFT1PythiaProvider(BaseHFProvider):
|
||||
self.hide_banner()
|
||||
print(response)
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
return response
|
||||
|
||||
class HuggingChatMask(HuggingFaceOpenAssistantSFT1PythiaProvider):
|
||||
url = "https://bavarder.codeberg.page/help/huggingchat"
|
||||
name = "Open-Assistant SFT-1 12B Model (HuggingChat)"
|
||||
slug = "huggingchat"
|
||||
92
src/providers/huggingchatbase.py
Normal file
92
src/providers/huggingchatbase.py
Normal file
@@ -0,0 +1,92 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from hugchat import hugchat
|
||||
import socket
|
||||
import requests
|
||||
import json
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
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)
|
||||
|
||||
def ask(self, prompt):
|
||||
print(self.cookies)
|
||||
try:
|
||||
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:
|
||||
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 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):
|
||||
print(self.cookies)
|
||||
print("Saved cookies", self.cookies)
|
||||
return self.cookies
|
||||
|
||||
def load(self, data):
|
||||
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)
|
||||
@@ -63,7 +70,7 @@ class BaseHFProvider(BavarderProvider):
|
||||
|
||||
self.api_row = Adw.PasswordEntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.title = "API Key"
|
||||
self.api_row.props.title = _("API Key")
|
||||
self.api_row.props.text = self.api_key or ""
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.api_row.set_show_apply_button(True)
|
||||
@@ -1,13 +1,14 @@
|
||||
|
||||
providers_dir = join_paths(moduledir, 'provider')
|
||||
providers_dir = join_paths(moduledir, 'providers')
|
||||
|
||||
providers_sources = [
|
||||
'__init__.py',
|
||||
'alpacalora.py',
|
||||
'baichat.py',
|
||||
'bard.py',
|
||||
# 'bard.py',
|
||||
'base.py',
|
||||
'catgpt.py',
|
||||
'gradio.py',
|
||||
'hfdialogpt.py',
|
||||
'hfgoogleflant5xxl.py',
|
||||
'hfgoogleflanu12.py',
|
||||
@@ -15,14 +16,17 @@ 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',
|
||||
'stablelm.py',
|
||||
'starcoder.py',
|
||||
'transformer.py',
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(providers_sources, subdir: providers_dir)
|
||||
130
src/providers/openai.py
Normal file
130
src/providers/openai.py
Normal file
@@ -0,0 +1,130 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
import openai
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BaseOpenAIProvider(BavarderProvider):
|
||||
name = None
|
||||
slug = None
|
||||
model = None
|
||||
version = "0.1.0"
|
||||
api_key_title = "API Key"
|
||||
url = "https://bavarder.codeberg.page/help/openai"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.chat = openai.ChatCompletion
|
||||
self.pref_win = None
|
||||
|
||||
def ask(self, prompt):
|
||||
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)
|
||||
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:
|
||||
self.hide_banner()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
else:
|
||||
self.no_api_key(title=_("No model selected, you can choose one in preferences"))
|
||||
return ""
|
||||
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
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.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 = openai.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_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,
|
||||
"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/providers/openaicustom.py
Normal file
89
src/providers/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 :)
|
||||
6
src/providers/stablelm.py
Normal file
6
src/providers/stablelm.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
class StableLMProvider(BaseHFProvider):
|
||||
name = "StableLM"
|
||||
slug = "stablelm"
|
||||
model = "stabilityai/stablelm-tuned-alpha-3b"
|
||||
7
src/providers/starcoder.py
Normal file
7
src/providers/starcoder.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from .transformer import BaseTransformerProvider
|
||||
|
||||
|
||||
class StarCoderProvider(BaseTransformerProvider):
|
||||
name = "Star Coder"
|
||||
slug = "starcoder"
|
||||
checkpoint = "bigcode/starcoder"
|
||||
89
src/providers/transformer.py
Normal file
89
src/providers/transformer.py
Normal file
@@ -0,0 +1,89 @@
|
||||
import requests
|
||||
import json
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||
|
||||
class BaseTransformerProvider(BavarderProvider):
|
||||
name = None
|
||||
slug = None
|
||||
checkpoint = None
|
||||
device = "cpu"
|
||||
is_setup = False
|
||||
api_key = None
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
def setup(self):
|
||||
try:
|
||||
if self.require_api_key:
|
||||
self.tokenizer = AutoTokenizer.from_pretrained(self.checkpoint, use_auth_token=self.api_key)
|
||||
else:
|
||||
self.tokenizer = AutoTokenizer.from_pretrained(self.checkpoint)
|
||||
self.model = AutoModelForCausalLM.from_pretrained(self.checkpoint).to(self.device)
|
||||
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.is_setup = True
|
||||
|
||||
def ask(self, prompt):
|
||||
self.setup()
|
||||
if self.is_setup:
|
||||
try:
|
||||
inputs = self.tokenizer.encode(prompt, return_tensors="pt").to(self.device)
|
||||
outputs = self.model.generate(inputs)
|
||||
response = self.tokenizer.decode(outputs[0])
|
||||
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()
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return True
|
||||
|
||||
def preferences(self, win):
|
||||
if self.require_api_key:
|
||||
self.expander = Adw.ExpanderRow()
|
||||
self.expander.props.title = self.name
|
||||
|
||||
self.expander.add_action(self.about())
|
||||
self.expander.add_action(self.enable_switch())
|
||||
|
||||
self.api_row = Adw.PasswordEntryRow()
|
||||
self.api_row.connect("apply", self.on_apply)
|
||||
self.api_row.props.title = _("API Key")
|
||||
self.api_row.props.text = self.api_key or ""
|
||||
self.api_row.add_suffix(self.how_to_get_a_token())
|
||||
self.api_row.set_show_apply_button(True)
|
||||
self.expander.add_row(self.api_row)
|
||||
|
||||
return self.expander
|
||||
else:
|
||||
return self.no_preferences(win)
|
||||
|
||||
def on_apply(self, widget):
|
||||
self.hide_banner()
|
||||
self.api_key = self.api_row.get_text()
|
||||
|
||||
def save(self):
|
||||
if self.require_api_key:
|
||||
return {"api_key": self.api_key}
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
if self.require_api_key:
|
||||
self.api_key = data["api_key"]
|
||||
32
src/threading.py
Normal file
32
src/threading.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import threading
|
||||
import sys
|
||||
|
||||
class KillableThread(threading.Thread):
|
||||
def __init__(self, *args, **keywords):
|
||||
threading.Thread.__init__(self, *args, **keywords)
|
||||
self.killed = False
|
||||
|
||||
def start(self):
|
||||
self.__run_backup = self.run
|
||||
self.run = self.__run
|
||||
threading.Thread.start(self)
|
||||
|
||||
def __run(self):
|
||||
sys.settrace(self.globaltrace)
|
||||
self.__run_backup()
|
||||
self.run = self.__run_backup
|
||||
|
||||
def globaltrace(self, frame, event, arg):
|
||||
if event == 'call':
|
||||
return self.localtrace
|
||||
else:
|
||||
return None
|
||||
|
||||
def localtrace(self, frame, event, arg):
|
||||
if self.killed:
|
||||
if event == 'line':
|
||||
raise SystemExit()
|
||||
return self.localtrace
|
||||
|
||||
def kill(self):
|
||||
self.killed = True
|
||||
0
src/views/__init__.py
Normal file
0
src/views/__init__.py
Normal file
76
src/views/about_window.py
Normal file
76
src/views/about_window.py
Normal file
@@ -0,0 +1,76 @@
|
||||
|
||||
from gi.repository import Gtk, Adw
|
||||
|
||||
from bavarder import constants
|
||||
|
||||
import os
|
||||
import platform
|
||||
|
||||
# TRANSLATORS: This is a place to put your credits (formats:
|
||||
# "Name https://example.com" or "Name <email@example.com>",
|
||||
# no quotes) and is not meant to be translated literally.
|
||||
translator_credits = _("translator-credits")
|
||||
|
||||
class BavarderAboutWindow:
|
||||
def __init__(self, parent):
|
||||
self.parent = parent
|
||||
self.app = self.parent.get_application()
|
||||
|
||||
self.setup()
|
||||
|
||||
def setup(self):
|
||||
self.about_window = Adw.AboutWindow(
|
||||
application_name="Bavarder",
|
||||
transient_for=self.app.get_active_window(),
|
||||
application_icon=constants.app_id,
|
||||
developer_name=_("0xMRTT"),
|
||||
website=constants.project_url,
|
||||
support_url=constants.help_url,
|
||||
issue_url=constants.bugtracker_url,
|
||||
developers=[
|
||||
"0xMRTT https://github.com/0xMRTT",
|
||||
],
|
||||
documenters=[
|
||||
"0xMRTT https://github.com/0xMRTT",
|
||||
],
|
||||
designers=[
|
||||
"David Lapshin https://github.com/daudix-UFO"
|
||||
],
|
||||
artists=[
|
||||
"David Lapshin https://github.com/daudix-UFO"
|
||||
],
|
||||
|
||||
translator_credits=_(translator_credits),
|
||||
copyright=_("Copyright © 2023 0xMRTT"),
|
||||
license_type=Gtk.License.GPL_3_0,
|
||||
version=constants.version,
|
||||
release_notes_version=constants.rel_ver,
|
||||
)
|
||||
|
||||
self.about_window.add_acknowledgement_section(
|
||||
"Special thanks to",
|
||||
[
|
||||
"Telegraph https://apps.gnome.org/app/io.github.fkinoshita.Telegraph",
|
||||
"Apostrophe https://apps.gnome.org/app/org.gnome.gitlab.somas.Apostrophe",
|
||||
],
|
||||
)
|
||||
self.about_window.set_debug_info(
|
||||
f"""{constants.app_id} {constants.version}
|
||||
Environment: {os.environ.get("XDG_CURRENT_DESKTOP", "Unknown")}
|
||||
Gtk: {Gtk.MAJOR_VERSION}.{Gtk.MINOR_VERSION}.{Gtk.MICRO_VERSION}
|
||||
Python: {platform.python_version()}
|
||||
OS: {platform.system()} {platform.release()} {platform.version()}
|
||||
Providers: {self.app.enabled_providers}
|
||||
Use Theme: {self.app.use_theme}
|
||||
Use Text View: {self.app.use_text_view}
|
||||
Clear After Send: {self.app.clear_after_send}
|
||||
Close All Without Dialog: {self.app.close_all_without_dialog}
|
||||
Current Provider: {self.app.provider}
|
||||
"""
|
||||
)
|
||||
self.about_window.present()
|
||||
|
||||
|
||||
|
||||
def show_about(self):
|
||||
self.about_window.present()
|
||||
@@ -1,25 +1,7 @@
|
||||
# window.py
|
||||
#
|
||||
# Copyright 2023 Me
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from gi.repository import Adw
|
||||
from gi.repository import Gtk, Gio
|
||||
from gi.repository import Adw, Gtk, Gio
|
||||
|
||||
from bavarder.constants import app_id, build_type
|
||||
|
||||
@Gtk.Template(resource_path="/io/github/Bavarder/Bavarder/ui/window.ui")
|
||||
class BavarderWindow(Adw.ApplicationWindow):
|
||||
@@ -27,12 +9,9 @@ class BavarderWindow(Adw.ApplicationWindow):
|
||||
|
||||
toast_overlay = Gtk.Template.Child()
|
||||
prompt_text_view = Gtk.Template.Child()
|
||||
spinner = Gtk.Template.Child()
|
||||
ask_button = Gtk.Template.Child()
|
||||
wait_button = Gtk.Template.Child()
|
||||
scrolled_response_window = Gtk.Template.Child()
|
||||
bot_text_view = Gtk.Template.Child()
|
||||
response_stack = Gtk.Template.Child()
|
||||
banner = Gtk.Template.Child()
|
||||
stop_button = Gtk.Template.Child()
|
||||
# listen = Gtk.Template.Child()
|
||||
@@ -46,13 +25,16 @@ class BavarderWindow(Adw.ApplicationWindow):
|
||||
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.app = Gtk.Application.get_default()
|
||||
self.settings = Gio.Settings(schema_id=app_id)
|
||||
|
||||
self.settings = Gio.Settings(schema_id="io.github.Bavarder.Bavarder")
|
||||
self.setup_signals()
|
||||
self.setup_window_props()
|
||||
|
||||
self.setup()
|
||||
|
||||
|
||||
def setup_window_props(self):
|
||||
self.settings.bind(
|
||||
"width", self, "default-width", Gio.SettingsBindFlags.DEFAULT
|
||||
)
|
||||
@@ -65,3 +47,21 @@ class BavarderWindow(Adw.ApplicationWindow):
|
||||
self.settings.bind(
|
||||
"is-fullscreen", self, "fullscreened", Gio.SettingsBindFlags.DEFAULT
|
||||
)
|
||||
|
||||
|
||||
def setup_signals(self):
|
||||
self.connect("close-request",
|
||||
self.on_close_request)
|
||||
|
||||
|
||||
|
||||
def setup(self):
|
||||
# Set devel style
|
||||
if build_type == "debug":
|
||||
self.get_style_context().add_class("devel")
|
||||
|
||||
def on_close_request(self, *args):
|
||||
self.settings.set_strv("enabled-providers", list(self.app.enabled_providers))
|
||||
self.settings.set_string("latest-provider", self.app.provider)
|
||||
self.app.save_providers()
|
||||
self.close()
|
||||
11
src/views/meson.build
Normal file
11
src/views/meson.build
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
views_dir = join_paths(moduledir, 'views')
|
||||
|
||||
views_sources = [
|
||||
'__init__.py',
|
||||
'about_window.py',
|
||||
'main_window.py',
|
||||
'preferences_window.py',
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(views_sources, subdir: views_dir)
|
||||
@@ -1,6 +1,8 @@
|
||||
from gi.repository import Gtk, Adw
|
||||
from gi.repository import Gtk, Adw, Gio
|
||||
|
||||
from .provider import PROVIDERS
|
||||
from bavarder.constants import app_id
|
||||
|
||||
from bavarder.providers import PROVIDERS
|
||||
|
||||
|
||||
@Gtk.Template(resource_path="/io/github/Bavarder/Bavarder/ui/preferences.ui")
|
||||
@@ -13,11 +15,23 @@ class Preferences(Adw.PreferencesWindow):
|
||||
close_all_without_dialog_switch = Gtk.Template.Child()
|
||||
allow_remote_fetching_switch = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, application, **kwargs):
|
||||
def __init__(self, parent, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
self.app = application
|
||||
self.settings = application.settings
|
||||
self.parent = parent
|
||||
self.settings = parent.settings
|
||||
|
||||
self.app = self.parent.get_application()
|
||||
self.win = self.app.get_active_window()
|
||||
|
||||
self.set_transient_for(self.win)
|
||||
|
||||
self.setup()
|
||||
|
||||
def setup(self):
|
||||
self.setup_signals()
|
||||
|
||||
def setup_signals(self):
|
||||
|
||||
self.clear_after_send_switch.set_active(self.app.clear_after_send)
|
||||
self.clear_after_send_switch.connect(
|
||||
@@ -72,6 +86,7 @@ class Preferences(Adw.PreferencesWindow):
|
||||
"""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)
|
||||
@@ -88,9 +103,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
|
||||
0
src/widgets/__init__.py
Normal file
0
src/widgets/__init__.py
Normal file
9
src/widgets/meson.build
Normal file
9
src/widgets/meson.build
Normal file
@@ -0,0 +1,9 @@
|
||||
|
||||
widgets_dir = join_paths(moduledir, 'widgets')
|
||||
|
||||
widgets_sources = [
|
||||
'__init__.py',
|
||||
'message_bubble.py',
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(widgets_sources, subdir: widgets_dir)
|
||||
59
src/widgets/message_bubble.py
Normal file
59
src/widgets/message_bubble.py
Normal file
@@ -0,0 +1,59 @@
|
||||
from gi.repository import Adw, Gtk, Gio
|
||||
|
||||
from bavarder.constants import app_id, build_type
|
||||
|
||||
MAX_WIDTH = 400
|
||||
|
||||
@Gtk.Template(resource_path="/io/github/Bavarder/Bavarder/ui/message_bubble.ui")
|
||||
class MessageBubble(Gtk.Box):
|
||||
__gtype_name__ = "MessageBubble"
|
||||
|
||||
sender_label = Gtk.Template.Child()
|
||||
message_reply_bin = Gtk.Template.Child()
|
||||
prefix_bin = Gtk.Template.Child()
|
||||
message_label = Gtk.Template.Child()
|
||||
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
self.app = Gtk.Application.get_default()
|
||||
|
||||
|
||||
# def measure(self, orientation, , for_size):
|
||||
# # Limit the widget width
|
||||
# if orientation == Gtk.Orientation.HORIZONTAL:
|
||||
# minimum, natural, minimum_baseline, natural_baseline = \
|
||||
# self.overlay.measure(orientation, for_size)
|
||||
|
||||
# return (
|
||||
# minimum.min(MAX_WIDTH),
|
||||
# natural.min(MAX_WIDTH),
|
||||
# minimum_baseline,
|
||||
# natural_baseline,
|
||||
# )
|
||||
# else:
|
||||
# adjusted_for_size = for_size.min(MAX_WIDTH);
|
||||
# self.overlay.measure(orientation, adjusted_for_size)
|
||||
#
|
||||
#
|
||||
|
||||
# def size_allocate(self, width, height, baseline):
|
||||
# self.overlay.allocate(width, height, baseline, None)
|
||||
#
|
||||
|
||||
# def request_mode(self):
|
||||
# return Gtk.SizeRequestMode.HEIGHT_FOR_WIDTH
|
||||
|
||||
def set_label(self, label):
|
||||
if label.is_empty():
|
||||
self.message_label.set_label("")
|
||||
self..message_label.set_visible(false)
|
||||
|
||||
self.remove_css_class("with-label")
|
||||
else:
|
||||
self.message_label.set_label(label)
|
||||
self.message_label.set_visible(true)
|
||||
|
||||
self.add_css_class("with-label")
|
||||
|
||||
Reference in New Issue
Block a user