Compare commits
277 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f50469c2cf | |||
| 4bd514680d | |||
|
|
32a390c97e | ||
| a9541bc368 | |||
|
|
bb87b22387 | ||
|
|
43a799c841 | ||
|
|
6d0a6843d7 | ||
|
|
63803d198e | ||
|
90eafb07de
|
|||
|
d084a09e5f
|
|||
|
d6fd3b3d0c
|
|||
|
9a460d9302
|
|||
|
be32379d81
|
|||
|
0fff84a2f9
|
|||
|
be9a0f95ae
|
|||
|
5fabf9557c
|
|||
|
90b5233653
|
|||
|
|
cc59054ec2 | ||
|
|
724bd97905 | ||
|
|
777a4cfaf5 | ||
|
a7d3183b51
|
|||
|
e17520cde1
|
|||
|
0215ccd5a1
|
|||
|
575cc406c5
|
|||
|
|
73937725e5 | ||
|
15ec5c978f
|
|||
|
6b91205c57
|
|||
|
bdd1a2e9a9
|
|||
|
d6f26e7fc9
|
|||
|
8259cfbb70
|
|||
|
80376a6692
|
|||
|
64ba5007d8
|
|||
|
|
09fc50cda8 | ||
|
5c3973c420
|
|||
|
e37fb02eeb
|
|||
|
a57ba73fcd
|
|||
|
5e56b13d36
|
|||
|
ffdbc1759a
|
|||
|
46c3bcd41e
|
|||
|
|
f1282b8500 | ||
|
|
3b0bb638ea | ||
|
|
edde2f53b6 | ||
|
|
4a16150a94 | ||
|
|
c500c22eac | ||
|
|
bbd1ee16f4 | ||
|
|
d3e000ef4e | ||
|
|
f0f2d29857 | ||
|
|
6fa8d0511b | ||
|
|
85ef198051 | ||
| d908a5ab41 | |||
|
|
90189c3e19 | ||
|
|
079a46d386 | ||
|
|
736b2f0b2a | ||
|
|
4687094c67 | ||
|
|
bfc4fe413a | ||
|
|
6fa2ea24b7 | ||
|
|
444021134f | ||
|
|
d8ba6968a7 | ||
|
|
1dc9d6d62e | ||
| 5f0d3224c1 | |||
|
|
8a83e78bcf | ||
|
|
8ad100aae6 | ||
| 266f8ac7fc | |||
|
|
19b85ea78a | ||
|
16f4b62dbc
|
|||
|
86deb53691
|
|||
|
142eefa310
|
|||
|
|
f15696e470 | ||
|
|
6552dd1561 | ||
|
a0ed6d7b68
|
|||
|
62b57a6ad9
|
|||
|
72715e0bde
|
|||
|
af9bfc1d87
|
|||
|
cd5d73d64f
|
|||
|
4867f9c02d
|
|||
|
916ff133da
|
|||
|
61d69aaf06
|
|||
|
25cefc9671
|
|||
|
722ee665ec
|
|||
|
8a328e1bd6
|
|||
|
499723d11e
|
|||
|
3664324a69
|
|||
|
b559289c3d
|
|||
|
4d4bcf5957
|
|||
|
3c6e11cf61
|
|||
|
5bbfdffb10
|
|||
|
9c1ae1f105
|
|||
|
73a391fd9e
|
|||
|
edf12c954d
|
|||
|
a335768d76
|
|||
|
ad287c34c2
|
|||
| 75f4578bce | |||
| dc477edebb | |||
| 73b6c2edd5 | |||
| e3acaec9d2 | |||
| e1cab5b574 | |||
| f324a71b13 | |||
| bff077f0c6 | |||
|
|
a7fad0d4c7 | ||
| bf530e13c4 | |||
| 86ab05b19b | |||
| d8fffffb77 | |||
| a06c422ab2 | |||
|
|
3ebc510c20 | ||
|
|
aebdcb2e86 | ||
|
|
57f351eaca | ||
|
|
63ffe24403 | ||
|
|
1c08f7d639 | ||
|
|
ec27bd38ae | ||
|
f478aa80d5
|
|||
|
dd781d2f01
|
|||
|
764cba5e27
|
|||
| 17557b478f | |||
|
|
a3df738a9c | ||
|
|
a60264ea98 | ||
|
|
018f9a5493 | ||
|
|
9b47afcbe6 | ||
|
6f27cae7a8
|
|||
|
|
38b5f67973 | ||
|
|
304f816cab | ||
|
|
2a74cdee81 | ||
|
|
46c1891e24 | ||
|
|
d62b0bbcdf | ||
|
|
0979652e87 | ||
|
|
6524de02a5 | ||
|
|
9656830647 | ||
|
|
34bd7149e1 | ||
|
|
18f053d47f | ||
|
|
6423730b1b | ||
|
|
0e468f9f17 | ||
|
bd177b73fb
|
|||
|
d42c0265b5
|
|||
|
455370416f
|
|||
|
0ef94b2036
|
|||
|
62bba52dd2
|
|||
|
6cf10e6f2e
|
|||
|
|
22ca867a65 | ||
|
aa5c6bbfd9
|
|||
|
28de905b19
|
|||
|
b2fd2566ab
|
|||
|
e306d8dd2d
|
|||
|
f71124df62
|
|||
|
f31e9ff99c
|
|||
|
2d33daf998
|
|||
|
243910c5c0
|
|||
|
|
acf8560f11 | ||
|
|
fc023a3b4c | ||
|
50aee8c31b
|
|||
|
|
4f9e72654b | ||
|
|
5a1aef99be | ||
|
|
d507ef3cbc | ||
|
|
e018ebd8d2 | ||
|
b5d762b6e6
|
|||
|
1aef1494f6
|
|||
|
17169e979b
|
|||
|
|
8fd7cf8c68 | ||
|
|
7957bde4bb | ||
|
|
ad26e0c93c | ||
|
|
e4dc8faba1 | ||
|
|
843a5191b2 | ||
|
|
ecf33ae506 | ||
|
|
8d106ee69e | ||
|
9beb360bfd
|
|||
|
2374531f7b
|
|||
|
aca1434491
|
|||
|
48547c53a0
|
|||
|
d8cca9f7a2
|
|||
|
7f860e4ac1
|
|||
|
|
64e9d63836 | ||
|
|
2d95d2cd56 | ||
|
|
9ff00cbedc | ||
|
|
4429ea2fdb | ||
|
|
669a8ebd2d | ||
|
|
3a297e2b50 | ||
|
|
d7ad7f1886 | ||
|
|
fc60c0456c | ||
|
|
6b7f246195 | ||
|
|
bd4df4efee | ||
|
|
3996d149ee | ||
|
|
1291a29065 | ||
|
|
386c8ac23a | ||
|
c4563aa5ca
|
|||
|
73b6dd33c0
|
|||
|
da8a92acd5
|
|||
|
f7442dfe71
|
|||
|
7870cfc843
|
|||
|
fc376539f8
|
|||
|
|
a8515fd9a3 | ||
|
|
cb928759ac | ||
| a546588be1 | |||
|
|
8921c25fbb | ||
|
|
874bef8470 | ||
|
|
c5b74d4c97 | ||
|
|
d978ed9e67 | ||
| 5c5c0b2430 | |||
|
|
3c4c66dda6 | ||
|
|
4cb3e01d37 | ||
|
|
5489976256 | ||
|
|
19ec1e642f | ||
|
|
e1162292ab | ||
|
|
196a44c268 | ||
|
|
763e30f7e2 | ||
|
|
26386b3f71 | ||
|
|
64f67b3f58 | ||
|
|
e43e2c58b7 | ||
|
|
3baeaab7d4 | ||
| a48d59bf95 | |||
| 5c8a1f9e04 | |||
|
|
1d506a67ed | ||
|
|
484c288202 | ||
|
|
b078c778c5 | ||
|
|
18b66df198 | ||
|
|
679376336d | ||
|
|
a0a2ff1c6a | ||
|
|
09affee2e0 | ||
|
|
fc1852569b | ||
|
|
f8d9f28044 | ||
|
c215c33777
|
|||
|
fa998584c7
|
|||
|
98a8e86737
|
|||
|
85147ae859
|
|||
|
11b3e79234
|
|||
|
|
c65f3b4c11 | ||
|
|
ee60be4956 | ||
|
|
6cafd698e1 | ||
|
|
ee7bec5ac7 | ||
| ed2997f223 | |||
|
|
20f11281bf | ||
|
|
e022bbe822 | ||
|
|
0988fd4154 | ||
|
112e9384c3
|
|||
|
|
9271f1976c | ||
|
|
c0d4a3a951 | ||
|
26b45cdd0d
|
|||
|
65166a967e
|
|||
|
5a855e3236
|
|||
|
f47b690f5b
|
|||
|
6ef07107fe
|
|||
|
5e5c689743
|
|||
|
0f7910eb6a
|
|||
|
71ec315941
|
|||
|
127350cd95
|
|||
|
|
886b18491c | ||
|
a942965a45
|
|||
|
fdb908793e
|
|||
|
67e83a4fb5
|
|||
|
ab7010a8db
|
|||
|
9505d22f66
|
|||
|
088ee95a52
|
|||
|
08152e750d
|
|||
| 28d6e5b8fc | |||
| 045a325fbf | |||
| 349a67da19 | |||
| b4d839ab8a | |||
| 264358a2b2 | |||
| c3f2210d5a | |||
|
|
653fa25836 | ||
| 81a793886e | |||
| bf3facb551 | |||
| 781aed2132 | |||
| 8abbc26560 | |||
| 377469256c | |||
| ef35df04b5 | |||
| 9a376e126a | |||
| 4647be9b03 | |||
| f9fdb42c60 | |||
| 2f4297c344 | |||
| 441f510c0b | |||
| 81aca51a7e | |||
| dd286e39d7 | |||
|
|
af1c9e96c8 | ||
|
|
db9b82589f | ||
|
|
392c5c5411 | ||
| 53133da37b | |||
| b64d7e1772 | |||
|
|
92ea983372 | ||
|
|
5af2e8dd7c |
17
.github/ISSUE_TEMPLATE/bug_report.md
vendored
17
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -23,16 +23,15 @@ A clear and concise description of what you expected to happen.
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
**Environement**
|
||||
Please past the content of About > Troubleshooting > Debugging Information
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Browser [e.g. stock browser, safari]
|
||||
- Version [e.g. 22]
|
||||
io.github.Bavarder.Bavarder ...
|
||||
Environment: ...
|
||||
Gtk: ...
|
||||
Python: ...
|
||||
OS: Linux ...
|
||||
Providers: ['baichat', 'catgpt', 'huggingchat', 'openaigpt35turbo', 'openaigpt4', ...]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
||||
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@@ -10,11 +10,11 @@ jobs:
|
||||
name: Flatpak
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-nightly
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-44
|
||||
options: --privileged
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64, aarch64]
|
||||
arch: [x86_64]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
platforms: arm64
|
||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||
with:
|
||||
repository-name: gnome-nightly
|
||||
repository-name: gnome-44
|
||||
bundle: bavarder.flatpak
|
||||
manifest-path: build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
cache-key: flatpak-builder-${{ github.sha }}
|
||||
|
||||
44
README.md
44
README.md
@@ -1,4 +1,4 @@
|
||||
|
||||
<a href="https://bavarder.codeberg.page">
|
||||
<h1 align="center">
|
||||
<img src="data/icons/hicolor/scalable/apps/io.github.Bavarder.Bavarder.svg" alt="Bavarder" width="192" height="192"/>
|
||||
<br>
|
||||
@@ -6,8 +6,9 @@
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Chit-chat with GPT</strong>
|
||||
<strong>Chit-chat with an AI</strong>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://flathub.org/apps/details/io.github.Bavarder.Bavarder">
|
||||
@@ -22,9 +23,6 @@
|
||||
<a href="https://translate.codeberg.org/engage/bavarder/">
|
||||
<img src="https://translate.codeberg.org/widgets/bavarder/-/svg-badge.svg" alt="Translation status" />
|
||||
</a>
|
||||
<a href="https://github.com/Bavarder/Bavarder/actions/workflows/build.yml">
|
||||
<img alt="Build status" src="https://github.com/GradienceTeam/Gradience/actions/workflows/build.yml/badge.svg"/>
|
||||
</a>
|
||||
<a href="https://repology.org/project/bavarder/versions">
|
||||
<img alt="Packaging status" src="https://repology.org/badge/tiny-repos/bavarder.svg">
|
||||
</a>
|
||||
@@ -36,9 +34,15 @@
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<a href="https://bavarder.codeberg.page">
|
||||
<p align="center">
|
||||
<img src="./data/screenshots/quantum-computing.png" alt="Preview"/>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
## 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)
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -46,20 +50,32 @@
|
||||
|
||||
#### Flathub
|
||||
|
||||
You can either use your GNOME Software and search for "Bavarder" or you can run
|
||||
|
||||
``` shell
|
||||
flatpak install io.github.Bavarder.Bavarder
|
||||
```
|
||||
|
||||
#### From Source
|
||||
|
||||
Clone the repo and run `flatpak-builder`
|
||||
|
||||
```
|
||||
git clone https://github.com/Bavarder/Bavarder
|
||||
``` shell
|
||||
git clone https://codeberg.org/Bavarder/Bavarder # or https://github.com/Bavarder/Bavarder
|
||||
cd Bavarder
|
||||
flatpak-builder --install --user --force-clean repo/ build-aux/flatpak/io.github.Bavarder.Bavarder.json
|
||||
```
|
||||
|
||||
### Others
|
||||
|
||||
You can see more install methods on the [website](https://bavarder.codeberg.page/install/)
|
||||
|
||||
## Contribute
|
||||
|
||||
The [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct) is applicable to this project
|
||||
|
||||
See [`SEEN.md`](./SEEN.md) for a list of articles and posts about Bavarder
|
||||
|
||||
### Translate
|
||||
|
||||
<a href="https://translate.codeberg.org/engage/bavarder/">
|
||||
@@ -67,3 +83,17 @@ The [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct) is
|
||||
</a>
|
||||
|
||||
You can translate Bavarder using Codeberg Translate
|
||||
|
||||
### Mirrors
|
||||
|
||||
- [GitHub](https://github.com/Bavarder/Bavarder)
|
||||
- [Codeberg](https://codeberg.org/Bavarder/Bavarder)
|
||||
|
||||
## See also
|
||||
|
||||
### [Imaginer : Imagine with AI](https://imaginer.codeberg.page)
|
||||
|
||||
A tool for generating pictures with AI (GNOME app)
|
||||
|
||||
- [GitHub](https://github.com/ImaginerApp/Imaginer)
|
||||
- [Codeberg](https://codeberg.org/Imaginer/Imaginer)
|
||||
|
||||
44
SEEN.md
Normal file
44
SEEN.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Where Bavarder has been saw
|
||||
|
||||
## Press
|
||||
|
||||
- https://www.omgubuntu.co.uk/2023/05/bavarder-chatgpt-linux-app
|
||||
- https://gnulinux.ch/bavarder-chatgpt-ohne-account
|
||||
- https://infoidevice.fr/bavarder-application-chatgpt-linux/
|
||||
- https://sempreupdate.com.br/como-instalar-o-chat-bavarder-no-linux/
|
||||
- https://www.linuxjournal.com/content/introducing-bavarder-user-friendly-linux-desktop-app-quick-chatgpt-interaction
|
||||
- https://fostips.com/bavarder-open-source-ai-chat-linux/
|
||||
- https://voyagerlive.org/voyager-chatgpt/
|
||||
- https://plus.diolinux.com.br/t/bavarder-um-aplicativo-de-chatgpt-para-linux/53155
|
||||
- https://mindaizer.com/chatgpt-et-linux-presentation-de-bavarder/
|
||||
- https://wiredgorilla.com/introducing-bavarder-a-user-friendly-linux-desktop-app-for-quick-chatgpt-interaction/
|
||||
- https://www.linuxconsultant.org/bavarder-is-a-chatgpt-app-for-linux-desktops/
|
||||
|
||||
## Youtube
|
||||
|
||||
- https://youtu.be/dtAi2ejMwrk
|
||||
- https://youtu.be/bXcSEGb8IPE
|
||||
|
||||
## Fediverse
|
||||
|
||||
- https://bassam.social/notice/AVII4g9FPM0sD1bMWW
|
||||
- https://pleroma.destroyallmachines.net/notice/AVHg9tnvMACshmHJL6
|
||||
- https://floss.social/@omgubuntu/110304976747139717
|
||||
- https://mastodon.social/@geekland/110305211402821977
|
||||
- And more
|
||||
|
||||
## Twitter
|
||||
|
||||
- https://twitter.com/omgubuntu/status/1653752319660417024
|
||||
- https://twitter.com/linuxern00b/status/1653754427373936645
|
||||
- https://twitter.com/infoidevice/status/1653996236461023232
|
||||
- https://twitter.com/search?q=bavarder%20linux&src=typed_query&f=top
|
||||
- And more
|
||||
|
||||
## Misc
|
||||
|
||||
- https://alternativeto.net/software/bavarder/
|
||||
- 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
|
||||
@@ -5,7 +5,7 @@
|
||||
xmlns="http://usefulinc.com/ns/doap#">
|
||||
|
||||
<name xml:lang="en">Bavarder</name>
|
||||
<shortdesc xml:lang="en">Chit-chat with GPT</shortdesc>
|
||||
<shortdesc xml:lang="en">Chit-chat with an AI</shortdesc>
|
||||
<homepage rdf:resource="https://github.com/Bavarder/Bavarder" />
|
||||
<bug-database rdf:resource="https://github.com/Bavarder/Bavarder/issues"/>
|
||||
<programming-language>Python</programming-language>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"app-id" : "io.github.Bavarder.Bavarder",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "master",
|
||||
"runtime-version" : "44",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
"command" : "bavarder",
|
||||
"finish-args" : [
|
||||
|
||||
@@ -1,59 +1,247 @@
|
||||
{
|
||||
"name": "python3-baichat-py",
|
||||
"name": "pypi-dependencies",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"baichat-py\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
"build-commands": [],
|
||||
"modules": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/c2/fd/1ff4da09ca29d8933fda3f3514980357e25419ce5e0f689041edb8f17dab/aiohttp-3.8.4.tar.gz",
|
||||
"sha256": "bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"
|
||||
"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"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"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/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"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl",
|
||||
"sha256": "f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
|
||||
"name": "python3-hgchat",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"hgchat\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"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/31/7b/e26fdbce33e2bb68ba952cb21c260792a900766b8f767f040bdfbee48d03/hgchat-0.1.3-py3-none-any.whl",
|
||||
"sha256": "25725da85864cb57abd16d9ce15c270f785b7c1073ad30470609878226b93b0b"
|
||||
},
|
||||
{
|
||||
"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/96/80/034ffeca15c0f4e01b7b9c6ad0fb704b44e190cde4e757edbd60be404c41/requests-2.30.0-py3-none-any.whl",
|
||||
"sha256": "10e94cc4f3121ee6da529d358cdaeaff2f1c409cd377dbc72b825852f2f7e294"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl",
|
||||
"sha256": "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
|
||||
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl",
|
||||
"sha256": "8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
|
||||
"name": "python3-openai",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"openai\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"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/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/9f/87/838149e472c58a141fa81e2eb4cc8828cb134054b59d67637031985ca770/openai-0.27.6-py3-none-any.whl",
|
||||
"sha256": "1f07ed06f1cfc6c25126107193726fe4cf476edcc4e1485cd9eb708f068f2606"
|
||||
},
|
||||
{
|
||||
"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/e6/02/a2cff6306177ae6bc73bc0665065de51dfb3b9db7373e122e2735faf0d97/tqdm-4.65.0-py3-none-any.whl",
|
||||
"sha256": "c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/f0/eb/fcb708c7bf5056045e9e98f62b93bd7467eb718b0202e7698eb11d66416c/attrs-23.1.0-py3-none-any.whl",
|
||||
"sha256": "1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"
|
||||
"name": "python3-googlebardpy",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"googlebardpy\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"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/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",
|
||||
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
|
||||
},
|
||||
{
|
||||
"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/4b/1d/f8383ef593114755429c307449e7717b87044b3bcd5f7860b89b1f759e34/urllib3-2.0.2-py3-none-any.whl",
|
||||
"sha256": "d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
"name": "python3-pymdown-extensions",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"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/42/d5/ad2ce4fbd49f746c56f17ca4d1a8112cf76ea8797db670592923f7b3d96e/pymdown_extensions-9.11-py3-none-any.whl",
|
||||
"sha256": "a499191d8d869f30339de86fcf072a787e86c42b6f16f280f5c2cf174182b7f3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -8,5 +8,6 @@
|
||||
</gresource>
|
||||
<gresource prefix="/io/github/Bavarder/Bavarder/icons/scalable/actions/">
|
||||
<file preprocess="xml-stripblanks" alias="paper-plane-symbolic.svg">icons/scalable/actions/paper-plane-symbolic.svg</file>
|
||||
<file preprocess="xml-stripblanks" alias="x-circular-symbolic.svg">icons/scalable/actions/x-circular-symbolic.svg</file>
|
||||
</gresource>
|
||||
</gresources>
|
||||
|
||||
4
data/icons/scalable/actions/x-circular-symbolic.svg
Normal file
4
data/icons/scalable/actions/x-circular-symbolic.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 7.96875 1 c -3.851562 0 -6.96875 3.117188 -6.96875 6.96875 s 3.117188 6.96875 6.96875 6.96875 s 6.96875 -3.117188 6.96875 -6.96875 s -3.117188 -6.96875 -6.96875 -6.96875 z m -3 3.96875 h 1 h 0.03125 c 0.253906 0.011719 0.511719 0.128906 0.6875 0.3125 l 1.28125 1.28125 l 1.3125 -1.28125 c 0.265625 -0.230469 0.445312 -0.304688 0.6875 -0.3125 h 1 v 1 c 0 0.285156 -0.035156 0.550781 -0.25 0.75 l -1.28125 1.28125 l 1.25 1.25 c 0.1875 0.1875 0.28125 0.453125 0.28125 0.71875 v 1 h -1 c -0.265625 0 -0.53125 -0.09375 -0.71875 -0.28125 l -1.28125 -1.28125 l -1.28125 1.28125 c -0.1875 0.1875 -0.453125 0.28125 -0.71875 0.28125 h -1 v -1 c 0 -0.265625 0.09375 -0.53125 0.28125 -0.71875 l 1.28125 -1.25 l -1.28125 -1.28125 c -0.210938 -0.195312 -0.304688 -0.46875 -0.28125 -0.75 z m 0 0" fill="#2e3436"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 948 B |
@@ -1,44 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>io.github.Bavarder.Bavarder.desktop</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0-or-later</project_license>
|
||||
<id>io.github.Bavarder.Bavarder</id>
|
||||
<name>Bavarder</name>
|
||||
<summary>Chit-chat with GPT</summary>
|
||||
<summary>Chit-chat with an AI</summary>
|
||||
<developer_name>0xMRTT</developer_name>
|
||||
<content_rating type="oars-1.1"/>
|
||||
<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>
|
||||
<content_rating type="oars-1.1"/>
|
||||
|
||||
<description>
|
||||
<p>Chit-chat with GPT</p>
|
||||
<p>Chit-chat with an AI</p>
|
||||
</description>
|
||||
|
||||
<screenshots>
|
||||
<screenshot width="472" height="622">
|
||||
<caption>Screenshot of Main UI</caption>
|
||||
<image type="source">https://raw.githubusercontent.com/Bavarder/Bavarder/main/data/screenshots/quantum-computing.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<url type="bugtracker">https://github.com/Bavarder/Bavarder/issues</url>
|
||||
|
||||
<url type="bugtracker">https://codeberg.org/Bavarder/Bavarder/issues</url>
|
||||
<url type="translate">https://translate.codeberg.org/engage/bavarder/</url>
|
||||
<url type="help">https://github.com/Bavarder/Bavarder/issues</url>
|
||||
<url type="homepage">https://github.com/Bavarder/Bavarder</url>
|
||||
<url type="help">https://codeberg.org/Bavarder/Bavarder/issues</url>
|
||||
<url type="homepage">https://codeberg.org/Bavarder/Bavarder</url>
|
||||
|
||||
<kudos>
|
||||
<kudo>HiDpiIcon</kudo>
|
||||
<kudo>ModernToolkit</kudo>
|
||||
</kudos>
|
||||
<kudos>
|
||||
<kudo>HiDpiIcon</kudo>
|
||||
<kudo>ModernToolkit</kudo>
|
||||
</kudos>
|
||||
|
||||
<requires>
|
||||
<display_length compare="ge">360</display_length>
|
||||
</requires>
|
||||
<custom>
|
||||
<value key="Purism::form_factor">workstation</value>
|
||||
<value key="Purism::form_factor">mobile</value>
|
||||
</custom>
|
||||
|
||||
<categories>
|
||||
<category>Utility</category>
|
||||
</categories>
|
||||
<requires>
|
||||
<display_length compare="ge">360</display_length>
|
||||
</requires>
|
||||
|
||||
<recommends>
|
||||
<control>keyboard</control>
|
||||
<control>pointing</control>
|
||||
<control>touch</control>
|
||||
</recommends>
|
||||
<categories>
|
||||
<category>Utility</category>
|
||||
</categories>
|
||||
|
||||
<recommends>
|
||||
<control>keyboard</control>
|
||||
<control>pointing</control>
|
||||
<control>touch</control>
|
||||
</recommends>
|
||||
|
||||
<keywords>
|
||||
<keyword>Bavarder</keyword>
|
||||
@@ -48,4 +57,71 @@
|
||||
<keyword>AI</keyword>
|
||||
<keyword>OpenAI</keyword>
|
||||
</keywords>
|
||||
|
||||
<releases>
|
||||
<release version="0.2.0" date="2023-5-11" type="stable">
|
||||
<description>
|
||||
<p>Add support of formatting in the response view using Markdown</p>
|
||||
<p>Allow disabling the new render method </p>
|
||||
<p>Add description of providers</p>
|
||||
<p>Add help for getting a token for providers</p>
|
||||
<p>New website including some help for providers</p>
|
||||
<p>Fix an issue which caused the app to spin forever</p>
|
||||
<p>Remove Quit entry in the app menu</p>
|
||||
<p>Fix keyboard shortcuts</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.7" date="2023-5-7" type="stable">
|
||||
<description>
|
||||
<p>Fix an issue which caused the app to crash randomly</p>
|
||||
<p>Add the ability to enable/disable providers from the preferences</p>
|
||||
<p>Add more keyboard shortcuts</p>
|
||||
<p>Update translations</p>
|
||||
<p>Add better error handling</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.6" date="2023-5-6" type="stable">
|
||||
<description>
|
||||
<p>Fix an issue which caused the app to crash randomly</p>
|
||||
<p>Add save/load of settings</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.5" date="2023-5-4" type="stable">
|
||||
<description>
|
||||
<p>Fix HuggingChat (again)</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.4" date="2023-5-4" type="stable">
|
||||
<description>
|
||||
<p>Fix HuggingChat</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.3" date="2023-5-4" type="stable">
|
||||
<description>
|
||||
<p>Add multiple providers support</p>
|
||||
<p>Make HuggingChat the default provider</p>
|
||||
<p>Fix some bugs</p>
|
||||
<p>Focus on the response entry</p>
|
||||
<p>Update translations</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.2" date="2023-4-27" type="stable">
|
||||
<description>
|
||||
<p>Fix appdata not having release tags</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.1" date="2023-4-27" type="stable">
|
||||
<description>
|
||||
<p>Change app ID to io.github.Bavarder.Bavarder</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="0.1.0" date="2023-4-27" type="stable">
|
||||
<description>
|
||||
<p>First release of Bavarder</p>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
||||
|
||||
@@ -16,5 +16,17 @@
|
||||
<key name="clear-after-send" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
<key name="enabled-providers" type="as">
|
||||
<default>["baichat", "catgpt", "huggingchat", "openaigpt35turbo"]</default>
|
||||
</key>
|
||||
<key name="latest-provider" type="s">
|
||||
<default>'huggingchat'</default>
|
||||
</key>
|
||||
<key name="providers-data" type="a{ss}">
|
||||
<default>{}</default>
|
||||
</key>
|
||||
<key name="use-text-view" type="b">
|
||||
<default>false</default>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 30 KiB |
@@ -27,6 +27,24 @@
|
||||
<property name="action-name">app.quit</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>
|
||||
|
||||
@@ -19,6 +19,19 @@ template Preferences : Adw.PreferencesWindow {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
|
||||
Adw.ActionRow {
|
||||
title: _("Use text view");
|
||||
subtitle: _("If the text view is used, you will lose formatting");
|
||||
activatable-widget: use_text_view_switch;
|
||||
Gtk.Switch use_text_view_switch {
|
||||
valign: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Adw.PreferencesGroup provider_group {
|
||||
title: _("Providers");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
using Gtk 4.0;
|
||||
using Adw 1;
|
||||
using WebKit 6.0;
|
||||
|
||||
template BavarderWindow : Adw.ApplicationWindow {
|
||||
|
||||
@@ -26,6 +27,9 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
icon-name: "open-menu-symbolic";
|
||||
tooltip-text: _("Main Menu");
|
||||
}
|
||||
DropDown provider_selector {
|
||||
styles ["flat"]
|
||||
}
|
||||
styles ["flat"]
|
||||
}
|
||||
|
||||
@@ -81,6 +85,23 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
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";
|
||||
// }
|
||||
|
||||
// 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;
|
||||
@@ -119,7 +140,7 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
|
||||
styles ["card", "text-box"]
|
||||
|
||||
ScrolledWindow {
|
||||
ScrolledWindow scrolled_response_window {
|
||||
margin-top:12;
|
||||
margin-bottom:0;
|
||||
margin-start:12;
|
||||
@@ -127,6 +148,8 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
styles ["scrolled-window"]
|
||||
|
||||
Gtk.Stack response_stack {
|
||||
vexpand: true;
|
||||
hexpand: true;
|
||||
Gtk.StackPage {
|
||||
name: "page_response";
|
||||
child: TextView bot_text_view {
|
||||
@@ -154,7 +177,25 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
|
||||
styles ["toolbar"]
|
||||
|
||||
Button {
|
||||
// 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");
|
||||
@@ -162,6 +203,17 @@ template BavarderWindow : Adw.ApplicationWindow {
|
||||
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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
10
meson.build
10
meson.build
@@ -1,5 +1,5 @@
|
||||
project('bavarder',
|
||||
version: '0.1.1',
|
||||
version: '0.2.0',
|
||||
meson_version: '>= 0.62.0',
|
||||
default_options: [ 'warning_level=2', 'werror=false', ],
|
||||
)
|
||||
@@ -10,6 +10,9 @@ python = import('python')
|
||||
|
||||
# Constants
|
||||
PROJECT_RDNN_NAME = 'io.github.Bavarder.Bavarder'
|
||||
BUGTRACKER_URL = 'https://github.com/Bavarder/Bavarder/issues'
|
||||
HELP_URL = 'https://github.com/Bavarder/Bavarder/issues'
|
||||
TRANSLATE_URL = 'https://translate.codeberg.org/engage/bavarder/'
|
||||
|
||||
PROJECT_URL = 'https://github.com/Bavarder'
|
||||
|
||||
@@ -55,6 +58,11 @@ conf.set('BUILD_TYPE', get_option('buildtype'))
|
||||
conf.set('SCHEMAS_DIR', PKGDATA_DIR)
|
||||
conf.set('SOURCE_DIR', meson.current_source_dir())
|
||||
conf.set('BUILD_DIR', meson.current_build_dir())
|
||||
conf.set('BUGTRACKER_URL', BUGTRACKER_URL)
|
||||
conf.set('HELP_URL', HELP_URL)
|
||||
conf.set('TRANSLATE_URL', TRANSLATE_URL)
|
||||
conf.set('RELEASE_VER', meson.project_version())
|
||||
conf.set('PROJECT_URL', PROJECT_URL)
|
||||
|
||||
subdir('data')
|
||||
subdir('src')
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -18,20 +18,20 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
|
||||
@@ -55,7 +55,22 @@ msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
@@ -71,38 +86,54 @@ msgstr ""
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
uk
|
||||
ru
|
||||
fr
|
||||
tr
|
||||
fi
|
||||
pl
|
||||
hu
|
||||
az
|
||||
es
|
||||
sv
|
||||
it
|
||||
fa
|
||||
nl
|
||||
pt
|
||||
de
|
||||
cs
|
||||
th
|
||||
|
||||
@@ -7,3 +7,5 @@ data/ui/window.blp
|
||||
src/main.py
|
||||
src/preferences.py
|
||||
src/window.py
|
||||
src/provider/base.py
|
||||
src/provider/catgpt.py
|
||||
163
po/az.po
Normal file
163
po/az.po
Normal file
@@ -0,0 +1,163 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# thepoladov13 <thepoladov@protonmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@proton.me>\n"
|
||||
"Language-Team: Azerbaijani <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/az/>\n"
|
||||
"Language: az\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:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chit AI ilə söhbət edin"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Əsas UI ekran görüntüsü"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
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 "Quit"
|
||||
msgstr "Çıx"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Üstünlüklər"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Cavab"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Üstünlüklər"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Sorğu"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Göndərdikdən sonra sorğunu silin"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Sorğu göndərildikdən sonra silinəcək"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Provayderlər"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Əsas menyu"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Şəbəkə bağlantısı yoxdur"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Mesaj"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Buferə kopyalayın"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Soruş"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Gözləyin"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Cavab"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klaviatura Qısayolları"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "Bavarder haqqında"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API açarı təqdim edilməyib, siz onu ayarlarda təmin edə bilərsiniz"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Parametrləri açın"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Çıx"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Dinləmək"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Dinləyirəm"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Danış"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Danışıram"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Xüsusi təşəkkürlər"
|
||||
92
po/cs.po
92
po/cs.po
@@ -4,13 +4,14 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# muznyo <codeberg.vqtek@simplelogin.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 19:52+0000\n"
|
||||
"Last-Translator: muznyo <codeberg.vqtek@simplelogin.com>\n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Czech <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/cs/>\n"
|
||||
"Language: cs\n"
|
||||
@@ -21,20 +22,20 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr "Chatovat s GPT"
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chatovat s umělou inteligencí"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Snímek obrazovky hlavního uživatelského rozhraní"
|
||||
|
||||
@@ -58,7 +59,26 @@ msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Ukončit"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Nastavení"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Odpověď"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Vymazat"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Nastavení"
|
||||
|
||||
@@ -74,41 +94,75 @@ msgstr "Vymazat dotaz po odeslání"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Dotaz bude vymazán po odeslání"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Poskytovatelé"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Hlavní menu"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Žádné připojení k síti"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Zpráva"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopírovat do schránky"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Zeptat se"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Čekejte"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Odpověď"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klávesové zkratky"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "O Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API klíč nebyl přidán, můžete jej přidat v nastavení"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Otevřít nastavení"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Ukončit"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Poslech"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Poslouchání"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Mluvit"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Mluvení"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Zvláštní poděkování patří"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Připraveno"
|
||||
|
||||
89
po/de.po
89
po/de.po
@@ -4,13 +4,14 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: German <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/de/>\n"
|
||||
"Language: de\n"
|
||||
@@ -21,20 +22,20 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Plaudern Sie mit GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Screenshot der Hauptbenutzeroberfläche"
|
||||
|
||||
@@ -58,7 +59,24 @@ msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Aufhören"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Antwort"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
@@ -74,42 +92,77 @@ msgstr "Eingabeaufforderung nach dem Senden löschen"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Die Eingabeaufforderung wird nach dem Senden gelöscht"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Anbieter"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Hauptmenü"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Keine Netzwerkverbindung"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Meldung"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "In die Zwischenablage kopieren"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Fragen"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Warten"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Antwort"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Tastatürkürzel"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "Über Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Kein API-Schlüssel angegeben, Sie können einen in den Einstellungen angeben"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Einstellungen öffnen"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Katze GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Aufhören"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Hören"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Hören"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Sprechen"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Reden"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Besonderer Dank an"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Bereit"
|
||||
|
||||
|
||||
120
po/es.po
120
po/es.po
@@ -4,13 +4,17 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# sjdonado <jsrd98@gmail.com>, 2023.
|
||||
# deimidis <gmovia@pm.me>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# gallegonovato <fran-carro@hotmail.es>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-08 22:37+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"
|
||||
@@ -21,22 +25,22 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr ""
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Conversa con una IA"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
msgstr "Captura de Pantalla de la Interfaz de Usuario Principal"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
@@ -46,69 +50,119 @@ msgstr "General"
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Mostrar Atajos de Teclado"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Preguntar"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Salida"
|
||||
msgstr "Abandonar"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Copiar la respuesta"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Borrar"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencias"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr ""
|
||||
msgstr "Entrada"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr ""
|
||||
msgstr "Limpiar entrada después de enviar"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
msgstr "La entrada será borrada después de enviar"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Proveedores"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Menú Principal"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "No hay conexión de red"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Mensaje"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar al portapapeles"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Preguntar"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
msgstr "Espera"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
msgstr "Respuesta"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Atajos de Teclado"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"No se ha ingresado una API Key valida, puede ingresar una en Configuraciones"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configuraciones"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Charla GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Salir"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Escuchar"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Escuchando"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Hablar"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Hablando"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Agradecimientos especiales a"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Leer"
|
||||
|
||||
150
po/fa.po
Normal file
150
po/fa.po
Normal file
@@ -0,0 +1,150 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# kouroshtaf <kouroshtaf@gmail.com>, 2023.
|
||||
# Kourosh <kouroshtaf@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Persian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fa/>\n"
|
||||
"Language: fa\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:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "باوارده"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "گپی با هوش مصنوعی"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "سازنده: 0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "تصویر نمای اصلی"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
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 "Quit"
|
||||
msgstr "خروج"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "پیشفرضها"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "پاسخ"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "پاکسازی"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
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:25
|
||||
msgid "Providers"
|
||||
msgstr "تامین کنندگان"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "منوی اصلی"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "ارتباط شبکه برقرار نیست"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "پیام"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "کپی به کلیپ بورد"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "بپرس"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "منتظر باش"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "پاسخ"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "کلیدهای میانبر"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "درباره"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "کلید API پیدا نشد، می توانید دربخش تنطیمات آن را وارد کنید"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "تنظيمات"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "کت جی پی تی"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "خروج"
|
||||
161
po/fi.po
Normal file
161
po/fi.po
Normal file
@@ -0,0 +1,161 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# artnay <jiri.gronroos@iki.fi>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-11 17:11+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"
|
||||
"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:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Keskustele tekoälyn kanssa"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Kuvakaappaus käyttöliittymästä"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
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 "Quit"
|
||||
msgstr "Lopeta"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Asetukset"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Kopioi vastaus"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Tyhjennä"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Asetukset"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Kehote"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Tyhjennä kehote lähetyksen jälkeen"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Kehote tyhjennetään lähetyksen jälkeen"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Palveluntarjoajat"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Päävalikko"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Ei verkkoyhteyttä"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Viesti"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopioi leikepöydälle"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Kysy"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Odota"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Vastaus"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Pikanäppäimet"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "Tietoja - Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API-avainta ei asetettu, aseta avain asetuksissa"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Avaa asetukset"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Lopeta"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Kuuntele"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Kuunnellaan"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Puhu"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Puhutaan"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Erityiskiitokset"
|
||||
111
po/fr.po
111
po/fr.po
@@ -4,13 +4,16 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
# muznyo <codeberg.vqtek@simplelogin.com>, 2023.
|
||||
# rene-coty <irenee.thirion@e.email>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-08 07:53+0000\n"
|
||||
"Last-Translator: rene-coty <irenee.thirion@e.email>\n"
|
||||
"Language-Team: French <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/fr/>\n"
|
||||
"Language: fr\n"
|
||||
@@ -21,22 +24,22 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Bavarder avec GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Capture d'écran de l'interface utilisateur principale"
|
||||
msgstr "Capture d’écran de l’interface principale"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
@@ -46,69 +49,119 @@ msgstr "Général"
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr "Afficher les Raccourcis"
|
||||
msgstr "Afficher les raccourcis"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr "Demandez"
|
||||
msgstr "Demander"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Quitter"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Copier la réponse"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Vider"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Préférences"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Invite"
|
||||
msgstr "Requête"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Effacer l'invite après l'envoi"
|
||||
msgstr "Effacer la requête après envoi"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "L'invite sera effacée après l'envoi"
|
||||
msgstr "La requête sera effacée après envoi"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Fournisseurs"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu Principal"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Pas de connexion réseau"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copier dans le presse papier"
|
||||
msgstr "Copier dans le presse-papiers"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Demandez"
|
||||
msgstr "Demander"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Attendez"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Réponse"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Raccourcis Clavier"
|
||||
msgstr "Raccourcis clavier"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "A propos de Bavarder"
|
||||
msgstr "À propos de Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Pas de clé d’API fournie, vous pouvez en ajouter une dans les paramètres"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Ouvrir les paramètres"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Quitter"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Écouter"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "En écoute"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Parler"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "En train de parler"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Remerciements spéciaux à"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Prêt"
|
||||
|
||||
151
po/hu.po
Normal file
151
po/hu.po
Normal file
@@ -0,0 +1,151 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# osiixy <osiixy@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Hungarian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/hu/>\n"
|
||||
"Language: hu\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:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
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 "Quit"
|
||||
msgstr "Kilépés"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Kiürítés"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Beállítások"
|
||||
|
||||
#: 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:25
|
||||
msgid "Providers"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Nincs hálózati kapcsolat"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Üzenet"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Másolás a vágólapra"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~| msgctxt "shortcut window"
|
||||
#~| msgid "Quit"
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Kilépés"
|
||||
117
po/it.po
117
po/it.po
@@ -4,13 +4,15 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# phaerrax <davide.ferracin@protonmail.com>, 2023.
|
||||
# elgandoz <gandi.marco@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Italian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/it/>\n"
|
||||
"Language: it\n"
|
||||
@@ -21,22 +23,22 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr ""
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chiacchiera con un'IA"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
msgstr "Schermata dell'interfaccia principale"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
@@ -46,69 +48,120 @@ msgstr "Generale"
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Mostra scorciatoie"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Chiedi"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Esci"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Risposta"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Cancella"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Preferenze"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr ""
|
||||
msgstr "Prompt"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr ""
|
||||
msgstr "Svuota il prompt dopo l'invio"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
msgstr "Il prompt verrà svuotato dopo l'invio"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Fornitori"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Menù principale"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Nessuna connessione di rete"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Messaggio"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copia negli appunti"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Chiedi"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
msgstr "Attendere"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
msgstr "Risposta"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Scorciatoie da tastiera"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "Informazioni su Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Nessuna chiave API fornita; è possibile fornirne una nelle impostazioni"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Apri impostazioni"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Esci"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Ascolta"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "In ascolto"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Parla"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Un ringraziamento speciale a"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Pronto"
|
||||
|
||||
160
po/nl.po
Normal file
160
po/nl.po
Normal file
@@ -0,0 +1,160 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# Vistaus <vistausss@fastmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Dutch <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/nl/>\n"
|
||||
"Language: nl\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:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Babbel met een KI"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Schermfoto van het hoofdscherm"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
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 "Quit"
|
||||
msgstr "Afsluiten"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Antwoord kopiëren"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Wissen"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Invoerveld"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Invoerveld wissen na versturen"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Wis het invoerveld na het stellen van een vraag"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Diensten"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Hoofdmenu"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Geen netwerkverbinding"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Bericht"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiëren naar klembord"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Vraag stellen"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Even geduld…"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Antwoord"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Sneltoetsen"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "Over Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Er is geen api-sleutel opgegeven - open de voorkeuren"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Voorkeuren openen"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Afsluiten"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Luisteren"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Bezig met luisteren…"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Praten"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Bezig met praten…"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Met veel dank aan"
|
||||
166
po/pl.po
Normal file
166
po/pl.po
Normal file
@@ -0,0 +1,166 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# ioghjog <michal.d1191@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Polish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/pl/>\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Pogawędka z SI"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Zrzut ekranu interfejsu"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
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 "Quit"
|
||||
msgstr "Wyjdź"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencje"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Odpowiedź"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Wyczyść"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Preferencje"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Zapytanie"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Czyść zapytanie po wysłaniu"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Zapytanie zostanie wyczyszczone po wysłaniu"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Dostawcy"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Główne menu"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Brak połączenia z siecią"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Wiadomość"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Skopiuj do schowka"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Zapytaj"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Czekaj"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Odpowiedź"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Skróty klawiszowe"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "O Bavarderze"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Nie podano klucza API, dodaj go w ustawieniach"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Otwórz ustawienia"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Wyjdź"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Słuchaj"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Słuchanie"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Powiedz"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Mówienie"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Specjalne podziękowania dla"
|
||||
166
po/pt.po
Normal file
166
po/pt.po
Normal file
@@ -0,0 +1,166 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# galegovski <galegovski@outlook.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Portuguese <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/pt/>\n"
|
||||
"Language: pt\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:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Bate-papo com uma IA"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Captura da tela principal"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
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 "Quit"
|
||||
msgstr "Sair"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Resposta"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Limpar"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Preferências"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Prompt"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Limpar prompt após enviar"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "O prompt será limpo após o envio"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Provedores"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Nenhuma conexão de rede"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Mensagem"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Copiar para área de transferência"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Perguntar"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Espere"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Resposta"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Atalhos do teclado"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "Sobre Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr ""
|
||||
"Nenhuma chave de API fornecida, você pode fornecer uma nas configurações"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Abrir configurações"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Sair"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Ouvir"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Audição"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Falar"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Falando"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Agradecimentos especiais para"
|
||||
90
po/ru.po
90
po/ru.po
@@ -5,38 +5,39 @@
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# Daudix_UFO <ddaudix@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: Daudix_UFO <ddaudix@gmail.com>\n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Russian <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/ru/>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Болтайте с GPT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Снимок экрана главного интерфейса"
|
||||
|
||||
@@ -60,7 +61,22 @@ msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Выйти"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Параметры"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Скопировать ответ"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Очистить"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Параметры"
|
||||
|
||||
@@ -76,42 +92,76 @@ msgstr "Очищать поле ввода после отправки"
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Поле ввода будет очищено после отправки"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Провайдеры"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Главное меню"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Нет подключения к сети"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Сообщение"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Скопировать в буфер обмена"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Спросить"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Ждите"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Ответ"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Комбинации клавиш"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "О Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Ключ API не предоставлен, вы можете предоставить его в настройках"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Открыть настройки"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Выйти"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Прослушать"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Прослушивание"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Произнести"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Произношение"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Особое спасибо"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Готов"
|
||||
|
||||
|
||||
123
po/sv.po
123
po/sv.po
@@ -4,13 +4,15 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# Morgan Antonsson <morgan.antonsson@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Swedish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/sv/>\n"
|
||||
"Language: sv\n"
|
||||
@@ -21,22 +23,22 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr ""
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chatta med en AI"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
msgstr "Skärmdump av huvudgränssnittet"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
@@ -46,69 +48,122 @@ msgstr "Generellt"
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Visa genvägar"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Fråga"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Sluta"
|
||||
msgstr "Avsluta"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Svar"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Rensa"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr ""
|
||||
msgstr "Prompt"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr ""
|
||||
msgstr "Töm prompt efter den har skickats"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr ""
|
||||
msgstr "Prompten kommer att rensas efter att den har skickats"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Leverantörer"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Huvudmeny"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Ingen kontakt med nätverket"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Meddelande"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Kopiera till urklipp"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Fråga"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
msgstr "Vänta"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
msgstr "Svar"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Tangentbordsgenvägar"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Om Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Ingen API-nyckel har angetts, du kan ange en i inställningarna"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Öppna inställningar"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Avsluta"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Lyssna"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Lyssnar"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Tala"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Talar"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Särskilt tack till"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "läst"
|
||||
|
||||
142
po/th.po
Normal file
142
po/th.po
Normal file
@@ -0,0 +1,142 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# watchakorn-18k <porton555@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-11 05:14+0000\n"
|
||||
"Last-Translator: watchakorn-18k <porton555@gmail.com>\n"
|
||||
"Language-Team: Thai <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/th/>\n"
|
||||
"Language: th\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.desktop.in:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "แบบวาร์เดอร์"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "แชทกับ AI"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "ภาพหน้าจอของ UI หลัก"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
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 "Quit"
|
||||
msgstr "ออก"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "การตั้งค่า"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "คัดลอกการตอบกลับ"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "ล้าง"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
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:25
|
||||
msgid "Providers"
|
||||
msgstr "ผู้ให้บริการ"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "เมนูหลัก"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "ไม่มีการเชื่อมต่อเครือข่าย"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "ข้อความ"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "คัดลอกไปยังคลิปบอร์ด"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "ถาม"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "รอ"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "การตอบสนอง"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "แป้นพิมพ์ลัด"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "เกี่ยวกับแบบวาร์เดอร์"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "ไม่มีรหัส API คุณสามารถระบุได้ในการตั้งค่าได้"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "เปิดการตั้งค่า"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "แมว GPT"
|
||||
165
po/tr.po
Normal file
165
po/tr.po
Normal file
@@ -0,0 +1,165 @@
|
||||
# Bavarder POT file
|
||||
# Copyright (C) 2023 Bavarder
|
||||
# This file is distributed under the GNU GPLv3 license.
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# keyiflerolsun <keyiflerolsun@gmail.com>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"Language-Team: Turkish <https://translate.codeberg.org/projects/bavarder/"
|
||||
"bavarder/tr/>\n"
|
||||
"Language: tr\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:3
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Chit AI ile sohbet edin"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr "Ana Kullanıcı Arayüzü'nün ekran görüntüsü"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
msgid "General"
|
||||
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 "Quit"
|
||||
msgstr "Çıkış"
|
||||
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Yanıt"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Temizle"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Tercihler"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr "Girdi"
|
||||
|
||||
#: data/ui/preferences.blp:15
|
||||
msgid "Clear prompt after send"
|
||||
msgstr "Gönderdikten sonra giriş alanını temizle"
|
||||
|
||||
#: data/ui/preferences.blp:16
|
||||
msgid "The prompt will be cleared after send"
|
||||
msgstr "Gönderimden sonra giriş alanı temizlenecek"
|
||||
|
||||
#: data/ui/preferences.blp:25
|
||||
msgid "Providers"
|
||||
msgstr "Sağlayıcılar"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr "Ana Menü"
|
||||
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Ağ bağlantısı yok"
|
||||
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Mesaj"
|
||||
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Panoya kopyala"
|
||||
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr "Sor"
|
||||
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr "Bekle"
|
||||
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr "Yanıt"
|
||||
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Klavye kısayolları"
|
||||
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr "Bavarder Hakkında"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "API anahtarı sağlanmadı, ayarlarda bir tane sağlayabilirsiniz"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Ayarları aç"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Cat GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Çıkış"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Dinle"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Dinleniyor"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Konuş"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Konuşuyor"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Özel teşekkürler"
|
||||
125
po/uk.po
125
po/uk.po
@@ -4,40 +4,42 @@
|
||||
# Bavarder, 2023.
|
||||
#
|
||||
# 0xMRTT <0xmrtt@tuta.io>, 2023.
|
||||
# Orest58008 <orest58008@tuta.io>, 2023.
|
||||
# 0xMRTT <0xmrtt@proton.me>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-04-27 22:07+0200\n"
|
||||
"PO-Revision-Date: 2023-04-27 17:37+0000\n"
|
||||
"Last-Translator: 0xMRTT <0xmrtt@tuta.io>\n"
|
||||
"POT-Creation-Date: 2023-05-07 23:01+0200\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:15+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
"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/io.github.Bavarder.Bavarder.appdata.xml.in:6 data/ui/window.blp:6
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:4 data/ui/window.blp:6
|
||||
msgid "Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Bavarder"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:7
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:11
|
||||
msgid "Chit-chat with GPT"
|
||||
msgstr ""
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:5
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:13
|
||||
msgid "Chit-chat with an AI"
|
||||
msgstr "Побалакати з ШІ"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:8
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:6
|
||||
msgid "0xMRTT"
|
||||
msgstr ""
|
||||
msgstr "0xMRTT"
|
||||
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:15
|
||||
#: data/io.github.Bavarder.Bavarder.appdata.xml.in:18
|
||||
msgid "Screenshot of Main UI"
|
||||
msgstr ""
|
||||
msgstr "Знімок головного інтерфейсу"
|
||||
|
||||
#: data/ui/help-overlay.ui:11
|
||||
msgctxt "shortcut window"
|
||||
@@ -47,69 +49,122 @@ msgstr "Загальні"
|
||||
#: data/ui/help-overlay.ui:14
|
||||
msgctxt "shortcut window"
|
||||
msgid "Show Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Показати Скорочення"
|
||||
|
||||
#: data/ui/help-overlay.ui:20
|
||||
msgctxt "shortcut window"
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Запитати"
|
||||
|
||||
#: data/ui/help-overlay.ui:26
|
||||
msgctxt "shortcut window"
|
||||
msgid "Quit"
|
||||
msgstr "Вийти"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:177
|
||||
#: data/ui/help-overlay.ui:32
|
||||
#, fuzzy
|
||||
#| msgid "Preferences"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Preferences"
|
||||
msgstr "Опції"
|
||||
|
||||
#: data/ui/help-overlay.ui:38
|
||||
#, fuzzy
|
||||
#| msgid "Response"
|
||||
msgctxt "shortcut window"
|
||||
msgid "Copy response"
|
||||
msgstr "Відповідь"
|
||||
|
||||
#: data/ui/help-overlay.ui:44
|
||||
msgctxt "shortcut window"
|
||||
msgid "Clear"
|
||||
msgstr "Очистити"
|
||||
|
||||
#: data/ui/preferences.blp:5 data/ui/window.blp:215
|
||||
msgid "Preferences"
|
||||
msgstr "Опції"
|
||||
|
||||
#: data/ui/preferences.blp:12
|
||||
msgid "Prompt"
|
||||
msgstr ""
|
||||
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:25
|
||||
msgid "Providers"
|
||||
msgstr "Постачальники"
|
||||
|
||||
#: data/ui/window.blp:27
|
||||
msgid "Main Menu"
|
||||
msgstr ""
|
||||
msgstr "Головне Меню"
|
||||
|
||||
#: data/ui/window.blp:33
|
||||
#: data/ui/window.blp:36 src/provider/base.py:47
|
||||
msgid "No network connection"
|
||||
msgstr "Відсутнє з'єднання з мережею"
|
||||
|
||||
#: data/ui/window.blp:48
|
||||
#: data/ui/window.blp:51
|
||||
msgid "Message"
|
||||
msgstr "Повідомлення"
|
||||
|
||||
#: data/ui/window.blp:81 data/ui/window.blp:160
|
||||
#: data/ui/window.blp:84 data/ui/window.blp:198
|
||||
msgid "Copy to Clipboard"
|
||||
msgstr "Копіювати"
|
||||
|
||||
#: data/ui/window.blp:88
|
||||
#: data/ui/window.blp:108
|
||||
msgid "Ask"
|
||||
msgstr ""
|
||||
msgstr "Запитати"
|
||||
|
||||
#: data/ui/window.blp:97
|
||||
#: data/ui/window.blp:117
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
msgstr "Чекати"
|
||||
|
||||
#: data/ui/window.blp:112
|
||||
#: data/ui/window.blp:132
|
||||
msgid "Response"
|
||||
msgstr ""
|
||||
msgstr "Відповідь"
|
||||
|
||||
#: data/ui/window.blp:182
|
||||
#: data/ui/window.blp:220
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
msgstr "Комбінації Клавіш"
|
||||
|
||||
#: data/ui/window.blp:187
|
||||
#: data/ui/window.blp:225
|
||||
msgid "About Bavarder"
|
||||
msgstr ""
|
||||
msgstr "Про Bavarder"
|
||||
|
||||
#: src/provider/base.py:40
|
||||
msgid "No API key provided, you can provide one in settings"
|
||||
msgstr "Відсутній ключ API, надайте його в налаштуваннях"
|
||||
|
||||
#: src/provider/base.py:42
|
||||
msgid "Open settings"
|
||||
msgstr "Відкрити налаштування"
|
||||
|
||||
#: src/provider/catgpt.py:9
|
||||
msgid "Cat GPT"
|
||||
msgstr "Кіт GPT"
|
||||
|
||||
#~ msgid "Quit"
|
||||
#~ msgstr "Вийти"
|
||||
|
||||
#~ msgid "Listen"
|
||||
#~ msgstr "Слухати"
|
||||
|
||||
#~ msgid "Listening"
|
||||
#~ msgstr "Слухає"
|
||||
|
||||
#~ msgid "Speak"
|
||||
#~ msgstr "Говорити"
|
||||
|
||||
#~ msgid "Speaking"
|
||||
#~ msgstr "Говорить"
|
||||
|
||||
#~ msgid "Special thanks to"
|
||||
#~ msgstr "Особлива подяка"
|
||||
|
||||
#~ msgid "Ready"
|
||||
#~ msgstr "Готово"
|
||||
|
||||
@@ -2,4 +2,10 @@
|
||||
# chmod +x flatpak-pip-generator
|
||||
# ./flatpak-pip-generator --requirements-file=requirements.txt --output pypi-dependencies
|
||||
|
||||
baichat-py
|
||||
baichat-py>=0.1.2
|
||||
hgchat
|
||||
openai
|
||||
googlebardpy
|
||||
markdown
|
||||
pymdown-extensions
|
||||
Pygments
|
||||
995
src/main.py
995
src/main.py
File diff suppressed because it is too large
Load Diff
@@ -16,16 +16,7 @@ configure_file(
|
||||
configure_file(
|
||||
input: 'constants.py.in',
|
||||
output: 'constants.py',
|
||||
configuration: configuration_data({
|
||||
'APP_ID': APPLICATION_ID,
|
||||
'RELEASE_VER': meson.project_version(),
|
||||
'VERSION': meson.project_version() + VERSION_SUFFIX,
|
||||
'BUILD_TYPE': get_option('buildtype'),
|
||||
'PROJECT_URL': PROJECT_URL,
|
||||
'DATA_DIR': conf.get('DATA_DIR'),
|
||||
'PKGDATA_DIR': PKGDATA_DIR,
|
||||
'LOCALE_DIR': conf.get('LOCALE_DIR'),
|
||||
}),
|
||||
configuration: conf,
|
||||
install: true,
|
||||
install_dir: moduledir
|
||||
)
|
||||
@@ -38,3 +29,5 @@ bavarder_sources = [
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(bavarder_sources, subdir: moduledir)
|
||||
|
||||
subdir('provider')
|
||||
@@ -1,11 +1,15 @@
|
||||
from gi.repository import Gtk, Adw
|
||||
|
||||
from .provider import PROVIDERS
|
||||
|
||||
|
||||
@Gtk.Template(resource_path="/io/github/Bavarder/Bavarder/ui/preferences.ui")
|
||||
class Preferences(Adw.PreferencesWindow):
|
||||
__gtype_name__ = "Preferences"
|
||||
|
||||
clear_after_send_switch = Gtk.Template.Child()
|
||||
provider_group = Gtk.Template.Child()
|
||||
use_text_view_switch = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, application, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
@@ -13,17 +17,50 @@ class Preferences(Adw.PreferencesWindow):
|
||||
self.app = application
|
||||
self.settings = application.settings
|
||||
|
||||
clear_after_send = self.settings.get_boolean("clear-after-send")
|
||||
self.clear_after_send_switch.props.state = clear_after_send
|
||||
self.clear_after_send_switch.set_active(self.app.clear_after_send)
|
||||
self.clear_after_send_switch.connect(
|
||||
"state-set", self.on_clear_after_send_switch_toggled
|
||||
"notify::active", self.on_clear_after_send_switch_toggled
|
||||
)
|
||||
|
||||
def on_clear_after_send_switch_toggled(self, *args):
|
||||
"""Callback for the clear_after_send_switch toggled event."""
|
||||
state = self.clear_after_send_switch.props.state
|
||||
self.use_text_view_switch.set_active(self.app.use_text_view)
|
||||
self.use_text_view_switch.connect(
|
||||
"notify::active", self.on_use_text_view_switch_toggled
|
||||
)
|
||||
|
||||
if state:
|
||||
self.setup_providers()
|
||||
|
||||
def on_clear_after_send_switch_toggled(self, widget, *args):
|
||||
"""Callback for the clear_after_send_switch toggled event."""
|
||||
if widget.get_active():
|
||||
self.settings.set_boolean("clear-after-send", True)
|
||||
self.app.clear_after_send = True
|
||||
else:
|
||||
self.settings.set_boolean("clear-after-send", False)
|
||||
self.app.clear_after_send = False
|
||||
|
||||
def on_use_text_view_switch_toggled(self, widget, *args):
|
||||
"""Callback for the use_text_view_switch toggled event."""
|
||||
if widget.get_active():
|
||||
self.settings.set_boolean("use-text-view", True)
|
||||
self.app.use_text_view = True
|
||||
else:
|
||||
self.settings.set_boolean("use-text-view", False)
|
||||
self.app.use_text_view = False
|
||||
|
||||
def setup_providers(self):
|
||||
# for provider in self.app.providers.values():
|
||||
# try:
|
||||
# self.provider_group.add(provider.preferences(self))
|
||||
# except TypeError: # no prefs
|
||||
# pass
|
||||
# else:
|
||||
# row = Adw.ActionRow()
|
||||
# row.props.title = "No providers available"
|
||||
# self.provider_group.add(row)
|
||||
for provider in PROVIDERS.values():
|
||||
try:
|
||||
self.provider_group.add(
|
||||
provider(self.app.win, self.app).preferences(self)
|
||||
)
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
35
src/provider/__init__.py
Normal file
35
src/provider/__init__.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from .huggingchat import HuggingChatProvider
|
||||
from .baichat import BAIChatProvider
|
||||
from .openaigpt35turbo import OpenAIGPT35TurboProvider
|
||||
from .openaigpt4 import OpenAIGPT4Provider
|
||||
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 .hfgpt2 import HuggingFaceGPT2Provider
|
||||
from .hfdialogpt import HuggingFaceDialoGPTLargeProvider
|
||||
from .bard import BardProvider
|
||||
from .hfgpt2large import HuggingFaceGPT2LargeProvider
|
||||
from .hfgpt2xl import HuggingFaceGPT2XLProvider
|
||||
from .starcoder import StarCoderProvider
|
||||
|
||||
PROVIDERS = {
|
||||
"alpacalora": AlpacaLoRAProvider,
|
||||
"baichat": BAIChatProvider,
|
||||
# "bard": BardProvider, # Disabled because we need more documentation on how to use it
|
||||
"catgpt": CatGPTProvider,
|
||||
"hfdialogpt": HuggingFaceDialoGPTLargeProvider,
|
||||
"hfgoogleflant5xxl": HuggingFaceGoogleFlanT5XXLProvider,
|
||||
"hfgoogleflanu12": HuggingFaceGoogleFlanU12Provider,
|
||||
"hfgpt2": HuggingFaceGPT2Provider,
|
||||
"hfgpt2large": HuggingFaceGPT2LargeProvider,
|
||||
"hfgpt2xl": HuggingFaceGPT2XLProvider,
|
||||
"hfopenassistantsft1pythia12b": HuggingFaceOpenAssistantSFT1PythiaProvider,
|
||||
"huggingchat": HuggingChatProvider,
|
||||
"openaigpt35turbo": OpenAIGPT35TurboProvider,
|
||||
"openaigpt4": OpenAIGPT4Provider,
|
||||
"openaitextdavinci003": OpenAITextDavinci003,
|
||||
"starcoder": StarCoderProvider,
|
||||
}
|
||||
55
src/provider/alpacalora.py
Normal file
55
src/provider/alpacalora.py
Normal file
@@ -0,0 +1,55 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
import requests
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class AlpacaLoRAProvider(BavarderProvider):
|
||||
name = "Alpaca-LoRA"
|
||||
slug = "alpacalora"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
response = requests.post(
|
||||
"https://tloen-alpaca-lora.hf.space/run/predict",
|
||||
json={
|
||||
"data": [
|
||||
prompt,
|
||||
prompt,
|
||||
0.1,
|
||||
0.75,
|
||||
40,
|
||||
4,
|
||||
128,
|
||||
]
|
||||
},
|
||||
).json()
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.win.banner.set_revealed(False)
|
||||
if "error" in response:
|
||||
self.win.banner.props.title = response["error"]
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
else:
|
||||
r = response["data"][0]
|
||||
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
|
||||
39
src/provider/baichat.py
Normal file
39
src/provider/baichat.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from baichat_py import BAIChat
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BAIChatProvider(BavarderProvider):
|
||||
name = "BAI Chat"
|
||||
slug = "baichat"
|
||||
|
||||
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)
|
||||
except KeyError:
|
||||
self.win.banner.set_revealed(False)
|
||||
return ""
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.win.banner.set_revealed(False)
|
||||
GLib.idle_add(self.update_response, response.text)
|
||||
return response.text
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
pass
|
||||
80
src/provider/bard.py
Normal file
80
src/provider/bard.py
Normal file
@@ -0,0 +1,80 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
|
||||
from googlebardpy import BardChat
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BardProvider(BavarderProvider):
|
||||
name = "Bard"
|
||||
slug = "bard"
|
||||
version = "0.1.0"
|
||||
url = "https://bavarder.codeberg.page/docs/providers/bard.html"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.pref_win = None
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
response = self.chat.ask(prompt)
|
||||
response = response["content"]
|
||||
except AttributeError:
|
||||
self.no_api_key()
|
||||
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())
|
||||
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 = "__Secure-1PSID cookie"
|
||||
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()
|
||||
self.api_key = api_key
|
||||
try:
|
||||
self.chat = BardChat(api_key)
|
||||
except AttributeError:
|
||||
self.banner.props.title = "Invalid API key"
|
||||
self.banner.props.button_label = ""
|
||||
self.banner.set_revealed(True)
|
||||
|
||||
def save(self):
|
||||
try:
|
||||
return {"api_key": self.api_key}
|
||||
except AttributeError: # no api key
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
try:
|
||||
self.chat = BardChat(data["api_key"])
|
||||
self.api_key = data["api_key"]
|
||||
except AttributeError:
|
||||
self.chat = None
|
||||
self.api_key = None
|
||||
138
src/provider/base.py
Normal file
138
src/provider/base.py
Normal file
@@ -0,0 +1,138 @@
|
||||
from gettext import gettext as _
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
import json
|
||||
|
||||
|
||||
class BavarderProvider:
|
||||
name = None
|
||||
slug = None
|
||||
description = ""
|
||||
languages = ""
|
||||
version = "0.1.7"
|
||||
developer_name = "0xMRTT"
|
||||
developers = ["0xMRTT https://github.com/0xMRTT"]
|
||||
license_type = Gtk.License.GPL_3_0
|
||||
copyright = "© 2023 0xMRTT"
|
||||
url = "https://bavarder.codeberg.page/help/bard"
|
||||
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
self.win = win
|
||||
self.banner = win.banner
|
||||
self.app = app
|
||||
self.chat = None
|
||||
self.update_response = app.update_response
|
||||
|
||||
def ask(self, prompt):
|
||||
raise NotImplementedError()
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
def preferences(self, win):
|
||||
return self.no_preferences(win)
|
||||
|
||||
def no_api_key(self, title=None):
|
||||
if title:
|
||||
self.win.banner.props.title = title
|
||||
else:
|
||||
self.win.banner.props.title = _(
|
||||
"No API key provided, you can provide one in settings"
|
||||
)
|
||||
self.win.banner.props.button_label = _("Open settings")
|
||||
self.win.banner.connect("button-clicked", self.app.on_preferences_action)
|
||||
self.win.banner.set_revealed(True)
|
||||
|
||||
def no_connection(self):
|
||||
self.win.banner.props.title = _("No network connection")
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
|
||||
def hide_banner(self):
|
||||
self.win.banner.set_revealed(False)
|
||||
|
||||
def about(self, *args, **kwargs):
|
||||
popover = Gtk.Popover()
|
||||
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
title = Gtk.Label()
|
||||
title.set_markup(f"<b>{self.name}</b>\n<small>Version {self.version}</small>")
|
||||
title.set_halign(Gtk.Align.CENTER)
|
||||
title.set_valign(Gtk.Align.CENTER)
|
||||
vbox.append(title)
|
||||
|
||||
if self.description:
|
||||
description = Gtk.Label()
|
||||
if self.languages:
|
||||
description.set_markup(
|
||||
f"<small>{self.description}</small>\n<small>Languages: {self.languages}</small>"
|
||||
)
|
||||
else:
|
||||
description.set_markup(f"<small>{self.description}</small>")
|
||||
description.set_halign(Gtk.Align.CENTER)
|
||||
description.set_valign(Gtk.Align.CENTER)
|
||||
vbox.append(description)
|
||||
popover.set_child(vbox)
|
||||
|
||||
about_button = Gtk.MenuButton()
|
||||
about_button.set_icon_name("info-symbolic")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.set_popover(popover)
|
||||
return about_button
|
||||
|
||||
def open_documentation(self, *args, **kwargs):
|
||||
GLib.spawn_command_line_async(
|
||||
f"xdg-open {self.url}"
|
||||
)
|
||||
|
||||
def how_to_get_a_token(self):
|
||||
about_button = Gtk.Button()
|
||||
about_button.set_icon_name("info-symbolic")
|
||||
about_button.set_tooltip_text("How to get a token?")
|
||||
about_button.add_css_class("flat")
|
||||
about_button.set_valign(Gtk.Align.CENTER)
|
||||
about_button.connect("clicked", self.open_documentation)
|
||||
return about_button
|
||||
|
||||
def enable_switch(self):
|
||||
enabled = Gtk.Switch()
|
||||
enabled.set_active(self.slug in self.app.enabled_providers)
|
||||
enabled.connect("notify::active", self.on_enabled)
|
||||
enabled.set_valign(Gtk.Align.CENTER)
|
||||
return enabled
|
||||
|
||||
def no_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.no_pref_row = Adw.ActionRow()
|
||||
self.no_pref_row.props.title = "No preferences available"
|
||||
self.expander.add_row(self.no_pref_row)
|
||||
|
||||
return self.expander
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
raise NotImplementedError()
|
||||
|
||||
def chunk(self, prompt, n=4000):
|
||||
if len(prompt) > n:
|
||||
print("Chuncking prompt")
|
||||
prompt = [(prompt[i : i + n]) for i in range(0, len(prompt), n)]
|
||||
return prompt
|
||||
|
||||
def on_enabled(self, widget, *args):
|
||||
if widget.get_active():
|
||||
self.app.enabled_providers.append(self.slug)
|
||||
else:
|
||||
self.app.enabled_providers.remove(self.slug)
|
||||
self.app.load_dropdown()
|
||||
55
src/provider/catgpt.py
Normal file
55
src/provider/catgpt.py
Normal file
@@ -0,0 +1,55 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from random import choice, randint
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class CatGPTProvider(BavarderProvider):
|
||||
name = _("Cat GPT")
|
||||
slug = "catgpt"
|
||||
version = "0.1.0"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.chat = None
|
||||
|
||||
def ask(self, prompt):
|
||||
return " ".join([self.pick_generator()() for i in range(randint(1, 12))])
|
||||
|
||||
def pick_generator(self):
|
||||
if randint(1, 15) == 1:
|
||||
return choice(
|
||||
[
|
||||
lambda: "ня" * randint(1, 4),
|
||||
lambda: "ニャン" * randint(1, 4),
|
||||
lambda: "喵" * randint(1, 4),
|
||||
lambda: "ña" * randint(1, 4),
|
||||
lambda: "ڽا" * randint(1, 4),
|
||||
lambda: "ম্যাও" * randint(1, 4),
|
||||
]
|
||||
)
|
||||
|
||||
return choice(
|
||||
[
|
||||
lambda: "meow" * randint(1, 3),
|
||||
lambda: "mew" * randint(1, 3),
|
||||
lambda: "miau" * randint(1, 3),
|
||||
lambda: "miaou" * randint(1, 3),
|
||||
lambda: "miao" * randint(1, 3),
|
||||
lambda: "nya" * randint(1, 3),
|
||||
lambda: "m" + "r" * randint(1, 6) + "p",
|
||||
lambda: "pur" + "r" * randint(1, 6),
|
||||
lambda: "nya" * randint(1, 3) + "ny" + "a" * randint(1, 10),
|
||||
]
|
||||
)
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def save(self):
|
||||
return {}
|
||||
|
||||
def load(self, data):
|
||||
pass
|
||||
50
src/provider/hfdialogpt.py
Normal file
50
src/provider/hfdialogpt.py
Normal file
@@ -0,0 +1,50 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
import json
|
||||
import socket
|
||||
import requests
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class HuggingFaceDialoGPTLargeProvider(BaseHFProvider):
|
||||
name = "DialoGPT"
|
||||
slug = "hfdialogpt"
|
||||
model = "microsoft/DialoGPT-large"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
payload = json.dumps(
|
||||
{
|
||||
"inputs": {
|
||||
# "past_user_inputs": ["Which movie is the best ?"],
|
||||
# "generated_responses": ["It's Die Hard for sure."],
|
||||
"text": prompt
|
||||
},
|
||||
}
|
||||
)
|
||||
headers = {"Content-Type": "application/json"}
|
||||
if self.authorization:
|
||||
headers["Authorization"] = f"Bearer {self.api_key}"
|
||||
url = f"https://api-inference.huggingface.co/models/{self.model}"
|
||||
print(url)
|
||||
response = requests.request("POST", url, headers=headers, data=payload)
|
||||
print(response.json())
|
||||
response = response.json()["generated_text"]
|
||||
|
||||
# except NoApikey:
|
||||
# self.no_api_key()
|
||||
# return ""
|
||||
except KeyError:
|
||||
pass
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.hide_banner()
|
||||
print(response)
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
11
src/provider/hfgoogleflant5xxl.py
Normal file
11
src/provider/hfgoogleflant5xxl.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGoogleFlanT5XXLProvider(BaseHFProvider):
|
||||
name = "Google Flan T5 XXL"
|
||||
slug = "hfgoogleflant5xxl"
|
||||
model = "google/flan-t5-xxl"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
11
src/provider/hfgoogleflanu12.py
Normal file
11
src/provider/hfgoogleflanu12.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGoogleFlanU12Provider(BaseHFProvider):
|
||||
name = "Google Flan U12"
|
||||
slug = "hfgoogleflanu12"
|
||||
model = "google/flan-ul2"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
13
src/provider/hfgpt2.py
Normal file
13
src/provider/hfgpt2.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGPT2Provider(BaseHFProvider):
|
||||
name = "GPT 2"
|
||||
slug = "hfgpt2"
|
||||
model = "gpt2"
|
||||
description = "GPT-2 is a transformers model pretrained on a very large corpus of English data \nin a self-supervised fashion. This means it was pretrained on the raw texts only,\n with no humans labelling them in any way (which is why it can use lots of publicly available data)\n with an automatic process to generate inputs and labels from those texts. More precisely,\n it was trained to guess the next word in sentences."
|
||||
languages = "English"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
13
src/provider/hfgpt2large.py
Normal file
13
src/provider/hfgpt2large.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGPT2LargeProvider(BaseHFProvider):
|
||||
name = "GPT 2 Large"
|
||||
slug = "hfgpt2large"
|
||||
model = "gpt2-large"
|
||||
description = "GPT-2 is a transformers model pretrained on a very large corpus of English data \nin a self-supervised fashion. This means it was pretrained on the raw texts only,\n with no humans labelling them in any way (which is why it can use lots of publicly available data)\n with an automatic process to generate inputs and labels from those texts. More precisely,\n it was trained to guess the next word in sentences."
|
||||
languages = "English"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
13
src/provider/hfgpt2xl.py
Normal file
13
src/provider/hfgpt2xl.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceGPT2XLProvider(BaseHFProvider):
|
||||
name = "GPT 2 XL"
|
||||
slug = "hfgpt2"
|
||||
model = "gpt2-xl"
|
||||
description = "GPT-2 is a transformers model pretrained on a very large corpus of English data \nin a self-supervised fashion. This means it was pretrained on the raw texts only,\n with no humans labelling them in any way (which is why it can use lots of publicly available data)\n with an automatic process to generate inputs and labels from those texts. More precisely,\n it was trained to guess the next word in sentences."
|
||||
languages = "English"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
11
src/provider/hfopenassistantsft1pythia12b.py
Normal file
11
src/provider/hfopenassistantsft1pythia12b.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from .huggingface import BaseHFProvider
|
||||
|
||||
|
||||
class HuggingFaceOpenAssistantSFT1PythiaProvider(BaseHFProvider):
|
||||
name = "Open-Assistant SFT-1 12B Model "
|
||||
slug = "hfopenassistantsft1pythia12b"
|
||||
model = "OpenAssistant/oasst-sft-1-pythia-12b"
|
||||
|
||||
@property
|
||||
def require_api_key(self):
|
||||
return False
|
||||
7
src/provider/huggingchat.py
Normal file
7
src/provider/huggingchat.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from .huggingchatbase import BaseHuggingChatProvider
|
||||
|
||||
|
||||
class HuggingChatProvider(BaseHuggingChatProvider):
|
||||
name = "Hugging Chat"
|
||||
slug = "huggingchat"
|
||||
model = "OpenAssistant/oasst-sft-6-llama-30b-xor"
|
||||
50
src/provider/huggingchatbase.py
Normal file
50
src/provider/huggingchatbase.py
Normal file
@@ -0,0 +1,50 @@
|
||||
from .base import BavarderProvider
|
||||
|
||||
from hgchat import HGChat
|
||||
import socket
|
||||
|
||||
|
||||
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)
|
||||
self.chat = HGChat(self.model)
|
||||
|
||||
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
|
||||
88
src/provider/huggingface.py
Normal file
88
src/provider/huggingface.py
Normal file
@@ -0,0 +1,88 @@
|
||||
import requests
|
||||
import json
|
||||
from .base import BavarderProvider
|
||||
|
||||
import socket
|
||||
|
||||
from gi.repository import Gtk, Adw, GLib
|
||||
|
||||
|
||||
class BaseHFProvider(BavarderProvider):
|
||||
name = None
|
||||
slug = None
|
||||
model = None
|
||||
url = "https://bavarder.codeberg.page/help/huggingface"
|
||||
|
||||
def __init__(self, win, app, *args, **kwargs):
|
||||
super().__init__(win, app, *args, **kwargs)
|
||||
self.api_key = None
|
||||
|
||||
def ask(self, prompt):
|
||||
try:
|
||||
payload = json.dumps({"inputs": prompt})
|
||||
headers = {"Content-Type": "application/json"}
|
||||
if self.require_api_key:
|
||||
headers["Authorization"] = f"Bearer {self.api_key}"
|
||||
url = f"https://api-inference.huggingface.co/models/{self.model}"
|
||||
response = requests.request("POST", url, headers=headers, data=payload)
|
||||
if response.status_code == 403:
|
||||
self.no_api_key()
|
||||
return ""
|
||||
elif response.status_code != 200:
|
||||
self.win.banner.props.title = response.json()["error"]
|
||||
self.win.banner.props.button_label = ""
|
||||
self.win.banner.set_revealed(True)
|
||||
return ""
|
||||
response = response.json()[0]["generated_text"]
|
||||
|
||||
# except NoApikey:
|
||||
# self.no_api_key()
|
||||
# return ""
|
||||
except KeyError:
|
||||
pass
|
||||
except socket.gaierror:
|
||||
self.no_connection()
|
||||
return ""
|
||||
else:
|
||||
self.hide_banner()
|
||||
print(response)
|
||||
GLib.idle_add(self.update_response, response)
|
||||
return response
|
||||
|
||||
@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())
|
||||
|
||||
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()
|
||||
print(self.api_key)
|
||||
|
||||
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"]
|
||||
28
src/provider/meson.build
Normal file
28
src/provider/meson.build
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
providers_dir = join_paths(moduledir, 'provider')
|
||||
|
||||
providers_sources = [
|
||||
'__init__.py',
|
||||
'alpacalora.py',
|
||||
'baichat.py',
|
||||
'bard.py',
|
||||
'base.py',
|
||||
'catgpt.py',
|
||||
'hfdialogpt.py',
|
||||
'hfgoogleflant5xxl.py',
|
||||
'hfgoogleflanu12.py',
|
||||
'hfgpt2.py',
|
||||
'hfgpt2large.py',
|
||||
'hfgpt2xl.py',
|
||||
'hfopenassistantsft1pythia12b.py',
|
||||
'huggingchat.py',
|
||||
'huggingchatbase.py',
|
||||
'huggingface.py',
|
||||
'openai.py',
|
||||
'openaigpt4.py',
|
||||
'openaigpt35turbo.py',
|
||||
'openaitextdavinci003.py',
|
||||
'starcoder.py',
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(providers_sources, subdir: providers_dir)
|
||||
98
src/provider/openai.py
Normal file
98
src/provider/openai.py
Normal file
@@ -0,0 +1,98 @@
|
||||
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"]
|
||||
7
src/provider/openaigpt35turbo.py
Normal file
7
src/provider/openaigpt35turbo.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from .openai import BaseOpenAIProvider
|
||||
|
||||
|
||||
class OpenAIGPT35TurboProvider(BaseOpenAIProvider):
|
||||
name = "OpenAI GPT 3.5 Turbo"
|
||||
slug = "openaigpt35turbo"
|
||||
model = "gpt-3.5-turbo"
|
||||
8
src/provider/openaigpt4.py
Normal file
8
src/provider/openaigpt4.py
Normal file
@@ -0,0 +1,8 @@
|
||||
from .openai import BaseOpenAIProvider
|
||||
|
||||
|
||||
class OpenAIGPT4Provider(BaseOpenAIProvider):
|
||||
name = "OpenAI GPT 4"
|
||||
slug = "openaigpt4"
|
||||
model = "gpt-4"
|
||||
api_key_title = "API Key (Require a plan with access to the GPT-4 model)"
|
||||
7
src/provider/openaitextdavinci003.py
Normal file
7
src/provider/openaitextdavinci003.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from .openai import BaseOpenAIProvider
|
||||
|
||||
|
||||
class OpenAITextDavinci003(BaseOpenAIProvider):
|
||||
name = "OpenAI Text Davinci 003"
|
||||
slug = "openaitextdavinci003"
|
||||
model = "text-davinci-003"
|
||||
7
src/provider/starcoder.py
Normal file
7
src/provider/starcoder.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from .huggingchatbase import BaseHuggingChatProvider
|
||||
|
||||
|
||||
class StarCoderProvider(BaseHuggingChatProvider):
|
||||
name = "Star Coder"
|
||||
slug = "starcoder"
|
||||
model = "bigcode/starcoder"
|
||||
@@ -27,12 +27,21 @@ class BavarderWindow(Adw.ApplicationWindow):
|
||||
|
||||
toast_overlay = Gtk.Template.Child()
|
||||
prompt_text_view = Gtk.Template.Child()
|
||||
bot_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()
|
||||
# listen_wait = Gtk.Template.Child()
|
||||
# listen_spinner = Gtk.Template.Child()
|
||||
# speak = Gtk.Template.Child()
|
||||
# speak_wait = Gtk.Template.Child()
|
||||
# speak_spinner = Gtk.Template.Child()
|
||||
provider_selector = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
Reference in New Issue
Block a user